1

Тема: Согласование уровней напряжения (UART)

Исходная задача состоит в том, чтобы обмениваться данными между контроллером canny7 и другим контроллером, работающий на напряжении 3.3В, через UART.

Вопросы:
1. Как правильно согласовать уровни напряжения на выходах 9 и 10 Canny и RX/TX второго контроллера (какой уровень напряжения стоит ожидать на этих выходах при обмене данными)?
2. Можно ли (и если да, то с какой схемой подключения) вместо второго контроллера использовать USB-UART (https://www.chipdip.ru/product/pl2303-u … board-mini) преобразователь без риска сжечь USB-порт компьютера (при условии того, что canny7 запитан через импульсный блок питания, включенный в ту же розетку, что и компьютер)?

2

Re: Согласование уровней напряжения (UART)

Диаграмма для тестирования (каждые 5 секунд мигает зеленым светодиодом и посылает сообщения в UART).

Вложений в сообщении

Иконка вложения test-uart.cfd 2.91 кб, скачивался 569 раз, последний раз 2017-11-29 

3 (29-11-2017 13:22:55 отредактировано basil)

Re: Согласование уровней напряжения (UART)

И в виде png.

Вложений в сообщении

Иконка вложения test-uart.png 126.58 кб, скачивался 169 раз, последний раз 2017-11-29 

4

Re: Согласование уровней напряжения (UART)

basil пишет:

1. Как правильно согласовать уровни напряжения на выходах 9 и 10 Canny и RX/TX второго контроллера (какой уровень напряжения стоит ожидать на этих выходах при обмене данными)?

3,3В для CANNY7 маловато. Порог срабатывания каналов CANNY7 -- 3В. Если пробовать подключать напрямую, то может работать нестабильно, при этом нужно еще и задать правильную конфигурацию драйвера UART - "работа открытым коллектором" (xxxxx бод/UART/Без подтяжки). Однако, при старте контроллера (подаче питания), до момента конфигурации каналов из пользовательской диаграммы, на всех каналах включается подтяжка 12В -- для защиты второго контроллера потребуется установка стабилитрона.
Либо можно использовать преобразователь уровней (например https://www.chipdip.ru/product/hcf4050be).

basil пишет:

2. Можно ли (и если да, то с какой схемой подключения) вместо второго контроллера использовать USB-UART (https://www.chipdip.ru/product/pl2303-u … board-mini) преобразователь без риска сжечь USB-порт компьютера (при условии того, что canny7 запитан через импульсный блок питания, включенный в ту же розетку, что и компьютер)?

Преобразователь, в принципе, использовать можно, но в случае с USB-UART нужно будет также использовать "открытый коллектор" или ставить преобразователь уровней. Лучше тогда использовать RS-232--USB преобразователь (например https://www.dns-shop.ru/product/d6c41c3 … sb---com/) с работой драйвера UART CANNY7 в режиме RS-232 - тут никаких дополнительный преобразователей уровней не потребуется.

По диаграмме.
Сконфигурированы UART1 и UART2, а используется только UART2, при этом оба UARTа настроены как передающие в режиме RS-232 -- наверное предполагалось установить конфигурацию для работы в режиме UART.
Напоминаю, что в конфигурации UART драйвер может работать в полудуплексном режиме, т.е. осуществлять прием и передачу данных по 1 каналу контроллера. Подробнее...
Для тестового примера блоки №№4...13 "Триггер D" не нужны, можно напрямую передавать константы в регистры сообщения передачи UART2.

5 (29-11-2017 20:35:24 отредактировано basil)

Re: Согласование уровней напряжения (UART)

А если отказаться от потока данных Контроллер2-TX -> Canny7-RX и оставить только Canny7-TX -> Контроллер2RX, можно воспользоваться схемой подключения https://forum.canny.ru/viewtopic.php?pid=5679#p5679 только вместо 5В поставить питание 3.3 (резисторы можно оставить таких же номиналов?)?

Как можно убедиться обычным мультиметром, что Canny что-то шлет в линию? В случае указанной диаграммы на 9м и 10м выводах постоянно 0, хотя в режиме покоя (отсутствия передаваемых данных) на этих выводах должно же быть +12В?

6

Re: Согласование уровней напряжения (UART)

basil пишет:

А если отказаться от потока данных Контроллер2-TX -> Canny7-RX и оставить только Canny7-TX -> Контроллер2RX, можно воспользоваться схемой подключения https://forum.canny.ru/viewtopic.php?pid=5679#p5679 только вместо 5В поставить питание 3.3 (резисторы можно оставить таких же номиналов)?

Если отказаться, то можно.
Но можно и не отказываться, если Контроллер2 осуществляет передачу открытым коллектором.

basil пишет:

Как можно убедиться обычным мультиметром, что Canny что-то шлет в линию? В случае указанной диаграммы на 9м и 10м выводах постоянно 0, хотя в режиме покоя (отсутствия передаваемых данных) на этих выводах должно же быть +12В?

Это затруднительно из за инертности мультиметра. Можно проверить светодиодным индикатором или просто светодиодом, подключив его через резистор между Canny7-TX и +12В