У меня есть система, которая связывается между двумя подсистемами на расстоянии с помощью UART. Сигналы UART преобразуются в RS485 с помощью приемопередатчика дифференциальной шины SN75176 . Микроконтроллер на одной стороне всегда передает данные со своих выводов UART на приемопередатчик SN75176, а на другой стороне также имеется приемопередатчик SN75176, который принимает эти сигналы и преобразует их обратно в TTL (UART) для микроконтроллера на приемной стороне.
В основном схема приемопередатчика на стороне передатчика выглядит так:
Схема приемопередатчика на стороне приемника выглядит так:
Коммуникации работают нормально. Однако, анализируя сигналы UART, я заметил, что выходной уровень на стороне приемника находится между 0,2 В и 4,2 В, как показано в следующем измерении (это сигнал UART-MAIN-RX от схемы приемника выше. Обратите внимание также что в данном случае использовалась строка «Test123»):
В техническом описании SN75176 упоминается, что выход трансивера - TTL, и что выходные сигналы должны варьироваться от 3,0 В до 3,7 В. Почему в моем случае я наблюдаю еще более высокие уровни сигналов? Я особенно боюсь, что если я подключу этот выход «TTL» более высокого уровня непосредственно к контактам UART микроконтроллера, это может повредить микроконтроллер.
Значение V OH указывается для выходного тока, который будет использоваться входом TTL. Ваш микроконтроллер имеет входы CMOS с почти бесконечным входным сопротивлением, поэтому фактическое напряжение будет немного выше:
Вы можете поставить сильный подтягивающий резистор на сигнальную линию RX. Однако никаких гарантий нет, и на графике выше показаны только типичные значения, поэтому вам лучше использовать какую-нибудь «настоящую» схему или устройство сдвига уровня. Или, возможно, было бы лучше использовать микросхему приемника 3 В с выходом CMOS.
вофа
волна.жако
вофа
волна.жако
озёрная паутина
волна.жако
озёрная паутина