Performances NFC : tout est dans l'antenne
Les tags NFC sont une cible fréquente d'expérimentation, que ce soit simplement en utilisant une application sur un téléphone mobile pour interroger ou écrire sur des tags, en les incorporant dans des projets au moyen d'un module standard, ou en concevant un projet les utilisant depuis gratter. Pourtant, ils ne sont pas toujours faciles à obtenir et peuvent souvent donner des résultats décevants. Cet article tentera de démystifier ce qui est probablement l'avenue la plus probable pour qu'un projet NFC ait de mauvaises performances, l'antenne à bobine de détection dans le lecteur lui-même.
Les étiquettes contiennent des puces qui sont alimentées par le champ RF qui leur fournit suffisamment de puissance pour démarrer, à quel point elles peuvent communiquer avec un ordinateur hôte quel que soit leur objectif.
"NFC" signifie "Near Field Communication", dans lequel des données peuvent être échangées entre des appareils physiquement proches sans qu'ils soient physiquement connectés. Le lecteur et l'étiquette y parviennent grâce à une antenne, qui prend la forme d'une bobine plate et d'un condensateur qui forment ensemble un circuit accordé résonnant. Le lecteur envoie des impulsions RF qui sont maintenues une fois qu'une réponse est reçue d'une carte, et ainsi la communication peut être établie jusqu'à ce que la carte soit hors de portée du lecteur.
Pour la majorité des étiquettes susceptibles d'être expérimentées par les lecteurs Hackaday, la fréquence RF est de 13,56 MHz, et les émissions RF sont supposées se situer dans le plan du champ magnétique plutôt que dans le champ électrique. Il n'y a rien de complexe dans les antennes, en effet il est assez facile d'en fabriquer une soi-même en enroulant une bobine appropriée et en l'accordant avec un petit condensateur variable. Les propriétés RF de l'antenne peuvent être explorées avec des instruments aussi simples qu'un générateur de signal et un oscilloscope, ou si vous êtes un radioamateur assez âgé pour en avoir capté un, un dipmètre. Pour les besoins de cet article, j'utilise un NanoVNA en raison de son extrême commodité, et je l'ai configuré pour mesurer le SWR sur le port 1 avec un balayage entre 10 MHz et 20 MHz. Je le couple lâchement aux antennes NFC que je teste au moyen d'une bobine de détection RF, un tour de fil d'environ 10 mm de diamètre soudé à un connecteur coaxial et fixé avec un peu de colle. Lorsque je place la bobine de détection sur une étiquette NFC, je suis récompensé par un pic net sur le VNA de l'infini jusqu'à près de 1: 1 SWR. Cela fonctionne bien avec la plupart des bobines de lecteur et avec des étiquettes NFC de faible puissance qui contiennent simplement une puce mémoire, mais mon VNA ne fournit pas assez d'énergie pour mesurer ces étiquettes avec des circuits intégrés plus puissants tels que des cartes bancaires, une carte de transport public ou mon passeport.
Immédiatement, le VNA met le doigt sur l'un des problèmes inhérents aux NFC produits en série, à savoir que la fréquence de résonance est rarement exactement sur 13,56 MHz. En écrivant cet article, j'ai constaté que les cartes et les lecteurs semblent résonner entre 13,5 et 15 MHz, la majorité étant mesurée à environ 14 MHz. En pratique, la plupart des lecteurs fournissent plus qu'assez d'énergie pour que l'étiquette puisse toujours être alimentée malgré l'inefficacité qui en résulte, mais pour que tout système d'étiquette NFC fonctionne avec une efficacité maximale, il doit avoir à la fois le lecteur et l'étiquette ajustés pour résonner à la fréquence de communication de 13,56 MHz.
La plupart des balises, et les modules de lecture les moins chers, ont très peu d'efforts pour les ajuster à la résonance, mais l'une des balises les plus intéressantes que j'ai examinées pour cette pièce, une carte bancaire soumise à un démontage par un ami hackerspace, montre un très intelligent approche du réglage automatisé. Une carte bancaire est une carte à puce standard composée de deux couches de plastique laminées, les contacts de la puce apparaissant sur la face avant. Lors du démontage, on peut voir que la puce et ses contacts sont sur un petit morceau de plastique d'environ 10 mm sur 10 mm qui peut être soulevé hors de la carte.
Ce module peut être lu par un lecteur de carte, mais uniquement lorsqu'il est placé directement sur l'antenne plutôt qu'avec n'importe quelle partie de l'ensemble de la carte à proximité du lecteur comme cela se produirait dans un magasin. Pour garantir que le petit module à puce puisse être alimenté par un lecteur sur toute la surface de la carte, la moitié arrière de la carte est une carte de circuit imprimé qui est simplement un circuit accordé avec une grande bobine et un ingénieux condensateur variable réalisé à partir d'une rangée de petites plaques de PCB. La bobine est à moitié autour du bord de la carte et autour de la puce, ce qui lui permet de capter le champ sur une grande surface et de coupler étroitement l'énergie résultante dans la puce. Il est réglé pendant la fabrication en coupant une trace reliant les condensateurs, à supposer que ce sera un processus automatisé. En mesurant sa résonance, il s'avère être un peu supérieur à 13,56 MHz, mais comme cette mesure a été effectuée sur une carte démontée sans puce en place, il est probable que le point de résonance ait été déplacé vers le haut.
En ce qui concerne les lecteurs, les appareils les plus chers ont un condensateur variable intégré et auront été réglés en usine à 13,56 MHz, tandis que les modules bon marché ont normalement un condensateur fixe et résonnent à une fréquence plus élevée. L'expérience avec ces modules moins chers suggère qu'ils interagiront généralement avec les cartes plus simples telles que l'omniprésente MiFare Classic, mais qu'ils sont incapables de fournir suffisamment d'énergie pour alimenter les cartes plus intelligentes telles que les balises MiFare DESfire. Le réglage de l'antenne sur le module pour une résonance à 13,56 MHz améliore l'efficacité dans la mesure où les balises de plus grande puissance peuvent être lues, par exemple sur l'image se trouve un module de lecteur bon marché préparé par un ami hackerspace. Il a utilisé une bobine de détection RF et un oscilloscope pour mesurer l'amplitude de la porteuse à 13,56 MHz et a ajusté le circuit accordé jusqu'à ce qu'un point d'amplitude maximale soit atteint. Dans ce cas, il a enroulé sa propre bobine et en a retiré le fil tour à tour pour trouver le maximum, mais le même résultat pourrait tout aussi bien être obtenu avec la bobine PCB et un petit condensateur ajustable. Ce lecteur bon marché fonctionne désormais avec des cartes DESfire qui nécessitaient auparavant un module beaucoup plus coûteux, ce qui en vaut la peine.
Ainsi, bien qu'une grande partie de la magie technologique d'une étiquette NFC réside dans son boîtier électronique numérique, il convient de rappeler que le faire fonctionner reste une antenne fermement analogique. Un peu de travail de réglage RF à l'ancienne avec votre oscilloscope et un générateur de signaux peut améliorer leurs performances.