Vous êtes sur la page 1sur 13

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

1- Architecture des systmes micro programms : 1.1Systme minimum microprocesseur : exemple utilisant un microprocesseur MOTOROLA 6809 :

Micro-processeur

ROM 6809
2 3 4

RAM

PIA

DECODEUR DADRESSES

Le systme comprend : Le microprocesseur, cerveau du systme 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...)

Rvis le 14/12/2006

Page 1/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

Une circuiterie de contrle (dcodeur dadresse) pour dcider quel circuit communique avec le microprocesseur (note 1) 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 Le bus de contrle bidirectionnel, repre 3, certaines lignes sont des sorties, dautres des entres du P, qui vhiculent les signaux tels que demande dcriture par le P (sortie), demande de lecture par le P (sortie), demandes dinterruption des priphriques (entres). Exemple de ligne de contrle, la ligne R/ W (Read/ WRITE ), lecture/ criture , elle est 1 si on veut lire une case mmoire, 0 si lon veut crire dans une case mmoire

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) Exemple, le P veut crire dans un registre du PIA 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.

Rvis le 14/12/2006

Page 2/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

1.2-

Systme microcontrleur :

Le microcontrleur contient au minimum de la ROM, de la RAM, des lignes dentre/sortie pour communiquer avec lextrieur et toute la circuiterie pour grer lensemble. On rajoute des dispositifs dentre et sortie + un quartz et quelques composants et (encore) une alimentation et on a un truc beaucoup plus sympa qui fonctionne aussi.

1.3-

Alors microprocesseur ou microcontrleur ?

A la prhistoire de linformatique, il y a 30 ans, il nexistait que quelques microprocesseurs 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 microprocesseurs conviennent aux dispositifs complexes, puissants, rapides et industriels (par exemple le micro-ordinateur quip dun Pentium de chez INTEL 3 GHz) qui fonctionne trs vite mais chauffe donc beaucoup, silicium et vitesse = chaleur, tellement que si on ne le refroidit pas il se dtruit en quelques secondes. 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.

2- Rappels sur les mmoires : 2.1- Diffrents types de mmoires mortes : 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.

Rvis le 14/12/2006

Page 3/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

Les PROM (Programmable ROM) OTPROM (One Time programmable ROM) programmable une seule fois par destruction de micro fusibles par exemple. EPROM (Erasable PROM) programmables et effaables Les premires EPROM ont t les UVPROM programmables avec un programmateur dEPROM et effaables avec un tube ultra violets (attention les yeux). Principe de programmation : on rend un transistors MOS grille isole conducteur/ou non en pigeant/ou pas des lectrons au niveau de sa grille en utilisant une tension dalimentation plus leve que la tension normale par exemple 25V pour les premires, moins depuis. Les transistors conducteurs donnent un niveau logique en sortie, les transistors bloqus (ceux dont la grille ne contient pas de charges) donnent le niveau complmentaire. Principe deffacement : on libre les lectrons pigs en les soumettant des photons haute nergie (lumire UV), il y a une fentre sur le botier. Il faut respecter le temps dans leffaceur dEPROM sinon il reste des lectrons captifs et lEPROM nest pas totalement efface. On noublie pas de masquer la fentre avec autocollant opaque une fois que lUVPROM est programme, sinon la lumire du jour suffit leffacer ou endommager le contenu (on a quand mme du temps pour mettre lautocollant !) Remarque, il existe des UVPROM sans fentre, on obtient alors une PROM car la mmoire nest plus effaable. Lintrt est que la technique des MOS grille isole est moins coteuse que celle des micros fusibles Ensuite sont apparues les EEPROMS (Electrically Erasable PROM) Programmables et effaables avec des hautes tensions comme les UVPROM au dpart puis des tensions de plus en plus basses et avec des technologies plus volues et actuellement avec la tension dalimentation du microprocesseur ou microcontrleur soit 5V par exemple, ce qui permet dy crire en la laissant sur la carte micro et sans utiliser de programmateur, elles nont toutefois pas la rapidit ni la facilit dcriture des RAM et on ne peut pas crire et effacer indfiniment un peu comme un CDRW (mais quelques millions de fois quand mme... Cest dj pas mal)

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.

