µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : (Asynchronous Serial Communications Interface)
Cette interface permet au microcontrôleur d’échanger des données avec
des circuits périphériques utilisant une liaison série asynchrone
(ordinateurs, tables traçantes, modem, instruments de musique…).
Les circuits internes de la SCI permettent :
• des échanges asynchrones bidirectionnels en full duplex
• de choisir la vitesse de transmission
• de choisir le format de transmission
• de choisir le mode d’activation de la partie réception (classique ou
réveil)
• de gérer les erreurs de transmission
• d’indiquer la fin de transmission
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 69
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone :
La liaison est assurée par deux broches RxD – Receive Data- (PD0) et
TxD –Transmit Data- (PD1) du port D.
Après un RESET, la SCI est inhibée et le port D est configuré comme un
port d’usage général.
• La SCI peut être activée en réception et/ou en émission (half ou full
duplex).
• Lorsque la SCI est activée en réception, PD0 devient l’entrée de
réception des données RXD.
• Lorsque la SCI est activée en émission, PD1 devient la sortie de
transmission des données TXD.
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 70
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre SCDR :
Ce registre, accessible en lecture - écriture, est un registre 8 bits dans lequel on
vient écrire la donnée à transmettre ou dans lequel on vient lire la donnée reçue.
RESET - - - - - - - -
$102F D7 D6 D5 D4 D3 D2 D1 D0
Lors d’une transmission, c’est le bit de poids faible D0 qui apparaît en premier
sur la ligne après le bit de start.
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 71
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre BAUD :
Le récepteur et l’émetteur travaillent à la même vitesse, dérivée de
l’horloge interne du microcontrôleur.
Le registre 8 bits BAUD, accessible en lecture – écriture permet de
choisir cette vitesse.
RESET 0 0 0 0 0 0 0 0
$102B 0 0 SCP1 SCP0 0 SCR2 SCR1 SCR0
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 72
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre BAUD :
$102B 0 0 SCP1 SCP0 0 SCR2 SCR1 SCR0
Débit de transmission
DM=125 000 bauds 0 0
DM=41 666 bauds 0 1
DM=31 250 bauds 1 0
DM=9 600 bauds 1 1
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 73
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre BAUD :
$102B 0 0 SCP1 SCP1 0 SCR2 SCR1 SCR0
Débit de transmission en bauds DM=9 600 bauds
D=DM/1 0 0 0 9600 bauds
D=DM/2 0 0 1 4800 bauds
D=DM/4 0 1 0 2400 bauds
D=DM/8 0 1 1 1200 bauds
D=DM/16 1 0 0 600 bauds
D=DM/32 1 0 1 300 bauds
D=DM/64 1 1 0 150 bauds
D=DM/128 1 1 1 75 bauds
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 74
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre SCSR :
Ce registre 8 bits, accessible uniquement en lecture, permet de surveiller
le bon déroulement des opérations de la SCI.
RESET 1 1 0 0 0 0 0 0
$102E TDRE TC RDRF IDLE OR NF FE 0
Registre d’émission vide (Transmit Data register Empty Bit)
0 Registre occupé
1 Registre vide (RAZ par la lecture du SCSR puis lecture du SCDR
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 75
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre SCSR :
$102E TDRE TC RDRF IDLE OR NF FE 0
Indicateur de fin de transmission (Transmit Complete Bit)
0 Transmission en cours (Transmetteur occupé)
1 Transmission terminée (Transmetteur en attente) (RAZ par lecture
du SCSR puis lecture du SCDR)
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 76
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre SCSR :
$102E TDRE TC RDRF IDLE OR NF FE 0
Indicateur d’état du registre de réception de données
(Receive Data Register Full Bit)
0 Registre de données SCDR vide (Réception incomplète)
1 Registre de données SCDR plein (Réception terminée) (RAZ par
lecture du SCSR puis lecture du SCDR)
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 77
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre SCSR :
$102E TDRE TC RDRF IDLE OR NF FE 0
Indicateur de détection d’un état de veille (Idle-Line Detect Bit)
0 Ligne RxD en activité
1 Ligne RxD en attente au niveau 1 (RAZ par lecture du SCSR puis
lecture du SCDR)
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 78
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre SCSR :
$102E TDRE TC RDRF IDLE OR NF FE 0
Indicateur de dépassement (Overrun Error Bit)
0 Pas de surcharge
1 Surcharge du registre de réception (RAZ par lecture du SCSR puis
lecture du SCDR)
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 79
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre SCSR :
$102E TDRE TC RDRF IDLE OR NF FE 0
Indicateur de bruit de transmission (Noise Flag)
0 Réception non bruitée
1 Réception bruitée (RAZ par lecture du SCSR puis lecture du SCDR)
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 80
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre SCSR :
$102E TDRE TC RDRF IDLE OR NF FE 0
Erreur de trame (Framing Error Bit)
0 Format correct
1 Format incorrect (RAZ par lecture du SCSR puis lecture du SCDR)
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 81
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Fonctionnement de l’interface
Fonctionnement en émission: Emission
Sauvegarde
du contexte
PSHX
TDRE=1
Envoi LDX #SCSR
BRCLR 0,X $80 Envoi
STAA SCDR
PULX SCDR (A)
RTS
Restitution du
contexte
Fin du SP
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 82
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Fonctionnement de l’interface
Fonctionnement en réception: Réception
Sauvegarde
du contexte
PSHX
RDRF=1
Attente LDX #SCSR
BRCLR 0,X $80 attente
LDAA SCDR
PULX A (SCDR)
RTS
Restitution du
contexte
Fin du SP
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 83
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR1 :
Ce registre huit bits, accessible en lecture – écriture, permet de définir le
format de transmission et la procédure de réveil de réception.
RESET - - 0 0 0 0 0 0
$102C R8 T8 0 M WAKE 0 0 0
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 84
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR1 :
$102C R8 T8 0 M WAKE 0 0 0
9 bits
R8 Réception sur 9 bits
T8 Emission sur 9 bits
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 85
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR1 :
$102C R8 T8 0 M WAKE 0 0 0
Format de la trame
0 1 bit de start + 8 bits de données + 1 bit de stop
1 1 bit de start + 9 bits de données + 1 bit de stop
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 86
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR1 :
$102C R8 T8 0 M WAKE 0 0 0
Mode de réveil du récepteur
0 RxD à 1 pendant au moins 1 trame de 10 ou 11 bits
1 MSB du mot à 1 adresse
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 87
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR2:
Ce registre 8 bits, accessible en lecture – écriture, permet de valider ou
inhiber certaines fonctions de l’interface.
$102D TIE TCIE RIE ILIE TE RE RWU SBK
Autorisation des interruptions
0 Interruption inhibées
1 Interruption si TDRE =1
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 88
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR2:
$102D TIE TCIE RIE ILIE TE RE RWU SBK
Autorisation de l’interruption « transmission complète »
0 Interruption inhibées
1 Interruption si TC =1
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 89
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR2:
$102D TIE TCIE RIE ILIE TE RE RWU SBK
Autorisation des interruptions en réception
0 Interruption inhibées
1 Interruption si RDRF =1
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 90
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR2:
$102D TIE TCIE RIE ILIE TE RE RWU SBK
Autorisation d’interruption « ligne en attente »
0 Interruption inhibée
1 Interruption dès que la ligne est à « MARK » (10 ou 11 bits à1)
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 91
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR2:
$102D TIE TCIE RIE ILIE TE RE RWU SBK
Activation de la SCI
SCI désactivée (PD0 et PD1 E/S usage général) 0 0
Half duplex en réception (PD1 usage général) 0 1
Half duplex en émission (PD0 usage général) 1 0
Full duplex 1 1
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 92
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR2:
$102D TIE TCIE RIE ILIE TE RE RWU SBK
Mode d’activation du récepteur
UART Classique 0
Mode réveil 1
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 93
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
le registre SCCR2:
$102D TIE TCIE RIE ILIE TE RE RWU SBK
Emission d’un BREAK
Opération normale en réception 0
Emission en continu d’un BREAK (10 ou 11 bits à 1) 1
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 94
µC
DSP 1 Microcontrôleur: 68HC11
Liaison série asynchrone : Registres associés
Le registre SPCR:
La liaison série asynchrone, tout comme la liaison série synchrone, peut
être configurée pour disposer de sorties de type « drain ouvert ». Le
choix se fait en positionnant le bit DWOM du registre SPCR et influence
le comportement de l’ensemble du port D.
RESET 0 0 0 0 0 0 - -
$1028 SPIE SPE DWOM MSTR CPOL CPH SPR1 SPR0
Configuration matérielle de sortie du PORT D
0 Sorties de type CMOS
1 Sorties à « drain ouvert » nécessitant des résistances de Pull up
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 95
µC
DSP 1 Microcontrôleur: 68HC11
*************************************************
* Define the internal registers used in the SCI
* *************************************************
RAM EQU $0000 ; Start of Ram
STK EQU $0041 ; User Stack RAM
PROG EQU $0100 ; Program space in RAM
EEPROM EQU $B600 ; Start of EEPROM
REGS EQU $1000 ; Internal Register Block
BAUD EQU $102B ; Baud-rate register
DDRD EQU $1009 ; Port D Data Direction register
SCCR1 EQU $102C ; SCI Control Register-1
SCCR2 EQU $102D ; SCI Control Register-2
SCSR EQU $102E ; SCI Status Register
SCDR EQU $102F ; SCI Data Register
*************************************************
UH II Casa – ENSET Mohammedia Prof. A. RAIHANI 96