Professional Documents
Culture Documents
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.
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)
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.
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.