Подключение устройств по UART

Добрый день.

У нас есть ваш контроллер WirenBoard 7 и графический дисплей DWIN. Их необходимо объединить. У дисплея питание 5 вольт, линия для обмена данными UART с уровнями 3.3 вольта. Обратили внимание, что явно прямого выхода UART на клеммы вашего контроллера нет. Как поняли из документации на колодках MOD есть возможность “взять” UART и перекинуть перемычками на клемму. Это мы сможем сделать. Но есть вопрос про второй выход RS485, что справа снизу крайний, он еще поддерживает CAN. Вопрос - это прямой выход UART на клеммы, или же все таки у вас внутри установлены драйверы CAN и RS485? Как это организовано?

Добрый день.

Работает через драйвер.
Утилиты cansend и candump есть в стандартном наборе ПО контроллера. Если по каким-то причинам их нет, можно поставить пакет can-utils:

apt update && apt install can-utils

Настроить конфигурацию так же можно:
веб интерфейс / конфигурационные файлы / модули расширения и порты

“Работает через драйвер” - а как же тогда работает RS485? У него же свой драйвер, как помню несовместимый по линиям с CAN.

Уточню что работа происходит через стандартную подсистему Linux — SocketCAN.
CAN bus Linux driver
На контроллере CAN мультиплексирован (выведен на те же клеммники) со вторым портом RS-485 он может работать в режиме UART-CAN (также называемая иногда просто шиной CAN или RS-CAN) - используется физический уровень CAN для полудуплексного последовательного порта UART.

Ну получается мне никак не получить прямой UART на этом порту. Использую внутренние колодки MOD?

Человек имеет ввиду драйвер - микросхему преобразователя уровней.
Да, там 2 микросхемы, которые переключаются.

Я бы Вам советовал с помощью модуля Модуль расширения WBE2-I-RS232 - Wiren Board получить на MODx RS232 стандартных уровней, а на стороне панели поставить конвертер TTL в RS232 любой конструкции. Так будет безопаснее, чем брать RX/TX TTL уровня с MODx. Это возможно (3 перемычки в разъеме MODx), но я бы не рисковал, если дисплей дальше 10см от контроллера. MODx идут напрямую к процессору. И в случае выхода порта из строя (статика, разность потенциалов,…) приведет к лишению гарантии.

Отлично, а что же тогда мешало коммутировать туда еще и прямой UART?
Было бы здорово :slight_smile:

“Прямой UART” это очень короткие расстояния и ограничения по помехам и прочему. Обычно до полметра.
Если нужно далеко - преобразовывать в уровни RS232 и никак иначе.

Делали как то через MOD вот такой вариант, но мы не советуем DIY т.к. это опасно для контроллера WB и может привести к не гарантийному случаю.

У меня на даче подключен датчик расстояния по i2c вместо боковых модулей. Но это очень короткое расстояние и я знаю что делаю.

Если у Вас панель не дальше 20-30см, я могу нарисовать что скоммутировать в MODx, что бы забрать RX/TX с клемм.

Но повторюсь, что я не рекомендую так делать и в случае чего это будет не гарантийный случай. Т.е. Вы должны давать себе полный отчет, что Вы делаете.

Ну или копеечный USB/uart за 100 рублей.

“прямой” - это непосредственно выводы процессора. То есть статика, случайное замыкание - и все, ремонт нецелесообразен.

Кстати да. Совсем забыл про это.

Добрый день.
Остались ли ещё вопросы по данной теме?