![]() |
|
Neke karakteristike
integrisanog kola 8254 zahtevaju pojašnjenje sa ciljem da se spreče
nesporazumi i pogrešni koraci prilikom upotrebe. Ovaj tekst će vam
takođe pokazati korisna rešenja i za neke manjkavosti
integrisanog kola 8254. Isto tako, biće opisane i alternativne
tehnike za
merenje učestanosti, kao i konkretne električne šeme spoljnih
dodataka kojima se omogućava praćenje brzine, vremenska merenja i
generisanje programabilnih impulsa.
Kaunter/Tajmer
moduli imaju četiri
nezavisna brojačka kanala “generetora taktova” dok
Kaunter/Tajmer sekcije na pojedinim modulima imaju jedan ili dva kanala. Svaki
brojač ima
tri ulazno/izlazna priključka: takt ulaz (CLK), ulaz za upravljanje
(GATE) i izlaz (OUT). Moguće je izabrati jedan od šest različitih
načina
rada, pri čemu svaki ima jedinstvene karakteristike. Njihov potpuni
opis može se naći u upustvu za upotrebu odgovoarajućeg modula
kojeg koristite.
Svaki od brojača u brojačkom modulu ili sekciji može da se prekonfiguriše tako da akumulira ulazne impulse (ulaz na CLK priključku). Generator taktova se može upotrebiti za dobijanje precizne vremenske baze (ulaz na GATE priključku). Količina izbrojanih ulaznih impulsa će biti direktno proporcionalna vremenu za koje je GATE ulaz bio na višem logičkom nivou. Brojački gejtovi se programiraju kratkospojnicima, tako da odgovaraju na signalne promene, i na softverske komande. U signalnom načinu rada svaki nezavisni brojač može da se inhibira držanjem kontrolnog (GATE) ulaza na niskom logičkom nivou (TTL 0). Ulazi nemaju internih otpornika za obezbeđenje visokog logičkog nivoa (tzv. Pull-Up), pa je neophodno pobuđivati upravljačke ulaze potrebnim logičkim nivoom. U nedostatku bilo kakvog signala na ulazu, način rada se ne može predvideti. Ne zaboravite, u slučaju generatora taktova, oba brojača koji zajedno rade moraju biti uključena.
Vrlo često u praksi se javlja potreba za postavljanjem brojača u poznato stanje, tako da sadrži poznati broj (u našem primeru, NUM), ili da brojimo impulse u odnosu na poznato NUM stanje, ili da generišemo konkretan hardverski izlaz po postizanju NUM stanja. Vrednost brojača koja se sadrži u izlaznom registru, smanjuje se (redukuje) sa svakim takt impulsom. U praksi, definisana vrednost NUM se ne ubacuje u brojač sve dok ne stigne prvi impuls. Rezultat je stanje izlaznog registra za jedan manje od broja prispelih impulsa: normalno, nije problem da se ova činjenica uzme u obzir, jednostavnim dodavanjem broja 1 rezultatu očitavanja. Ali, šta se događa ako se primi manje od dva impulsa? Pod tim uslovima, stanje registra se ne može predvideti. Na sreću, postoje rešenja za ovaj problem; ako koristite softverske drajvere ED-Link metod je sledeći:
ako je STATUS=0, stiglo je 0 impulsa Broj ulaznih impulsa = 65.536 - COUNT Ponekad se ukaže potreba za brojanjem događaja kojih je više od maksimalnog modula brojanja (65.535). Izgleda logično da bi bilo dovoljno kaskadno vezati dva brojača, i dobiti 32-bitni brojač, ali to nije tako jednostavno kao što bi se očekivalo. Kada brojači rade sa modulom-N, izlaz brojača je početno u visokom nivou (1) i spušta se u niski nivo (0) prilikom dekrementa na jedinicu. Sledeći ulazni impuls vraća izlaz u stanje visokog logičkog nivoa (1). Međutim, ovo nije baš korektan talasni oblik koji sigurno treba da pobudi sledeći (sekundarni) brojač. Kompanija INTEL definiše ulazni impuls kao promenu stanja od Nisko (0) - Visoko (1) - Nisko (0). Rezultat je da će 65 K impulsa biti propušteno pre nego što se zadovolji ovaj uslov. Zbog toga postoji spoljni način (vidi Metodu 2, dalje u tekstu) za korigovanje ovih hardverskih nivoa. Takođe, postoji i programsko (softversko) rešenje. Ova tehnika koristi činjenicu da kada brojač prilikom dekrementiranja dođe do nule, isti prelazi u stanje pune skale (65.535) i odmah nastavlja brojanje (Metoda 3).
Ovo
znači da je Total = (65.535 -
COUNT) + (65.535) × (broj prolaza kroz nulu).
Kaunter/Tajmer je veoma pogodan za merenje učestanosti. U zavisnosti od konkretne upotrebe, moguće je postaviti nekoliko razlićitih konfiguracija, a one najpopularnije su podržane softverskim drajverima ED-Link. Naćin rada je sugerisan na sledećoj slici.
Ovo kolo broji ulazne impulse za vreme poznatog vremenskog intervala (GATE vreme), kao što je definisano generatorom takta. Vremena “otvaranja kaunterskih gejtova” (tzv. GATE vreme) se kreću u opsegu od 1 ms do jedne sekunde. Jasno je da, što je duži merni interval, to će biti veći i akumulirani broj (pri zadatoj ulaznoj učestanosti). Rezolucija merenja kao i tačnost će biti proporcionalno uvećani. Maksimalna rezolucija je ograničena činjenicom da se ne može akumulirati više od 65 K impulsa u bilo kojem zadatom mernom intervalu. Praktični (korisni) opseg učestanosti za kolo 8254 se kreće od oko 100 Hz do preko 8 Mhz. Nešto drugačiji
alternativni pristup za merenje niskih učestanosti je prikazan na slici
Slici
3.
Ovo kolo se razlikuje od predhodnog po tome što broji takt impulse visoke frekvencije za vreme trajanja nepoznatog ulaznog signala, što rezultuje u povećanoj rezoluciji pri niskim učestanostima. U jednostavnom primeru koji je prikazan na slici, vrednost brojanja je funkcija koeficijenata ispune ulaznog signala, obzirom da do brojanja dolazi samo kada je nivo ulaznog signala visok (1). Prema tome, tačna vrednost koeficijenta ispune mora biti poznata, da bi se mogla tačno izračunati ulazna učestanost, pa ako je ta informacija poznata, moguća su praktična merenja od malih delova Hz do preko jednog kHz. U praksi, donja granica učestanosti zavisi samo od vremena dopuštenog da se obavi merenje (na pr. da bi se izmerila učestanost od 0,01 Hz, potrebno je 100 sekundi). Oba načina merenja koja su ovde pomenuta, imaju maksimalnu rezoluciju od jednog dela u 65 K. Ne zaboravite da ova rezolucija ne važi za sve frekvencije u mernom opsegu. Programeri imaju priliku da iskoriste sve tehnike koje koriste pomenuti softverski drajveri, ali to nije direktno podržano sa READ.FRQ komandom.
Kao što je napred navedeno, kolo sa Slike 3. zahteva poznati koeficijent ispune ulaznog signala. Vrlo često mi nemamo tu informaciju; na pr. kod merenja brzina (rotacionih masa, traka konvejera, linearnih kretanja i sl.), koeficijent ispune se menja u vremenu. Stoga je jedno od rešenja da se koristi kolo sa slike Slika 4.
Učestanost (generator takta)
Generator taktova na ED modulima može da se programira tako da su izbor učestanosti i koeficijenti ispune nezavisni jedan od drugog, izborom modula delenja (N) kod oba upotrebljena brojača. Ako sa “N1” i “N2” označimo module delenja za svaki pojedinačni brojač, i ako je frekvencija kristalnog oscilatora 8 MHz, tada je izlazna učestanost generatora takta jednaka:
Predpostavimo da se izlazni talasni oblik sastoji od tzv. “niskog” i “visokog” logičkog stanja, označenih sa t1 i t2. Tada je: t1 = N1 × 125 ns , (125 ns = perioda XTAL oscilatora 8 MHz) t2 = N1 × 125 ns × (N2 - 1) Kombinovanjem modula delenja N1 i N2 može se postići širok raspon vrednosti frekvencija i koeficijenta ispune, pri čemu su oba parametra nezavisna.
Slika 5, prikazuje elektronsko kolo koje koristi dva brojača uz dodatak generatora taktova sa mogućnošću nezavisnog izbora koeficijenta ispune, bez uticaja na zasebno programiranu učestanost ponavljanja. Za to je potrebno definisati četiri modula delenja N:
Učestanost i koeficijent ispune se izračunavaju kao:
Čitav oblik se svodi na generisanje odgovarajućeg kontrolnog (GATE) signala koji je proporcionalan vremenskom intervalu između dva ulazna impulsa. Ovo je sugerisano na slici Slika 7.
Pre izbora učestanosti generatora takta korisnik mora da zna maksimalno vreme trajanja impulsa koji se dovodi na gejt. Proizvod maksimalnog vremena impulsa i učestanosti ne sme da pređe limit 16-bitnog brojača (65.535). Pa ipak, što je veća učestanost generatora takta, to će i rezolucija merenja vremenskog intervala biti veća. Slika pokazuje jednostavno elektronsko kolo za pretvaranje niza ulaznih impulsa, na jednoj liniji, u tzv. kontrolni (GATE) signal. Ovo kolo je sporo, obzirom na činjenicu da kada se jednom startuje (tzv. “arm” signalom), stanje brojača se mora pročitati pre dolaska trećeg ulaznog impulsa; ako ovaj uslov nije ispunjen brojač će se ponovo restartovati što će prouzrokovati pogrešno očitavanje istog. Alternativa za ovu situaciju je da se startni (“arm”) signal vrati na logičko niski nivo posle drugog ulaznog impulsa. Ovo stanje se može detektovati stalnim očitavanjem stanja brojača, dok se ne dobije stabilan rezultat.
Slika prikazuje varijaciju
predhodne šeme. Ovo je prihvatanje željenog vremenskog intervala
“lečovano” u samom elektronskom kolu. Prema tome, merenje traženog
vremenskog intervala je osigurano i bez intervencije računara.
Kolo sa el. šeme će prihvatiti jedan kompletan ciklus iz niza ulaznih impulsa i sačekati da kontrolni “Arm” signal prođe ciklus visoki-niski nivo i da zatim nisko - visoki nivo promeni logička stanja, što je prikazano na talasnim dijagramima na Slici 10.
Na oba predhodna primera, merenje vremenskog intervala se radilo sa impulsima koji su bili na istoj ulaznoj liniji. Slika prikazuje kolo koje obavlja istu funkciju ali sa nezavisnim START i P ulazima, dok Slika 12., prikazuje talasne dijagrame ovog kola.
Ulaz A stvara START impuls, dok ulaz B daje P impuls. Vreme između START/STOP impulsa je praktično vreme koje kolo meri. Ova šema je pogodna za brzi rad. Vremenski raspored je kontrolisan samim elektronskim komponentama, tako da intervencija procesora nije potrebna za tačno merenje.
Veoma često je potrebno da se proces prihvatanja podataka pobudi paketom, a ne neprekidnim nizom impulsa. Prednost rada sa ograničenim paketom impulsa se vidi u smanjenju količine prihvaćenih podataka (nema bojazni od zagušenja velikom količinom podataka), kao i u smanjenju vremena očitavanja na različitim kanalima u sistemu za prihvat. Poslednje prednosti u radu sa paketom impulsa nema kada se merenje vrši na samo jednom kanalu. Korišćenjem generatora takta i dva brojača sa pomenutih modula, lako se mogu generisati paketi impulsa, a način povezivanja dat je na slici Slika 13.
Broj impulsa u svakom paketu je određen brojem uprogramiranim u brojač 0. Frekvencija u samom paketu impulsa je jednaka učestanosti internog generatora takta modula,dok je učestanost ponavljanja paketa jednaka frekvenciji internog generatora takta podeljenoj sa stanjem brojača 1. Izlazni signal se sastoji iz niza (paketa) pozitivnih impulsa, kao što se i vidi iz talasnih dijagrama na slici Slika 14.
Napajanje za logička
kola (+5V) se može dovesti iz računara pomoću prikladnog kabla.
Poznati
rastući (inkrementalni) optički enkoder je pretvarač
koji pretvara mehaničko kretanje u električne
signale, detektujući svetlo koje prolazi kroz procepe rotacionog
diska a koji je pričvršćen na osi obrtnog tela.
Izlazna informacija sa ovog enkodera se može iskoristiti za dobijanje
pozicije obrtnog tela i/ili brzine kretanja odn. njegovog obrtanja.
Uzimajući u obzir da su ovi signali u kvadraturi, pravilnim dekodovanjem i brojanjem ovih impulsa mogu se tačno odrediti broj obrtanja (brzina), smer kretanja, kao i relativni položaj ose enkodera. Slika 16. prikazuje elektronsko kolo koje omogućava pravilno dekodovanje/dešifrovanje niza impulsa, sa ciljem da se generišu pravilni signali. Impulsi se broje sa dva brojača, jedan za impulse dobijene iz smera kretanja u smeru kazaljke na satu (CW), a drugi za suprotne impulse (CCW-smer). Sadržaj oba brojača se upoređuju programski (SW), tako da se relativni položaj ose enkodera dobija iz njihove razlike.
Ovaj članak će biti od koristi naročito onim korisnicima koji imaju sledeće module: A2-28-AD,
kaunter/tajmer sekcija ne podržava merenje frekvencije ED307-CT, kaunter/tajmer za
instalaciju u standardni PC, ISA slot |
|
|
|
Electronic Design Makenzijeva b.b.- Pejton, Beograd |
Tel:
011/
308-50-30 Fax: 011/ 308-50-31 |
email:
edesign@eunet.yu http://www.ed.co.yu |
|
|