komponente prodaja cdovi projekti info KIT kompleti download forumi knjige
Home


Prodaja:
Alatka za digitalnu radionicu - VOJINA SONDA



Ovo je, skoro neizmjenjen, originalni tekst autora, iz časopisa PC kada je objavljen ovaj projekat:

Spakovali smo četiri instrumenta u malo kućište: logičku sondu, jednokanalni analizator, analizator protokola za serijski kod i frekvencmetar. Ugrađen je i sklop za optimalno održavanje Ni-Cd baterija. I sve to sa samo jednim čipom!

I pored očigledne jednostavnosti, ovakav instrument može da zadovolji većinu zahteva koje postavlja laboratorija za razvoj i servis digitalnih uređaja. Sve nabrojane funkcije su smeštene u jedan mikrokontroler, pa su neke performanse neizbežno morale da budu redukovane kako bi se postigao dobar kompromis između jednostavnosti i „snage” instrumenta. Ipak, usuđujemo se da kažemo da je u ovom slučaju taj odnos iznenađujuće dobar.

Logička sonda
Primenjena je uobičajena varijanta sa tri svetleće diode: L (Low), H (High) i P (Pulse). Mada je ovo najjednostavnija funkcija instrumenta, potrebno je najviše prostora za njen opis, jer je mikrokontroler ovde upotrebljen na zaista netipičan način.

Hardversko rešenje bi bilo veoma jednostavno: invertor dovodi signal na prvu diodu koja detektuje nivo (L ili H, u zavisnosti od toga da li se napajaju anode ili katode dioda), pa sledeći invertor na drugu diodu. Da bi kratki impulsi bili vidljivi, signal se vodi i na monostabilni multivibrator koji „produžava” impuls na nekoliko stotina milisekundi, tako da se bljesak svetle će diode P lako vidi.

Želeći da pojednostavimo hardver, izbacili smo bafere i monostabil i zamenili ih softverom mikrokontrolera. Ovde bi rešenje „na prvu ruku” bilo da mikrokontroler skenira ulaz i, u zavisnosti od očitanog stanja, pali ili gasi LEDove, a da poseban „slobodnotrčeći” brojač zadržava LED P upaljen neko vreme posle promene. Naizgled je ovo rešenje u redu, ali su moguća dva nepovoljna slučaja: prvi je da signal koji želimo da očitamo menja stanje sa učestanošću koja je bliska ili je derivat učestanosti testiranja ulaza, pa bismo na LED-ovima dobili stabilno (pogrešno) stanje ili neku nisku (opet pogrešnu) učestanost promene, kao rezultat interferencije ove dve učestanosti. Drugi slučaj je podjednako neprijatan – postoji mogućnost da se kratak impuls „provuče” neprimećen između dva testa ulaza (što može da potraje čak nekoliko mikrosekundi), pa da se nikako ne detektuje.

Prvi problem je rešen na jednostavan način – softverski je učestanost očitavanja namerno učinjena promenljivom i nestabilnom, pa je tako moguć opseg u kome se javlja interferencija proširen, ali je i rezultat te interferencije jedva primetno treperenje diode, u vremenu od samo nekoliko milisekundi, dok traje ta koincidencija signala (učestanost jednog od njih se stalno menja). Ovo treperenje je definitivno izbegnuto softverskim debaunserom, koji signal čini nešto „tromijim”, ali daleko ispod granice percepcije.

Drugi problem nije mogao da se reši primenom softverskih trikova, pa je trebalo iz osnova izmeniti pristup. Rešenje je pronađeno u korišćenju internog brojača TMR0, jer je na njegov ulaz direktno doveden signal sa RA4, bez registara koji bi usporili propagaciju. Tako softver može da resetuje ovaj brojač i da prati kad mu je stanje promenjeno. Ulazni impulsi od 10 ns mogu da uzrokuju uvećanje stanja brojača, pa je tako vreme reagovanja sonde čak bolje nego kod standardnih hardverskih rešenja.

Softver još na jedan način učestvuje u prikazivanju logičkog stanja – izlaz RB2 dovodi na ulaz sonde povorku impulsa preko otpronika R9 (220K), tako da softver može da detektuje da li je vrh sonde priključen na definisan logički signal, koji u svakom slučaju ima impedansu nižu od 220 K. Ako nije, gase se sve diode, što kod „niskobudžetnih” sondi nije slučaj, jer kod njih ulazni pull-up otpornik obično drži diodu H stalno upaljenom. Ovaj primenjeni trik olakšava percepciju i u velikoj meri štedi baterije.

Otpornici R7 i R8, u sprezi sa inverzno polarisanim diodama koje su već ugrađene u svaki CMOS čip, omogućavaju da se ulaz sonde priključi na napone koji su znatno izvan standardnog TTL opsega. Ova performansa nije testirana, ali se može očekivati da sonda podnese napon od stotinak ili više volti. U svakom slučaju, signali na portu RS232C se mogu bez ikakve bojazni pratiti, što smo često i radili.

