Comment accélérer l'intégration NFC dans des applications basées sur le système d'exploitation

Avec la contribution de Rédacteurs nord-américains de DigiKey

Les développeurs ont toujours dû faire face à des difficultés en matière d'optimisation des performances RF, de conception matérielle et de logiciels dans le domaine des communications en champ proche (NFC). Aujourd'hui, la disponibilité de solutions NFC monolithiques et la prise en charge logicielle complète ont toutefois changé considérablement la nature de l'intégration de la fonctionnalité NFC dans les conceptions destinées à des dispositifs électroniques domestiques, des systèmes corporels et des appareils pour l'Internet des objets (IoT).

Les développeurs peuvent ainsi ajouter de nombreuses fonctionnalités applicatives avec une moindre incidence sur l'espace de conception, la consommation électrique ou les calendriers des projets.

La communication bidirectionnelle de la technologie NFC est unique grâce à sa capacité à fournir une connectivité sans fil de proximité à la fois simple, intrinsèquement sécurisée et basse consommation. Les communications sont possibles uniquement lorsque deux appareils sont près l'un de l'autre. De ce fait, l'interception des messages est peu probable et les vecteurs de cyberattaques sont réduits. En outre, seul l'un des deux appareils doit être allumé pour les communications, ce qui permet de maintenir la consommation énergétique à un faible niveau.

La technologie NFC peut vraiment fournir des avantages considérables à un large éventail d'applications de maison intelligente et IoT. Les utilisateurs peuvent effectuer un appairage Bluetooth ou Wi-Fi en plaçant un smartphone compatible NFC à proximité d'un produit compatible NFC. La technologie NFC peut être utilisée comme un facteur stratégique pour la personnalisation d'appareils et pour simplifier les tâches sur smartphone, comme la configuration des paramètres, le transfert de données et l'enregistrement de produits.

NFC embarqué

En tant que sous-ensemble de la radio-identification (RFID), la NFC fonctionne à une fréquence de 13,56 MHz et exécute de nombreuses fonctions identiques à celles des étiquettes RFID et des cartes à puce sans contact classiques. Par ailleurs, la technologie NFC fournit également une flexibilité supplémentaire grâce à sa capacité à fonctionner dans l'un des trois modes de communication : émulation de carte, poste-à-poste et lecture/écriture.

En mode émulation de carte, un dispositif NFC fonctionne comme une carte à puce sans contact, ce qui permet de l'utiliser dans un large éventail d'applications existantes : billetterie, contrôle d'accès, transit, péages et paiements sans contact. Le mode poste-à-poste permet à deux dispositifs compatibles NFC de se connecter entre eux et d'échanger des informations. Par exemple, les utilisateurs peuvent utiliser un smartphone compatible NFC pour définir des paramètres de configuration Bluetooth ou Wi-Fi sur d'autres dispositifs ou activer leur utilisation sur des réseaux de confiance. En mode lecture/écriture, un dispositif NFC peut lire des données provenant d'un autre dispositif NFC. Par exemple, un smartphone compatible NFC peut lire des URL ou d'autres données, comme des bons d'achat intégrés à une affiche promotionnelle dans un magasin de vente au détail.

Lorsqu'il est connecté à un processeur hôte au sein d'un produit, un dispositif NFC embarqué utilisé comme une étiquette fonctionne de façon similaire à une mémoire à deux ports. L'un des ports de mémoire est accessible en mode sans fil par l'intermédiaire d'une interface NFC. L'autre port est accessible par le système embarqué par l'intermédiaire d'une interface I2C. Une source externe, comme un smartphone, peut ainsi transférer des données au système embarqué. Le processeur hôte peut, à son tour, mettre à jour les données stockées sur le dispositif NFC, et les mettre à disposition du dispositif compatible NFC externe, même si le produit n'est pas allumé.

Les développeurs peuvent utiliser cette approche dans n'importe quelle application nécessitant un transfert de données entre un système embarqué et un système externe, comme un smartphone compatible NFC. En fait, ils peuvent utiliser cette approche pour mettre à jour les données du système embarqué ou même le micrologiciel à l'aide de la connectivité sans fil du dispositif NFC pour les communications et de sa mémoire intégrée pour un stockage temporaire lors du processus de téléchargement.

