Académique Documents
Professionnel Documents
Culture Documents
1
Micro-
-processeur
ROM RAM PIA
6809
3 4 5 6
DECODEUR DADRESSES
Le systme comprend :
De la mmoire :
- morte (ROM : Read Only Memory : mmoire lecture seule) pour stocker le
programme, ainsi la mise hors tension celui-ci ne ........................................
- vive (RAM : Random Access Memory : mmoire accs alatoire) pour ranger les
donnes sur lesquelles le programme travaille. A la mise hors tension toutes ces
donnes ................................
Remarque : mmoire accs alatoire ne veut pas dire grand-chose, car la ROM aussi
est accs alatoire si on veut chipoter, mais ce nom est devenu un usage alors on fait
avec...
Au moins une interface dentre sortie : exemple PIA (Parallel Interface Adapter :
adaptateur dinterface parallle) ou ACIA (Asynchronous Control Interface Adapter
qui est une interface srie type bus RSXXX). Linterface est le minimum pour que le
systme puisse communiquer avec dautres composants ou dispositifs (clavier,
dcodeur + afficheur 7 segments au plus simple, ou un clavier, un cran, une
imprimante ou un autre ordinateur au plus complexe...)
3 bus :
Le bus de donnes (8 fils sur le 6809) : bidirectionnel, repre 1, toutes ces lignes
sont des entres et des sorties du P (pas en mme temps, mais selon lopration,
le bus est en entre ou en sortie), pour ranger des donnes (bus en sortie) de 8 bits
dans la RAM ou dans les registres du PIA ou aller chercher (bus en entre) ou crire
(bus en sortie) des donnes de 8 bits dans la RAM ou les registres du PIA ou des
instructions dans la ROM.
Le bus dadresses (16 fils sur le 6809) unidirectionnel, repre 2, toutes ces lignes
sont des sorties du P pour slectionner une case mmoire (8 bits) dans la RAM ou la
ROM ou un registre du PIA
Note1 : tous les circuits tant relis sur le bus de donne, ils ne peuvent pas communiquer
en mme temps avec le P. Par exemple, si le P veut crire dans la RAM, il ne faut pas
que la ROM ou le PIA prsentent des donnes sur le bus en mme temps, car elles ont
toutes les chances dtre diffrentes et donc de provoquer des court circuits et la
destruction du systme, au mieux, si le systme ne se dtruisait pas, on pourrait avoir la
RAM qui met une ligne de donne 1 et la ROM qui met la mme ligne 0, donc du 5V
reli du 0V (ce qui sappelle mettre deux sorties en court-circuit !!!)
On utilise alors la commande de slection de botier (chip select)
Selon ladresse laquelle le P pointe, adresses qui sont diffrentes pour la ROM, la
RAM et le PIA, le dcodeur sait de quel circuit il sagit et slectionne le botier
correspondant en dsactivant les autres (mise ltat haute impdance de leurs lignes de
sorties de donnes et mise en veille du circuit)
Il slectionne le PIA (par la ligne de chip select repre 6), dont les lignes de donnes
seront actives et met les lignes de donnes de la RAM et la ROM (par les lignes de
chip select 4 et 5) ltat haute impdance et ces deux circuits en veille.
On noubliera pas dalimenter lensemble (ben oui, il faut rajouter une alimentation) et
de rajouter des dispositifs dentre et sortie + un quartz pour cadencer le P + quelques
composants de type rsistances et condensateurs et on obtient un truc sympa qui
fonctionne.
Puis sont apparus les microcontrleurs et en mme temps, les microprocesseurs nont
pas disparu et ont volu (augmentation de la taille du bus de donnes : 8 bits au
dpart puis 16 puis 32 et de la vitesse, au dpart 1Mhz, actuellement plus de 3 GHz en
standard soit des P 3000 fois plus rapides en 25 ans, ajout de coprocesseurs au dpart
(circuits qui ne faisaient que des oprations pour soulager le P) puis de chipsets qui
grent des bus supplmentaires (exemple bus PCI) et ajout de cartes (son,
graphiques...) de plus en plus complexes rapides et puissantes avec leur propre
mmoire (exemple vido). Actuellement : puissance (taille de bus) vitesse et bus
hirarchiss ont considrablement perfectionn les premier PC (dbut des annes 80)
qui ramaient 1Mhz avec 1MO de RAM, il ny avait aucun ventilateur cette poque.
Les microcontrleurs, de par leur simplicit et leur faible cot conviennent bien aux
petits systmes, avec des frquences dhorloge de quelques Mhz, industriels ou
dveloppes par des bricoleurs, il suffit davoir un microcontrleur, un Programmateur
de microcontrleur, une insoleuse, du perchlorure de fer, un fer souder et une bonne
ide.
Les ROM masque : programmes en usine directement sur le silicium par un masque.
Moins cher en trs grande srie quune PROM encore moins quune EPROM, mais le
programme/ou les donnes stocker devront tre parfait/ou figes et ne pourront plus tre
modifis. Elles sont en voie de dclin actuellement.
OTPROM (One Time programmable ROM) programmable une seule fois par
destruction de micro fusibles par exemple.
Un type particulier dEPROM est leprom flash, plus rapide leffacement puisquon
peut leffacer totalement en une opration ou par pages dont la taille tend devenir
plus petite aujourdhui. Les EEPROM sont effaces et rcrites octet par octet.
A noter, les RAM pile intgre qui se comportent comme des RAM pour la
lecture/criture mais dont les donnes persistent quand on coupe lalimentation (du
moins tant que la pile nest pas dcharge), ce ne sont pas des ROM mais on peut les
utiliser tout comme. Elles ont lavantage dtre rapides et ont peut lire et crire
facilement presque indfiniment.
Attention : le terme UVPROM est rarement utilis, on devrait mme dire UVEPROM
Dans les docs on trouve souvent le simple terme dEPROM pour de lUVPROM.
Une autre confusion existe entre EPROM et EEPROM car une EEPROM est aussi une
EPROM, dans tous les cas rfrez vous la documentation.
Linformation est stocke dans des micro condensateurs qui ne conservent la charge que
quelques dizaines de nano secondes ce qui oblige rgnrer cette charge toute les 15 ns
par exemple. Cette opration sappelle le rafrachissement.
Linformation est stocke dans des bascules transistors. Ltat de la bascule est stable
dans le temps et ces mmoires nont pas besoin dtre rafrachies. Elles sont utilises pour
les mmoires cache des systmes.
3.1- Architecture interne : de type Harvard par opposition larchitecture Von Neumann
Une instruction tient dans lEPROM sous forme de plusieurs octets en anglais
bytes (case mmoire de format 8 bits)
Dans le cas dune instruction qui tient sur 4 octets, les 4 octets devront tre achemins par
le bus de donne de 8 bits vers le P les uns aprs les autres pour tre traits soit dj 4
cycles pour le transfert de la totalit de linstruction.
Une instruction tient dans lEPROM sous forme dun mot (en anglais Word) de
12 bits (case mmoire de format 12 bits)
- une partie des 12 bits sert ranger le code opration de linstruction sans la
donne ou ladresse
- le reste pour la donne ou ladresse.
Une case mmoire suffit pour linstruction qui est lue en un cycle contre 2 4 pour le 6809
Le format de linstruction est petit (12bits) car le PIC utilise larchitecture RISC (Reduced,
Instruction Set Computer : circuit jeu dinstruction rduit)
En effet il ny a que ....... instructions, donc la partie du code opration relative linstruction
sans la donne ou ladresse est plus petit (....... bits)
Par opposition un 6809 peut excuter beaucoup plus dinstructions avec 16 bits pour la partie
du code opration relative linstruction sans la donne ou ladresse.
Pour aller encore plus vite, dans le PIC, pendant quune instruction sexcute, la suivante est
dj en train dtre charge, structure appele pipe line. Soit encore plus de rapidit.
3.4- Remarque :
Donc avec un quartz de 40Mhz (valeur ........................) 10 000 000 dinstructions par seconde
VDD=5V VSS=0V
1er cas :
Le MOS canal P conduit
.... V Le MOS canal N est bloqu
En sortie on a ......V
2me cas :
Le MOS canal P est bloqu
.... V Le MOS canal N conduit
En sortie on a ......V
3me cas :
Le MOS canal P est bloqu
Le MOS canal N est bloqu
ordre read (robinet ouvert) ordre read (robinet ouvert) pas dordre read (robinet ferm)
Chacune des lignes de ces ports peut tre utilise soit en entre soit en sortie, le choix se
faisant par la programmation (contenu des registres de contrle des ports appels TRISA pour
le PORTA, TRISB pour le PORTB TRISC)
Pour programmer une ligne en sortie il faut mettre le bit de contrle de direction dans le
Pour programmer une ligne en entre il faut mettre le bit de contrle de direction dans le
Au reset la mise sous tension toutes les lignes sont programmes par dfaut en ..............
On veut programmer le port B pour que RB0, RB1, RB2, RB3, RB4 et RB7 soient en entre
ou simplement ltat haute impdance (en effet il faut lire la ligne pour quelle soit une
entre, voir tampon 3 tat) et RB5 et RB6 en sortie
Pour charger une valeur dans le registre TRISB, il faut dabord charger le registre de travail
du microcontrleur, appel ..... avec cette valeur.
Aprs linstruction on a :
Aprs linstruction on a
Retrouvez les dans le programme page 31/56, vous voyez, ce nest pas compliqu !!!
Et que les broches n ............................... du PIC seront des entres ou simplement ltat
haute impdance
Si maintenant on va crire un 1 dans RB5 (bit 5 du port B), la broche n .... du PIC sera ....V
Si lon vient lire ltat de cette broche on trouvera un tat logique .... dans le bit ..... du port B
4.8- Remarque :
Un bon principe consiste ne mettre une ligne en sortie que quand on a besoin dcrire
dessus, donc la mettre en entre le reste du temps mais sans la lire (donc tat haute
impdance).
Par exemple on ncrit sur le clavier que quand on le scrute, le reste du temps les lignes
de sortie sont place en entre donc ltat haute impdance et on ne les lit pas, ce sont
des sorties !
Cela permet notamment dcrire dans les ports sans ce soucier de ces bits.
Cela permet aussi de ne pas faire conduire un transistor de sortie pendant des heures
sans changer ltat de la sortie.
On met alors cette sortie ltat haute impdance (en entre) et on fixe ventuellement
un potentiel sur la broche grce une rsistance de tirage au +VDD (pull up rsistor) ou
au 0V (pull down resistor) pour donner quand mme un tat quand les transistors de
sortie sont bloqus (haute impdance) si cest ncessaire.
http://www.commentcamarche.net/pc/rom.php3
http://www.commentcamarche.net/pc/ram.php3