Опубликовано: 22 октября 2021
FDX-B – общий протокол данных, который используется в транспондерах для идентификации животных, хотя в равной степени он может использоваться и в промышленной идентификации. Он полностью описан в стандартах ISO 11784\ 11785, которые находятся в публичном доступе. Описание ISO 11784\ 11785 обсуждает два формата кодирования транспондеров: FDX-B (полный дуплекс), и HDX (частичный дуплекс). Здесь мы обсудим протокол FDX-B, который нас интересует в вопросе идентификации домашних любимцев.
Частота и модуляция протокола FDX-B
Протокол транспондеров FDX-B основывается на работе на частоте 134.2 kHz, и использует двухфазную схему кодирования для передачи данных. Скорость передачи данных всегда используется с fc/32.
Двухфазное кодирование схемы модулируется на ВЧ-поле, поэтому есть переход в начале каждой границы бита. Логическая позиция 0 имеет переход в середине периода бита, в то же время логическая позиция 1 не имеет перехода на протяжении всего периода бита. Для протокола FDX-B длина 1 бита соответствует 32 циклам активного поля сканера.
Структура данных протокола FDX-B
Транспондеры протокола FDX-B несут 128 бита информации. Структура этой информации состоит из:
- 11 бит заголовка () Lsb разрядами вперед.
- 64 бит идентификатора с 8 контрольными битами.
- 16 бит CRC с 2 контрольными битами.
- 24 бита расширенных данных с 3 контрольными битами.
Контрольные биты это простые логические 1-ные биты, которые повторяются после каждых 8 битов. Они используются, чтобы дифференцировать 11 бит заголовка от остальных данных. Ниже показан пример структуры данных для протокола FDX-B structure.
msb |
|
|
|
|
|
lsb |
|||||
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Шаблон заголовка 11 бит |
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
|
|
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
38 бит (12 цифр) Национальный код. |
|
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
пример 000000001008 (десятичное). |
|
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
10 бит (3 цифры) код страны. |
|
|
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
пример 999 (десятичное). |
|
|
1 |
- |
- |
- |
- |
- |
- |
- |
1 |
1 бит данные блока флага статуса. |
|
|
1 |
1 |
- |
- |
- |
- |
- |
- |
- |
1 бит индикатор приложения для животных. |
|
|
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
16 бит контрольной суммы |
|
|
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
|
|
|
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
24 бит доп. данных, если такие присутствуют |
|
|
|
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
пример $123456. |
|
|
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
Когда метка попадает в электромагнитное поле передаваемое RFID сканером, метка в первую очередь черпает энергию от этого поля и только потом начинается передача ее собственных данных, начиная в первую очередь с младшего бита. 11-ти битный шаблон заголовка передается в первую очередь, указывая на начало передачи пакета данных. Далее следуют 38 бит идентификационного кода. Для животных это будет идентификационный код животного. Это уникальный 12 символьный десятичный код для каждого животного. После каждых 8 битов посылается один логический бит, чтобы отделить данные от заголовка последовательности. Затем пересылается 10 бит кода страны. Код страны – это 3 символа, которые используются для обозначения производителя. Код 999 используется, чтоб обозначить, что это тестовый транспондер и он не должен содержать уникального кода.
1 бит блока данных обозначает флаг, что поясняет есть ли блокировка данных в транспондере.
Значение 1 обозначает, что транспондер содержит дополнительные 24 бита блока данных. В противном случае это 0. Исходя из этого, у нас есть 14 зарезервированных битов выделенных для дальнейшего использования. Индикатор приложения для животных показывает, что транспондер используется для идентификации животных. Это значение установлено как 1, чтоб обозначить, что это приложение для идентификации животных и 0 – в противном случае. Предыдущий 64 битный блок (исключая контрольные биты) используются для вычисления 16 битной контрольной суммы. Вычисления для этой CRC контрольной суммы определенны в ISO 11784 / 11785 и включаются после статуса о том, что это приложение для животных.
После блока CRC зарезервирован блок с дополнительной информацией с флагом 1. Если этот блок оставляется пустым, то его флаг будет 0, а значение 000000. Этот блок данных может быть использован для обозначения дополнительных данных, например область применения.
Такова структура данных протокола FDX-B.