Contrôleur NFC monolithique

Auparavant, les concepteurs souhaitant ajouter des fonctionnalités NFC à une conception basée sur un microcontrôleur devaient faire face à des difficultés matérielles et logicielles considérables. Les ingénieurs matériels qui utilisaient des dispositifs NFC classiques devaient s'assurer que la conception respectait les temporisations essentielles entre le dispositif NFC et l'hôte, qu'elle respectait les exigences en termes de basse consommation et qu'elle réduisait l'espace de conception et les nomenclatures (BOM). Toutefois, l'impact le plus important reposait probablement sur l'aspect logiciel, car les ingénieurs devaient souvent écrire leur propre code pour gérer les nombreuses transactions de bas niveau pouvant constituer une seule opération NFC au niveau de l'application.

Des dispositifs NFC avancés, comme le contrôleur PN7150 de NXP Semiconductors, sont conçus pour simplifier l'inclusion de la fonctionnalité NFC dans une conception IoT ou dans n'importe quel système embarqué. Le PN7150 combine un circuit d'entrée RF, un cœur ARM® Cortex®-M0 base consommation, une mémoire et des périphériques E/S (Figure 1).

Schéma du contrôleur NFC PN7150 de NXP Semiconductors

Figure 1 : Le contrôleur NFC PN7150 de NXP Semiconductors combine un circuit d'entrée RF complet, un hôte de dispositif ARM Cortex-M0 et un micrologiciel intégré. (Source de l'image : NXP Semiconductors)

Le dispositif permet d'éliminer considérablement les problèmes courants d'intégration matérielle en garantissant une temporisation optimale entre l'hôte du dispositif intégré et le circuit d'entrée RF, tout en prenant en charge une puissance de sortie RF plus élevée. En outre, l'interface I2C intégrée est compatible avec la solution NTAG I2C Plus de NXP pour les capteurs, les dispositifs d'éclairage et d'autres dispositifs associés à des réseaux de maison intelligente. Par ailleurs, le dispositif permet de réduire les exigences énergétiques : le PN7150 peut passer automatiquement en mode basse consommation, tout en laissant l'hôte en mode veille jusqu'à ce que la communication RF soit requise.

En plus de simplifier la conception matérielle, le PN7150 offre des avantages logiciels considérables. NXP précharge les données intégrées du dispositif et la mémoire de code avec une prise en charge étendue de l'interface du contrôleur NFC (NCI). Gérées par le NFC Forum, les spécifications techniques NCI définissent l'interface logique entre un contrôleur NFC (NFCC) et un hôte de dispositif (DH) exécutant un système d'exploitation de haut niveau, comme Android, Linux ou Windows IoT.

Le micrologiciel NCI embarqué du PN7150 allège la charge de développement de logiciels en réduisant certaines interactions de l'hôte et en fournissant un niveau supérieur d'abstraction pour les développeurs de logiciels applicatifs NFC. En déplaçant le code de bas niveau vers le micrologiciel, le PN7150 réduit également l'espace du code d'application côté hôte.

Solution prête à l'emploi

Grâce à ses outils matériels et logiciels intégrés, le PN7150 est conçu comme une solution NFC prête à l'emploi pour les développeurs qui travaillent dans des environnements Android, Linux ou Windows (Figure 2). En fait, les développeurs novices en matière de développement NFC peuvent tirer parti des kits de démonstration PN7150 disponibles pour Arduino (NXP OM5578/PN7150ARDM), BeagleBone Black (NXP OM5578/PN7150BBBM) et Raspbery Pi (NXP OM5578/PN7150RPIM). Chaque kit comprend une carte de contrôleur NFC PN7150, une carte d'interface dédiée et une carte d’exemple NFC.

Schéma du PN7150 de NXP (cliquez pour agrandir)