Analizator
Kad se startuje analizator, on je spreman za početak ciklusa semplovanja, ali ono neće započeti dok se na ulazu ne pojavi definisana (rastuća ili opadajuća) ivica signala. Posle toga, obavi se 240 očitavanja stanja ulaza sa vrha sonde i rezultati se upisuju u interni RAM. U prvom redu LCD-a se prikazuju talasni oblici u četiri koraka (na komandu sa tastature) po 60 semplova.

Učestanost semplovanja je uniformna, jer se generiše interno. Izbor ove učestanosti se vrši tasterom, a postoji 16 mogućnosti, od 200 Hz do 1 MHz. Učestanosti iznad 1 MHz nažalost nisu moguće, dok se na tržištu ne pojavi brži mikrokontroler. I ova brzina je skupo plaćena, kako prostorom u vrlo skučenoj programskoj memoriji (svega 1 KB), pošto zaseban (prilično opširan) podprogram sempluje ulaze samo pri ovoj brzini, tako i hardverski – ulaz RA0 služi samo za analizator, jer da bi se samo jednim rotiranjem u registru jedan bit prepisao u fleg C (odakle će biti dalje rotiran u bafer), on mora da bude na „ivici” registra. Osim toga, da bi instrukcija RRC PORTA, 1 bila nedestruktivna (upis u W nije dolazio u obzir zbog vrlo specifične strukture ovog potprograma), svi bitovi na portu A su morali da budu ulazni. I sve zbog jedne stvari – da bi se jedno semplovanje (koje se sastoji od čitanja stanja na ulazu i upisa u bafer) obavilo za tačno 2.5 taktova (u stvarnosti je to naizmenično smenjivanje 2, 3 i 4 takta) i da bi se realizovao ciklus koji uvećava ciljni registar (bafer) posle svakih 8 semplova, pa još da se omogući i izlaz iz ciklusa posle 240 semplova... i sve to sa nenarušenim tajmingom.

Još jedno ograničenje softverski generisane funkcije analizatora jeste zadrška nepredvidivog trajanja između ivice signala koja startuje analizator i početka semplovanja. Ova zadrška može da iznosi između 0 i 3 mikrosekunde, što kod najbržeg takta (1 MHz) čini isto toliko izgubljenih semplova. Kod sledeće brzine (500 KHz) ona je dvaput manja (ispod 2 sempla), a na nižim brzinama je zanemarljiva. Najveći deo krivice za ovu zadršku leži u testu tastera dok traje čekanje na okidni impuls, kako bi bio moguć izlazak iz „Ready” stanja tasterom; u protivnom bi postojala opasnost „zaglavljivanja” softvera ako taj impuls ne dođe.

Upotrebljen je displej koji je isključivo alfanumerički, tako da ne postoji mogućnost adresiranja na nivou piksela. Za prikazivanje talasnih oblika bila je neophodna grafika, pa je primenjena mogućnost softverskog redefinisanja karakter seta za 8 znakova. Tako su svi mogući talasni oblici za tri uzastopna sempla (koliko fizički staje na mesto jednog znaka na displeju) ušli u karakter set, pa se prilikom iscrtavanja upisuju kao karakteri.

Analizator protokola i frekvencmetar
Možda je naziv „analizator protokola” dat previše ambiciozno, jer se radi samo o prijemniku serijskih signala i pokazivanju primljenih bajtova u heksadecimalnom i ASCII kodu na displeju. Moguće je primiti do 42 bajta i pokazati ih u šest koraka po sedam bajtova (priloženi modelirani crtež instrumenta prikazuje ovaj slučaj, gde je pri brzini od 115200 bauda primljena ASCII sekvenca „PCPress”).


Brzina prijema se bira u osam koraka, u opsegu od 1200 do 115200 bps. Moguć je prijem serijskih signala koji sadrže osam bitova (mada instrument bez problema prihvata i sedmobitne reči), sa propisanim Start i Stop bitovima, bez bita parnosti. Bez ikakvih problema je moguća direktna „krađa” signala direktno sa konektora RS232C.

I kod frekvencmetra je iskorišćen interni brojač TMR0, čime je dobijena granična učestanost od (za ovakav instrument) zavidnih 50 MHz. Ipak, pošto je za ovakvu brzinu bilo neophodno uposliti i preskaler, a povećan stepen deljenja automatski znači i gubitak rezolucije očitavanja instrumenta, napravljen je izbor faktora deljenja preskalera u pet koraka, od faktora 0 (pri čemu se dobija granična učestanost od 5 MHz, uz rezoluciju očitavanja od dve jedinice), do faktora 16 (50 MHZ / rezolucija 32). Gubljenje na rezoluciji ovde nema velikog praktičnog značaja, jer je klasa tačnosti kvarc-kristala takva da ni greška koju oni unose nije ništa manja.

Merenje frekvencije i prikazivanje rezultata se obavlja na svakih 500 milisekundi. Dok radi frekvencmetar, svetleće diode L, H i P nemaju funkciju.

