Последовательные порты

У WM2000 два последовательных порта. Помимо «стандартного использования» в качестве последовательных портов под управлением кода Tibbo BASIC/C:

Отладка по последовательному порту

Отладка по последовательному порту выполняется через линии RX1 и TX1 последовательного порта 1.

Включать и выключать отладку по последовательному порту можно через:

Когда отладка по последовательному порту включена, приложения Tibbo BASIC/C не имеют доступа к последовательному порту 1, поскольку TiOS не позволит установить ser.num равным 1.

Три режима последовательных портов

Каждый UART может работать в одном из трёх режимов: UART, Wiegand или clock/data.

Режим UART

Режим UART поддерживает полудуплексную и полнодуплексную связь.

Полнодуплексный интерфейс обычно используется для RS232, RS422, полнодуплексного RS485 или «последовательного TTL» (CMOS).

В полнодуплексном режиме UART у каждого порта есть линии TX и RX, а также линии RTS и CTS, которые при необходимости используются для управления потоком. Когда управление потоком включено, WM2000 управляет линиями RTS и CTS автоматически.

Полудуплексный интерфейс обычно связан с полудуплексным RS485. В этом режиме последовательный порт использует линии TX, RX и RTS, причём последняя служит линией управления направлением. Управление направлением автоматическое и не требует вмешательства со стороны вашей программы на Tibbo BASIC/C.

Линии TX и RX переназначить нельзя. Линии RTS и CTS можно перенастроить. В качестве RTS последовательного порта можно назначить любую неиспользуемую линию GPIO. В качестве CTS можно выбрать только линии прерывания 0 и 1 (линии GPIO 2 и 3). Гибкое переназначение линий RTS и CTS обеспечивается свойствами отображения линий ввода-вывода объекта ser.

Линиями DTR и DSR, которые часто встречаются в портах RS232, объект ser. не управляет. Работа с этими линиями возлагается на ваше приложение Tibbo BASIC/C. Поэтому вы можете сами выбрать, какие линии GPIO модуля WM2000 использовать в вашей системе как DTR и DSR.

WM2000 поддерживает все распространённые режимы UART - чётность none/even/odd/mark/space и 7/8 бит на символ - на следующих скоростях (бод):

  • 110
  • 300
  • 600
  • 1,200
  • 2,400
  • 4,800
  • 9,600
  • 19,200
  • 38,400
  • 57,600
  • 115,200
  • 230,400
  • 460,800
  • 921,600.

Режим Wiegand

Интерфейс Wiegand часто применяется в охранных системах. Его поддерживает множество считывателей магнитных карт и RFID. Объект ser. позволяет и отправлять, и принимать потоки данных в формате Wiegand.

Для Wiegand нужны всего две линии интерфейса - W0 и W1. Вот как они отображаются на «традиционные» линии последовательного порта:

TXвыход W1
RXвход W1
RTSвыход W0
CTSвход W0 & W1

Как видно из таблицы, на линию CTS должно приходить «логическое И» входящих сигналов W0 и W1. Для этого нужна внешняя схема - подробности см. в разделе Примеры схем для Wiegand и clock/data. Для вывода данных Wiegand дополнительные схемы не нужны.

Выход W1 (на TX) и вход W1 (на RX) переназначить нельзя, а выход W0 (на RTS) можно переназначить на любую подходящую линию GPIO. Вход W0&W1 (на CTS) переназначить можно, но выбор ограничен линиями прерывания 0 и 1 (GPIO 2 и 3).

Режим clock/data

Интерфейс clock/data - тоже очень популярный интерфейс считывателей. Объект ser. позволяет принимать и отправлять потоки данных в формате clock/data.

Как следует из названия, для этого интерфейса нужны две линии - CLOCK и DATA. Вот как они отображаются на «традиционные» линии последовательного порта:

TXвыход DATA
RXвход DATA
RTSвыход CLOCK
CTSвход CLOCK

Как и в режиме UART, выход DATA (на TX) и вход DATA (на RX) переназначить нельзя, а выход CLOCK (на RTS) можно переназначить на любую подходящую линию GPIO. Вход CLOCK (на CTS) переназначить можно, но выбор ограничен линиями прерывания 0 и 1 (GPIO 2 и 3).

Для работы с потоками clock/data дополнительные схемы не нужны.

Подробнее см. документацию по объекту ser.

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