Figure 2 : Le PN7150 de NXP nécessite peu de composants supplémentaires pour fournir un sous-système NFC complet qui s'intègre facilement au microcontrôleur hôte par l'intermédiaire d'une interface matérielle simple et au logiciel hôte par l'intermédiaire du protocole NCI. (Source de l'image : NXP Semiconductors)

Les concepteurs ont besoin de peu de composants pour créer un sous-système NFC complet pour une conception existante basée sur un microcontrôleur. Dans certains cas, les ingénieurs peuvent réduire davantage la nomenclature en éliminant ou en combinant certains composants passifs dans le circuit d'adaptation d'antenne (Figure 3).

Schéma du PN7150 en tant que contrôleur NFC (NFCC)

Figure 3 : En utilisant le PN7150 en tant que contrôleur NFC (NFCC), les concepteurs peuvent réduire davantage la nomenclature de certaines applications en simplifiant le circuit d'adaptation d'antenne. (Source de l'image : NXP Semiconductors)

Dans une conception de circuit d'antenne traditionnelle, des résistances d'amortissement RQ sont nécessaires sur les sorties de l'antenne pour réduire un facteur de qualité d'antenne excessivement élevé, qui peut avoir un impact négatif sur la forme du signal généré. Dans une conception présentant un facteur de qualité d'antenne nominal, les concepteurs peuvent retirer ces résistances d'amortissement RQ des extrémités de l'antenne. Dans le circuit d'adaptation lui-même, les concepteurs peuvent remplacer la paire de condensateurs parallèles par un seul condensateur (et éliminer le branchement au filtre CEM) lorsqu'une conception particulière présente une tension crête-à-crête suffisamment faible au niveau des sorties de l'antenne. Dans une application traditionnelle, où une petite antenne est reliée au PN7150, la tension crête-à-crête générée au niveau des sorties de l'antenne est relativement faible. Par conséquent, les concepteurs peuvent également simplifier le chemin Rx en retirant les condensateurs de découplage Crx et en reliant directement les résistances Rrx à l'antenne.

Logiciel simplifié

Du point de vue du logiciel, le PN7150 offre un modèle d'exécution simple qui permet d'accélérer davantage le développement de produits (Figure 4). L'architecture de l'hôte du dispositif associe un pilote de couche de transport, un pilote NCI et un intergiciel d'environnement d'exécution NFC (NFCEE) contenant les bibliothèques du mode lecture/écriture, poste-à-poste ou émulation de carte. Pour les opérations NFC, il suffit que l'hôte envoie des opérations NCI de haut niveau vers le PN7150 via l'interface I2C. À son tour, le micrologiciel du PN7150 exécute les transactions détaillées requises dans le protocole NFC.

Schéma du micrologiciel NCI embarqué du PN7150 de NPX

Figure 4 : Le micrologiciel NCI embarqué du PN7150 de NXP réduit l'empreinte logicielle sur l'hôte du dispositif (DH), qui a seulement besoin d'envoyer des commandes NCI via l'interface matérielle I2C pour l'exécution de transactions NFC détaillées sur le contrôleur NFC PN7150 (NFCC). (Source de l'image : NXP Semiconductors)

En effet, du point de vue du développeur, le développement d'applications NFC s'effectue à un niveau élevé grâce à la plateforme logicielle complète proposée par NXP. Pour les applications IoT compatibles NFC, une opération commune implique l'échange de données au format d'échange de données NFC (NDEF). Géré par le NFC Forum, le format de données NDEF est un format standardisé qui peut être utilisé pour échanger des informations, comme des URL ou du texte brut, entre n'importe quel dispositif compatible NFC et un autre dispositif ou une autre étiquette NFC.

La bibliothèque linux_libnfc-nci de NXP fournit une interface de programmation d'applications (API) simple qui fait abstraction des transactions de niveau inférieur dans les opérations axées sur des applications de niveau plus élevé. Par exemple, les développeurs peuvent écrire dans une étiquette grâce à un simple appel vers une routine WriteTag (Liste 1). La bibliothèque utilise une série de routines de niveau inférieur pour décomposer cette demande de niveau application en série d'étapes nécessaires pour la validation, le formatage et la transmission des données (msgToPush dans la Liste 1).

int WriteTag(nfc_tag_info_t TagInfo, unsigned char* msgToPush, unsigned int len)

{

            int res = 0x00;

           

            res = nfcTag_writeNdef(TagInfo.handle, msgToPush, len);

            if(0x00 != res)

            {

                        printf("Write Tag Failed\n");

                        res = 0xFF;

            }

            else

            {

                        res = 0x00;

            }

            return res;

}

Liste 1 : NXP fournit un logiciel NCI comme linux_libnfc-nci, qui est une bibliothèque NFC Linux à utiliser avec le PN7150. Les développeurs peuvent créer des applications NFC à l'aide de simples appels, comme WriteTag, permettant d'appeler des routines de niveau inférieur pour gérer des détails de protocole de messagerie NFC. (Source de la liste : NXP Semiconductors)

Un hôte de dispositif utilise des messages de contrôle NCI pour interagir avec un contrôleur NFC. Une séquence de commande NCI particulièrement importante fournit un mécanisme permettant à un contrôleur NFC de trouver d'autres cartes, lecteurs ou postes. Cette séquence de commande, appelée détection RF, fait en sorte qu'un dispositif NFC conforme, comme le PN7150, alterne entre l'écoute d'autres dispositifs de transmission et la transmission (phase d'interrogation) pour trouver une carte ou une étiquette à distance.

Comme pour toute technologie RF, la transmission nécessite une puissance beaucoup plus élevée que la réception radio (Figure 5). En effet, pendant la phase d'interrogation, le PN7150 consomme environ 30 mA, en fonction des caractéristiques de l'antenne. Pendant la phase d'écoute, le PN7150 attend une porteuse RF externe et la consommation de courant tombe à environ 20 μA lorsque le mode veille est activé.

Schéma des dispositifs NFC de NXP

Figure 5 : Les dispositifs NFC peuvent présenter des exigences d'alimentation relativement élevées en raison d'une phase d'interrogation prolongée dans la séquence de détection RF standard du NFC Forum. (Source de l'image : NXP Semiconductors)

En général, la phase d'interrogation dure environ 20 ms tandis que la phase d'écoute dure entre 300 ms et 500 ms. Pour une phase d'écoute de 500 ms, la consommation énergétique moyenne est la suivante :

(30 x 20 + 0,02 x 500) / 520 = 1,17 mA.

Pour réduire les exigences énergétiques pour la détection RF, le PN7150 de NXP utilise un mécanisme propriétaire appelé mode de détecteur de carte basse consommation (LPCD). En mode LPCD, le PN7150 cherche les variations d'impédance de l'antenne dues au couplage magnétique qui est généré lorsqu'un autre dispositif se trouve à sa proximité. Si la variation d'impédance est supérieure à un seuil prédéfini, le PN7150 entre automatiquement en séquence de détection RF standard du NFC Forum. Par conséquent, cette approche « basée sur l'événement » peut réduire considérablement la durée de la phase de détection RF et entraîner ainsi une consommation énergétique moyenne inférieure (Figure 6).

Schéma du PN7150 de NXP

Figure 6 : Le PN7150 de NXP peut réduire considérablement la consommation énergétique pour la boucle de détection RF en utilisant un mode de détection spécial conçu pour réduire la durée de la phase d'interrogation, qui nécessite beaucoup d'énergie. (Source de l'image : NXP)

Conclusion

La technologie NFC offre une connectivité sécurisée basse consommation qui peut améliorer considérablement la facilité d'utilisation de produits connectés dans des dispositifs électroniques domestiques, des systèmes corporels et d'autres dispositifs IoT. En plaçant simplement un smartphone compatible NFC près d'un produit connecté, les utilisateurs peuvent mettre en service le produit, charger des informations d'accès et récupérer des informations stockées sur le produit. Auparavant, l'implémentation NFC dans des systèmes basés sur des microcontrôleurs présentait des difficultés de conception pour l'intégration matérielle et logicielle. En revanche, les dispositifs NFC intégrés, comme le PN7150 de NXP, fournissent une solution prête à l'emploi pour les conceptions NFC, ce qui simplifie le développement matériel et logiciel pour des applications compatibles NFC.

DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey