Os comandos sobre tags RFID EPC Class1 Gen2 RFID
2021-06-03
As etiquetas RFID (Tag) e leitores (Reader) que estão em conformidade com o protocolo EPC Class1 Gen2 (G2) versão V109 devem ter as seguintes características:
1. Etiqueta de partição de memória
A memória da etiqueta é dividida em quatro bancos independentes (reservados), EPC (código eletrônico do produto), TID (número de identificação da etiqueta) e Usuário (usuário).
Reservado: Armazene a senha de eliminação (senha de eliminação) e a senha de acesso (senha de acesso).
EPC: armazene os números EPC, etc.
TID: Número de identificação da etiqueta da loja, cada número TID deve ser único.
Usuário: armazena dados definidos pelo usuário.
Além disso, também há unidades de armazenamento usadas nos bits de status de bloqueio (bloqueio) de cada bloco.
Em segundo lugar, o status do rótulo
Após receber irradiação de onda contínua (CW) e energização (energização), a etiqueta pode estar em Pronto (preparar), Arbitrar (cortar), Responder (ordem de retorno), Confirmado (resposta), Aberto (público), Protegido (proteger), Matou (inativou) um dos sete estados.
O estado Pronto é o estado em que a etiqueta que não foi desativada está ligada, pronta para responder aos comandos.
O estado Arbitrar serve principalmente para aguardar a resposta a comandos como Consulta.
Após responder à Consulta, ele entra no estado Responder e responde ao comando ACK para enviar de volta o número EPC.
Depois de enviar de volta o número EPC, ele entra no estado Reconhecido e pode responder ao comando Req_RN.
A senha de acesso não é 0 para entrar no estado aberto e as operações de leitura e gravação são realizadas aqui.
Somente quando a senha de acesso é conhecida, ela pode entrar no estado Protegido e realizar operações como leitura, gravação e bloqueio.
O tag entrando no estado Killed permanecerá no mesmo estado, e nunca irá gerar um sinal modulado para ativar o campo de radiofrequência, invalidando-o permanentemente. As tags inativadas devem manter o estado Killed em todos os ambientes e entrar no estado inativado quando ligadas, e a operação de inativação é irreversível.
Para fazer a tag entrar em um determinado estado, geralmente é necessário um conjunto de comandos legais na ordem apropriada. Por sua vez, cada comando só pode ser eficaz quando a tag está no estado adequado, e a tag também mudará para outros estados após responder ao comando.
Três, classificação de comando
Do ponto de vista da arquitetura e escalabilidade do sistema de comando, ele é dividido em quatro categorias: Obrigatório (obrigatório), Opcional (opcional), Proprietário (proprietário) e Personalizado (personalizado).
Do ponto de vista da função de uso, ela é dividida em três tipos de comandos de rótulo Select (select), Inventory (inventário) e Access (access). Além disso, para futura expansão do comando, códigos de comprimentos diferentes são reservados para uso.
Quarto, o comando necessário (obrigatório)
Rótulos e leitores que estão em conformidade com o protocolo G2 devem suportar onze comandos necessários:
Selecione
Consulta
QueryAdjust (ajustar consulta)
QueryRep (consulta repetida)
ACK (resposta EPC)
NAK (volte para o julgamento)
Req_RN (pedido de número aleatório)
Leitura
Escrever
Matar (inativar)
Trancar
Cinco, comando opcional (opcional)
Para tags e leitores que estão em conformidade com o protocolo G2, existem três comandos opcionais: Access, BlockWrite e BlockErase.
Seis, comandos proprietários (proprietários)
Os comandos proprietários são geralmente usados para fins de fabricação, como teste de etiqueta interna. Esses comandos devem ser permanentemente inválidos após a etiqueta sair da fábrica.
Sete, comando personalizado (personalizado)
Pode ser um comando definido pelo fabricante e aberto aos usuários. Por exemplo, a Philips fornece: BlockLock (bloqueio de bloqueio), ChangeEAS (alterar status de EAS), EASAlarm (alarme de EAS) e outros comandos (EAS é um sistema antifurto eletrônico de mercadoria abreviatura de artigo eletrônico para vigilância).
8. Do ponto de vista funcional: selecione (Selecionar) comandos
Existe apenas um: Selecione, o que é necessário. As tags têm uma variedade de atributos. Com base nos padrões e estratégias definidas pelo usuário, use o comando Selecionar para alterar alguns atributos e sinais. Um grupo de tag específico pode ser selecionado ou delineado. Você só pode realizar o reconhecimento de inventário ou acessar operações sobre eles. Propicia a redução de conflitos e identificações repetidas, agilizando a identificação.
Nove, do ponto de vista funcional: comandos de inventário (inventário)
Existem cinco: Query, QueryAdjust, QueryRep, ACK, NAK, todos os quais são necessários.
1. Depois que a tag recebe um comando de consulta válido, cada tag que atende aos critérios definidos e é selecionada irá gerar um número aleatório (semelhante a um lançamento de dados), e cada tag com um número aleatório de zero irá gerar uma resposta (senha temporária RN16 será enviado de volta), um número aleatório de 16 bits) e será transferido para o estado de Resposta; as tags que atendem a outras condições irão alterar certos atributos e sinais, saindo do grupo de tags mencionado acima, o que é benéfico para reduzir a identificação repetida.
2. Depois que as tags recebem um comando QueryAdjust válido, cada tag gera um novo número aleatório (como relançar um dado), e o resto é o mesmo que Query.
3. Depois que a tag recebe um comando QueryRep válido, ela subtrai apenas um do número aleatório original de cada tag no grupo de tags, e os outros são iguais a Query.
4. Apenas tags singulares podem receber um comando ACK válido (usando o RN16 acima, ou Handle, um número aleatório de 16 bits que representa temporariamente a identidade da tag, que é um mecanismo de segurança) e enviá-lo de volta para a área do EPC após recebimento O conteúdo, a função mais básica do protocolo EPC.
5. Após a tag receber um comando NAK válido, ela irá para o estado Arbitrar em outras situações, exceto para o estado Pronto e Eliminado.
10. Do ponto de vista funcional: Comandos de acesso
Existem cinco necessários: Req_RN, Read, Write, Kill, Lock e três opcionais: Access, BlockWrite, BlockErase.
1. Depois que o tag recebe um comando Req_RN válido (com RN16 ou Handle), ele envia de volta o identificador ou um novo RN16, dependendo do status.
2. Depois que a tag recebe um comando Read (with Handle) válido, ela envia de volta o código do tipo de erro ou o conteúdo e o identificador do bloco solicitado.
3. Depois que o tag receber um comando Write válido (com RN16 & Handle), ele enviará de volta o código do tipo de erro ou, se a gravação for bem-sucedida, ele enviará o identificador de volta.
4. Após o tag receber um comando Kill (com Kill Password, RN16 & Handle) válido, ele enviará de volta o código do tipo de erro ou o identificador será enviado de volta se a inativação for bem-sucedida.
5. Depois que a tag receber um comando válido de bloqueio (com alça), ela enviará de volta o código do tipo de erro ou a alça será enviada de volta se o travamento for bem-sucedido.
6. Depois que o tag recebe um comando de acesso válido (com senha de acesso, RN16 & Handle), ele envia de volta o identificador.
7. Depois que a tag receber um comando BlockWrite (com Handle) válido, ela enviará de volta o código do tipo de erro ou, se o bloco for escrito com sucesso, enviará de volta o identificador.
8. Depois que a tag receber um comando BlockErase (com Handle) válido, ela enviará de volta o código do tipo de erro ou, se o apagamento do bloco for bem-sucedido, ela enviará de volta o identificador.
11. Qual mecanismo G2 usa para evitar conflitos?
Conforme mencionado na resposta acima, quando mais de uma etiqueta com um número aleatório de zero é enviada de volta para um RN16 diferente, eles terão diferentes formas de onda RN16 sobrepostas na antena receptora, o que é chamado de colisões e, portanto, não pode ser decodificado corretamente. Há uma variedade de mecanismos anticolisão para evitar sobreposição e deformação da forma de onda, como tentar (divisão de tempo) fazer apenas uma tag "falar" por vez e, em seguida, singularizá-la para identificar e ler cada um dos vários UHF Etiquetas RFID. .
Os três comandos de cabeçalho Q acima refletem o mecanismo anticolisão de G2: a etiqueta com um número aleatório de zero pode ser enviada de volta para RN16. Se houver várias tags com um número aleatório de zero ao mesmo tempo e não puderem ser decodificadas corretamente, a palavra Q deve ser retransmitida estrategicamente. O comando ou combinação do cabeçalho é dado ao grupo de tags selecionado até que possa ser decodificado corretamente.
12. Como obter a exclusividade do número de identificação da etiqueta (TID)
O número de identificação da etiqueta TID (Tag identifier) é um sinal de distinção de identidade entre as etiquetas (pode ser análogo ao número de uma nota). Do ponto de vista da segurança e antifalsificação, quaisquer dois rótulos G2 não devem ser exatamente iguais e os rótulos devem ser únicos. Cada um dos quatro blocos de armazenamento da etiqueta é útil e alguns deles podem ser reescritos a qualquer momento após sair da fábrica. Apenas o TID deve ser capaz de realizar esta tarefa, portanto, o TID da tag deve ser único.
Antes de sair da fábrica, o fabricante do chip G2 deve usar o comando Bloquear ou outro meio para agir no TID para torná-lo bloqueado permanentemente, e o fabricante ou organização relevante deve garantir que o TID do comprimento apropriado de cada chip G2 seja único, e não haverá terceiros Dois TIDs idênticos, mesmo que um tag G2 esteja no estado Killed e não seja ativado e usado novamente, seu TID (ainda neste tag) não aparecerá em outro tag G2.
Desta forma, como o TID é único, embora o código EPC na etiqueta possa ser copiado para outra etiqueta, também pode ser distinguido pelo TID na etiqueta, para que o original seja claro. Esse tipo de estrutura e método é simples e viável, mas preste atenção à cadeia lógica que garante a exclusividade.
A versão V109 do protocolo G2 requer apenas 32 bits (incluindo identificador de classe de alocação de 8 bits, identificador de designer de máscara de tag de 12 bits e número do modelo de tag de 12 bits) para TID. Para mais bits, por exemplo, SNR (número de série) é que os tags podem conter em vez de deveriam. No entanto, como o número EPC foi projetado para ser usado para distinguir um único produto, 32 bits provavelmente não é suficiente e deve ter SNR.
13. Mate o comando no protocolo G2
O protocolo G2 configura o comando Kill e usa uma senha de 32 bits para controlá-lo. Depois que o comando Kill for usado efetivamente, o tag nunca irá gerar um sinal de modulação para ativar o campo de radiofrequência, que é permanentemente inválido. Mas os dados originais ainda podem estar na tag. Se você quiser lê-los, não é totalmente impossível. Você pode considerar melhorar o significado do comando Kill e apagar os dados.
Além disso, em um determinado período de tempo, devido ao custo de uso de tags G2 ou outros motivos, será considerada a reciclagem e a reutilização de tags (como usuários que desejam usar paletes e caixas etiquetadas por sua vez, e o número EPC correspondente, Usuário O conteúdo da área precisa ser reescrito; é caro, inconveniente, etc. substituir ou reaplicar a etiqueta. Requer um comando que pode ser reescrito mesmo se o conteúdo da etiqueta estiver permanentemente bloqueado . Devido à influência de diferentes estados de bloqueio, apenas Write ou BlockWrite, o comando BlockErase pode não ser capaz de reescrever o número EPC, o conteúdo do usuário ou a senha (por exemplo, o número EPC de uma tag é bloqueado para que não possa ser reescrito, ou não está bloqueado, mas a senha de acesso desta tag foi esquecida e não pode ser reescrita. Isso cria um requisito que requer um comando Apagar simples e claro - exceto para a área TID e seu bit de status de bloqueio (o TID não pode ser reescrito depois a etiqueta sai da fábrica ), outros números EPC, o conteúdo da área reservada, da área do usuário e outros estados de bloqueio Os bits, mesmo que estejam permanentemente bloqueados, serão todos apagados na preparação para a reescrita.
Em comparação, o comando Kill aprimorado e o comando Erase adicionado têm basicamente as mesmas funções (incluindo Kill Password devem ser usados). A única diferença é que o antigo comando Kill não gera um sinal de modulação, que também pode ser unificado ao parâmetro RFU transportado pelo comando Kill. Valores diferentes são considerados.
14. O que devo fazer se o tag ou leitor não suportar comandos opcionais (acesso)?
Se o comando BlockWrite ou BlockErase não for suportado, ele pode ser substituído pelo comando Write (gravar 16 bits por vez) várias vezes, porque o apagamento pode ser considerado como escrita 0. O primeiro bloco de gravação e apagamento de bloco são várias vezes 16 -pedaço. bit, outras condições de uso são semelhantes.
Se o comando de acesso não for suportado, somente quando a senha de acesso for 0, o estado de segurança pode ser inserido e o comando de bloqueio pode ser usado. Você pode alterar a senha de acesso no estado aberto ou seguro e, em seguida, usar o comando Bloquear para bloquear ou bloquear permanentemente a senha de acesso (o bit pwd-read / write é 1, o bit permalock é 0 ou 1, consulte o anexo tabela), o rótulo não será mais Não é possível entrar no estado Protegido e não poderá mais usar o comando Bloquear para alterar qualquer estado bloqueado.
Se o comando de acesso for suportado, é possível usar o comando correspondente para entrar livremente em todos os vários estados. Além de a etiqueta estar bloqueada ou desbloqueada permanentemente e se recusar a executar determinados comandos e estar no estado Killed, também é possível executar cada comando de forma eficaz.