You are on page 1of 36

MASTER-I MODULE ARCHITECTURE

Partie A : Le Microcontrleur
Le microcontrleur 68hc11
- Prsentation gnrale
- Synoptique interne
- Les signaux disponibles
- Mode "single chip" ou circuit seul
- Mode tendu
- Configuration et modes de fonctionnement
- Les registres de configuration
L'unit centrale
- Le modle du programmeur
- Comportement lors d'un Reset
- Les interruptions
La mmoire
- La RAM
- La ROM
- L' EEPROM
Les entres/sorties parallles
- Le port A
- Les ports B et C
- Le port D
- Le port E
Les entres/sorties sries
- L'interface srie synchrone ou SPI
- L'interface srie asynchrone ou SCI
Le timer
- Le timer usage gnral
- Concept gnral
- Le compteur et son pr-diviseur
- Le chien de garde ou COP
- L'accumulateur d'impulsions
Le convertisseur analogique/digital
- Le procd de conversion
- Utilisation du convertisseur
Partie B : Les rseaux dans l'industrie
1. le modle OSI
2. les couches OSI dans les rseaux de terrain.
3. la couche physique et codage
4. Topologies et mthodes d'accs
5. Principaux rseaux de terrain
1. MODBUS
2. PROFIBUS
3. CAN
4. INTERBUS
5. ETHERNET
1. Le microcontrleur 68hc11
- Prsentation gnrale
Circuit DIL
48 broches
Circuit QFP (quad flat pack )
1.1 Fonctions ralises par le microcontrleur
-Transfert unidirectionnel ou bidirectionnel de donnes en parallle (ports A, B, C,
D,E).
-Transfert de donnes en srie synchrone (SPI sur le port D).
-Transfert de donnes en srie asynchrone (SCI sur le port D).
- Temporisation/comptage permettant (sur le port A) :
- de gnrer des intervalles de temps ;
- de mesurer des intervalles de temps ;
- de compter des impulsions ;
- de gnrer des interruptions en temps rel (horloge temps rel) ;
- de surveiller l'horloge et le bon droulement d'un programme (COP ou chien de
garde).
-Conversion analogique- digitale (le CAN dispose de 8 entres multiplexes).
Les lignes d'entres/sorties sont polyvalentes, elles peuvent tre utilises :
- comme des entres/sorties parallles uni ou bidirectionnelles (ports B et C) ;
- comme des lignes d'adresses et de donnes (port B et C) quand on utilise le micro-
contrleur en mode tendu c'est--dire avec des priphriques externes (68HC24,
PIA, etc.).
1.2. Synoptique
interne
1.3. Les diffrents modes de fonctionnement
- Le mode circuit seul (single chip)
C'est le mode microcontrleur proprement dit,
le circuit remplit seul les fonctions donnes
prcdemment. ( pdf- p 14 )
- Le mode tendu ou multiplex ( voir pdf p15 )
Le C utilise des ports parallles B et C
comme bus d'adresses et de donnes.
Permet ainsi d'adresser 64 ko.
Le bus d'adresses est constitu du port
B pour les bits de poids fort et du port C
pour les bits de poids faibles.
Le signal R/ W est obtenu partir
de la ligne STRB et le signal de
commande de multiplexage est
obtenu partir de la ligne STRA.
- Le mode spcial test
Ce mode est rserv au fabricant pour tester le bon fonctionnement du micro-contrleur
en fin de chane de fabrication.
- Le mode spcial bootstrap.
Ce mode charge en RAM un programme par la liaison srie et lance son excution.
Permet l'utilisateur de brancher le microcontrleur avec la liaison srie asynchrone de
celui-ci sur un ordinateur et ainsi grce au dialogue tabli, de mettre au point et de
charger un logiciel dans ce microcontrleur.
Le fabricant a plac un logiciel en ROM (de $BF40 $BFFF) appel chargeur (boot
loader) et son vecteur RESET.
Au moment du RESET, le microcontrleur lit les deux connexions MODA et MODB, si
celles-ci sont toutes les deux 0, il excute le programme boot-loader. Celui-ci initialise
la liaison srie pour tablir la liaison avec l'ordinateur.
Une fois cette liaison tablie, l'ordinateur envoie le logiciel tester dans la RAM du
microcontrleur (256 octets maximum pour le 68HC811E2) puis lance celui-ci partir de
l'adresse 0.
Bien entendu, pour pouvoir fonctionner avec des branchements et des interruptions il
est ncessaire de prvoir aussi dans la RAM un emplacement pour la PILE et un
emplacement pour les vecteurs d'interruption. Ceux-ci sont alors appels pseudo-
vecteurs.
La table des pseudo-vecteurs
Configuration de la mmoire et des registres par l'utilisateur
Les emplacements des registres et des zones mmoire peuvent
tre modifis par programmation de bits dans certains registres.
Plusieurs registres de contrle sont protgs en criture sauf en
certaines circonstances (modes spciaux). Cette protection inclut
la possibilit d'crire ces bits une fois et une seule pendant les 64
cycles d'horloge E ( horloge bus qui est gale au 1 / 4 de la
frquence du Quartz) qui suivent un RESET.
Le registre CONFIG $103F
Le registre CONFIG compte en ralit deux registres distincts, l'un
en EEPROM qui conserve les informations en permanence et
l'autre est un registre de travail normal en RAM. Aprs un RESET,
le registre en EEPROM est recopi dans le registre de travail.
Une fois le microcontrleur en route il devient possible de modifier
le registre en EEPROM par une opration particulire
(programmation).
Le registre CONFIG est protg par le bit PTCON mis 1 du registre BPROT
Sa modification ncessite la mme procdure de programmation et
d'effacement que l'EEPROM.
EE3, EE2, EE1, EEO dterminent l'emplacement de l'EEPROM, celle-ci peut
tre place n'importe o sur les 64 ko de l'espace adressable et ceci par pas de
4 ko
exemple :
si EEn(OOOO) : l'EEPROM va de l'adresse $0800 jusqu' $OFFF.
si EEn( 1111): l'EEPROM va de $F800 $FFFF.
Au Reset( EE3, EE2, EE1, EEO) = 0000
NOSEC : eeprom security disable
Ce bit est normalement 1 lors de la fabrication du circuit, ce qui veut dire que
la scurit est enleve, toutefois on peut demander au fabricant de mettre cette
scurit en service.
Scurit veut dire que le circuit ne peut tre employ qu'en mode circuit seul
ou en mode bootstrap, ceci interdit la relecture du logiciel qui ne peut se faire
qu'en mode tendu.
NOCOP : = 1 Permet d'inhiber le systme de surveillance de fonctionnement du
logiciel (COP) appel chien de garde.
EEON : EEprOm Enable, normalement forc 1.
Si = 0, la zone mmoire EEPROM est retire de la carte mmoire.
ROMON: Si =1 Valide la ROM de programme contenue dans le 68HC11.
En mode circuit seul ce bit est considr =1 car il nexiste pas de
ROM externe
Configurations de la mmoire
Les diffrentes zones mmoire du microcontrleur sont schmatises :
Configurations de la mmoire
Les diffrentes zones mmoire du microcontrleur sont schmatises :
Le registre INIT: $103D
Permet de modifier par pas de 4 ko, les emplacements des registres et de la
mmoire RAM. Il est protg car il ne peut tre crit que pendant les 64 cycles
de horloge E qui suivent un RESET.
NB: Sil y a chevauchement dadressage entre RAM et Reg ; Priorit aux Reg
Le registre INIT: $103D
Permet de modifier par pas de 4 ko, les emplacements des registres et de la
mmoire RAM. Il est protg car il ne peut tre crit que pendant les 64 cycles
de horloge E qui suivent un RESET.
Le registre INIT: $103D
Permet de modifier par pas de 4 ko, les emplacements des registres et de la
mmoire RAM. Il est protg car il ne peut tre crit que pendant les 64 cycles
de horloge E qui suivent un RESET.
Le registre INIT: $103D
Permet de modifier par pas de 4 ko, les emplacements des registres et de la
mmoire RAM. Il est protg car il ne peut tre crit que pendant les 64 cycles
de horloge E qui suivent un RESET.
Exemple :
NB: Sil y a chevauchement dadressage entre RAM et Reg ; Priorit aux Reg
Le registre INIT: $103D
Permet de modifier par pas de 4 ko, les emplacements des registres et de la
mmoire RAM. Il est protg car il ne peut tre crit que pendant les 64 cycles
de horloge E qui suivent un RESET.
INIT
$103D
RAM3 RAM2 RAM1 RAM0 REG3 REG2 REG1 REG0
au reset 0 0 0 0 0 0 0 1
OPTION
$1039
ADPU CSEL IRQE DLY CME 0 CRI CRO
au reset 0 0 0 1 0 0 0 0
Le registre OPTION : $1039
Permet la mise en service d'un certain nombre de fonctions.
Certains de ses bits sont protgs (IRQE, DLY, CRI et CRO) et ne peuvent
tre modifis que pendant les 64 premiers cycles d'horloge E qui suivent un
RESET.
ADPU (A/D Power Up)
Si= 1 mise en service de la pompe de charge du CAN. Attendre 100 s avant
d'utiliser le CAN.
CSEL (Clock SELect) : slection d'horloge
Slectionne l'horloge de la pompe de charge du CAN et du systme d'criture
en EEPROM.
Si CSEL = 0, l'horloge est le signal E.
Si CSEL = 1, l'horloge est fixe par un circuit RC interne.
IRQE :IRQ Enable
Dtermine le signal actif de l'entre de l'interruption IRQ. ;
IRQE = 0 niveau logique 0.
IRQE = 1 un front (descendant).
DLY : enable oscillator startup DeLaY . Dlai de mise en route de l'oscillateur.
L'instruction STOP permet d'arrter l'oscillateur du microcontrleur, sa remise
en route on peut dterminer un dlai d'attente pour s'affranchir du temps de
stabilisation de l'oscillateur.
DLY = 1, temps d'attente = 4064 cycles E.
DLY = 0, remise en route , aprs 4 cycles E.
CME : Clock Monitor Enable ; mise en service de la surveillance
L'horloge du microcontrleur peut tre surveille en permanence,
Ce bit permet la mise en service ou non de cette surveillance.
CME = 1 ; la surveillance est en service.
CME = 0 ; la surveillance est arrte.
CR (0:1) : Cop timer Rate slect : programmation de la priode d'horloge du chien de
garde.
Le COP est un chien de garde qui surveille le bon droulement d'un
programme, ces deux bits dterminent le facteur de division de l'horloge E
dj pr divise par 2
15
(voir tableau suivant):
CR (1:0) E/2
15
divise par
00 1
01 4
10 16
11 64
BPROT
$1035
0 0 0 PTCON BPRT3 BPRT2 BPRT1 BPRTO
au reset 0 0 0 1 1 1 1 1
Le registre BPROT $1035
Permet la protection du registre CONFIG et la protection par bloc de
512 octets de lEEPROM.
PTCON
PTCON = 1 le registre CONFIG ne peut tre effac ou programm.
PTCON = 0 le registre CONFIG peut tre programm et effac normalement
BPRT (3:0)
Ces 4 bits slectionnent le paquet de 512 octets qui doivent tre protgs.
Si le bit est 1, la protection est en service.
exemples.
- BPRTO protge de $x800 $x9FF,
- BPRT1 protge de $xAOO $xBFF etc.
Utilisation de l'EEPROM
L'EEPROM du 68HC11 peut tre :
- Efface octet par octet, ligne par ligne, ou entirement en une seule fois ;
- crite et programme par une procdure particulire ;
- Protge.
La haute tension ncessaire est gnre par une pompe de charge interne.
Modes de programmation de l'EEPROM
programmation de l'EEPROM est contrle par le registre PPROG.
PPROG
$103B
ODD EVEN 0 BYTE ROW ERAS EELAT EEPGM
au reset 0 0 0 0 0 0 0 0
ODD et EVEN
Ces deux bits permettent au fabricant de programmer en une seule opration le
ct pair ou impair avec une mme donne. Cette opration utilise pour des
tests ncessite une haute tension extrieure et n'est pas destine l'utilisateur.
BYTE et ROW: Bits utiliss en mode
effacement
Slectionnent le type d'effacement
- Octet par octet,
- Ligne complte
- Effacement complet (tableau ).
BYTE ROW EFFACEMENT
0 0 effacement complet
0 1 effacement d'une ligne
1 0 effacement d'un octet
1 1 effacement d'un octet
ERASE : autorisation d'effacement
Si = 1 Effacement EEPROM
Si = 0 Ecriture et la lecture de l'EEPROM.
ODD et EVEN
Ces deux bits permettent au fabricant de programmer en une seule opration le
ct pair ou impair avec une mme donne. Cette opration utilise pour des
tests ncessite une haute tension extrieure et n'est pas destine l'utilisateur.
BYTE et ROW: Bits utiliss en mode
effacement
Slectionnent le type d'effacement
- Octet par octet,
- Ligne complte
- Effacement complet (tableau ).
ERASE : autorisation d'effacement
Si = 1 Effacement EEPROM
Si = 0 Ecriture et la lecture de l'EEPROM.
EELAT (EEprom LATch conro) : Contrle de verrouillage de l'EEPROM.
Si = 1 , permet la programmation de l'EEPROM.
Dans ce cas, il est impossible de lire la mmoire, ce qui provoque
l'impossibilit de mettre dans l'EEPROM un programme pour la
programmer.
Si = 0, la mmoire peut tre lue.
EEPGM (EEprom ProGraMming voltage enable) :
mise en service de la pompe de charge.
Si = 1 , permet la cration de la haute tension ncessaire la program-
mation et l'effacement l'EEPROM.
Il est impossible que EEPGM = 1 si EELAT 1.
NB :
Le registre CONFIG est lui-mme en EEPROM, il faut donc utiliser la mme
procdure pour l'effacer ou le modifier. Par scurit il ne peut tre effac avec le
mode effacement total et sa modification ne peut se faire qu'en mode bootstrap.
Protection du contenu de la mmoire
-Afin d'viter le piratage du logiciel contenu dans la mmoire, il est possible
d'empcher la relecture des mmoires RAM et EEPROM.
Si l'option scurit est en place la fabrication, le bit NOSEC du registre
CONFIG, mis 0, interdit la lecture et la recopie des donnes en mmoire en
interdisant l'utilisation du mode tendu.
-Le bootloader est utilis pour supprimer l'option scurit. Celui-ci teste le bit
NOSEC dans le registre CONFIG, si celui-ci est 0, le bootloader efface
l'EEPROM et remplit la mmoire RAM de donnes $FF. Ensuite le registre
CONFIG est effac afin de supprimer l'option scurit.
Rappel : le registre CONFIG ne peut tre modifi qu'en mode BOOTSTRAP
NB: Pour le microcontrleur 68HC811E2 le bit NOSEC est normalement 1,
toutefois la demande, le fabricant peut le rendre programmable.
. Mise en uvre
1. Effacement de l'EEPROM
FAIRE
- dprotger l'EEPROM avec le bit du registre BPROT ( PTCON = 0 ) ;
- configurer le registre PPROG notamment le bit EELAT = 1 ;
- prvoir avec les bits ROW et BYTE le type d'effacement dsir ;
- crire une donne $FF l'adresse de la cellule effacer (ou d'une cellule de la zone
effacer) ;
- appliquer la tension de programmation (pompe de charge) avec le bit EEPGM = 1 du
registre PPROG (faire attention la frquence d'horloge) ;
- attendre 20 ms pour que la pompe de charge ait le temps de fournir la haute tension
- annuler la haute tension (EEPGM = 0), la cellule ou la zone efface doit alors
contenir $FF.
FIN FAIRE
2. Programmation de l'EEPROM
FAIRE
- dprotger l'EEPROM avec le bit du registre BPROT ( PTCON = 0 ) ;
- configurer le registre PPROG pour autoriser l'effacement
- crire la donne l'adresse dsire ;
- appliquer la tension de programmation ;
- attendre 20 ms ;
- annuler la tension de programmation ;
NB. - La donne doit maintenant tre crite en mmoire.
FIN FAIRE
3. Modification du registre CONFIG
Le registre CONFIG permet de contrler les zones d'EEPROM, le fonctionnement du
chien de garde et de la scurit.
FAIRE
- mettre le bit PTCON du registre BPROT 0 ;
- effectuer la mme procdure que pour une modification dune zone de l'EEPROM.
FIN FAIRE
NB:
La lecture du registre (en RAM) ne donnera pas la nouvelle valeur mais l'ancienne
car le registre est recopi cette adresse ($103F) au moment du RESET.
Pour retrouver la nouvelle valeur il faut donc effectuer un RESET
L'unit centrale
L'unit centrale du 68HC11 est un modle 8 bits, qui peut facilement excuter
des instructions, arithmtiques et logiques, sur 16 bits.
Le modle programmable ( figure )
C'est une architecture avec des registres aux fonctions bien dfinies
contrairement certaines familles de microcontrleurs o tous les registres
sont parfois polyvalents.
Activs 1
Le pointeur de pile S ou SP (pour Stack Pointer)
Il est indispensable que, trs rapidement suite la sortie du Reset, ce registre soit
initialis avec une adresse de RAM valide faute de quoi, la premire interruption ou au
premier appel de sous-programme toute adresse de retour sera perdue.
Comportement lors d'un Reset : Opration importante
Reset : conditionne l'excution de tout programme.
Reset : agit sur un certain nombre de registres de contrle des ressources internes et
les positionne comme indiqu ci-aprs
- La CPU va chercher l'adresse $FFFF et $FFFE le vecteur de Reset et le charge
dans le PC.
- CCR : les bits I, X et S = 1 Pas dinterruption et pas de mode STOP.
> Initialisation en toute scurit du pointeur de pile SP puisque aucune
interruption ne peut avoir lieu. ( XIRQ est rendue masquable mme si elle
porte le nom d'interruption non masquable.)
- INIT : = $01 > RAM partir de l'adresse $0000
Registres internes partir de l'adresse $1000.
Les Entres/sorties parallles :
En mode tendu: B et C , utiliss bus d'adresses et de donnes
> aucune initialisation.
En mode circuit seul : Toutes les interruptions pouvant provenir de ces ports sont
interdites par action sur les bits correspondants de leurs registres de contrle respectifs.
Le mode "strobe simple" est slectionn au lieu du mode "dialogue complet
Le port C : initialis en entre > tous les bits de son DDR sont mis 0.
Le port B : qui est toujours en sortie , tous ses bits mis 0.
sont configurs en entre
- Le port A : bits 0, 1, 2 et 7 ,
- Le port D : bits 0 5
- Le port E.
Les bits de ces mmes ports qui sont obligatoirement des sorties (port A, bits 3 6) sont
mis 0.
Le timer, le COP, le CAN , la SCI et la SPI seront vu ultrieurement.
Les diffrentes sources de Reset
Le 68HC11 dispose de :
1 Reset externe et 3 sources de Reset internes ( il y a 3 vecteurs Reset)
Les 3 sources de Reset internes provoquent le passage au niveau bas de la ligne Reset
du botier .
1. Reset suite la mise sous tension ou POR (Power On Reset) est uniquement
destin initialiser la logique interne du 68HC11.
2. Le COP ou chien de garde est la deuxime source de Reset interne. Ce COP n'est
autre qu'un compteur qui dcompte sans arrt. Il est recharg par le programme si
son fctement est correct sinon le COP = 0 > reset
3. Le circuit de surveillance de frquence d'horloge est la troisime source de Reset
interne.
- L'intrt de cette fonction de surveillance d'horloge est de complter le COP.
- En effet, ce dernier est quasiment infaillible... tant que l'horloge fonctionne.
- Si cette dernire vient s'arrter, le COP s'arrte aussi et ne peut donc pas gnrer
son interruption !
Les interruptions
- Deux entres dinterruptions externes dont nous avons dj parl IRQbarre et
XIRQbarre,
- Un certain nombre de sources internes lies aux diffrentes interfaces qui quipent
le circuit
- Une interruption par logiciel par l'instruction SWI.

You might also like