С популяризацией приложений UHF RFID все больше и больше проблем возникает в проектных приложениях, среди которых больше всего проблем у электронных меток RFID. Как достичь наилучшего эффекта использования в реальном приложении проекта, я считаю, что понимание здравого смысла меток UHF RFID будет вам полезно.
Давайте рассмотрим функции, которые должны иметь метки и считыватели (ридеры), соответствующие протоколу EPC Class1 Gen2 (сокращенно G2) версии V109:
A. Каковы состояния метки?
После получения непрерывного волнового (CW) облучения и включения питания (Power-up) метка может находиться в одном из семи состояний: Ready (подготовка), Arbitrate (суждение), Reply (возвратный приказ), Acknowledged (ответ), Open (открытый (публичный), Secured (защита) ), Killed (деактивированный)
1. Состояние чтения-записи — это состояние, в котором метка, которая не была деактивирована, включена и готова отвечать на команды.
2. В состоянии Arbitrate она в основном ожидает ответа на команды, такие как Query.
3. После ответа на Query перейдите в состояние Reply и далее ответьте на команду ACK, чтобы отправить обратно номер EPC.
4. После отправки обратно номера EPC войдите в состояние Acknowledged и далее ответьте на команду Req_RN.
5. Только когда пароль доступа не равен 0, можно перейти в состояние Open, в котором выполняются операции чтения и записи.
6. Только когда известен пароль доступа, можно перейти в состояние Secured и выполнять такие операции, как чтение, запись и блокировка.
7. Метки, которые переходят в состояние Killed, останутся в том же состоянии и никогда не будут генерировать модулированный сигнал для активации радиочастотного поля, таким образом, оставаясь постоянно неэффективными. Инактивированная метка должна сохранять состояние Killed во всех средах и переходить в инактивированное состояние при включении питания, а операция инактивации необратима.
Поэтому для перевода метки в определенное состояние обычно требуется набор допустимых команд в правильном порядке, и, в свою очередь, каждая команда может быть действительной только тогда, когда метка находится в правильном состоянии, и метка также перейдет в другие состояния после ответа на команду.
B. На какие области разделена память тега?
Память тега разделена на четыре независимых блока хранения: Reserved (зарезервировано), EPC (электронный код продукта), TID (идентификационный номер тега) и User (пользователь).
Зарезервированная область: хранит Kill Password (пароль деактивации) и Access Password (пароль доступа).
Область EPC: хранит номер EPC и т. д.
Область TID: хранит идентификационный номер тега, каждый номер TID должен быть уникальным.
Пользовательская область: хранит данные, определяемые пользователем.
C. Какие существуют типы команд?
По функции использования команды можно разделить на три категории: команды Select (выбор), Inventory (инвентарь) и Access (доступ).
С точки зрения архитектуры команд и масштабируемости команды можно разделить на четыре категории: Mandatory (обязательные), Optional (необязательные), Proprietary (проприетарные) и Custom (настраиваемые).
D. Что такое команды Select?
Существует только одна команда выбора: Select, которая является обязательной. Теги имеют различные атрибуты. На основе стандартов и политик, установленных пользователем, использование команды Select для изменения некоторых атрибутов и знаков может искусственно выбрать или очертить определенную группу тегов и выполнять только операции идентификации инвентаря или доступа к ним. Это выгодно для уменьшения конфликтов и повторной идентификации, а также для ускорения идентификации.
E. Что такое команды Inventory?
Существует пять команд inventory, а именно: Query, QueryAdjust, QueryRep, ACK, NAK.
1. После того, как тег получит допустимую команду Query, каждый тег, который соответствует установленным критериям и выбран, сгенерирует случайное число (аналогично бросанию игральной кости), а каждый тег со случайным числом ноль сгенерирует эхо (отправит обратно временный пароль RN16 — 16-битное случайное число) и перейдет в состояние Reply; теги, которые соответствуют другим условиям, изменят некоторые атрибуты и знаки, тем самым выйдя из указанной выше группы тегов, что полезно для сокращения повторной идентификации.
2. После того, как тег получит допустимую команду QueryAdjust, каждый тег сгенерирует новое случайное число (подобно повторному бросанию игральной кости), а другой совпадает с Query.
3. После того, как тег получает допустимую команду QueryRep, он только вычитает единицу из исходного случайного числа каждого тега в группе тегов, а остальные совпадают с Query.
4. Только упрощенные теги могут получать допустимые команды ACK (используйте указанный выше RN16 или handle Handle — 16-битное случайное число, которое временно представляет идентификатор тега. Это механизм безопасности!), получив его, отправьте его обратно. Содержимое в области EPC?? Самая основная функция протокола EPC.
5. После получения допустимой команды NAK,тег перейдет в состояние Arbitrate, за исключением состояний Ready и Killed.
F. Что такое команды Access?
Существует восемь команд Access, пять из которых являются обязательными: Req_RN, Read, Write, Kill и Lock. Есть три варианта: Access, BlockWrite, BlockErase.
1. После того, как тег получит допустимую команду Req_RN (с RN16 или Handle), он отправит обратно дескриптор или новый RN16, в зависимости от состояния.
2. После того, как тег получит допустимую команду Read (с Handle), он отправит обратно код типа ошибки или содержимое и дескриптор требуемого блока.
3. После получения допустимой команды Write (с RN16 и Handle) тег отправит обратно код типа ошибки или отправит обратно дескриптор, если запись прошла успешно.
4. После того, как тег получит допустимую команду Kill (с паролем Kill, RN16 и дескриптором), он отправит обратно код типа ошибки или, если уничтожение прошло успешно, он отправит обратно дескриптор.
5. После получения эффективной команды Lock (с дескриптором) тег отправит обратно код типа ошибки или, если блокировка прошла успешно, отправит обратно дескриптор.
6. После того, как тег получит допустимую команду Access (с паролем Access, RN16 и дескриптором), он отправит обратно дескриптор.
7. После того, как тег получит допустимую команду BlockWrite (с дескриптором), он отправит обратно код типа ошибки или, если запись блока прошла успешно, будет отправлен дескриптор.
8. После того, как тег получит допустимую команду BlockErase (с дескриптором), он отправит обратно код типа ошибки или, если стирание блока прошло успешно, он отправит обратно дескриптор.
G. Какие команды являются обязательными?
В метках UHF и считывателях UHF, соответствующих протоколу G2, должны поддерживаться одиннадцать необходимых команд: Select (выбор), Query (запрос), QueryAdjust (настройка запроса), QueryRep (повтор запроса), ACK (ответ EPC), NAK (переход к решению), Req_RN (запрос случайного числа), Read (чтение), Write (запись), Kill (деактивация), Lock (блокировка).
H. Какие команды являются необязательными (необязательными)?
В метках UHF и считывателях UHF, соответствующих протоколу G2, должны поддерживаться три необязательные команды: Access (доступ), BlockWrite (блокировка записи) и BlockErase (блокировка стирания).
I. Какой будет команда Proprietary?
Команды Proprietary обычно используются для производственных целей, таких как внутреннее тестирование этикеток и т. д., и такие команды должны быть навсегда недействительны после того, как этикетка покинет завод.
J. Что такое команды Custom?
Это может быть команда, определенная производителем и открытая для пользователей. Например, Philips предоставляет такие команды, как BlockLock (блокировка блокировки), ChangeEAS (изменение статуса EAS), EASAlarm (сигнализация EAS) и другие команды (EAS — это аббревиатура Electronic Article Surveillance).
Какой механизм используют K и G2 для предотвращения конфликтов? Что такое так называемые коллизии и как противостоять конфликтам?
Когда есть более одного тега со случайным числом нулей, отправляющих обратно разные RN16, они будут иметь разные формы волны RN16, наложенные на приемную антенну, что является так называемыми коллизиями (столкновениями), поэтому их нельзя будет правильно декодировать. Существует множество механизмов антиколлизии, чтобы избежать наложения и деформации формы волны, например, попытка (разделение времени) заставить только один тег «говорить» в определенное время, а затем упростить его для идентификации и чтения каждого тега среди нескольких тегов.
Приведенные выше команды выбора, инвентаризации и доступа отражают механизм антиколлизии G2: только теги со случайным числом нулей могут быть отправлены обратно в RN16. Повторно отправьте команду или комбинацию с префиксом Q в выбранную группу тегов, пока она не будет правильно декодирована.
L. Такие команды, как Access в G2, являются необязательными. Что делать, если метка или считыватель UHF не поддерживают дополнительные команды?
Если команда BlockWrite или BlockErase не поддерживается, ее можно заменить командой Write (запись по 16 бит за раз) несколько раз, поскольку стирание можно рассматривать как запись 0, а прежние блоки записи и стирания блоков являются несколькими 16-битными, другие условия использования аналогичны.
Если команда Access не поддерживается, то система может перейти в защищенное состояние, только если пароль доступа равен 0, и можно использовать команду Lock. Пароль доступа можно изменить в открытом или защищенном состоянии, а затем использовать команду Lock для блокировки или постоянной блокировки пароля доступа (бит pwd-read/write равен 1, бит permalock равен 0 или 1, см. прилагаемую таблицу), метка больше не будет Вы больше не сможете войти в защищенное состояние, и вы больше не сможете использовать команду Lock для изменения любого заблокированного состояния.
Только когда поддерживается команда Access, можно использовать соответствующую команду для свободного входа во все виды состояний. За исключением того, что метка постоянно заблокирована или постоянно разблокирована и отказывается выполнять определенные команды и находится в состоянии Killed state, различные команды также могут быть эффективно выполнены.
Команда Access, предусмотренная в протоколе G2, является необязательной, но если команда Access может быть сделана необходимой в будущем или если производитель поддерживает команду Access как для меток G2, так и для считывателей, контроль и использование будут более всеобъемлющими и гибкими.
M. Каков эффект команды Kill в протоколе G2? Можно ли повторно использовать деактивированные метки?
Команда Kill установлена в протоколе G2 и управляется 32-битным паролем. После эффективного использования команды Kill метка никогда не будет генерировать сигнал модуляции для активации радиочастотного поля, тем самым навсегда делая его недействительным. Но исходные данные все еще могут находиться в метках RFID, и если их невозможно прочитать, рассмотрите возможность улучшения смысла команды Kill — стирания данных с ее помощью.
Кроме того, из-за стоимости использования метки G2 или других причин в течение определенного периода времени будет учитываться тот факт, что метку можно перерабатывать и использовать повторно (например, пользователь хочет использовать маркированный поддон или коробку, соответствующий номер EPC после замены содержимого, пользователю необходимо переписать содержимое области; неудобно и дорого заменять или переустанавливать метку), поэтому необходимо иметь команду, которую можно переписать, даже если содержимое метки навсегда заблокировано. Из-за влияния различных состояний блокировки только команды Write, BlockWrite или BlockErase могут не иметь возможности перезаписать номер EPC, содержимое пользователя или пароль (например, номер EPC тега заблокирован и не может быть перезаписан, или он не заблокирован, но пароль доступа тега забыт, и номер EPC не может быть перезаписан). В это время необходима простая и понятная команда Erase — за исключением области TID и ее бита состояния блокировки (TID не может быть перезаписан после того, как этикетка покинет завод), другие номера EPC, зарезервированная область, содержимое области пользователя и другие биты состояния блокировки, даже те, которые заблокированы навсегда, также будут стерты для перезаписи.
Для сравнения, функции улучшенной команды Kill и добавленной команды Erase в основном одинаковы (включая использование пароля Kill), единственное отличие заключается в том, что бывшая команда Kill не генерирует сигналы модуляции, которые также можно в совокупности отнести к параметру RFU, переносимому командой Kill. Рассмотрим различные значения.
N. Должен ли идентификационный номер тега (TID) быть уникальным? Как это было достигнуто?
Идентификационный номер тега TID является признаком идентичности различий между тегами. С точки зрения безопасности и борьбы с подделками этикетка должна быть уникальной; из вышесказанного следует, что четыре блока хранения этикетки имеют свое собственное применение, и некоторые из них могут быть перезаписаны в любое время после выхода с завода, и TID может взять на себя эту роль, поэтому TID этикетки должен быть уникальным.
Поскольку TID уникален, хотя код EPC на этикетке можно скопировать на другую этикетку, его также можно отличить по TID на этикетке, чтобы очистить источник. Такая архитектура и метод просты и осуществимы, но следует обратить внимание на логическую цепочку, чтобы гарантировать уникальность.
Поэтому производитель должен использовать команду Lock или другие средства для воздействия на TID перед выходом с завода, чтобы навсегда заблокировать его; и производитель или соответствующие организации должны гарантировать, что TID соответствующей длины для каждого чипа G2 является уникальным, и не будет второго TID ни при каких обстоятельствах. Для того же TID, даже если тег G2 находится в состоянии Killed и не будет активирован для повторного использования, его TID (все еще в этом теге) не появится в другом теге G2.
Contact: Adam
Phone: +86 18205991243
E-mail: sale1@rfid-life.com
Add: No.987,High-Tech Park,Huli District,Xiamen,China