CANNY 5.2 duo, Драйвер UART

Материал из CANNY Wiki
Перейти к: навигация, поиск

Общее описание[править]

Драйвер UART, через USB Virtual COM-port, позволяет контроллеру CANNY 5.2 duo обмениваться данными с внешними устройствами, например ПК, в процессе выполнения пользовательской диаграммы.

Объем приемного и передающего буферов данных драйвера UART CANNY 5.2 duo составляет 24 байта.

Набор поддерживаемых скоростей ограничен: 300, 1200, 2400, 9600, 19200, 57600, 115200 бод; а также доступен только один формат передачи данных: 8-N-1.

Примечание: Для корректной работы всех протоколов на базе UART / RS-232 необходимо, чтобы контакты GND устройств, совершающих обмен данными, были приведены к единому потенциалу ("общая земля").
Примечание: Для возможности обмена данными между контроллером и внешним устройством, например ПК, через USB Virtual COM-port необходимо, при задании настроек драйвера использовать только конфигурацию RS-232 (инверсная полярность).

Регистры драйвера[править]

Ниже приведено описание допустимых и возвращаемых значений регистров управления работой драйвера.

Регистры конфигурации драйвера UART.

Регистр Ожидаемые значения
Регистр конфигурации UART1
1...N = установить конфигурацию драйвера UART контроллера, определяющую текущий режим и параметры его работы (задается специальной константой из справочника констант);
0 = отключить драйвер UART.
Регистр установки таймаута приема сообщения UART1, мс
1...65535 = прекращение приема данных, если в течении указанного времени на линии не было зафиксировано ни одного изменения потенциала и линия находится в пассивном состоянии;
0 = использовать значение по умолчанию, задаваемое в конфигурации канала (13).

Конфигурация драйвера UART определяется константой, представляющей комбинацию параметров, определяющих скорость, режим, дополнительные параметры передачи данных и потенциал линии в пассивном режиме.

Параметр Перечень допустимых значений
Скорость передачи данных, бод 300, 1200, 2400, 9600, 19200, 57600, 115200
Режим работы UART 8-N-1
Полярность прямая (UART); инверсная (RS-232)

Именованные константы, представляющие доступные пользователю комбинации параметров конфигурации UART, содержатся в разделе «Конфигурация UART» справочника констант CannyLab, доступ к которому осуществляется через контекстное меню констант на функциональной диаграмме.

Примечание: Для возможности обмена данными между контроллером и внешним устройством, например ПК, через USB Virtual COM-port необходимо, при задании настроек драйвера использовать только конфигурацию RS-232 (инверсная полярность).

Регистры диагностики драйвера UART.

Регистр Возвращаемые значения
Регистр переполнения буфера UART1
1 = буфер UART переполнен;
0 = переполнения не зафиксировано.
Регистр отсутствия активности драйвера UART1
1 = активность соответствующего канала драйвера UART отсутствует, линия находится в пассивном режиме;
0 = зафиксирована активность на линии соответствующего канала драйвера UART.
Регистр ошибки приема UART1
1 = во время приема данных UART произошла ошибка;
0 = драйвер работает в нормальном режиме.
Регистр готовности буфера передачи данных UART1
1 = буфер передачи данных драйвера UART свободен;
0 = буфер передачи данных драйвера UART занят, передача данных невозможна.

Регистры приема драйвера UART.

Регистр Возвращаемые значения
Регистр наличия принятых данных UART1
1 = сообщение получено и помещено в буфер приема соответствующего канала драйвера UART;
0 = в буфере приема соответствующего канала драйвера UART отсутствуют актуальные данные.
Регистр длины принятого сообщения UART1
0...24 = значение, равное количеству байт данных, в принятом по соответствующему каналу драйвера UART пакете данных.
Регистр принятого сообщения UART1 D1:D0
...
Регистр принятого сообщения UART1 D23:D22
0...0xFFFF = значения соответствующих байт данных приемных буферов UART каждого канала, по два байта на регистр.

Регистры передачи драйвера UART.

Регистр Ожидаемые значения
Регистр начала передачи UART1
≥ 1 = загрузить данные из регистров передачи в буфер передачи соответствующего канала драйвера UART;
0 = не загружать данные в буфер передачи соответствующего канала драйвера UART.
Регистр длины сообщения передачи UART1
0...24 = количество байт данных, которое будет необходимо передать в линию, при получении команды на отправку соответствующего канала драйвера UART.
Регистр сообщения передачи UART1 D1:D0
...
Регистр сообщения передачи UART1 D23:D22
0...0xFFFF = значения соответствующих байт данных для передачи по соответствующему каналу драйвера UART, по два байта на регистр.


Работа контроллера в режиме UART[править]

Работая в режиме UART контроллер может осуществлять дуплексный прием/передачу данных.

Пример функциональной диаграммы для обмена данными по UART через Virtual COM-port. Контроллер, получив сообщение длиной 2 байта по интерфейсу UART1, сохраняет их в соответствующей именованной сети для дальнейшей обработки и на следующем цикле выполнения диаграммы отправляет обратно заранее подготовленные 2 байта данных. Подключение к ПК, через разъем USB, подтверждается включением красного светодиода контроллера. Получение данных по UART контроллер подтверждает кратковременным включением зеленого контрольного светодиода.

14 9 3 1.png

Смотри также[править]

CANNY 5.2 duo

CANNY 5.2, Драйвер UART - RS232

CANNY 5 nano, Драйвер UART

CANNY 7, Драйвер UART - RS232 - Modbus