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