You are on page 1of 9

B- Les microcontrleurs

Plusieurs familles de microcontrleurs existent chez Motorola. La famille la plus ancienne est la famille 6805, dont llment le plus connu, le 68705, a servi lorigine pour piloter les dcodeurs de Canal +. Toutefois les microcontrleurs Intel occupaient une place plus importante sur le march de cette poque. Sans remettre en cause lintrt de ces derniers (leur trs faible cot), la famille 68HC11 a fait progresser dans des proportions importantes le march de Motorola; nous nen voulons pour preuve que la chute des prix de ces microcontrleurs (sans pour autant concurrencer les prix des produits Intel) et les dlais exorbitants dapprovisionnement. Paralllement au dveloppement de la famille 68HC11, Motorola a, la demande de sa clientle, dvelopp des microcontrleurs ayant un coeur 16 et 32 bits (68000 68020), cest la famille des 683XX. Pour les microcontrleurs nous distinguerons trois approches : Le modle de programmation du coeur, qui correspond au modle de programmation du microprocesseur intgr. Le modle de programmation applicatif, qui dfinit lorganisation des priphriques internes. Le modle de communication qui peut tre de deux natures : Communication avec des priphriques externes. Communication avec lapplication.

1- La famille 6805
Son crneau dapplication est centr sur le bas niveau , il nest donc pas ncessaire de lui attribuer un coeur trs volu. Il est en effet plus simple que celui du 6800, mais possde quelques instructions le rendant plus apte traiter des applications de type Tout ou Rien (Instructions de test et forage de bits). Le modle de programmation comporte : Un registre de donnes sur 8 bits lAccumulateur A Un registre dadresse sur 8 bits lIndex X Un pointeur de programme sur 11 bits PC Un pointeur de pile sur 5 bits SP (invisible la programmation) Un status sur 5 bits.

Figure 9 (II-B-1) Le modle de programmation 6805 Le modle applicatif fait intervenir les circuits priphriques internes. Les diffrentes versions se distinguent par la nature et la quantit de ces priphriques. Le modle gnrique contient : De la mmoire ROM De la mmoire RAM Un compteur temporisateur Des ports parallles (ventuellement) des entres analogiques Les versions HCMOS ont des possibilits plus tendues. On peut y trouver notamment : De la mmoire EEPROM Des liaisons srie, synchrones ou asynchrones Des modulateurs de largeur dimpulsion Voici un modle applicatif type :

Figure 10 (II-B-1) Modle applicatif du 6805 Il ny a pas de modle de communication avec les priphriques. Il nest pas possible avec ce microcontrleur dajouter des priphriques. La seule communication se fait avec lapplication elle-mme, via les liaisons parallles des ports A et B, via les entres analogiques du port C, ou via lentre de comptage et la sortie temposise du timer.

