Последовательные порты
У EM2000 четыре последовательных порта, каждый из которых может работать в одном из трёх режимов: UART, Wiegand или clock/data.
Режим UART
Режим UART поддерживает полнодуплексную и полудуплексную связь.
Полнодуплексный интерфейс обычно применяется для связи по RS232, RS422, полнодуплексному RS485 или «последовательному TTL» (КМОП).
В полнодуплексном режиме UART у каждого порта есть линии TX и RX, а также линии RTS и CTS, которые при необходимости используются для аппаратного управления потоком. Когда управление потоком включено, EM2000 управляет линиями RTS и CTS автоматически.
Полудуплексный интерфейс обычно связан с полудуплексной связью по RS485. В этом режиме последовательный порт использует линии TX, RX и RTS, причём последняя служит линией управления направлением. Управление направлением автоматическое и не требует никакого вмешательства со стороны вашей программы на Tibbo BASIC/C.
Линии TX и RX перенести нельзя. Линии RTS и CTS можно переназначать. В качестве RTS последовательного порта можно назначить любую неиспользуемую линию GPIO. Для CTS можно выбрать только линии прерывания 0-7 (линии GPIO 17-24). Гибкое переназначение линий RTS и CTS обеспечивают свойства назначения линий ввода-вывода, которые предлагает объект ser..
Линиями DTR и DSR, которые часто встречаются на портах RS232, объект ser. не управляет. За эти линии отвечает ваше приложение на Tibbo BASIC/C. Поэтому вы сами выбираете, какие линии GPIO EM2000 будут использоваться как DTR и DSR в вашей системе.
Несмотря на гибкое назначение, Tibbo определила назначение по умолчанию для линий RTS, CTS, DTR и DSR. Это сделано для стандартизации принципиальных схем во всей линейке продуктов Tibbo. На схеме EM2000 такие назначения по умолчанию показаны СИНИМ цветом.
У UART EM2000 есть одно существенное ограничение: нельзя одновременно использовать режим 7 бит на символ и режим «без контроля чётности». Все остальные режимы поддерживаются.
Режим 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) можно переназначить, но выбор ограничен линиями прерывания I0-7 (GPIO16-23).
Режим 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) можно переназначить, но выбор ограничен линиями прерывания I0-7 (GPIO16-23).
Для работы с потоками clock/data дополнительные схемы не нужны.