Vous êtes sur la page 1sur 11

Etude de linterface srie asynchrone A.C.I.A.

6850
I- Gnralits
A.C.I.A. : Asynchronous communication interface ada ter. Ada tateur our la communication asynchrone. A artient ! la famille des ".A.#.$. Ce circuit ro%ramma&le ermet la communication srie asynchrone selon la rocdure '$A#$'$(). )rocdure tr*s utilise our de fai&les d&its dinformations +50 -,-. /00 &its0seconde : 1itesse de tra1ail de &on nom&re de ri hri2ues3.

4ormat du mot :
Il com rend entre 5 et 8 &its5 lensem&le tant rcd dun &it de start et sui1i de - ou -55 ou / &its de stop. 6e &it de start est synchronis sur une horlo%e mais la suite des caract*res est asynchrone.

Illustration :

6e circuit tra1aille en arall*le +&us donnes 8 &its3 cot micro rocesseur et en srie cot ri hri2ue +tlty e5 cla1ier5 im rimante5 7odem5 etc... 6es ni1eau8 lo%i2ues dli1rs ar lACIA sont com ati&les $$6. )our confi%urer les si%nau8 au standard #'-/9/C5 il est ncessaire dad:oindre des circuits5 de con1ersion de ni1eau8 +$$6#/9/35 et +#'/9/$$63. Il faut distin%uer les ni1eau8 fournis ar lACIA : $$6 +lo%i2ue ositi1e3 et ceu8 dli1rs ar la li%ne.

Illustration :

ACIA 6850

FST SETTET

BENABDESSELAM

GI

1/11

Gnralement5 les infos sont 1hicules5 dans le code A'CII5 soit ar &oucle de courant recommand our les milieu8 fortement ertur&s : ;i1eau 0 : circuit ou1ert ;i1eau - : /0 mA soit ar liaison #' /9/ +/0<&its3 #' =/9 +-00 <&its3 #' =// +-0 m%a&its3 ;i1eau - : --/> ;i1eau 0 : ?-/>

)rsentation de lACIA 6850 'chma :

#emar2ue

: il ny a as dentre #eset.

Ce circuit int*%re : un metteur de donnes asynchrone un rce teur de donnes asynchrone une lo%i2ue de commande 7odem des entres dhorlo%e s ares our lmission et la rce tion. 6mission et la rce tion eu1ent fonctionner simultanment +full-du le83 et a1ec des 1itesses diffrentes. Ce circuit com rend 2uatre re%istres internes : - re%istre de transmission - re%istre de rce tion. - re%istre de contr@le - re%istre dAtat

ACIA 6850

FST SETTET

BENABDESSELAM

GI

2/11

