ARCHITECTURE GLOBALE CAPTAGE DES GRANDEURS PHYSIQUES Adaptation, Conditionnement Conversion...
-
Upload
eulalie-jacques -
Category
Documents
-
view
110 -
download
1
Transcript of ARCHITECTURE GLOBALE CAPTAGE DES GRANDEURS PHYSIQUES Adaptation, Conditionnement Conversion...
ARCHITECTURE GLOBALE
CAPTAGEDES
GRANDEURSPHYSIQUES
Adaptation, Conditionnement
ConversionAnalogiqueNumérique
Traitement des donnéesNumériques
Mémorisation
Visualisation CommandesActionneursConversionNumériqueAnalogique
LE SYSTEME MINIMUM
MICROPROCESSEUR
MémoireNon
VolatileEPROM, EEPROM
MémoireVive
(RAM)
Interface d’entrée/Sortie
Programme Données
Décodage d’adresse
CS A0 à An D0 à Dn CS A0 à An D0 à Dn
Bus de données
Bus d’adresse
Le Microprocesseur: Architecture interne
UAL
Registres de travailAccumulateurs Registres d’adressage
PC, Index, pointeurDe piles
Registres D’instructions
Circuits séquencementInterne et contrôle de
commande
Registre d’état
Bus de données
BU
S A
DR
ES
SE
Les lignes de commandes
QuartzCircuit
d’horloge
LES BUS : GENERALITESDEFINITION: Ensemble de lignes destinées au transport d’informations binaires
dont le format correspond au nombre de fils du bus.
Exemple : bus de données 8 bits D0 à D7
D0D1D2D3D4D5D6D7 L’information est
disponible en parallèle:
Chaque bit du mot binaire est disponible au
simultanément .
0
1
0
0
11
0
0
Mot binaire transporté : 4C(hexa)
D7 D6 D5 D4 D3 D2 D1 D0
0 1 0 0 1 1 0 0
Les bus du microprocesseurLe bus des données: permet d’échanger des informations binaires
entre le microprocesseur et les circuits périphériques
MicroprocesseurMémoire EPROM
Mémoire Programme
D0D1D2D3D4D5D6D7
U?
6809
X139
EX238
RESET37
NMI2
HALT40
IRQ3
FIRQ4
MRDY36
DMA/B33
A08
A19
A210
A311
A412
A513
A614
A715
A816
A917
A1018
A1119
A1220
A1321
A1422
A1523
D031
D130
D229
D328
D427
D526
D625
D724
E34
Q35
BA6
BS5
R/W32
U?
2674
A037
A138
A239
ACLL36
CE2
R1
W3
CCLK16
D08
D19
D210
D311
D412
D513
D614
D715
AD034
AD133
AD232
AD331
AD430
AD529
AD628
AD727
AD826
AD925
AD1024
AD1123
AD1222
AD1321
CRSR7
VSYNC18
HSYNC19
BLANK17
CTRL14
CTRL25
CTRL36
INTR35
Écriture
Lecture
Les bus du microprocesseur 2Le bus des adresses:
permet de choisir la case mémoire du
circuit périphérique qui
contient l’information
que le microprocesseur
veut lire ou modifier
Microprocesseur
Mémoire RAM
Mémoire des données
A0A1A2A3A4A5A6A7A8A9A10A11A12
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15
U?
6809
X139
EX238
RESET37
NMI2
HALT40
IRQ3
FIRQ4
MRDY36
DMA/B33
A08
A19
A210
A311
A412
A513
A614
A715
A816
A917
A1018
A1119
A1220
A1321
A1422
A1523
D031
D130
D229
D328
D427
D526
D625
D724
E34
Q35
BA6
BS5
R/W32
U?
6264
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
CS120
CS226
WE27
OE22
D011
D112
D213
D315
D416
D517
D618
D719
Capacité d’adressage du microprocesseur: 216 adresses (64Ko)
Capacité d’adressage de la mémoire: 213
adresses (8Ko)
Le microprocesseur impose l’adresse
Les bus du microprocesseur 3Le bus de commande: ensemble de signaux permettant au système
(microprocesseur et périphériques) de fonctionner
U?
6809
X139
EX238
RESET37
NMI2
HALT40
IRQ3
FIRQ4
MRDY36
DMA/B33
A08
A19
A210
A311
A412
A513
A614
A715
A816
A917
A1018
A1119
A1220
A1321
A1422
A1523
D031
D130
D229
D328
D427
D526
D625
D724
E34
Q35
BA6
BS5
R/W32
Signaux de commandes
entrants depuis les
périphériques
Signaux de commandes sortants vers
les périphériques
Le µp 6809 : structure « logicielle »
Les différents registres et leur format b 7 b0 b7 b 0
A B Accumulateurs A et B 8 bits
b15 D b 0 ou D registre de 16 bits
15 X 0 Registre d’index X de 16 bits
15 Y 0 Registre d’index Y de 16 bits
15 U 0 Pointeur de pile utilisateur
15 S 0 Pointeur de pile système
7 DP 0 Registre d’adresse de page
15 PC 0 compteur programme
7 CCR 0 Registre d’état
Le µp 6809 : le jeu d’instruction
6809 Instruction Set
Addressing Mode CC bit
Immediate Direct Indexed Extended Inherent 5 3 2 1 0 Instruction Mnemonic Op ~ # Op ~ # Op ~ # Op ~ # Op ~ # Description H N Z V C
ABX 3A 3 1 X = B+X (Unsigned)
ADCA 89 2 2 99 4 2 A9 4+ 2+ B9 5 3 A = A+M+C + +
+ +
+ +
+ +
+ + ADC
ADCB C9 2 2 D9 4 2 E9 4+ 2+ F9 5 3 B = B+M+C + + + + +
ADDA 8B 2 2 9B 4 2 AB 4+ 2+ BB 5 3 A = A+M + + + + +
ADDB CB 2 2 DB 4 2 EB 4+ 2+ FB 5 3 B = B+M + + + + + ADD
ADDD C3 4 3 D3 6 2 E3 6+ 2+ F3 7 3 D = D+M:M+1 + + + +
ANDA 84 2 2 94 4 2 A4 4+ 2+ B4 5 3 A = A && M + + 0
ANDB C4 2 2 D4 4 2 E4 4+ 2+ F4 5 3 B = B && M + + 0 AND
ANDCC 1C 3 2 C = CC &&
IMM ? ? ? ? ?
LDA 86 2 2 96 4 2 A6 4+ 2+ B6 5 3 A = M + + 0
LDB C6 2 2 D6 4 2 E6 4+ 2+ F6 5 3 B = M + + 0 LD
LDD CC 3 3 DC 5 2 EC 5+ 2+ FC 6 3 D = M:M+1 + + 0 STA 97 4 2 A7 4+ 2+ B7 5 3 M = A + + 0
STB D7 4 2 E7 4+ 2+ F7 5 3 M = B + + 0
STD DD 5 2 ED 5+ 2+ FD 6 3 M:M+1 = D + + 0 ST
STS 10 DF
6 3 10 EF
6+ 3+ 10 FF
7 4 M:M+1 = S + + 0
Instruction : Format et caractéristiques
Pour chaque microprocesseur le code définissant l’instruction à un format spécifié.
Pour le 6809, deux champs obligatoires : code opération et opérande
PREMIER CHAMP DEUXIEME CHAMP
CODE OPERATION OPERANDE
1 Octet 1 ou 2 octets
Exemple : LDA $C007
Les deux caractéristiques essentielles sont la durée en nombre de cycles machines et la taille
en octets
Instruction : Mécanisme d’exécution 1ère étapePC
B0
B16
Le PC contient l’adresse de
l’instruction à exécuter.
Microprocesseur
MémoireEPROMMémoire Programme
A0A1A2A3A4A5A6A7A8A9A10A11A12
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15
D0D1D2D3D4D5D6D7
D0D1D2D3D4D5D6D7
U?
6809
X139
EX238
RESET37
NMI2
HALT40
IRQ3
FIRQ4
MRDY36
DMA/B33
A08
A19
A210
A311
A412
A513
A614
A715
A816
A917
A1018
A1119
A1220
A1321
A1422
A1523
D031
D130
D229
D328
D427
D526
D625
D724
E34
Q35
BA6
BS5
R/W32
U?
2764
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
CE20
OE22
PGM27
VPP1
O011
O112
O213
O315
O416
O517
O618
O719
Instruction : Mécanisme d’exécution 2ème étape
Microprocesseur
MémoireEPROMMémoire Programme
A0A1A2A3A4A5A6A7A8A9A10A11A12
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15
D0D1D2D3D4D5D6D7
D0D1D2D3D4D5D6D7
U?
6809
X139
EX238
RESET37
NMI2
HALT40
IRQ3
FIRQ4
MRDY36
DMA/B33
A08
A19
A210
A311
A412
A513
A614
A715
A816
A917
A1018
A1119
A1220
A1321
A1422
A1523
D031
D130
D229
D328
D427
D526
D625
D724
E34
Q35
BA6
BS5
R/W32
U?
2764
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
CE20
OE22
PGM27
VPP1
O011
O112
O213
O315
O416
O517
O618
O719
Registre d’instruction
b7
b0
La donnée contenu dans la case mémoire dont l’adresse était pointé par
le PC est transférée dans le registre d’instruction pour y être décodée
Instruction : Mécanisme d’exécution 3ème étape
Microprocesseur
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15
D0D1D2D3D4D5D6D7
U?
6809
X139
EX238
RESET37
NMI2
HALT40
IRQ3
FIRQ4
MRDY36
DMA/B33
A08
A19
A210
A311
A412
A513
A614
A715
A816
A917
A1018
A1119
A1220
A1321
A1422
A1523
D031
D130
D229
D328
D427
D526
D625
D724
E34
Q35
BA6
BS5
R/W32
L’instruction est exécutée avec positionnement des bus adresses, données et signaux de commande, le PC contient alors l’adresse de la
prochaine instruction à exécuter .
Les modes d’adressages n°1
Inhérent : un seul octet, le code opération
Immédiat : B7 B0
B7 B0
code opération Adresse de L’Eprom ex:C007
Opérande Adresse suivante
Contenu mémoire
programme
Mémoire
96 Instruction 42
Accumulateur A 7F
LDA < $42 7F D342
Registre DP D3
Direct :
Exemple : NOP
Exemple :
LDA #$C9
Exemple :
LDA <$42
Les modes d’adressages n°2
Etendu : B7 B0
B7 B0
B7 B0
B7 B0
code opération Adresse de L’Eprom ex:C007
Opérande Adresse $C908
Cette adresse peut être dans n’importe quel circuit périphériques, l’adressage étendu permet de travailler sur toute la plae d’adressage du microprocesseur
Contenu mémoire
programme
Exemple :
LDA $C908
Contient les poids forts de l’adresse de l’opérande: C9
Contient les poids faibles de l’adresse de l’opérande: 08
b7 b0
Les modes d’adressages n°3
Indexé :
PC $2001 PC $2003
X $D230 X $D230
ACCU A XX ACCU A $45
Mémoire programme Mémoire programme $2000 $2000 $2001 $A6 ($D230) $2001 $A6 $2002 05 =05 +PC $2002 05 $2003 PC = $D235 $2003
Mémoire des données Mémoire des données
$D235 $D235 $45 $D236 $D236 $47
Exemple :
LDA ,X +
Les sous programmes Programme principal
Sous programme
Appel SPG
Appel SPG Retour
Un sous programme est une partie répétitive de programme qui peut être appelée plusieurs fois dans le programme principal
Mécanisme d’appel à sous programme
Contenu de la pile Temps 1 Temps 2 Temps 3 Temps 4 $103 $103 $103 $303 Programme principal $100 Appel SPG1$103 retour SPG1 1 SPG1 $280 SPG2 $300 Appel SPG2 2 $900 $303 retour SPG2 4 retour 3 retour
Les interruptionsBut : interrompre le déroulement du programme pour
traiter par le déroulement d’un programme d’interruption spécifique une tâche devenant prioritaire
Mémoire
Microprocesseur BUS
E/S E/S
IRQ IRQ IRQ
Ligne d’interruption sur le bus de commande
Le vecteur d’interruption est l’adresse fixée par le constructeur
dont le contenu sera chargé
dans le PC lors du
déclenchement de
l’interruption, ce contenu doit être l’adresse de
début du programme
d’interruption
Le décodage d’adresse
Tous les périphériques étant reliés sur le même bus de données, lorsque le microprocesseur accède en lecture sur l’un d’eux, un conflit de bus peut se produire
Réalisation pratique du décodageU?
Microprocesseur
MémoireEPROMMémoire Programme
A0A1A2A3A4A5A6A7A8A9A10A11A12
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15
D0D1D2D3D4D5D6D7
D0D1D2D3D4D5D6D7
A13A14A15
CS1/
CS1/
CS2/
CS2/
U?
6809
X139
EX238
RESET37
NMI2
HALT40
IRQ3
FIRQ4
MRDY36
DMA/B33
A08
A19
A210
A311
A412
A513
A614
A715
A816
A917
A1018
A1119
A1220
A1321
A1422
A1523
D031
D130
D229
D328
D427
D526
D625
D724
E34
Q35
BA6
BS5
R/W32
2764
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
CE20
OE22
PGM27
VPP1
O011
O112
O213
O315
O416
O517
O618
O719
U?
6116
A08
A17
A26
A35
A44
A53
A62
A71
A823
A922
A1019
CE18
OE20
WE21
D09
D110
D211
D313
D414
D515
D616
D717
U?
74LS138
BIN/OCT0
7654321
EN
&
421
123
645
15141312111097
Décodeur, une seule sortie à 0 à la fois
Sorties actives pour A15=A14=A13=1
Sorties à haute impédance (« déconnectées »)
Le microcontrôleur : architecture interne
CHIEN
DE
GARDE
BUS DONNÉES - CONTRÔLE - ADRESSES
RAM EEPROM
MÉMOIRE
DE DONNÉE
ESET
OSCILLATEUR
ROSCIN OSCOUT
MICROPROCESSEURINT
C.A.NTIMERS
T IM
ER1
T IM
ER2
INTERFACE
PARALLÈLE
PO
RT A
PO
RT B
PO
RT C
INTERFACE
SÉRIE
SO
UT
SC
LK
SIN
ROM
MÉMOIRE
PROGRAMME
Ou EPROM
Le Pic 16F877 : architecture interne
Les registres de la partie microprocesseur 1ère partie
Programme counter (13 bits)
Pile 8 niveaux (13 bits)
UAL 8bits
Registre W (accumulateur 8 bits)
Registre d’état (status register)
Registre FSR (adressage indirect)
Les registres de la partie microprocesseur 2ème partie
Registre d’instruction
Registre de contrôle et décodage de l’instruction
Timing génération(circuit d’horloge)
Multiplexeur données et adresse
Généralités sur les circuits mémoires n°1
Décodeur
Lignes
1 parmi m
PLAN MEMOIRE
Matrice de points mémoire
P.M(ij)
m lignes p colonnes
m fois p cellules
Logique
de
commande
Décodeur colonnes 1 parmi p Circuits d’entrée
Circuits de lecture / écriture
Circuits de sortie
Circuit
adresse
ligne
Circuit
adresse
colonne
BUS
ADRESSES
Bus
donnée
vers décodeur Al0 lignes Al0/ Al1 Al1/
vers décodeur Ac0colonnes Ac0/ Ac1 Ac1/
Structure interne
Généralités sur les circuits mémoires n°2
Les différents types de mémoire
Mémoire non volatile , avec accès en lecture uniquement , programmée par l’utilisateur, elle peut être effacée électriquement et reprogrammée un certain nombre de fois. (106) sans matériel spécifique et à partir de son alimentation (c’est presque une RAM non volatile)
E.E.P.R.O.M : Electrical erasable Programmable read only mémory
Mémoire non volatile , avec accès en lecture uniquement , programmée par l’utilisateur, elle peut être effacée par rayonnement ultra violet et reprogrammée un certain nombre de fois(quelques centaines) par un matériel spécifique
E.P.R.O.M : Erasable Programmable read only mémory
Mémoire non volatile , avec accès en lecture uniquement et programmée par l’utilisateur de façon définitive
P.R.O.M : Programmable read only mémory
Mémoire non volatile , avec accès en lecture uniquement et programmée par le constructeur de façon définitive
R.O.M : read only mémory
Mémoire volatile ou l’on peut lire et écrire dans n’importe quelle case mémoire sans ordre précis
R.A.M : ramdom access mémory
Généralités sur les circuits mémoires n°3
Les caractéristiques essentielles d’une mémoire sont:
- le temps d’accès qui est le temps entre l’instant où l’adresse est positionnée sur le bus d’adresse et l’instant où la donnée est disponible en sortie
MEMOIREBus adresses
Bus données
Adresse valide
Temps d’accès
Donnée valide
t
Généralités sur les circuits mémoires n°3 bis
- la capacité et le format des données
Capacité = 2n mots où n est le nombre de fils du bus adresse
Format du mot = nombre de fils du bus de donnéesnombre de bit = Format du mot x 2n
Les périphériques du microcontrôleur: la mémoire programme
De type Flash EEPROM
Flash : accès rapide en écriture, la programmation est faite directement sur la carte d’émulation : programmation « in situ »
Organisation: mémory map ou plan mémoire
Accès : utilise des bus spécifiques séparés de la
mémoire des données
Les périphériques du microcontrôleur: la mémoire des données
Scindée en deux parties:
une RAM et une EEPROM
Bank 0
Bank 1
Bank 2
Bank 3
0h
7Fh80h
FFh100h
17Fh
180h
1FFh
368 octets
Data EEPROM256 octets
La RAM dataOrganisée en «banks» elle contient les registres de gestion des circuits périphériques et les registres spécifiques
Accès à chaque bank par les bits RP0 et RP1 du
registre STATUS
Accès logiciel à la mémoire Programme
Accès logiciel à EEPROM DATA
Les registres gérant l’accès aux EEPROM data et programme
Les périphériques du microcontrôleur: les ports d’entrée/sortie
Certaines lignes de port en plus de pouvoir être configurées en
entrée ou en sortie , ont la particularité de pouvoir remplir d’autres fonctions comme sortie
PWM, ligne usart, ligne I2C, lignes SPI…
Le port A: Structure électrique
Le port A: configurationLes registres de configuration du port A
Exemple de programme d’initialisation
Les fonctions du port A
Le port B: Structure électrique
Le port B: configuration et fonctionsLes registres de configuration du port B
Les fonctions de chaque ligne
Le port C: Structure électrique
Le port C: configuration et fonctionsLes registres de configuration du port C
Les fonctions de chaque ligne
Le port D: Structure électrique
Le port D: configuration et fonctionsLes registres de configuration du port D
Les fonctions de chaque ligne
Le port E: Structure électrique
Le port E: configuration et fonctionsLes registres de configuration du port E
Les fonctions de chaque ligne
le convertisseur analogique numérique: généralités et définitions
Rôle : convertir une tension analogique en une combinaison numérique sur n bits
Principe et généralité : CONVERTISSEUR ANALOGIQUE NUMERIQUE (C.A.N.)
/
format N bits
Les tensions de référence fixant la dynamique du signal d’entrée à convertir sont des données constructeur (Vref+ et Vref-)
La valeur de quantification ou « QUANTUM » est déterminé par le nombre n de bits du convertisseur.
q= (Vref+ - Vref-)1/2n
le convertisseur analogique numérique du microcontrôleur PIC16F877: structure
le convertisseur analogique numérique du microcontrôleur PIC16F877: configuration ,sélection de l’entrée
le convertisseur analogique numérique du microcontrôleur PIC16F877: configuration d’entrée et de vref+ et vref-
le convertisseur analogique numérique du microcontrôleur PIC16F877: résultat de conversion
Le résultat est obtenu sur un format de 10 bits
Les timers : généralités
Les Timer permettent de réaliser les fonctions suivantes : Génération d’un signal périodique modulé ou non en largeur d’impulsion, Génération d’une impulsion calibrée, Temporisation, Comptage d'événements.Plusieurs registres associés aux Timers permettent de configurer les différents modes décrits précédemment.
Le timer 0 du pic 16F877 : structure et fonctionnalités
Compteur 8 bits
Avec possibilité de générer une interruption au passage de FFh
à 0h
Possède un prédiviseur
interne
Le timer 0 du pic 16F877 : configuration et registres associés
Le timer1 du pic 16F877 : structure et fonctionnalités
Compteur 16 bits
Avec possibilité de fonctionner en compteur ou mesure de durée
Possède un prédiviseur
interne
Le timer 1 du pic 16F877 : configuration et registres associés
Le timer 2 du pic 16F877 : structure et fonctionnalités
Compteur 8 bits
Possède un prédiviseur et
un postdiviseur interne
Le timer 2 du pic 16F877 : configuration et registres associés
Le module CCP (comparaison, capture, PWM) : mode capture
Dans le mode capture les registres CCPR1H et L « retiennent » le contenu du timer1 par rapport à un front
détecté sur RC2
Le module CCP (comparaison, capture, PWM) : mode comparaison
Dans le mode comparaison les registres CCPR1H et L sont comparés en permanence avec le contenu du timer1.
A l’égalité, un front est généré sur RC2.
Le module CCP (comparaison, capture, PWM) : mode PWM
PWM duty cycle =(CCPR1L:CCP1CON<5:4>) •TOSC • (TMR2 prescale value)
Le mode PWM permet de générer un signal modulé en largeur d’impulsion sur la sortie RC2
Le module CCP (comparaison, capture, PWM) :les registres de configuration
Le module CCP (comparaison, capture, PWM) :les registres associés
Les liaisons séries synchrones du microcontrôleur:généralités
Dans ce dispositif la transmission est synchronisé par un signal d’horloge émis par l’unité maître.
UNITÉ
MAÎTRE
UNITÉ
ESCLAVE
Sout
Sin
Sclk
t
t
SCLK
SIN
ouSOUT
D7 D6 D5 D4 D3 D2 D1 D0
Les liaisons séries synchrones du microcontrôleur:module MSSP
Le PIC16F877 permet par son module MASTER SYNCHRONOUS SERIAL PORT De communiquer suivant deux protocoles :
• Serial Peripheral Interface (SPI)• Inter-Integrated Circuit (I2C)
Pour chacun de ces protocoles existent deux modes, le mode MASTER et le mode SLAVE.. En mode Master c’est le microcontrôleur qui gère la ligne SCK, alors qu’en mode SLAVE, cette horloge est piloté par un maître externe et de ce fait le microcontrôleur ne pilote pas la transmission mais la subit.
Les liaisons séries synchrones du microcontrôleur:module MSSP les registres de configuration
module MSSP les registres de configuration sspcon
module MSSP les registres de configuration sspcon2
Les liaisons séries synchrones du microcontrôleur:la SPI
Les registres associé à la liaison SPI
La liaison I2C : généralités n°1
Maître Esclave n°1
Esclave n°2
Emetteur : c’est le composant qui envoie des données sur le bus Récepteur : c’est le composant dont l’adresse correspond à celle contenue dans le message Maître: c’est le composant qui initialise le transfert, qui délivre l’horloge et qui termine le transfert Esclave: c’est le composant adressé par un maître SDA :ligne des données SCL : ligne d’horloge
SDA
SCL
Masse
La liaison I2C : généralités n°2
+Vcc R R résistances de rappels SDA SCL (écriture) (écriture) Données Horloge (Lecture) (Lecture)
SCL
SDA START SDA valide SDA change STOP
La liaison I2C : exemple de lecture
Start DEVICE SELECT R/W BYTE ADRESS Start Ack
Start DEVICE SELECT R/W DATA OUT No ACK Stop
1 1 0 1 0 0 0 0 0 A 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 1 A 1 0 0 1 0 1 1 1
Les liaisons séries synchrones du microcontrôleur:l’I2C
Les liaisons séries synchrones du microcontrôleur:l’I2C emission
Les liaisons séries synchrones du microcontrôleur:l’I2C réception
Les registres associé à la liaison I2C
La liaison série asynchrone du microcontrôleur:généralités
Liaison série asynchrone.
Ce dispositif ne possède pas de signal d’horloge de synchronisation. Les unités en liaison possèdent chacune une horloge interne cadencée à la même fréquence. Lorsqu’une unité veut émettre un mot binaire, elle génère un front descendant sur sa ligne émettrice. A la fin de l’émission de ce mot, la ligne repasse au niveau haut. La donnée à transmettre peut contenir un bit supplémentaire appelé “parité” et servant à la correction d’erreurs.
Paramètres rentrant en jeu pour la norme RS232 :
Longueur des mots : 7 bits (ex : caractère ascii) ou 8 bits
La vitesse de transmission : elle est défini en bits par seconde ou bauds. Elle peut prendre des valeurs allant de 110 à 115 200 bds.
Parité : le mot transmis peut être suivi ou non d'un bit de parité qui sert à détecter les erreurs éventuelles de transmission.
Bit de start : la ligne au repos est à l'état logique 1 pour indiquer qu'un mot va être transmis la ligne passe à l'état bas avant de commencer le transfert. Ce bit permet de synchroniser l'horloge du récepteur.
Bit de stop : après la transmission, la ligne est positionnée au repos pendant 1, 2 ou 1,5 périodes d'horloge selon le nombre de bits de stop.
Niveau de tension : Un “0” logique est matérialisé par une tension comprise entre 3 et 25V, un “1” par une tension comprise entre -25 et -3 V. Des circuits spécialisés comme le MAX 232 réalise la conversion à partir de niveau TTL.
La liaison série asynchrone du microcontrôleur:généralités
UNITÉ
MAÎTRE
UNITÉ
ESCLAVE
TXD
RXD RXD
TXD
Bit d
e start
Bit d
e parité
Bit d
e stop
tTTRAMES
D0 D5D4D3D2D1 D6 P
Txd ou Rxd
La liaison série asynchrone du microcontrôleur : l’USART
La liaison série asynchrone: chronogramme d’émission et de réception
La liaison série asynchrone: les registres de configuration
La liaison série asynchrone: les registres de configuration 2
La liaison série asynchrone: les registres de configuration 3
Spécificité du pic 16F877: mot de configuration
Spécificité du pic 16F877: circuit d’horloge
Spécificité du pic 16F877: reset
Il existe différentes situation pouvant entraîner un reset du circuit :
Power on reset : la tension d’alimentation descend en dessous du seuil de 1,2 à 1,7v.
Brown on reset : la tension d’alimentation reste vers un niveau de 4 v pendant un temps assez long
Watchdog reset : action du chien de garde
MCLR/ activé : action sur l’entrée MCLR
Spécificité du pic 16F877: le chien de garde « watchdog »
Permet de relancer le microcontrôleur en générant un reset lorsque le programme ne se déroule pas normalement
Spécificité du pic 16F877: Les interruptions
Le jeu d’instructions
Exemple de programmeInitialisations des lignes de port;*************************************************************** DEBUT MOVLW H'FF' BSF STATUS,RP0 ; Definition du sens des ports sélection bank1
MOVLW B'00100001' ;MOVWF TRISC ; port RC en sortie sauf RC5, RC0 BCF PORTC,ACCL ; accés afficheurBSF PORTC,VTCH1 ; dévalidation clavierBSF PORTC,VTCH2
MOVLW B'11111111' ; MOVWF TRISB ; port RB en entréeMOVLW B'00001110' ; entrée RA0 en analogiqueMOVWF ADCON1 ;MOVLW B'11111111' ; port A en entréeMOVWF TRISA ;MOVLW B'11111000' ; port E en sortieMOVWF TRISEMOVLW B'00000000' ; port D en SortieMOVWF TRISDBCF STATUS,RP0 ; fin de Definition du sens des ports sélection bank0
;;; ; Initialisation de la conversion A/N;***************************************************************
BANKSEL ADCON1 ; sélection bankMOVLW B'00001110' ; config RA0 en ana vref=vdd -vref=vssMOVWF ADCON1 ;
MOVLW B'11111111' ;MOVWF TRISA ; port A en entrée