Professional Documents
Culture Documents
SENHADJI
Microprocesseur
LUSART est un canal srie Single Full duplex avec un buffer double de rception et de transmission. Les bytes de donnes et d'tats de la rception sont aussi indpendant de ceux de la transmission. Des canaux d'interruptions sont associs sparment la partie rception et transmission. Chaque partie possde la fois un canal d'interruption dans les conditions normales de fonctionnement et un canal d'interruption dans le cas d'erreur. Un transfert DMA (Direct Memory Accs) peut tre effectu en utilisant les signaux externes RR\ (Receive Ready) et TR\ (Transmitter Ready). L USART du MFP support un format synchrone et asynchrone
M.SENHADJI Microprocesseur 2
Pour des mots 8 bits, le caractre assembl sera constitu du mot de donne complt par des zros et suivi du bit de parit si la parit est utilise.
M.SENHADJI Microprocesseur 3
En mode asynchrone, la logique de dtection du bit de START est active. Les donnes ne sont dcals dans le registre dcalage de rception que lorsque le bit zro et dtect. Lorsque le mode %16 d'horloge est slectionn la logique de dtection de faux bit de START est active aussi. Une transition est considre valide si elle reste stable au moins pour trois fronts montants de l'horloge de rception. Et dans ce cas la transition valide du zro un " 1" ne doit pas arriver a moins de 8 transitions positives de l'horloge
M.SENHADJI Microprocesseur 4
Synchronisation sur le contenu du registre SCR, Les donnes ne sont stockes dans le registre de rception que lorsque la synchro est tablie, Pour une longueur du mot de donne (a initialiser avant le registre SCR), les bits non utiliss du SCR sont mis zro. Lorsque la parit est active, la longueur du mot de synchronisation est quivalente celle du mot de donne plus un.
M.SENHADJI
Microprocesseur
Le MFP calcul et ajoute le bit de parit pour le mot de synchronisation lorsque la longueur du mot est 8 bits Lorsque la longueur du mot est infrieur 8 bits, l'utilisateur doit dterminer le bit de parit du mot de synchronisation et l'crire dans le registre SCR avec le caractre de synchronisation. Le MFP doit alors transmettre le bit en trop du mot de synchronisation comme un bit de parit.
M.SENHADJI
Microprocesseur
Le registre de contrle de l'USART (UCR) slectionne l'horloge de fonctionnement, le format du caractre et la parit pour la rception et la transmission.
Adresse 29 Hexa
CLK
WL1
WL0
ST1
ST0
PE
E/O
M.SENHADJI
Microprocesseur
CLK : Clock mode. CLK = 0 : la donne est stocke dans le registre de rception ou transmise partir du registre de transmission la frquence de leur horloges respectives. CLK = 1 : La rception et la transmission se font au 1/16 de leurs frquences. La logique de resynchronisation des donnes est active.
M.SENHADJI
Microprocesseur
Bits STOP FORMAT 0 Synchrone 1 Asynchrone 1 Asynchrone (valable uniq. pour le mode 16%) 2 Asynchrone
Microprocesseur 9
E/O : Parit paire/Impaire : (EVEN/ODD parity) : E/O = 0 : la parit impaire est slectionne E/O = 1 : La parit paire est slectionne
M.SENHADJI Microprocesseur 10
Lorsque les donnes sont reue par l'entre srie (SI), elles sont enregistres dans un registre a dcalage de 8 bits jusqu' ce que le nombre de donnes spcifies soit assembl. Le caractre est alors transfr au registre de rception (sachant que le dernier mot prsent dans le registre de rception a t lu) La lecture du registre de rception satisfait la condition "Buffer Full" et permet un nouveau mot d'tre assembl au niveau du registre dcalage. Ce transfert produit la demande d'interruption "Buffer Full" au processeur.
M.SENHADJI Microprocesseur 11
Le registre de rception est accessible par la lecture du registre de donne UDR (USART DATA REGISTER). Chaque fois qu'un mot est transfr au registre de rception, les informations d'tat de ce mot sont positionnes dans le registre d'tat de rception RSR. Le RSR n'est mis jour que lorsque le mot de donne dans le registre de rception a t lu. Le RSR doit tre toujours lu avant le registre de rception UDR pour maintenir une correspondance correcte entre les donnes et les bits d'tats.
M.SENHADJI Microprocesseur 12
Pour un caractre reu, une seule interruption est gnre la fois. Un vecteur d'interruption est affect chaque canal.
M.SENHADJI Microprocesseur 13
Lorsque le mot reu est erron et le canal d'interruption d'erreur est actif, une interruption est gnre uniquement par le canal d'erreur. Lorsque la canal d'erreur est dsactiv, une interruption pour une condition d'erreur pourra tre gnre par le canal d'interruption "Buffer plein". Le registre d'tat du receveur RSR doit tre toujours lu pour dterminer laquelle des conditions a provoque l'interruption.
M.SENHADJI Microprocesseur 14
BF
OE
PE
FE
F/S ou B M/CIP
SS
RE
BF : "Buffer Full BF = 1 lorsque le mot reu est transfr au Buffer de rception, BF = 0 lorsque le buffer de rception est lu en accdant au registre de donne (UDR), Ce bit est en lecture seulement.
M.SENHADJI Microprocesseur 15
PE : Parity Error :
PE = 1 erreur de parit PE = 0 pas d'erreur
M.SENHADJI Microprocesseur 16
En mode caractre asynchrone, ce drapeau indique la condition du "BREAK". Un "BREAK" est dtect lorsque le mot de donne ne contient que des zros (sans bit de STOP) est reu . La condition "BREAK" continue jusqu' rception de donnes non nul.
B = 1 lors d un BREAK. La condition "BREAK" gnre une interruption B = 0 lorsque la donne reue est non nulle. L'interruption d au "BREAK" est leve lorsque le bit est zro.
M.SENHADJI Microprocesseur 18
En mode caractre asynchrone, ce flag indique que le mot est en cours d'assemblage.
CIP est mis "1" lorsque le bit start est dtect. CIP est mis zro lorsque le dernier bit de STOP est reu.
M.SENHADJI Microprocesseur 19
Le buffer de transmission ne peut tre charg que lorsque le transmetteur est activ END 0 Donne crite par le processeur dans UDR La donne est transfre ensuite au registre dcalage interne Ceci provoque la condition BE 1 UE est produite, si la donne prsente dans le registre a dcalage est encore prsente alors quune nouvelle donne vient s inscrire dans le buffer de transmission
M.SENHADJI Microprocesseur 20
10
Canaux d IT du transmetteur
Deux canaux dinterruption sont associ a la partie transmission de lUSART.
Un canal indique la condition Buffer Empty , le deuxime indique les conditions Underrun Error ou END.
Ces conditions dinterruption correspondent aux bits BE, UE et END du registre TSR Transmitter Status Register . Pour prendre en compte lIT le canal associ au bit doit tre actif.
M.SENHADJI Microprocesseur 21
BE
UE
AT
END
TE
TE : Transmetteur Enable TE = 0 le transmetteur est dsactiv UE = 0 et END = 1 TE = 1 transmetteur est activ, la sortie du transmetteur devra prendre la valeur programme dans H,L jusquau moment ou la transmission dmarre. Par consquent un bit (le premier) sera transmit en trop avant de transmettre la donne dans le registre a dcalage.
M.SENHADJI Microprocesseur 22
11
M.SENHADJI
Microprocesseur
24
12
M.SENHADJI
Ex 6 : Programmation USART
Envoi dun message sur le port serie : 1200 Baud, parit paire, 7 bits de donnes
M.SENHADJI
Microprocesseur
26
13