Comme nous l’avons précisé dans le cahier des charges, le journal lumineux que nous avons réalisé fonctionne à l’aide d’un microcontrôleur MSP430G2231, trois registres de décalages 74HC595 et deux matrices de LED 8x8. L’envoi continu des messages via une transmission série USB de l’ordinateur vers le journal lumineux est assuré à travers une interface Labview. L’ensemble de la solution est illustré dans la figure II.16.
19
Chapitre II : Etude de l’existant et Etat de l'Art Dabbeche Cheima
Figure II. 16 : schéma synoptique de la solution
Afin de mieux comprendre le principe de fonctionnement de notre solution, nous avons étudié minutieusement les différents éléments intervenant dans notre réalisation.
C’est pour cela que nous avons consacré la suite de ce chapitre à une étude bibliographique qui aboutira par la suite au choix des technologies adoptées dans notre système.
4. Etude des Microcontrôleurs
4.1 Définition
Un microcontrôleur est un système informatique complet rassemblé dans un circuit électronique. Il contient tous les composants essentiels des systèmes informatiques, à savoir :
-
Un processeur.
-
Des mémoires mortes : pour l’implémentation du programme de traitement.
-
Des Mémoires vives : pour l’enregistrement des données.
-
Des interfaces d’entrée-sortie pour l’échange des données.
4.2 Utilité des microcontrôleurs
L’utilisation des microcontrôleurs ne cesse de croître dans la réalisation d’applications électroniques embarquée d’autant plus que les critères de taille mémoire et de vitesse d’exécution deviennent déterminants [6].
Ces systèmes sont diffèrent par rapport aux systèmes traditionnels par les aspects suivants:
-
Ils doivent obéir à des contraintes de taille, de coût et de consommation électrique.
20
Ils sont destinés à une tâche précise. La demande en mémoire des programmes associés est donc généralement modeste.
Chapitre II : Etude de l’existant et Etat de l'Art Dabbeche Cheima
Ils ne disposent pas d’interfaces homme-machine (clavier, écrans, imprimante…) parce qu’ils sont invisibles à l’utilisateur.
4.3 Le choix d'un microcontrôleur
Le choix du microcontrôleur est dicté principalement par deux critères:
-
L'adaptation de son architecture interne aux besoins de l'application comme la présence de convertisseur(s) A/N (Analogique/Numérique) ou de Timer(s) disposant d'un mot particulier.
-
La disponibilité d’un système de développement du microcontrôleur choisi.
4.4 Les familles des microcontrôleurs
Il y a plusieurs catégories de microcontrôleurs, nous citons :
-
La famille Intel 8051 : utilisée dans certains processeurs récents avec l’association d’autres périphériques (ports d'E/S, compteurs/temporisateurs, convertisseurs A/N et N/A, superviseur de tension, etc.) ;
-
La famille Intel 8085, à l'origine conçue pour être un microprocesseur, mais a souvent été utilisé en tant que microcontrôleur.
-
La famille des PIC de Micro chip.
-
La famille des ST6, ST7, ST10, STR7, STR9 de STMicroelectronics.
-
la famille MSP430 de Texas Instruments.
Notre choix se concentre sur le msp430 par ses avantages qu’on va les citer dans la suite.
5. Les MSP430s
Le MSP430 est une gamme de microcontrôleurs "Ultra-Low-Power " de Texas
Instrument réputés pour consommer très peu d'énergie, un micro contrôleur à cœur RISC (Reduced Instructions Set Computer) 16 bits. Ces micro contrôleurs tournent jusqu'à 8 MHz pour certains et jusqu'à 16 MHz pour d'autres.
21
Chapitre II : Etude de l’existant et Etat de l'Art Dabbeche Cheima
Le MSP430 fonctionne à des fréquences de l'ordre de 8 MHz, 16 MHz pour les modèles les plus récents. Il a toutefois des limitations qui l'empêchent d'être utilisé dans des systèmes embarqués plus complexes. Par exemple, il n'a pas de bus mémoire externe (qui permettrait d'accéder efficacement à des mémoires RAM / ROM externes) et sa capacité de mémoire (8K de RAM, 120 K de flash pour les mieux dotés) peut se révéler insuffisante pour des applications qui demandent de grandes tables de données. Ils sont donc indiqués pour les systèmes autonomes, des compteurs intelligents, des capteurs sans fil, ...
Les atouts de la famille MSP430 :
-
Faible consommation, architecture "carrée", bonne compatibilité de code entre les membres de la famille.
-
Grande quantité de notes d'applications assorties de code C et assembleur fournies par TI.
-
Large panoplie de périphériques intégrés : DAC et ADC, comparateurs, driver LCD, SPI, I2C, UART ...
-
Jusqu'à 16 ko de RAM
-
1-µs Clock startup
-
Optimisé pour le C et l'assembleur
-
16 registres 16 bits à usage général (données et index).
5.1 Le modèle de programmation du MSP430
Un cœur RISC:
-
27 instructions de base
-
+ 24 instructions «émulées»
-
7 modes d’adressage pour l’opérande source.
-
4 modes d’adressage pour l’opérande destination.
La CPU du MSP430 a une architecture de Von Neumann, avec un espace unique pour adresser instructions et données. La mémoire est adressée par bytes et pairs de bytes sont combinées pour faire des words de 16 bits. Le processeur contient 16 registres de 16 bits.
-
R0 est le program counter.
-
R1 est le stack pointer.
22
R2 est le status register.
Chapitre II : Etude de l’existant et Etat de l'Art Dabbeche Cheima
R3 est un registre spécial appelé le constant generator, et donnant accès à 6 constantes utilisées fréquemment sans devoir utiliser d’autres opérandes.
-
R4 à R15 disponibles pour usage général.
5.2 Architecture générale d’un MSP430
L’architecture générale d’un MSP430 est constituée de plusieurs modules comme l’illustre la figure II.17.
Figure II.17: Architecture générale d’un MSP430
MAB = memory address bus
MDB = memory Data Bus
Pour commander les ports d'entrée sortie d’un msp430, on utilise ce qu'on appelle des registres du micro. Les registres sont des cases mémoires qui sont reliées aux périphériques du micro. Il y a plusieurs centaines de registres dans un MSP430. Il y en a pour les ports d'entrée-sortie, mais aussi pour d'autres périphériques comme les timers, l'UART, les horloges.
5.3 Le MSP430G2231
23
Le microcontrôleur MSP430G2231 comporte 8 entrées sorties générales munies d’ADC, dont trois d’entre elles peuvent être utilisées pour la communication SPI ( Serial Peripheral Interface qui est un bus de données série synchrone baptisé par Motorola, et qui opère en Full-duplex, les circuits communiquent selon un schéma maître-esclaves qui illustré par la figure II.18).
Chapitre II : Etude de l’existant et Etat de l'Art Dabbeche Cheima
Figure II.18:La liaison SPI (un maître et un esclave)
Le µC est équipé de :
2kB de mémoire flash128B de RAM un CPU avec 16 registres, un port P1 gérant 8 I/O, Le reste des éléments composants le µC.
Figure II.19: msp430G2231
5.3.1 Caractéristiques de la famille G2231
Construit autour d'un CPU 16 bits, le MSP430 a été conçu pour des applications embarquées à basse consommation et à faible coût. Il est particulièrement adapté aux applications sans-fil fonctionnant sur batteries.
L’architecture interne d’un MSP430G2231 est constitué d’une mémoire programme (FLASH) 8K mots de 14 bits, une mémoire RAM 368 octets, une mémoire utilisateur (EEPROM) 256 octets, circuit d’horloge, périphériques internes, et un port entrée/sortie.
24
Le composant est disparaître en une série de configurations comprenant les périphériques usuels:
Chapitre II : Etude de l’existant et Etat de l'Art Dabbeche Cheima
convertisseurs A/D 10/12/14/16 bits.
-
convertisseurs D/A 12 bits.
-
comparateurs.
-
interfaces USART, SPI, I2C.
-
pilote LCD.
-
Watchdog.
-
multiplicateur hardware.
-
oscillateur interne.
-
Les ports d’entrées/sorties
Le MSP430G2231 possède 16 pattes, la patte 1 est utilisée pour l'alimentation. Elle doit être reliée à une source de tension d'environ 3 volts (entre 2 volts et 3.6 volts pour être précis). En général, on utilise du 3.3 volts. Sur le Launchpad elle est déjà reliée au 3.3 volts. La patte 14 doit être reliée à la masse (0 volts) ou à la broche d'une pile. Sur le Launchpad elle est déjà reliée à la masse.
Les pattes 2 à 9 sont utilisées (entre autre) par le port d'entrée-sortie P1. Ce port d'entrée-sortie possède 8 connections nommées P1.0 à P1.7.
Les pattes 12 et 13 sont utilisées (entre autre) par le port d'entrée-sortie P2 (P2.6 et P2.7).
On voit aussi que certaines pattes ont plusieurs fonctionnalités. Par exemple la patte 12 peut être soit P2.7, soit XOUT (utilisé par un oscillateur externe). Par défaut, à la mise sous tension, ce sont les fonctionnalités des ports d'entrées-sorties qui sont active. Si on veut utiliser une autre fonctionnalité, il faudra écrire une instruction dans le programme pour cela.
Le timer 2 (8 bits) : est incrémenté par l’horloge interne, celle-ci peut être pré divisée.
Tous ces timers peuvent déclencher une interruption interne, si elle est autorisée.
Dostları ilə paylaş: |