Online Store

Протокол последовательной связи μFR для устройств серии μFR

Протокол последовательной связи μFR для устройств серии μFR

Устройства серии μFR могут устанавливать связь через виртуальный COM-порт FTDI, поэтому устройства рассматриваются как стандартное оборудование COM-порта.

Параметры связи #

Считыватели с последовательным интерфейсом FTDI #

Считыватели μFR Classic и μFR Advance с USB-подключением:

Последовательная связь: 1 Мбит / с, 8-N-1, Управление потоком: Нет;

Контакт RTS используется для сброса устройства. Когда RTS установлена, устройство находится в состоянии сброса. Когда RTS чист, устройство находится в нормальном состоянии.

Считыватели μFR BaseHD с установленным встроенным ПО "поддержка μFR" (например, считыватели XR и μFR XRc):

Последовательная связь (с использованием драйвера VCOM FTDI): 250 кбит/с, 8-N-1, Управление потоком: Нет;

Считыватели без последовательного интерфейса FTDI #

RS485 (подключение без преобразователя USB/RS-485)::

Переменная скорость передачи данных может быть установлена с помощью программного инструмента. Текущая скорость передачи данных должна быть известна при изменении скорости передачи данных. Скорость передачи данных по умолчанию составляет 250 кбит/с.

μFR Classic Nano RS232 и размер карты RS232:

UART / TTL: 115200 бит / с, 8-N-1, Управление потоком: Нет.

115200 бит/с является скоростью передачи данных по умолчанию. Переменная скорость передачи данных может быть установлена с помощью программного инструмента.

PIN-код 4 на разъеме используется для сброса устройства. Если напряжение на этом контакте высокое (3,3 В), то устройство находится в состоянии сброса. Если напряжение низкое (0 В), то прибор находится в нормальном рабочем состоянии.

Если устройство подключено к нашему преобразователю RS232 в TTL, то уровень напряжения на контакте 4 контролирует RTS. Когда RTS очищена, устройство находится в состоянии сброса. Когда RTS установлена, устройство находится в нормальном состоянии.

 

Во время обновления встроенного ПО контакт RTS должен быть подключен к контакту 4 на устройстве.

Распиновка для модели UART / TTL представлена ниже:

нано-rs232-распиновка

Для целей связи между считывающими устройствами и хост-ПК создается проприетарный протокол D-Logic под названием «последовательный μFR».

Вся связь инициируется хостом (ПК или другими платформами), к которым подключено устройство.

Максимальное количество данных, передаваемых одной командой или получаемых одним устройством ответа, из версии прошивки 3.9.44 составляет 256 байт, а до — 192 байта.

Как правило, существует два типа пакетов:

  • CMD – команда, отправляемая хостом на устройство
  • ANS – ответ, отправленный с устройства на хост

CMD может быть коротким или длинным набором. Короткое множество CMD всегда имеет длину 7 байт, в то время как длинное множество CMD, называемое CMD_EXT может иметь переменную длину.

Ответы:

  • ACK – Подтверждение, все в порядке, устройство ждет следующего CMD или CMD EXT
  • ERR — произошла ошибка, байт ошибки определяет ERR_TYPE
  • RSP — ответ от устройства на CMD или CMD_EXT

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

Первым байтом каждого пакета является байт HEADER. Второй байт всегда CMD_CODE. Третий байт — это байт TRAILER.

Таблица 1. Константы связи

CMD_HEADER 0x55 CMD_TRAILER 0xAA
ACK_HEADER 0xAC ACK_TRAILER 0xCA
RESPONSE_HEADER 0xDE RESPONSE_TRAILER 0xED
ERR_HEADER 0xEC ERR_TRAILER 0xCE

 

КОНТРОЛЬНАЯ СУММА #

Все контрольные суммы в этом документе вычисляются одинаково: для вычисления контрольной суммы используется строка байтов, каждый байт XOR-ed со следующим до конца строки. Конечное значение увеличивается с 0x07.

Например, пакет CMD имеет 7 байт, где 7-й байт является контрольной суммой предыдущих 6 байт:

