MSP430
Bienvenue sur la page d'accueil MSP430, où j'ai rassemblé mes élucubrations concernant ce microcontrôleur de Texas Instruments.
Contexte
Il ne s'agit pas d'un cours sur le MSP430, mais plutôt d'un pense-bête sur certains thèmes, essentiellement pour moi afin d'aider ma mémoire. Ne vous attendez donc pas à suivre des leçons pour tout apprendre sur ce microcontrôleur, d'autant plus que Texas Instruments (TI) offre tout ce que vous voulez apprendre sur son site, ainsi qu'une communauté plutôt importante.
Les sites où avoir des informations :
Je dois reconnaitre que l'IA peut vraiment vous aider à vous y retrouver dans le code et l'assembleur, mais il faut s'en méfier. Les grandes lignes sont souvent assez justes, mais si vous commencez à regarder dans le détail, alors ça craint assez vite. D'ailleurs, elle-même change carrément d'avis sur certains sujets, elles sont capables de vous donner un code, puis à la question suivante, changer du tout au tout, je l'ai vu faire.
Matériel
Perso, j'utilise du vieux matériel pour programmer et debugger (je ne suis pas un bon exemple), mais bon tout est séparé :
- Un laptop sous XP (autant qu'il serve). Quand même avec de la mémoire flash comme disque dur, du coup, ça bourre.
- CCS v6. Je programme en C, mais parfois il faut se peler un peu d'assembleur.
- N'importe quelle carte de développement, par exemple une LaunchPad, où je n'utilise que l'interface 4 fils pour programmer, à savoir masse, alim, reset et test.
C'est quand même nettement plus pratique par rapport à mes débuts sur TRS-80, où j'avais un magnétophone à cassette comme mémoire de masse, et 16k de RAM.
Pourquoi le MSP430 ?
Quand je suis arrivé au CEA, je me suis remis à la programmation de petits objets, et TI proposait des kits basiques et très bien documentés. De plus, je me suis vite rendu compte que l'on gardait la main sur le matériel, ils ne cherchaient pas à planquer le hardware, comme c'est le cas en Arduino où la moindre interface I/O est enrobée de manière à faciliter le job aux débutants, mais c'est un mauvais plan car vous ne savez plus ce qui se passe dans le détail.
Ce microcontrôleur est très orienté basse consommation, et c'est d'ailleurs très remarquable.
De plus, les puces TI ne sont vraiment pas chères, avec un choix étendu, ce qui était un avantage quand vous conseillez à un industriel de faire une carte électronique programmable.
Il n'y a rien de mystérieux en informatique (ni même en électronique), la théorie tient sur une ou deux pages. C'est juste le mode d'emploi et les conventions qui sont catastrophiquement longs... C'est là où l'IA peut vous aider, dans une certaine mesure.
Sommaire
Thèmes
Voici les articles disponibles :
- Call, jump et stack : je me suis heurté au problème de la tâche de fond longue à exécuter, alors que
j'avais aussi des tâches prioritaires à traiter, découlant d'interruptions.
Il a fallu alors créer un petit « scheduler », un truc qui permet d'exécuter la tâche de fond quand du CPU est disponible, que l'on peut interrompre avec des interruptions (no problemo), mais il fallait ensuite traiter ASAP le résultat des interruptions (par exemple mettre à jour l'affichage d'une horloge, qui ne souffre pas d'attendre dix minutes), donc passer sur la section de haute priorité. Sauf qu'on ne peut raisonnablement pas ajouter du code dans la tâche de fond pour regarder s'il faut passer en haute priorité... Et je ne voulais pas installer un OS (RTOS) rien que pour ça, sans compter la mémoire requise pour faire ça.
Réalisations
On trouvera aussi des renseignements divers dans mes réalisations à base de MSP430 :
- Filtre passe-bas, verrouillage de phase pour une horloge DCF77 sur MSP430.
- Un pummer très basse consommation avec MSP430, qui passe son temps à sommeiller, cette feignasse. Mais il consomme vraiment très peu d'énergie.
- Un oxymètre de pouls, avec un afficheur très basse consommation.
- Un compteur Geiger (un détecteur de radioactivité) très basse consommation, qui marche sur une pile bouton. Alors qu'il faut plus de 300 volts pour faire marcher un tube...
- Un réseau de thermomètres sans fil. La basse consommation étant obligatoire, je ne voulais pas changer de pile tous les quatre matins.
Bonne lecture 🤓