Les étiquettes RFID (Tag) et les lecteurs (Reader) conformes au protocole EPC Class1 Gen2 (G2) version V109 doivent avoir les caractéristiques suivantes :
1. Partition de mémoire de balise
La mémoire d'étiquettes est divisée en quatre banques indépendantes (réservées), EPC (code produit électronique), TID (numéro d'identification d'étiquette) et User (utilisateur).
Réservé : Store Kill Password (mot de passe d'arrêt) et Access Password (mot de passe d'accès).
EPC : Stockez les numéros EPC, etc.
TID : Numéro d'identification de l'étiquette du magasin, chaque numéro TID doit être unique.
Utilisateur : stocker les données définies par l'utilisateur.
De plus, il existe également des unités de stockage utilisées dans les bits d'état de verrouillage (lock) de chaque bloc.
Deuxièmement, le statut du label
Après avoir reçu une irradiation à onde continue (CW) et une mise sous tension (Power-up), l'étiquette peut être dans Prêt (préparer), Arbitrer (couper), Répondre (retourner l'ordre), Acquitté (réponse), Ouvert (public), Sécurisé (protéger), Tué (inactivé) l'un des sept états.
L'état Prêt est l'état dans lequel l'étiquette qui n'a pas été désactivée est sous tension, prête à répondre aux commandes.
L'état Arbitrate sert principalement à attendre de répondre à des commandes telles que Query.
Après avoir répondu à la requête, il entre dans l'état de réponse et répond en outre à la commande ACK pour renvoyer le numéro EPC.
Après avoir renvoyé le numéro EPC, il entre dans l'état Reconnu et peut en outre répondre à la commande Req_RN.
Le mot de passe d'accès n'est pas 0 pour entrer dans l'état ouvert, et les opérations de lecture et d'écriture sont effectuées ici.
Ce n'est que lorsque le mot de passe d'accès est connu qu'il peut entrer dans l'état sécurisé et effectuer des opérations telles que la lecture, l'écriture et le verrouillage.
L'étiquette passant en état désactivé reste dans cet état et ne génère jamais de signal modulé pour activer le champ radiofréquence, ce qui l'invaliderait définitivement. Les étiquettes désactivées doivent conserver cet état dans tous les environnements et passer à l'état désactivé à la mise sous tension. L'inactivation est irréversible.
Pour que la balise passe dans un état donné, un ensemble de commandes légales, dans l'ordre approprié, est généralement requis. Chaque commande ne peut être effective que si la balise est dans l'état approprié, et la balise basculera également vers d'autres états après avoir répondu à la commande.
Trois, classification des commandes
Du point de vue de l'architecture du système de commande et de l'évolutivité, il est divisé en quatre catégories : obligatoire (obligatoire), facultatif (facultatif), propriétaire (propriétaire) et personnalisé (personnalisé).
Du point de vue de la fonction d'utilisation, il est divisé en trois types de commandes d'étiquettes : Sélection (Select), Inventaire (Inventory) et Accès (Access). De plus, des codes de différentes longueurs sont réservés pour une extension future des commandes.
Quatrièmement, le commandement nécessaire (obligatoire)
Les étiquettes et les lecteurs conformes au protocole G2 doivent prendre en charge onze commandes nécessaires :
Sélectionner
Requête
QueryAdjust (ajuster la requête)
QueryRep (répéter la requête)
ACK (réponse EPC)
NAK (tourner vers le jugement)
Req_RN (demande de nombre aléatoire)
Lire
Écrire
Tuer (inactiver)
Verrouillage
Cinq, commande facultative (facultatif)
Pour les balises et les lecteurs conformes au protocole G2, il existe trois commandes facultatives : Access, BlockWrite et BlockErase.
Six commandes propriétaires (propriétaires)
Les commandes propriétaires sont généralement utilisées à des fins de fabrication, comme les tests internes des étiquettes. Elles doivent être définitivement invalidées une fois l'étiquette sortie d'usine.
Sept, commande personnalisée (Custom)
Il peut s'agir d'une commande définie par le fabricant et accessible aux utilisateurs. Par exemple, Philips propose : BlockLock (verrouillage bloqué), ChangeEAS (modification du statut EAS), EASAlarm (alarme EAS) et d'autres commandes (EAS est un système antivol électronique standard, abréviation de Surveillance).
8. D'un point de vue fonctionnel : les commandes select (Select)
Il n'y a qu'une seule option : Sélectionner, qui est nécessaire. Les étiquettes possèdent divers attributs. Selon les normes et stratégies définies par l'utilisateur, utilisez la commande Sélectionner pour modifier certains attributs et signes. Un groupe d'étiquettes spécifique peut être sélectionné ou délimité. Vous ne pouvez effectuer que des opérations de reconnaissance d'inventaire ou d'accès sur ces étiquettes. Cela permet de réduire les conflits et les identifications répétées, et d'accélérer l'identification.
Neuf, d'un point de vue fonctionnel : commandes d'inventaire (Inventory)
Il y en a cinq : Query, QueryAdjust, QueryRep, ACK, NAK, qui sont tous nécessaires.
1. Une fois que la balise reçoit une commande de requête valide, chaque balise qui répond aux critères définis et est sélectionnée générera un nombre aléatoire (similaire à un lancer de dés), et chaque balise avec un nombre aléatoire de zéro générera une réponse (le mot de passe temporaire RN16 sera renvoyé, un nombre aléatoire de 16 bits), et passera à l'état de réponse ; les balises qui répondent à d'autres conditions changeront certains attributs et signes, quittant ainsi le groupe de balises mentionné ci-dessus, ce qui est bénéfique pour réduire les identifications répétées.
2. Une fois que les balises reçoivent une commande QueryAdjust valide, chaque balise génère un nouveau nombre aléatoire (comme relancer un dé), et le reste est identique à Query.
3. Une fois que la balise reçoit une commande QueryRep valide, elle soustrait uniquement un nombre aléatoire d'origine de chaque balise du groupe de balises, et les autres sont identiques à Query.
4. Seules les balises singulières peuvent recevoir une commande ACK valide (en utilisant le RN16 ci-dessus, ou Handle, un nombre aléatoire de 16 bits représentant temporairement l'identité de la balise, qui est un mécanisme de sécurité), et la renvoyer à la zone EPC après l'avoir reçue. Le contenu, la fonction la plus basique du protocole EPC.
5. Une fois que la balise reçoit une commande NAK valide, elle passe à l'état Arbitrer dans d'autres situations, à l'exception des états Prêt et Tué.
10. D'un point de vue fonctionnel : commandes d'accès
Il y en a cinq nécessaires : Req_RN, Read, Write, Kill, Lock, et trois facultatifs : Access, BlockWrite, BlockErase.
1. Une fois que la balise reçoit une commande Req_RN valide (avec RN16 ou Handle), elle renvoie le handle ou un nouveau RN16, selon l'état.
2. Une fois que la balise reçoit une commande de lecture (avec handle) valide, elle renvoie le code de type d'erreur ou le contenu et le handle du bloc demandé.
3. Une fois que la balise reçoit une commande d'écriture valide (avec RN16 et Handle), elle renvoie le code de type d'erreur ou, si l'écriture réussit, elle renvoie le handle.
4. Une fois que la balise reçoit une commande Kill valide (avec Kill Password, RN16 et Handle), elle renverra le code de type d'erreur, ou le handle sera renvoyé si l'inactivation est réussie.
5. Une fois que la balise reçoit une commande Lock (avec Handle) valide, elle renvoie le code de type d'erreur ou le handle est renvoyé si le verrouillage réussit.
6. Une fois que la balise reçoit une commande d'accès valide (avec mot de passe d'accès, RN16 et handle), elle renvoie le handle.
7. Une fois que la balise reçoit une commande BlockWrite (avec Handle) valide, elle renvoie le code de type d'erreur ou, si le bloc est écrit avec succès, elle renvoie le handle.
8. Une fois que la balise reçoit une commande BlockErase valide (avec Handle), elle renvoie le code de type d'erreur ou, si l'effacement du bloc réussit, elle renvoie le handle.
11. Quel mécanisme G2 utilise-t-il pour éviter les conflits ?
Comme mentionné dans la réponse ci-dessus, lorsque plusieurs étiquettes avec un nombre aléatoire nul sont renvoyées vers un RN16 différent, des formes d'onde RN16 différentes se superposent à l'antenne de réception (collisions) et ne peuvent donc pas être décodées correctement. Divers mécanismes anticollision permettent d'éviter le chevauchement et la déformation des formes d'onde, comme la division temporelle par laquelle une seule étiquette « parle » à la fois, puis sa singularisation pour identifier et lire chacune des étiquettes RFID UHF.
Les trois commandes d'en-tête Q ci-dessus reflètent le mécanisme anti-collision de G2 : l'étiquette contenant un nombre aléatoire nul peut être renvoyée à RN16. Si plusieurs étiquettes contenant un nombre aléatoire nul sont présentes simultanément et ne peuvent être décodées correctement, le mot Q doit être retransmis de manière stratégique. La commande ou la combinaison de l'en-tête est transmise au groupe d'étiquettes sélectionné jusqu'à ce qu'elle soit correctement décodée.
12. Comment obtenir l'unicité du numéro d'identification de l'étiquette (TID)
Le numéro d'identification de l'étiquette (TID) permet de distinguer les étiquettes (il peut être comparable au numéro d'un billet de banque). Pour des raisons de sécurité et de lutte contre la contrefaçon, deux étiquettes G2 ne doivent pas être exactement identiques et doivent être uniques. Chacun des quatre blocs de stockage de l'étiquette est utile, et certains peuvent être réécrits à tout moment après la sortie d'usine. Seul le TID doit être capable d'effectuer cette tâche ; il doit donc être unique.
Avant de quitter l'usine, le fabricant de la puce G2 doit utiliser la commande Lock ou d'autres moyens pour agir sur le TID afin de le verrouiller définitivement, et le fabricant ou l'organisation concernée doit s'assurer que le TID de la longueur appropriée de chaque puce G2 est unique, et il n'y aura pas de troisième Deux TID identiques, même si une balise G2 est dans l'état Killed et ne sera pas activée et utilisée à nouveau, son TID (toujours dans cette balise) n'apparaîtra pas dans une autre balise G2.
De cette façon, le TID étant unique, bien que le code EPC de l'étiquette puisse être copié sur une autre étiquette, il peut également être distingué par le TID de l'étiquette, ce qui rend l'original clair. Ce type de structure et de méthode est simple et réalisable, mais il faut veiller à la chaîne logique qui garantit l'unicité.
La version V109 du protocole G2 ne requiert que 32 bits (dont un identifiant de classe d'allocation de 8 bits, un identifiant de concepteur de masque d'étiquette de 12 bits et un numéro de modèle d'étiquette de 12 bits) pour le TID. Pour plus de bits, par exemple, le SNR (numéro de série) est « Les étiquettes peuvent contenir » au lieu de « doivent contenir ». Cependant, le numéro EPC étant conçu pour distinguer un seul produit, 32 bits ne suffisent probablement pas et il est préférable d'utiliser le SNR.
13. Commande Kill dans le protocole G2
Le protocole G2 configure la commande Kill et utilise un mot de passe 32 bits pour la contrôler. Une fois la commande Kill utilisée, l'étiquette ne génère plus de signal de modulation pour activer le champ radiofréquence, ce qui est définitivement invalide. Cependant, les données d'origine peuvent toujours être présentes dans l'étiquette. Si vous souhaitez les lire, ce n'est pas totalement impossible. Vous pouvez envisager d'améliorer la signification de la commande Kill et d'effacer les données.
De plus, à terme, en raison du coût d'utilisation des étiquettes G2 ou pour d'autres raisons, le recyclage et la réutilisation des étiquettes seront envisagés (par exemple, pour les utilisateurs souhaitant utiliser tour à tour des palettes et des cartons étiquetés, ainsi que le numéro EPC correspondant). Le contenu de la zone doit être réécrit ; le remplacement ou la réinstallation de l'étiquette est coûteux, peu pratique, etc. Une commande réécrite, même si le contenu de l'étiquette est verrouillé de manière permanente, est requise. En raison de l'influence des différents états de verrouillage, seules les commandes Write, BlockWrite et BlockErase peuvent ne pas être en mesure de réécrire le numéro EPC, le contenu utilisateur ou le mot de passe (par exemple, le numéro EPC d'une étiquette est verrouillé et ne peut donc pas être réécrit, ou elle n'est pas verrouillée, mais le mot de passe d'accès de cette étiquette est oublié et ne peut pas être réécrit). Ceci crée une exigence qui nécessite une commande Erase simple et claire, à l'exception de la zone TID et de son bit d'état de verrouillage (le TID ne peut pas être réécrit après la sortie d'usine de l'étiquette), des autres numéros EPC et du contenu de la zone réservée. la zone utilisateur et les autres bits d'état de verrouillage, même s'ils sont verrouillés en permanence, seront tous effacés en préparation de la réécriture.
En comparaison, la commande Kill améliorée et la commande Erase ajoutée ont fondamentalement les mêmes fonctions (y compris l'utilisation de Kill Password). La seule différence est que l'ancienne commande Kill ne génère pas de signal de modulation, qui peut également être unifié au paramètre RFU porté par la commande Kill. Différentes valeurs sont prises en compte.
14. Que dois-je faire si l'étiquette ou le lecteur ne prend pas en charge les commandes facultatives (Access) ?
Si la commande BlockWrite ou BlockErase n'est pas prise en charge, elle peut être remplacée plusieurs fois par la commande Write (écriture de 16 bits à la fois), car l'effacement peut être considéré comme une écriture à 0. L'écriture de bloc et l'effacement de bloc précédents sont plusieurs fois 16 bits. bits, les autres conditions d'utilisation sont similaires.
Si la commande Accès n'est pas prise en charge, l'accès à l'état Sécurisé et la commande Verrouillage ne peuvent être utilisés que si le mot de passe est égal à 0. Vous pouvez modifier le mot de passe d'accès à l'état Ouvert ou Sécurisé, puis utiliser la commande Verrouillage pour le verrouiller ou le verrouiller définitivement (le bit de lecture/écriture est à 1, le bit de verrouillage permanent est à 0 ou 1 ; voir le tableau ci-joint). L'étiquette ne sera plus « Impossible d'accéder à l'état Sécurisé » et la commande Verrouillage ne pourra plus modifier l'état verrouillé.
Si la commande Access est prise en charge, il est possible d'utiliser la commande correspondante pour accéder librement à tous les états. Outre le verrouillage ou le déverrouillage permanent de l'étiquette, le refus d'exécuter certaines commandes et l'état Killed, il est également possible d'exécuter efficacement chaque commande.