КОНТРОЛЬНАЯ СУММА = (Byte1 XOR Byte2 XOR Byte3 XOR Byte4 XOR Byte5 XOR Byte6) + 0x07

Коды CMD #

Каждая команда имеет соответствующее значение — см. ОБЗОР КОМАНД.

Коды ошибок #

При возникновении ошибки устройство ответит пакетом ERR. Каждая ошибка имеет соответствующее значение, которое можно найти в таблице в Приложении: КОДЫ ОШИБОК.

Пакет CMD #

ПАКЕТ CMD может быть коротким – 7 байт или EXT-концом с переменной длиной. В случае пакета EXT CMD четвертый байт пакета CMD больше 0, содержащий целое значение – длину CMD_EXT пакета. При выдаче CMD_EXT всегда первым идет основной пакет CMD длиной 7 байт. Если все как положено, устройство ответит пакетом ACK, ожидая CMD_EXT пакета. При ошибке устройство ответит пакетом ERR. CMD_EXT состоит из различных параметров, в зависимости от типа команды, поэтому CMD_EXT не имеет фиксированной длины и порядка параметров.

ПАКЕТ CMD имеет следующую структуру:

ПАКЕТ CMD имеет следующую структуру:

Обязательная 7-байтовая структура пакетов CMD

Байт 1 Байт 2 Байт 3 Байт 4 Байт 5 Байт 6 Байт 7
CMD_HEADER CMD_CODE CMD_TRAILER CMD_EXT_Length CMD_Par0 CMD_Par1 КОНТРОЛЬНАЯ СУММА

 

  • Байт 1: CMD_HEADER, как определено в таблице 1.Константы связи, 0x55
  • Байт 2: CMD_CODE, как определено в таблице 2. CMD_CODE ценности
  • Байт 3: CMD_TRAILER, как определено в таблице 1.Константы связи, 0xAA
  • Байт 4: CMD_EXT_Length: Если 0, то "CMD EXT" не используется); Значение ELSE — длина всего CMD_EXT пакета
  • Байт 5: CMD_Par0: параметр команды0, принимает различные значения в зависимости от команды
  • Байт 6: CMD_Par1: параметр команды 1, принимает различные значения в зависимости от команды
  • Байт 7: CHECKSUM – Контрольная сумма байтов от 1 до 6, как описано выше

CMD_EXT пакет имеет следующую структуру:

CMD_EXT пакет имеет следующую структуру:

CMD_EXT структура пакетов
Байт 1 Байт N Байт N+1
Байты параметров от 1 до N

CMD_EXT_CHECKSUM

 

Параметр байт от 1 до N – различные параметры, значения которых зависят от типа команды

  • CMD_EXT_CHECKSUM — Контрольная сумма байтов от 1 до N
  • CMD_EXT_Length — это количество всех байтов, включая CMD_EXT_CHECKSUM; например, длина N+1

Типы пакетов ANSWER #

Устройство может отвечать следующими типами пакетов:

ACK – Пакет подтверждения

Если команда и пакет CMD правильно настроены (структура и контрольная сумма) и необходимо отправить дополнительный пакет CMD_EXT, устройство ответит пакетом ACK.

ERR – Пакет ошибок

Если произошла ошибка, устройство ответит пакетом ERR. Некоторые команды могут возвращать набор ERR_EXT.В этом случае пакет ERR_EXT приходит сразу после пакета ERR.

RSP – Ответный пакет

Если отправлен правильно настроенный пакет CMD или CMD_EXT, устройство ответит RSP или пакетом RSP_EXT, который зависит от выданной команды. Например, если CMD требуется ответ, достаточно короткий для пакета RSP, RSP_EXT пакет не будет. В противном случае, если CMD или CMD_EXT требуется ответ с большим количеством байтов, RSP_EXT придет сразу после пакета RSP. Распространена ситуация при чтении данных с помощью команды LinearRead, где устройство ответит строкой байтов данных карты.

ACK – Пакет подтверждения #

Пакет ACK имеет следующую структуру:

Пакет ACK имеет следующую структуру:

