Module de contrôleur universel pour l'Internet des objets



K66BLEZ1 est une carte de module pour développer une large classe d'appareils principalement dans le domaine de l' IoT , de l'électronique portable et de la petite automatisation. Il dispose d'une variété de ports et d'interfaces d'entrée / sortie, ce qui lui confère une polyvalence extraordinaire. Créé sur les derniers microcontrôleurs NXP de la famille Kinetis . A à bord un module radio avec prise en charge de Bluetooth LE 4.2 et ZigBee . Il y a aussi des emplacements pourcartes microSD et USB 2.0 HS avec prise en charge des modes appareil , hôte , OTG et un chargeur de batterie au lithium 3,6 V. Deux emplacements de 60 contacts sont affichés en bas. Il y a une horloge en temps réel non volatile avec une batterie séparée. La carte est accompagnée d' un logiciel open source .


En bref sur le conseil d'administration.


Deux microcontrôleurs sont installés sur la carte: MK66FN2M0VLQ18 (180 MHz, 2 Mo de Flash, 256 Ko de RAM) et MKW40Z160VHT4 (48 MHz, 160 Ko de Flash, 20 Ko de RAM) . Le premier pour l'application principale et le second pour les communications sans fil. 90 broches de signal du microcontrôleur MK66 sont acheminées vers deux connecteurs externes.

6- PCB 2,4 .
— FR4,
.
Immersion gold ENIG.


( )


UMC.


.

( )


C (3D) Altium Designer.
c .


( )


Représentation d'un élément de circuit de module dans l'environnement Altium Designer


(Cliquer pour agrandir)




Schéma du module K66BLEZ1.


Cliquez ici

La plupart des sorties du microcontrôleur MK66FN2M0VLQ18 sont câblées à deux connecteurs externes. Les connecteurs sont sélectionnés de sorte qu'il soit pratique de connecter et déconnecter le module de la carte mère.
L'alimentation de la carte est connectée soit via un connecteur USB, soit via les connecteurs d'extension X6, X7. Le microcircuit du chargeur BQ24296RGET fournit une charge autonome fiable d'une batterie au lithium via USB avec contrôle du courant, de la tension et de la température de la batterie.

L'ordre de mise en service de la carte.



Première étape. Alimentation électrique du module.


L'alimentation est fournie en connectant un câble USB. La consommation de courant ne dépasse pas 100 mA, donc toute interface hôte USB de l'ordinateur convient. Bien qu'il n'y ait aucun programme dans le microcontrôleur, l'ordinateur ne réagit en aucune façon à la connexion du module via USB.
Mais sur le module, la LED PwrGood devrait s'allumer. La LED du chargeur devrait clignoter, ce qui indique que la batterie n'est pas connectée. La LED «CPU» est programmée, elle est donc également éteinte.

Deuxième étape Connexion d'un adaptateur JTAG / SWD et vérification de la fonctionnalité des canaux SWD.


Les microcontrôleurs de la carte ont des connecteurs séparés pour connecter les adaptateurs de débogage via l' interface SWD . le microcontrôleur K66 permet une connexion SWD à 3 fils avec un signal SWO (connecteur X3), et le microcontrôleur MKW40 permet uniquement une connexion à 2 fils (connecteur X4). Mais cela n'impose pas de restrictions sur l'adaptateur de débogage, et il peut en être de même pour les deux microcontrôleurs.
Pour le débogage, j'utilise l'adaptateur J-Link . Débogage des connecteurs sur le module avec un pas de 1,27 mm. Par conséquent, j'ai dû faire un adaptateur spécial du connecteur d'adaptateur standard au connecteur de module comme indiqué sur la photo ci-dessous.

(Cliquez pour agrandir)


Bien que l'adaptateur J-Linket est le meilleur de sa catégorie, mais vous pouvez utiliser des débogueurs moins chers pour le débogage, par exemple, ST-Link .
Pour tester les performances des canaux de débogage et de programmation, j'utilise un utilitaire de Segger JFlash .
Cet utilitaire vous permet de visualiser l'état de toutes les zones de la mémoire de la puce, de tester la vitesse de l'interface et de programmer la mémoire flash des puces.

(Cliquez pour agrandir)



(Cliquez pour agrandir)


En utilisant JFlash, j'ai pu connecter et vérifier les deux puces sur le module.

Troisième étape Test du premier programme du microcontrôleur K66


Cependant, le premier programme ne sera pas Hello Word ni même une LED clignotante.
Comme premier test, nous sélectionnons immédiatement l'émulateur de lecteur externe via USB et l'émulateur de caméscope USB .
Cela est possible car le schéma du module répète le schéma de la carte de débogage FRDM-K66F de plusieurs façons.

Mais vous avez d'abord dû télécharger le SDK avec des exemples de programmes.
Un SDK pour la carte est créé par un outil en ligne spécial sur le site Web NXP.com à http://kex.freescale.com/en/summary?cas_auth=1 (pour cela, vous devrez vous inscrire sur le site)
Dans la boîte de dialogue, sélectionnez le microcontrôleur MK66FN2M0xxx18
La boîte de dialogue ressemblera à celle illustrée ci-dessous:

(Cliquez pour agrandir)


Vous devez immédiatement déterminer l'environnement de développement dans lequel le SDK sera compilé. Vous pouvez choisir quelque chose un dans la liste ou tout à la fois. La liste comprend à la fois des IDE commerciaux et gratuits:

je choisis traditionnellement IAR . Mes recherches récentes sur la sélection du compilateur ont montré une fois de plus que IAR est toujours hors compétition, de toute façon pour ARM Cortex-M4 .
Le SDK sera créé avec des exemples d' applications intégrées et des tests périphériques pour les cartes frdmk66f et twrk65f180m . Presque tous les exemples de la carte frdmk66f conviennent également à notre carte K66BLEZ1. Étant donné que les résonateurs à quartz de ces cartes ont la même fréquence, le K66BLEZ1 possède la même carte SD et la même interface USB HS.

Des exemples ont été testés: usb _ device _ cdc _ vcom , usb _ device _ cdc _ vcom _ lite , usb _ device _ msc _ sdcard , usb _ device _ video _ virtual _ camera .

Écrire sur une carte SD en usb _ exemplepériphérique _ msc _ sdcard était plutôt faible - 200 Ko / s, lecture - 1 Mo / s.
Dans l'exemple usb _ périphérique _ vidéo _ virtuel _ caméra , le programme PotPlayer x64 a été utilisé pour regarder la vidéo. Une capture d'écran de la vidéo intégrée au microcontrôleur est présentée ci-dessous.

(Cliquer pour agrandir)


Total


La carte a montré des performances fiables. L'interface USB a été testée à une vitesse maximale de 480 Mbps. Tous les pilotes USB côté PC sont également fonctionnels. Les mécanismes de débogage des deux processeurs fonctionnent sans échecs, y compris SWD, le traçage et le port COM virtuel. D'autres tests se poursuivront dans les prochains articles.

Tous les matériaux liés à ce projet sont stockés ici - https://github.com/Indemsys/K66BLEZ1

Source: https://habr.com/ru/post/fr392839/


All Articles