DS1102

У DS1102 многорежимный многоканальный порт RS232/422/485. Физически порт выполнен как один разъём DB9M.

Примечание: как эти режимы реализованы в DS1102, см. в разделе Определение режимов RS422 и RS485.

Назначение выводов порта

В режиме RS232 последовательный порт DS1102 имеет три линии выхода и три линии входа. В режиме RS422 вы получаете две пары линий выхода и две пары линий входа. Режим RS485 даёт одну пару линий выхода и одну пару линий входа. Они не независимы - работают в режиме полудуплекса.

Внутри DS1102 три независимых последовательных порта. Они управляются через объект ser.

У каждого из этих портов есть собственные линии TX и RX. Эти линии реализованы аппаратно, и "переназначить" их нельзя. В следующей таблице показано, как эти линии RX и TX подключены к DB9M:

Схема расположения контактов разъёма DB9M.
RS232RS422RS485
#1<Нет соединения>TX2- (выход, обычно RTS-)<Нет соединения>
#2RX (вход)RX- (вход)RX- (вход)
#3TX (выход)TX+ (выход)TX+ (выход)
#4TX3 (выход, обычно DTR)TX- (выход)TX- (выход)
#5ЗемляЗемляЗемля
#6RX3 (вход, обычно DSR)RX+ (вход)RX+ (вход)
#7TX2 (выход, обычно RTS)TX2+ (выход, обычно RTS+)<Нет соединения>
#8RX2 (вход, обычно CTS)RX2+ (вход, обычно CTS+)<Нет соединения>
#9<Нет соединения>RX2- (вход, обычно CTS-)<Нет соединения>

Каждый логический последовательный порт объекта ser. также поддерживает управление потоком RTS/CTS, реализованное в прошивке (TiOS). Свойства ser.rtsmap и ser.ctsmap позволяют назначить любую линию ввода-вывода общего назначения (GPIO) DS1102 на роль линии RTS или CTS любого логического последовательного порта. Так, линии TX2 и RX2 (контакты 7 и 8) можно назначить линиями RTS и CTS, как это традиционно делается в портах RS232. При этом те же линии можно настроить и как независимый последовательный канал.

То же относится к линиям DTR и DSR, только с точки зрения объекта ser. они даже не "существуют". Эти линии реализуются на уровне приложения. Например, их поддерживает приложение Serial-over-IP от Tibbo. И здесь вместо того, чтобы использовать TX3 и RX3 (контакты 4 и 6) как линии независимого последовательного канала, их можно использовать как линии DTR и DSR, что обычно и делают.

Чтобы упростить обсуждение, рассмотрим последовательный порт с точки зрения приложения Serial-over-IP. Это приложение определяет 15 вариантов назначения. Даже в режиме RS232 некоторые варианты на DS1102 избыточны (а на DS1101 - нет). В режиме RS422 избыточных вариантов гораздо больше. Подробнее см. по ссылкам ниже:

А где варианты назначения для режима RS485? Их нет - но вы и так это знали.

Выбор режима последовательного порта

В DS1102 режим последовательного порта задаётся двумя линиями GPIO процессора - PL_IO_NUM_17 и PL_IO_NUM_18. Обе линии должны быть настроены как выходы (см. объект io.).

Чтобы выбрать нужный режим последовательного порта, установите состояние этих линий, как показано в таблице ниже:

Режим последовательного портаPL_IO_NUM_17PL_IO_NUM_18
RS232LOWHIGH
RS422HIGHHIGH
RS485HIGHLOW

Управление направлением в режиме RS485

В режиме RS485, который является полудуплексным, линия GPIO PL_IO_NUM_3_TX1_INT3 служит линией управления направлением. Линия должна быть настроена как выход.

НаправлениеPL_IO_NUM_3_TX1_INT3
ВыходHIGH
ВходLOW
Исходный материал Tibbo обновлён 12 сентября 2022Оригинал на docs.tibbo.com · Сообщить об ошибке