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

Протокол последовательной связи μ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, вычисляется, как объяснялось ранее.