Структура пакетов ACP

Байт 1 Байт 2 Байт 3 Байт 4 Байт 5 Байт 6 Байт 7
ACK_HEADER CMD_CODE CMD_TRAILER Нерелевантный, не используется в пакете ACK КОНТРОЛЬНАЯ СУММА

 

  • Байт 1: ACK_HEADER, как определено в таблице 1.Константы связи, 0x55
  • Байт 2: CMD_CODE, как определено в таблице 2. CMD_CODE ценности. Устройство ACKузнавает, что предыдущая команда отправлена правильно
  • Байт 3: ACK_HEADER, как определено в таблице 1.Константы связи, 0x55
  • Байт 4: Байт 5, Байт 6: Не используется в пакете ACK, значения 0x00
  • Байт 7: CHECKSUM – Контрольная сумма байтов от 1 до 6, как описано выше

ERR – пакет ошибок #

Пакет ERR имеет следующую структуру:

Обязательный 7-байтовый ERR

Байт 1 Байт 2 Байт 3 Байт 4 Байт 5 Байт 6 Байт 7
ERR_HEADER ERROR_CODE ERR_TRAILER ERR_EXT_Length Err_Val0 Err_Val1 КОНТРОЛЬНАЯ СУММА

 

  • Байт 1: ERR_HEADER, как определено в таблице 1.Константы связи, 0xEC
  • Байт 2: ERR_CODE, как определено в таблице 3. КОДЫ ОШИБОК.
  • Байт 3: ERR_TRAILER, как определено в таблице 1.Константы связи, 0xCE
  • Байт 4: если ERR_EXT существует, этот байт содержит длину пакета ERR_EXT (включая ERR_EXT контрольную сумму)
  • Байт 5: Возможная дополнительная информация об ошибке может быть определена в ERR_Val0
  • Байт 6: Возможная дополнительная информация об ошибке может быть определена в ERR_Val1
  • Байт 7: CHECKSUM – Контрольная сумма байтов от 1 до 6, как описано выше

ERR_EXT и имеет следующую структуру:

 

ERR_EXT структура пакетов
Байт 1 .. Байт N Байт N+1
Ошибка байтов от 1 до N ERR_EXT_CHECKSUM

 

  • Байт 1: Первый байт ERR_EXT
  • Байт N: N-n-й байт ERR_EXT
  • Байт N+1: ERR_EXT_CHECKSUM, контрольная сумма от байт от 1 до N, вычисляется, как объяснялось ранее.

 

RSP – пакет ответа #

Пакет RSP имеет следующую структуру:

Обязательный 7-байтовый RSP

Байт 1 Байт 2 Байт 3 Байт 4 Байт 5 Байт 6 Байт 7
RSP_HEADER CMD_CODE RSP_TRAILER RSP_EX_length RSP_Val0 RSP_Val1 КОНТРОЛЬНАЯ СУММА

 

  • Байт 1: RSP_HEADER, как определено в таблице 1.Константы связи, 0xED
  • Байт 2: CMD_CODE, как определено в таблице 2. CMD_CODE ценности
  • Байт 3: ERR_TRAILER, как определено в таблице 1.Константы связи, 0xDE
  • Байт 4: Если RSP_EXT существует, этот байт содержит длину пакета RSP_EXT (включая RSP_EXT контрольную сумму)
  • Байт 5: Возможная дополнительная информация о RESPONSE может быть определена в RSP_Val0
  • Байт 6: Возможная дополнительная информация о RESPONSE может быть определена в RSP_Val1
  • Байт 7: CHECKSUM – Контрольная сумма байтов от 1 до 6, как описано выше.

T

RSP_EXT структура пакетов
Байт 1 .. Байт N Байт N+1
БайтЫ RSP от 1 до N RSP_EXT_CHECKSUM

 

  • Байт 1: Первый байт RSP_EXT
  • Байт N: N-n-й байт RSP_EXT
  • Байт N+1: RSP_EXT_CHECKSUM, контрольная сумма от байт от 1 до N, вычисляется, как объяснялось ранее.