Rvis le 14/12/2006

Page 4/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

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.

2.2- Diffrents types de mmoire vive : Les RAM dynamiques (Dynamic RAM en anglais) 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. Les RAM statiques (Static RAM en anglais) ou SRAM 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- Les microcontrleurs PIC16C5X, gnralits 3.1- Architecture interne : de type Harvard par opposition larchitecture Von Neumann Architecture Von Neumann (cas du microprocesseur 6809 de la socit MOTOROLA) Une instruction tient dans lEPROM sous forme de plusieurs octets en anglais bytes (case mmoire de format 8 bits) un ou deux octets pour le code opration de linstruction sans la donne ou ladresse un ou deux octets pour la donne ou ladresse

Il ny a quun bus pour faire les transferts de lEPROM vers le P, le bus de donnes 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. Architecture interne Harvard (cas du microcontrleur PIC 16C5X de la socit MICROCHIP) Une instruction tient dans lEPROM sous forme dun mot (en anglais Word) de 12 bits (case mmoire de format 12 bits)

Rvis le 14/12/2006

Page 5/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L -

SEQUENCE 1

une partie des 12 bits sert ranger le code opration de linstruction sans la donne ou ladresse le reste pour la donne ou ladresse.

Linstruction est extraite de la case mmoire en une fois, coupe en 2 par un dcodeur dinstruction et achemine vers lunit arithmtique et logique (le calculateur du PIC) par deux bus, un bus pour la partie du code opration relative linstruction sans la donne ou ladresse et un bus pour la donne ou ladresse Lavantage de larchitecture Harvard est que lon gagne en rapidit. Une case mmoire suffit pour linstruction qui est lue en un cycle contre 2 4 pour le 6809 3.2- Architecture RISC : 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. 3.3- Pipe Line : 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 : Il faut tout de mme 4 cycles dhorloge pour excuter une instruction. Exemple avec un quartz de 4 Mhz, la priode doscillation est T = 1/ 4 000 000 = ......... ns 4 priodes sont ncessaires pour traiter une instruction, ce traitement dure donc 4 x ........ ns Soit ....s donc 1 instruction toutes les s Soit 1/ 1x10-6 = 1 000 000 dinstructions par seconde Donc avec un quartz de 40Mhz (valeur ........................) 10 000 000 dinstructions par seconde

4- Le PIC utilis dans OT2 du systme ELA (le clavier) 4.1- Rechercher dans la documentation constructeur : Quelle est la rfrence du PIC utilis ? .......................... Quelle est la frquence maximale dhorloge de ce circuit ? .......................... Quelle est la taille de la ROM ? ...................... mots de ........ bits (1 K=1024 en informatique) Sagit-il de ROM masque ou dEPROM ? ..........................

Rvis le 14/12/2006

Page 6/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

Sil sagit dEPROM est ce de LEEPROM de lUVPROM ? .............................. Quelle est la taille de la RAM ? ...................................... Combien y a-t-il de lignes dentres sorties ? ................. Combien le circuit possde-t-il de broches ? .................. 4.2- Circuit quivalent une broche dentre/sortie :

La sortie est de type CMOS Utilisant des transistors MOS complmentaires MOS (Metal oxyde Semi conductor) Ce sont des transistors effet de champ La sortie comprend 2 transistors Un transistor mos canal P Un transistor mos canal N Un transistor MOS qui conduit est quivalent .... une faible rsistance (une dizaine une centaine dohms) on la considrera nulle pour des courants raisonnables (100 ohms x 2mA correspond une chute de tension de 0,2V de mme que 20 ohms x 10mA = 0,2 V) donc son modle sera ....un interrupteur ferm Un transistor MOS qui est bloqu est quivalent un interrupteur ouvert

VDD=5V VSS=0V

.... V

1er cas : Le MOS canal P conduit Le MOS canal N est bloqu En sortie on a ......V Etat logique .....

