O que é a anticolisão, e quando ela importa?
A anticolisão é o procedimento que um leitor usa para isolar uma tag quando várias respondem ao mesmo tempo. Ele funciona estreitando os identificadores até sobrar apenas uma. É um problema resolvido no nível do protocolo, e ele não salva tags que estejam interferindo fisicamente umas nas outras.
O problema que ela resolve
Um leitor não tem como se dirigir a uma tag específica antes de saber que há uma ali. Ele envia uma chamada geral, e todas as tags no campo respondem ao mesmo tempo.
Essas respostas se sobrepõem e ficam ininteligíveis. Sem uma saída, um leitor diante de mais de uma tag ficaria permanentemente travado, o que é inaceitável numa carteira, num maço de cartões ou numa prateleira de itens etiquetados.
Como o estreitamento funciona
O procedimento usa os identificadores. O leitor pede que respondam as tags cujo identificador comece de certo jeito, escuta, detecta se as respostas ainda colidem, e refina a pergunta.
Cada rodada elimina candidatas até sobrar exatamente uma tag, ponto em que o leitor a seleciona e tudo o que vem depois é uma conversa privada. As outras tags ficam em silêncio até que sejam endereçadas por sua vez ou até o campo sumir.
É para isso que os identificadores existem em primeiro lugar. Distinguir tags durante a seleção é a função original, e todo outro uso do identificador é um reaproveitamento.
Por que ela não é problema seu
O procedimento está definido nas normas, implementado em todo leitor conforme, e não precisa de configuração. Para quem compra tags ou monta uma instalação, não há aqui nada a especificar, ajustar ou temer.
O que ela quer dizer na prática é que um celular diante de várias tags vai escolher uma, de modo determinístico o bastante no nível do protocolo e arbitrário do seu ponto de vista. Qual delas você recebe não é algo que você controle.
O que ela não conserta
Essa é a parte que vale lembrar, porque explica uma falha que as pessoas atribuem ao lugar errado o tempo todo.
A anticolisão é uma solução de protocolo para um problema de protocolo. Duas tags empilhadas uma contra a outra falham por uma razão física: cada uma absorve o campo de que a outra precisa, e cada uma dessintoniza a antena da outra. Nenhuma das duas recebe energia suficiente para responder direito, então não há nada para o procedimento arbitrar.
O sintoma é idêntico ao de não haver tag nenhuma, e é por isso que “o leitor devia simplesmente escolher uma” parece que deveria funcionar. Não pode, porque a colisão que a norma trata é uma colisão de respostas, não uma colisão de antenas.
A regra prática: separe as tags fisicamente. A anticolisão trata tags que estão perto umas das outras, não tags que estão se tocando.
Perguntas frequentes
Quantas tags um leitor consegue tratar de uma vez?
O procedimento escala para muitas, e leitores dedicados rotineiramente isolam tags de um grupo considerável. Os celulares em geral selecionam uma e seguem adiante em vez de apresentar o conjunto, o que é uma escolha de software e não um limite do protocolo.
Eu posso escolher qual tag o celular seleciona?
Não por nenhuma interface comum. Se você precisa de uma tag específica, o método confiável é apresentá-la sozinha, já que a seleção não é algo sobre o que os aplicativos recebam controle.
Por que meu cartão para de funcionar quando está numa carteira com outros?
Em geral por interferência física e não por anticolisão. Cartões por aproximação amontoados absorvem e dessintonizam uns aos outros, o que impede que qualquer um deles seja lido direito.
A anticolisão deixa a leitura mais lenta?
Marginalmente, quando há várias tags presentes, já que são necessárias rodadas extras para estreitar. Com uma tag só o procedimento termina quase de imediato e é invisível.