Napajanje instrumenta
Ugrađene su četiri male Ni-Cd baterije od po 1.2 / 180 mAh (manje su od uobičajenih baterija od 480 mAh, kakve najčešće srećemo). Sklopu za održavanje baterija je posvećena posebna pažnja – ako izuzmemo LCD, bar polovina hardvera je samo u službi optomalnog tretiranja ovih baterija. Punjenje se obavlja iz bilo kakvog spoljnog ispravljača, napona 12-30 V. Grec na ulazu nam dozvoljava da koristimo bilo koji polaritet napona, a LED5 signalizira da je punjenje u toku. Tranzistor T3 radi kao izvor konstantne struje – promenom vrednosti otpornika R20 treba ga podesiti tako da struja iznosi oko 22 mA, jer će za napajanje instrumenta trebati oko 4 mA, tako da će za punjenje baterija ostati željenih 18 mA. Cener dioda ZD2 sprečava da visoki napon sa ispravljača dođe do mikrokontrolera i LCD-a kada baterije nisu na mestu.
Kad se instrument pomoću tastera dovede u režim punjenja, startuje se časovnik (čije se stanje stalno vidi na ekranu) koji posle 14 sati punjenja automatski isključuje instrument (a time i punjenje). S obzirom na to da se često dopunjavanje (a naročito prepunjavanje) Ni-Cd baterija štetno odražava na njihov životni vek, najbolje je da ih pre punjenja ispraznimo. I ovaj postupak je automatizovan – u režimu pražnjena se propušta struja od oko 95 mA kroz R21 i R22 (pri čemu se pali LED4). Sklop sa tranzistorom T4 i cener diodom ZD1 radi kao naponski monitor; kada napon na bateriji padne ispod 4 V, na ulazu RA1 će se pojaviti visok logički nivo, pa će instrument preći u režim punjenja i posle 14 sati se isključiti.

Uređaj se uključuje pritiskom na bilo koji taster. Moguće je ručno isključivanje, ali je ono uglavnom izlišno – ako se nijedan taster ne pritiska 8 minuta, uređaj se automatski isključuje. Potrošnja (kad nijedan LED nije upaljen) iznosi svega 4 mA, pa gubitak energije iz baterija za tih 8 minuta iznosi ispod 0.3% ukupnog kapaciteta. Tranzistor T1 je glavni ON-OFF prekidač.
Pre svake upotrebe instrumenta, kabl „masa” treba spojiti na masu merenog sklopa. Zbog toga je najbolje da na njegovom kraju imamo „krokodil” štipaljku.

Autorsko pravo
Ovaj projekat je originalno autorsko delo, zaštićeno Zakonom o autorskom pravu. Dozvoljena je slobodna izrada uređaja za lične potrebe, ali je za njegovu serijsku proizvodnju ili komercijalizaciju neophodna saglasnost autora.
Voja Antonić

AlfaNet informatika d.o.o. ima dozvolu autora za komercijalnu proizvodnju i prodaju ovog uređaja!

Kao što vidite, originalnom tekstu autora se nema šta dodati. Radi se o izuzetnom uređaju koji je ušao i u Microchip-ovu dokumentaciju kao primjer upotrebe PIC mikrokontrolera, i nalazi se na njihovom sajtu.



Mi smo se potrudili da riješimo i pitanje kutije, jer to može biti priličan problem za ovako neuobičajen oblik uređaja. Kutija se izrađuje od providnog, laserski sječenog, pleksiglasa. Zbog neobičnog oblika bočna stranica se mora savijati ručno, grijanjem isječene trake pleksija, a kutija se zatvara lijepljenjem i vijcima. Sve to nije idealno, ali mislimo da smo postigli jako dobar odnos kvalitet-cijena sa ovom kutijom, a i konačni izgled sonde je odličan!

Vojinu sondu možete nabaviti kao zavrsen i testiran sklop, potpuno spreman za upotrebu. Nakon nekog vremena korištenja ove sonde pitaćete se kako ste uopšte do sada mogli raditi bez nje, kao što se desilo svima koji je koriste. Usuđujemo se ustvrditi da u oblasti digitalne elektronike je teško naći korisniji instrument za ovako malo novca!

Kutije od pleksiglasa, koje smo nekada imali u ponudi više nemamo, tako da se sada sonda prodaje kao gotov i testiran sklop, sa baterijama, bez kutije. Naknadno smo uradili novu sertiju kutija, ali nisu ispale dovoljno precizne, mada se mogu iskoristiti, uz malo uloženog truda i turpijanja. Zbog toga kutiju sada dajemo gratis, iako je cijena sonde snižena sa početnih 90KM na sadašnjih 80KM.

Prodaja Prodaja

VOS-PCB : Profesionalna štampana pločica za vojinu sondu
10 KM

VOS-PCB-PIC : Profi dvoslojna štampana pločica za sondu i programiran PIC
20 KM

VOS-GUR : "Vojina sonda" kao završen i testiran uređaj + gratis kutija od pleksija
80 KM

Narudžbe na mail: narudzbe@elektronika.rs.ba

home | o nama | katalog | cdovi | prodaja | projekti | linkovi | download | forumi | kontakt | alfanet

Hosted by www.poen.net