Следует обратить внимание на то, что некоторые положения настоящего стандарта могут быть защищены патентами, отличными от приведенных в вышеуказанной таблице. ИСО и МЭК не несут ответственности за определение каких-либо патентных прав.
Актуальная информация о патентах, которые могут быть использованы в настоящем стандарте, может быть найдена в сети Интернет по адресу www.iso.org/patents.
Дополнительные пояснения текста стандарта приведены в сносках, выделенных курсивом.
Настоящий стандарт устанавливает требования к радиоинтерфейсу устройств радиочастотной идентификации, работающих в диапазоне частот 860 - 960 МГц, выделенном для промышленных, научных и медицинских целей и используемом в применении радиочастотной идентификации для управления предметами. Он содержит общее техническое описание устройств радиочастотной идентификации, которое может быть использовано другими техническими комитетами при разработке стандартов по применению систем радиочастотной идентификации. Настоящий стандарт должен способствовать обеспечению совместимости и функциональной взаимозаменяемости компонентов растущего рынка систем радиочастотной идентификации в международном масштабе.
Настоящий стандарт определяет следующие параметры прямой и обратной линий связи систем радиочастотной идентификации: рабочую частоту; допустимое отклонение частоты рабочего канала; полосу частот канала; максимально допустимую эквивалентную изотропно-излучаемую мощность; паразитные излучения; модуляцию; коэффициент заполнения (скважность); методы кодирования данных; скорость передачи данных; допустимое отклонение скорости передачи данных; порядок передачи битов. Для режимов, где это необходимо, определены: рабочие частоты каналов; скорости их переключения; последовательность скачков частоты; последовательность распределения спектра и скорость передачи элементов данных. Настоящий стандарт также определяет протоколы обмена данными, которые использует радиоинтерфейс.
Настоящий стандарт определяет физические и логические требования для пассивных систем радиочастотной идентификации, работающих на принципе обратного рассеяния по схеме ITF ("устройство опроса инициирует связь"). Система радиочастотной идентификации включает в себя устройства опроса, также называемые устройствами считывания, и радиочастотные метки, также называемые этикетками. Устройства опроса передают радиочастотным меткам непрерывный радиосигнал, а принимают отраженный радиосигнал обратного рассеяния, который радиочастотные метки модулируют для передачи устройствам опроса информации путем изменения коэффициента отражения своей антенны. Система радиочастотной идентификации, работающая по схеме ITF, означает, что радиочастотная метка модулирует сигнал обратного рассеяния только после соответствующей команды устройства опроса.
Настоящий стандарт относится конкретно к системам типа B.
Системы радиочастотной идентификации типа B используют манчестерское кодирование в прямой линии связи и антиколлизионный алгоритм типа бинарного дерева.
Настоящий стандарт определяет:
- физические взаимодействия (сигнальный уровень линий связи) между устройством опроса и радиочастотной меткой;
- рабочие операции и команды устройства опроса и радиочастотной метки;
- антиколлизионный алгоритм, используемый при идентификации определенной радиочастотной метки в рабочей области с множеством радиочастотных меток.
Для заявления о соответствии устройства опроса или радиочастотной метки настоящему стандарту необходимо их соответствие требованиям всех соответствующих разделов настоящего стандарта, кроме определенных как необязательные. Устройство опроса и радиочастотная метка должны также соответствовать требованиям национальных нормативных документов, регламентирующих вопросы использования полос радиочастот, что может привести к ограничению их функциональных возможностей.
Необходимые методы испытаний на соответствие настоящему стандарту установлены в техническом отчете ИСО/МЭК ТО 18047-6.
Соответствие стандарту может также потребовать наличия лицензии от обладателя прав на интеллектуальную собственность, использованную в заявленном устройстве.
Для соответствия настоящему стандарту устройству опроса требуется:
- поддерживать систему радиочастотной идентификации типа B;
- обеспечивать выполнение набора обязательных команд, определенных в настоящем стандарте;
- обеспечивать модуляцию/передачу и прием/демодуляцию электрических сигналов, определенных в настоящем стандарте в описании сигнального уровня линий связи, для обмена информацией с радиочастотными метками, соответствующими требованиям настоящего стандарта;
- обеспечивать выполнение надлежащих требований национальных нормативных документов, регламентирующих вопросы использования полос радиочастот.
Для соответствия настоящему стандарту устройству опроса рекомендуется:
- обеспечивать выполнение любого набора дополнительных команд, определенных в настоящем стандарте;
- обеспечивать выполнение любого набора команд изготовителя и/или пользователя в соответствии с настоящим стандартом.
Для соответствия настоящему стандарту устройству опроса запрещается:
- обеспечивать выполнение любой команды, которая противоречит положениям настоящего стандарта, а также положениям ИСО/МЭК 18000-61, ИСО/МЭК 18000-63 и ИСО/МЭК 18000-64;
- требовать использования какой-либо дополнительной команды, команды изготовителя или пользователя для выполнения положений настоящего стандарта.
Для соответствия настоящему стандарту радиочастотной метке требуется:
- поддерживать работу системы радиочастотной идентификации типа B;
- работать в диапазоне частот от 860 до 960 МГц включительно;
- выполнять набор обязательных команд, определенных в настоящем стандарте для поддерживаемых типов систем;
- модулировать сигнал обратного рассеяния только после получения соответствующей команды от устройства опроса;
- обеспечивать выполнение надлежащих требований национальных нормативных документов, регламентирующих вопросы использования полос радиочастот.
Для соответствия настоящему стандарту радиочастотной метке рекомендуется:
- выполнять любой набор дополнительных команд, определенных в настоящем стандарте;
- выполнять любой набор команд изготовителя и/или пользователя в соответствии с разделом 6 настоящего стандарта.
Для соответствия настоящему стандарту радиочастотной метке запрещается:
- выполнять любую команду, которая противоречит положениям настоящего стандарта, а также положениям ИСО/МЭК 18000-61, ИСО/МЭК 18000-63 и ИСО/МЭК 18000-64;
- требовать использования какой-либо дополнительной команды, команды изготовителя или пользователя для выполнения положений настоящего стандарта;
- модулировать сигнал обратного рассеяния, не получив соответствующей команды от устройства опроса, используя сигнальный уровень, определенный в настоящем стандарте.
В настоящем стандарте использованы ссылки на перечисленные ниже стандарты и другие нормативные документы. В случае ссылок на документы, у которых указана дата утверждения, необходимо пользоваться только данной редакцией. В случае, когда дата утверждения не приведена, следует пользоваться последней редакцией документов, включая любые поправки и изменения к ним.
ИСО/МЭК 7816-6 Идентификационные карты. Карты на интегральных схемах. Часть 6. Элементы данных для межотраслевого обмена (ISO/IEC 7816-6, Identification cards - Integrated circuits cards - Interindustry data elements for interchange)
ИСО/МЭК 15961 Информационные технологии. Радиочастотная идентификация для управления предметами. Протокол данных: интерфейс приложения (ISO/IEC 15961, Information technology - Radio frequency identification (RFID) for item management - Data protocol: application interface)
ИСО/МЭК 15962 Информационные технологии. Радиочастотная идентификация для управления предметами. Протокол данных: правила кодирования данных и функции логической памяти (ISO/IEC 15962, Information technology - Radio frequency identification (RFID) for item management - Data protocol: data encoding rules and logical memory functions)
ИСО/МЭК 18000-1 Информационные технологии. Радиочастотная идентификация для управления предметами. Часть 1. Базовая архитектура и определение параметров, подлежащих стандартизации (ISO/IEC 18000-1, Information technology - Radio frequency identification for item management - Part 1: Reference architecture and definition of parameters to be standardized)
ИСО/МЭК 19762 (все части) Информационные технологии. Технологии автоматической идентификации и сбора данных. Гармонизированный словарь (ISO/IEC 19762 (all parts), Information technology - Automatic identification and data capture (AIDC) techniques - Harmonized vocabulary)
В настоящем стандарте применены термины и определения по ИСО/МЭК 19762 (все части), а также следующие:
4.1.1 схема антиколлизионного алгоритма (collision arbitration loop): Алгоритм, служащий для подготовки и проведения диалога между устройством опроса и радиочастотной меткой.
Примечание - Схему антиколлизионного алгоритма называют также антиколлизионным алгоритмом.
4.1.2 физический уровень (physical layer): Методы кодирования и модуляции сигнала при передаче данных по линиям связи "устройство опроса - радиочастотная метка" и "радиочастотная метка - устройство опроса".
Cht (carrier high-level tolerance) - допустимое отклонение сигнала несущей от установившегося значения;
Clt (carrier low-level tolerance) - допустимый остаточный уровень сигнала несущей;
D (modulation depth of data coding pulse) - глубина модуляции импульса кодирования данных;
fc (frequency of operating field [carrier frequency]) - несущая частота (частота несущего сигнала);
M (number of subcarrier cycles per symbol) - число периодов поднесущей на символ;
Mi (modulation index) - коэффициент модуляции;
Ma (modulation upper tolerance type B) - допустимое верхнее отклонение коэффициента модуляции для типа B;
Mb (modulation lower tolerance type B) - допустимое нижнее отклонение коэффициента модуляции для типа B;
Mh (RF signal envelope ripple [overshoot]) - верхний уровень неравномерности огибающей радиочастотного сигнала;
Ml (RF signal envelope ripple [undershoot]) - нижний уровень неравномерности огибающей радиочастотного сигнала;
Tf или Tf, 10-90% (RF signal envelope fall time) - время спада огибающей радиочастотного сигнала;
Thf (FHSS signal envelope fall time) - время спада огибающей сигнала в режиме FHSS;
Thr (FHSS signal envelope rise time) - время нарастания огибающей сигнала в режиме FHSS;
Ths (time for an FHSS signal to settle to within a specified percentage of its final value) - время выхода сигнала на уровень, заданный в процентах от его номинального значения, в режиме FHSS;
Tr или Tr, 10-90% (RF signal envelope rise time) - время нарастания огибающей радиочастотного сигнала;
Tbmf (Manchester fail time) - время спада импульса при манчестерском кодировании;
Tbmr (Manchester rise time) - время нарастания импульса при манчестерском кодировании;
Tcf (carrier fall time) - время спада сигнала несущей частоты;
Tcr (carrier rise time) - время нарастания сигнала несущей частоты;
Tcs (carrier steady state time) - время установления постоянного уровня сигнала несущей частоты;
Tf (fall time) - время спада;
Tfhf (carrier FHSS fail time) - время спада сигнала несущей частоты в режиме FHSS;
Tfhr (carrier FHSS rise time) - время нарастания сигнала несущей частоты в режиме FHSS;
Tfhs (carrier FHSS steady time) - время постоянного уровня сигнала несущей частоты в режиме FHSS;
Tr (rise time) - время нарастания;
Trlb (return link bit time) - время передачи бита в обратной линии связи;
xxxx2 (binary notation) - величина, представленная в форме двоичного числа;
xxxxh (hexadecimal notation) - величина, представленная в форме шестнадцатеричного числа.
AFI (Application Family Identifier) - идентификатор семейства применений (идентификатор AFI);
ASIC (Application Specific Integrated Circuit) - специализированная интегральная схема;
ASK (Amplitude Shit Keying) - амплитудная манипуляция;
CRC (Cyclic Redundancy Check) - циклический избыточный код;
CRC-16 - 16-битовый циклический избыточный код;
DSSS (Direct Sequence Spread Spectrum) - широкополосная модуляция с непосредственной передачей псевдослучайной последовательности, или расширение спектра прямой последовательностью;
FHSS (Frequency Hopping Spread Spectrum) - широкополосная модуляция с дискретной перестройкой несущей частоты, или расширение спектра скачкообразной перестройкой частоты;
ITF (Interrogator-Talks-First) - протокол связи ITF ("interrogator-talks-first" - "устройство опроса инициирует связь");
Примечание - Общепринятым является также сокращение RTF ("устройство считывания инициирует связь"). В настоящем стандарте используется более точный термин с сокращением ITF;
LSB (Least Significant Bit) - младший значащий бит (МЗБ (LSB), далее - младший бит LSB);
MSB (Most Significant Bit) - старший значащий бит (СЗБ (MSB), далее - старший бит MSB);
NRZ (Non Return to Zero) - код без возвращения к нулю;
ppm (parts per million) - миллионная доля;
RFU (Reserved for Future Use) - зарезервировано для использования в будущем;
SOF (Start Of Frame) - начало фрейма;
Word - слово из 16 бит.
В таблицах 1 - 4 приведены параметры систем радиочастотной идентификации типа B в соответствии с требованиями ИСО/МЭК 18000-1. Подробное описание режимов и параметров работы приведено далее в настоящем стандарте.
Таблица 1
Параметры линии связи "устройство считывания/опроса (УСО) -
радиочастотная метка"
Таблица 2
Параметры линии связи "радиочастотная метка (РЧМ) -
устройство считывания/опроса
Таблица 3
Параметры протокола
Таблица 4
Форма сигнала при включении устройства опроса должна соответствовать рисунку 1 и таблице 5.
![]() Рисунок 1 - Форма сигнала при включении устройства опроса
Таблица 5
При падении уровня несущей частоты ниже допустимого для Cht предела форма сигнала выключения устройства опроса должна монотонно убывать в течение времени Tcf как показано на рисунке 2 и согласно таблице 6.
![]() Рисунок 2 - Форма огибающей сигнала
при выключении устройства опроса
Таблица 6
при выключении устройства опроса
Когда устройство опроса работает в режиме FHSS, время нарастания и спада сигнала несущей должно соответствовать характеристикам, приведенным на рисунке 3 и в таблице 7. Время выполнения скачка частоты устройства опроса должно быть не более 30 мкс (для гарантии того, что скачок частоты не вызовет изменения состояния радиочастотной метки). Длительность скачка частоты измеряется от начала интервала времени Tfhf до конца интервала времени Tfhr.
![]() Примечание - Пульсация должна быть в пределах +/- 5% от установившегося уровня (100%).
Рисунок 3 - Характеристики нарастания и спада несущей
в режиме FHSS
Таблица 7
в режиме FHSS
6.1.4.1 Общие сведения о кодировании FM0 в обратной линии связи
Радиочастотная метка передает информацию с помощью модуляции энергии сигнала, поступающего от устройства опроса, и отражения ее в направлении устройства опроса (обратное рассеяние).
6.1.4.2 Модуляция
Отражательная способность радиочастотной метки переключается между двумя состояниями. Нормальным является состояние "space", в котором радиочастотная метка питается энергией устройства опроса и может получать и декодировать сигналы прямого канала связи. Состояние "mark" является альтернативным, создаваемым изменением конфигурации или нагрузки антенны.
Скорость передачи данных по обратной линии связи "радиочастотная метка - устройство опроса", 40 или 160 Кбит/с, выбирают при настройке радиочастотной метки. Устройство опроса должно принимать и декодировать ответ радиочастотной метки независимо от скорости передачи данных, не получая предварительной информации о настройках радиочастотной метки, что необходимо для обработки неоднородного множества радиочастотных меток.
6.1.4.4 Кодирование данных
Данные кодируются методом, называемым двухуровневым кодированием с переходом на нуле (кодированием FM0).
Период передачи каждого символа имеет постоянную длительность Trlb, указанную в таблице 8. При кодировании FM0 изменение уровня сигнала происходит на каждой границе бита, а при передаче сигнала логического '0' также и в середине бита.
Таблица 8
Кодирование данных начинается со старшего бита (MSB). На рисунке 4 приведено кодирование 8 бит байта B1 (шестнадцатеричное представление).
Кодирование данных FMO
Кодирование начинается со старшего бита (MSB)
для байта 10110001 = 'B1'
![]() Рисунок 4 - Кодирование данных в обратной линии связи
"радиочастотная метка - устройство опроса"
6.1.4.5 Формат сообщения
Сообщение обратного канала связи состоит из n бит данных, которым предшествует заголовок (преамбула). Передача данных начинается со старшего бита (MSB).
Заголовок позволяет устройству опроса синхронизироваться с тактовой частотой радиочастотной метки и начать декодирование сообщения. Заголовок состоит из 16 бит (см. рисунок 5) и имеет многочисленные нарушения кода (последовательности переходов уровней сигнала не соответствуют правилам кодирования FM0), которые действуют как маркер фрейма при переходе от заголовка к данным.
![]() Примечание - Верхний уровень сигнала соответствует высокой отражательной способности радиочастотной метки, а нижний - низкой отражательной способности.
Заголовок сообщения обратной линии связи - это последовательность модулированных сигналов обратного рассеяния (см. рисунок 5).
Переключение модулятора радиочастотной метки из состояния высокого импеданса в состояние низкого импеданса вызывает изменение энергии сигнала обратного рассеяния (см. рисунок 6).
![]() Рисунок 6 - Кодирование битов в обратной линии связи
На рисунке показан сигнал обратного рассеяния, состоящий из такта низкого и такта высокого уровня отраженной меткой мощности.
6.1.4.7 Контроль циклическим избыточным кодом (CRC)
6.1.4.7.1 Общие сведения о коде CRC
После получения команды от устройства опроса радиочастотная метка проверяет правильность значения контрольной суммы или кода CRC. Если контрольная сумма или код CRC оказались неправильными, радиочастотная метка игнорирует данный фрейм, не отвечая и не выполняя никаких действий.
6.1.4.7.2 16-битовый код CRC-16 линии связи "устройство опроса - радиочастотная метка"
6.1.4.7.2.1 Общие сведения о коде CRC-16 линии связи "устройство опроса - радиочастотная метка"
16-битовый код CRC вычисляется по всем битам передаваемой команды, начиная с первого бита после начала фрейма (SOF) до первого бита кода CRC.
Для вычисления кода CRC используется полином: x16 + x12 + x5 + 1. В 16-битовый регистр предварительно загружается начальное шестнадцатеричное значение 'FFFF'. Окончательное значение кода CRC инвертируется, присоединяется к концу пакета данных и передается.
Старший байт передается первым. Старший бит каждого байта передается первым.
Примечание - Возможная схема реализации приведена в приложении A.
Контроль избыточным циклическим кодом может быть реализован одним из двух приведенных ниже способов.
6.1.4.7.2.2 Прием радиочастотной меткой битов кода CRC с инверсией
Радиочастотная метка инвертирует полученные биты кода CRC, которые затем вводятся в регистр. После ввода в регистр младшего бита кода CRC, 16-битовый CRC-регистр должен содержать только нули.
6.1.4.7.2.3 Прием радиочастотной меткой битов кода CRC без инверсии
Если до ввода в регистр полученные биты кода CRC не инвертированы, то после ввода в регистр младшего бита кода CRC, 16-битовый CRC-регистр будет содержать значение 0x1D0F (шестнадцатеричное представление).
6.1.4.7.3 16-битовый код CRC-16 линии связи "радиочастотная метка - устройство опроса"
6.1.4.7.3.1 Общие сведения о коде CRC-16 линии связи "радиочастотная метка - устройство опроса"
16-битовый код CRC вычисляется по всем битам данных до первого бита кода CRC.
Для вычисления кода CRC применяется полином x16 + x12 + x5 + 1. 16-битовый регистр предварительно загружается значением FFFFh (шестнадцатеричное представление). Полученное значение кода CRC инвертируется, присоединяется к концу пакета данных и передается.
Старший байт передается первым (см. таблицу 9). Старший бит каждого байта передается первым.
Таблица 9
Правила передачи битов и байтов кода CRC-16
Рекомендуется, чтобы после получения ответа радиочастотной метки устройство опроса проверяло правильность значения кода CRC. Разработчик устройства опроса должен предусмотреть соответствующие корректирующие действия на случай, если значение кода CRC окажется неправильным.
Примечание - Возможная схема реализации приведена в приложении A.
Контроль избыточным циклическим кодом может быть реализован одним из двух приведенных ниже способов.
6.1.4.7.3.2 Прием устройством опроса битов кода CRC с инверсией
Поступающие на вход устройства опроса биты кода CRC инвертируются, а затем вводятся в регистр. После ввода в регистр младшего бита кода CRC 16-битовый регистр CRC должен содержать только нули.
6.1.4.7.3.3 Прием устройством опроса битов кода CRC без инверсии
Если до ввода в регистр полученные биты кода CRC не были инвертированны, то после ввода в регистр младшего бита кода CRC 16-битовый регистр кода CRC будет содержать значение 1D0Fh (шестнадцатеричное представление).
Передача данных от устройства опроса к радиочастотной метке реализуется за счет модуляции сигнала несущей методом амплитудной манипуляции (ASK). Кодирование данных выполняется путем генерации импульсов, которые образуют манчестерский код (см. рисунки 7 и 8, таблицы 10 и 11).
![]() Рисунок 7 - 100%-ная модуляция
(пример сигнала при скорости передачи 40 Кбит/с)
Таблица 10
--------------------------------
![]() (пример сигнала при скорости передачи 8 Кбит/с)
Таблица 11
--------------------------------
6.1.5.2 Кодирование бита данных в прямой линии связи
Манчестерское кодирование данных выполняется в соответствии с рисунком 9.
![]() Логический '0' = '0' манчестерского кода, переход от 0 к 1
![]() Логическая '1' = '1' манчестерского кода, переход от 1 к 0
Рисунок 9 - Кодирование бита данных в прямой линии связи
Данные кодируются и представляются в виде сигналов с несколько отличающейся структурой. В прямой линии связи ("устройство опроса - радиочастотная метка") данные передаются с использованием полной амплитудной манипуляции OOK (on-off keying). Включенное радиочастотное поле соответствует значению '1', а выключенное - значению '0'. Коэффициент модуляции Mi определен в 6.1.5.1. В манчестерском кодировании единица представляется переходом от '1' к '0', а ноль - переходом от '0' к '1'.
Для осуществления связи по обратной линии ("радиочастотная метка - устройство опроса") данные передаются за счет обратного рассеяния. При этом необходимо, чтобы устройство опроса обеспечивало стабильное питание радиочастотной метки, которая периодически изменяет эффективное входное сопротивление (импеданс) своих входных цепей, меняя тем самым свою общую отражательную способность, воспринимаемую устройством опроса. Во время сеанса связи по обратной линии устройство опроса не модулирует несущий сигнал. Во время интервала ожидания, когда радиочастотная метка записывает данные в свою память, устройство опроса также обеспечивает ее стабильное питание и не модулирует сигнал несущей.
Порядок обмена командами и данными между устройством опроса и радиочастотной меткой в обоих направлениях определяется протоколом обмена данными.
Протокол основан на схеме "устройство опроса инициирует связь" ("interogator talks first"), согласно которому ни одна радиочастотная метка не начинает передачу (модулирование сигнала) до получения и правильного декодирования команды устройства опроса.
Обмен данными происходит при передаче команд устройства опроса радиочастотной метке и во время ответа радиочастотной метки устройству опроса.
Условия, при которых радиочастотная метка передает ответ, указаны в 6.2.7.
Каждая команда состоит из следующих полей:
- признака заголовка (модуляция радиочастотной несущей отсутствует);
- заголовка;
- разделителя;
- кода команды;
- полей параметров (в зависимости от команды);
- полей данных применения (в зависимости от команды);
- кода CRC-16.
Каждый ответ радиочастотной метки состоит из следующих полей:
- паузы (модуляция радиочастотной несущей отсутствует);
- заголовка ответа;
- полей данных применения;
- кода CRC-16.
Протокол является бит-ориентированным. Количество битов, передаваемых во фрейме, кратно восьми (8), то есть соответствует целому числу байтов. При этом наличие в структуре фрейма целого числа байтов не является необходимым для его регистрации.
Передача любых байтовых полей должна осуществляться, начиная со старшего бита (то есть MSB передается первым) и заканчивая младшим битом (то есть LSB передается последним). При передаче полей данных, состоящих из 8-байтовых слов, первым передается старший байт (MSByte).
Место нахождения в памяти старшего байта (MSByte) указывает его адрес. Адрес младшего байта (LSByte) в памяти соответствует значению указанного адреса, увеличенному на 7 (то есть передача байтов осуществляется в порядке увеличения адреса передаваемого байта).
Порядок старшинства байтов соответствует порядку их передачи, а также порядку их сравнения ("больше чем" или "меньше чем") по командам GROUP_SELECT и GROUP_UNSELECT.
Старший байт (MSByte) байтовой маски соответствует старшему байту данных по указанному адресу.
В полях 8-байтовых слов адреса не должны соответствовать границам слов и могут указывать на произвольный байт.
Значения битов и байтов, зарезервированных для использования в будущем (RFU), должны быть установлены на ноль ('0').
6.1.7.1 Общие сведения о формате команды
Формат команды (см. рисунок 10) состоит из следующих полей:
- признака заголовка;
- заголовка;
- разделителя;
- кода команды;
- полей параметров и данных;
- кода CRC-16.
6.1.7.2 Поле признака заголовка
Поле признака заголовка состоит из постоянного (немодулированного) сигнала несущей частоты, передаваемого в течение не менее 400 мкс, что соответствует времени передачи 16 бит со скоростью 40 Кбит/с.
Поле заголовка эквивалентно 9 битам манчестерского '0' в формате NRZ (без возврата к нулю).
010101010101010101
6.1.7.4 Ограничители
6.1.7.4.1 Общие сведения об ограничителях
Определены четыре ограничителя.
6.1.7.4.2 Начальный ограничитель 1
В формате NRZ с нарушениями манчестерского кода и игнорированием пробелов начальный ограничитель 1 имеет следующий вид:
11 00 11 10 10 - Ограничитель 1
6.1.7.4.3 Начальный ограничитель 2
В формате NRZ с нарушениями манчестерского кода и игнорированием пробелов начальный ограничитель 2 имеет следующий вид:
01 01 11 00 11 - Ограничитель 2
Указанный начальный ограничитель зарезервирован для использования в будущем.
6.1.7.4.4 Начальный ограничитель 3
В формате NRZ с нарушениями манчестерского кода и игнорированием пробелов начальный ограничитель 3 имеет следующий вид:
00 11 10 01 01 - Ограничитель 3
Указанный начальный ограничитель зарезервирован для использования в будущем.
6.1.7.4.5 Начальный ограничитель 4
В формате NRZ с нарушениями манчестерского кода и игнорированием пробелов начальный ограничитель 4 имеет следующий вид:
11 01 11 00 10 1 - Ограничитель 4
Ограничитель 4 поддерживает все команды, как и ограничитель 1, но при этом скорость передачи данных по обратной линии связи в четыре раза выше скорости передачи данных по прямой линии связи. Поддерживаемые скорости передачи данных указаны в разделе 5.
6.1.7.5 Код CRC-16
См. приложение A.
6.1.8.1 Общие сведения о формате ответа
Ответ радиочастотной метки состоит из следующих полей (см. рисунок 11):
- паузы;
- заголовка ответа;
- данных;
- кода CRC-16.
Для передачи данных устройству опроса радиочастотная метка использует принцип обратного рассеяния. Во время сеанса связи с радиочастотной меткой устройство опроса постоянно передает ей энергию для питания и принимает ее ответ в виде сигнала обратного рассеяния. Так осуществляется передача всех полей ответа по обратной линии связи.
Радиочастотная метка не должна модулировать сигнал обратного рассеяния в течение следующего интервала времени:
16 * Treturn data rate - 0,75 * Tforward data rate <1>.
--------------------------------
<1> Treturn data rate - период передачи данных по обратной линии связи;
Tforward data rate - период передачи данных по прямой линии связи.
Длительность паузы определяется, главным образом, скоростью передачи данных по обратной линии связи.
6.1.8.3 Код CRC-16
См. приложение A.
Получив команду записи, радиочастотная метка должна выполнить операцию записи информации (условия осуществления записи приведены в 6.2.7.9.11). При выполнении операции записи вся последовательность передаваемых полей всегда должна заканчиваться полем интервала ожидания.
Во время интервала ожидания, когда радиочастотная метка осуществляет процесс записи данных в память EEPROM <1>, устройство опроса должно обеспечивать питание метки постоянным сигналом. В это время не должно быть передачи данных в режиме полной амплитудной манипуляции OOK (on-off keying).
--------------------------------
<1> EEPROM (Electrically Erasable Programmable Read-Only Memory) - электрически стираемое перепрограммируемое программное запоминающее устройство (ЭСППЗУ).
Примеры пакетов команд приведены на рисунках 12 и 13.
![]() Рисунок 12 - Пример пакетов команды GROUP_SELECT
и ответа на команду (при скорости передачи данных
по прямой и обратной линиям связи 40 Кбит/с)
![]() и ответа на команду (при скорости передачи данных
по прямой и обратной линиям связи 40 Кбит/с)
На рисунках 14 и 15 приведены примеры коммуникационного обмена на пакетном уровне. На рисунке 14 указана последовательность пакетов, включающая в себя команду записи WRITE. Последовательность содержит интервал ожидания, который предоставляет микросхеме время, необходимое для завершения операции записи. Кроме того, после окончания интервала ожидания устройство опроса посылает сигнал повторной синхронизации радиочастотной метки. Этот сигнал состоит из 10 последовательных сигналов '01'. Целью повторной синхронизации является инициализация цепей восстановления данных радиочастотной метки, так как во время интервала ожидания паразитные излучения устройства опроса могут вызвать сбои в настройках радиочастотной метки.
Рисунок 14 - Последовательность пакетов без скачка частоты,
включающая команду записи
со скачком частоты между ответом и следующей командой
На рисунке 15 приведена последовательность пакетов, включающая в себя скачок частоты между командами, после которого требуется сигнал повторной синхронизации радиочастотной метки, так как во время скачка могут генерироваться паразитные сигналы.
Для гарантии того, что настройки радиочастотных меток не будут сбиты, следует избегать скачков частоты между командой и ответом.
6.2.1.1 Уникальный идентификатор
См. приложения B и C.
6.2.1.2 Код CRC-16
См. приложение A.
6.2.1.3.1 Общие сведения о флагах
Радиочастотная метка должна поддерживать поле из восьми флагов, которое называется FLAGS (см. таблицу 12).
Таблица 12
6.2.1.3.2 Флаг DE_SB (Data_Exchange Status Bit)
Радиочастотная метка устанавливает указанный флаг (бит состояния обмена данными) при переходе в состояние DATA_EXCHANGE и сохраняет его до перехода в состояние POWER-OFF.
Если флаг DE_SB установлен, а радиочастотная метка переходит в состояние POWER-OFF, она включает счетчик времени, который обнуляет бит DE_SB после истечения интервала времени tDE_SB.
Длительность интервала времени tDE_SB в диапазоне температур от минус 30 °C до 60 °C должна быть не менее 2 с.
Длительность интервала времени tDE_SB в диапазоне температур от 0 °C до 50 °C должна быть не менее 4 с.
При получении команды INITIALIZE радиочастотная метка немедленно обнуляет бит DE_SB.
6.2.1.3.3 Флаг WRITE_OK
Флаг WRITE_OK устанавливается после успешной записи или защиты данных в памяти радиочастотной метки (например, после команды WRITE или LOCK).
Бит флага WRITE_OK обнуляется после выполнения радиочастотной меткой команды, следующей за командой записи.
6.2.1.3.4 Флаг BATTERY_POWERED
Флаг BATTERY_POWERED устанавливается, если радиочастотная метка имеет внутренний источник питания (то есть для полупассивных меток). Для пассивных радиочастотных меток бит данного флага обнуляется.
6.2.1.3.5 Флаг BATTERY_OK
Флаг BATTERY_OK устанавливается, если источник питания полупассивной радиочастотной метки обладает достаточной мощностью для обеспечения ее работы. Для пассивных радиочастотных меток бит данного флага обнуляется.
Примечание - Флаг BATTERY_POWERED указывает на наличие внутреннего источника питания радиочастотной метки, в то время как флаг BATTERY_OK сообщает о состоянии источника питания. Флаг BATTERY_POWERED может быть "зашит" в память радиочастотной метки.
Функциональная память должна состоять из однобайтовых блоков.
Организация памяти предусматривает до 256 блоков по 1 байту. Таким образом, максимальный объем памяти составляет около 2 Кбит.
Примечание - Организация памяти позволяет в дальнейшем увеличивать ее максимальный объем с использованием дополнительных команд, которые будут определены при необходимости.
Каждому байту данных соответствует 1 бит блокировки. Биты блокировки могут быть установлены с помощью команды LOCK. Состояние блокировки может быть считано с помощью команды QUERY_LOCK. Радиочастотная метка не может обнулить бит блокировки, установленный в процессе ее изготовления, после прохождения последней операции изготовления. В большинстве случаев последней операцией изготовления радиочастотной метки является присвоение уникального идентификатора.
6.2.4.1 Состояния радиочастотной метки
Радиочастотная метка имеет четыре основных состояния (см. рисунок 16):
POWER-OFF - состояние радиочастотной метки, при котором устройство опроса не может ее активировать (для радиочастотных меток с внутренним источником питания это означает, что уровень радиочастотного возбуждения недостаточен для включения электронных цепей метки).
READY - состояние радиочастотной метки, на которую подано питание устройством опроса.
ID - состояние радиочастотной метки, при котором она находится в процессе идентификации устройством опроса.
DATA_EXCHANGE - состояние радиочастотной метки после того, как устройство опроса выбрало и идентифицировало ее.
![]() Примечание - На рисунке 16 не указано, что радиочастотная метка переходит в состояние POWER-OFF из любого состояния в случае, если радиочастотное поле устройства опроса отключено и цепи питания радиочастотной метки не могут поддерживать ее работоспособность.
На рисунке 16 представлена общая информация о возможных переходах состояний радиочастотной метки. Более подробные сведения приведены в таблице 14.
Power-On:
изменение состояния при включении радиочастотного поля устройства опроса.
Select:
изменение состояния при выборе радиочастотной метки по командам GROUP_SELECT или READ.
Unselect:
изменение состояния при отмене выбора радиочастотной метки по командам GROUP_UNSELECT или INITIALIZE.
Collision_Arbitration:
во время выполнения антиколлизионного алгоритма изменение состояния радиочастотной метки не происходит до тех пор, пока отдельная радиочастотная метка не будет идентифицирована.
Data_Read:
изменение состояния происходит при первом обращении к радиочастотной метке в процессе выполнения антиколлизионного алгоритма.
Read:
изменение состояния происходит при считывании независимо от того, выполняется антиколлизионный алгоритм или нет.
Initialize:
изменение состояния происходит при отмене выбора радиочастотной метки по команде INITIALIZE.
Переходы состояний приведены в таблице 14.
6.2.4.2 Условия выполнения команд
Согласно таблице 13 команды должны выполняться в состояниях, отмеченных "X", во всех других случаях не происходит ни изменения состояния радиочастотной метки, ни передачи ее ответа.
Таблица 13
Условия выполнения команд
Таблица 14
6.2.5.1 Общие сведения об антиколлизионном алгоритме
Устройство опроса может использовать команды GROUP_SELECT и GROUP_UNSELECT, чтобы определить все множество или подмножество радиочастотных меток, находящихся в рабочей области, для участия в антиколлизионном алгоритме. Затем устройство опроса может использовать команды идентификации для выполнения антиколлизионного алгоритма.
Для участия в антиколлизионном алгоритме радиочастотная метка должна иметь два компонента аппаратного обеспечения:
- 8-битовый счетчик COUNT;
- генератор случайных чисел (с двумя возможными значениями '0' или '1').
Сначала команда GROUP_SELECT переводит группу радиочастотных меток в состояние ID, причем они устанавливают свои внутренние счетчики на '0'. Для возвращения подмножества радиочастотных меток указанной группы в состояние READY можно применить команду GROUP_UNSELECT. До начала процесса идентификации могут быть выбраны и другие группы. Результаты моделирования показывают отсутствие преимуществ идентификации одной группы по сравнению с идентификацией нескольких меньших по размеру групп.
После выбора радиочастотных меток выполняются следующие действия:
1) Все радиочастотные метки в состоянии ID со значением счетчика COUNT, установленным на '0', должны передать свой идентификатор TID. Это начальное множество включает все выбранные радиочастотные метки.
2) Если передачу осуществляют несколько радиочастотных меток, устройство опроса воспринимает их ответы как ошибку и передает команду FAIL.
3) Получившие команду FAIL радиочастотные метки со значением счетчика COUNT, не равным '0', увеличивают его значение на '1'. При этом время их возможной передачи отдаляется.
Получившие команду FAIL радиочастотные метки со значением счетчика COUNT, равным '0' (то есть те радиочастотные метки, которые только что вели передачу), генерируют случайное число. Если случайное число равно '1', радиочастотная метка увеличивает значение своего счетчика на '1' и лишается возможности вести передачу. Если случайное число равно '0', радиочастотная метка оставляет значение своего счетчика равным '0' и повторно передает свой идентификатор TID.
Далее реализуется один из следующих вариантов:
4) Если передачу ведут несколько радиочастотных меток, то повторяется этап 2 с выдачей команды FAIL (Вариант 1).
5) Если случайное число у всех радиочастотных меток оказывается равным '1', то ни одна радиочастотная метка не ведет передачу. Устройство опроса не получает сигнал ответа и передает команду SUCCESS. Значение счетчиков всех радиочастотных меток уменьшается на '1'. Радиочастотные метки, значение счетчика которых оказалось равным '0', отправляют ответ. После этого обычно происходит возврат на этап 2 (Вариант 2).
6) Если передачу ведет только одна радиочастотная метка и ее идентификатор TID принят, устройство опроса посылает команду DATA_READ с указанием идентификатора ID. Если команда DATA_READ принята правильно, радиочастотная метка переходит в состояние DATA_EXCHANGE и передает свои данные.
Устройство опроса передает команду SUCCESS. Все радиочастотные метки, находящиеся в состоянии ID, уменьшают значение своего счетчика COUNT на единицу.
7) Если только у одной радиочастотной метки значение счетчика равно '1' и она ведет передачу, то после этого повторяется этап 5 или 6. Если передачу ведут несколько радиочастотных меток, то повторяется этап 2 (Вариант 3).
8) Если передачу ведет только одна радиочастотная метка, а идентификатор TID принят с ошибкой, то устройство опроса выдает команду RESEND. Если идентификатор TID принят правильно, то повторяется этап 5. Если идентификатор TID повторно принят определенное число раз (число устанавливается в зависимости от требуемого уровня надежности работы системы), то предполагается, что передачу ведут несколько радиочастотных меток, и повторяется этап 2 (Вариант 4).
6.2.5.2 Специальный антиколлизионный алгоритм
В случае, когда составляющие данных пользователя являются уникальными или вероятность совпадения информации достаточно низка, для разрешения коллизий могут использоваться команды FAIL_O, SUCCESS_O и DATA_READ_O. При этом применяется обычный антиколлизионный алгоритм, но в качестве идентификатора ID используются 32 или 64 бита данных пользователя, начиная с адреса памяти '14'.
Кроме указанного выше применения, команды GROUP_SELECT и GROUP_UNSELECT также могут применяться в сочетании с командами с постфиксом "_", использующими 32-битовый идентификатор. В этом случае команда GROUP_SELECT выбирает только те радиочастотные метки, у которых старшие 32 бита 64-битового идентификатора метки TID равны нулю, после чего проверяет, не осталось ли радиочастотных меток, у которых старшие 32 бита 64-битового идентификатора содержат не только нули.
Команды делятся на четыре функциональные группы:
- команды выбора;
- команды идентификации;
- команды передачи данных;
- многоцелевые команды.
Существуют следующие классы команд (см. таблицу 15):
- обязательные команды;
- дополнительные команды;
- команды пользователя;
- команды изготовителя.
Таблица 15
6.2.7.1 Общие сведения о классах команд
Все радиочастотные метки с одинаковым кодом изготовителя и номером версии интегральной микросхемы должны выполнять все команды одинаково.
6.2.7.2 Обязательные команды
Коды обязательных команд имеют значения от '00' до '0A', '0C', '15' и от '1E' до '3F'.
Обязательные команды должны поддерживать все радиочастотные метки, соответствующие настоящему стандарту.
Устройства опроса, соответствующие настоящему стандарту, также должны поддерживать все обязательные команды.
Обязательные команды должны применяться согласно настоящему стандарту.
6.2.7.3 Дополнительные команды
Коды дополнительных команд имеют значения '0B', от '0D' до '0F', от '11' до '13', от '17' до '1D' и от '40' до '9F'.
Дополнительные команды определены в настоящем стандарте. Технические возможности устройств опроса должны обеспечивать поддержку всех дополнительных команд (хотя практическая реализация указанных команд может не потребоваться). Радиочастотные метки могут поддерживать дополнительные команды, но это не является обязательным.
Если дополнительная команда используется, она должна соответствовать требованиям настоящего стандарта.
Если радиочастотная метка не поддерживает полученную дополнительную команду, она не должна передавать никаких ответных сообщений.
Примечание - Дополнительные команды с кодами '0B', '0D' - '13' и '17' - '1D' не являются необходимыми для функционирования радиочастотных меток. Но в целях улучшения рабочих характеристик рекомендуется, чтобы радиочастотные метки поддерживали команды, которые в таблице 16 указаны как "рекомендуемые".
6.2.7.4 Команды пользователя
Коды команд пользователя имеют значения от 'A0' до 'DF'.
Радиочастотные метки могут поддерживать команды пользователя, обеспечивая выполнение определенных изготовителем специфических функций. В команде пользователя можно оперировать только полями параметров и данных.
Все команды пользователя в качестве первого параметра содержат код изготовителя интегральных микросхем. Это позволяет изготовителям ИС вводить указанные команды без риска дублирования кодов других команд и исключает возможность их неправильной интерпретации. Команды пользователя являются допустимыми, но не определяются в настоящем стандарте.
Не допускается, чтобы команда пользователя каким-либо образом дублировала функциональные возможности обязательных или дополнительных команд, определенных в настоящем стандарте.
Если радиочастотная метка не поддерживает полученную команду пользователя, она не должна передавать никаких сообщений.
6.2.7.5 Команды изготовителя
Коды команд изготовителя имеют значения '10', '14', '16' и 'E0' - 'FF'.
Изготовители интегральных микросхем и радиочастотных меток применяют указанные команды для различных целей (например, испытаний, программирования системной информации и т.д.). Изготовитель интегральной микросхемы вправе решить, документировать указанные команды или нет. После изготовления микросхемы и/или радиочастотной метки указанные команды разрешается заблокировать.
Команды изготовителя являются допустимыми, но не определяются в настоящем стандарте. Не допускается, чтобы команда изготовителя каким-либо образом дублировала функциональные возможности обязательных или дополнительных команд, определенных в настоящем стандарте.
6.2.7.6 Коды и формат команд
6.2.7.6.1 Общие сведения о кодах и формате команд
Коды и формат команд приведены в таблице 16.
Таблица 16
6.2.7.6.2 Поля команд
Поля команд приведены в таблице 17.
Таблица 17
Поля команд
6.2.7.6.3 Ответы радиочастотной метки
Ответы радиочастотной метки приведены в таблице 18.
Таблица 18
Ответы радиочастотной метки
6.2.7.7 Команды выбора
6.2.7.7.1 Общие сведения о командах выбора
Команды выбора определяют подмножество радиочастотных меток, находящихся в рабочей области устройства опроса, для идентификации или записи, а также могут быть использованы в антиколлизионном алгоритме.
6.2.7.7.2 Сравнение данных для команд выбора по содержанию памяти
Команды выбора радиочастотных меток по содержанию памяти:
- GROUP_SELECT_EQ;
- GROUP_SELECT_NE;
- GROUP_SELECT_GT;
- GROUP_SELECT_LT;
- GROUP_UNSELECT_EQ;
- GROUP_UNSELECT_NE;
- GROUP_UNSELECT_GT;
- GROUP_UNSELECT_LT.
Каждая из перечисленных команд имеет три аргумента (параметр и данные):
- Адрес ADDRESS;
- Маска BYTE_MASK;
- Данные WORD_DATA.
Радиочастотная метка выполняет одно из 4 возможных сравнений:
- EQ - M EQUAL D (M равно D);
- NE - M NOT EQUAL D (M не равно D);
- GT - M GREATER THAN D (M больше D);
- LT - M LOWER THAN D (M меньше D).
Аргументы сравнения для радиочастотных меток приведены в таблице 19.
Таблица 19
Аргументы сравнения
M = M0 + M1 * 28 + M2 * 216 + M3 * 224 + M4 * 232 + M5 * 240 + M6 * 248 + M7 * 256.
Аргументы сравнения для команды приведены в таблице 20.
Таблица 20
Аргументы сравнения для команды
D = D0 + D1 * 28 + D2 * 216 + D3 * 224 + D4 * 232 + D5 * 240 + D6 * 248 + D7 * 256.
Маска BYTE_MASK, приведенная в таблице 21, определяет байты, участвующие в сравнении.
Таблица 21
Маска сравнения данных
для команд GROUP_SELECT и GROUP_UNSELECT
6.2.7.7.3 Сравнение данных для команд выбора по флагам
- Команды выбора радиочастотных меток по флагам:
- GROUP_SELECT_EQ_FLAGS;
- GROUP_SELECT_NE_FLAGS;
- GROUP_UNSELECT_EQ_FLAGS;
- GROUP_UNSELECT_NE_FLAGS.
Каждая из перечисленных команд имеет два аргумента (параметр и данные):
- Маска BYTE_MASK;
- Данные BYTE_DATA.
Радиочастотная метка выполняет два возможных сравнения:
- EQ - FLAGS EQUAL D (FLAGS равны D);
- NE - FLAGS NOT EQUAL D (FLAGS не равны D).
Аргументами сравнения является поле флагов FLAGS в соответствии с 6.2.1.3 и аргумент команды D, включающий биты с D7 (MSB) по D0 (LSB).
Маска BYTE_MASK, приведенная в таблице 22, определяет биты, участвующие в сравнении.
Таблица 22
Маска сравнения данных для команд GROUP_SELECT_FLAGS
и GROUP_UNSELECT_FLAGS
Примечание - В приведенных ниже формулах применяются следующие символы сравнения:
"=" - "РАВНО";
"!=" - "НЕ РАВНО";
"!" - логическое "НЕ" булевой алгебры.
Формула, описывающая функцию равенства EQUAL:
Сравнение EQUAL выполняется, если [!B7+(D7=FLAG7)] * [!B6+(D6=FLAG6)] * [!B5+(D5=FLAG5)] * [!B4+(D4=FLAG4)] * [!B3+(D3=FLAG3)] * [!B2+(D2=FLAG2)] * [!B1+(D1=FLAG1)] * [!B0+(D0=FLAG0)] верно.
Формула, описывающая функцию неравенства UNEQUAL:
Сравнение UNEQUAL выполняется, если B7*(D7!=FLAG7) + B6*(D6!=FLAG6) + B5*(D5!=FLAG5) + B4*(D4!=FLAG4) + B3*(D3!=FLAG3) + B2*(D2!=FLAG2) + B1*(D1!=FLAG1) + B0*(D0!=FLAG0) верно.
6.2.7.7.4 Команда GROUP_SELECT_EQ
Код команды '00'
При получении команды GROUP_SELECT_EQ (см. таблицу 23) радиочастотная метка, находящаяся в состоянии READY, должна прочитать 8 байт содержания памяти, начиная с указанного адреса ADDRESS, и сравнить его с аргументом WORD_DATA, переданным устройством опроса. Если считанные данные памяти равны данным WORD_DATA, радиочастотная метка должна обнулить свой счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 24), а затем перейти в состояние ID.
При получении команды GROUP_SELECT_EQ в состоянии ID радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его устройству опроса, оставшись в состоянии ID.
В остальных случаях радиочастотная метка не передает ответ.
Таблица 23
Таблица 24
Примечание - Если значение поля маски BYTE_MASK равно нулю, то по команде GROUP_SELECT_EQ будут выбраны все радиочастотные метки.
6.2.7.7.5 Команда GROUP_SELECT_NE
Код команды = '01'
При получении команды GROUP_SELECT_NE (см. таблицу 25) радиочастотная метка, находящаяся в состоянии READY, должна считать 8 байт содержания памяти, начиная с указанного адреса, и сравнить его с аргументом WORD_DATA, переданным устройством опроса. Если содержание памяти не равно данным WORD_DATA, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 26), а затем перейти в состояние ID.
При получении команды GROUP_SELECT_NE в состоянии ID радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его устройству опроса, оставшись в состоянии ID.
Во всех остальных случаях радиочастотная метка не передает ответ.
Таблица 25
Таблица 26
6.2.7.7.6 Команда GROUP_SELECT_GT
Код команды = '02'
При получении команды GROUP_SELECT_GT (см. таблицу 27) радиочастотная метка, находящаяся в состоянии READY, должна считать 8 байт содержания памяти, начиная с указанного адреса ADDRESS, и сравнить его с аргументом WORD_DATA, переданным устройством опроса. Если содержание памяти больше данных WORD_DATA, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 28), а затем перейти в состояние ID.
При получении команды GROUP_SELECT_GT в состоянии ID радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его устройству опроса, оставшись в состоянии ID.
Во всех остальных случаях радиочастотная метка не передает ответ.
Таблица 27
Таблица 28
6.2.7.7.7 Команда GROUP_SELECT_LT
Код команды = '03'
При получении команды GROUP_SELECT_LT (см. таблицу 29) радиочастотная метка, находящаяся в состоянии READY, должна прочитать 8 байт содержания памяти, начиная с указанного адреса ADDRESS, и сравнить его с аргументом WORD_DATA, переданным устройством опроса. Если содержание памяти меньше данных WORD_DATA, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 30), а затем перейти в состояние ID.
При получении команды GROUP_SELECT_LT в состоянии ID радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его устройству опроса, оставшись в состоянии ID.
Во всех остальных случаях радиочастотная метка не передает ответ.
Таблица 29
Таблица 30
6.2.7.7.8 Команда GROUP_UNSELECT_EQ
Код команды = '04'
При получении команды GROUP_UNSELECT_EQ (см. таблицу 31) радиочастотная метка, находящаяся в состоянии ID, должна прочитать 8 байт содержания памяти, начиная с указанного адреса ADDRESS, и сравнить его с аргументом WORD_DATA, переданным устройством опроса. Если содержание памяти равно данным WORD_DATA, радиочастотная метка должна перейти в состояние READY, не передавая ответ.
Если заданное сравнение не выполняется, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 32).
В остальных случаях радиочастотная метка не должна передавать ответ.
Таблица 31
Таблица 32
при отсутствии ошибки и невыполнении сравнения
Примечание - Если значение поля маски BYTE_MASK равно нулю, то по команде GROUP_UNSELECT_EQ будет отменен выбор всех радиочастотных меток.
6.2.7.7.9 Команда GROUP_UNSELECT_NE
Код команды = '05'
При получении команды GROUP_UNSELECT_NE (см. таблицу 33) радиочастотная метка, находящаяся в состоянии ID, должна считать 8 байт содержания памяти, начиная с указанного адреса ADDRESS, и сравнить его с аргументом WORD_DATA, переданным устройством опроса. Если содержание памяти не равно данным WORD_DATA, радиочастотная метка должна перейти в состояние READY, не передавая ответ.
Если заданное сравнение не выполняется, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 34).
В остальных случаях радиочастотная метка не передает ответ.
Таблица 33
Таблица 34
при отсутствии ошибки и невыполнении сравнения
6.2.7.7.10 Команда GROUP_UNSELECT_GT
Код команды = '06'
При получении команды GROUP_UNSELECT_GT (см. таблицу 35) радиочастотная метка, находящаяся в состоянии ID, должна считать 8 байт содержания памяти, начиная с указанного адреса ADDRESS, и сравнить его с аргументом WORD_DATA, переданным устройством опроса. Если содержание памяти больше данных WORD_DATA, радиочастотная метка должна перейти в состояние READY и не передавать ответ.
Если заданное сравнение не выполняется, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 36).
В остальных случаях радиочастотная метка не должна передавать ответ.
Таблица 35
Таблица 36
при отсутствии ошибки и невыполнении сравнения
6.2.7.7.11 Команда GROUP_UNSELECT_LT
Код команды = '07'
При получении команды GROUP_UNSELECT_LT (см. таблицу 37) радиочастотная метка, находящаяся в состоянии ID, должна считать 8 байт содержания памяти, начиная с указанного адреса ADDRESS, и сравнить его с аргументом WORD_DATA, переданным устройством опроса. Если содержание памяти меньше данных WORD_DATA, радиочастотная метка должна перейти в состояние READY и не передавать ответ.
Если заданное сравнение не выполняется, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 38).
В остальных случаях радиочастотная метка не должна передавать ответ.
Таблица 37
Таблица 38
при отсутствии ошибки и невыполнении сравнения
6.2.7.7.12 Команда MULTIPLE_UNSELECT
Код команды = '13'
При получении команды MULTIPLE_UNSELECT (см. таблицу 39) радиочастотная метка, находящаяся в состоянии ID, должна прочитать 1 байт содержания памяти, начиная с указанного адреса ADDRESS, и сравнить его с аргументом BYTE_DATA, переданным устройством опроса. Если содержание памяти равно данным BYTE_DATA и флаг WRITE_OK установлен, радиочастотная метка должна перейти в состояние READY и не передавать ответ. Если указанные условия не выполняются, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 40).
В остальных случаях радиочастотная метка не передает ответ.
Таблица 39
Таблица 40
WRITE_OK и/или при невыполнении сравнения
Данная команда может использоваться для отмены выбора всех радиочастотных меток, успешно осуществивших запись. Радиочастотные метки, неудачно выполнившие запись или имеющие проблемы при записи, остаются выбранными.
6.2.7.7.13 Команда GROUP_SELECT_EQ_FLAGS
Код команды = '17'
При получении команды GROUP_SELECT_EQ_FLAGS (см. таблицу 41) радиочастотная метка, находящаяся в состоянии READY, должна сравнить данные поля флагов FLAGS с аргументом BYTE_DATA, переданным устройством опроса. Если флаги FLAGS равны переданным данным BYTE_DATA, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 42), а затем перейти в состояние ID.
При получении команды GROUP_SELECT_EQ_FLAGS радиочастотная метка, находящаяся в состоянии ID, должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса, оставшись в состоянии ID.
В остальных случаях радиочастотная метка не должна передавать ответ.
Таблица 41
Таблица 42
Примечание - Если значение в поле маски BYTE_MASK равно нулю, то по команде GROUP_SELECT_EQ_FLAGS будут выбраны все радиочастотные метки.
6.2.7.7.14 Команда GROUP_SELECT_NE_FLAGS
Код команды = '18'
При получении команды GROUP_SELECT_NE_FLAGS (см. таблицу 43) радиочастотная метка, находящаяся в состоянии READY, должна сравнить данные поля флагов FLAGS с аргументом BYTE_DATA, переданным устройством опроса. Если флаги FLAGS не равны переданным данным BYTE_DATA, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 44), а затем перейти в состояние ID.
При получении команды GROUP_SELECT_NE_FLAGS радиочастотная метка, находящаяся в состоянии ID, должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса, оставшись в состоянии ID.
В остальных случаях радиочастотная метка не передает ответ.
Таблица 43
Таблица 44
6.2.7.7.15 Команда GROUP_UNSELECT_EQ_FLAGS
Код команды = '19'
При получении команды GROUP_UNSELECT_EQ_FLAGS (см. таблицу 45) радиочастотная метка, находящаяся в состоянии ID, должна сравнить данные поля флагов FLAGS с аргументом BYTE_DATA, переданным устройством опроса. Если флаги FLAGS равны переданным данным BYTE_DATA, радиочастотная метка должна перейти в состояние READY и не передавать ответ.
Если заданное сравнение не выполняется, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 46).
В остальных случаях радиочастотная метка не должна передавать ответ.
Таблица 45
Таблица 46
ошибки и невыполнении сравнения
Примечание - Если значение в поле маски BYTE_MASK равно нулю, то по команде GROUP_UNSELECT_EQ_FLAGS выбор всех радиочастотных меток будет отменен.
6.2.7.7.16 Команда GROUP_UNSELECT_NE_FLAGS
Код команды = '1A'
При получении команды GROUP_UNSELECT_NE_FLAGS (см. таблицу 47) радиочастотная метка, находящаяся в состоянии ID, должна сравнить данные поля флагов FLAGS с аргументом BYTE_DATA, переданным устройством опроса. Если флаги FLAGS не равны переданным данным BYTE_DATA, радиочастотная метка должна перейти в состояние READY и не передавать ответ.
Если заданное сравнение не выполняется, радиочастотная метка должна обнулить свой внутренний счетчик COUNT, считать свой идентификатор TID и передать его в ответе устройству опроса (см. таблицу 48).
В остальных случаях радиочастотная метка не должна передавать ответ.
Таблица 47
Таблица 48
при отсутствии ошибки и невыполнении сравнения
6.2.7.8 Команды идентификации
6.2.7.8.1 Общие сведения о командах идентификации
Данные команды служат для выполнения процедуры идентификации множества радиочастотных меток.
6.2.7.8.2 Команда FAIL
Код команды = '08'
В алгоритме идентификации используется команда FAIL, когда одновременно несколько радиочастотных меток передают ответы в процессе их идентификации. По данной команде часть радиочастотных меток прекращает передачу, другие - осуществляют передачу повторно.
Радиочастотная метка должна выполнять команду FAIL, указанную в таблице 49, только в состоянии ID. Если ее внутренний счетчик COUNT отличен от нуля или результатом генерации случайного числа является '1', значение счетчика COUNT увеличивается на '1' до тех пор, пока не достигнет значения FF. При достижении значения FF для последующих команд FAIL значение счетчика остается неизменным.
Если значение счетчика COUNT оказалось равным '0', то радиочастотная метка считывает свой идентификатор TID и передает его в ответе (см. таблицу 50).
Таблица 49
Таблица 50
равно нулю
6.2.7.8.3 Команда SUCCESS
Код команды = '09'
Команда SUCCESS инициирует идентификацию следующей группы радиочастотных меток и применяется в двух случаях:
- при невыполнении передачи радиочастотными метками, получившими команду FAIL, заставляя их повторно осуществить передачу;
- после перехода идентифицированной радиочастотной метки в состояние DATA_EXCHANGE по команде DATA_READ, заставляя оставшуюся подгруппу выбранных, но не идентифицированных радиочастотных меток осуществить передачу.
Радиочастотная метка должна выполнять команду SUCCESS, указанную в таблице 51, только находясь в состоянии ID. Если значение внутреннего счетчика COUNT радиочастотной метки отлично от нуля, оно должно уменьшиться на '1'.
Если полученное значение COUNT оказалось равным '0', радиочастотная метка должна считать свой идентификатор TID и передать его в ответе (см. таблицу 52).
Таблица 51
Таблица 52
равно нулю
6.2.7.8.4 Команда RESEND
Код команды = '15'
Алгоритм идентификации использует команду RESEND, если передачу осуществляет только одна радиочастотная метка, идентификатор TID которой был принят с ошибкой. По данной команде радиочастотная метка передает свой идентификатор TID повторно.
Радиочастотная метка должна принимать команду RESEND, указанную в таблице 53, только находясь в состоянии ID. Если значение счетчика COUNT равно нулю, радиочастотная метка должна считать свой идентификатор TID и передать его в ответе (см. таблицу 54).
Таблица 53
Команда RESEND
Таблица 54
равно нулю
6.2.7.8.5 Команда INITIALIZE
Код команды = '0A'
При получении команды INITIALIZE, указанной в таблице 55, радиочастотная метка переходит в состояние READY и обнуляет бит Data_Exchange_Status_Bit.
Радиочастотная метка не передает ответ.
Таблица 55
Команда INITIALIZE
6.2.7.8.6 Команда FAIL_O
Код команды = '40' или '41'
Алгоритм идентификации использует команду FAIL_O, когда одновременно несколько радиочастотных меток передают свои ответы. По данной команде часть радиочастотных меток прекращает передачу, другие - осуществляют передачу повторно.
Радиочастотная метка должна выполнять команду FAIL_O, указанную в таблице 56, только находясь в состоянии ID. Если ее внутренний счетчик COUNT отличен от нуля или результатом генерации случайного числа является '1', значение счетчика COUNT увеличивается на '1' до тех пор, пока не достигнет FF.
Если после генерации случайного числа значение счетчика COUNT оказалось равным '0', то радиочастотная метка считывает данные из памяти, начиная с адреса '14', и передает в ответе или 32 бита (для кода команды '40'), или 64 бита (для кода команды '41') согласно таблице 57.
Таблица 56
Таблица 57
равно нулю
6.2.7.8.7 Команда SUCCESS_O
Код команды = '42' или '43'
Команда SUCCESS_O инициирует идентификацию следующей группы радиочастотных меток и применяется в двух случаях:
- при отсутствии передачи данных от радиочастотных меток, получивших команду FAIL_O, заставляя их повторно осуществить передачу;
- после перехода идентифицированной радиочастотной метки в состояние DATA_EXCHANGE по команде DATA_READ_O, заставляя осуществить передачу оставшуюся подгруппу выбранных, но не идентифицированных радиочастотных меток.
Радиочастотная метка должна выполнять команду SUCCESS_O, указанную в таблице 58, только находясь в состоянии ID. Если значение внутреннего счетчика COUNT радиочастотной метки отлично от нуля, оно должно уменьшиться на '1'.
Если полученное значение COUNT оказалось равным '0', радиочастотная метка считывает данные из памяти, начиная с адреса '14', и передает в ответе или 32 бита (для кода команды '42'), или 64 бита (для кода команды '43') согласно таблице 59.
Таблица 58
Таблица 59
равно нулю
6.2.7.8.8 Команда RESEND_O
Код команды = '46' или '47'
Алгоритм идентификации использует команду RESEND_O, если передачу осуществляет только одна радиочастотная метка, идентификатор TID которой был принят с ошибкой. По данной команде радиочастотная метка повторно передает свой идентификатор TID.
Радиочастотная метка должна принимать команду RESEND_O, указанную в таблице 60, только находясь в состоянии ID. Если значение ее счетчика COUNT равно нулю, радиочастотная метка считывает данные из памяти, начиная с адреса '10', и передает в ответе или 32 бита (для кода команды '46'), или 64 бита (для кода команды '47') согласно таблице 61.
Таблица 60
Команда RESEND_O
Таблица 61
равно нулю
6.2.7.9 Команды передачи данных
6.2.7.9.1 Общие сведения о командах передачи данных
Команды передачи данных применяют для записи или считывания данных, хранящихся в памяти радиочастотной метки.
Для выполнения операций по блокировке памяти радиочастотная метка должна установить возможность блокировки по указанному адресу ADDRESS. Установку возможности блокировки по адресу ADDRESS осуществляют приведенные ниже команды, но только в том случае, если радиочастотная метка не пребывала до этого в состоянии POWER-OFF. При этом в течение операции может быть установлена возможность блокировки только по одному адресу.
6.2.7.9.2 Команда READ
Код команды = '0C'
При получении команды READ (см. таблицу 62) радиочастотная метка сравнивает переданный устройством опроса идентификатор ID со своим идентификатором TID. Если идентификаторы ID и TID совпадают, радиочастотная метка из любого состояния должна перейти в состояние DATA_EXCHANGE, считать 8 байт памяти, начиная с указанного адреса ADDRESS, и передать считанные данные в ответе (см. таблицу 63). Затем радиочастотная метка должна установить возможность блокировки байта по указанному адресу ADDRESS. Если идентификаторы ID и TID не совпадают или возникли другие ошибки, радиочастотная метка не должна передавать ответ.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 62
Таблица 63
6.2.7.9.3 Команда DATA_READ
Код команды = '0B'
При получении команды DATA_READ (см. таблицу 64) радиочастотная метка, находящаяся в состоянии ID или DATA_EXCHANGE, сравнивает переданный устройством опроса идентификатор ID со своим идентификатором TID. Если идентификаторы ID и TID совпадают, радиочастотная метка из любого состояния, кроме READY, должна перейти в состояние DATA_EXCHANGE, считать 8 байт памяти, начиная с указанного адреса ADDRESS, и передать считанные данные в ответе (см. таблицу 65). Затем радиочастотная метка должна установить возможность блокировки байта по указанному адресу ADDRESS. Если радиочастотная метка находится в состоянии READY, или идентификаторы ID и TID не совпадают, или возникли другие ошибки, она не должна передавать ответ.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 64
Таблица 65
6.2.7.9.4 Команда DATA_READ_O
Код команды = '44' или '45'
При получении команды DATA_READ_O (см. таблицу 66) радиочастотная метка, находящаяся в состоянии ID или DATA_EXCHANGE, сравнивает переданные устройством опроса данные DATA с содержанием памяти, начинающимся с адреса '14'. Объем сравниваемых данных зависит от кода команды. Если код полученной команды '44', радиочастотная метка логически сравнивает 32 бита. Если код команды '45', радиочастотная метка логически сравнивает 64 бита. Если строки данных (состоящие из 32 или 64 бит) равны, то радиочастотная метка из любого состояния, кроме READY, должна перейти в состояние DATA_EXCHANGE, считать 8 байт памяти по указанному адресу ADDRESS и передать считанные данные в ответе (см. таблицу 67). Затем радиочастотная метка должна установить возможность блокировки байта по указанному адресу ADDRESS. Если радиочастотная метка находится в состоянии READY, или строки данных оказались не равны, или возникли другие ошибки, она не должна передавать ответ.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 66
Таблица 67
6.2.7.9.5 Команда READ_FLAGS
Код команды = '50'
При получении команды READ_FLAGS (см. таблицу 68) радиочастотная метка должна сравнить переданный устройством опроса идентификатор ID со своим идентификатором TID. Если идентификаторы ID и TID совпадают, радиочастотная метка из любого состояния должна перейти в состояние DATA_EXCHANGE, считать содержание поля флагов FLAGS (данные BYTE_DATA) и передать его в ответе (см. таблицу 69). Если идентификаторы ID и TID не совпадают или возникла другая ошибка, радиочастотная метка не передает ответ.
Таблица 68
Команда READ_FLAGS
Таблица 69
6.2.7.9.6 Команда READ_VARIABLE
Код команды = '51'
При получении команды READ_VARIABLE (см. таблицу 70) радиочастотная метка должна сравнить переданный устройством опроса идентификатор ID со своим идентификатором TID. Если они совпадают, радиочастотная метка из любого состояния должна перейти в состояние DATA_EXCHANGE, считать содержание памяти указанной длины LENGTH, начиная с указанного адреса ADDRESS, и передать считанные данные в ответе (см. таблицу 71). Если идентификаторы ID и TID не совпадают или возникла другая ошибка, радиочастотная метка не должна передавать ответ.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Длина LENGTH может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 70
Таблица 71
6.2.7.9.7 Команда READ_PORT
Код команды = '52'
При получении команды READ_PORT (см. таблицу 72) радиочастотная метка должна сравнить переданный устройством опроса идентификатор ID со своим идентификатором TID. Если они совпадают, радиочастотная метка из любого состояния должна перейти в состояние DATA_EXCHANGE, считать 8 бит памяти, начиная с указанного адреса порта ADDRESS, и передать считанные данные в ответе (см. таблицу 73). Если идентификаторы ID и TID не совпадают или возникла другая ошибка, радиочастотная метка не передает ответ.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении) <1>.
--------------------------------
<1> В оригинале ИСО/МЭК 18000-62 для данной команды кроме значений параметра ADDRESS ошибочно определены значения параметра LENGTH.
Таблица 72
Таблица 73
При выборе порта '0' должны считываться флаги, указанные в 6.2.1.3 и таблице 12.
Порты '1', '2', ... 'FF' зарезервированы для использования в будущем.
6.2.7.9.8 Команда READ_UNADDRESSED
Код команды = '53'
При получении команды READ_UNADDRESSED (см. таблицу 74) радиочастотная метка из любого состояния должна перейти в состояние DATA_EXCHANGE, считать 16 байт памяти, начиная с указанного адреса ADDRESS, и передать его в ответе (см. таблицу 75).
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 74
Команда READ_UNADDRESSED
Таблица 75
6.2.7.9.9 Команда READ_VERIFY
Код команды = '12'
При получении команды READ_VERIFY (см. таблицу 76) радиочастотная метка должна сравнить переданный устройством опроса идентификатор ID со своим идентификатором TID. Если они совпадают и флаг WRITE_OK установлен, радиочастотная метка из любого состояния должна перейти в состояние DATA_EXCHANGE, считать 1 байт памяти по указанному адресу ADDRESS и передать считанные данные в ответе (см. таблицу 77). Затем радиочастотная метка должна установить возможность блокировки байта по указанному адресу ADDRESS. Если идентификаторы ID и TID не совпадают, или флаг WRITE_OK не установлен, или возникли другие ошибки, радиочастотная метка не передает ответ.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 76
Таблица 77
6.2.7.9.10 Команда READ_VERIFY_4BYTE
Код команды = '1D'
При получении команды READ_VERIFY_4BYTE (см. таблицу 78) радиочастотная метка должна сравнить переданный устройством опроса идентификатор ID со своим идентификатором TID. Если они совпадают и флаг WRITE_OK установлен, радиочастотная метка из любого состояния должна перейти в состояние DATA_EXCHANGE, считать 4 байта памяти, начиная с указанного адреса ADDRESS, и передать считанные данные в ответе (см. таблицу 79). Затем радиочастотная метка должна установить возможность блокировки байта по указанному адресу ADDRESS. Байты с адресами ADDRESS + 1, ADDRESS + 2 и ADDRESS + 3 не должны быть отмечены для блокировки.
Если идентификатор ID не совпадает с идентификатором TID радиочастотной метки, или флаг WRITE_OK не установлен, или возникли другие ошибки, радиочастотная метка не передает ответ.
Поле маски BYTE_MASK команды:
адресу каждого байта памяти соответствует бит маски BYTE_MASK, определяющий его считывание <1>;
[ADDR+0] - B7;
[ADDR+1] - B6;
[ADDR+2] - B5;
[ADDR+3] - B4.
--------------------------------
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 78
Таблица 79
Код команды = '0D'
При получении команды WRITE (см. таблицу 80) радиочастотная метка должна сравнить переданный устройством опроса идентификатор ID со своим идентификатором TID. Если они совпадают, радиочастотная метка из любого состояния должна перейти в состояние DATA_EXCHANGE и считать информацию о состоянии блокировки памяти по указанному адресу ADDRESS. Если память заблокирована, радиочастотная метка отправляет сообщение об ошибке ERROR (см. таблицу 82), отмечая при этом возможность блокировки байта по указанному адресу ADDRESS. Если память не заблокирована, радиочастотная метка должна передать в ответе подтверждение ACKNOWLEDGE (см. таблицу 81) и записать данные в память по указанному адресу ADDRESS. В остальных случаях радиочастотная метка не должна передавать ответ.
Если запись выполнена успешно, радиочастотная метка устанавливает флаг WRITE_OK. В противном случае бит данного флага должен быть обнулен.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 80
Таблица 81
Таблица 82
6.2.7.9.12 Команда WRITE4BYTE
Код команды = '1B'
При получении команды WRITE4BYTE (см. таблицу 83) радиочастотная метка должна сравнить переданный устройством опроса идентификатор ID со своим идентификатором TID. Если идентификатор ID совпадает с идентификатором TID, радиочастотная метка из любого состояния должна перейти в состояние DATA_EXCHANGE и считать информацию о состоянии блокировки 4 байт памяти, начиная с указанного адреса ADDRESS. Если хотя бы один байт заблокирован, радиочастотная метка отправляет в ответе сообщение об ошибке ERROR (см. таблицу 85). Если ни один байт не заблокирован, радиочастотная метка передает в ответе подтверждение ACKNOWLEDGE (см. таблицу 84) и записывает данные DATA по указанному адресу ADDRESS. В остальных случаях радиочастотная метка не должна передавать ответ.
Таблица 83
Команда WRITE4BYTE
Таблица 84
Таблица 85
Выполняя команду WRITE4BYTE, радиочастотная метка должна записывать данные только в те байты, которые выбраны с помощью маски BYTE_MASK, следовательно, запись может быть осуществлена в байты с 1 по 4 (в соответствии с установленными битами маски BYTE_MASK).
Если запись выполнена успешно, радиочастотная метка должна установить флаг WRITE_OK. В противном случае бит указанного флага должен быть обнулен.
Поле маски BYTE_MASK команды:
адресу каждого байта памяти соответствует бит маски BYTE_MASK, определяющий его запись;
[ADDR+0] - B7;
[ADDR+1] - B6;
[ADDR+2] - B5;
[ADDR+3] - B4.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Начальный адрес для команды WRITE4BYTE должен совпадать с началом 4-байтовой страницы памяти.
6.2.7.9.13 Команда LOCK
Код команды = '0F'
При получении команды LOCK (см. таблицу 86) радиочастотная метка, находящаяся в состоянии DATA_EXCHANGE, должна считать свой идентификатор TID и сравнить его с идентификатором ID, переданным устройством опроса. Если идентификаторы ID и TID совпадают, значение адреса ADDRESS находится в диапазоне действительных адресов и для байта с указанным адресом ADDRESS установлена возможность блокировки, радиочастотная метка должна передать в ответе подтверждение ACKNOWLEDGE (см. таблицу 87) и установить бит блокировки по указанному адресу ADDRESS.
Таблица 86
Команда LOCK
Таблица 87
Если значение адреса ADDRESS находится за пределами диапазона действительных адресов или для байта по указанному адресу ADDRESS не установлена возможность блокировки, радиочастотная метка должна передать в ответе ACKNOWLEDGE_NOK (см. таблицу 88).
Таблица 88
Ответ LOCK при невозможности блокировки
--------------------------------
В остальных случаях радиочастотная метка не должна передавать ответ.
Если запись выполнена успешно, радиочастотная метка должна установить флаг WRITE_OK. В противном случае бит данного флага должен быть обнулен.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
6.2.7.9.14 Команда QUERY_LOCK
Код команды = '11'
При получении команды QUERY_LOCK радиочастотная метка должна считать свой идентификатор TID и сравнить его с идентификатором ID, переданным устройством опроса. Если идентификаторы TID и ID совпадают и значение адреса ADDRESS находится в диапазоне действительных адресов, радиочастотная метка должна перейти в состояние DATA_EXCHANGE. Затем радиочастотная метка должна считать бит блокировки для байта памяти по указанному адресу ADDRESS. Если указанный байт не заблокирован, радиочастотная метка должна передать в ответе или ACKNOWLEDGE_OK при установленном флаге WRITE_OK, или ACKNOWLEDGE_NOK, если флаг WRITE_OK обнулен. Если указанный байт заблокирован, радиочастотная метка передает в ответе или ERROR_OK при установленном флаге WRITE_OK, или ERROR_NOK, если флаг WRITE_OK обнулен. Далее для незаблокированного байта по указанному адресу ADDRESS метка устанавливает возможность блокировки.
В остальных случаях радиочастотная метка не передает ответ.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 89
Команда QUERY_LOCK
Таблица 90
Ответ на команду QUERY_LOCK, если память не заблокирована
и флаг WRITE_OK установлен
Таблица 91
Ответ на команду QUERY_LOCK, если память не заблокирована
и флаг WRITE_OK обнулен
Таблица 92
Ответ на команду QUERY_LOCK, если память заблокирована
и флаг WRITE_OK установлен
Таблица 93
Ответ на команду QUERY_LOCK, если память заблокирована
и флаг WRITE_OK обнулен
6.2.7.9.15 Команда WRITE_MULTIPLE
Код команды = '0E'
Команда WRITE_MULTIPLE служит для записи и проверки множества радиочастотных меток одновременно.
При получении команды WRITE_MULTIPLE радиочастотная метка, находящаяся в состоянии ID или DATA_EXCHANGE, должна считать информацию о блокировке байта памяти по указанному в команде адресу ADDRESS. Если память заблокирована, радиочастотная метка не должна выполнять никаких действий. Если память не заблокирована, радиочастотная метка записывает данные в память по указанному адресу.
Если запись выполнена успешно, радиочастотная метка устанавливает флаг WRITE_OK. В противном случае бит данного флага должен быть обнулен.
Затем радиочастотная метка должна установить возможность блокировки байта по указанному адресу ADDRESS.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Таблица 94
Команда WRITE_MULTIPLE
6.2.7.9.16 Команда WRITE4BYTE_MULTIPLE
Код команды = '1C'
Команды WRITE_MULTIPLE служат для записи и проверки множества радиочастотных меток одновременно.
При получении команды WRITE4BYTE_MULTIPLE (см. таблицу 95) радиочастотная метка, находясь в состоянии ID или DATA_EXCHANGE, должна считать информацию о состоянии блокировки 4 байт памяти, начиная с указанного адреса. Если хотя бы один из 4 байт заблокирован, радиочастотная метка не должна выполнять никаких действий. Если ни один из 4 байт не заблокирован, радиочастотная метка записывает данные DATA в память по указанному адресу.
Таблица 95
Команда WRITE4BYTE_MULTIPLE
Выполняя команду WRITE4BYTE, радиочастотная метка должна записывать данные только в те байты, которые выбраны с помощью маски BYTE_MASK, следовательно, запись может быть осуществлена в байты с 1 по 4 (в соответствии с установленными битами маски BYTE_MASK).
Если запись выполнена успешно, радиочастотная метка устанавливает флаг WRITE_OK. В противном случае бит данного флага должен быть обнулен.
Поле маски BYTE_MASK команды устанавливает соответствие:
адрес - бит BYTE_MASK, определяющий запись в данный адрес, а именно:
[ADDR+0] - B7;
[ADDR+1] - B6;
[ADDR+2] - B5;
[ADDR+3] - B4.
Адрес ADDRESS может иметь значение от '00' до 'FF' в шестнадцатеричном представлении (от 0 до 255 в десятеричном представлении).
Начальный адрес для команды WRITE4BYTE должен совпадать с началом 4-байтовой страницы.
6.2.7.10 Описание ответов (в антиколлизионном алгоритме типа бинарного дерева)
6.2.7.10.1 Ответ 'ACKNOWLEDGE'
Ответ 'ACKNOWLEDGE' подтверждает успешное выполнение команды WRITE или LOCK.
6.2.7.10.2 Ответ 'ERROR'
Ответ 'ERROR' указывает на ошибку при выполнении команды WRITE (например, при попытке записи в заблокированную область памяти).
6.2.7.10.3 Ответ 'ACKNOWLEDGE_OK'
Ответ 'ACKNOWLEDGE_OK' на команду QUERY_LOCK подтверждает, что байт по указанному адресу памяти не заблокирован и команда записи успешно выполнена.
6.2.7.10.4 Ответ 'ACKNOWLEDGE_NOK'
Ответ 'ACKNOWLEDGE_NOK' на команду QUERY_LOCK подтверждает, что байт по указанному адресу памяти не заблокирован, но команда записи не выполнена.
6.2.7.10.5 Ответ 'ERROR_OK'
Ответ 'ERROR_OK' на команду QUERY_LOCK означает, что байт по указанному адресу памяти заблокирован, команда записи успешно выполнена.
6.2.7.10.6 Ответ 'ERROR_NOK'
Ответ 'ERROR_NOK' на команду QUERY_LOCK означает, что байт по указанному адресу памяти заблокирован, команда записи не выполнена.
6.2.7.10.7 Ответ 'Данные WORD_DATA'
'Данные WORD_DATA' - это 8 байт, передаваемые в ответ на команды READ, DATA_READ и DATA_READ_O.
6.2.7.10.8 Ответ 'Данные BYTE_DATA'
'Данные BYTE_DATA' - это 1 байт, передаваемый в ответ на команды READ_VERIFY и READ_PORT.
6.2.7.10.9 'Данные 4BYTE_DATA'
'Данные 4BYTE_DATA' - это 4 байта данных, которые используются как аргумент в командах WRITE4BYTE, WRITE4BYTE_MULTIPLE или в ответе на команду READ_VERIFY4BYTE.
Существует два типа ошибок передачи: ошибки кодирования (обнаруживаются побитово) и ошибки кода CRC (обнаруживаются покомандно). Оба типа ошибок вызывают прерывание выполнения команды, при этом радиочастотные метки не передают ответ.
При обнаружении ошибок в коде CRC радиочастотная метка возвращается в состояние READY.
При обнаружении ошибок кодирования радиочастотная метка возвращается в состояние READY, если обнаружен действительный начальный разделитель. В противном случае радиочастотная метка сохраняет текущее состояние.
(справочное)
Пример схемы кодирования/декодирования кода CRC-16 приведен на рисунке A.1. Алгоритм использует полином и начальное значение, определенное в таблице A.1 (полином для вычисления кода CRC-16, x16 + x12 + x5 + 1, соответствует стандарту CRC-CCITT, ITU Recommendation X.25).
Таблица A.1
![]() Для вычисления значения кода CRC-16 необходимо загрузить CRC-регистр Q[15:0] начальным значением FFFFh (при этом Q15 содержит старший бит, а Q0 - младший), а затем на вход, обозначенный "данные", нужно подать синхронизованную битовую последовательность данных, которые требуется закодировать, начиная со старшего бита (MSB). После последнего такта ввода данных в регистре Q[15:0] получится двоичное дополнение кода CRC-16. Инверсия битов позволяет вычислить значение кода CRC-16.
Существуют два метода контроля данных кодом CRC-16:
Метод 1: В CRC-регистр Q[15:0] загружается начальное значение FFFFh, затем на вход "данные" подается синхронизованная битовая последовательность полученных данных и кода CRC-16, начиная со старшего бита. Контроль кодом CRC-16 считается выполненным успешно, если в регистре оказалось значение Q[15:0] = 1D0Fh.
Метод 2: В CRC-регистр Q[15:0] загружается начальное значение FFFFh, затем на вход "данные" подается синхронизованная битовая последовательность полученных данных, начиная со старшего бита. Все полученные биты кода CRC-16 вместе с данными инвертируются и также подаются на вход "данные", начиная со старшего бита. Контроль кодом CRC-16 считается выполненным успешно, если в регистре оказалось значение Q[15:0] = 0000h.
Пример 1: Ниже показаны:
(a) - вычисление кода CRC, который использует устройство опроса типа B при передаче радиочастотной метке команды SUCCESS (код 09h);
(b) - выполнение радиочастотной меткой контроля данных полученной команды. Устройство опроса передает пакет данных, указанный в таблице A.2, но код CRC-16 вычисляется только для кода команды SUCCESS (09h).
Таблица A.2
Вычисление кода CRC-16: в таблице A.3 указаны значения 16 бит CRC-регистра при побитовом введении в него кода команды 09h. Биты кода CRC-16, которые передает УСО в команде, инвертированы по отношению к результату шага 8 таблицы A.3, т.е. радиочастотной метке передается значение 8F26h.
Таблица A.3
Значения регистра Q[15:0] для команды SUCCESS
(см. таблицу A.2)
Контроль кодом CRC-16: как указано в таблице A.1, радиочастотная метка может выбрать один из двух методов проверки полученной команды кодом CRC-16. В таблице A.4 показан первый метод, при котором радиочастотная метка подает на вход "данные" CRC-регистра синхронизированную битовую последовательность полученных данных и кода CRC-16 {data, CRC-16}, начиная со старшего бита. Конечное значение CRC-регистра Q[15:0] должно быть равно 1D0Fh. На шаге 0 таблицы A.4 предполагается, что CRC-регистр предварительно загружен значением FFFFh, данные введены в регистр, после чего его значение оказалось Q[15:0]=70D9h перед вводом кода CRC-16. Таблица A.4 показывает значения 16 бит CRC-регистра (см. рисунок A.1) при побитовом вводе кода CRC-16 в регистр.
Таблица A.4
Первый метод контроля кодом CRC-16 для последовательности
бит {код команды SUCCESS, код CRC-16}
В таблице A.5 показан второй метод контроля кодом CRC-16, при котором радиочастотная метка подает на вход "данные" CRC-регистра синхронизированную битовую последовательность полученных данных, начиная со старшего бита. Затем радиочастотная метка инвертирует все биты полученного кода CRC-16, подает их на вход "данные" и проверяет конечное значение регистра Q[15:0], которое должно быть равно 0000h. На шаге 0 таблицы A.5 предполагается, что CRC-регистр предварительно загружен значением FFFFh, данные введены в регистр, после чего его значение оказалось Q[15:0]=70D9h перед вводом инвертированного кода CRC-16. Таблица A.5 показывает значения 16 бит CRC-регистра (см. рисунок A.1) при побитовом вводе в регистр инвертированного кода CRC-16.
Таблица A.5
Второй метод контроля кодом CRC-16 для последовательности
бит {код команды SUCCESS, инвертированный код CRC-16}
(обязательное)
Серийный номер радиочастотной метки должен соответствовать либо B.1.2 и таблице B.1, либо B.1.3.
Различие состоит в первых битах байта 0 уникального идентификатора, которыми согласно B.1.2 являются '111' и согласно B.1.3 - '000'.
B.1.2.1 Общие сведения о формате уникального идентификатора TID
Таблица B.1
B.1.2.2 'E0' (байт 0)
E0 представляет собой биты заголовка (header) уникального идентификатора, за которым следует код изготовителя интегральной микросхемы согласно ИСО/МЭК 7816-6.
B.1.2.3 Код изготовителя ИС по ИСО/МЭК 7816-6 (байт 1)
8-битовый код изготовителя интегральной микросхемы по ИСО/МЭК 7816-6.
B.1.2.4 Биты, присвоенные изготовителем ИС (байты 2 - 7)
Существует 48-битовое поле, содержание которого определяет и устанавливает изготовитель интегральной микросхемы радиочастотной метки. Различным изготовителям ИС присвоены различные коды (приведены ниже), что устраняет возможность дублирования данных, используемых в антиколлизионном алгоритме (идентификаторы UID радиочастотной метки). Система нумерации, применяемая изготовителем ИС, должна гарантировать уникальность и однозначность номера, который блокируется от изменения до начала эксплуатации радиочастотной метки. Максимальное значение указанного поля равно 248 - 1.
Ответственность за обеспечение уникальности и блокировку уникального номера несет изготовитель ИС.
В таблице B.2 указаны байты 0 - 7 серийного номера радиочастотной метки.
Таблица B.2
Компоновка серийного номера радиочастотной метки
(байты 0 - 7)
B.1.4.1 Идентификатор изготовителя (байты 8, 9)
Два байта, указанные в таблице B.3, зарезервированы для кодирования идентификатора изготовителя радиочастотной метки для обеспечения соответствия стандартам, разрабатываемым в области радиочастотной идентификации. Указанное поле предполагается заполнять приведенными в таблице кодами в зависимости от изготовителя радиочастотной метки.
Таблица B.3
Коды изготовителя
B.1.4.2 Тип аппаратного обеспечения радиочастотной метки (байты 10, 11)
Конфигурация аппаратного обеспечения радиочастотной метки представлена 2-байтовым шестнадцатеричным номером. Такие номера должны быть различны для каждого типа аппаратного обеспечения, изменяющего конструкцию радиочастотной метки, а следовательно, влияющего на ее функции. При этом не учитывают различия в упаковке радиочастотной метки, ее цвет и даже различия в рабочей частоте радиочастотной метки. Это поле служит для определения различий команд или структуры команд, размера блока или объема данных. Его можно использовать также для определения протоколов данных или дополнительных возможностей, например, как звуковой или визуальный индикатор.
B.1.4.3 Встроенный код применения (байт 12)
B.1.4.3.1 Общие сведения о встроенном коде применения
Эго высший уровень структуры памяти радиочастотной метки. Данное поле вместе с распределением памяти радиочастотной метки позволяет для конкретного применения определить формат и содержание пользовательских данных. Это поле может быть использовано для представления различных форматов данных в памяти радиочастотной метки.
Существующие шестнадцатеричные представления встроенного кода применения указаны в таблице B.4.
Таблица B.4
Встроенные коды применения
Примечание - Формат данных, совместимых с GTAG, выбирается командой WAKEUPGTAG:
GROUP_SELECT_EQ (ADDRESS = '12', BYTE_MASK = '01', WORD_DATA = '0F 00 00 00 00 00 00 00')
(0x00 0x12 0x01 0x0F 0x00 0x00 0x00 0x00 0x00 0x00 0x00).
B.1.4.3.2 Встроенный код применения '01' - зарезервирован
Карта распределения памяти радиочастотной метки для встроенного кода применения '01' в настоящее время не определена. Этот код может использоваться для определения функций и/или применений, которые будут добавлены к исходному.
B.1.4.3.3 Встроенный код применения '02' - пользовательское распределение памяти
Подробные сведения о пользовательских таблицах размещения данных и файлов в настоящем стандарте не приведены. Предусматривается, что заказчики должны зарегистрировать код пользовательского распределения памяти (код CSMAC, от Customer Specific Memory Allocation Code) в службе маркетинга изготовителя, чтобы получить командную строку для записи своего 2-байтового кода CSMAC на радиочастотную метку, а также встроенного кода применения '02' в байте 12 памяти метки.
Таблица B.5 содержит примеры пользовательского распределения памяти радиочастотных меток, хотя не учитывает все варианты и не представляет все зарегистрированные коды. Для получения текущего перечня и регистрации дополнительных кодов рекомендуется связаться с изготовителем.
Таблица B.5
Коды пользовательского распределения памяти, байты 13 и 14
Другие применения с распределением памяти радиочастотной метки по желанию заказчика, которые могут быть добавлены в будущем, включают (но не ограничиваются) следующее:
- выявление и предотвращение краж;
- системы аварийной сигнализации.
B.1.4.3.4 Встроенный код применения '03' - таблица размещения файлов (длинная директория)
Распределение памяти радиочастотной метки для встроенного кода применения '03' (таблица размещения файлов) в настоящее время не определено и является зарезервированным. Данный формат позволит пользователю просматривать память радиочастотной метки подобно памяти накопителя на гибких магнитных дисках на компьютере.
B.1.4.3.5 Встроенный код применения '04' - контрольная радиочастотная метка
Архитектура контрольной радиочастотной метки выполнена настолько доступной для устройства опроса, что оно может выборочно считывать контрольную радиочастотную метку для проверки типа подключенной антенны, определения коэффициента заполнения и/или выходной мощности. Функция контрольной радиочастотной метки может также использоваться для проведения сквозной эксплуатационной проверки системы. Байты данного кода программируются и блокируются от изменения на заводе-изготовителе.
B.1.4.3.6 Встроенный код применения '05' - радиочастотная метка для конфигурации устройства опроса
Распределение памяти радиочастотной метки для встроенного кода применения '05' зарезервировано для указания радиочастотной метки, используемой для конфигурирования устройства опроса с помощью специального режима диагностики конфигурации. Такая радиочастотная метка может быть использована для установки различных параметров конфигурации устройства опроса или группы устройств опроса, находящихся в режиме конфигурации, путем обычного ее считывания. Формат таких данных должен быть определен в спецификациях устройства опроса или может быть внесен в будущем в настоящий стандарт в качестве приложения.
B.1.4.3.7 Встроенные коды применения с '06' по '09'
Зарезервированы для использования в будущем.
B.1.4.3.8 Встроенный код применения '0A' - формат данных в соответствии с ИСО/МЭК 15961 и ИСО/МЭК 15962
Встроенный код применения '0A' (формат данных по ИСО/МЭК 15961 и ИСО/МЭК 15962) зарезервирован для радиочастотной метки, используемой в соответствии с настоящим стандартом. Согласно текущему распределению памяти радиочастотной метки по ИСО/МЭК 15961 и ИСО/МЭК 15962 байт 13 предназначен для хранения информации об идентификаторе семейства применений (идентификаторе AFI). Байт 14 предназначен для идентификатора формата хранения данных (идентификатора DSFID).
B.1.4.3.9 Встроенный код применения '0B' - формат данных в соответствии с ANSI MH 10.8.4
Встроенный код применения '0B' (формат данных в соответствии с ANSI MH 10.8.4) зарезервирован для радиочастотной метки, соответствующей указанному стандарту.
B.1.4.3.10 Встроенные коды применения с '0C' по '0E'
Зарезервированы для использования в будущем.
B.1.4.3.11 Встроенный код применения '0F - формат данных в соответствии со стандартом EAN.UCC GTAG
Встроенный код применения '0B' (формат данных в соответствии с EAN.UCC GTAG) зарезервирован для указания радиочастотной метки, соответствующей указанному прикладному стандарту.
Согласно EAN.UCC GTAG в карте распределения памяти радиочастотной метки байт 13 предназначен для хранения информации об идентификаторе семейства применений (идентификаторе AFI).
B.1.4.3.12 Встроенные коды применения с '10' по 'FF'
Зарезервированы для использования в будущем.
B.1.4.3.13 Карта распределения памяти радиочастотной метки (байты 13 - 17)
Указанное поле вместе со встроенным кодом применения (байт 12) позволяет для данного применения на основе принципа структурной иерархии определить формат и содержание пользовательских данных.
B.1.4.3.14 Память применения радиочастотной метки (байты 18 и выше)
Указанные байты представляют собой область в памяти радиочастотной метки для хранения общих данных применения.
(справочное)
В таблице C.1 показана общая карта памяти радиочастотных меток.
Таблица C.1
Карта памяти радиочастотной метки
Первые восемь байт памяти радиочастотной метки должны быть запрограммированы уникальным идентификатором радиочастотной метки (идентификатором TID). Указанное поле прошивается в микросхеме для обеспечения правильной работы алгоритмов сортировки радиочастотных меток, поэтому необходимо, чтобы серийные номера радиочастотных меток были уникальными.
(справочное)
НАЦИОНАЛЬНЫМ СТАНДАРТАМ РОССИЙСКОЙ ФЕДЕРАЦИИ
Таблица ДА.1
Вернуться в "Каталог нормативных документов"
Источник информации: https://internet-law.ru/documents/prod/gost-r_gosudarstvennyj-standart/37/gost_96819.html
На правах рекламы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||