Etude matrielle (r%anisation e8terne :


Ce circuit oss*de /= &roches.

Cot microprocesseur :
Le bus des donnes : d0 ... d7 Assure lchan%e des donnes entre le micro rocesseur et lACIA. 6ors2ue le &oBtier nest as slectionn ces li%nes &idirectionnelles sont en haute im dance. Le bus des adresses : CSO, CS1 ET /CS2 (Ch p Se!e"t# Ces 9 li%nes sont relies 1ia le dcodeur au &us des adresses du micro rocesseur our slectionner le &oBtier5 la slection est 1alide lors2ue la com&inaison est : +--03 $S ($e% ster se!e"t# Cette entre ermet de slectionner les re%istres internes +/ octets mmoire3. Elle est utilise con:ointement a1ec la li%ne #0C de sorte 2ue lon uisse choisir un re%istre armi les = dis oni&les. +>oir ta&leau rca itulatif3. Le bus de "ontr&!e : La ! %ne E : 'i%nal dacti1ation des chan%es. La ! %ne $/' : li%ne de contr@le du transfert des donnes a1ec le micro rocesseur. $/' ( 1 D seuls les &uffers de sorties sont acti1s + ossi&ilit de lire un re%istre3. $/' ( O D seuls les &uffers dentre sont acti1s + ossi&ilit dcriture dans un re%istre3 Cette li%ne est utilise %alement comme li%ne su lmentaire our ladressa%e des re%istres internes +>oir ta&leau rca itulatif3. (n remar2ue la&sence de la li%ne #E'E$ - Ce 2ui si%nifie 2ue linitialisation se fait ar soft. I$) (Interrupt re*uest# 6i%ne de sortie a drain ou1ert + as de # de ra el3 acti1e sur un ni1eau &as - relie au8 entres des interru tions du micro rocesseur ou au )IC +68/8 : riority interru t control3.

Cot extrieur -- 6es li%nes Ehorlo%eE


T+"!, : horlo%e de transmission 'ert de synchronisation +rfrence3 our la transmission des donnes sur la li%ne $8data. 6e re%istre de dcala%e concernant la transmission est synchronis sur un front descendant de ce si%nal. $+"!, : horlo%e de rce tion 'ert de synchronisation our la rce tion des donnes sur la li%ne #8data. 6e re%istre de dcala%e +char%ement et dcala%e35 s cifi2ue ! la rce tion5 est ilot ar un front montant de ce si%nal.

ACIA 6850

FST SETTET

BENABDESSELAM

GI

3/11

6es 1itesses de transmission et rce tion eu1ent 1arier de ( ! 500 <&its0s. Il y a ossi&ilit de di1iser ces deu8 horlo%es ar -6 ou 6=.

/- 6es li%nes de contr@le dun ri hri2ue ty e modem.


a- L %ne CTS (C!ear To send# Entre ermettant de sa1oir si le modem est rFt ! rece1oir des infos. "n ni1eau &as si%nifie 2ue le modem est rFt. "n ni1eau haut si%nifie 2ue le modem est a&sent +ou non rFt3. Influence sur le &it +$G#E3 du '# $e.ar*ue : 'il ny a as de modem +ou autre3 mettre tou:ours cette entre au ni1eau &as. b- L %ne /C/ (/ata "arr er dete"t# Gtection de orteuse ou erte de la orteuse. Entre ermettant de sa1oir si la orteuse au ni1eau du modem est rsente. "ne a&sence de celle-ci inhi&e la rce tion5 cela se traduit ar un ni1eau haut sur cette entre +dfaut sur la li%ne H3 "n ni1eau &as si%nifie une rsence de la orteuse au ni1eau du modem5 tat normal. $e.ar*ue : non utilise5 elle doit Ftre tou:ours au ni1eau &as H Cette entre eut %nrer une interru tion I#I5 si C#J K - et si un front montant est a aru sur GCG. "- La sort e $TS ($e*uest To Send# /e.ande d0. ss on. Cette sortie ermet de solliciter le modem +ou autre3 our une transmission ar le micro rocesseur +mission demande ar le micro rocesseur3. 6tat de cette sortie d end du mot crit dans le C#. 6a demande dmission se traduit ar #$' au ni1eau &as. E+e.p!es d1ut ! sat on : a- 2ode. "o..and par un ACIA

b- L a son A" a - A" a

ACIA 6850

FST SETTET

BENABDESSELAM

GI

4/11

(r%anisation interne :
le $G# +$ransmit Gata #e%ister3 #e%istre de transmission dans le2uel on lace le mot +8 &its3 ! transmettre. 6criture du mot a lieu sur le front descendant de E. 3on"t onne.ent : 'i as de transmission en cours5 alors le contenu du $G# est transfr dans le re%istre ! dcala%e automati2uement a r*s une instruction dcriture. 'i ar contre5 un caract*re est en cours de transmission5 le transfert $G# dans le re%istre ! dcala%e est diffr 2ue lAo ration de dcala%e est en cours +&0 en -er3 GrLce au dou&le re%istre5 le caract*re sui1ant eut-Ftre crit dans $G# mFme si le caract*re rcdent est encore en cours de transmission dans le re%istre ! dcala%e. G*s 2ue le transfert a lieu5 un &it du re%istre dtat est ositionn ! E-E +1oir re%istre '#3 6e #G# +#ecei1e Gata #e%ister3 #e%istre de rce tion dans le2uel on reMoit le mot +8 &its3 en ro1enance du ri hri2ue. 3on"t onne.ent : Iuand un caract*re com let est reMu5 il est automati2uement transfr du re%istre de dcala%e de rce tion dans le #G#. A ce moment l!5 un &it dans le re%istre dtat est ositionn ! E-E. 6e caract*re eut alors Ftre lu ar le micro rocesseur. $ant 2ue le &it dans le re%istre dtat est ! -5 le transfert automati2ue est sus endu H Gu fait du dou&le re%istre5 la lecture eut-Ftre diffre tant 2ue la rce tion du mot sui1ant nest as termin. Cest le &it &0 de la donne 2ui est reMu en -er. 6e re%istre dtat '# +'tatus #e%ister3 )ermet au micro rocesseur de connaBtre ! tout instant ltat dune transmission ou dune rce tion. 6e re%istre de contr@le C# +Control #e%ister3 )ermet de confi%urer le circuit en ad2uation a1ec le ri hri2ue. #eMoit les aram*tres de fonctionnement sous forme dun mot de contr@le +8 &its3 crit sur le front descendant de E - aussi &ien our la transmission 2ue la rce tion. $e.ar*ue : Ces re%istres ont la articularit dAFtre soit en criture +C#3 soit en lecture +'#3 uni2uement. Etant donn 2ue lAACIA est 1u ar le micro rocesseur comme deu8 cases mmoires5 le com lment du dcoda%e est ralis ar la li%ne #0C &arre. 6es com&inaisons entre #' et #0C ermettent de slectionner lAensem&le des re%istres selon le schma sui1ant :

ACIA 6850

FST SETTET

BENABDESSELAM

GI

5/11

$a&leau rca itulatif +a1ec A0K#'3 :

Illustrations :

Prsentation du registre de contrle


C$0 et C$1 : Gterminent le ra ort de di1ision sur les si%nau8 dentre #8clN et $8clN. 6a com&inaison +--3 %n*re un reset lo%iciel +7aster reset3 indis ensa&le a1ant toute ro%rammation du C#. 6e 7aster reset : initialisation locale + ro re ! lAACIA3 Cons2uences : #emise ! 0 du '# e8ce t les &its lis au8 conditions e8ternes : Initialise le $G# et #G# +contenu nul3 Aucune modification nanmoins des autres &its du C#. C$2, C$4 et C$5 : Choi8 du format de loctet ! transmettre oO ! rece1oir conformment au ta&leau ci-:oint. $e.ar*ues : (n a la ossi&ilit dinsrer un &it de arit. 'i lAon a choisi une arit aire5 le nom&re total de &its au ni1eau haut5 y com ris le &it de arit5 doit Ftre air. 'i lAon a choisi une arit dite im aire5 le nom&re total de &its au ni1eau haut5 y com ris le &it dAim arit5 doit Ftre im air. "ne erreur de arit est si%nale si au cours de la transmission un arasite fait a araBtre ou dis araBtre un &it au ni1eau haut. "ne erreur de format est si%nale si le &it de sto ne8iste as.

ACIA 6850

FST SETTET

BENABDESSELAM

GI

6/11

C$6 et C$7 : Ces deu8 &its contr@lent ! la fois la sortie #$' et la demande dinterru tion en transmission. Autorisent ou non une interru tion ro1o2ue ar le fait 2ue le $G# est 1ide +$G#E K - 1oir lus loin3. )our2uoi P Gune faMon %nrale5 len1oi dun caract*re 1ers la ri hrie est tou:ours rcd dun test sur $G# our sassurer 2ue celui-ci est 1ide. Ce test our Ftre o&tenu ar : -- "ne scrutation ermanente du &it dans le '# +dans ce cas on choisit C#6 et C#5 K 003. /- "ne interru tion %nre ar lACIA 1ers le micro rocesseur cha2ue fois 2ue le $G# est 1ide +dans ce cas5 on choisit C#6 et C#5 K 0-3. $e.ar*ue : 6ACIA met systmati2uement C#6 et C#5 K 0- ! la mise sous tension our 1iter len1oi dinformations intem esti1es. C#5 et C#6 K -- ermet den1oyer un &reaN sur la li%ne de sortie cest-!-dire un ni1eau &as. C$7 (8e "on"erne *ue !e r"epteur#. Ce &it sert de mas2ue dinterru tion concernant les 1nements sui1ants : -- #e%istre de rce tion lein /- 4ront montant sur lentre GCG indi2uant la erte de la orteuse. Ce &it mis ! - traduit ces 1nements ar une demande dinterru tion I#I &as.

Etude des b ts du re% stre d1tat


S$0 6a lecture du &it &0 indi2ue si le re%istre de #ce tion #G# est lein +'#0 K -3 #emise ! 0 ar : "ne lecture du #G# "n 7aster #eset "ne entre GCG haut + lus de orteuse donc lus de donneH3 $e.ar*ue : '#0 K 0 --, #G# 1ide --, on attend H

S$1 Concerne le re%istre de $ransmission. '#- K - : lors2ue la donne nest as dis oni&le dans le $G#. #emise ! 0 ar : "ne criture dans le $G# "n 7aster reset "ne entre C$' haut + as rFt ! rece1oir3 $e.ar*ue : '#- K 0 --, $G# est lein --, on attend H S$2 : Indi2ue ltat lectri2ue de la li%ne GCG &arre. '#/ K - si GCG K - +a&sence de la orteuse3

ACIA 6850

FST SETTET

BENABDESSELAM

GI

7/11

Ceci eut %nrer une interru tion I#I si autorise +C#J K -3 Ce &it est remis ! 0 ar : "ne lecture du '# sui1ie ar une lecture du #G#. S$4 Indi2ue ltat de lentre C$' '#9 K - si%nifie 2ue C$' est haut +modem as rFt ! rece1oir3 Cons2uence : forMa%e de '#- ! 0 +$G# lein3 ce 2ui si%nifie 2ue la transmission est interrom ue H Ce &it nAest as affect ar un 7aster reset. S$5 Indi2ue une erreur de formata%e +4E3 '#= K - : indi2ue un ro&l*me de synchronisation 2ui se caractrise ar une a&sence du +des3 &it+s3 de sto . 7ise ! 0 de '#= a r*s : une lecture du #G# a r*s dis arition du ro&l*me un 7A'$E# #E'E$ un ni1eau &as sur GCG S$6 Indi2ue un d&ordement +(>#;3 '#5 K - si%nifie 2ue lusieurs caract*res ont t reMus a1ant la lecture du caract*re rcdent. 'i ro&l*me rsolu5 mise ! 0 de '#5 a r*s : 6ecture du #G#. "n ni1eau haut sur GCG ou un 7aster #E'E$. S$7 Indi2ue une erreur de arit +)E3 '#6 K -5 indi2ue 2ue la arit reMue a1ec le caract*re est incorrecte. '#6 est remis ! Qro a r*s : "ne lecture du #G# si le ro&l*me est rsolu H "n 7A'$E# #E'E$. S$7 '#JK- : Indi2ue 2uil y a une demande dinterru tion. Cette demande eut ro1enir des 1nements sui1ants : #G# lein +'#0 K -3 si C#J K $G# 1ide +'#- K -3 si C#5 K C#6 K GCG haut si C#J K #emise ! 0 de ce &it a r*s : ar une lecture de #G# ar une criture de $G# ar une lecture de '# et du #G# +GCG3

ACIA 6850

FST SETTET

BENABDESSELAM

GI

8/11

Etude 6o%icielle
)ro%rammer un ACIA consiste ! crire dans son re%istre de contr@le un octet our dfinir le mode de fonctionnement. A la mise sous tension5 la lo%i2ue interne dinitialisation met lACIA dans un tat dattente our 1iter des transitions intem esti1es en sortie. 6ACIA sort de cet tat ar linitialisation ro%ramme E7aster resetE - 2ui lui ermet de rendre en com te le char%ement du C# a1ec le mot a ro ri. 9r n" pes de :on"t onne.ent En %nral5 le ro%ramme de transmission commence ar une interro%ation du &it '#- a el $G#E +$G# 1ide3 - Ce &it est mis ! - lors2ue le caract*re rcdemment char% dans le $G# est transfr dans le re%istre ! dcala%e de transmission +ra:out des &its de start5 sto et arit3 our y Ftre dcal au rythme de $8clN et a araBtre sous forme srie sur la li%ne $8Gata. 6e $G# est alors li&re daccueillir un nou1eau mot sans ris2uer EdcraserE le mot rcdent. )our rocder ! lcriture dun nou1eau mot5 le micro rocesseur doit donc se mettre en ollin% sur $G#E5 ou e8 loiter la demande dinterru tion %nre lors du assa%e au ni1eau - de $G#E. 6es donnes sont reMues en srie ar lentre #8Gata en ro1enance du ri hri2ue5 ! une fr2uence sous multi le de lhorlo%e de transmission. 6e ra ort est ro%ramm ! linitialisation de lACIA. 'ui1ant lun des 9 modes. Ensuite transfr dans le #G# a1ec limination des &its de start5 de sto et de arit. "ne s2uence de rce tion commence ar une lecture de '# our tester le &it #G#4 K -5 soit ar une mise en ollin% sur ce &it5 soit ! la suite dune demande dinterru tion. G*s 2ue #G#4 K -5 la rce tion du mot est termine et celui-ci eut Ftre lu ar le micro rocesseur. 6a arit du mot reMu est contr@le lors de cette rce tion. 6e re%istre dtat indi2ue si le re%istre de rce tion contient un caract*re a1ec d1entuelles erreurs de arit5 de format ou do1erfloR.

E8ercice ;S- :

ACIA 6850

FST SETTET

BENABDESSELAM

GI

9/11

(n dsire raliser un ro%ramme 2ui ermet dmettre un caract*re 1ers un ri hri2ue de ty e $$T ou C#$. 6e caract*re ! transfrer se trou1e dans la case mmoire dadresse U0=00. 6e facteur de rythme est -6. 6e format est J &its ? arit im aire ? / &its '$(). #$'K0 et interru tion inhi&e en mission et rce tion. -S3 Gonner lor%ani%ramme /S3 Ecrire le ro%ramme corres ondant.

E8ercice ;S/ :
(n dsire rece1oir un caract*re ! artir de la console C#$ ou de la tlty e $$T. 6e caract*re reMu sera ran% dans la case mmoire dadresse U0500. (n utilise le mFme rotocole de communication a1ec #$'K0 et I#I inhi&e en mission et rce tion. -S3 Gonner lor%ani%ramme /S3 Ecrire le ro%ramme corres ondant.

E8ercice ;S9 :
(n dsire rece1oir lusieurs caract*res :us2u! rencontre du sym&ole C# +retour chariot3. 6e remier caract*re sera ran% dans la case mmoire dadresse U0=00. 6e sym&ole C# est re rsent en he8adcimal ar la 1aleur U0G. (n utilise le mFme rotocole de communication a1ec #$'K0 et I#I inhi&e en mission et rce tion. -S3 Gonner lor%ani%ramme /S3 Ecrire le ro%ramme corres ondant.

Gestion des interru tions


En trans. ss on : 'i C#5 K - et C#6 K 05 la li%ne I#I est acti1e au ni1eau &as d*s 2ue le $G# est dclar 1ide ar le assa%e au ni1eau - de $G#E. 6e ro%ramme de traitement de cette interru tion a 1idemment comme &ut dcrire le caract*re sui1ant dans le $G#5 ce 2ui entraBne en lus la remise ! Qro de $G#E donc le retour ! ltat de re os de la li%ne I#I ainsi 2ue la remise ! Qro du &it '#J du re%istre dtat. Ce fonctionnement est maintenu tant 2ue lACIA nest as sous contr@le dun 7aster #eset et tant 2ue la li%ne C$' est maintenue au ni1eau &as ar le modem. #a elons 2ue lors2ue le modem ne 1eut lus transmettre de caract*re5 il met C$' au ni1eau haut ce 2ui force $G#E au ni1eau &as et inhi&e le rocessus ci-dessus. En r"ept on : 'i C#J 1aut -5 la li%ne I#I est acti1e au ni1eau &as ! cha2ue fois 2ue le #G# est lein +#G#4K-35 le ro%ramme dinterru tion est char% de lire le caract*re reMu5 ce 2ui en outre remet #G#4 ! Qro ainsi 2ue la li%ne dinterru tion au re os. Cette o ration est dclenche %alement si une erte de la orteuse est si%nale +GCGK-3 ou si le &it (>#; +'#53 asse au ni1eau haut. 6es fla%s +)E3 et +4E3 ne dclenchent as dinterru tion et

ACIA 6850

FST SETTET

BENABDESSELAM

GI

10/11

cest ! la char%e du ro%ramme dinterru tion lui-mFme de contr@ler 2ue le mot reMu ne com orte as derreur en testant les deu8 &its '#= et '#6.

ACIA 6850

FST SETTET

BENABDESSELAM

GI

11/11