CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
Įvedimo ir ivedimo įrenginys
Įvedimo ir ivedimo įrenginys skirtas duomenų mainams tarp sistemos ir iorinių įtaisų organizuoti. Įoriniai įtaisai, danai vadinami periferiniais įrenginiais, gali būti labai įvairūs, pvz. klaviatūra, indikacijos įtaisas, matavimo prietaisas, iorinis atminties įrenginys, skaitmeninis jutiklis, elektros pavaros valdymo įtaisas ir t.t. iuo metu yra sukurtas didelis kiekis duomenų mainų organizavimo priemonių, vadinamų standartiniais periferiniais adapteriais ir valdikliais. ios priemonės greta duomenų įvedimo ir ivedimo funkcijų atlieka ir kitas funkcijas, pagrindinės i kurių yra:
periferinio įrenginio interfeiso (valdymo komandų ir fizinių signalų) formavimas;
periferinio įrenginio fizinis valdymas mikroprocesoriaus komandomis;
duomenų mainų protokolo perkėlimas į auktesnį intelektinį lygį;
elektrinis signalų suderinimas.
Standartiniai periferiniai adapteriai ir valdikliai gaminami, kaip dideli integriniai (vienkristaliai) grandynai. Jie yra sudėtinė įvedimo ir ivedimo įrenginio dalis.
32.1. Programuojamasis lygiagretusis periferinis adapteris, struktūra, valdymo signalai
Programuojamasis įvedimo ir ivedimo lygiagretusis periferinis adapteris PIO (angl. Programmable Input / Output) yra DIG tipo I8255 (bazinis), I8255A (patobulintas) Intel firmos arba MC6820 (bazinis), MC6821 (patobulintas) Motorola firmos. is adapteris skirtas skaitmeniniams duomenų mainams lygiagrečiuoju būdu organizuoti. Adapterio sutartinis grafinis enklas pateiktas 65 pav., o vidinė struktūra 66 pav.
65 pav. I8255 periferinio adapterio sutartinis grafinis enklas
66 pav. I8255 periferinio adapterio vidinė funkcinė schema
Vidinėje struktūroje galima iskirti iuos elementus:
DB duomenų buferinis formuotuvas (buferis);
SRL skaitymo ir raymo logikos schema;
V Gr. A grupės A valdymo schema;
V Gr. B grupės B valdymo schema;
PA, PB, PC lygiagretieji A, B, C portai;
VM vidinė magistralė.
PIO turi 3 dvikrypčius 8 skilčių (1 baito) A, B, C portus (PA, PB, PC), kurie suskaidyti į dvi A ir B grupes:
A grupė A portas ir C porto vyresnioji tetrada;
B grupė B portas ir C porto jaunesnioji tetrada.
Portus sudaro registrai ir buferiniai formuotuvai. A, B portų organizacijos schema pateikta 67 pav. Buferinių stiprintuvų iėjimai yra ijungiami. A, B registrai naudojami tik duomenų baitams įsiminti.
C porto organizacija yra sudėtinga, nes jo registras naudojamas ne tik duomenims įsiminti. is portas dalyvauja, formuojant valdymo signalus, kai vyksta duomenų mainai su kvitavimu.
A, B grupių valdymo schema turi CW (angl. Control Word) valdymo odio registr¹ (CWRG), į kurį įraomas, PIO darbo reim¹ nustatantis, baito kodas. io registro turinio skaityti negalima.
Skaitymo ir raymo logikos schema valdo iuos pagrindinius veiksmus:
pradinį nustatym¹;
duomenų skaitym¹, raym¹ ir kvitavim¹;
porto arba valdymo odio registro pasirinkim¹;
darbo reimo nustatym¹;
kristalo irinkim¹.
a) b)
67 pav. A, B portų organizacijos schema: a) A porto; b) B porto.
PIO ivadų paskirtis yra:
D7 D0 duomenų magistralės įėjimai ir iėjimai, ijungiami;
PA7 PA0, PB7 PB0, PC7 PC0 A, B, C portų dvikrypčiai įėjimai ir iėjimai,
ijungiami;
, skaitymo ir raymo strobavimo signalų įėjimai;
A1, A0 įėjimai, skirti portams A, B, C ir valdymo odio registrui (CWRG) pasirinkti, pagal i¹ lentelź:
A1 |
A0 |
Pasirinkimas |
PA |
||
PB |
||
PC |
||
CWRG |
kristalo irinkimo įėjimas;
RESET pradinio nustatymo įėjimas.
Adapterio funkcionavim¹ apibūdina būsenų lantelė (r. 17 lentelė).
Skaitymo darbo reime duomenų baitas perduodamas i porto į duomenų magistrale, esant = 0. Skaityti valdymo odio registr¹ draudiama.
Raymo metu, duomenų arba valdymo odio baitas siunčiamas i duomenų magistalės į port¹ arba valdymo odio registr¹, esant = 0.
Duomenų magistralės ir portų ivadai ijungiami, kai = 1 arba, kai = = 1. Pastaroji signalų kombinacija gaunama, kai nevyksta duomenų mainai, todėl netgi, esant irinktam kristalui ( = 0), vistiek ivadai ijungiami.
Signalai veikiantys , įėjimuose yra dinaminiai. iems signalams kintant i 1 į 0 lygį vykdomas skaitymas arba raymas. Visų kitų įėjimų signalai yra potencialiniai.
RESET įėjimo 1 loginio lygio signalas atlieka PIO pradinį nustatym¹, ivalant visus vidinius registrus ir nustatant 0 darbo reim¹, o visų portų įėjimus duomenims įvesti.
A1 |
A0 |
|
|
|
Operacija |
Skaitymas |
|||||
DB ← PA |
|||||
DB ← PB |
|||||
DB ← PC |
|||||
Neleistina |
|||||
Raymas |
|||||
PA ← DB |
|||||
PB ← DB |
|||||
PC ← DB |
|||||
CW RG ← DB |
|||||
D, PA, PB, PC ivadai ijungti |
|||||
X |
X |
Z būsena |
|||
X |
X |
X |
X |
Z būsena |
ymėjimai 17 lentelėje: X bet koks loginis lygis (0 arba 1); DB duomenų magistralė; PA, PB, PC A, B, C lygiagrečiosios s¹sajos (portai); CW RG valdymo odio (angl. Control Word) registras; Z auktaomė (ivadai ijungti) būsena.
3.2. PIO darbo reimai ir sujungimų funkcinė schema
PIO turi iuos darbo reimus:
0 reimas vienkryptis A, B ir C portų duomenų baitų įvedimas ir ivedimas be kvitavimo;
1 reimas vienkryptis A, B portų duomenų baitų įvedimas ir ivedimas su kvitavimu. Kvitavimo signalams perduoti ir priimti naudojamas C portas.
2 reimas dvikryptis A porto duomenų baito įvedimas ir ivedimas su kvitavimu. Kvitavimo signalus formuoja C portas, o B portas gali dirbti 0, 1 darbo reimuose.
Darbo reimas nustatomas programikai, įraant specialųjį MS (angl. Mode Selection) valdymo odį į valdymo odio registr¹. Darbo reimas gali būti keičiamas PIO darbo metu bet kuriuo laiko momentu. MS baito formatas pateiktas 18 lentelėje.
MS baito D7 D0 bitai |
|
|||||||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
0 0 0 1 1 X |
0 iėj. 1 įėj. |
0 iėj. 1 įėj. |
0 iėj. 1 įėj. |
0 iėj. 1 įėj. |
|
|||
MS poymis |
||||||||
A grupės PA |
A grupės PC7 PC4 |
B grupės 0, 1 darbo reimas |
B grupės PB |
B grupės PC3 PC0 | ||||
A grupės 0, 1, 2 darbo reimas |
MS formato poymis yra bitas D7 = 1. Likusieji MS baito bitai skirti atskirai A ir B grupių darbo reimams bei duomenų baito (tetrados) perdavimo krypčiai programuoti.
0 darbo reimas
į darbo reim¹ apibūdina grafinė schema, pateikta 68 pav.
68 pav. I8255 0 darbo reimas
0 darbo reime galima duomenų baitus įvesti arba ivesti be kvitavimo per A, B, C portus. Kadangi C portas suskaidytas į 2 dalis (tetradas), tai i viso programuojami 4 objektai (PA, PB, PC vyr. tetrada, PC jaun. tetrada), nurodant vien¹ i dviejų (įvedimas arba ivedimas) duomenų mainų krypčių ir gaunama i viso16 skirtingų duomenų mainų schemų.
Įvedami duomenys portų registruose neįsimenami. Ivedamas duomenų baitas (tetrada), įsimenamas porto registre, todėl ivedami duomenys ilieka PIO iėjime iki kito ivedimo arba darbo reimo pakeitimo. Duomenų įvedimas (skaitymas) strobuojamas , o ivedimas (raymas) signalu, kintant iems signalams i 0 į 1 loginį lygį. Bet kuriuo laiko momentu galima perduoti duomenis tik viena pasirinkta kryptimi.
1 darbo reimas
io darbo reimo grafinis vaizdas pateiktas 69 pav.
69 pav. I8255 1 darbo reimas
1 darbo reime galima duomenų baitus įvesti arba ivesti per A ir B portus vienu metu viena kryptimi su kvitavimu. Įvedami ir ivedami baitai įsimenami vidiniuose A, B portų registruose.
Duomenų mainų procesui valdyti naudojamas C portas. Įvedimo procese naudojami ie signalai:
(angl. Strobe) strobavimo signalas, naudojamas, įraant bait¹ į porto įvedimo registr¹. Baitas įsimenamas, kai signalas kinta i 0 į 1 loginį lygį. Signal¹ perduoda iorinis įtaisas, i kurio įvedami duomenys.
IBF (angl. Input Buffer Full) signalas (poymis), parodantis, kad duomenų baitas įraytas į porto įvedimo registr¹. Nustatomas (IBF = 1), kai keičiasi i 1 į 0, o ivalomas (IBF = 0), kintant i 0 į 1 loginį lygį.
INTR (angl. Interrupt) pertraukties reikalavimo signalas, nustatomas (INTR = 1), kai signalas kinta i 0 į 1 loginį lygį, o ivalomas (INTR = 0), kintant i 1 į 0 loginį lygį.
Ivedant, naudojami tokie signalai:
(angl Acknowledge) patvirtinimo signalas, naudojamas, skaitant duomenų bait¹ i porto ivedimo registro. Kai = 0 patvirtinama, kad įorinis įtaisas bait¹ priėmė, o kintant i 0 į 1 loginį lygį, baitas įraomas į iorinio įtaiso registr¹.
(angl. Output Buffer Full) signalas (poymis), parodantis, kad duomenų baitas įraytas į porto ivedimo registr¹. is signalas ivalomas (= 0), kai kinta i 0 į 1 loginį lygį, o nustatomas (= 1), kai keičiasi i 1 į 0 loginį lygį.
INTR (angl. Interrupt) pertraukties reikalavimo signalas, nustatomas (INTR = 1), kai signalas kinta i 0 į 1 loginį lygį, o ivalomas (INTR = 0), kintant i 1 į 0 loginį lygį.
Visi signalai veikia atitinkamuose C porto ivaduose. A ir B portų duomenų mainams valdyti naudojami skirtingi signalai (r. 69 pav.). Pertraukčių reikalavimo signalai, įvedant ir ivedant duomenis, gali būti maskuojami INTE poymiu, pagal iraikas pateiktas 69 pav. Kai INTE = 0 pertrauktis udrausta, o kai INTE = 1 leista. INTE keičiamas, įraant 0 ar 1 į į poymį atitinkanči¹ C porto registro skiltį.
C porto registro atskiriems bitams keisti naudojamas BSR (angl. Bit Set/Reset) valdymo odis, kurio formatas pateiktas 19 lentelėje.
BSR baito D7 D0 bitai |
|
|||||||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
X X X |
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
|
||||||
BSR poymis |
Nenaudojami |
PC bito vertė | ||||||
PC bito numeris |
||||||||
BSR formato poymis yra bitas D7 = 0. C porto registro atskiri bitai keičiami, nurodant BSR baite D3 D1 skiltyse bito numerį, o D0 bito vertź. BSR baitas įraomas lygiai taip pat, kaip ir MS baitas į valdymo odio registr¹.
2 darbo reimas
is darbo reimas grafikai pavaizduotas 70 pav.
70 pav. I8255 2 darbo reimas
2 reime galima duomenis perduoti per A port¹ abiem kryptimis. Duomenų baitai įsimenami atskiruose vidiniuose A porto įvedimo ir ivedimo registruose. C portas naudojamas kvitavimo signalams priimti ir ivesti bei pertraukties reikalavimo signalui formuoti. B portas gali veikti 0 arba 1 darbo reimuose.
PA duomenų mainai valdomi tais pačiais signalais, kaip ir 1 darbo reime. iems signalams priimti ir ivesti naudojami PC7 PC3 ivadai, o likź PC2 PC0 skirti B portui valdyti 1 darbo reime. Pertraukties reikalavimo signalas gali būti atskirai maskuojamas duomenų įvedimui ir ivedimui, keičiant INTE vertź, atitinkanį PC bit¹ lygiai taip pat, kaip ir 1 reime, pagal iraikai pateiktas 70 pav.
PIO sujungimas su sistemos magistrale
PIO sujungiama su SM pagal funkcinź schem¹, kuri pateikta 71 pav.
71 pav. PIO sujungimo su sistemos magistrale
funkcinė schema
Universalusis sinchroninis, asinchroninis imtuvas ir
siųstuvas, struktūra, valdymo signalai
Universalusis sinchroninis, asinchroninis imtuvas ir siųstuvas USART (angl. Universal Synchronous / Asynchronous Reciver / Transmitter) yra programuojamasis nuosekliojo ryio adapteris, gaminamas firmos Intel, kaip DIG tipo I8251 (bazinis), I8251A (patobulintas). is adapteris skirtas duomenų mainams nuosekliuoju būdu organizuoti. Sutartinis grafinis enklas pateiktas 72 pav., o vidinė struktūra 73 pav.
72 pav. I8251 adapterio sutartinis grafinis enklas
73 pav. I8251 adapterio vidinė funkcinė schema
Adapterio vidinėje struktūroje galima iskirti iuos elementus:
DB duomenų magistralės buferis;
SRL skaitymo ir raymo logikos schema;
S siųstuvas;
SV siųstuvo valdymo schema;
I imtuvas;
IV imtuvo valdymo schema;
MDV modemo (moduliatoriaus / demoduliatoriaus) valdymo schema;
VM vidinė magistralė.
DB duomenų magistralės buferis yra 8 skilčių dvikryptis ijungiamas įtaisas skirtas ryiui tarp adapterio ir sistemos duomenų magistralės utikrinti, susidedantis i ių 8 skilčių registrų:
įvedimo;
ivedimo;
būsenos odio SW (angl. Status Word).
SRL skaitymo ir raymo logikos schema turi iuos baitinius C (angl. Control) valdymo registrus (CRG):
darbo reimo, kuriame saugojamas darbo reim¹ nustatantis MI (angl. Mode Instruction) odis;
komandų, įsimenantis valdymo CI (angl. Command Instruction) komand¹;
pirmojo SYNC1 sinchronizacijos simbolio;
antrojo SYNC2 sinchronizacijos simbolio.
SRL schema turi skaitmeninį komparatorių, kuris lygina vien¹ arba du sinchronizacijos simbolius, įraytus registruose su priimtais ir įsimintais sinchronizacijos simboliais imtuvo registruose. Palyginimo rezultatas naudojamas USART darbui sinchroniniame reime valdyti.
S siųstuvo pagrind¹ sudaro 13 skilčių poslinkio registras, kuriame saugojamas eilinis siunčiamas įėjimo duomenų odis, turintis i¹ struktūr¹:
1 skiltis start bitas;
2 9 skiltys D0 D7 duomenų bitai;
10 skiltis kontrolinis bitas;
11, 12 skiltys stop bitai;
13 skiltis tarnybinis bitas, reikalingas poslinkio procesui, siunčiant 1 12 skiltis, baigti.
Poslinkio registras atlieka iėjimo buferio funcij¹. Poslinkio metu 1 12 bitai nuosekliai stumiami registru ir perduodami bitas paskui bit¹ į T x D (angl. Transmitter Data) siųstuvo iėjimo linij¹. Lygiagretaus formato kodas verčiamas nuosekliuoju.
SV siųstuvo valdymo schema valdo siųstuvo darb¹:
kontroliuoja naujų duomenų, skirtų perduoti, priėmim¹ i duomenų magistralės;
įterpia kontrolinį bit¹, jeigu yra numatyta kontrolė;
duomenis apryboja (įrėmina) start bei stop bitais;
sinchronizuoja bitų ivedim¹ i poslinkio registro.
I imtuv¹ sudaro du 9 skilčių poslinkio registrai. I įėjimo R x D (angl. Reciver Data) priimamami bitai nuosekliai patenka į pirmojo, o po to ir antrojo registro į vien¹ nuo 0 iki 3 įėjim¹. Įėjimo numeris priklauso nuo priimamų duomenų ilgio. Nuoseklaus formato kodas verčiamas lygiagrečiuoju.
IV imtuvo valdymo schema valdo imtuvo darb¹. Ji susideda i ių elementų:
priėmimo sinchronizacijos logikos;
priimtų bitų skaičiavimo skaitiklio;
lyginumo (pariteto) kontrolės schemos;
lyginumo (pariteto) PE (angl. Parity Error) klaidos trigerio;
kadro formato FE (angl. Framming Error) klaidos trigerio;
perpildymo OE (angl. Overrun Error) klaidos trigerio.
MDV modemo valdymo schema atlieka ryio su modemu funkcijas. Ji priima ir perduoda valdymo signalus, skirtus modemui valdyti.
USART ivadų paskirtis yra:
D7 D0 duomenų įėjimai ir iėjimai, sujungiami su sistemos duomenų magistrale, gali būti ijungiami;
, skaitymo ir raymo strobavimo signalų įėjimai;
duomenų ( = 0) arba būsenos (skaitant) ar valdymo odio (raant), kai = 1, pasirinkimo signalo įėjimas;
kristalo irinkimo įėjimas;
CLK iorinių sinchronizavimo impulsų įėjimas. iame įėjime impulsų danis turi būti ne maiau, kaip 30 kartų didesnis u maksimalų duomenų mainų sinchronizavimo danį (greitį);
RESET pradinio nustatymo valdymo signalo įėjimas, kurio trukmė nemaesnė, kaip 6 CLK impulsų periodai.
T x D siųstuvo duomenų iėjimas;
siųstuvo iorinių sinchronizavimo impulsų įėjimas. ių impulsų danis lygus duomenų perdavimo greičiui, b/s (bitai per sekundź);
T x E siuntimo pabaigos (tučias siųstuvo postūmio registras) poymio signalo iėjimas;
T x RDY siųstuvo pasiruoimo priimti duomenų bait¹ siuntimui poymio signalo iėjimas. is signalas gali būti naudojamas, kaip siųstuvo pertraukties reikalavimo signalas, kai duomenų siuntimas vyksta su pertrauktimi. Signalas parodo, kad DB duomenų buferio įvedimo registras tučias ir USART pasiruoźs priimti eilinį duomenų bait¹, skirt¹ siųsti.
R x D imtuvo duomenų įėjimas;
imtuvo iorinių sinchronizavimo impulsų įėjimas. ių impulsų danis lygus duomenų priėmimo greičiui, b/s (bitai per sekundź);
SDET dvikryptis įėjimas ir iėjimas gali būti ijungiamas. is ivadas naudojamas USART dirbant sinchroniniame reime. Kaip įėjimas veikia, esant iorinei, o kaip iėjimas vidinei sinchronizacijai;
R x RDY imtuvo pasiruoimo perduoti duomenų bait¹ į sistemos duomenų magistralź poymio signalo iėjimas. is signalas gali būti naudojamas, kaip imtuvo pertraukties reikalavimo signalas, kai duomenų priėmimas vyksta su pertrauktimi. Signalas parodo, kad imtuvas priiėmė duomenis, juos įraė į DB duomenų buferio ivedimo registr¹ ir USART pasiruoźs perduoti duomenis į sistemos duomenų magistralź.
(angl. Data Set Ready) modemo imtuvo pasiruoimo signalo įėjimas. Signalas tikrinamas programikai. Jį siunčia iorinio modemo imtuvas, pasiruoźs priimti duomenis;
(angl. Data Terminal Ready) modemo imtuvo pasiruoimo paklausimo signalo iejimas. Signalas valdomas programikai. į signal¹ perduoda USART, tikrindamas modemo imtuvo pasiruoim¹ priimti duomenis;
(angl. Reguest To Send) modemo siųstuvo pasiruoimo paklausimo signalo iėjimas. Signalas valdomas programikai. į signal¹ siunčia USART, kontroliuodamas modemo siųstuvo pasiruoim¹ perduoti duomenis;
(angl. Clear To Send) modemo siųstuvo pasiruoimo signalo įėjimas. į signal¹ perduoda modemas, pranedamas, kad siųstuvas pasirengźs perduoti duomenis.
USART funkcionavim¹ apibūdina būsenų lentelė (r. 20 lentelė).
|
|
|
|
Operacija |
DB ← I |
||||
S ← DB |
||||
DB ← SW |
||||
CRG ← DB |
||||
X |
DB Z būsena |
|||
X |
X |
X |
DB Z būsena |
ymėjimai 20 lentelėje: X bet koks loginis lygis (0 arba 1); DB duomenų magistralė; I, S imtuvas, siųstuvas; SW (angl. Status Word) būsenos odis; C (angl. Control) RG (angl. Register) valdymo registras; DB Z duomenų magistralės ivadų auktaomė (ijungta) būsena.
Dinaminiai, įėjimo signalai nusprendia duomenų mainų kryptį tarp sistemos magistralės ir USART. iems signalams kintant i 1 į 0 loginį lygį vykdomas skaitymas arba raymas.
Valdymo signalo, veikiančio įėjime, loginis lygis nustato duomenų rūį:
- informacijos duomenys;
- tarnybiniai duomenys (būsena arba valdymas).
Veikiant signalui ( = 1) skaitomi priimti informacijos duomenys i imtuvo, kai = 0 arba skaitomas USART SW būsenos odis, kai= 1.
Veikiant signalui (= 1) raomi informacijos duomenys, skirti perduoti, į siųstuv¹, kai = 0 arba raoma darbo reimo nustatymo ar valdymo komanda, kai= 1.
Duomenų magistralės ivadai ijungiami, kai = 1 arba = = 1.
32.4. USART valdymo bei būsenos odiai ir sujungimų funkcinė schema
USART valdyti naudojami ie valdymo odiai:
MI (angl. Mode Instruction) darbo reimo nustatymo, perduodamas po pradinio nustatymo;
CI (angl. Command Instruction) komandos, kurios perduodamos darbo metu.
Adapteris gali veikti iuose reimuose:
asinchroniniame;
sinchroniniame.
Reimai tarpusavyje skiriasi duomenų mainų pradios vadinamos sinchronizavimu būdais.
Asinchroniniame darbo reime duomenų mainai pradedami asinchronikai, kai imtuvas R x D įėjime aptinka startinį bit¹ (fiksuoja pokytį i 1 į 0 loginį lygį). Po start bito priimami informacijos duomenų bitai ir kontrolinis bitas. Duomenų priėmimas baigiamas, priėmus sustojimo stop bit¹ ar bitus. Danai is darbo reimas dar vadinamas start stop darbo reimu. Duomenys aprybojami (įrėminami) start ir stop bitais. Priėmus eilinius duomenis, gali prasidėti ir tźstis laukimo būsena tol, kol nebus priimtas naujas start bitas.
Sinchroniniame darbo reime duomenų mainai gali būti pradedami iais būdais:
imtuvui priėmus viena (SYNC1) arba du (SYNC1, SYNC2) sinchronizavimo simbolius, esant vidinei sinchronizacijai.
įėjime SDET ufiksavus 1 loginio lygio signal¹, kurį perduoda periferinis įtaisas, esant iorinei sinchronizacijai.
Sinchroniniame darbo reime duomenys nėra rybojami stop bitais, todėl vyksta nenutrūkstamas duomenų perdavimas, kuris baigiamas programikai.
USART asinchroninio darbo reimo nustatymo MI odio formatas pateiktas 21 lentelėje.
21 lentelė. USART asinchroninio darbo reimo MI formatas
MI baito D7 D0 bitai |
|
|||||||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
S2 |
S1 |
EP |
PEN |
L2 |
L1 |
B2 |
B1 |
|
0 0 0 1 1 0 1 1 |
0 0 0 1 1 0 1 1 |
0 1 1 0 1 1 |
|
|||||
0 nelyg. 1 lyg. |
Pariteto kontrolė: 0 ne 1 taip |
|||||||
Perdavimo greitis: 1 fTxC / 1 2 fTxC / 16 3 fTxC / 64 | ||||||||
Stop bitų kiekis: 0 nenaudojamas 1 1 stop bitas 2 1,5 stop bitų 3 2 stop bitai |
Duomenų ilgis: 0 5 bitai 1 6 bitai 2 7 bitai 3 8 bitai |
|||||||
ymėjimai 21 lentelėje: S2, S1 angl. Number of Stop Bits; EP angl. Even Parity; PEN angl. Parity Enable; L2, L1 angl. Character Length; B2, B1 angl. Baud Rate Factor; fTxC siųstuvo sinchronizavimo įėjimo impulsų danis.
Asinchroniniame darbo reime galima programuoti iuos informacijos duomenų parametrus:
perdavimo greitį diskretikai mainti dalinimo koeficientu (faktoriumi) 1, 16, 64;
duomenų ilgį (5, 6, 7, 8 bitai);
lyginumo (pariteto) kontrolź: lyginė, nelyginė;
stop bitų kiekį (1, 1.5, 2).
Parametrai programuojami, įraant atitinkamų bitų vertes MI baite, kuris siunčiamas į darbo reimo nustatymo registr¹ pradinio nustatymo procedūros metu.
Perdavimo greitis lygus siųstuvo sinchronizavimo įėjimo impulsų daniui padalytam i nustatyto faktoriaus. Priėmimo greitis lygus imtuvo sinchronizavimo įėjimo impulsų daniui.
Daniausiai ie abu greičiai būna vienodi.
Duomenų ilgis yra uprogramuotų duomenų bitų skaičius.
Pariteto kontrolė reikia, kad siųstuvo valdymo schema įterpia po duomenų bitų prie stop bitus kontrolinį bit¹, kurio vertė priklauso nuo duomenų dvejetainio kodo ir pasirinktos kontrolės (lyginė, nelyginė) rūies. Esant lyginei kontrolei, io bito vertė yra tokia, kad duomenų ir kontrolės bito bendras vienetų skaičius būtų lyginis (papildymas iki lyginio skaičiaus), o esant nelyginei (papildymas iki nelyginio skaičiaus) atvirkčiai nelyginis. Kai duomenų visi bitai turi 0 vertes, tai lyginės kontrolės atveju kontrolinis bitas lygus 0.
Stop bitų kiekis reikia MI baite nurodytų ir kontroliuojamų 1 loginio lygio bitų skaičių, kuris įterpiamas po duomenų bitų arba ir kontrolės bito, jeigu kontrolė uprogramuota.
USART sinchroninio darbo reimo nustatymo MI odio formatas pateiktas 22 lentelėje.
22 lentelė. USART sinchroninio darbo reimo MI formatas
MI baito D7 D0 bitai |
|
|||||||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
SCS |
ESD |
EP |
PEN |
L2 |
L1 |
|
||
0 0 0 1 1 0 1 1 |
Sinchroninio reimo poymis |
|
||||||
Sinchr. simbolių kiekis: 0 du 1 - vienas |
Sinchronizacija: 0 vidinė 1 - iorinė |
0 nelyg. 1 lyginė |
Pariteto kontrolė: 0 nėra 1 yra |
|||||
Duomenų ilgis: 0 5 bitai 1 6 bitai 2 7 bitai 3 8 bitai |
||||||||
ymėjimai 22 lentelėje: SCS - angl. Single Character Synchronization; ESD angl. External Synchronization Detect; EP angl. Even Parity; PEN angl. Parity Enable; L2, L1 angl. Character Length.
Sinchroniniam darbo reimui nustatyti būtinos MI baito vertės D1 = D0 = 0. iame darbo darbo reime nėra stop bitų, o duomenų ilgis ir kontrolė programuojami vienodai, kaip ir asinchroniniame darbo reime.
USART darbo metu valdyti naudojama CI (angl. Command Instruction) valdymo komanda. io adapterio CI odio formatas pateiktas 23 lentelėje.
i komanda atlieka tokius veiksmus:
leidia arba draudia priėmim¹ ar perdavim¹;
stabdo siųstuvo darb¹ (pauzė);
ivalo klaidų trigerius;
atlieka programinį pradinį nustatym¹;
leidia arba draudia sinchronizavimo simbolių paiek¹, esant priėmimui su vidine sinchronizacija;
programikai valdo DTR, RTS ivadus.
USART būsena darbo metu kontroliuojama, skaitant SW būsenos odį, kurio formatas pateiktas 24 lentelėje. SW naudojamas, kai vykdomi s¹lyginiai duomenų mainai.
CI baito D7 D0 bitai |
|||||||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
EN |
IR |
RTS |
ER |
SBRK |
RxEN |
DTR |
TxEN |
Iorinis ivadas |
Iorinis ivadas | ||||||
Sinchr. simbol. paieka 0 ne 1 taip |
Prog. reset: 0 ne 1 taip |
Klaidų trigeriai: 0 ne 1 reset |
Siųstuvo: 0 darbas 1 pauzė |
Priėmimas: 0 drausti 1 leisti |
Siuntimas: 0 drausti 1 leisti |
SW būsenos odis leidia kontroliuoti:
R x RDY, T x RDY, SDET, DSR iorinių ivadų loginius lygius;
siųstuvo būsen¹ (dirba, siųsdamas duomenis ar laukia);
pariteto klaid¹, kuri parodo, kad priimtų duomenų kontrolinis bitas nelygus imtuvo valdymo pariteto kontrolės schemos nustatytam ir įjungtas PE trigeris;
perpildymo klaid¹, kuri rodo, kad į DB duomenų buferio ivedimo registr¹ įraytas naujas imtuvo priimtas duomenų baitas, nenuskaičius senojo;
formato klaid¹, kuri signalizuoja, kad stop bitų vietoje aptikti 0 loginio lygio bitai.
Visi klaidų fiksavimo trigeriai ivalomi (ijungiami) CI komanda.
SW baito D7 D0 bitai |
|
|||||||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
DSR |
SDET |
FE |
OE |
PE |
TxE |
R x RDY |
T x RDY |
|
Iorinis ivadas |
Iorinis ivadas |
|
||||||
Formato klaida: 0 - nėra 1 - yra |
Perpildymo klaida: 0 - nėra 1 - yra |
Pariteto klaida: 0 - nėra 1 - yra |
S darbas: 0 - dirba 1 - laukia |
Iorinis ivadas 0 I ne pasiruoźs 1 I pasiruoźs |
Iorinis ivadas 0 S ne pasiruoźs 1 S pasiruoźs | |||
USART sujungimas su sistemos magistrale
USART sujungiama su SM pagal funkcinź schem¹, kuri pateikta 71 pav. USART adresuoti naudojamas DC deifratorius. DC įėjime gali būti prijungtos vyresniojo arba jaunesniojo adreso baito linijos Deifratoriaus iėjimo signalas kartu yra adapterio kristalo irinkimo signalas, kuris sujungia duomenų linijas su sistemos duomenų magistrale. Prie įėjimo gali būti jungiama bet kuri deifratoriuje nepanaudota adreso linija. Pagal prijungtas adreso linijas nustatomi konkretūs USART duomenų (DADR) ir valdymo (CADR) adresai.
Prie pradedant USART darb¹, turi būti vykdoma pradinio nustatymo procedūra, kurios tekstas asinchroniniam darbo reimui yra:
MVI A, 00H ; A 00H
OUT CADR ; CRG A, 0 raymas
OUT CADR ; CRG A, 1 raymas
OUT CADR ; CRG A, 2 raymas
MVI A, 40H ; A 40H
OUT CADR ; CRG A, pradinis (Reset) programinis USART nustatymas
MVI A, MI ; A MI
OUT CADR ; CRG A, USART darbo reimo nustatymas
; sinchronizavimo simbolių įraymo komandos sinchroniniame reime su vidine sinchronizacija
MVI A, CI ; A CI
OUT CADR CRG A, USART paleidimas (klaidų trigerio valymas, siųstuvo darbas, leisti priėmim¹, siuntim¹)
CALL Pauzė ; Laiko delsa 0,1 ms
IN DADR ; A I, imtuvo 1 skaitymas
IN DADR ; A I, imtuvo 2 skaitymas
Programuojant sinchroninį reim¹ su vidine sinchronizacija, po MI įraymo įterpiamos nustatyto vieno ar dviejų sinchronizavimo simbolių įraymo CADR adresais komandos:
MVI A, SYNC1 ; A SYNC1
OUT CADR ; CRG A, SYNC1 raymas
MVI A, SYNC2 ; A SYNC2
OUT CADR ; CRG A, SYNC2 raymas
Atliekant USART pradinį nustatym¹, būtina grietai ilaikyti pateikt¹ komandų eilikum¹, nes tai utikrina, kad tarnybiniai duomenys pateks į atitinkamus registrus.
71 pav. USART sujungimo su SM funkcinė schema
Asinchroniniame darbo reime duomenų baito DB siuntimo ir priėmimo komandos yra:
MVI A, DB ; A DB
OUT DADR ; S A, siuntimas
IN DADR ; A I, priėmimas
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1337
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved