3 conseils pour réutiliser les cartes de développement pour les tests
Si vous ne pouvez pas être avec celui que vous aimez, aimez celui avec qui vous êtes en réaffectant la carte de développement que vous possédez déjà.
Malheureusement, mon copilote de développement de logiciels embarqués (une sonde Saleae Logic originale que j’ai depuis une décennie) a mordu la poussière l’autre soir. Je travaillais tard et j’ai accidentellement connecté l’un des canaux à un signal de 12 volts lorsque l’analyseur a été conçu pour 5V avec une protection contre les surtensions de 10V. (Oui, cela signifie qu’un autre article sur la façon de protéger votre équipement de test sera bientôt disponible).
Avec du travail encore à faire et 24 à 48 heures avant de recevoir mon nouvel analyseur, j’ai dû improviser pour continuer ma session de débogage, ce qui m’a amené à réutiliser un Pyboard d’origine MicroPython pour cette tâche. Examinons quelques conseils pour réutiliser les cartes de développement pour l’équipement de test.
Astuce n°1 – Utilisez une carte de développement prenant en charge Python
Presque toutes les cartes de développement peuvent être utilisées pour acquérir des données. Les microcontrôleurs embarqués disposent d’interfaces périphériques utiles telles que des convertisseurs analogique-numérique, GPIO et une large gamme de périphériques de communication. Cela peut se prêter bien à la personnalisation d’une configuration de test qui pourrait ne pas être disponible dans un équipement de test standard. Un facteur important cependant est que si une carte de développement est utilisée comme équipement de test, elle devrait être facile à programmer.
Personnellement, je trouve que tirer parti de Python rend l’écriture de scripts de test beaucoup plus facile, il est donc fortement recommandé de sélectionner une carte de développement prenant en charge MicroPython ou Circuit Python. Ces cartes de développement prennent déjà en charge le matériel de bas niveau, il est donc facile de mettre quelque chose en service en moins de 10 minutes.
Astuce n ° 2 – Utilisez les instructions d’impression Python pour transférer des données
Il existe certainement différentes techniques qui peuvent être utilisées pour transférer des données entre la carte de développement et un PC pour acquérir des données. Lorsque j’ai dû tirer parti de mon analyseur logique de fortune, j’ai écrit une routine très simple qui utilisait la connexion USB de la carte de développement pour transférer les déclarations d’impression vers le PC. J’essayais simplement de mesurer que la synchronisation était correcte sur un canal de sortie sur une période de temps prolongée. Pour cela, j’ai pu simplement enregistrer l’heure système actuelle, puis calculer la différence entre eux. La routine ressemble à ce qui suit :
tant que vrai :
Nouvel État = pin_x2.value()
si NewState != Etat :
État = Nouvel État
monHeure = heure.tick_ms()
imprimer (monHeure)
pyb.LED(LED_GREEN).toggle()
Sur un seul canal, le code recherche simplement la logique sur la broche à changer, puis il enregistre l’heure. Le lecteur peut voir l’utilisation de la déclaration d’impression et celle pour la confirmation visuelle et la LED est basculée. Cependant, il y a une tonne qui peut être utilisée avec cette technique sur plusieurs canaux sans trop d’effort.
Astuce n°3 – Capturer des données dans un terminal
Il est courant d’enregistrer les données entrantes quelque part et l’endroit le plus naturel est d’utiliser un terminal. En utilisant Linux ou un terminal Mac, il est facile d’ouvrir le port de communication et de rediriger simplement le contenu entrant vers un fichier pour un traitement ultérieur. Cependant, sous Windows, il n’y a pas vraiment de terminal intégré qui puisse le faire. Cependant, plusieurs options s’offrent aux développeurs.
Premièrement, les développeurs peuvent utiliser la fonction de capture dans un outil comme Realterm. Ce logiciel de terminal redirigera les données entrantes sur un port vers un fichier. Deuxièmement, les développeurs pourraient écrire un simple script Python qui lit les données entrantes à l’aide de PySerial, puis écrit les données dans un fichier. Cela pourrait être exécuté directement à partir de la ligne de commande et si nécessaire ou personnalisé pour les données. Une approche de script Python permet une utilisation multiplateforme, mais si un développeur est pressé, le simple fait d’utiliser Realterm demande moins de travail et fournit de bons résultats.
Conclusion
Les cartes de développement peuvent servir un deuxième objectif aux développeurs qui leur permet de réutiliser la carte pour l’utiliser comme équipement de test. Cela peut offrir une flexibilité supplémentaire pour tester un système embarqué et permettre aux données reçues d’être personnalisées afin qu’elles soient plus faciles à traiter. Bien que rien ne puisse vraiment remplacer mon analyseur préféré (qui est maintenant sur mon banc et prend la place qui lui revient), j’utilise toujours des cartes de développement pour des capacités de mesure personnalisées que, sinon, je ne pourrais peut-être pas trouver de logiciels bon marché, prêts à l’emploi ou même pas du tout. Cela peut être particulièrement utile lorsqu’un test personnalisé doit être effectué ou lorsque les données sont nécessaires dans un format spécifique.