[AUDIO_VIDE] [AUDIO_VIDE] Les enseignes et afficheurs à Led utilisent extrêmement souvent des microcontrôleurs pour les piloter. Voyons de quoi il s'agit. Nous partirons de ce qu'est un système informatique, pour comprendre ce qu'est un microcontrôleur, nous regarderons ensuite les nombreuses familles qui existent de microcontrôleurs, puis nous regarderons comment mettre en oeuvre un microcontrôleur, avec son schéma, avec la programmation. Nous sommes tous familiers avec les systèmes informatiques. Nous en avons dans nos PC, dans nos smartphones, et ils obéissent finalement tous à une architecture de ce type là, avec un processeur, qui est l'élément qui fait le travail, cadencé par une horloge ; on a ici une mémoire morte, qui contient des instructions. Cette mémoire morte est permanente, elle s'appelle le Bios sur les PC. On a ici de la mémoire vive, qui elle, perd son contenu lorsqu'on coupe le courant, et finalement, nous avons ici des circuits d'entrée et sortie, input/output, qui vont donc communiquer avec l'extérieur, sur un PC ce sera un clavier, une souris, un écran, un disque dur, etc. Un microcontrôleur obéit exactement à la même architecture, mais a la particularité de se trouver à l'intérieur d'un circuit intégré. Un microcontrôleur est donc un circuit intégré contenant un petit système informatique. Alors généralement, son processeur est moins performant que le processeur d'un ordinateur individuel. Les capacités de sa mémoire sont plus limitées, mais on a bel et bien cette structure avec des entrées et sorties qui se matérialisent sous forme de broches, qui vont permettre de lire et d'écrire des signaux vers l'extérieur. Tout l'intérêt du microcontrôleur, c'est qu'il est petit, qu'il consomme peu de courant et surtout, que son coût est extrêmement faible, on arrive souvent à des coûts de moins de un euro. Contrairement aux processeurs des ordinateurs, pour lesquels il n'y a que un, deux ou trois fabricants au niveau mondial, les microcontrôleurs sont proposés par des dizaines de fabricants, qui proposent des milliers de modèles différents. On voit ici le fabricant Microchip, avec ses célèbres PIC, Atmel, qui a développé les AVR dans celui qui est utilisé dans l'Arduino, à noter que ces deux sociétés ont fusionné il y a quelque temps, ici, deux fabricants européens, NXP, anciennement Philips, hollandais, ici ST microelectronics, qui est issu des projets de microélectronique français et italien. Ici, un grand fabricant, Texas Instruments, américain, qui était présent dès le début des semi-conducteurs, un autre fabricant ici moins connu, qui fabrique les jolis microcontrôleurs Cypress. Les mémoires mortes de ces microcontrôleurs sont des mémoires flash, que l'on peut ré-effacer. Elles ont des capacités qui peuvent être très petites, comme un kilooctet, mais elles peuvent avoir jusqu'à des mégaoctets donc, une gamme de produits très vaste. De même, pour les mémoires vives, on peut avoir seulement quelques octets de mémoire vive et jusqu'à des centaines de kilooctets. Les broches, qui permettent de communiquer avec l'extérieur, il peut y en avoir quelques-unes, six sur certains petits microcontrôleurs, des centaines pour d'autres microcontrôleurs. Naturellement, les boîtiers pour tous ces modèles peuvent être très différents, Ici, ce boîtier n'a que 14 broches, il est relativement gros, celui-là en a davantage et il est plus petit, celui-là en a encore davantage. Si l'on regarde en détail, c'est directement sur le boîtier que se trouvent les connexions, et ce circuit intégré est à peine plus gros que le chip, que le morceau de silicium qui le constitue. Prenons un exemple concret, le microcontrôleur MSP430G2553, c'est celui qui est utilisé dans le LaunchPad MSP430G. Il est fourni, entre autres, dans un boîtier Dual in Line de 20 broches, dont on trouve ici le brochage. On constate qu'il y a une connexion pour la masse, le zéro volt, une connexion d'alimentation, presque toutes les autres broches sont pour des entrées et sorties, et ici, il y a deux broches particulières, le Reset et le Test, qui vont être utilisées en particulier pour la programmation. Il faut bien comprendre qu'un microcontrôleur est avant tout un composant électronique, mais un composant programmable. Par conséquent, il y a une partie qui est la mise en oeuvre matérielle, avec des schémas électroniques et cela nécessite des compétences d'électronicien, mais il y a aussi la partie mise en oeuvre logicielle où, cette fois, il faudra des logiciels, des environnements de programmation et il faudra des compétences de programmeur, d'informaticien. Voilà un schéma de mise en oeuvre matérielle d'un microcontrôleur. On retrouve les deux alimentations, ici ce microcontrôleur est alimenté à 3 Volts et non pas à 5 Volts. Tous les électroniciens savent bien qu'il faut un condensateur, appelé condensateur de découplage entre le plus et le moins. C'est une sorte de petite réserve d'électricité qui permet d'avoir des charges à disposition au moment des transitions. Ici, on trouve cette broche Reset, cette broche Test, dont j'ai dit qu'on allait les utiliser pour la programmation, d'où la présence de ces deux broches de connexion vers l'extérieur, ici on a une résistance qui tire vers le haut, qui maintient à l'état 1 cette broche Reset qui est active à 0, de telle manière que le Reset ne s'exécute pas en permanence, et que le programme puisse tourner normalement. Et finalement, ici, je n'ai mis en évidence qu'une broche d'entrée/sortie, sur laquelle on a relié une diode lumineuse bien évidemment, avec sa résistance de limitation de courant, en série. Voici un montage qui matérialise le schéma que nous venons de voir. Ça peut vous sembler étrange, vous allez me dire que ça ne ressemble pas à ce schéma, et pourtant. Prenons seulement un exemple, examinons cette partie du schéma et regardons sa matérialisation. La broche numéro deux se trouve ici. Ses cinq trous, comme tous les autres groupes de cinq trous, sont connectés les uns aux autres. Ici, on a un fil qui connecte ce groupe à ce groupe. Et on voit bien ici qu'on est connectés sur l'anode de la diode lumineuse. C'est bien donc ce fil-là qui a été réalisé par ce chemin. À la cathode de la Led, on doit être relié sur la résistance, la cathode de la Led est passée à la résistance. Et la résistance elle-même est au zéro Volt, elle est sur cette barre d'alimentation qui est également connectée ici jusqu'à la patte 14 du microcontrôleur, ici. Souvenons-nous de ces deux broches, Reset et Test. Ce sont elles qui vont permettre de relier le programmateur au microcontrôleur. Le programmateur lui-même est relié à un PC, qui contient un logiciel de développement. Par exemple, ici sur la carte LaunchPad MSP430, cette partie-là c'est le programmateur. Une connexion USB permet la liaison au PC. Sur le PC, un logiciel, comme Code Composer Studio, ou encore Energia, va s'exécuter. Il enverra au programmateur les commandes qui vont permettre de programmer le microcontrôleur. On peut remarquer ici qu'il y a des cavaliers qui permettent de connecter le programmateur au microcontrôleur. En particulier pour Reset et pour Test. Il sera possible d'enlever ces cavaliers et de connecter un autre microcontrôleur, grâce à ces deux broches Reset et Test. Dans le cas de la carte Arduino, bien connue, on n'a pas à proprement parler de programmateur. On est obligé d'avoir un microcontrôleur déjà programmé, pour que la carte puisse fonctionner. Et ce microcontrôleur va dialoguer à travers un circuit spécialisé et la connexion USB, il va recevoir du PC les informations pour par exemple écrire un nouveau programme, et c'est le microcontrôleur lui-même, qui va placer le nouveau programme dans une autre partie de sa mémoire. Nous avons donc vu qu'un microcontrôleur est un petit système informatique contenu dans un circuit intégré, nous avons vu qu'il nécessite une mise en oeuvre matérielle, des schémas, nous avons vu qu'il nécessite une mise en oeuvre logicielle des programmateurs et des logiciels. Ces microcontrôleurs nous seront extrêmement utiles pour nos enseignes et afficheurs à Led.