Les microcontrôleurs sont apparus :
⇒ Quand on a sut les fabriquer, c'est à dire quand les technologies d’intégrations ont suffisamment progressées.
⇒ Quand dans les applications domestiques ou industrielles ont avait besoin de systèmes
« intelligents » ou tout au moins programmables.
Les microcontrôleurs sont fréquemment utilisés dans les systèmes embarqués, comme les contrôleurs des moteurs automobiles, les télécommandes, les appareils de bureau, l'électroménager, les jouets, la téléphonie mobile, etc.
- Utilisation :
le nombre de composants sur le circuit électronique et donc fiabiliser le circuit.
Le microcontrôleur est en concurrence avec d’autres technologies Suivants les applications: 3 types de technologies :
=>Logique câblée :
- très rapide, fonctions réalisées par une voie matérielle.
- non programmable, peu économique quand l’application est complexe peu de souplesse : durée d’étude prohibitif et circuit difficilement modifiable.
- rapide, adapté au traitement de signaux complexes.
- prix élevé et langage de programmation non standard.
- grande souplesse : fonctions sont réalisées par voie logicielle puissance de calcul, langage évolué.
- nombre important de composant à réunir, solution onéreuse.
_si la fonction à réaliser est simple ⇒ une logique câblée.
_si le nombre d'unités à réaliser est très important ⇒ circuits intégrés dédié en logique câblée pour les fonctions simples.
- Avantages et inconvénients :
Les μcontrôleurs = avantage des μprocesseurs mais limités aux applications ne nécessitant pas trop de puissance de calcul, nombre de composant très réduit, mais souvent surdimensionnement devant les besoins de l’application.
=>Les avantages des microcontrôleurs:
- Diminution de l’encombrement du matériel et du circuit imprimé.
- Simplification du tracé du circuit imprimé (plus besoin de tracer de bus !).
- Augmentation de la fiabilité du système
>nombre de composants .
>connexions composants/supports et composant circuit imprimé .
- Intégration en technologie MOS, CMOS, ou HCMOS.
>diminution de la consommation.
- Le microcontrôleur contribue à réduire les coûts à plusieurs niveaux:
>moins cher que les composants qu’il remplace.
>Diminution des coûts de main d’oeuvre (conception et montage).
- Environnement de programmation et de simulation évolués.
=>Les défauts des microcontrôleurs :
- le microcontrôleur est souvent surdimensionné devant les besoins de l’application.
- Investissement dans les outils de développement.
- Écrire les programmes, les tester et tester leur mise en place sur le matériel qui entoure
le microcontrôleur.
- Incompatibilité possible des outils de développement pour des microcontrôleurs de même marque.
- Les microcontrôleurs les plus intégrés et les moins coûteux sont ceux disposant de ROM programmables par masque.
En conclusion :
le microcontrôleur présente l’avantage des μprocesseurs mais limités aux applications ne nécessitant pas trop de puissance de calcul (architecture courante 8bits).
Il existe plusieurs architecture de microcontrôleurs de 4 à 128 bits pour les applications demandant une certaine puissance de calcul (injecteurs automobile).
- microprocesseur et microcontrôleur:
Le processeur est l'élément central d'un système informatique : il interprète les instructions et traite les données d'un programme. Il a besoin de certains éléments externes pour fonctionner :
- une horloge pour le cadencer .
- de la mémoire pour stocker les variables durant l’exécution du programme (mémoire vive RAM) et le programme d’une mise sous tension à l’autre (mémoire morte ROM).
- des périphériques (pour interagir avec le monde extérieur).
- le bus d'adresse qui permet au microprocesseur de sélectionner la case mémoire ou le périphérique auquel il veut accéder pour lire ou écrire une information (instruction ou donnée).
- le bus de données qui permet le transfert des informations entre les différents éléments ; ces informations seront soit des instructions, soit des données en provenance ou à destination de la mémoire ou des périphériques.
- le bus de contrôle qui indique si l'opération en cours est une lecture ou une écriture, si un périphérique demande une interruption pour faire remonter une information au processeur, etc.
Structure d'un système à microprocesseur. |
- la nécessité de prévoir l'interconnexion de ces composants (bus, câblage, nappes de connexion).
- la place occupée physiquement par les composants et les moyens d'interconnexion.
- la consommation énergétique.
- la chaleur dégagée.
- le coût financier.
Les microcontrôleurs améliorent l'intégration et le coût $ (lié à la conception et à la réalisation) d'un système à base de microprocesseur en rassemblant ces éléments essentiels dans un seul circuit intégré. Un microcontrôleur est donc un composant autonome, capable d'exécuter le programme contenu dans sa mémoire morte dès qu'il est mis sous tension. Selon les modèles et les conditions de fonctionnement, les microcontrôleurs peuvent avoir besoin de quelques composants externes (quartz, quelques condensateurs, parfois une ROM), mais ceci reste très limité.
Lorsque toutes les fonctions du système informatique sont regroupées dans un unique circuit intégré, y compris les fonctions logiques, analogiques, radiofréquence, d'interface (USB, Ethernet, etc.), on parle alors de System on Chip (système sur puce ou système mono-puce). Ces composants sont basés sur un ou plusieurs cœurs de microcontrôleur, microprocesseur, processeur graphique, contrôleur de périphériques, etc…
- programmation des microcontrôleurs :
Il existe des environnements pour aider au développement de certaines applications. Par exemple, LabVIEW et son langage G permettent de programmer les microcontrôleurs Blackfin d'Analog Devices.
Des simulateurs sont disponibles pour certains microcontrôleurs, comme l'environnement MPLAB de Microchip. Les développeurs peuvent ainsi analyser le comportement du microcontrôleur et du programme, comme s'il s'agissait du composant réel. Un simulateur montre l'état interne du processeur, ainsi que celui de ses sorties. Bien que la plupart des simulateurs ne proposent pas de simuler les autres composants d'un système, ils permettent de spécifier les entrées à volonté. On peut de cette façon créer des conditions qui seraient sans cela difficiles à reproduire dans une implémentation physique. Cela facilite donc l'analyse et la résolution des problèmes. De la même façon, certains logiciels de CAO simulent le comportement du microcontrôleur et des composants qui l'entourent. On peut ainsi afficher les états des entrées et sorties des différents composant au cours de l'exécution d'un programme.
Une fois le programme compilé, le fichier binaire doit être envoyé au microcontrôleur. On utilise soit :
=> un programmateur, pour microcontrôleurs et souvent également d’EEPROM. On parle alors de programmateur universel.
=>un programmateur ISP qui a l'avantage de ne pas nécessiter de sortir le microcontrôleur du système électronique complet. Ce type de programmation pourra se faire via le bus de communication standard JTAG ou un autre bus, souvent propriétaire et, malheureusement, inadapté au test des cartes lors de la phase de production.
Toutefois, le programme qui a été envoyé peut comporter des bogues (bugs), aussi, pour parvenir à les détecter on peut utiliser un émulateur in-circuit.
- Composants intégrés:
- un processeur (CPU), avec une largeur du chemin de données allant de 4 bits pour les modèles les plus basiques à 32 ou 64 bits pour les modèles les plus évolués.
- de la mémoire vive (RAM) pour stocker les données et variables.
- de la mémoire morte (ROM) pour stocker le programme. Différentes technologies peuvent être employées : EPROM, EEPROM, mémoire flash .
- souvent un oscillateur pour le cadencement. Il peut être réalisé avec un quartz, un circuit RC ou encore une PLL.
- des périphériques, capables d'effectuer des tâches spécifiques. On peut mentionner entre autres :
- les convertisseurs analogiques-numériques (CAN) (donnent un nombre binaire à partir d'une tension électrique).
- les convertisseurs numériques-analogiques (CNA) (effectuent l'opération inverse).
- les générateurs de signaux à modulation de largeur d'impulsion .
- les timers/compteurs (compteurs d'impulsions d'horloge interne ou d'événements externes).
- les comparateurs (comparent deux tensions électriques).
- les contrôleurs de bus de communication (UART, SSP, CAN , USB, etc.).
Le fonctionnement des périphériques peut être paramétré et commandé par le programme et/ou les entrées-sorties. Les périphériques peuvent générer une interruption qui contraint le processeur à quitter le programme en cours pour effectuer une routine de traitement de l’interruption, lorsque l’événement qui la déclenche survient.
Les microcontrôleurs peuvent généralement se placer dans un état de sommeil, dans lequel ils présentent une très faible consommation électrique. Un signal envoyé par l'un de leurs périphériques (timer, broche d'entrée-sortie, etc.) permet de les faire sortir de cet état de sommeil.
0 commentaires :
Enregistrer un commentaire
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.