Documente Academic
Documente Profesional
Documente Cultură
Circuitul timer 82C54 este versiunea CHMOS a circuitului standard I8254. El este destinat
rezolvrii problemelor de natur temporal care apar n sistemele cu microprocesor [1]. Circuitul
conine trei numrtoare independente de 16 bii i este considerat de ctre microprocesor drept un
tablou de porturi I/O succesive, putnd fi utilizat ca numrtor de evenimente externe, generator
programabil de semnale dreptunghiulare, monostabil redeclanabil, circuit de ntrziere, etc. [2]
Cu ajutorul timer-ului este rezolvat una dintre cele mai des ntlnite probleme n sistemele cu
microprocesor: generarea unor ntrzieri precise sub control software. Astfel, n locul generrii buclelor
de ntrziere prin program, este suficient configurarea unuia dintre numrtoare pentru generarea
ntrzierii dorite. La terminarea numrrii circuitul genereaz o nterupere.
Logica de citire/scriere permite selecia i comanda circuitului. Circuitul este selectat prin
aducerea semnalului /CS n starea low. Intrrile A0 i A1 selecteaz unul dintre cele trei
numrtoare n vederea citirii sau scrierii. De asemenea, ambele intrri A n starea high,
combinate cu un semnal high pe intrarea /RD i un semnal low pe intrarea /WR, determin
ncrcarea registrului de comand.
Registrul cuvntului de comand (control) stocheaz informaiile referitoare la
programarea circuitului.
Numrtoarele sunt identice, fiecare dintre ele coninnd un numrtor descresctor de 16
bii. Pot fi setate s numere n format BCD sau binar, independent unul de altul.
CLKi intrri de ceas pentru numrtoare, frecvena maxim admis fiind de 10 MHz.
GATEi pot aciona ca i pori de validare ale intrrilor de ceas sau ca impuls de declanare a
numrrii n funcie de modul de funcionare selectat.
OUTi ieirile celor trei numrtoare.
D6
SC0
D5
RW1
D4
RW0
D3
M2
SC0
0
1
0
1
D2
M1
D1
M0
D0
BCD
selecteaz numrtor 0
selecteaz numrtor 1
selecteaz numrtor 2
comand ilegal
M1
0
0
1
1
0
0
M0
0
1
0
1
0
1
mod 0
mod 1
mod 2
mod 3
mod 4
mod 5
RW citire/scriere (Read/Write):
RW1 RW0
0
0
0
1
1
0
1
citete numrtor
citete/scrie octetul low
citete/scrie octetul
high
citete/scrie octetul low
i apoi octetul high
BCD numrare:
BCD
0
1
numrare binar
numrare BCD
Dup cum se poate vedea i din Figura 2 exist ase moduri de lucru:
Modul 0 ntrerupere la terminarea numrrii. Dup scrierea cuvntului de comand,
ieirea OUT a numrtorului este forat n starea low, n care va rmne pn cnd numrtorul va
ajunge la zero. n acel moment semnalul OUT trece n starea high, n care rmne pn la o nou
ncrcare a numrtorului. Numrarea este posibil doar dac semnalul GATE este activat.
Modul 1 monostabil programabil. Dup scrierea cuvntului de comand, ieirea OUT a
numrtorului va fi forat n starea high. Trecerea n starea low se va face abia dup ce va fi
ncrcat i numrtorul, iar semnalul pe intrarea GATE va fi pozitiv. La sfritul numrrii OUT trece
n starea 0. O nou activare a semnalului GATE are drept efect renceperea numrrii. Dac n timpul
numrrii se ncarc o nou valoare n numrtor aceasta nu va afecta decrementarea acestuia, pn n
momentul n care pe intrarea GATE se va nregistra un front pozitiv. n acest caz, numrarea se reia cu
ultima valoare nscris n contor.
Modul 2 generator de impulsuri. Factorul de umplere n este dat de valoarea nscris n
contor. Ieirea va fi n starea high timp de n-1 perioade de ceas i va trece n starea low n a n-a
perioad, dup care procesul se reia. Dac intrarea GATE trece n 0 n timpul numrrii procesul este
inhibat, fiind reluat de la valoarea iniial n momentul n care GATE trece din nou n starea 1. Dac n
timpul numrrii se ncarc o nou valoare n numrtor aceasta nu va afecta decrementarea acestuia,
ea fiind luat n considerare de-abia n ciclul urmtor.
Modul 3 generator de semnal dreptunghiular. Factorul de umplere al semnalului generat
este 1/2. Funcionarea n acest mod este similar cu cea din modul anterior, cu excepia
comportamentului ieirii OUT. Astfel, aceasta va fi iniial n starea high i va trece n starea low
cnd numrarea va ajunge la jumtatea valorii nscrise iniial n contor. Pentru o discuie privind modul
n care paritatea valorii iniiale nscris n contor afecteaz numrarea, consultai referina [1].
Modul 4 monostabil declanat prin program. i acest mod de funcionare este ntr-un fel
similar cu modul 2. Diferena ar fi c n acest caz numrtorul ajunge la 0, spre deosebire de modul 2,
unde numrtorul ajungea la valoarea 1, dup care procesul era reluat, valoarea 0 nefiind atins
niciodat. A doua diferen e dat de faptul c dup trecerea ieirii n starea low la sfritul numrrii
i generarea impulsului, procesul nu se reia. Semnalul OUT trece n starea high i rmne acolo,
numrtorul continundu-i decrementarea. ncrcarea unei noi valori n contor pe timpul numrrii
determin renceperea procesului cu aceast valoare pe urmtoarea perioad de ceas.
Modul 5 monostabil comandat prin hardware. Numrtoarea ncepe la activarea
semnalului GATE dup ce n prealabil numrtorul a fost iniializat cu constanta dorit. La terminarea
numrrii semnalul OUT trece n starea low pentru o perioad, procesul fiind reluat la un nou front
pozitiv pe intrarea GATE.
Pentru mai multe detalii privind funcionarea circuitului timer consultai referina [1].
f =
1,19318MHz
= 18,20648 Hz ,
655356
iar perioada
T=
1
= 54,9255ms .
18,20648 Hz
Aceast proprietate a circuitului timer este folosit pentru a menine timpul i data sistemului.
Celelalte dou canale ale circuitului au urmtoarele roluri: numrtorul 1 comand intrarea
DRQ0 a circuitului DMAC I8237A, iar numrtorul 2 comand difuzorul calculatorului. Controlul
difuzorului se face cu cei doi bii mai puin semnificativi ai portului 61h. Astfel, ambii bii setai
pornesc difuzorul, n timp ce o valoare nul nscris pe cele dou poziii determin oprirea sa.
Bibliografie:
1. *** - Intel 82C54 CHMOS Programmable Interval Timer.
2. Eugen Lupu, Sisteme cu microprocesoare resurse hardware, prezentare, programare i
aplicaii, Editura Albastr, Cluj-Napoca, 2003.