Rvis le 14/12/2006

Page 7/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

.... V

2me cas : Le MOS canal P est bloqu Le MOS canal N conduit En sortie on a ......V Etat logique .....

3me cas : Le MOS canal P est bloqu Le MOS canal N est bloqu La sortie est ltat haute impdance not Hi , HZ ou HiZ Elle est comme dconnecte Cette situation est utilise pour la lecture, la broche est en entre

Lecture de ltat dune broche

Buffer ou tampon (amplificateur) 3 tats (H, L, HiZ) Si le tampon est en lecture, on trouve en sortie ce que lon a en entre (RD port est comme la commande dun robinet ouvert si ordre read, ferm sinon)

Rvis le 14/12/2006

Page 8/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

...... .

...... .

...... . pas dordre read (robinet ferm)

ordre read (robinet ouvert)

ordre read (robinet ouvert)

La situation o les deux transistors sont conducteurs conduirait un court-circuit et ne doit pas se produire

4.3- Les ports dentre sortie : Le circuit comprend 20 lignes dentre/sortie rpartis en 3 ports dentre/sortie grs par 3 registres, 2 ports de 8 bits grs par les registres .............. et ............... et un port de 4 bits grs par le registre ..............

Reprez PORTA, PORTB et PORTC sur le schma fonctionnel

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) Reprez TRISA, TRISB, TRISC sur le schma fonctionnel

Rvis le 14/12/2006

Page 9/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

4-4- Programmation de la direction dune ligne dentre sortie :

Retrouver le paragraphe qui explique le fonctionnement dans la doc constructeur : Pour programmer une ligne en sortie il faut mettre le bit de contrle de direction dans le registre TRIS correspondant ......... Pour programmer une ligne en entre il faut mettre le bit de contrle de direction dans le registre TRIS correspondant ......... Rechercher linfo dans la doc : Au reset la mise sous tension toutes les lignes sont programmes par dfaut en .............. Ce qui les met ltat haute impdance Cette info se trouve page ........

4.5- Programmation de la direction dun port : 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 Il faut donc mettre la valeur binaire .......................................... dans ............. Pour charger une valeur dans le registre TRISB, il faut dabord charger le registre de travail du microcontrleur, appel ..... avec cette valeur. Reprez ce registre sur le schma

Il faut ensuite ranger le contenu de ..... dans le registre TRIS...

Rvis le 14/12/2006

Page 10/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

Donc on veut mettre 10011111B dans TRISB On charge W avec la valeur 10011111

Ceci se fait avec linstruction MOVLW 10011111B Aprs linstruction on a :

Il faut ensuite ranger le contenu de W dans le registre TRISB (remarque : le contenu de W ne disparat pas) Ceci se fait avec linstruction TRIS PORTB Aprs linstruction on a

Bravo ! Vous venez de voir vos 2 premires instructions Retrouvez les dans le programme page 31/56, vous voyez, ce nest pas compliqu !!!

Rvis le 14/12/2006

Page 11/12

Romuald REBECK

SYSTEME DE CONTROLE DACCES ELA CT 1000+L

SEQUENCE 1

On en dduit que les broches n ............................... du PIC seront des sorties Et que les broches n ............................... du PIC seront des entres ou simplement ltat haute impdance

4.6- Ecriture sur un port : Si maintenant on va crire un 1 dans RB5 (bit 5 du port B), la broche n .... du PIC sera ....V Si lon va crire un 0 dans RB6, la broche n .... du PIC sera ....V

4.7- Lecture dun port : Si le cavalier J1 est en position N, la broche ..... du PIC est .....V Si lon vient lire ltat de cette broche on trouvera un tat logique .... dans le bit ..... du port B Ce bit sappelle RB....

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.

Des liens pour des informations sur les mmoires: http://www.commentcamarche.net/pc/rom.php3

http://www.commentcamarche.net/pc/ram.php3

Rvis le 14/12/2006

Page 12/12

Romuald REBECK

This document was created with Win2PDF available at http://www.win2pdf.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only. This page will not be added after purchasing Win2PDF.