2- La famille 68HC11
Beaucoup plus rcente que la prcdente cette famille bnficie des progrs en matire dintgration sur le silicium. Les priphriques intgrs dans le modle applicatif ne constituent toutefois pas une vritable rvolution, en revanche, leurs fonctionnalits sont tendues, et le coeur est beaucoup plus volu. Une autre diffrence majeure: les 68HC11 possdent des bus dextension optionnels, et peuvent donc enrichir lapplication (au dtriment bien sur dun surcrot de cblage. Le modle de programmation du 68HC11 propose : Deux registres de donnes sur 8 bits, concatnables en un registre sur 16 bits. Il est en cela proche du 6809. On les nomme les accumulateurs A et B ou le double accumulateur D. Deux registres dadresse dusage gnral sur 16 bits: les index X et Y. Un pointeur de pile sur 16 bits. Un pointeur de programme sur 16 bits. Un status sur 8 bits.

Figure 11 (II-B -2) Le modle de programmation du 68HC11 Ce modle est en fait proche de celui du 6803, un processeur trs peu diffus, mi chemin entre le 6800 et le 6809. Le 68HC11, tout comme le 6805, se dcline dans de nombreuses versions, et le modle applicatif que nous prsentons nest quun cas parmi dautres. Il rend bien compte de laspect gnral. Nous y trouvons : De la mmoire ROM De la mmoire RAM De la mmoire EEPROM Un compteur temporisateur sur 16 bits. Cinq ports parallles Tout ou Rien pouvant tre transforms en bus dextension (adresse et donnes)

Port srie synchrone Port srie Asynchrone Port dentres analogiques Entres de comptage Sorties vnementielles. Les options nous les retrouvons sur le schma de la figure 12, sous forme de pointills.

Figure 12 (II-B-2) Modle applicatif du 68HC11 Le modle de communication du 68HC11 repose sur un ventuel bus dextension. En effet deux modes dutilisation sont proposs: un mode autonome, un mode extension. Dans le mode autonome, les bus dadresse, de donnes et de contrle ne sont pas visibles de lextrieur. Dans le mode extension, les ports B et C sont inhibs en tant que tels et transforms en un bus de donne sur 8 bits et un bus dadresse sur 16 bits. Lensemble des deux ports B et C ne dlivrant que 16 lignes de communication, le port B est multiplex entre un octet dadresse et le bus de donnes, ce qui ncessite un dmultilpexage. Un rudement de bus de contrle est fourni sur deux lignes non reprsentes sur la figure 12. Le mode de fonctionnement des ports B et C, en tant que ports de communication parallles, est trs sophistiqu. Il peut fonctionner en mode asynchrone, cest dire que les entres et les sorties ne sont pas cales sur un quelconque signal, ou en mode synchrone, dans ce cas les entres sont mmorises chaque signal (externe de synchronisation). Cela sera vu en dtail plus loin.

3- Le 68302
Nous entrons dans le domaine des microcontrleurs de haut de gamme. Le 68302 possde un coeur 68000. Il sagit dun processeur orient communication multiprotocoles. Le coeur 68000 correspond au modle de programmation que nous avons dcrit en II-A-3. Le modle applicatif se dcompose en trois parties : Le coeur 68000 Le bloc du systme intgr

Le processeur de communication Loriginalit du composant rside aussi bien dans le systme intgr que dans le processeur de communication et dans les liens qui les unissent. Tout dabord ce processeur de communication gre trois canaux sriels asynchrones, un canal synchrone et un paort auxiliaire. Un processeur RISC avec un programme paramtrable par lutilisateur assure le fonctionnement de cette partie. Les diffrents canaux peuvent accder individuellement plusieurs protocoles, et tre associs plusieurs couches physiques de rseaux, par simple configuration. La communication entre les ports sriels et lapplication gre par le coeur 68000 se fait par lintermdiaire dune RAM double-accs interne, voyant dun ct les bus du processeur RISC, de lautre ceux du 68000. Vingt huit lignes de communication avec le monde extrieur peuvent tre utilises, soit comme les lignes de dialogue et de protocole des ports sriels, soit comme des entes soties parallles TOR. Elles sont programmables individuellement. Le schma en trois blocs se trouve en figure 13. On notera que les bus du 68000 sont disponibles lextrieur, le contrleur ntant pas autonome. Il faut au minimum lui adjoindre de la ROM externe et de la RAM (lutilisation de la RAM interne devant tre rserve la communication.

Figure 13 (II-B-3) Schma bloc du 68302 Il convient maintenant de regarder la constitution des deux blocs spcifiques ce processeur.

a- Le systme intgr
Le 68302 est destin en priorit aux concentrateurs de rseaux puisquil peut grer simultanment trois voies avec des protocoles diffrents. Bien que puissant le 68000 est charg par cette tche, il est donc vraisemblable quil se comportera en coprocesseur dun processeur central, dchargeant ce dernier de toute gestion de rseau. Pour faciliter la communication rapide un contrleur de DMA est intgr, lequel est totalement indpendant des ports sriels et totalement disponible pour le programmeur. Un contrleur dinterruptions assure la prise en compte et le contrle des priorits des interruptions internes et externes. Il gnre un vecteur en direction du 68000 pour chacune delles. En complment ce contrleur dinterruptions peut prendre en compte les lignes IPL de demande dinterruption de deux manires diffrentes: soit comme le codage binaire dun niveau dinterruption, soit comme trois lignes indpendantes de demandes dinterruption, qui peuvent tre sensibles aux niveaux ou aux fronts. Les deux ports parallles sont associs une logique de programmation qui dfinira le rle de chaque borne individuellement et, le cas chant, la direction de circulation des donnes sur cette borne. La RAM double accs est lien entre le processeur de communication et le coeur. Cest dans cette RAM de 1152 octets que doivent se situer les buffers des ports sriels. Trois compteurs temporisateurs sur 16 bits sont disposition de lapplication. Lun de ces temporisateur peut assurer le rle de chien de garde, cest dire quil gnre une interruption sil na pas t rarm avant son chance. Pour faciliter la communication avec les priphriques externes une logique de dcodages de blocs dadresse est incluse. On peut configurer trois sorties de chip select . La logique dadressage des priphriques internes est galement situe dans ce bloc. Lors de linitialisation

les lments ont une adresse prdfinie, mais lutilisateur peut par programmation leur affecter une adresse de son choix (ou presque). La logique de contrle du systme appartient elle aussi ce bloc, mais cest un lment que nous ne dtaillons pas ce stade.

b- Le processeur de communication
Cest la partie originale du composant. Elle comporte essentiellement six types de blocs : Le processeur RISC Trois canaux de communication srie indpendants qui supportent diffrents protocoles de couche liaison tels que HDLC SDLC (orients bits et non octet), le protocole standard UART, le protocole Communication binaire synchrone (BISYNC), etc...Les canaux sont appels SCC (Serial communication contrler). Six canaux DMA, un par voie et par sens. Un interface de couche physique paramtrable, accessible chaque voie srielle, contenant un choix entre quatre types, dont NMSI qui comporte toutes les lignes de protocole modem. Un canal sriel synchrone, appel SCP (Serial communication port). Deux blocs auxiliaires permettant de crer les lignes ncessaires certains protocoles de couche physique. Ces blocs sont dsigns par SCM (Serial management contrler). Le schma des deux parties dcrites ci-dessus se trouve en figure 14 et 15.

Figure 14 (II-B-3) Le systme intgr du 68302

Figure 15 (II-B-3) Processeur de communication du 68302

4- Le 68331
On ne peut, propos du 68331 parler de vritable microcontrleur, en ceci quil ne dispose daucune autonomie. Il rassemble des fonctions frquemment prsentes dans une application. Il possde un coeur 68020, mais ses bus de communication avec les priphriques sont configurables et ne sont pas ncessairement ceux du 68020. Les donnes sont changes avec lextrieur sur 16 et non 32 bits, quand aux adresses elles sont sur 24 bits. Le bus de contrle peut tre celui du 68020 mais ses fonctions peuvent en tre simplifies. On peut distinguer quatre grands blocs dans le modle applicatif : Le coeur (68020) Le module sriel (QSM) Le module compteur temporisateur (GPT) Le module de gestion des bus (SIM)

Figure 16 (II-B-4) Modle applicatif du 68331

a- Rle du SIM
Quelle que soit la configuration du SIM le bus de donnes (16 bits) ainsi que 19 bits du bus dadresse (A0 A18) ainsi que quelques bits du bus de contrle sont disponibles lextrieur. Les bits dadresse A19 A23 ainsi quune grande partie des bits de contrle peuvent tre vus travers des lignes de port configurables. Par exemple la ligne dadresse A19 peut tre, par programmation du SIM, vue de lextrieur, ou masque, le bit du port parallle correspondant tant alors rserv un chip select pr dcod, ou une sortie tout ou rien dusage gnral. La vritable originalit du composant repose donc sur le SIM qui permet de multiples configurations, sadaptant presque toutes les situations.

b- Le module sriel QSM


Les fonctions du bloc appel QSM sont identiques dans leur esprit celles rencontres sur le 68HC11 dans le module sriel. Il sagit dun port asynchrone (UART) et dun port synchrone haut dbit. Un gnrateur de baud est incorpor ce bloc. Les lignes dinterconnexion de ces ports avec le monde extrieur font parties des lignes configurables par le SIM, elles partagent donc les bornes avec dautres fonctions (chip select).

c- Le module compteur temporisateur GPT


La encore il y a une grande similitude avec le bloc du mme nom du 68HC11. Il comporte deux timers fonctionnant en roue libre (cest dire quils comptent en permanence les signaux de leurs bases de temps). Un bloc de contrle capture et comparaison associ aux timers a pour mission de gnrer des vnements vers le monde extrieur une date donne, ceci sur une sortie dite de comparaison (sous entendu de temps). Il a galement comme facult celle de dater un vnement extrieur se manifestant par un changement dtat sur une entre dite de capture. Un accumulateur dimpulsions (PAC) fonctionne comme celui du 68HC11 ou celui du 6805, cest dire quil sait compter le nombre de fronts survenant sur une entre lintrieur dun crneau matrialis par ltat 1 dune autre entre. On trouve galement dans le bloc GPT un double gnrateur de modulation de largeurs dimpulsions. Cette fonction utilise lun des timers roue libre qui peut galement tre utilis pour le fonctionnement des entres de capture et sorties de comparaison, il y a donc une exclusivit entre les fonctions potentielles, il nest par exemple pas possible de choisir une base de temps (rgle par le prdiviseur dhorloge) diffrente pour le modulateur de largeurs dimpulsions de celle du contrle des entres de capture. Toute application ne recourt en gnral qu une partie des fonctions potentielles du GPT, cest pourquoi les connexions de ces fonctions au monde extrieur sont faites par lintermdiaire dun port dont les lignes, individuellement peuvent tre programmes galement en entres sorties tout ou rien dusage gnral.

5- Le 68340
Nous avons galement un composant non autonome, car lui non plus ne dispose pas de mmoire interne. Cela rend indispensable la visibilit externe du bus processeur. Le coeur est un 68020 dont quelques rares instructions ont t supprimes. Le modle applicatif comporte six modules principaux : Le coeur (68020) Deux modules compteurs temporisateurs Un module double liaison srie asynchrone comparable un DUART Un module contrleur de DMA deux canaux Un module de gestion de bus comparable au SIM du 68331

Figure 17 (II-B-5) Modle applicatif du 68340 Nous ne dtaillons dans ce qui suit, ni le coeur, ni le contrleur de DMA, ni les liaisons srie.

a- Le SIM

Les blocs priphriques (ports srie, canaux DMA et timers) possdent leurs lignes ddies de communication avec lextrieur. Le SIM gre les bus dextension et les fonctions auxiliaires qui peuvent partager les lignes des bus dextension. Ces fonctions sont les requtes et accuss de rception dinterruption, les chip select (blocs dadresses prdcods) et les ports parallles tout ou rien. Le schma des lignes gres par le SIM est en figure 18. Sept lignes de requtes dinterruption sont utilisables, IRQ1 IRQ7. Chacune delle est associe un niveau de priorit. Le contrleur dinterruption interne se charge de crer les signaux IPL ncessaires au coeur. A chaque interruption est associ un accus de rception IACK1 IACK7. La programmation du SIM permet daffecter ces lignes individuellement, soit au fonctions dinterruption, soit aux chip select, soit aux ports parallles, soit au complment du bus dadresse A24 A 31, le contrleur dinterruption peut donc tre totalement ou partiellement inhib.

Figure 18 (II-B-5) Le SIM du 68340

b- Les compteurs temporisateurs


Les deux blocs sont indpendants. Chacun deux possdent un compteur sur 16 bits et un tage de prdivision sur 8 bits. Il est possible par une connexion externe de cascader les compteurs, offrant ainsi une capacit effective de comptage sur 48 bits. Les fonctions programmables associes chaque bloc sont : Entres de capture et sorties de comparaison Gnration de signaux carrs Gnration de signaux rapport cyclique variable Gnration dimpulsions de largeur variable Pour chaque module on peut choisir le niveau de priorit dinterruption et le numro de vecteur dinterruption. En revanche, les diffrentes interruptions que chacun peut sollicit sont associes au mme vecteur, il faut par consquent scruter un status pour connatre la cause de linterruption.

6- Quelques exemples dapplications base de microcontrleurs


Il nous semble utile de situer les applications qui ont t ralises dans nos laboratoires avec des produits utilisant ces diffrents microcontrleurs. Le 6805, dans sa version REPROM 68705 a t utilis dans des applications simples telles que des terminaux dits de poche pour les rglages sur automates programmables. Il a galement t exprimentalement test sur un module de rglage des fonctions dun ampli HI-FI, mais ses faibles capacits en RAM en limitent les possibilits et dans ce dernier cas le 68HC11 lui a t prfr. La prsence sur ce dernier de mmoire EEPROM facilite le stockage, sur lampli tuner des stations pr rgles. Sur ce dernier nous avons galement dvelopp des applications de domotique concernant des modules de gestion de distribution lectrique et de rglage dappareils de chauffage et dclairage. Ces modules peuvent tre autonomes ou cascads par la liaison srie synchrone, un module matre assure alors la supervision de linstallation. Un principe analogue est utilis par la socit Landis et Gyr dans ses tlphones publics. Des modules utilisant un 68HC11 grent les diffrents mode de paiement (pices, cartes pr paiement, carte bleue) Un module matre assure la coordination. Lapplication la plus intressante sur laquelle nous avons travaill avec un 68302 est un dveloppement de la socit suisse Gespac. Il sagit dune carte de communication intelligente pouvant tre utilise comme concentrateur de rseau. Les trois ports peuvent tre associs diffrents protocoles de rseaux, les basses couches tant gres directement et de faon transparente pour lintelligence de la carte, par le processeur de communication. Le coeur assure, quand lui, les fonctions des hautes couches et en particulier le routage et ladaptation des protocoles entre eux, on peut donc considrer un tel produit comme une passerelle. Le 68331 est associ pour nous un autre dveloppement de la socit Gespac. Le composant est au coeur dune unit centrale dautomate programmable dont les modules sont relis par un rseau FIP. Le rseau FIP tant trs exigeant ne peut tre mis en oeuvre partir dun port srie du 68331, en revanche il demande au processus applicatif dassurer une mise jour rgulire des variables changes sur le rseau, pour cela le GPT est trs utile. En outre le puissance du coeur du 68331 nous a permis, sans nuire la gestion du rseau, dimplanter sur les modules un moteur GRAFCET changeant, via le rseau, des ordres de synchronisation avec les moteurs GRAFCET prsents sur les autres modules. En ce qui concerne le 68340, cest un produit de la socit franaise AIM qui nous a permis de nous pencher sur sa mise en oeuvre. Il sagit, comme dans le cas prcdent, dune unit centrale dautomate programmable. Le 68340 a t retenu ici pour la puissance du coeur et la simplification de la circuiterie externe par la richesse des chip select programmables. En outre un automate programmable doit disposer dune liaison de connexion la console de programmation que le 68340 est apte fournir, tout en laissant une liaison applicative disponible. Par ailleurs le bloc compteur temporisateur met disposition des fonctionnalits qui simplifient limplantation dun noyau multitches sur lautomate. Copyright 1998 - Tous droits rservs TI-92 Plus ti92plus@iname.com

You might also like