w w w. e p . c o m . p l ELEKTRONIKA PRAKTYCZNA •
NA CD KATALOGI MIESI¥CA:
(w tym 7% VAT)
15 zł 50 gr ●
grudzień ● Miêdzynarodowy magazyn elektroników konstruktorów
12/2001
12/2001 • grudzieñ
Radiowy pilot do PC...
▲
...a w zasadzie do WinAmpa i jemu podobnych. To niezbyt skomplikowane urządzenie umożliwia zdalne sterowane wybranymi funkcjami programów działających na PC bez koniecz− ności zapewnienia optycznej widoczności nadajnika poleceń z odbiornikiem dołączonym do komputera. W skrócie: wygod− niej! Str. 33.
Dozownik cieczy ▲
▲
Na str. 27 przedstawiamy opis konstrukcji mikropro− cesorowego dozownika cieczy, którego oprogramo− wanie zostało wykonane za pomocą graficznego narzędzia projektowego − ST6−Realizer.
Modem V.22bis W artykule na str. 43 przedstawiamy dalszy ciąg opisu modemu zgodnego ze standardem V.22bis, którego kon− strukcję oparliśmy na nowoczesnym, specjalizowanym procesorze DSP.
Systemy nadzoru wizyjnego ▲ Możliwości współczesnych urządzeń elektronicznych coraz częściej zaskakują także elektroników. Jedną z takich zaska− kujących aplikacji przedstawiamy w artykule na str. 147.
▲
Interfejs RS232 dla Commodore C64 Na str. 87 przedstawiamy miniprojekt − jak wynika z listów − oczekiwany przez wielu naszych Czytelników, którzy nadal korzysta− ją z komputerów Commodore 64.
Automatyczne testowanie urządzeń elektronicznych Przegląd współczesnych syste− mów ATE przedstawiamy w arty− kule na str. 135.
▲
▲
Sprzętowy emulator procesorów AVR
Na str. 21 prezentujemy konstruk− cję kolejnego narzędzia dla Bascomowców − sprzętowego emulatora mikrokontrolerów AVR. Jest to narzędzie traktowane przez Basco− ma jako jeden ze standardowych interfejsów sprzętowych, dzięki czemu jakość ich współpracy stoi na najwyższym poziomie.
Projekty Czytelników Uniwersalne moduły mikroprocesorowe cieszą się wśród elekt− roników nieustannym powodzeniem. W “Projektach Czytelni− ków” przedstawiamy opracowany przez naszego Czytelnika zestaw z własnym programem monitorującym. Str. 93.
▲
▲
Microchip w świecie DSP Lekceważony niegdyś przez poten− tatów rynkowych Microchip prze− kroczył kolejny próg swojego rozwoju: do oferty włączył bowiem mikrokontrolery o architekturze zmodyfikowanej pod kątem aplika− cji DSP. Przedstawiamy je na str. 51.
6
Elektronika Praktyczna 12/2001
Nr 12 (108) grudzień 2001
Projekty Silver Sound − wzmacniacz audio ze stopniem końcowym quasi−IGBT ..................................................................................... 14 Sprzętowy emulator procesorów AVR ...................................... 21 Dozownik cieczy .......................................................................... 27 Radiowy pilot do PC ................................................................... 33
Kurs ▲
Lampowy korektor audio ........................................................... 39
Na żądanie Czytelników rozpo− czynamy prezentację architek− tury mikrokontrolerów PIC16 firmy Microchip. Jako pierwszy omówimy jeden z najczęściej stosowanych − mikrokontroler PIC16F84. Str. 81.
Modem V.22bis, część 2 ............................................................. 43 Przetwornica 12(24)/220V, część 2 ........................................... 46 Sprzętowy dekoder MP3, część 2 ............................................. 48
Miniprojekty Interfejs RS−232C dla Commodore C−64 .................................. 87
Automatyka Automatyczne testowanie urządzeń elektronicznych, część 1 ........................................................................................ 135 Nowości w rodzinie Zelio .......................................................... 140 Czujniki optyczne firmy Baumer Electric ................................ 145 Systemy nadzoru wizyjnego F150/F160 ................................... 147
Podzespoły Microchip w świecie DSP ............................................................ 51 Alternatywa, czyli PSoC na '51 .................................................. 56 Nowe Podzespoły ........................................................................ 69
Programy
Alternatywa, czyli PSoC ▲ w ‘51 Układy PSoC nie bez powodu są nazywane układami nowej ery. O tym, że może je stosować niemal każdy staramy się prze− konać za pomocą artykułu na str. 69.
CodeVision AVR C − kompilator języka C dla procesorów AVR ................................................................... 62 OrCAD − profesjonalny system wspomagający projektowanie układów elektronicznych − edytor płytek drukowanych, część 1 ................................................................ 75
Projekty Czytelników Układ prototypowy dla mikrokontrolerów z serii 8051, część 1 .......................................................................................... 93
Kurs
Czujniki optyczne
Co w LPT−cie piszczy, część 1 .................................................... 66
Po raz kolejny wracamy do prezentacji czujników optycz− nych, tym razem wykorzystują− cych światłowody jako media dla światła i obrazu. Str. 145.
Architektura mikrokontrolerów PIC16F8x .................................. 81
Info Świat ....................................................................... 119 Info Kraj .......................................................................... 121
▲
Biblioteka EP ................................................................. 132 Kramik+Rynek ................................................................ 97 Listy ................................................................................. 103 Ekspresowy Informator Elektroniczny ..................... 115 Wykaz reklamodawców ............................................ 118
Elektronika Praktyczna 12/2001
7
Silver P R Sound O J E
K
T
Y
Silver Sound Wzmacniacz audio ze stopniem końcowym quasi−IGBT AVT−5045
Konstrukcja przedstawionego w†artykule wzmacniacza nawi¹zuje do najlepszych klasycznych wzorcÛw, cechuj¹c siÍ jednoczeúnie nowoczesnoúci¹. W†stopniu koÒcowym zastosowano bowiem tranzystory MOSFET, ktÛre steruj¹ tranzystory bipolarne. Nazwaliúmy to rozwi¹zanie quasi-IGBT przede wszystkim dlatego, aby zwrÛciÊ Wasz¹ uwagÍ na moøliwoúci wynikaj¹ce z†wykorzystania najlepszych cech obydwu technologii.
Parametry nominalne: ✓ Moc wyjściowa RMS (4Ω): 200W, ✓ Pasmo przenoszenia: 5Hz...150kHz, ✓ Szybkość narastania sygnału na wyjściu (min.) 100V/µs (200 W/4Ω), ✓ Zniekształcenia: ✗ harmoniczne: 0,05%, ✗ TIM: 0,05%.
14
Schemat wzmacniacza przedstawiono na rys. 1. Wejúciowy sygna³ steruj¹cy, ktÛrego pasmo ograniczaj¹ elementy R1 i†C3 jest doprowadzany do nieodwracaj¹cego wejúcia wzmacniacza operacyjnego U1/1. Wzmocnienie napiÍciowe tego uk³adu ustalaj¹ rezystory R4 i†R3. Tranzystory T1 i†T2 pracuj¹ jako stabilizatory napiÍcia, dopasowuj¹ce napiÍcie zasilania do wymagaÒ wzmacniaczy operacyjnych U1/1 i†U1/2. W†kolektorach tych tranzystorÛw znajduj¹ siÍ lustra pr¹dowe zbudowane z†elementÛw T3, T4, R7, R10, D1 (dla dodatniej ga³Ízi zasilania) oraz T5, T6, R9, R11 i†D2 (dla ujemnej ga³Ízi zasilania). MiÍdzy kolektory tranzystorÛw T6 i†T4 w³¹czono obwÛd ustalania pr¹du spoczynkowego zbudowany w†sposÛb klasyczny z elementÛw R12, C14, P1 i†T7. Wraz ze zmianami wartoúci pr¹du przep³ywaj¹cego w†dodatniej i†ujemnej ga³Ízi zasilania U1/1 zmienia siÍ takøe napiÍcie na kolektorach T6 i†T4. Rezystory R35 i†R34 poprawiaj¹ szybkoúÊ reakcji
wzmacniacza na pobudzenia impulsowe. Poprzez rezystory R32 i†R33 s¹ wysterowywane tranzystory MOSFET T10 i†T11. Ujemne sprzÍøenie zwrotne zrealizowane jest poprzez rezystor R5 w³¹czony miÍdzy wyjúcie wzmacniacza operacyjnego U1/1, a†wyjúcie wzmacniacza mocy. Jest to tzw. ìpr¹dowe ujemne sprzÍøenie zwrotneî. Poprzez rezystor R13 sterowany jest obwÛd DC-serwo (odpowiadaj¹cy za stabilizacjÍ sk³adowej sta³ej napiÍcia na wyjúciu wzmacniacza), zbudowany z†elementÛw: U1/2, C12, C13, R14, R15, R16, R17. Tranzystory MOSFET T10 i†T11, wraz z†bipolarnymi T12, T13 (dla dodatniej ga³Ízi zasilania) i†T14, T15 (dla ujemnej ga³Ízi zasilania) tworz¹ klasyczne ürÛd³o pr¹dowe sterowane napiÍciem, ktÛrego pr¹d Jwy=3xJT10. Poniewaø ürÛd³a tranzystorÛw MOSFET s¹ po³¹czone z†kolektorami tranzystorÛw bipolarnych, wystÍpuje 100% lokalne napiÍciowe
Elektronika Praktyczna 12/2001
Silver Sound R31, T9, T17, D12, D6 i†C17 dla po³Ûwki ìdolnejî. Jest to zabezpieczenie zaprojektowane specjalnie dla prezentowanego wzmacniacza, aby wyeliminowaÊ rezystory wyrÛwnuj¹ce w†kolektorach tranzystorÛw T12, T13, T14, T15. Pr¹d zwarcia wynosi 2,8A, a†maksymalny pr¹d wyjúciowy osi¹ga nawet 12A (dla obci¹øenia o†impedancji 4Ω). Pary diod D3 i†DZ4 oraz D5 i†DZ3 zabezpieczaj¹ bramki T10 i†T11 przed pojawieniem siÍ zbyt wysokiego napiÍcia, a kondensatory C10 i†C11 zapobiegaj¹ moøliwoúci wzudzenia siÍ stopnia koÒcowego. Wzmacniacz wyposaøono we wskaünik wysterowania, ktÛrego schemat elektryczny przedstawiono na rys. 2. Jest to dwustopniowy wzmacniacz pr¹du sta³ego, z†p³ytkim dodatnim sprzÍøeniem zwrotnym i†niewielk¹ histerez¹. W†stanie pocz¹tkowym na rezystorze R105 wystÍpuje niewielkie napiÍcie wywo³ane pr¹dem p³yn¹cym z†Uzpom poprzez R106. NapiÍcie potrzebne do wysterowania T101 ma wartoúÊ UR105+UbeT101. Poniewaø wzmocnienie T101+T102 wynosi minimum kilka tysiÍcy, nawet niewielki pr¹d bazy T101 powoduje zmianÍ napiÍcie na emiterze T102, z†napiÍcia prawie rÛwnego napiÍciu zasilania, do napiÍcia kilku woltÛw (UsatT102+ULED). To z†kolei powoduje zmniejszenie pr¹du p³yn¹cego przez R105 wywo³uj¹c efekt dodatniego sprzÍøenia zwrotnego. DziÍki temu wyeliminowany jest do minimum efekt stanu poúredniego úwiecenia diody LED. Dlatego úwieci ona pe³n¹ jasnoúci¹ nawet przy nieznacznym przekroczeniu napiÍcia kontrolowanego przez opisany uk³ad. Umoøliwia to precyzyjn¹ wizualn¹ kontrolÍ pracy wzmacniacza. Od wartoúci pojemnoúci C101 zaleøy czas reakcji i†czas podtrzymania: R101xC101 = czas reakcji [s], C101xR102 = czas podtrzymania [s] (w przybliøeniu). Rys. 1. Schemat elektryczny wzmacniacza.
sprzÍøenie zwrotne. Taka konfiguracja powoduje pracÍ tej czÍúci uk³adu w†sposÛb podobny, jak ma to miejsce w†tranzystorach IGBT, lecz cena takiego uk³adu jest wielokrotnie niøsza niø dobrej jakoúci tranzystora IGBT.
Elektronika Praktyczna 12/2001
Elementy R24, R25, R28, R30, T8, T16, D11, D4 i†C16 tworz¹ obwÛd zabezpieczenia przeciwzwarciowego dla tranzystorÛw ìgÛrnejî po³Ûwki stopnia koÒcowego, natomiast R26, R27, R29,
Rys. 2. Schemat elektryczny wskaźnika wysterowania.
15
Silver Sound T203, ktÛry z†kolei zwiera bazÍ T204 do masy. WÛwczas przekaünik od³¹cza obci¹øenie od stopnia mocy. Elementy R201, R202, R203, C201, T201, T202 wraz z†T203 tworz¹ obwÛd reaguj¹cy na napiÍcie sta³e na wyjúciu stopnia mocy i†w†przypadku pojawienia siÍ takiego, powoduj¹cy od³¹czenie obci¹øenia, chroni¹c g³oúniki przed zniszczeniem. Przez rezystor R207 do plusa 24V jest pod³¹czona dioda LED sygnalizuj¹ca pod³¹czenie g³oúnikÛw.
Uruchomienie Rys. 3. Schemat elektryczny układu automatyki sterującej dołączaniem głośnika do wyjścia wzmacniacza.
Do uruchomienia wzmacniacza jest niezbÍdny zasilacz laboratoryjny, oscyloskop oraz serwisowy ge-
Wzmacniacz wyposaøono takøe w†uk³ad automatyki steruj¹cej do³¹czaniem g³oúnika do jego wyjúcia, ktÛrego schemat elektryczny przedstawiono na rys. 3. Jest to nieco rozbudowana wersja uk³adu automatyki opublikowanego w†historycznej juø ksi¹øce ìWzmacniacze elektroakustyczneî Macieja Feszczuka (WKi£, Warszawa 1986). Wzbogacono go o elementy R206 i†C202, tworz¹ce wraz z†tranzystorem T204, obwÛd opÛünionego za³¹czania obci¹øenia. Natomiast elementy Dz201, Dz202, D201, R204 wraz z†T203 tworz¹ obwÛd przyúpieszonego od³¹czania obci¹øenia po wy³¹czeniu zasilania. Warunkiem poprawnego dzia³ania tego obwodu jest, aby napiÍcie zasilania +24V przez odpowiedni stabilizator by³o pobierane z†dodatniego napiÍcia zasilania wzmacniacza mocy. Diody Zenera Dz201 i†Dz202 dobiera siÍ tak, aby spadek napiÍcia na nich wynosi³ 75...80% napiÍcia zasilania wzmacniacza (+UzPA). Po wy³¹czeniu zasilania, dopÛki napiÍcie +UzPA jest wiÍksze od spadku napiÍcia na diodach Zenera, to p³ynie przez nie pr¹d, ktÛry powoduje powstawanie napiÍcia na rezystorze R204. NapiÍcie to uniemoøliwia przewodzenie diody D201. Gdy napiÍcie +UzPA spadnie poniøej napiÍcia diod Zenera, przestaje przez nie p³yn¹Ê pr¹d i†dioda D201 zostaje odblokowana. Powoduje to wysterowanie tranzystora Rys. 4. Rozmieszczenie elementów na płytce drukowanej wzmacniacza.
16
Elektronika Praktyczna 12/2001
Silver Sound
Rys. 5. Wygląd radiatora dla tranzystorów T4 i T6.
nerator przebiegÛw audio. Na p³ytce drukowanej, ktÛrej schemat montaøowy pokazano na rys. 4, montujemy wszystkie elementy poza tranzystorami (T10, T11, T12, T13, T14, T15 a†takøe T8 i†T9). Tranzystory T6 i†T4 umieszczamy na niewielkim radiatorze wykonanym z†blachy aluminiowej o†gruboúci 2mm izoluj¹c je. Na rys. 5 pokazano wygl¹d tego radiatora, ktÛry podczas montaøu naleøy przymocowaÊ do p³ytki drukowanej. Tranzystor T7 montujemy po drugiej stronie p³ytki (od strony lutowania). Na wyjúciu zasilacza ustalamy napiÍcia zasilania +50V i†-50V oraz ustalamy ograniczanie pr¹du przy 100mA. Testowy sygna³ steruj¹cy naleøy podaÊ na styk 2†z³¹cza G2 (styki 1 i 3 to masa). Do pierwszego testu wykorzystamy sygna³ trÛjk¹tny (symetryczny) o†amplitudzie ok. 200...300mV). Za pomoc¹ oscyloskopu obserwujemy sygna³ na wyjúciu U1/1 - powinien byÊ nie zniekszta³cony i†mieÊ amplitudÍ ok. 3†razy wiÍksz¹ od wejúciowej. Pr¹d pobierany przez uk³ad w†tej fazie uruchamiania nie powinien przekraczaÊ 50mA. Za pomoc¹ potencjometru P1 ustalamy napiÍcie miÍdzy kolektorami T5 i†T6 na ok. 5...6V. Teraz moøemy zamocowaÊ tranzystory mocy na radiatorze (rys. 6), izoluj¹c je. Radiator najlepiej wykonaÊ z†kszta³townika ZML KÍty A6023 o†d³ugoúci 12,5...13cm. Moøna uøyÊ kszta³townik A5352, jednak naleøy wtedy pamiÍtaÊ o†odpowiedniej zmianie wykonuj¹c otwory, gdyø szerokoúÊ tego kszta³townika wynosi 187mm, a†nie 190,5mm. årub mocuj¹cych tranzystory mocy nie dokrÍcamy do koÒca. Tranzystor T7 wyginamy tak, aby stron¹ izolowan¹
Elektronika Praktyczna 12/2001
dotyka³ do radiatora, a†na jego radiator nanosimy warstwÍ silikonu. Teraz umieszczamy p³ytkÍ drukowan¹ (wczeúniej montujemy T8 i†T9) na radiatorze tak, aby koÒcÛwki tranzystorÛw wesz³y w†odpowiednie otwory (metalizowane) w†p³ytce, ktÛr¹ za pomoc¹ tulejek dystansowych mocujemy do radiatora. Sprawdzamy czy T7 dobrze przylega do radiatora oraz czy ktÛraú z†koÒcÛwek tranzystorÛw mocy nie dotyka radiatora. Nie zmieniaj¹c ustawieÒ pod³¹czamy zasilanie i podajemy sygna³ wejúciowy z†generatora sygna³owego. Jeøeli pr¹d pobierany przez wzmacniacz nie uleg³ zmia-
nie, a†sygna³ na wyjúciu ma taki sam kszta³t jak wejúciowy, lecz duøo wiÍksz¹ amplitudÍ, moøna zmieniÊ pr¹d ograniczania w†zasilaczu do maksimum i†potencjometrem P1 zwiÍkszyÊ pr¹d spoczynkowy do ok. 150...250mA. Ograniczamy do minimum amplitudÍ sygna³u wejúciowego i†mierzymy poziom napiÍcia sta³ego na wyjúciu wzmacniacza. Nie powinien przekraczaÊ 20mV. Teraz moøemy zaj¹Ê siÍ uk³adami pomocniczymi. Pod³¹czamy pomocnicze napiÍcie 24V poprzez gniazdo G2, diody LED bÍd¹ce wskaünikami sygna³u wyjúciowego i†pod³¹czenia g³oúnikÛw. Po up³y-
Rys. 6. Sposób zamocowania tranzystorów mocy na radiatorze.
17
Silver Sound
Rys. 7. Schemat i opis zasilacza.
wie ok. 4...7 sekund zaúwieci siÍ LED sygnalizuj¹cy, øe przekaünik pod³¹czy³ obci¹øenie. Zaúwiecenie siÍ diody oznacza, øe moøemy pod³¹czyÊ do wyjúcia wzmacniacza rezystory o†wypadkowej rezystancji 4Ω i†mocy ok. 200W (zamiast g³oúnikÛw, na czas testÛw). RÛwnolegle do obci¹øenia pod³¹czamy oscyloskop, i†powoli zwiÍkszamy amplitudÍ sygna³u wyjúciowego, ca³y czas kontroluj¹c oscylogram, czy nie pojawiaj¹
siÍ oscylacje pasoøytnicze, a†sygna³ wyjúciowy (aø do granicznej wartoúci amplitudy wynikaj¹cej z†napiÍcia zasilania) ma taki sam kszta³t, jak sygna³ wejúciowy. Po wykonaniu tych czynnoúci moøemy pod³¹czyÊ wzmacniacz lub wzmacniacze do docelowego zasilacza wykonanego wed³ug rys. 7. Potencjometrem P101 ustalamy prÛg zapalania siÍ diody przy napiÍciu (sinusoida, napiÍcie skuteczne) 28V dla obci¹øenia 4Ω, i†40V dla obci¹øenia 8Ω. Schemat montaøowy kompletnego wzmacniacza w†wersji stereofonicznej pokazano na rys. 8. Uk³ad wzmacniacza napiÍciowego wykorzystano z opisu wzmacniacza z tranzystorami IGBT firmy Analog Devices, wprowadzaj¹c niewielkie uproszczenia. Krzysztof Jasiñski Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/grudzien01.htm.
Rys. 8. Schemat montażowy kompletnego wzmacniacza stereofonicznego.
18
WYKAZ ELEMENTÓW Rezystory Wszystkie rezystory 0,25W R1, R7, R9...R11, R32, R33: 100Ω R2, R103: 100kΩ R3: 15Ω R4: 30Ω R5, R24...R27: 1kΩ R6, R8: 68kΩ R12, R17, R107, R207: 4,7kΩ R13: 15kΩ R14, R16: 1MΩ R15: 470Ω R18...R23: 0,43Ω/5W R28, R29: 22kΩ R30, R31, R104, R201...R203: 15kΩ R34, R35: 6,8kΩ/0,5W R101: 1kΩ R102: 22kΩ R105: 220Ω R103, R106: 220kΩ R204: 2,2kΩ R205: 10kΩ R206: 47kΩ P1: 2,2kΩ wieloobrotowy P101: 4,7kΩ wieloobrotowy Kondensatory C1, C2, C4, C5, C101: 10µF/63V C3: 1nF C6, C9: 3,3µF− MKSE C7, C8, C12...C14: 100nF/100V C10, C11: 47pF/160V C15: 10µF/16V−tantal C16, C17: 10nF/100V C201: 470µF/25V C202: 2200µF/10V Półprzewodniki Dz1, Dz2, Dz3, Dz4: 12V/0,25W Dz201, Dz202: wg opisu D1, D2, D32, D4...D6, D101, D201: 1N4148 D8, D7: BY255 D9...D12: 1N4937 D202: 1N4001 T1, T5: BD 139/16 T2, T3: BD 140/16 T4: 2SA1006 T6: 2SC3309 T7: BD135−16 T8: 2N5551 T9: 2N5401 T10: IRFP450 T11: IRFP 9240 T12, T13: 2SA1302 T14, T15: 2SC3281 T16: BF470 T17: BF469 T101, T201, T202: BC550 T102, T203: BC556 T204: darlington np. BD649 U1: OP285 Różne Przekaźnik RM83Z/24V
Elektronika Praktyczna 12/2001
Sprzętowy emulator P R procesorów O J E K AVR T Y
Sprzętowy emulator procesorów AVR AVT−5039
Wzrastaj¹ca z†dnia na dzieÒ popularnoúÊ procesorÛw RISC z†rodziny AVR, produkowanych przez firmÍ ATMEL, spowodowa³a istn¹ lawinÍ coraz to nowszych narzÍdzi programowych i†sprzÍtowych wspomagaj¹cych opracowywanie programÛw dla tych procesorÛw. Na ³amach EP opisaliúmy juø kilka programatorÛw i†zestawÛw uruchomieniowych, ale do pe³ni szczÍúcia brakowa³o†jak do tej pory - jedynie jakiegoú prostego emulatora sprzÍtowego, umoøliwiaj¹cego testowanie napisanego oprogramowania w†úrodowisku, dla ktÛrego zosta³o przeznaczone.
Elektronika Praktyczna 12/2001
Kaødy elektronik wie, jak bardzo dobry emulator sprzÍtowy moøe u³atwiÊ pracÍ i†przyspieszyÊ tworzenie nowego oprogramowania. Jednak skonstruowanie naprawdÍ dobrego emulatora jest zadaniem trudnym, a†uk³ady tego typu s¹ zazwyczaj doúÊ skomplikowane i†kosztowne. Dlatego teø, pomimo øe zdawa³em sobie sprawÍ z†koniecznoúci zaprojektowania emulatora sprzÍtowego dla procesorÛw AVR, odwleka³em doúÊ d³ugo rozpoczÍcie prac nad takim urz¹dzeniem. Wszystkie procesory z†rodziny AVR mog¹ byÊ programowane w†systemie ISP (In System Programming), co powoduje, øe stosowanie emulatorÛw jest wprawdzie poø¹dane, lecz nie absolutnie konieczne. Kaødy procesor AVR moøna zaprogramowaÊ bezpoúrednio w†jego docelowym úrodowisku bez koniecznoúci wyjmowania z†podstawki, umieszczania w†programatorze i†ponownego instalowania w†systemie. Jeøeli przy tym pracujemy w†dobrze opracowanym
úrodowisku programistycznym, takim jak BASCOM czy Code VisionC, to zaprogramowanie procesora i†przygotowanie uk³adu do przeprowadzenia stosownych testÛw sprowadza siÍ najczÍúciej do jednego klikniÍcia myszk¹ lub naciúniÍcia jednego klawisza. Wynika z†tego, øe emulator sprzÍtowy dla procesorÛw AVR, bÍd¹cy komfortowym, ale nie nieodzownym uzupe³nieniem zestawu narzÍdzi pracy, nie moøe byÊ uk³adem nadmiernie skomplikowanym ani kosztownym. Rozwi¹zanie problemu przysz³o nagle i†z†pokor¹ muszÍ przyznaÊ, øe bynajmniej nie jest ono moj¹ zas³ug¹. Program monitora, umoøliwiaj¹cy emulacje procesorÛw AVR za pomoc¹ procesorÛw AVR, powsta³ w niezawodnej jak zwykle firmie MCS Electronics, zosta³ napisany przez mojego Przyjaciela, pana Marka Albertsa. Program ten umoøliwi³ zbudowanie emulatora o†dobrych parametrach, a†do tego niezwykle prostego i†³atwego do wykonania. MogÍ zaproponowaÊ dwie metody przeprowadzania emulacji sprzÍtowej procesorÛw AVR. Pier-
21
Sprzętowy emulator procesorów AVR
Rys. 1. Schemat elektryczny konwertera napięć RS232/TTL.
wsza z†nich, nie wymagaj¹ca prawie øadnego dodatkowego sprzÍtu, polega na emulacji pracy procesora za pomoc¹ procesora tego samego typu umieszczonego w†przeznaczonym dla niego úrodowisku. Jest to rozwi¹zanie bardzo proste, a†do jego realizacji bÍdziemy potrzebowaÊ jedynie prostego uk³adu, ktÛrego zadaniem bÍdzie konwersja poziomÛw napiÍÊ wystÍpuj¹cych na ³¹czu RS232 na poziomy napiÍcia TTL i†odwrotnie. Taki uk³ad konwersji najproúciej wykonaÊ z†wykorzystaniem popularnego uk³adu MAX232. Schemat konwertera zosta³ pokazany na rys. 1. Niestety, taka metoda realizacji emulacji sprzÍtowej niesie ze sob¹ jedno, powaøne ograniczenie: wyprowadzenia TxD i†RxD procesora nie mog¹ byÊ wykorzystywane do niczego innego, za wyj¹tkiem obs³ugi transmisji RS232. Znacznie doskonalsze rozwi¹zanie polega na zbudowaniu uniwersalnego sprzÍtowego emulatora procesorÛw AVR. Uk³ad taki zosta³ przeze mnie skonstruowany w†oparciu o†jeden z†ìnajwiÍkTab. 1. Funkcja ............................ Możliwość realizacji Transmisja danych poprzez magistralę I2C ......... Tak Transmisja danych magistralą 1WIRE ................. Nie Zegar czasu rzeczywistego .................................. Nie Obsługa klawiatury szesnastkowej (polecenie GETKBD) ............................................ Tak Odbiór kodu RC5 ................................................. Nie Operacje na portach i pinach portów .................. Tak Obsługa wyświetlacza LCD .................................. Tak Transmisja RS232 .............................................. Tak* Zapis i odczyt z pamięci danych EEPROM .......... Tak Obsługa przetworników AD ................................. Tak Obsługa przerwań zewnętrznych ......................... Tak Multipleksowanie wyświetlaczy LED ................... Tak * transmisja danych poprzez RS232 jest dodatkowo symulowana programowo
22
szychî procesorÛw AVR AT90S8535. Zastosowanie go pozwoli na testowanie uk³adÛw zawieraj¹cych taki w³aúnie procesor lub dowolny inny z†rodziny AVR posiadaj¹cy rÛwn¹ lub mniejsz¹ liczbÍ wyprowadzeÒ. Za pomoc¹ tego uk³adu emulatora moøemy symulowaÊ pracÍ nastÍpuj¹cych typÛw procesorÛw z†rodziny AVR: AT90S2313, AT90S2343, AT90S8515, AT90S8535, AT90S4433, AT TINY (wszystkie typy), AT90S2323, AT MEGA161, AT MEGA16 i†AT MEGA32. Nie jest natomiast moøliwe testowanie uk³adÛw zbudowanych na 64-pinowych procesorach z†serii AT MEGA. Proponowany uk³ad emulatora sprzÍtowego jest urz¹dzeniem bardzo prostym, zbudowanym z†wykorzystaniem zaledwie dwÛch uk³adÛw scalonych. Jednak za tÍ prostotÍ i†niewielki koszt wykonania urz¹dzenia musimy zap³aciÊ nie najwiÍksz¹ szybkoúci¹ pracy emulatora. Ta w³aúnie wada uniemoøliwia symulacjÍ niektÛrych czynnoúci, wymagaj¹cych bardzo precyzyjnego timingu (zestawienie moøliwych do emulowania funkcji zamieszczono w†tab. 1).
AT90S8535, jeden z†najbardziej rozbudowanych uk³adÛw z†rodziny AVR. WybÛr procesora zosta³ jednak podyktowany nie przez chÍÊ skorzystania z†jego rewelacyjnych moøliwoúci. Rzeczywistym powodem by³a liczba dostÍpnych wyprowadzeÒ, ktÛra umoøliwia emulacjÍ praktycznie wszystkich procesorÛw AVR. Na list. 1 pokazano ca³y†program steruj¹cy prac¹ procesora, wraz z†dyspozycjami konfiguracyjnymi i†komunikatami wstÍpnymi, ktÛre mog¹ byÊ wyúwietlone po pod³¹czeniu uk³adu do monitora z³¹cza RS232. Program, ktÛrego treúci (nie bÍd¹c jego autorem) nie komentujÍ, jest niezwykle prosty i†zajmuje w†pamiÍci procesora zaledwie ok. 1kB. Moøe to sprawiaÊ wraøenie, øe ogromne moøliwoúci '8535 zosta³y w†tym uk³adzie wykorzystane tylko w†niewielkim stopniu. Tak jest w†istocie, procesor spe³nia tu bardzo proste funkcje i†moøna nawet powiedzieÊ, øe siÍ ìmarnujeî. MyúlÍ jednak, øe wartoúÊ uøytkowa emulatora jest tak duøa, øe†buduj¹c go moøemy pozwoliÊ sobie na tak¹ rozrzutnoúÊ i†zastosowaÊ w†nim nawet drogi i†nie w†pe³ni wykorzystany element. Ponadto, chcia³bym zaprezentowaÊ Czytelnikom swÛj sposÛb widzenia nowoczesnych i†- co bardzo waøne - programowalnych w†systemie procesorÛw. Przecieø taki chip moøe pe³niÊ bardzo uøyteczn¹ funkcjÍ, o†jakiej zapewList. 1. $regfile = “8535def.dat” $crystal = 11059200 $baud = 115200 Dim Krk As Byte Dim Adr As Word Dim Adrl As Byte, Adrh As Byte Dim Vl As Byte Print Print Print Print Print Print Print
“Emulator sprzętowy procesorów AVR” “***********AVT - 5039**************” “Ustaw szybkość transmisji na 115200 Baud” “Emulacja procesorów następujących typów:” “AT90S2313, AT90S2323, AT90S8515” “AT90S2343, AT90S8535, AT90S4433 “ “i pozostałych z rodziny AVR, z wyjątkiem AT MEGA”
Opis dzia³ania uk³adu
Do
Schemat elektryczny uk³adu emulatora pokazano na rys. 2. Wygl¹da on pozornie na skomplikowany, ale jeøeli przyjrzymy mu siÍ bliøej, to z†pewnoúci¹ zauwaøymy, øe ca³a prawa czÍúÊ schematu to tylko z³¹cza, dla jasnoúci przedstawione wraz z†opisem wyprowadzeÒ obs³ugiwanych przez nie procesorÛw. ìSercemî emulatora jest zaprogramowany procesor typu
Krk = Inkey() If Krk = “T” Then Print Chr(13); Elseif Krk = “W” Then Adr = Waitkey() Vl = Waitkey() Out Adr, Vl Print Chr(13); Elseif Krk = “R” Then Adr = Waitkey() Vl = Inp(adr) Print Chr(vl); Elseif Krk = “O” Then Adrl = Waitkey() Adrh = Waitkey() Vl = Waitkey() Adr = Adrh * 256 Adr = Adr + Adrl Out Adr, Vl Print Chr(13); End If Loop
Elektronika Praktyczna 12/2001
Sprzętowy emulator procesorów AVR
Rys. 2. Schemat elektryczny emulatora.
ne nie myúleli jego twÛrcy z†firmy ATMEL. Moøe on byÊ czymú w†rodzaju uniwersalnego, reprogramowalnego przyrz¹du laboratoryjnego. Programowanie procesorÛw AVR trwa dos³ownie sekundy, a†budowa potrzebnego do tego celu programatora jest banalnie prosta (np. programator AVT-871). Za³Ûømy, øe w†naszej pracy wykorzystujemy miernik czÍstotliwoúci AVT-5034 zbudowany takøe z†wykorzystaniem procesora '8535. Jeøeli w†jakimú momencie okaøe siÍ, øe musimy skorzystaÊ z†emulatora sprzÍtowego AVR, to po prostu przeprogramowujemy procesor umieszczony w†mierniku (wykorzystuj¹c wbudowany w†ten uk³ad interfejs ISP) i†umieszczamy go w†emulatorze. Po zakoÒczeniu prac zwi¹zanych z†emula-
Elektronika Praktyczna 12/2001
cj¹ procesorÛw†AVR umieszczamy procesor z†powrotem w†mierniku i†ponownie programujemy go w³aúciwym dla tego przyrz¹du programem. Taki cykl przeprogramowywania procesora moøemy teoretycznie wykonaÊ 1000 razy,
tak jak podaje producent '8535. Praktyka jest jednak inna: doúwiadczalnie stwierdzono, øe procesory AVR wytrzymuj¹ ìbez szkody dla zdrowiaî znacznie wiÍksz¹ liczbÍ programowaÒ. Analizuj¹c schemat pokazany na rys. 2, wielu CzytelnikÛw zauwaøy³o juø z†pewnoúci¹ drastyczne odstÍpstwo od regu³ projektowania uk³adÛw z†procesorem '8535. Juø po raz drugi wystÍpujÍ w†roli prowokatora lekkomyúlnie
Tab. 2. Kwarc
1000000Hz
Baudrate 2400 4800 9600 14400 19200 28800 38400 57600 76800 115200
4000000Hz
7372800Hz
8000000Hz
11059200Hz
Zgodność uzyskanej szybkości transmisji z zadaną 0,2% 0,2% 7,5% 7,8% 7,8% 7,8% 22,9% 7,8% 22,9% 84,3%
0,2% 0,2% 0,2% 2,1% 0,2% 3,7% 7,5% 7,8% 7,8% 7,8%
0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0%
0,2% 0,2% 0,2% 0,8% 0,2% 2,1% 0,2% 3,7% 7,5% 7,8%
0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0%
23
Sprzętowy emulator procesorów AVR
Rys. 3. Rozmieszczenie elementów na płytce drukowanej.
lekcewaø¹cego dane zawarte w†karcie katalogowej opublikowanej przez Atmela. ìStoi tam jak bykî, øe maksymalna czÍstotliwoúÊ taktowania tego procesora wynosi zaledwie 8MHz, a†ja zastosowa³em rezonator o†czÍstotliwoúci podstawowej rÛwnej aø 11059200Hz. Co by³o powodem tej, byÊ moøe ryzykownej decyzji? OtÛø, by³¹ ni¹ chÍÊ uzyskanie jak najwiÍkszej prÍdkoúci transmisji danych poprzez interfejs RS232, od ktÛrej w†decyduj¹cy sposÛb zaleøy takøe szybkoúÊ dzia³ania emulatora. Popatrzmy na tab. 2, w†ktÛrej zawarto dane zaczerpniÍte z†karty katalogowej procesora '8535.
Rys. 4. Konfiguracja łącza szeregowego w BASCOM−ie.
24
Z†danych zawartych w†tabeli wynika niezbicie, øe maksymaln¹ szybkoúÊ transmisji wynosz¹c¹ 115200bd moøna uzyskaÊ jedynie z†rezonatorami kwarcowymi o czÍstotliwoúci 7372800Hz i†11059200Hz. CzÍstotliwoúÊ 7372800Hz mieúci siÍ w†granicach dopuszczalnej czÍstotliwoúci pracy procesora '8535, ale rezonatory kwarcowe o takiej czÍstotliwoúci podstawowej s¹ doúÊ trudno osi¹galne. Kwarc 11059200Hz bez najmniejszego problemu kupimy w†kaødym sklepie z†czÍúciami elektronicznymi i†dlatego zdecydowa³em siÍ na overclocking procesora. Zabieg ten nie poci¹gn¹³ za sob¹ øadnych ujemnych skutkÛw. Podczas d³ugotrwa³ych testÛw emulator pracowa³ zawsze poprawnie, a†jego szybkoúÊ pracy moøna by³o uznaÊ za zadowalaj¹c¹. Jeøeli jednak ktoú chcia³by rygorystycznie przestrzegaÊ zasad podanych w†kartach katalogowych Atmela i†posiada³by kwarc o†czÍstotliwoúci podstawowej 7372800Hz, to moøe go bez problemu wykorzystaÊ w†uk³adzie emulatora. Naleøy jednak pamiÍtaÊ wtedy o (bezwzglÍdnie koniecznej) zmianie polecenia konfiguruj¹cego czÍstotliwoúÊ zegara systemowego. Zamiast: $crystal = 11059200
piszemy wtedy: $crystal = 7372800
Oczywiúcie, moøna takøe zastosowaÊ kwarc o†innej czÍstotliwoúci, np. 8MHz. Spowoduje to jednak znaczne zmniejszenie szybkoúci pracy emulatora oraz koniecznoúÊ zmiany nie tylko polecenia konfiguruj¹cego czÍstotliwoúÊ oscylatora, ale takøe okreúlaj¹cego szybkoúÊ transmisji. Dane potrzebne do jej okreúlenia zawarte s¹ w†tab. 2. Drugim uk³adem scalonym zastosowanym w†emulatorze jest popularny konwerter RS233/TTL, czyli znany chyba kaødemu elektronikowi MAX232. Za pomoc¹ tego uk³adu, wspieranego przez sprzÍtowy UART wbudowany w†strukturÍ procesora AT90S8535, moøemy nawi¹zaÊ ³¹cznoúÊ z†dowolnym komputerem wyposaøonym w†interfejs RS232. Naleøy jeszcze wspomnieÊ o†z³¹czu CON8, ktÛrego przeznaczenie by³o jak dot¹d zagadkowe. Z³¹cze to nie pe³ni w†uk³adzie øadnej uøytecznej funkcji i†pier-
WYKAZ ELEMENTÓW Kondensatory C1, C2: 27pF C3...C6: 4,7µF/10V C7: 100µF/10 C8: 100nF C9: 1µF/16V Rezystory R1: 10kΩ Półprzewodniki IC1: AT90S8535 IC2: MAX232 Różne CON1: 10x2 goldpin CON2: 14x2 goldpin CON3, CON4: 4x2 goldpin CON5, CON6: 20X2 goldpin Q1: rezonator kwarcowy 11,059MHz Wtyk emulacyjny 20 pin Wtyk emulacyjny 40 pin Wtyk zaciskany 20 pin Wtyk zaciskany 40 pin 0,5 m przewodu taśmowego 20 żył 0,5 m przewodu taśmowego 40 żył
wotnie mia³o byÊ wykorzystywane jedynie podczas testowania prototypu. Umoøliwia ono do³¹czenie do uk³adu programatora ISP i†przeprogramowywanie procesora bez koniecznoúci wyjmowania go z†podstawki. Poniewaø jednak to z³¹cze (ani na schemacie, ani na p³ytce) w†niczym nie przeszkadza, postanowi³em, podobnie jak w†przypadku innych opracowanych przeze mnie uk³adÛw z†procesorami AVR, nie usuwaÊ go. Moøe ono okazaÊ siÍ wielce uøyteczne dla tych uøytkownikÛw, ktÛrzy zechc¹ napisaÊ w³asn¹ wersjÍ programu.
Montaø i†uruchomienie Na rys. 3 pokazano rozmieszczenie elementÛw na p³ytce drukowanej emulatora. Ze wzglÍdu na znaczn¹ komplikacjÍ po³¹czeÒ p³ytka zosta³a zaprojektowana na laminacie dwustronnym z†metalizacj¹ otworÛw. Montaø uk³adu wykonujemy typowo, rozpoczynaj¹c od wlutowania w†p³ytkÍ dwÛch podstawek pod uk³ady scalone, a†koÒcz¹c na kondensatorach elektrolitycznych i†z³¹czach do przewodÛw taúmowych. Pomimo podjÍtych staraÒ, nie uda³o†mi siÍ jak dot¹d ìzlokalizowaÊî wtykÛw emulacyjnych przeznaczonych dla pro-
Elektronika Praktyczna 12/2001
Sprzętowy emulator procesorów AVR wtedy koniecznoúÊ lutowania z³¹cza DB25, a†potrzebne nam przewody bÍdziemy mogli zidentyfikowaÊ za pomoc¹ omomierza. Emulator nie posiada w³asnego uk³adu zasilaj¹cego, a†potrzebne do jego dzia³ania napiÍcie pobierane jest z†uruchamianego uk³adu mikroprocesorowego. Rys. 5. Komunikat powitalny wyświetlany w oknie terminala.
cesorÛw w†obudowach 8-pinowych. Nie jest to jednak wiÍkszy problem, poniewaø do emulacji tych chipÛw moøna z†powodzeniem wykorzystywaÊ wtyki 20pinowe, z†ktÛrych bÍdziemy wykorzystywaÊ tylko 8†koÒcÛwek. Z†pewnoúci¹ wtyk 20-pinowy o†znacznych wymiarach nie zawsze zmieúci siÍ na p³ytce projektowanej dla procesora z†oúmioma wyprowadzeniami, ale i†z†tym moøemy sobie poradziÊ stosuj¹c jedn¹ lub kilka po³¹czonych ze sob¹ podstawek precyzyjnych, ktÛrych zadaniem bÍdzie odsuniÍcie wtyku emulacyjnego od powierzchni p³ytki. Powaøny problem powstanie jedynie podczas przygotowywania wtyku emulacyjnego dla procesorÛw w†obudowach DIL28. Wtyki takie nie s¹ (chyba) produkowane, a†zast¹pienie ich elementami o†innej liczbie pinÛw nie jest moøliwe. Mam jednak wrÍcz nieograniczone zaufanie do pomys³owoúci CzytelnikÛw EP i†mam nadziejÍ, øe jakoú poradz¹ sobie z†tym problemem. Ostatni¹ czynnoúci¹ bÍdzie wykonanie kabla ³¹cz¹cego uk³ad emulatora z†komputerem. CzynnoúÊ t¹ moøemy sobie znacznie u³atwiÊ, jeøeli dysponujemy przewodem od uszkodzonej (øe nie powiem ìzdech³ejî) myszki. Odpadnie nam
Pos³ugiwanie siÍ emulatorem
Wykonany uk³ad emulatora ³¹czymy z†komputerem oraz z†uruchamianym uk³adem mikroprocesorowym. Jeøeli jeszcze takiego uk³adu nie posiadamy i†dopiero mamy zamiar go skonstruowaÊ, to do przetestowania poprawnoúci dzia³ania emulatora wystarczy, w†pierwszym etapie, doprowadziÊ do niego napiÍcie zasilania rÛwne +5VDC. NapiÍcie to doprowadzamy lutuj¹c przewody np. do wyprowadzeÒ kondensatora C7. Kolejn¹ czynnoúci¹ bÍdzie odpowiednie skonfigurowanie úrodowiska BASCOM-a. Najwaøniejsz¹ spraw¹ bÍdzie ustawienie szybkoúci transmisji na 115200bd. Parametr ten ustawiamy w†okienku OPTIONS>COMUNICATION> BAUDRATE, tak jak to zosta³o pokazane na rys. 4, a†nastÍpnie z†submenu TOOLS wybieramy opcjÍ TERMINAL EMULATOR. NastÍpnie musimy okreúliÊ, ktÛry port szeregowy bÍdzie wykorzystywany do obs³ugi emulatora. WiÍkszoúÊ wspÛ³czeúnie uøytkowanych komputerÛw PC posiada fabrycznie zainstalowane dwa porty szeregowe: COM1 i†COM2. Do jednego z†nich zazwyczaj jest na sta³e do³¹czona myszka. Drugi port pozostaje najczÍúciej niewykorzystany i†do niego w³aúnie do³¹czymy przewÛd transmituj¹cy dane do i†z†emulatora. Jednak po uruchomieniu programu moøe siÍ zdarzyÊ, øe np. myszka umieszczona zosta³a w†porcie COM1 i†na ten sam port zosta³ skonfigurowany monitor. Taka sytuacja prowadzi do natychmiastowego zawieszenia pracy myszy, a†my mamy wtedy dwa wyjúcia z†sytuacji. Moøemy przenieúÊ myszkÍ do drugiego portu i†ponownie uruchomiÊ komRys. 6. Widok okna sterującego pracą puter lub wykorzystuj¹c†tylemulatora.
Elektronika Praktyczna 12/2001
ko klawiaturÍ skonfigurowaÊ monitor do úledzenia wolnego aktualnie portu. Mamy teraz moøliwoúÊ sprawdzenia, czy poprawnie wykonaliúmy wszystkie po³¹czenia. £¹czymy port RS232 komputera z†emulatorem, a†nastÍpnie otwieramy okienko terminala interfejsu RS232. Musimy teraz wyzerowaÊ emulator (najlepiej poprzez zwarcie wyprowadzeÒ kondensatora C9). Jeøeli wykonaliúmy poprawnie wszystkie po³¹czenia i†skonfigurowaliúmy prawid³owo BASCOM-a, to na ekranie terminala powinien ukazaÊ siÍ komunikat powitalny (rys. 5). Od tego momentu emulator jest gotowy do pracy. Pos³ugiwanie siÍ emulatorem jest dziecinnie ³atwe. Do napisanego programu musimy dodaÊ tylko jedno polecenie konfiguracyjne: $SIM umieszczone na pocz¹tku kodu ürÛd³owego. UWAGA: przed kompilacj¹ programu przeznaczonego juø do umieszczenia w†procesorze naleøy polecenie $SIM bezwzglÍdnie usun¹Ê! NastÍpnie program kompilujemy i†naciskamy klawisz F2, co zaowocuje pojawieniem siÍ na ekranie okienka pokazanego na rys. 6. Naleøy teraz za pomoc¹ przycisku oznaczonego symbolem uk³adu scalonego uruchomiÊ emulacjÍ sprzÍtow¹, a†nastÍpnie rozpocz¹Ê wykonywanie programu (przycisk oznaczony strza³k¹). Zbigniew Raabe, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/grudzien01.htm.
25
P
R Dozownik O J E Kcieczy T Y
Dozownik cieczy Kit AVT−5044
Prezentowany uk³ad dozownika moøe byÊ zastosowany wszÍdzie tam, gdzie chcemy oszczÍdziÊ trochÍ wody. Jest to wiÍc urz¹dzenie proekologiczne przyczyniaj¹ce siÍ, co prawda w†niewielkim stopniu, do ochrony naszego úrodowiska naturalnego i†- co nie mniej waøne - do poprawienia kondycji naszego portfela.
Gdzie taki uk³ad dozownika moøna zastosowaÊ? Na przyk³ad moøe to byÊ automatyczny kran, dozuj¹cy okreúlon¹ iloúÊ wody po przeciÍciu bariery podczerwieni. Moøna go zastosowaÊ takøe do automatycznego nape³niania zbiornika na wodÍ na dzia³ce lub w†rÍcznych myjniach samochodowych. Oczywiúcie, dozownik moøna wykorzystaÊ do sterowania przep³ywem rÛwnieø innych cieczy. DziÍki prostej budowie nie powinien on stwarzaÊ k³opotÛw przy montaøu i†uruchamianiu. W†egzemplarzu modelowym zastosowano jako element regulacyjny elektromagnetyczny zawÛr wyjÍty ze starej pralki automatycznej. Zamiast niego moøna zastosowaÊ dowolny inny element wykonawczy o†podobnych w³asnoúciach.
Opis uk³adu
Rys. 1. Schemat blokowy dozownika cieczy.
Elektronika Praktyczna 12/2001
W†dozowniku moøemy wyodrÍbniÊ nastÍpuj¹ce bloki funkcjonalne (schemat blokowy pokazano na rys. 1): - mikrokontroler, - element wykonawczy (zawÛr), - czujnik do pomiaru poziomu cieczy (opcjonalny), - sterownik elementu wykonawczego, - nastawnik czasu dzia³ania. Schemat elektryczny dozownika przedstawiono na rys. 2. Dozownikiem lub przep³ywem cie-
czy ìzarz¹dzaî mikrokontroler ST62T10/20, bÍd¹cy ìsercemî urz¹dzenia. Uøyty w†uk³adzie zawÛr elektromagnetyczny typu 319 jest zasilany z†sieci energetycznej 220V/ 50Hz. Moøe on pracowaÊ przy ciúnieniu wody od 0,02 do 1MPa. Taki zawÛr moøna bez wiÍkszego trudu nabyÊ w†sklepach z†artyku³ami serwisowymi AGD. Sterowanie zaworem odbywa siÍ z†wyprowadzenia PA2 skonfigurowanego jako wyjúcie Push-pull Output. W†dozowniku mamy moøliwoúÊ opcjonalnego zastosowania dodatkowego zabezpieczenia w†postaci p³ywaka sprzÍgniÍtego z†mikrowy³¹cznikiem do³¹czonym do wejúcia PB4 Input with pull-up. Dozowanie jest inicjowane w†wyniku przerwania wi¹zki promieniowania podczerwonego (bariery podczerwieni) lub przez naciúniÍcie przycisku P1, ktÛry jest do³¹czony do wyprowadzenia PB6 Input with pull-up. Uk³ad bariery podczerwieni sk³ada siÍ z dwÛch czÍúci: toru nadawczego i†odbiorczego. Tor nadawczy wykonano w†oparciu o†uk³ad NE555 pracuj¹cy jako generator astabilny (wyzwalany przez procesor wyprowadzenie PB7 mikrokontrolera) steruj¹cy
27
Dozownik cieczy
Rys. 2. Schemat elektryczny dozownika cieczy.
tranzystorem T1 i†diod¹ nadawcz¹ D3. W torze odbiorczym zastosowano wzmacniacz na trzech tranzystorach. Wyjúcie wzmacniacza jest do³¹czone do wejúcia PB5 Input no pull-up mikrokontrolera. Do zerowania mikrokontrolera za-
28
stosowano specjalizowany uk³ad DS1813 wytwarzaj¹cy (poziom niski) impuls zeruj¹cy po w³¹czeniu zasilania i†zawsze wtedy, gdy napiÍcie zasilaj¹ce jest za niskie. W†uk³adzie zastosowano dozowanie czasowe polegaj¹ce na tym,
øe zawÛr lub pompa dzia³a w†okreúlonym przedziale czasu. Czas dzia³ania zaworu dobierany jest skokowo przez odpowiednie ustawienie zworek regulacyjnych ZW1...ZW3. Podczas pisania programu przyjÍto, øe czas dzia³ania
Elektronika Praktyczna 12/2001
Dozownik cieczy
Rys. 3. Schemat działania programu.
bÍdzie wynosi³ dla zworki ZW1 5s, ZW2 - 10s, ZW3 - 15s. Oczywiúcie, nic nie stoi na przeszkodzie aby dokonaÊ w†programie zmiany tych czasÛw stosownie do potrzeb. Praca dozownika sygnalizowana jest za pomoc¹ diod LED (D1 - PRACA i†D2 - NAPE£NIANIE), do³¹czonych do wyprowadzeÒ PA0 i†PA2 skonfigurowanych jako wyjúcia Push-pull Output. Zworki do³¹czane s¹ miÍdzy masÍ uk³adu a†wyprowadzenia PB1, PB2, PB3 skonfigurowane jako wejúcia Input with pull-up. Na naszej stronie internetowej (w dziale Download>Dokumentacje) znajduje siÍ plik ürÛd³owy kompletnego programu, ktÛry zosta³ napisany za pomoc¹ znanego czytelnikom Realizera. Na rys. 3 przedstawiony jest schemat blokowy programu, w†oparciu o†ktÛry przeanalizujemy dzia³anie uk³adu. RozpoczÍcie pracy uk³adu jest úciúle powi¹zane z†prac¹ mikrokontrolera i†rozpoczyna siÍ od restartu procesora w†chwilÍ po w³¹czeniu zasilania. Po tej operacji program mikrokontrolera wchodzi w†stan OCZEKIWANIE. W†tym stanie úwieci dioda PRACA, na wyj-
Elektronika Praktyczna 12/2001
úciu PB7 pojawia siÍ wysoki poziom napiÍcia uruchamiaj¹cy nadajnik podczerwieni. Wyprowadzenie mikrokontrolera ze stanu OCZEKIWANIE moøe nast¹piÊ dwoma sposobami: za pomoc¹ przycisku P1 lub przez przy³oøenie rÍki do uk³adu wyzwalania podczerwieni¹. Promieniowanie podczerwone, emitowane przez diodÍ D3, po odbiciu od zbliøaj¹cego siÍ obiektu (w tym przypadku rÍki) oúwietla diodÍ odbiorcz¹ D4. Powoduje to pojawienie siÍ wysokiego poziomu napiÍcia na wyjúciu toru odbiorczego, a†wiÍc i†na wejúcie PB5 mikrokontrolera. Wysoki poziom na wejúciu PB5 lub PB6 umoøliwia spe³nienie jednego z†warunkÛw: NAPELNIANIE_5s, NAPELNIANIE_10s lub NAPELNIANIE_15s. Aby jednak mÛg³ zostaÊ spe³niony jeden z†powyøszych warunkÛw naleøy zewrzeÊ jedn¹ ze zworek ZW1...ZW3 do masy. Zworki s¹ do³¹czone do wejúÊ steruj¹cych (1/ 0) multiplekserÛw MUX1. Spe³nienie jednego z†warunkÛw: NAPELNIANIE_5s, NAPELNIANIE_10s lub NAPELNIANIE_15s powoduje przejúcie mik-
rokontrolera w†jeden z†trzech stanÛw NAPE£NIANIE_5s/10s/15s. Pojawienie siÍ impulsu steruj¹cego na Stateout danego stanu pracy powoduje wygenerowanie przez Deloff CZAS_5_10_15s impulsu o†czasie trwania odpowiednio 5s, 10s, 15s. Impuls ten jest skierowany na wyjúcia cyfrowe (wyprowadzenia mikrokontrolera PA1, PA2) steruj¹ce prac¹ diody sygnalizacyjnej (LED_Nape³nianie) oraz optotriaka (OPT1). Z†chwil¹ zaniku generowanego przez Deloff wysokiego poziomu napiÍcia zostaje spe³niony warunek KONIEC powoduj¹cy przejúcie programu w†stan pocz¹tkowy OCZEKIWANIE. ZakoÒczenie pracy programu moøliwe jest rÛwnieø w†przypadku zadzia³ania opcjonalnego zabezpieczenia przed przelaniem pojemnika. Pojawienie siÍ wysokiego poziomu na wejúciu cyfrowym P2 POZIOM_PLYNU (w wyniku zadzia³ania czujnika poziomu) - rys. 3 - jest traktowane jak spe³nienie warunku KONIEC i†przejúcie programu w†stan OCZEKIWANIE. åwiec¹ca úwiat³em ci¹g³ym dioda PRACA zaczyna pulsowaÊ - jest
29
Dozownik cieczy dioda nadawcza moøe zak³ÛcaÊ (w†stanie spoczynku) pracÍ odbiornika. Moøe to powodowaÊ niekontrolowane zainicjowanie pracy mikrokontrolera i†w³¹czanie zaworu. Aby temu zapobiec naleøy boczne czÍúci obudowy diody nadawczej zamalowaÊ farb¹ zostawiaj¹c ods³oniÍt¹ tylko soczewkÍ. Dodatkowo moøemy przes³oniÊ diody filtrem wyjÍtym ze starego pilota telewizyjnego. W†zwi¹zku z†tym, øe uk³ad moøe zostaÊ wykorzystany w†warunkach duøej wilgotnoúci, p³ytkÍ warto zabezpieczyÊ przed kontaktem z†wilgoci¹. Najlepiej zastosowaÊ wodoszczelne obudowy, a†przede wszystkim zabezpieczyÊ úcieøki i†punkty lutownicze stosuj¹c specjalny lakier bezbarwny, doRys. 4. Rozmieszczenie elementów na stÍpny w†postaci aerozolu. płytkach drukowanych. Uruchomienie uk³adu dozowto informacja o†nape³nieniu zbiornika wymaga odpowiedniego ustanika. DopÛki na wejúciu POwienia czu³oúci uk³adu wyzwalaZIOM_PLYNU jest wysoki poziom nia podczerwieni¹ tak, aby zblinapiÍcia, ponowne uruchomienie øenie rÍki powodowa³o zadzia³azaworu jest niemoøliwe. nie dozownika. Nie naleøy uk³adu wyzwalania podczerwieni¹ oúwietMontaø i†uruchomienie laÊ bezpoúrednio úwiat³em, bo Dozownik zmontowano na moøe to spowodowaÊ zak³Ûcenia dwÛch p³ytkach drukowanych, w†pracy dozownika. Uk³ad wyz†ktÛrych jedna jest dwustronna, zwalania dobrze jest zainstalowaÊ druga jednostronna. Na rys. 4 diodami podczerwieni skierowapokazano ich schematy montaøonymi ku do³owi. Takie ustawienie we, a†wzÛr mozaiki úcieøek znaj- zapewnia doúÊ dobre warunki duje siÍ na wk³adce wewn¹trz pracy odbiornika podczerwieni. numeru oraz na naszej stronie Zwracamy uwagÍ na zachowainternetowej w†dziale PCB. nie szczegÛlnej ostroønoúci przy SzczegÛln¹ uwagÍ podczas monuruchamianiu urz¹dzenia ze taøu naleøy zwrÛciÊ na diody podwzglÍdu na zasilanie elektrozaczerwieni: nadawcz¹ i†odbiorcz¹. woru napiÍciem z†sieci 220V. W†zwi¹zku z†tym, øe pracuj¹ one Krzysztof Górski, AVT w†niewielkiej odleg³oúci od siebie,
[email protected]
30
WYKAZ ELEMENTÓW Rezystory R1, R2, R11, R14, R15: 3,9kΩ R3...R5, R12: 820Ω R6, R7: 120Ω R8: 22kΩ R9, R10: 100kΩ R13, R17: 1kΩ R16: 5,1kΩ R18: 15kΩ R19: 300kΩ Kondensatory C1, C5: 100µF/25V C2, C6: 47µF/16V C3, C4: 30pF C7: 10nF C8: 47nF C9...C11: 220nF Półprzewodniki T1: BD135 T2, T3: BC548 T4: BC556 D1, D2: LED D3: LED nad. D4: LED odb. TR1: BTA16−600B M1: mostek OPT1: MOC3020 US1: ST62T20/10 US2: DS1813 US3, US4: 78L05 US5: NE555 Różne B1: bezpiecznik 0,5A + oprawka ARK2/500 3 szt. Listwa goldpin 1x18 Przycisk reset φ5
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/grudzien01.htm.
Elektronika Praktyczna 12/2001
P Radiowy R O J pilot E KdoT PC Y
Radiowy pilot do PC AVT−5032
Pilot do PC, opracowany w†redakcyjnym laboratorium, cieszy siÍ wúrÛd naszych CzytelnikÛw zaskakuj¹co duøym powodzeniem. Okaza³o siÍ, øe obszar moøliwych zastosowaÒ tego pilota jest tak szeroki, øe zastosowane w†nim medium transmisyjne - promieniowanie podczerwone - jest w niektÛrych aplikacjach lub warunkach nieodpowiednie. Aby temu zaradziÊ postanowiliúmy zaprojektowaÊ tego pilota w nowej wersji, tym razem wykorzystuj¹cej fale radiowe.
Elektronika Praktyczna 12/2001
Sterowanie pewnymi funkcjami komputera za pomoc¹ podczerwieni jest stosunkowo ³atwe, ale posiada jedn¹ wadÍ: moøliwe jest tylko wtedy, kiedy pomiÍdzy nadajnikiem i†odbiornikiem nie ma øadnych wiÍkszych przeszkÛd stanowi¹cych zaporÍ dla promieniowania podczerwonego. To w³aúnie ograniczenie jest w†pewnych warunkach bardzo uci¹øliwe. Posiadam komputer wyposaøony w†kartÍ graficzn¹ z†wyjúciem TV i†napÍdem DVD, ktÛry czÍsto wykorzystujÍ do ogl¹dania filmÛw. Jeøeli film ma byÊ ogl¹dany tylko przez jedn¹ osobÍ, to nie ma problemu: moøna w†tym celu wykorzystaÊ monitor komputera, zapewniaj¹c sobie jednoczeúnie niepowtarzaln¹ jakoúÊ obrazu. Sprawa komplikuje siÍ, kiedy projekcjÍ ma obejrzeÊ kilka osÛb i†kiedy godz¹c siÍ z†nieuniknion¹ strat¹ jakoúci obrazu, ogl¹damy filmy na ekranie telewizora. Telewizor umieszczony jest w†drugim pokoju, w†odleg³oúci ok. 6†metrÛw od komputera i†odgrodzony od niego úcian¹. Wykorzystanie pilota na podczerwieÒ sta³o siÍ niemoøliwe, a†czÍste przechodzenie do drugiego pokoju w†celu dokonania jakichkolwiek regulacji czy chociaøby wstrzymania na chwilÍ projekcji by³o bardzo uci¹øliwe. Powyøszy problem zosta³, ku uciesze rodziny, rozwi¹zany w†bardzo prosty sposÛb. Do sterowania komputerem postanowi³em zaprojektowaÊ pilota na fale radiowe. Konstruuj¹c prosty nadajnik i†odbiornik uda³o mi siÍ zaoszczÍdziÊ
spor¹ sumÍ pieniÍdzy albo przynajmniej od³oøyÊ na jakiú czas wydatek rzÍdu 4†tysiÍcy z³otych, bo tyle w³aúnie kosztuje dobry stacjonarny odtwarzacz DVD lub drugi komputer w†przyzwoitej konfiguracji. W†przeciwieÒstwie do uk³adu zdalnego sterowania pracuj¹cego w†podczerwieni (konstrukcja AVT5033 opisana w EP11/2001), nie zrezygnowa³em tym razem z†projektowania pilota - nadajnika radiowego. Takiego uk³adu z†pewnoúci¹ nie moøna kupiÊ gotowego i†dlatego bÍdziecie musieli trochÍ pomÍczyÊ siÍ z†wykonaniem obudowy do samodzielnie zmontowanego pilota.
Opis dzia³ania Do przekazywania danych drog¹ radiow¹ wykorzysta³em modu³y nadawczo - odbiorcze w³oskiej firmy Telecontrolli. Zastosowanie tych modu³Ûw radykalnie uproúci³o konstrukcjÍ nadajnika i†odbiornika i†spowodowa³o, øe jest
33
Radiowy pilot do PC
Rys. 1. Schemat elektryczny nadajnika radiowego.
on moøliwy do wykonania nawet przez zupe³nie nie obeznanych z†radiotechnik¹ elektronikÛw. Obydwa modu³y wykonane zosta³y w†cienkowarstwowej technologii hybrydowej i†dostrojone s¹ do obowi¹zuj¹cej (w Polsce) dla tego rodzaju urz¹dzeÒ czÍstotliwoúci 433,92MHz. Umoøliwiaj¹ szeregow¹ transmisjÍ danych cyfrowych z†maksymaln¹ czÍstotliwoúci¹ 2kHz. Podczas testÛw okaza³o siÍ, øe umoøliwiaj¹ one ³¹cznoúÊ nawet do 100 i†wiÍcej metrÛw, ale pod warunkiem, øe pomiÍdzy nadajnikiem i†odbiornikiem nie znajduj¹ siÍ øadne przeszkody mog¹ce w†znacz¹cym stopniu t³umiÊ fale radiowe. W†terenie zabudowanym oraz wewn¹trz pomieszczeÒ zasiÍg jest trudny do przewidzenia, ale moøna przyj¹Ê, øe nie bÍdzie mniejszy niø 10...15m. Modu³y te by³y juø opisywane w†EP i†dlatego podam tylko ich najwaøniejsze parametry (tab. 1).
34
Do bezpoúredniej transmisji danych zosta³y wykorzystane popularne i†wielokrotnie juø stosowane w†naszych projektach uk³ady HT12E i†HT12D, ktÛre umoøliwiaj¹, niezaleønie od sprawdzenia kodu transmisji i†zasygnalizowania jego zgodnoúci w†nadajniku i†odbiorniku, przekazanie czterech bitÛw dowolnych danych. WspÛ³dzia³anie kodera i†dekodera przebiega nastÍpuj¹co: nadajnik (koder) wysy³a kody adresowe, a†odbiornik porÛwnuje je z†w³asnymi i†jeøeli dwa kolejne porÛwnania wypadaj¹ pozytywnie, to na wyjúciu TX/RX pojawia siÍ poziom wysoki. Wys³ane nastÍpnie przez nadajnik czterobitowe s³owo zostaje przekazane na wyjúcia danych dekodera i†utrzymuje siÍ tam (zostaje zatrzaúniÍte w†buforze wyjúciowym) do czasu odebrania nowej, waønej transmisji z†nowymi danymi. Po ustaniu transmisji wyjúcie TX/RX powraca do
poziomu niskiego. Do bezpoúredniego przekazywania danych z†dekodera do komputera zosta³ zastosowany procesor typu AT89C1051. Na rys. 1 pokazano schemat nadajnika - pilota transmituj¹cego dane na falach radiowych. Jedynym, trochÍ rozbudowanym fragmentem tego uk³adu jest klawiatura, do³¹czona do kodera HT12E za pomoc¹ matrycy zbudowanej aø z†34 diod. Taka komplikacja uk³adu zosta³a spowodowana koniecznoúci¹ jednoczesnego w³¹czania napiÍcia zasilaj¹cego i†podawania kodu wysy³anego polecenia na wejúcia D1...D4 kodera. Naleøy zauwaøyÊ, øe naciúniÍcie ktÛregokolwiek z†klawiszy powoduje nie tylko wymuszenia poziomÛw niskich na odpowiednich wejúciach IC1, ale takøe po³¹czenie ujemnego bieguna baterii zasilaj¹cej (GND) z†mas¹ uk³adu (GND). Poniewaø wejúcie zezwolenia kodera - !TE jest na sta³e po³¹czone z†mas¹, uk³ad rozpoczyna pracÍ natychmiast po w³¹czeniu zasilania, podaj¹c na wejúcie danych nadajnika Q1 ci¹g impulsÛw zawieraj¹cych kod naciúniÍtego klawisza. Sygna³ pobierany z†wyjúcia DOUT kodera wykorzystywany jest do kluczowania pracy nadajnika radiowego Q1. Opiszemy teraz uk³ad odbiorczy, ktÛrego schemat przedstawiono na rys. 2. Sk³ada siÍ on zaledwie z†trzech uk³adÛw scalonych. Zadaniem dekodera IC2 jest dekodowanie ci¹gu impulsÛw nadchodz¹cych z†odbiornika radioweTab. 1. Podstawowe parametry modułów RT1 i RR4. Nadajnik RT1 Częstotliwość fali nośnej nadajnika dostarczane− go na polski rynek: ......... 433,92MHz ±0,5MHz, Napięcie zasilania: ............................ 9...14VDC, Pobierany prąd: ......................................... 3mA, Maksymalna częstotliwość transmisji danych: ...................................................... 4kHz, Wymiary: ......................................... 7,6x19mm, Nadajnik nie wymaga stosowania zewnętrznej anteny. Odbiornik RR4 Odbiornik superreakcyjny o stałej częstotliwości odbioru Częstotliwość robocza odbiornika dostarczane− go na polski rynek: ......... 433,92MHz ±0,2MHz, Napięcie zasilania: ................................... 5VDC, Pobierany prąd: ...................................... 2,5mA, Napięcie wyjściowe: ................................... TTL, Czułość: ............................. −105dBm (2,2µVrms) Maksymalna częstotliwość transmisji danych: ...................................................... 2kHz, Antena: odcinek przewodu długości kilkunastu centymetrów.
Elektronika Praktyczna 12/2001
Radiowy pilot do PC
Rys. 2. Schemat elektryczny odbiornika radiowego.
go RR4 - Q1. W dekoderze nastÍpuje porÛwnanie dwÛch kolejno odebranych kodÛw adresowych i†jeøeli te porÛwnania wypadaj¹ pozytywnie, to na wyjúciu TX/RX powstaje poziom niski. WÛwczas wys³ane przez nadajnik czterobitowe s³owo zostaje przekazane na wyjúcia danych dekodera i†utrzymuje siÍ tam (zostaje ìzatrzaúniÍteî w†buforze wyjúciowym) do czasu odebrania nowej, waønej transmisji z†nowymi danymi.
Odebrane przez dekoder dane analizowane s¹ nastÍpnie przez procesor 89C2051 i†poprzez uk³ad MAX232 kierowane do komputera. Zastosowanie procesora by³o konieczne, poniewaø bez tego elementu nie bylibyúmy w†stanie nawi¹zaÊ ³¹cznoúci z†portem szeregowym komputera. By³o to rozwi¹zanie najprostsze, ale trochÍ szkoda mi tego procesora. Program steruj¹cy jego prac¹ jest tak prosty, øe moøliwoúci tego 20-pinowego
List. 1. $crystal = 11059200 'określenie częstotliwości oscylatora wewnętrznego procesora $baud = 9600 'określenie szybkości transmisji danych Dim Code As Byte Reset P1.1 'włącz diodę LED Waitms 100 'zaczekaj 100 ms Set P1.1 'wyłącz diodę LED Print “Nice to see you” 'wyświetl komunikat powitalny (widoczny tylko na ekranie 'terminala podczas testowania układu) Do If P3.2 = 1 Then Reset P1.1 Code = 0 Code.0 = P3.7 Code.1 = P3.5 Code.2 = P3.4 Code.3 = P3.3 Print Code Waitms 200 Set P1.1 End If Loop
'początek pętli bez końca 'jeżeli została odebrana ważna transmisja, to: 'włącz diodę LED 'nadanie wartości najmłodszemu bitowi zmiennej CODE 'nadanie wartości kolejnemu bitowi zmiennej CODE 'nadanie wartości kolejnemu bitowi zmiennej CODE 'nadanie wartości najstarszemu bitowi zmiennej CODE 'wysłanie do portu RS232 komputera odebranej komendy 'zaczekaj 200ms 'wyłącz diodę LED
Elektronika Praktyczna 12/2001
uk³adu pozostaj¹ niewykorzystane. No cÛø, mamy za to sporo wolnego miejsca w†pamiÍci procesora, ktÛre moøemy przeznaczyÊ do ewentualnej rozbudowy uk³adu. Kilka linijek programu, przedstawionych na list. 1 wystarcza, aby komputer otrzymywa³ nadane z†radiowego pilota informacje.
Montaø i†uruchomienie Na rys. 3 i†4 pokazano rozmieszczenie elementÛw na p³ytkach obwodÛw drukowanych nadajnika i†odbiornika, wykonanych na laminacie dwustronnym z†metalizacj¹ otworÛw. Montaø nadajnika rozpoczynamy od mozolnego wlutowania w†p³ytkÍ 34 diod i†rezystora. Do scalonego uk³adu kodera wyj¹tkowo nie stosujemy podstawki, ale lutujemy go bezpoúrednio w†p³ytkÍ. Ostatni¹ czynnoúci¹ montaøow¹ bÍdzie wlutowanie w†p³ytkÍ 12 przyciskÛw. Uk³ad nadajnika powinien byÊ zasilany napiÍciem sta³ym o†war-
35
Radiowy pilot do PC dajnika nie pod³¹czone. Ustawienie adresu bÍdzie konieczne tylko w†przypadku, kiedy pos³ugiwaÊ siÍ bÍdziemy dwoma nadajnikami radiowymi wykorzystuj¹cymi kodery HT12E, bo zapobiegnie wzajemnemu zak³Ûcaniu siÍ dwÛch urz¹dzeÒ.
Oprogramowanie
Rys. 3. Schemat montażowy płytki nadajnika.
toúci oko³o 12V, np. z†baterii 12V przeznaczonej do pracy w†pilotach do samochodowych uk³adÛw alarmowych. Uk³ad odbiornika montujemy podobnie, jak odbiornik przeznaczony do wspÛ³pracy z†nadajnikiem kodu RC5. P³ytka tego uk³adu zosta³a zwymiarowana pod obudowÍ Z24, do ktÛrej po umieszczeniu w†niej p³ytki, moøemy zamocowaÊ krÛtk¹ antenÍ, pochodz¹c¹ z†jakiegoú niewielkiego odbiornika radiowego. AntenÍ do³¹czamy do punktu oznaczonego na p³ytce stosownym napisem. Odbiornik powinien byÊ zasilany napiÍciem stabilizowanym +5VDC, najlepiej pobieranym z†game portu komputera. SposÛb pod³¹czenia zasilania zosta³ dok³adnie opisany w†artykule o†pilocie do WinAmpa (EP8 i 9/2001). Zmontowany ze sprawdzonych elementÛw uk³ad nie wymaga jakiegokolwiek uruchamiania ani regulacji, z†wyj¹tkiem ustawienia kodÛw adresÛw, identycznych w†nadajniku i†w†odbiorniku. Kod w†nadajniku i†w†odbiorniku ustawiamy ³¹cz¹c z†mas¹, z†plusem zasilania lub pozostawiaj¹c nie pod³¹czone koÒcÛwki A0...A7 uk³adu kodera i dekodera. Po³¹czenia wykonujemy za pomoc¹ kropelek cyny nak³adanych na specjalnie powiÍkszone punkty lutownicze na spodniej stronie p³ytki. Ustawianie adresÛw nie jest w†zasadzie konieczne i†rÛwnie dobrze moøemy pozostawiÊ wszystkie wejúcia adresowe odbiornika i†na-
36
Uøytkownikom pilota do PC chcia³bym poleciÊ program o†nazwie DRCS (Dalton Remote Control Software www.dalton-electronics.com/DRCS. Jest to program o†wrÍcz fantastycznych moøliwoúciach, umoøliwiaj¹cy nie tylko sterowanie odtwarzaczami muzyki i†p³yt DVD, ale takøe wieloma funkcjami Windows ze sterowaniem ruchami myszki w³¹cznie. Program ten naleøy do kategorii freeware, tak wiÍc moøecie korzystaÊ z†niego bez øadnych ograniczeÒ. Wielk¹ jego zalet¹ jest to, øe nie jest on zwi¹zany z†konkretnym odbiornikiem. Po prostu, przechwytuje on sygna³y docieraj¹ce do wskazanego portu COM i†interpretuje je zgodnie z†naszym øyczeniem. Natomiast pewn¹ wad¹ programu jest doúÊ skomplikowana obs³uga. Program DRCS dystrybuowany jest w†postaci pliku ZIP o†objÍtoúci ok. 200kB. Po rozpakowaniu tego pliku umieszczamy jego zawartoúÊ w†dowolnym katalogu, a†poniewaø program DRCS nie wymaga instalacji, na tym koÒczymy czynnoúci przygotowawcze. Po pierwszym uruchomieniu programu moøemy pobawiÊ siÍ nim chwilÍ, obejrzeÊ przyk³adowe zestawy komend dostarczone przez producenta. NastÍpnie proponowa³bym skasowaÊ plik DRCS.DAT lub przenieúÊ go do innego katalogu niø ten, w†ktÛrym zosta³ zainstalowany program. Pozwoli nam to na rozpoczÍcie konfigurowania programu od samego pocz¹tku, co zawsze jest prostsze niø poprawianie ìgotowcÛwî dostarczonych przez producenta. Zanim jednak rozpoczniemy dzia³ania zwi¹zane z†dostosowaniem do naszych potrzeb i†eksploatacj¹ programu DRCS, musimy odpowiednio ustawiÊ jego konfiguracjÍ. W†tym celu klikamy OPTIONS\SETTINGS, co owocuje ukazaniem siÍ na ekranie ma³ego okna konfiguracyjnego (rys. 5). Ustawiamy w†nim kolejno:
Rys. 4. Schemat montażowy płytki odbiornika.
1. COM port: port COM2 lub COM1, ten do ktÛrego nie jest do³¹czona myszka. 2. Speed: 9600 baud. 3. Data bits: 8. 4. Parity: None (brak kontroli parzystoúci). 5. Stop bit: 1 bit stopu. Pozosta³e parametry moøliwe do ustawienia w†okienku konfiguracyjnym pozostawiamy na razie bez zmian. Musimy teraz omÛwiÊ ogÛln¹ ìfilozofiÍî programu DRCS. Program ten operuje trzema podstawowymi pojÍciami: 1. REMOTE, co z†pewnym przybliøeniem moøemy przet³umaczyÊ jako ìpilotî. PamiÍtajmy jednak, øe pilot w†programie DRCS jest wy³¹cznie pojÍciem wirtualnym i†jest zwi¹zany z†naszym pilotem - nadajnikiem za pomoc¹ dodatkowych elementÛw programowych. 2. ASSIGNMENT, co moøemy okreúliÊ jako ìprzyciskî wirtualnego pilota, ktÛry jednak bÍdzie mia³ swÛj odpowiednik na klawiaturze naszego pilota. 3. FUNCTION, czyli czynnoúÊ jak¹ program ma wykonaÊ po naciúniÍciu przycisku pilota wirtualnego, czyli po³¹czonego z†nim poprzez ³¹cze RS232 i†transmisjÍ sygna³Ûw w³aúciwego pilota radiowego. Liczba pilotÛw, jakie moøemy zdefiniowaÊ w†programie DRCS nie
Rys. 5. Widok panelu konfiguracyj− nego łącza szeregowego programu DRCS.
Elektronika Praktyczna 12/2001
Radiowy pilot do PC pierwszym z†nich powinien byÊ klawisz w³¹czaj¹cy ìzasilanieî playera DVD i†od niego w³aúnie rozpoczniemy definiowanie klawiatury. Klikamy kolejno na ASSIGNMENT i†ADD, co powoduje ukazanie siÍ okienka widocznego na rys. 9. Tekst w†okienku zaprasza nas do naciúniÍcia klawisza w†pilocie, ktÛremu chcemy podporz¹dkowaÊ dan¹ funkcjÍ. Oczywiúcie, tym razem nie jest to juø pilot wirtualny, ale nadajnik Rys. 6. Przykładowa konfiguracja kilku wirtualnych pilotów w programie DRCS. za pomoc¹ ktÛrego bÍjest ograniczona, podobnie jak liczwanie mog³o dawaÊ wiÍksze moødziemy zdalnie obs³ugiwaÊ odtwaba klawiszy w†jakie zostanie wyliwoúci i†wiÍkszy komfort ogl¹darzacz DVD. Po naciúniÍciu wybraposaøony kaødy z†pilotÛw. Moøenia filmÛw DVD. Oczywiúcie, innego przycisku okienko zachÍty my zatem tworzyÊ sobie osobne, ne odtwarzacze niewiele mu ustÍznika, a†na jego miejscu pojawia w³¹czane z†poziomu programu puj¹, a†spoúrÛd nich szczegÛlnie siÍ okno z†wykazem wirtualnych DRCS piloty do kaødej aplikacji wart jest polecenia FreeDVD, darklawiszy, jakie mamy juø do Windows, ktÛra moøe wymagaÊ mowy program ktÛry úci¹gn¹Ê dyspozycji. Oczywiúcie, jak na zdalnego sterowania. Moøemy moøna z†www.mapleware.com/ razie mamy tylko jeden klawisz, utworzyÊ oddzielne piloty do jedfreedvd. ktÛremu powinniúmy nadaÊ jak¹ú nego lub kilku odtwarzaczy DVD, PracÍ rozpoczniemy od dok³adnazwÍ, np. POWER ON (rys. 10). jakie mamy zainstalowane w†sysnego zapoznania siÍ z†programem, Pojawia siÍ teraz nastÍpny temie, do tunera TV i†radiowego, ktÛrego dzia³aniem bÍdziemy zdalproblem do rozwi¹zania: mamy do prezentacji multimedialnych, nie sterowaÊ. W†szczegÛlnoúci mujuø zdefiniowany pierwszy klawyúwietlania slajdÛw i†wielu insimy poznaÊ wszystkie skrÛty klawisz, ale naciskanie przypisanego nych aplikacji. Wyj¹tkiem bÍd¹ tu wiaturowe s³uø¹ce do jego obs³ugi mu przycisku w†pilocie (tym reodtwarzacze plikÛw MP3, ktÛre i†najlepiej zapisaÊ sobie te inforalnym, nie wirtualnym) jak na nie mog¹ byÊ sterowane za pomomacje. Dla przyk³adu podam wyrazie nic nie da. Potrzebne jest c¹ skrÛtÛw klawiaturowych. Sterobrane skrÛty stosowane w†odtwajeszcze zdefiniowanie funkcji, jawanie ich w†ten sposÛb np. podrzaczu Power DVD: k¹ ma pe³niÊ dany przycisk wirczas pracy nad tekstem umilanej - PLAY (odtwarzaj) klawisz ENtualnego pilota. A†zatem, klikamy s³uchaniem muzyki by³oby bardzo TER, kolejno TOOLS i†DEFINE FUNCniewygodne. Jednak do tych pro- NEXT (nastÍpny akt filmu) klaTIONS i†po pojawieniu siÍ kolejgramÛw istniej¹ specjalne plugwisz N, nego okienka wybieramy opcjÍ iny, umoøliwiaj¹ce zdalne sterowa- PREVIOUS (poprzedni akt filNEW (nowa funkcja) i†nadajemy nie z†pominiÍciem klawiatury. mu) klawisz P, jej jak¹ú nazwÍ. NastÍpnie musiWracajmy jednak do konfiguro- PAUSE (pauza) klawisz spacji, my okreúliÊ, jaka w³aúciwie czynwania programu DRCS. Na rys. 6 - POWER (koniec ogl¹dania filnoúÊ ma byÊ zwi¹zana z t¹ funpokazano w†sposÛb pogl¹dowy pomu) klawisze CTRL + X†itd. kcj¹. Otwieramy okienko oznaczowi¹zanie pomiÍdzy wirtualnymi W†nastÍpnym etapie pracy ne ACTIONS i†rozwija siÍ menu pilotami, ich przyciskami i†pe³naleøy utworzyÊ w†pronionymi przez nie funkcjami. Nagramie DRCS nowego pileøy jeszcze dodaÊ, øe liczba lota, ktÛremu moøemy nazdefiniowanych funkcji jest dodaÊ dowoln¹ nazwÍ, np. wolna i†øe mog¹ one byÊ wykoPower DVD. W†celu utworzystywane przez kilka pilotÛw rzenia pilota klikamy koi†przyciskÛw. lejno REMOTE i†NEW, Przyk³adowym programem, do a†nastÍpnie podajemy ktÛrego ìdobudujemyî uk³ad zdalz†klawiatury wybran¹ nanego sterowania bÍdzie popularny zwÍ (rys. 8). program odtwarzania p³yt DVD Mamy juø wirtualnego Power DVD, jeden z†lepszych propilota, ale jego takøe wirgramÛw w†tej klasie (rys. 7). tualna klawiatura jest jak Uøywam go od dawna i†nie s¹dzÍ, na razie pozbawiona przyaby jakiekolwiek inne oprogramociskÛw. Zgodnie z†logik¹, Rys. 7. Okno odtwarzacza Power DVD.
Elektronika Praktyczna 12/2001
37
Radiowy pilot do PC
Rys. 8. Okno definiowania nazwy nowego sterownika.
z†rozmaitymi rodzajami akcji, jakie moøna przyporz¹dkowaÊ utworzonej funkcji. Do wyboru mamy: 1. Simulate keyboard (symulacja naciskania klawiszy klawiatury PC). 2. Simulate mouse (symulacja ruchÛw myszki i†naciskania jej klawiszy). 3. Execute a†file (otwÛrz program), z†ktÛrej za chwilÍ skorzystamy. 4. Min/max/restore (minimalizacja i†maksymalizacja okienek WINDOWS). 5. Switch between applications (prze³¹czanie aktywnych aplikacji). 6. Change volume (zmieÒ si³Í g³osu). 7. Stop computer (wy³¹cz komputer). 8. Execute functions (wykonaj inne funkcje). Poniewaø funkcja, ktÛr¹ obecnie redagujemy ma s³uøyÊ uruchamianiu programu Power DVD wybieramy opcjÍ Execute a†file. W†okienku pojawia siÍ wÛwczas wolne pole, w†ktÛre moøemy wpisaÊ nazwÍ pliku, ktÛry chcemy otworzyÊ i†úcieøkÍ dostÍpu do niego. Poniewaø najczÍúciej nie pamiÍtamy wszystkich elementÛw pe³nej úcieøki dostÍpu do pliku, a†niekiedy nawet jego nazwy, wy-
Rys. 9. Okno nauczania programu kodów poleceń.
38
godnie bÍdzie skorzystaÊ z†opcji BROWSE, dziÍki ktÛrej moøemy zawsze odszukaÊ potrzebny plik na dysku. Po zdefiniowaniu funkcji powracamy do okienka aktualnie opracowywanego pilota i†klikamy prawym przyciskiem myszki na uprzednio zdefiniowanym klawiszu POWER ON. Wybieramy opcjÍ PROPERTIES i†nastÍpnie FUNCTION. Z†panelu FUNCTION TO EXECUTE wybieramy POWER ON i†na tym koÒczymy definiowanie pierwszego klawisza wirtualnego pilota. Wprawdzie jak na razie moøemy tylko otworzyÊ program odtwarzaj¹cy bez moøliwoúci jego sterowania, ale warto juø teraz sprawdziÊ czy wszystkie czynnoúci wykonaliúmy poprawnie. W†tym celu musimy jeszcze tylko uaktywniÊ program DRCS klikaj¹c kolejno FILE i†ENABLE. NastÍpnie naciskamy ten przycisk w†pilocie, ktÛry przeznaczyliúmy do uruchamiania odtwarzacza. Jeøeli podczas pierwszego etapu konfigurowania DRCS nie pope³niliúmy b³Ídu, to po sekundzie na ekranie monitora powinna pojawiÊ siÍ strona tytu³owa odtwarzacza. Nie bÍdziemy tu omawiaÊ ca³ego procesu konfigurowania pilota obs³uguj¹cego odtwarzacz DVD. Zajͳoby to zbyt wiele miejsca, nie ucz¹c nas niczego nowego. Podam Wam tylko jeszcze jeden przyk³ad: w†jaki sposÛb zdefiniowaÊ jedn¹ z†funkcji obs³ugi playera poprzez symulowanie klawiatury PC. Weümy na przyk³ad
Rys. 10. Definiowanie nazwy polecenia związanego z odebranym kodem.
WYKAZ ELEMENTÓW Nadajnik Rezystory R1: 1,5MΩ Kondensatory C1: 220nF Półprzewodniki D1...D34: 1N4148 IC1: HT12E Różne Q1: nadajnik RT1 S1...S12: mikroprzełączniki Odbiornik Rezystory R1: 510kΩ R2: 1kΩ R3: 10kΩ Kondensatory C1, C2: 27pF C3...C7: 4,7µF/16V C8: 100nF C9: 100µF/10V Półprzewodniki D1: dioda LED IC1: AT89C2051 (zaprogramowany) IC2: HT12D IC3: MAX232 Różne CON1: ARK2 (3,5mm) Q1: odbiornik radiowy RR4 Q2: rezonator kwarcowy 11,059MHz
funkcjÍ PLAY, ktÛr¹ z†oczywistych powodÛw musimy uøyÊ bezpoúrednio po uruchomieniu odtwarzacza. KolejnoúÊ postÍpowania jest podobna, jak w†poprzednim przypadku, a†rÛønica polega na wyborze rodzaju akcji, ktÛra ma byÊ wykonana. Zamiast ìExecute a†fileî wybieramy ìSimulate keyboardî i†po otwarciu nowego okienka naciskamy ten klawisz, ktÛry w†omawianym przypadku bÍdzie powodowa³ rozpoczÍcie odtwarzania filmu, czyli klawisz ENTER. Dalsze klawisze definiujemy w†podobny sposÛb, aø do wyczerpania moøliwoúci jakie daje nam nasz odtwarzacz (lub do wykorzystania wszystkich klawiszy w†pilocie). Zbigniew Raabe
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/grudzien01.htm.
Elektronika Praktyczna 12/2001
Lampowy korektor audio
Prezentowany w†artykule lampowy przedwzmacniaczprocesor düwiÍku moøe stanowiÊ modu³, ktÛry moøna wstawiÊ w†³aÒcuch modu³Ûw systemu stereo. Zapewnia on ìlampoweî brzmienie düwiÍku przy niskim napiÍciu zasilania.
Elektronika Praktyczna 12/2001
Wielu audiofili lubi ìlampoweî brzmienie düwiÍku, ale od kupna lampowego wzmacniacza audio odstrÍcza ich jego cena, a†od w³asnorÍcznej budowy stosowane w†nim wysokie napiÍcie. Opisany w artykule uk³ad lampowy jest rodzajem procesora efektÛw düwiÍkowych (w³aúciwie ogranicznikiem sygna³u przy przesterowaniu) i†przedwzmacniaczem, nadaj¹cym systemowi audio brzmienie lampowe. Zastosowano w†nim lampy elektronowe pracuj¹ce przy napiÍciu nie przekraczaj¹cym
±12V. Uk³ad ten moøe przybliøyÊ nam technikÍ lampow¹. Uk³ad charakteryzuje siÍ nastÍpuj¹cymi cechami: - poziom ograniczania ustala siÍ jednym potencjometrem dla obu kana³Ûw stereo, - wyjúciowe kondensatory sprzÍgaj¹ce nie s¹ potrzebne, - symetria kaødej z†lamp jest dobierana indywidualnie, - napiÍcie wyøsze od ±12V nie jest potrzebne, - uzyskujemy autentyczne brzmienie lampowe,
39
mu ca³oúci. NastÍpstwa tych praktyk s¹ znane z†dyskusji w†prasie technicznej (m.in. w†Elektor Electronics) o†przesterowywanych nagraniach CD i†tego konsekwencjach. Celem stosowania przedwzmacniacza, spe³niaj¹cego jednoczeúnie funkcjÍ obcinacza lampowego, jest ograniczanie sygna³u przy okreúlonym poziomie maksymalnym. Lampy dokonuj¹ tego w†sposÛb ³agodny, nie obcinaj¹ napiÍcia tak ostro jak wprowadzane w†nasycenie tranzystory. W†miarÍ wzrostu napiÍcia lampa stopniowo zaczyna ograniczaÊ sygna³. DziÍki temu otrzymuje siÍ poø¹dan¹, ³agodn¹ i†g³adk¹ krzyw¹ ograniczania. Z†analizy obcinanego w†ten sposÛb sygna³u wynika, øe powstaj¹ jedynie harmoniczne o†ca³kowitych wielokrotnoúciach czÍstotliwoúci podstawowej. Dla muzyka jest oczywiste, øe takie harmoniczne nie wywo³uj¹ dysonansÛw. Natomiast powstaj¹ce przy ostrym obcinaniu widmo harmonicznych o†nieca³kowitych wielokrotnoúciach wywo³uje zupe³nie odmienny skutek. Obcinacz lampowy modyfikuje, co prawda düwiÍk nagraÒ CD, ale dokonuje tego w†sposÛb nie raø¹cy dla ucha s³uchacza, rÛønica w†stosunku do orygina³u jest subiektywnie mniej zauwaøalna. Zapytajcie gitarzystÛw, dlaczego trzymaj¹ siÍ swoich wzmacniaczy lampowych. Przesterowanie wrÍcz poprawia jakoúÊ düwiÍku gitary elektrycznej.
Opis uk³adu
Rys. 1. Schemat elektryczny przedwzmacniacza lampowego z lampami pracującymi z prądem siatki przy bardzo niskim napięciu anodowym.
- optyczna sygnalizacja obcinania sygna³u wejúciowego.
Zasada dzia³ania Myúl, øe sygna³ audio mÛg³by nie byÊ wiernie odtwarzany przez g³oúniki, jest nie do przyjÍcia dla kaødego audiofila. CÛø wiÍc moøe robiÊ w†systemie hi-fi prezentowany procesor audio? Dlaczego
40
technika lampowa staje siÍ ponownie popularna? Przyczyn trzeba szukaÊ juø w†studiu. DüwiÍk na p³ytach CD rzadko jest zapisywany i†miksowany ze szczegÛln¹ starannoúci¹. Zwykle wystÍpuj¹ce w†sygnale muzycznym düwiÍkowe piki napiÍciowe nie s¹ obcinane dla osi¹gniÍcia lepszego stosunku sygna³u do szu-
Na rys. 1 pokazano schemat przedwzmacniacza-ogranicznika lampowego. G³Ûwnymi elementami w†kaødym z†kana³Ûw stereo s¹ podwÛjna trioda ECC83 i†poczwÛrny wzmacniacz operacyjny TL074. Trzeci TL074 s³uøy do kontroli napiÍÊ siatkowych lamp i†do sterowania wskaünikami LED. Sygna³ audio jest najpierw doprowadzany do wtÛrnika napiÍciowego (bÍd¹cego w istocie przetwornikiem impedancji: duøej wejúciowej na ma³¹ wyjúciow¹) U1.A, a†z jego wyjúcia do siatki pierwszej triody B1.A. Lampa ta pracuje w†uk³adzie wtÛrnika katodo-
Elektronika Praktyczna 12/2001
a)
b)
Rys. 2. Charakterystyki przedwzmacniacza.
wego, z†anod¹ zasilan¹ napiÍciem +12V (bez rezystora w obwodzie anodowym). Sygna³ na rezystorze katodowym 6,8kΩ jest zatem w†fazie z†sygna³em wejúciowym. ObwÛd z†potencjometrem i†wzmacniaczem U3.D tworzy buforowane ürÛd³o napiÍciowe, polaryzuj¹ce ujemnie katodÍ w†stosunku do siatki. Pierwsza trioda obcina tylko dodatnie piki sygna³u wejúciowego, U1.B odwraca sygna³, a†druga trioda w†taki sam sposÛb obcina piki ujemne. Podobnie U1.C odwraca sygna³, a†stosunek rezystancji 39k Ω i†33kΩ ustala niewielkie wzmocnienie (nieco ponad 1V/V) obu wzmacniaczy operacyjnych, kompensuj¹ce straty amplitudy w†uk³adzie. Poziom sygna³u wyjúciowego (jeúli nie zosta³ obciÍty) nie odbiega wiÍc od poziomu sygna³u wejúciowego. Wzmacniacz U1.C wraz z integratorem U1.D s³uø¹ do sterowania nastÍpnym stopniem systemu, ktÛrym moøe byÊ koÒcowy wzmacniacz mocy. Sk³adowa sta³a
Rys. 3. Układ pomiarowy do zdejmowania charakterystyk lamp.
Elektronika Praktyczna 12/2001
napiÍcia wyjúciowego jest poprzez obwÛd ca³kuj¹cy U1.D podawana na nieodwracaj¹ce wejúcie U1.C, co powoduje kompensacjÍ tej sk³adowej, sprowadzaj¹c j¹ w†ten sposÛb do zera. Pozwala to unikn¹Ê koniecznoúci stosowania wyjúciowego kondensatora szeregowego. Jeøeli sygna³ wejúciowy obcinacza jest wolny od sk³adowej sta³ej, ca³y uk³ad moøe dzia³aÊ bez kondensatorÛw sprzÍgaj¹cych. Drugi kana³, z†B2 i†U2, jest skonstruowany identycznie jak pierwszy. Wzmacniacz operacyjny U3.D tworzy niskoimpedancyjne ürÛd³o zasilania katod lamp, o†napiÍciu regulowanym za pomoc¹ potencjometru. Dwa potencjometry dostrojcze pozwalaj¹ zsymetryzowaÊ uk³ad, kompensuj¹c rÛønice napiÍÊ w†kana³ach, wynikaj¹ce z†tolerancji wartoúci parametrÛw elementÛw biernych i†lamp. Sygna³y wejúciowe i†wyjúciowe s¹ dostÍpne w†punktach A†do D. S³uø¹ one do wysterowania wskaünika z³oøonego ze wzmacniaczy operacyjnych U3.A, U3.B, U3.C i†podwÛjnej LED. LED úwieci zielono, gdy sygna³ nie jest obcinany, øÛ³to, gdy obcinanie zachodzi w†jednym tylko kanale, a†czerwono, gdy obcinaj¹ obie lampy ECC83. Sygna³y wejúciowe i†wyjúciowe s¹ prostowane przez diody i†wyg³adzane przez kondensatory, ktÛre ³aduj¹ siÍ do napiÍÊ szczytowych i†roz³adowuj¹ powoli. U3.A i†U3.B s¹ komparatorami, ktÛrych napiÍcia wyjúciowe staj¹ siÍ dodatnie lub ujemne, w†zaleønoúci od tego czy napiÍcie wejúciowe jest wyøsze od wyjúciowego, czy nie (czyli gdy obcinanie zachodzi lub nie). NapiÍcia
wyjúciowe komparatorÛw s¹ rezystorowo sumowane i†steruj¹ czerwon¹ LED, a takøe s¹ podawane na wejúcie inwertera U3.C, steruj¹cym zielon¹ LED. Jeúli wiÍc obcinanie nie zachodzi, úwieci zielona LED. Jeúli zachodzi w†jednym kanale, czerwona LED úwieci takøe, co w†sumie wywo³uje úwiecenie øÛ³to-pomaraÒczowe. Jeúli zaú obcinanie zachodzi w†obu kana³ach, zielona LED gaúnie i†pozostaje úwiat³o czerwone. Niewielkie napiÍcie dodatnie w†punkcie E†powoduje, øe przy bardzo ma³ym sygnale audio úwieci zielona LED. Ogranicznik-przedwzmacniacz lampowy moøna zasilaÊ z zasilacza stabilizowanego ±12V, z†ktÛrego zasila siÍ takøe øarzenie lamp ECC83 (ewentualnie ECC81 lub ECC88). Po jego zmontowaniu i†sprawdzeniu oraz po ustawieniu zerowego poziomu obcinania, moøna go w³¹czyÊ, sprawdziÊ napiÍcia w†poszczegÛlnych wÍz³ach i†porÛwnaÊ je z†podanymi na schemacie. Pozostaje jeszcze wyregulowanie symetrii obu kana³Ûw za pomoc¹ generatora napiÍcia sinusoidalnego i†potencjometrÛw nastawczych. Uk³ad bÍdzie wtedy gotowy do uøytku.
Rys. 4. Przykładowe charakterystyki Ia=f(Ua).
41
Jego charakterystyki przy 8 rÛønych poziomach obcinania (od wykresu dla braku zniekszta³ceÒ do przebiegu dla maksymalnego obcinania) pokazano na rys. 2a. Na rys. 2b przytoczono odpowiadaj¹ce im charakterystyki zniekszta³ceÒ. Najmniejsze zniekszta³cenia, bez obcinania, wynosz¹ oko³o 0,02%. Przy maksymalnym obcinaniu, jak moøna by³o oczekiwaÊ, s¹ najwiÍksze, powyøej 30%.
Charakterystyki lamp W†opisanym uk³adzie lampy pracuj¹ w†bardzo nietypowy dla nich sposÛb. Bowiem nie tylko w†zakresie wyj¹tkowo niskich napiÍÊ (dopuszczalne dla nich napiÍcie anodowe wynosi 250V), ale dodatkowo w†zakresie (bardzo rzadko stosowanych) dodatnich wzglÍdem katody napiÍÊ siatki, a†wiÍc przy przep³ywie pr¹du siatkowego (siatki steruj¹cej). Charakterystyki w†tym zakresie nie s¹ w†ogÛle specyfikowane w†danych katalogowych, trzeba wiÍc je sa-
42
memu wyznaczyÊ, aby zorientowaÊ siÍ w†ich przebiegu. Charakterystyki te moøna wyznaczyÊ w†uk³adzie, jak na rys. 3, maj¹c do dyspozycji trzy multimetry i†dwa zasilacze. Trzeba jednak przy tym zachowaÊ duø¹ ostroønoúÊ przy zwiÍkszaniu dodatniego, wzglÍdem katody, napiÍcia siatki steruj¹cej, ³atwo bowiem wtedy doprowadziÊ do jej przegrzania. Mierz¹c pr¹d anodowy w†funkcji napiÍcia siatki, przy sta³ym napiÍciu anody, otrzymuje siÍ charakterystyki wyjúciowe lampy, jak na rys. 4. Trzy krzywe widoczne na rysunku, otrzymane przy trzech rÛønych napiÍciach siatki, wykazuj¹ pocz¹tkowo szybki, a†w†miarÍ wzrostu napiÍcia anodowego coraz wolniejszy, wzrost pr¹du anodowego. Zwi¹zane jest to z tzw. nasyceniem, czyli przechwytywaniem przez anodÍ wiÍkszoúci elektronÛw emitowanych przez katodÍ. EE
Od t³umacza Uk³ad w†bardzo pomys³owy sposÛb wykorzystuje pr¹d siatki triody, przy bardzo niskim napiÍciu anodowym, do ì³agodnegoî obcinania i†wydaje siÍ poprawnie wykonany. W†opisie podano organoleptyczne uzasadnienie ìwyøszoúciî lampowej techniki audio nad tranzystorow¹ - lampowe wzmacniacze ìmilej zniekszta³caj¹î (bo ³agodnie) niø tranzystorowe. To warto zapamiÍtaÊ. Artyku³ publikujemy na podstawie umowy z wydawc¹ miesiÍcznika "Elektor Electronics". Editorial items appearing on pages 39..42 are the copyright property of (C) Segment B.V., the Netherlands, 1998 which reserves all rights.
Elektronika Praktyczna 12/2001
P
R
O Modem J E V.22bis K T Y
Modem V.22bis, część 2 AVT−5043 W†drugiej czÍúci artyku³u przedstawiamy sposÛb montaøu i†uruchomienia modemu. Zastosowanie specjalizowanego uk³adu, ktÛry realizuje wszystkie podstawowe funkcje modemu spowodowa³o, øe te - czÍsto ømudne czynnoúci nie bÍd¹ zbyt trudne nawet dla pocz¹tkuj¹cych elektronikÛw.
Montaø i†uruchomienie Schemat montaøowy modemu pokazano na rys. 7. Zaprojektowano dla niego dwustronn¹ p³ytkÍ drukowan¹ z†metalizacj¹. Jej wymiary mog¹ budziÊ protest niektÛrych CzytelnikÛw EP, poniewaø przy tak duøym stopniu wyspecjalizowania zastosowanego uk³adu scalonego moøna by³o spodziewaÊ siÍ znacznej miniaturyzacji urz¹dzenia. Usprawiedliwieniem dla autora niech bÍdzie przedstawione na pocz¹tku artyku³u wyjaúnienie, øe celem by³o przede wszystkim zaprezentowanie moøliwoúci oferowanych przez nowoczesne uk³ady modemowe, ktÛrych docelowym przeznaczeniem s¹ zminiaturyzowane aplikacje teletransmisyjne. Wykonany w†naszym laboratorium model ma przede wszystkim s³uøyÊ do testowania uk³adu Z02215. Montaø urz¹dzenia jest typowy. Pod uk³ady scalone warto zastosowaÊ podstawki, a w†przypadku uk³adu US4 nie mamy innego wyjúcia. W†zaleønoúci od typu przekaünikÛw zastosowanych
Elektronika Praktyczna 12/2001
w†modemie moøna unikn¹Ê montowania diod D6, D14 i†D15, ktÛrych najwaøniejszym zadaniem jest t³umienie przepiÍÊ indukowanych w†cewkach przekaünikÛw podczas ich kluczowania. W†egzemplarzu modelowym jako US3 zastosowano trudno dostÍpny uk³ad TAS237 w†ìszerokiejî obudowie DIP24. Aby omin¹Ê trudnoúci ze zdobyciem tego uk³adu, p³ytki dostarczane w†zestawach bÍd¹ umoøliwia³y takøe montaø uk³adÛw MAX237, ktÛre s¹ dostarczane tylko w†ìw¹skichî obudowach DIP24. Jedynym elementem wymagaj¹cym zastosowania zewnÍtrznego radiatora jest stabilizator US2.
Oprogramowanie narzÍdziowe Jak wczeúniej wspomniano, Zilog udostÍpni³ na swojej stronie program narzÍdziowy z†graficznym interfejsem uøytkownika, nosz¹cy nazwÍ BiQuad. Za jego pomoc¹ moøna dobraÊ przebieg charakterystyki amplitudowej (rys. 8) i†fazowej (rys. 9) toru analogowego modemu, dziÍki czemu moøna go dostosowaÊ do lokalnych zaleceÒ telekomu-
43
Modem V.22bis
Rys. 7. Schemat montażowy płytki drukowanej.
nikacyjnych. Plik wynikowy przygotowany za pomoc¹ tego programu naleøy skompilowaÊ za pomoc¹ programu Diplomat, ktÛry jest udostÍpniany przez lokalnych dystrybutorÛw tej firmy (w Polsce jest to Eurodis). Diplomat jest narzÍdziem sterowanym tekstowo, pracuj¹cym w†systemie operacyjnym DOS lub DOS-owym okienku Windows. Standardowo Diplomat jest wyposaøony w†12 tabel krajowych (niestety bez Polski), lecz skomponowanie w³asnej wymaga stosunkowo prostego zabiegu - jak to poka-
zano na rys. 10. Program steruj¹cy DSP w†postaci HEX jest dostarczany wraz z†programem Diplomat, a†tekstowo opisan¹ tablicÍ krajow¹ moøna utworzyÊ - jak to wspomniano wczeúniej - za pomoc¹ programu BiQuad. Jak pokaza³y prowadzone przez nas doúwiadczenia, modem doskonale spisuje siÍ w†praktyce bez koniecznoúci modyfikowania bazowej charakterystyki, chociaø naleøy siÍ spodziewaÊ, øe nie jest ona dok³adnie taka, jak wymagaj¹ krajowe normy telekomunikacyjne.
Rys. 8. Widok ekranu programu BiQuad z wyświetloną charakterystyką amplitudową.
44
Uwagi koÒcowe Algorytm steruj¹cy wbudowanym w†uk³ad Z02215 procesorem steruj¹cym obs³uguje szeúÊ podstawowych stanÛw pracy, ktÛre pokazano na rys. 11. W†stanie IDLE czÍúÊ DSP (odpowiadaj¹ca za nadawania i†odbiÛr sygna³Ûw) nie jest aktywna, pracuje natomiast interpreter poleceÒ AT. Do stanu DIALING modem przechodzi po otrzymaniu odpowiednich poleceÒ AT. W†tym stanie uk³ad wybiera w†zadany sposÛb numer abonenta docelowego.
Rys. 9. Widok ekranu programu BiQuad z wyświetloną charakterystyką fazową.
Elektronika Praktyczna 12/2001
Modem V.22bis WYKAZ ELEMENTÓW Rezystory R1: 100Ω R2, R21, R22: 10kΩ R3, R20: 100kΩ R4: 1kΩ R5, R6: 220Ω R7: 7,5kΩ R8: 47kΩ R9: 100Ω R10, R11, R12: 24Ω R13...R19: 470Ω Kondensatory C1, C23, C30, C38: 10µF/16V C2: 10nF C3, C4, C14, C24, C25, C26, C31...C37: 100nF C5, C6: 1pF/1kV C7: 33nF C8: 470nF C9...C12, C16...C21, C33: 1µF/16V C13: 1000µF/25V C15: 2,2µF/16V C27, C28: 68pF C29: 82pF C39: 470µF/10V Półprzewodniki Q1, Q2: BC547 US1: MAX232
Interpreter poleceÒ AT nie jest aktywny. W†kolejnym stanie - HANDSHAKE - uaktywnia siÍ blok DSP, ktÛry odpowiada za poprawne nawi¹zanie transmisji danych. Etap ten jest potrzebny kaødorazowo tylko podczas nawi¹zywania po³¹czenia. Interpreter poleceÒ AT w†stanie HANDSHAKE nie dzia³a. Po uzgodnieniu przez modemy protoko³Ûw transmisji, uk³ad steruj¹cy w†Z02215 prze³¹cza go w†stan ON-LINE, w†ktÛrym moøliwa jest transmisja danych. W†stanie ON-LINE dzia³a interpreter niektÛrych poleceÒ AT, za pomoc¹ ktÛrych moøna prze³¹czyÊ
US2: LM7805 US3: MAX237 US4: Z02215 US5: LM386 US6: 4N35 US7: 24C04 US8: 74HCT04 D1, D2: diody Zenera 3,9V D3, D4: 1N4742 lub podobne D5: 1N4148 D6, D14, D15: 1N4148 montowane opcjonalnie D7...D13: dowolne diody LED M1: mostek prostowniczy min. 500mA/50V Różne SW1: mikroprzełącznik X1: 24,576MHz J1: gniazdo zasilania CON1: DB25 SPK: miniaturowy głośnik o impedancji min. 8Ω AV1: warystor 75V K1, K2, K3: przekaźniki podobne do TQ2−5V L1, L2: dławiki 100nH T1: transformator telefoniczny 600/600
uk³ad steruj¹cy w†stan COMMAND. Stan ten jest podobny do IDLE (tzn. dzia³a interpreter poleceÒ AT) z†t¹ rÛønic¹, øe po³¹czenie pomiÍdzy modemami jest ca³y czas aktywne. Ostatni ze stanÛw aktywnoúci bloku steruj¹cego w†Z02215 - RETRAIN - odpowiada za okresow¹ synchronizacjÍ transmisji, ktÛra moøe byÊ zak³Ûcona przez zmianÍ parametrÛw linii telefonicznej lub wystÍpuj¹ce w†niej zak³Ûcenia. W†stanie RETRAIN jest aktywny interpreter poleceÒ AT, natomiast procesor DSP nie przekazuje i†nie odbiera danych. Uk³ad Z02215 obs³uguje wszystkie standardowe polecenia AT, ktÛrych format musi mieÊ postaÊ ATxxx
, gdzie xxx oznacza ci¹g znakÛw odpowiadaj¹cych poleceniu (np. ATH0, ATR). KoÒcowy znak przeniesienia karetRys. 10. Zastosowanie programu Diplomat.
Elektronika Praktyczna 12/2001
Rys. 11. Możliwe stany pracy układu Z02215.
ki sygnalizuje interpreterowi koniecznoúÊ wykonanie polecenia. Znaki wystÍpuj¹ce przed AT s¹ ignorowane, a†maksymalna liczba znakÛw wystÍpuj¹cych po prefiksie AT moøe wynosiÊ 40. SzczegÛ³owy wykaz poleceÒ wraz z†ich sk³adni¹ i†parametrami znajduje siÍ w†dokumentacji uk³adu Z02215, ktÛr¹ producent udostÍpnia na swojej stronie internetowej. Tomasz Jakubik, AVT Dodatkowe informacje o†uk³adach Z02215 s¹ dostÍpne w†Internecie pod adresami: - http://www.zilog.com/docs/modem/z02215.ppt, - http://www.zilog.com/docs/modem/z02215pb.pdf, - http://www.zilog.com/docs/modem/z02215ps.pdf, - http://www.zilog.com/docs/modem/software/z0221500zco.exe. Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/grudzien01.htm.
45
Przetwornica P R O J E 12(24)/220V K T Y
Przetwornica 12(24)/220V, część 2 Zestaw Velleman K3507/K3509 W†drugiej czÍúci artyku³u przedstawiamy krÛtki opis montaøu i†uruchomienia przetwornicy. Przedstawiamy takøe wyniki przeprowadzonych w†naszym laboratorium badaÒ.
Montaø i†uruchomienie Nie mam zamiaru poúwiÍcaÊ zbyt wiele miejsca opisowi montaøu przetwornicy. Do kitu K3507, podobnie jak do innych kitÛw Vellemana, do³¹czona jest niezwykle szczegÛ³owa instrukcja, omawiaj¹ca punkt po punkcie montaø uk³adu. W†instrukcji tej wymienione s¹ kolejno wszystkie elementy, z†ktÛrych zbudowana jest przetwornica oraz kolejnoúÊ ich wlutowania w†p³ytkÍ. Elementy, ktÛrych sposÛb montowania mÛg³by
wzbudziÊ w¹tpliwoúci, zosta³y dodatkowo oznaczone, a†ich montaø omÛwiony szczegÛ³owo. Pomocne bÍd¹ takøe rysunki, ktÛrych szczegÛ³owoúÊ i†liczba mog¹ z†powodzeniem zast¹piÊ opis techniczny. Naleøy zwracaÊ baczn¹ uwagÍ na elementy o wartoúciach zaleønych od napiÍcia zasilania przetwornicy (wersja 12 i†24V), a†takøe na sposÛb zamocowania niektÛrych rezystorÛw duøej mocy, dok³adnie pokazany na do³¹czonych do instrukcji ilustracjach. Takøe o†uruchamianiu przetwornicy niewiele moøna napisaÊ, a†to z†tej prostej przyczyny, øe nie Tab. 1. Podstawowe parametry przetwornicy Obciążenie wyjścia
Napięcie wyjściowe
0W 226VAC 40W 219VAC 100W 215VAC 150W 211VAC 200W 209VAC 250W 205VAC 300W 60V* * zadziałało zabezpieczenie przeciwprzeciąże− niowe)
46
Elektronika Praktyczna 12/2001
Przetwornica 12(24)/220V WYKAZ ELEMENTÓW Rezystory R1: 10MΩ R2...R12, R46: 10kΩ R13, R14: 1MΩ R15: 4,7MΩ R17: 47kΩ R18, R19: 100Ω R20, R21: 100kΩ R22: 470kΩ R23...R25: 3,3kΩ R26: 1,2kΩ R27...R29: 10Ω R30: 820Ω R31: 27kΩ R33: 10kΩ R35: 1kΩ R36: 56kΩ R37: 16kΩ R38: 2,7kΩ R39: 10kΩ R40: 560kΩ R41, R43, R44: 1,8Ω R42: 1Ω Dla wersji 12V R16: 47kΩ R32: 1,5kΩ
musimy wykonywaÊ øadnych czynnoúci uruchomieniowych ani regulacyjnych. Przetwornica do³¹czona do zasilania i†odbiornika energii dzia³a natychmiast poprawnie. Jedyn¹ czynnoúci¹ jak¹ wykonaliúmy po jej w³¹czeniu by³y pomiary, ktÛrych celem by³o sprawdzenie danych technicznych podanych przez producenta kitu. Ich rezultaty, potwierdzaj¹ce w†za-
Elektronika Praktyczna 12/2001
R34: 8,2kΩ R45: 1Ω Dla wersji 24V R16: 39kΩ R32: 3,3kΩ R34: 3,3kΩ R45: 82...220Ω Kondensatory C1, C2: 22pF C3: 1nF C4...C7: 10nF C8: 100nF C9...C13: 2,2µF C14: 33µF C15: 100µF C16: 1000µF C17: 47µF C18: 2200µF C19, C20: 22nF Półprzewodniki D1...D14: 1N4148 D15, D16: 1N4007 D17: 6A6 D18...D21 BYT56K, BYV36D IC1: 4060 IC2: 4017
sadzie te dane, s¹ przedstawione w†tab. 1. Testy wykonywane by³y przy zasilaniu przetwornicy z†akumulatora Yuasa NP12-12 o†pojemnoúci 12Ah. NapiÍcie na zaciskach akumulatora nie spad³o nigdy poniøej 12V, potwierdzaj¹c jego przydatnoúÊ do krÛtkotrwa³ego zasilania opisanej przetwornicy. W†wiÍkszoúci zastosowaÒ polecalibyúmy
IC3: 4009 IC4: SG3525 IC5: LM324 T1, T2: MPSA44, BF844 T3...T6: IRF740 ZD1: dioda Zenera 3,9V LD1: dioda LED czerwona LD2: dioda LED zielona Dla wersji 12V ZD2, ZD3: dioda Zenera 62V ZD4: zastąpić zworą VR1: 7812 T7, T8: BUZ345, RFG40N10 Dla wersji 24V ZD2, ZD3: dioda Zenera 130V ZD4: dioda Zenera 3,9V VR1: 7815 T7, T8: BUZ341, IRFP250 Różne Kwarc 2,4576 MHz L1: dławik 220µH Obudowa, liczne elementy montażowe: Dla wersji 12V Transformator TR3507 Dla wersji 24V Transformator TR3509
jednak akumulator o†wiÍkszej pojemnoúci, najlepiej akumulator samochodowy. Zbigniew Raabe, AVT Zestawy firmy Velleman s¹ dostÍpne w†ofercie handlowej AVT - szczegÛ³y w†Internecie www.sklep.avt.com.pl oraz pod numerami telefonÛw opublikowanych na str. 111.
47
Sprzętowy P R O J dekoder E K T MP3 Y
Sprzętowy dekoder MP3, część 2 Drug¹ czÍúÊ artyku³u poúwiÍcamy przybliøeniu tajnikÛw prototypowej konstrukcji sprzÍtowego dekodera MP3, ktÛrego ìmÛzgiemî jest jeden z†najbardziej rozpowszechnionych (co nie oznacza ³atwo dostÍpnych) uk³adÛw dekoduj¹cych: STA013 firmy STMicroelectronics.
Opis uk³adu Prototypowy model dekodera MP3 sk³ada siÍ z†dwÛch zasadniczych fragmentÛw, ktÛre s¹ zmontowane na osobnych p³ytkach drukowanych: - dekodera-konwertera strumienia cyfrowego z†postaci SCR na ìczystyî format I2S, ktÛry zintegrowano z†przetwornikiem audio C/A i†miniaturowym wzmacniaczem s³uchawkowym, - mikroprocesorowego sterownika,
Rys. 6. Schemat elektryczny dekodera−konwertera.
48
ktÛry odpowiada za obs³ugÍ interfejsu uøytkownika (w modelu wyúwietlacz alfanumeryczny 2x8 znakÛw o†identycznym jak 1x16), a†takøe za ekstrakcjÍ danych z†plikÛw MP3 zapisanych w†pamiÍci MMC i†przes³anie ich do dekodera STA013. Schemat elektryczny dekoderakonwertera pokazano na rys. 6. Jak ³atwo zauwaøyÊ, jest to standardowa aplikacja uk³adu STA013, zalecana przez producenta do stosowania w†aplikacjach klasy popularnej. Uk³ad US3 jest standardowym przetwornikiem C/A o†rozdzielczoúci 18 bitÛw. Sygna³ audio w†postaci cyfrowej jest podawany na wejúcie I2S, a†po konwersji do postaci analogowej (z filtrowaniem za pomoc¹ wewnÍtrznego filtru dolnoprzepustowego) jest podawany na wejúcie miniaturowego wzmacniacza audio wykonanego na uk³adzie US4. Regulacja g³oúnoúci, balansu i†barwy düwiÍku odbywa siÍ programowo poprzez interfejs I 2C, ktÛrego styki wyprowadzono na miniaturowe z³¹cze 4stykowe Zl1. Cyfrowy sygna³ audio oraz sygna³y synchronizuj¹cego jego transmisjÍ wyprowadzono na z³¹cze Zl2. PomiÍdzy uk³ad US2 i†z³¹cze Zl2 w³¹czono prosty bufor sk³adaj¹cy siÍ z†szeregowo po³¹czonych inwerterÛw chodz¹cych w sk³ad uk³ad US1. Uk³ad ten jest niskonapiÍciowym odpowiednikiem znanego z†serii TTL uk³adu 7404. Dioda úwiec¹ca D1 sygnalizuje miganiem pracÍ inter-
Elektronika Praktyczna 12/2001
Sprzętowy dekoder MP3 fejsu szeregowego wykorzystywanego do transmisji danych, przy czym jest monitorowany sygna³ sygnalizuj¹cy oprÛønienie 5-bajtowego bufora wejúciowego w†uk³adzie US2. Obszar adresowy rejestrÛw dostÍpnych poprzez interfejs I2C obejmuje aø 128 rejestrÛw. OprÛcz czterech spoúrÛd nich skrÛtowo wczeúniej opisanych, uk³ad STA013 wyposaøono w†szereg innych rejestrÛw, wúrÛd ktÛrych szczegÛlnej uwagi wymagaj¹ rejestry odpowiadaj¹ce za konfiguracjÍ uk³adu. Ich zawartoúÊ naleøy ustaliÊ kaødorazowo po programowym lub sprzÍtowym zerowaniu uk³adu w†okreúlonej przez producenta kolejnoúci. Na rys. 7 pokazano schemat elektryczny mikroprocesorowego sterownika odtwarzacza. Jego najwaøniejszym elementem jest mikrokontroler US6 z†rodziny ST72, ktÛrego zadaniem jest konfigurowanie scalonego dekodera MP3, obs³uga alfanumerycznego wyúwietlacza LCD W1 oraz klawiatury sk³adaj¹cej siÍ z†piÍciu przyciskÛw S1...S5. S³uø¹ one do
regulacji g³oúnoúci gÛra/dÛ³, zmiany utworu (o jeden w†przÛd/ w†ty³) i†uruchamiania/zatrzymywania odtwarzania. W†modelu prototypowym nie przewidziano moøliwoúci ìprzewijaniaî utworÛw, poniewaø pojemnoúÊ pamiÍci programu mikrokontrolera US6 nie by³a wystarczaj¹ca dla programu, ktÛry nie by³ poddany optymalizacji. Przybliøone szacunki wykazuj¹ jednak, øe prawdopodobnie bÍdzie moøliwe zaimplementowanie takøe tej funkcji. Poniewaø realna szybkoúÊ pracy rdzenia mikrokontrolera jest stosunkowo niewielka, nie jest moøliwa jednoczesna (w czasie rzeczywistym) obs³uga klawiatury, wyúwietlacza, odczyt i†obrÛbka danych z†karty pamiÍciowej MMC oraz ich przesy³anie do dekodera. Konieczne by³o zatem zastosowanie uk³adu pomocniczego US5, ktÛry zapewnia sprzÍtow¹ obs³ugÍ przesy³u danych z†karty pamiÍciowej do dekodera, po wczeúniejszym usuniÍciu z†odczytywanych pakietÛw danych innych niø audio. Transkoder zaimplementowano w†niskonapiÍ-
ciowym uk³adzie PLD EPM7032A, ktÛry moøe pracowaÊ z†zasilaniem 3V.
Uwagi koÒcowe Oprogramowanie dla prezentowanego w†artykule systemu opracowano za pomoc¹ pakietu programowego YaVa firmy Innoveda. Jest to oprogramowanie umoøliwiaj¹ce jednoczesne tworzenie programu dla mikrokontrolera i†jednoczesne przydzielanie wybranych zadaÒ dla modu³Ûw sprzÍtowych implementowanych w†strukturach programowalnych (hardware-software co-design). Podobne pakiety programowe oferuj¹ takøe producenci uk³adÛw PSoC (Programmable System on a†Chip), m.in.: Atmel i†Triscend, a†takøe producenci narzÍdzi uniwersalnych, jak Mentor Graphics, Altium, czy teø Innoveda. Program ürÛd³owy do projektu sprzÍtowego dekodera MP3 jest dostÍpny na stronie internetowej EP w†dziale Download>Dokumentacje. Jeøeli wúrÛd naszych CzytelnikÛw znajda siÍ chÍtni na przeprowadzenie prÛb z†samym deko-
Rys. 9.
Rys. 7. Schemat elektryczny mikroprocesorowego sterownika odtwarzacza.
Elektronika Praktyczna 12/2001
49
Sprzętowy dekoder MP3 derem, jest to moøliwe do przeprowadzenia pod warunkiem wykonania dodatkowego interfejsu o†stosunkowo prostej budowie. Zosta³ on szczegÛ³owo opisany w†nocie aplikacyjnej AN1090 (dokument 6256.pdf), podobnie do oprogramowania steruj¹cego i†konfiguracji systemu (niezbÍdne s¹ dwa komputery PC). Nota aplikacyjna AN1090 jest dostÍpna w†Internecie pod adresem: http://eu.st.com/ stonline/books/pdf/docs/6526.pdf. Informacje o†adresach, pod ktÛrym jest dostÍpne oprogramowanie steruj¹ce i†konfiguracyjne podaliúmy na koÒcu artyku³u. Modelowy egzemplarz dekodera zmontowano na dwÛch p³ytkach uniwersalnych, z†wykorzystaniem (w wiÍkszoúci przypadkÛw) podzespo³Ûw SMD. Ze wzglÍdu na trudnoúci w†zdobyciu niewielkich iloúci podzespo³Ûw biernych o†poø¹danych wymiarach (nieco juø przestarza³e 0805) nie powsta³ kompletny zestaw docelowych p³ytek drukowanych. Jak wspomniano w†pierwszej czÍúci artyku³u (EP10/2001), kit dekodera MP3 nie bÍdzie dostÍpny w†ofercie AVT, co jest spowodowane duøymi trudnoúciami ze zdobyciem niezbÍdnych podzespo³Ûw. Trwaj¹ dalsze prace nad sprzÍtowym dekoderem MP3, w†ktÛrym rolÍ pamiÍci bÍdzie spe³nia³ dysk twardy lub napÍd CD-ROM. Poniewaø w†tym przypadku zarzuciliúmy ambitne ìpomys³yî podzespo³owe, ze zdobyciem elementÛw do nowej wersji dekodera nie bÍdzie tak duøych problemÛw, co pozwoli wprowadziÊ go do produkcji. O†postÍpach bÍdziemy oczywiúcie informowaÊ. Andrzej Gawryluk, AVT Oprogramowanie konfiguracyjne oraz steruj¹ce uk³adem STA013 jest dostÍpne w†Internecie pod adresem: - http://eu.st.com/stonline/prodpres/dedicate/mp3/sw/sta013sd.zip, - http://eu.st.com/stonline/prodpres/dedicate/mp3/sw/sta013tx.zip, - http://eu.st.com/stonline/prodpres/ dedicate/mp3/sw/p02_0609.bin, - http://eu.st.com/stonline/prodpres/ dedicate/mp3/sw/dvi_0705.zip, - http://eu.st.com/stonline/prodpres/dedicate/mp3/sw/cpll.exe.
50
WYKAZ ELEMENTÓW Płytka dekodera Rezystory R1...R4: 4,7kΩ R5, R6: 10kΩ R7: 8,2kΩ R8: 1kΩ R9, R12, R13: 4,7Ω R10: 1,2Ω R11: 1MΩ R14, R15: 1kΩ R16, R17, R20, R21: 56kΩ R18, R19: 2,7kΩ R22, R23: 10kΩ Kondensatory C1, C5: 10nF C2: 4,7nF C3: 470pF C4, C6, C7, C10, C12, C13, C15, C16: 100nF C8, C9: 47pF C11, C18, C24, C25: 10µF/6V C14: 47µF/6V C17, C19, C20, C21: 100µF/6V C22, C23: 330nF C26, C27: 680pF Półprzewodniki US1: 74LVX04 (SOP14) US2: STA013 (TQFP44) US3: CS4331 (SO8) US4: TDA2822D (SO8) D1: dowolna dioda LED φ3mm Różne Zl1: ACXS4 Zl2: ACXS−L4 Zl4: gniazdo słuchawkowe minijack−stereo JP1, JP2: minijumpery X1: kwarc 14,318MHz L1: 470µH Płytka sterownika Rezystory R24: 4,7kΩ R25...R28: 10kΩ Kondensatory C28...C30: 100nF C31, C32: 10µF/6V C33: 1µF/5V C34: 33pF C35 47pF Półprzewodniki US5: EPM7032A (TQFP44) US6: ST72C254G2 (SOP28) US7: DS1813 (SO8) Różne W1: SAC88291 (3V) S1...S5: mikroprzełączniki X2: 8MHz Zl5: ACXS−L4 Zl6: podstawka MMC9 (np. JST) Zl7: ACXS4
Elektronika Praktyczna 12/2001
P O D Z E S P O Ł Y Tak silna, jak to obserwujemy obecnie, ekspansja Microchipa by³a trudna do przewidzenia jeszcze dwa lata temu. Dzia³ania konsekwentnie przyjazne odbiorcom podzespo³Ûw tej firmy, a†takøe uwaøna obserwacja potrzeb rynku powoduj¹, øe Microchip co najmniej kilka razy w†roku przedstawia swoim klientom nowe, zazwyczaj bardzo sensowne propozycje. Jedn¹ z†najnowszych s¹ 16-bitowe mikrokontrolery DSP, ktÛre Microchip zapowiada³ juø na zesz³orocznej Electronice 2001 w†Monachium.
Procesory DSP produkuje stosunkowo niewiele firm, co wynika przede wszystkim z†koniecznoúci ponoszenia stosunkowo duøych nak³adÛw na badania i†zaawansowanych wymagaÒ stawianych jednostce centralnej, ktÛrej koszt nie jest przez to niski. Szybki rozwÛj rynku podzespo³Ûw spowodowa³, øe producenci coraz czÍúciej staraj¹ siÍ epatowaÊ, i†przez to przyci¹gaÊ potencjalnych odbiorcÛw, wynikami rÛønego rodzaju testÛw wydajnoúciowych swoich uk³adÛw, co bardzo czÍsto nie ma bezpoúredniego prze³oøenia na ich praktyczne walory. Co wiÍcej, mikroprocesory i†mikrokontrolery nowych generacji s¹ coraz bardziej wyspecjalizowane, czego jednym z†najbardziej spektakularnych przyk³adÛw s¹ specjalizowane procesory DSP przeznaczone do stosowania w†systemach sterowania prac¹ silnikÛw i†napÍ-
Elektronika Praktyczna 12/2001
dÛw elektrycznych, czy teø inne uk³ady, ktÛrych architekturÍ zoptymalizowano pod k¹tem filtracji i†dekompresji sygna³Ûw wideo i†audio. Ich zaawansowanie konstrukcyjne i†specyficzne rozwi¹zania architektury wymagaj¹ zmiany przyzwyczajeÒ konstruktorÛw, ktÛrzy w†znacz¹cej wiÍkszoúci swoje pierwsze kroki w tej dziedzinie stawiali ze standardowymi mikrokontrolerami lub mikroprocesorami.
Propozycja Microchipa Alternatywn¹ drogÍ w†stronÍ DSP proponuje konstruktorom Microchip, wprowadzaj¹c do sprzedaøy mikrokontrolery nowej rodziny dsPIC30F. S¹ to uk³ady o†zupe³nie nowej (u†Microchipa) architekturze, lecz zastosowane w†nich rozwi¹zania nie s¹ ca³kiem obce dotychczasowym uøytkownikom mikrokontrolerÛw z†rodziny PIC.
51
P O D Z E S P O Ł Y
Rys. 1.
Schemat blokowy jednostki centralnej, wspÛlnej dla wszystkich procesorÛw rodziny dsPIC30F, pokazano na rys. 1. £atwo zauwaøyÊ, øe zastosowane w†niej rozwi¹zania s¹ niemaløe identyczne z†tymi, ktÛre s¹ stosowane w†innych mikrokontrolerach firmy Microchip. Jedynym istotnym uzupe³nieniem jest - zaznaczony na rysunku zielonym prostok¹tem modu³ sprzÍtowego wspierania obliczeÒ DSP. W†jego sk³ad wchodz¹ dwa 40bitowe akumulatory wspÛ³pracuj¹ce z†sumatorem, blok sprzÍtowego mnoøenia dwÛch s³Ûw 16-bitowych
52
(32-bitowe wyjúcie) oraz rejestr przesuwaj¹cy, umoøliwiaj¹cy m.in. szybk¹ realizacjÍ prostych operacji mnoøenia i†dzielenia przez 2. Blok wspomagania obliczeÒ DSP moøe pobieraÊ dane bezpoúrednio z†matrycy pamiÍciowej o†wymiarach 16 s³Ûw 16-bitowych oznaczonej symbolem W (na rysunku w†øÛ³tym prostok¹cie) lub z†magistra-
li X. Wyniki operacji wykonanych w†bloku wspomagania obliczeÒ mog¹ byÊ zapisywane do jednego z†dwÛch akumulatorÛw, mog¹ byÊ takøe podawane na magistralÍ X†lub zapisywane do wybranych komÛrek pamiÍci matrycy pamiÍciowej W. RdzeÒ mikrokontrolerÛw dsPIC30F operuje s³owami 24-bitowymi (maksymalny
obszar adresowy wynosi 4Ms³owa), w†ktÛrych czÍúÊ przeznaczona na kod polecenia nie jest sta³a, co wynika z†faktu jednoczesnego ìprzemycaniaî danej lub danych wraz z†poleceniem. DziÍki takiemu rozwi¹zaniu wiÍkszoúÊ spoúrÛd 94 instrukcji zajmuje tylko jedno s³owo, co korzystnie wp³ywa na wydajnoúÊ pracy mikrokontrolera. D³ugoúÊ s³owa danych wynosi 16 bitÛw. JednostkÍ steruj¹c¹ prac¹ rdzenia w†mikrokontrolerach dsPIC30F wyposaøono w†kolejkowanie rozkazÛw, ktÛrego mechanizm jest identyczny ze stosowanym w†mikrokontrolerach z†rodziny PIC18 (rys. 2). Czterokrotnie zwiÍkszono liczbÍ rozkazÛw ustawianych w†potoku, co jest jednym z†zabiegÛw zapewniaj¹cych wysok¹ wydajnoúÊ. Waøn¹ dla projektantÛw informacj¹ jest to, øe w†znacznym stopniu zachowano kompatybilnoúÊ metod adresowania argumentÛw operacji, a†takøe sposobu wykonywania poleceÒ z†mikrokontrolerami PIC18. Drugie interesuj¹ce udoskonalenie polega na wprowadzeniu instrukcji REPEAT oraz DO umoøliwiaj¹cych sprzÍtow¹ realizacjÍ pÍtli rÛønego rodzaju, ktÛre s¹ wykonywane znacznie szybciej niø w†klasycznych mikrokontrolerach. Kolejnym sposobem na przyspieszenie pracy mikrokontrolerÛw, tym razem w†trybie DSP, jest wbudowanie w†jednostkÍ centraln¹ dwÛch generatorÛw adresÛw rozkazÛw AGU (Address Generation Units), ktÛre odpowiadaj¹ za ustalenie adresu kolejnego polecenia ustawianego w†kolejkÍ do realizacji. Dodatkowo, dziÍki sprzÍtowej
Rys. 2.
Elektronika Praktyczna 12/2001
P O D Z E S P O Ł Y realizacji operacji MAC (Multiply-Accumulate), implementacja filtrÛw cyfrowych jest niezbyt trudna. RdzeÒ mikrokontrolerÛw dsPIC30F obs³uguje 8†wektoryzowanych przerwaÒ o†ustalanych priorytetach. Programista ma takøe do dyspozycji 7†pu³apek programowych. Liczba moøliwych ürÛde³ przerwaÒ wynosi aø 32. Niebagatelne znaczenie dla wydajnoúci i†jednoczeúnie ³atwoúci stosowania ma dynamicznie modyfikowana konfiguracja pamiÍci RAM, ktÛrej d³ugoúÊ s³owa moøna dostosowaÊ do realizowanych zadaÒ. W†przypadku wykonywania poleceÒ charakterystycznych dla klasycznych operacji mikrokontrolerowych pamiÍÊ danych moøna podzieliÊ na sektory o†szerokoúci s³owa 8†lub 16 bitÛw, w†przypadku operacji DSP na danych zapisanych w†pamiÍci moøna j¹ traktowaÊ jak zbiÛr rejestrÛw o†d³ugoúci nawet do 40 bitÛw.
RdzeÒ mikrokontrolera moøe byÊ taktowany sygna³em zegarowym o†maksymalnej czÍstotliwoúci do 120MHz, przy czym do jego wytworzenia jest wykorzystywana wewnÍtrzna pÍtla PLL z†powielaczem czÍstotliwoúci. Moøliwe do wybrania wspÛ³czynniki powielenia wynosz¹ 4/8/16 razy, a†maksymalna czÍstotliwoúÊ referencyjna dla PLL nie powinna przekraczaÊ 10MHz. Przy maksymalnej czÍstotliwoúci pracy wydajnoúÊ CPU wynosi 30MIPS, co jest wynikiem porÛwnywalnym z†osi¹gniÍtym m.in. przez ìprawdziweî procesory DSP z†rodziny ADSP2101 firmy Analog Devices, czy teø TMS320C24x/54x firmy Texas Instruments.
DSP, a†jednak nadal mikrokontroler Bez w¹tpienia Microchip zamierza³ wprowadziÊ do swojej linii produkcyjnej procesory DSP, a†jednoczeúnie zadba³ o†to, aby
Tab. 1. Zestawienie przewidywanych do wdrożenia wersji mikrokontrolerów z rodziny dsPIC30F. Typ układu
30F2010 30F3010 30F3011 30F4010 30F4011 30F4012 30F5010 30F6010 30F2011 30F2012 30F3012 30F3013 30F5011 30F5012 30F5013 30F5014 30F6011 30F6012 30F6013
Pojemność Pojemność Pojemność Pojemność Liczba pamięci pamięci pamięci pamięci wejść do programu programu danych SRAM przetwor− (Flash) (Flash) EEPROM [B] nika A/C [kB] [ksłów] [B] dsPIC DSC - grupa Motor Control 4 1024 512 6 8 1024 1024 6 8 1024 1024 9 12 1024 2048 16 16 1024 2048 9 16 1024 2048 6 32 2048 4096 16 48 4096 8193 16 dsPIC DSC - grupa Sensors 12 4 − 1024 8 12 4 − 1024 10 24 8 1024 2048 8 24 8 1024 2048 10 dsPIC DSC - grupa General Purpose 66 22 1024 4096 16 96 32 2048 4096 16 66 22 1024 4096 16 96 32 2048 4096 16 132 44 2048 6144 16 144 48 4096 8192 16 132 44 2048 6144 16 12 24 24 36 48 48 96 144
Elektronika Praktyczna 12/2001
Liczba Liczba wyjść wyjść stan− PWM do dardo− stero− wych wania PWM silników 2 2 4 8 4 2 8 8
6 6 6 8 6 6 8 8
2 2 2 2
− − − −
8 8 8 8 8 8 8
− − − − − − −
53
P O D Z E S P O Ł Y projektanci korzystaj¹cy z†mikrokontrolerÛw PIC nie czuli siÍ, w†ci¹gle tajemniczym úwiecie DSP, wyobcowani. åwiadczy o†tym zarÛwno budowa rdzenia dsPIC30F, jak i†liczne tak charakterystyczne dla popularnych mikrokontrolerÛw - peryferia. OprÛcz piÍciu programowanych, 16-bitowych timerÛw (moøna je ³¹czyÊ w†timery 32-bitowe), kilku programowanych portÛw I/O o†duøej wydajnoúci pr¹dowej, generatorÛw sygna³Ûw PWM (takøe specjalizowanych, stosowanych do sterowania napÍdÛw elektrycznych), w†mikrokontrolerach dsPIC30F zintegrowano: - specjalizowany interfejs DCI (Data Converter Interface), dziÍki ktÛremu jest moøliwa wspÛ³praca mikrokontrolera z†urz¹dzeniami wyposaøonymi w†cyfrowe interfejsy audio w†standardach I2S i†AC97, - interfejsy szeregowe SPI i†I2C, przy czym obs³ugiwane s¹ wszystkie ich warianty, - asynchroniczny interfejs szeregowy UART z†rejestrem adresu, co pozwala na ³atw¹ implementacjÍ systemu sieciowego opartego na RS422/485, - interfejs CANBus, - 10- lub 12-bitowy przetwornik A/C o†czÍstotliwoúci prÛbkowania do (odpowiednio) 500kHz/ 100kHz, wyposaøony w†analogowy multiplekser wejúciowy o†liczbie wejúÊ maksymalnie 16. OprÛcz tych, stosunkowo wyrafinowanych peryferiÛw, w†mikrokontrolerach dsPIC30F zintegrowano szereg mniej atrakcyjnych blo-
54
kÛw funkcjonalnych: watchdoga z†w³asnym oscylatorem, generator sygna³u zeruj¹cego, system sprzÍtowego ograniczania poboru mocy, monitor sygna³u zegarowego, a†takøe ciesz¹cy siÍ sporym powodzeniem interfejs ICSP (In-Circuit Serial Programming), za pomoc¹ ktÛrego moøna programowaÊ pamiÍÊ programu typu Flash po zainstalowaniu mikrokontrolera w†docelowym urz¹dzeniu.
Podsumowanie Artyku³ powsta³ chwilÍ po pojawieniu siÍ w†miarÍ kompletnych materia³Ûw technicznych zawieraj¹cych informacje o†mikrokontrole-
rach dsPIC30F. Poniewaø zarÛwno uk³ady, jak i†oprogramowanie narzÍdziowe dla nich nie s¹ jeszcze dostÍpne w†sprzedaøy, nie mogliúmy sprawdziÊ ich w†praktyce. Bior¹c pod uwagÍ dotychczasow¹ dzia³alnoúÊ firmy Microchip moøna za³oøyÊ, øe dane zamieszczone we wstÍpnych materia³ach s¹ wiarygodne. Naleøy siÍ jednak liczyÊ z†moøliwoúci¹ wprowadzenia przez producenta jakichú modyfikacji. W†tab. 1 zamieszczono zestawienie zapowiadanych wersji mikrokontrolerÛw, ktÛre - ze wzglÍdu na zastosowanie specyficznych blokÛw peryferyjnych - po-
dzielono na trzy grupy. Takøe tu moøna spodziewaÊ siÍ drobnych zmian, mamy nadziejÍ, øe z†korzyúci¹ dla odbiorcÛw. Nadal bÍdziemy uwaønie úledziÊ i†oczywiúcie informowaÊ CzytelnikÛw o†dalszych losach rodziny dsPIC30F. W†najbliøszym czasie postaramy siÍ takøe opisaÊ narzÍdzia przygotowane przez Microchipa dla tych uk³adÛw. Tomasz Jakubik, AVT
Dodatkowe informacje Dodatkowe informacje o mikrokontrolerach dsPIC30F s¹ dostêpne w Internecie pod adresem: http:// www.microchip.com/1010/pline/ dspic/index.htm.
Elektronika Praktyczna 12/2001
P O D Z E S P O Ł Y
Panuj¹c¹ obecnie modÍ na uk³ady PSoC (Programmable System on a†Chip) moøna porÛwnaÊ do mody odzieøowej - w³aúnie teraz zaczyna siÍ ìtoî nosiÊ. Grono najbardziej zagorza³ych zwolennikÛw tej mody nadaje zjawisku ìPSoCî trochÍ tajemniczoúci. Przypomina to nieco (z†niedalekiej przesz³oúci) ìklanyî specÛw od uk³adÛw cyfrowych czy mikroprocesorowcÛw. Ostatnio pÍkaj¹ lody wokÛ³ PLD i†VHDL, czas zatem i†na PSoC-e... Postanowiliúmy zaj¹Ê siÍ tematyk¹ PSoC, ktÛre tak jak i†wiÍkszoúÊ dotychczasowych hightechnologii - s¹ juø czÍúciowo dostÍpne ìdla luduî.
56
ZacznÍ od istotnego wyjaúnienia: PSoC w†klasycznym wydaniu oznacza po³¹czenie w†jednej obudowie (coraz czÍúciej takøe w†jednej strukturze pÛ³przewodnikowej) mikrokontrolera lub mikroprocesora z†konfigurowalnymi peryferiami cyfrowymi, czÍsto rÛwnieø analogowymi. W†bardziej zaawansowanych uk³adach wbudowane s¹ takøe konfigurowalne modu³y w.cz., ale takie uk³ady s¹ jeszcze stosunkowo rzadko dostÍpne. Nie s¹ to - jak widaÊ - uk³ady skomplikowane z†punktu widzenia uøytkownika, ale oferuj¹ moøliwoúci dotychczas niedostÍpne dla pojedynczych uk³adÛw. Pierwsze wprowadzone na rynek uk³ady PSoC wyposaøano w†mikrokontrolery lub mikroprocesory o†zupe³nie nowych architekturach (np. ARM), ktÛre z†jednej strony zapewnia³y duø¹ wydajnoúÊ i†dobre dopasowanie do rekonfigurowalnego otoczenia, z†drugiej strony ich stosowanie wymaga³o czÍsto doúÊ radykalnej zmiany dotychczasowych przyzwyczajeÒ, czego nikt nie lubi. TÍ ìdziurÍî wykorzysta³a firma Triscend opracowuj¹c uk³ady PSoC zbliøone budow¹ do najbardziej zaawansowanych na rynku uk³adÛw tego typu, ale zawieraj¹ce doskonale znany elektronikom na ca³ym úwiecie
mikrokontroler 8051 (a w³aúciwie 8052). Podobn¹ koncepcjÍ zastosowa³ w†uk³adach FPSLIC Atmel z†t¹ rÛønic¹, øe wbudowa³ w†nie mikrokontroler z†rodziny AVR.
Triscend E5: '51 w†wilczej skÛrze Schemat blokowy uk³adÛw E5 pokazano na rys. 1. Jak widaÊ, oprÛcz kompletnego mikrokontrolera 8051 we wnÍtrzu uk³adu znajduj¹ siÍ takøe: dwukana³owy kontroler bezpoúredniego dostÍpu do pamiÍci DMA, programowany przez uøytkownika dekoder adresÛw, pamiÍÊ RAM o†pojemnoúci od 64kb do 512kb (tab. 1) i†8-bitowym s³owie danych oraz blok konfi-
Tab. 1. Zestawienie podstawowych parametrów dostępnych układów PSoC z rodziny E5. Typ Pojemność Liczba Liczba Maksymal− układu wbudowanej komórek dekoderów na liczba pamięci logicz− adreso− programo− RAM nych wych CSI wanych [kB] w CSL I/O TE502 8 256 16 92 TE505 16 512 32 124 TE512 32 1152 72 188 TE520 40 2048 128 252 TE532 64 3200 200 316
Elektronika Praktyczna 12/2001
P O D Z E S P O Ł Y Tab. 2. Wybrane biblioteczne bloki funkcjonalne dla CSL udostępniane przez firmę Triscend.
Rys. 1.
gurowalnej logiki CSL (Configurable System Logic), ktÛry decyduje o†tym, øe uk³ady z†rodziny E5 moøna okreúliÊ mianem PSoC. W†uk³ady E5 wbudowano takøe interfejs JTAG (IEEE 1149.1), ktÛry s³uøy do funkcjonalnego testowania uk³adu po zainstalowaniu w†systemie. Moøna go wykorzystaÊ takøe do zapisywania zewnÍtrznej pamiÍci SRAM, ktÛra spe³nia rolÍ pamiÍci programu dla mikrokontrolera i†pamiÍci konfiguruj¹cej dla bloku CSL. Podczas uruchamiania systemÛw zaprojektowanych w†oparciu o†uk³ady E5 pomocny moøe byÊ blok pu³apki sprzÍtowej, za pomoc¹ ktÛrej moøna wykrywaÊ dwa elastycznie definiowane zdarzenia zachodz¹ce w†mikrokontrolerze lub w†bloku logiki CSL. Zastosowany przez Triscenda rdzeÒ '51 zosta³ udoskonalony w†stosunku do pierwowzoru, dziÍki czemu cykl rozkazowy trwa zaledwie 4†takty zegarowe zamiast standardowych 13. Poniewaø maksymalna czÍstotliwoúÊ taktowania wynosi 40MHz,
Rys. 2.
58
maksymalna szybkoúÊ wykonywania programu wynosi aø (jak na '51) 10MIPS. O†ile mikrokontroler zintegrowany w†uk³adach E5 naleøy - pomimo znacz¹cych udoskonaleÒ - uznaÊ za element standardowy, to dziÍki do³¹czeniu do niego bloku PLD (Programmable Logic Device) moøliwoúci uk³adu s¹ bardzo duøe. W†zaleønoúci od wariantu uk³adu (zestawienie znajduje siÍ w†tab. 1) liczba konfigurowanych komÛrek logicznych wynosi od 256 aø do 3200, czyli liczbÍ komÛrek dostÍpnych w†wielu rynkowych uk³adach FPGA (np. AT6005 firmy Atmel - 3136 komÛrek logicznych) i†CPLD (np. Delta39K200Z - 3072 makrokomÛrki). Schemat konfigurowalnej komÛrki logicznej, podstawowego elementu bloku CSL, przedstawiono na rys. 2. Swoj¹ budow¹ przypomina ona konfigurowane komÛrki logiczne stosowane w†klasycznych uk³adach FPGA, za pomoc¹ ktÛrych moøna zrealizowaÊ praktycznie dowoln¹ funkcjÍ logiczn¹ (kombinacyjn¹, realizowan¹ w†4wejúciowej tablicy-generatorze funkcji logicznej LUT lub uk³ad synchroniczny za pomoc¹ przerzutnika), a†nawet pamiÍÊ RAM/ROM, poniewaø w†przypadku braku wystarczaj¹cych zasobÛw lokalnych jest moøliwe ³¹czenie zasobÛw komÛrek s¹siaduj¹cych ze sob¹. Czas propagacji sygna³u
Interfejsy szeregowe ✓ UART ✓ UART − tylko Rx ✓ UART − tylko Tx ✓ UART ze sterowaniem modemu ✓ Master SPI ✓ generator częstotliwości wzorcowych ✓ I2C M/S ✓ I2C − Master ✓ I2C − Slave ✓ HDLC Tx/Rx Bloki uniwersalne ✓ licznik dwójkowy z ładowaniem równoległym ✓ sumator rejestrowy ✓ akumulator ✓ komparator ✓ multiplikator ✓ rejestr przesuwny Bloki pamięciowe ✓ RAM ✓ ROM ✓ FIFO ✓ FIFO Sterowniki wyświetlaczy ✓ sterownik 7−segmentowego wyświetlacza LED ✓ sterownik alfanumerycznego wyświetlacza LCD ✓ sterownik graficznego wyświetlacza LCD Interfejsy ✓ Ethernet ✓ CAN ✓ USB Szyfrowanie ✓ 3DES ✓ Single DES ECB ✓ Single DES CBC
przez kaød¹ z†komÛrek logicznych nie przekracza w†najgorszym przypadku 5ns, przy czym ca³kowity czas propagacji sygna³u w†16-bitowym sumatorze-subtraktorze nie przekracza 25ns, a†maksymalna czÍstotliwoúÊ zliczania 16-bitowego licznika wynosi 40MHz. KomÛrki logiczne s¹ ³¹czone w†grupy po 128 (8 kolumn i†16 wierszy) tworz¹c banki CSL, ktÛrych liczba jest rÛøna w†zaleønoúci od typu uk³adu (rys. 3). KomunikacjÍ pomiÍdzy zespo³ami komÛrek oraz otoczeniem zapewniaj¹ magistrale po³¹czeniowe, ktÛrych konfiguracja jest dostosowywana do konkretnej aplikacji, tak jak ma to miejsce w†standardowych uk³adach PLD. KonfiguracjÍ zasobÛw po³¹czeniowych dostÍpnych dla komÛ-
Rys. 3.
Elektronika Praktyczna 12/2001
P O D Z E S P O Ł Y
Rys. 4.
rek logicznych pokazano na rys. 4. Poniewaø liczba linii po³¹czeniowych, dostÍpnych dla uøytkownika jest stosunkowo niewielka, efektywnoúÊ ich wykorzystania podnosz¹ 4†dodatkowe linie globalne (dostÍpne dla wszystkich komÛrek jednoczeúnie), za pomoc¹ ktÛrych moøna przesy³aÊ sygna³y zegarowe oraz steruj¹ce prac¹ trÛjstanowych buforÛw wyjúciowych. Uk³ady E5 komunikuj¹ siÍ z†otoczeniem za pomoc¹ wyprowadzeÒ o†programowalnych funkcjach. Wyprowadzenia uniwersalne, przeznaczone do wspÛ³pracy z†otoczeniem, oddzielono od wyprowadzeÒ zapewniaj¹cych dostÍp mikrokontrolera do zewnÍtrznej pamiÍci programu. Wyprowadzenia te (oznaczone jako PIO na rys. 1) s¹ bezpoúrednio do³¹czone do bloku CSL, w†ktÛrym zintegrowano pokaüne zasoby logiczne wspÛ³pracuj¹ce z†kaødym wyprowadzeniem. Na rys. 5 pokazano budowÍ komÛrek I/O wspÛ³pracuj¹cych z†wyprowadzeniami PIO. Jak ³atwo zauwaøyÊ, mog¹ one spe³niaÊ rolÍ samodzielnych trÛjstanowych buforÛwpamiÍci dla sygna³Ûw wejúciowych i†wyjúciowych z†programowan¹ szybkoúci¹ narastania sygna³u na wyjúciu, programowan¹ histerez¹ wejúciow¹ i†zabezpieczeniem przed brakiem sygna³u logicznego na wejúciu. Uk³ady E5 s¹ przystosowane do zasilania napiÍciem o†wartoúci 3...3,6V, ale bufory wejúciowe i†wyjúciowe umoøliwiaj¹ bezpoúredni¹ wspÛ³pracÍ ze standardowymi uk³adami TTL i†wiÍkszoúci¹ uk³adÛw cyfrowych CMOS zasilanych napiÍciem 5V. Obniøenie napiÍcia zasilania wyniknͳo przede wszystkim z†chÍci
60
ograniczenia poboru mocy przez uk³ad. Podczas normalnej pracy mikrokontroler w†uk³adzie TE520 pobiera ok. 18mW/MHz, a†w†najmniejszym z†dostÍpnych uk³adÛw - TE502 - ok. 4,5mW/MHz. DostÍpne s¹ takøe tryby pracy ze znacznie ograniczonym poborem mocy.
NarzÍdzia wspomagaj¹ce projektowanie Projektowanie systemÛw implementowanych w†uk³ady E5 nie jest wbrew pozorom zadaniem zbyt trudnym, a†to dziÍki opracowanemu przez firmÍ Triscend programowi narzÍdziowemu Triscend FastChip. Jest to
³atwy w†obs³udze integrator projektu (przyk³adowe okna konfiguracji s¹ widoczne na rys. 6), za pomoc¹ ktÛrego moøna skonfigurowaÊ wszystkie peryferia wchodz¹ce w†sk³ad uk³adu oraz zaimplementowaÊ w†bloku logiki konfigurowalnej blok funkcjonalny wybrany z†bogatej biblioteki takich blokÛw, przygotowanej przez producenta (najwaøniejsze z†dostÍpnych elementÛw bibliotecznych wymieniono w†tab. 2). Jeøeli projektant chce zaimplementowaÊ w†bloku logiki konfigurowalnej element spoza standardowej biblioteki, moøe przygotowaÊ go za pomoc¹ dowolnego narzÍdzia CAD\CAE eksportuj¹cego projekty w†formacie EDIF. Tak opisane projekty mog¹ byÊ importowane do programu Triscend FastChip i†wykorzystywane jako elementy biblioteczne. Program odpowiadaj¹cy za inicjalizacjÍ i†konfiguracjÍ uk³adu jest na ø¹danie generowany w†postaci kodu w†jÍzyku ANSI C lub asemblerze. Interfejs programu jest przyjazny operatorowi, a†szczegÛlnie duøe znaczenie dla ³atwoúci obs³ugi ma zastosowanie przez twÛrcÛw oprogramowania graficznego podzia³u blokÛw funkcjonalnych wbudowanych w†uk³ady E5 na te, w†ktÛre uk³ady E5 s¹ wyposaøone standardowo (gÛrna czÍúÊ paska narzÍdziowego úrodkowego okna na rys. 6) i†bloki wybierane i†konfigurowane przez uøytkownika (implementowane w†bloku CSL). OprÛcz oprogramowania narzÍdziowego Triscend udostÍpnia swoim odbiorcom rÛønego rodzaju zestawy ewaluacyjne i†uruchomieniowe, w†tym zestaw prezentuj¹cy moøliwoúÊ zintegrowania systemu wykonanego na uk³adzie z†rodziny E5 z†Internetem. Uniwersalny zestaw uruchomieniowy,
Rys. 5.
Elektronika Praktyczna 12/2001
P O D Z E S P O Ł Y
Rys. 6.
w†sk³ad ktÛrego wchodzi m.in. p³ytka laboratoryjna i†programator-konfigurator JTAG pokazano na fot. 7.
Podsumowanie Uk³ady PSoC z†rodziny E5 firmy Triscend s¹ moim zdaniem bardzo atrakcyjn¹ propozycj¹ dla polskich konstruktorÛw. Poniewaø '51 s¹ obecnie najpopularniejszymi mikrokontrolerami stosowanymi w†szeregu rÛønorodnych aplikacji, konstruktorzy powinni podejmowaÊ prÛby oszacowania ekonomicznej sensownoúci stosowania standardowych rozwi¹zaÒ uk³adowych i†stopniowo przechodziÊ - oczywiúcie g³Ûwnie w†przypadku sprzÍtowo wiÍkszych aplikacji - na uk³ady PSoC.
Zapewniaj¹ one ograniczenie wymiarÛw p³ytki drukowanej, obniøenie poboru mocy, pozwalaj¹ takøe tworzyÊ urz¹dzenia w†pe³ni adaptowalne sprzÍtowo - programowo, takøe do chwilowych wymagaÒ aplikacji. Ponadto, projektanci nie musz¹ zmieniaÊ swoich najsilniejszych przyzwyczajeÒ i†nadal skupiaÊ siÍ na ìujarzmianiuî '51. Piotr Zbysiñski, AVT [email protected]
Dodatkowe informacje Dystrybutorem uk³adów E5 firmy Triscend jest firma Memec, tel. (32) 238-05-60, www.atest.com.pl/ memec/kontakty.htm. Dodatkowe informacje o uk³adach E5 s¹ dostêpne w Internecie pod adresem: http://www.triscend.com/ products/IndexE5.html. Ewaluacyjna wersja oprogramowania Triscend FastChip jest dostêpna w Internecie pod adresem: ftp:/ /ftp.triscend.com/fc220/fc220_new.exe. W odró¿nieniu od pe³nej wersji komercyjnej umo¿liwia ona implementacjê projektów w bloku CSL o maksymalnej liczbie komórek logicznych 256. Pozosta³e parametry u¿ytkowe ewaluacyjnej wersji programu s¹ identyczne z parametrami wersji komercyjnej.
Elektronika Praktyczna 12/2001
Fot. 7.
61
P R O G R A M Y
W artykule zosta³ zaprezentowany doúÊ ciekawy kompilator jÍzyka C dla procesorÛw rodziny AVR. Mimo dosyÊ egzotycznego pochodzenia (Rumunia), jest to kompilator zas³uguj¹cy na uwagÍ projektantÛw systemÛw mikroprocesorowych. Moøe on byÊ szczegÛlnie atrakcyjny dla tych, ktÛrym potrzebne jest sprawne narzÍdzie do pisania programÛw w jÍzyku C, natomiast nie chc¹ przy tym wydaÊ fortuny na powszechnie znane systemy takich producentÛw, jak Keil czy IAR. W artykule postaramy siÍ zatem odpowiedzieÊ na pytanie, czy za stosunkowo niewielkie pieni¹dze moøna zostaÊ posiadaczem pe³nowartoúciowego narzÍdzia do pisania programÛw w jÍzyku C. CodeVisionAVR C to narzÍdzie programistyczne pracuj¹ce w†úrodowisku Windows, umoøliwiaj¹ce tworzenie kodu w†jÍzyku C z†rozszerzeniem uwzglÍdniaj¹cym specyfikÍ
Rys. 1.
62
procesorÛw AVR firmy Atmel. Okno programu jest podzielone na trzy czÍúci (rys. 1). Z†lewej strony znajduje siÍ okno nawigatora. W†oknie tym, w†postaci drzewa, s¹ wyúwietlane nazwy plikÛw wchodz¹cych w†sk³ad projektu, nazwy zmiennych globalnych i†funkcji deklarowanych w†poszczegÛlnych plikach ürÛd³owych oraz b³Ídy i†ostrzeøenia kompilacji. Po naciúniÍciu nazwy pliku, w†oknie g³Ûwnym (po prawej stronie) otwiera siÍ okno edycji kodu ürÛd³owego. Kod ürÛd³owy jest wyúwietlany w†rÛønych kolorach, w†zaleønoúci od znaczenia tekstu, co znacznie zwiÍksza czytelnoúÊ programu. Niestety, w†trakcie edycji programu nie ma moøliwoúci korzystania z†systemu pomocy w†sposÛb zaleøny od kontekstu. Dodanie takiej opcji, spotykanej w†wielu kompilatorach, z†pewnoúci¹ podnios³oby wygodÍ pracy w†CodeVisionAVR C. Na dole ekranu jest wyúwietlane okno komunikatÛw, w†ktÛrym kompilator umieszcza informacje o†b³Ídach i†ostrzeøeniach kompilacji programu. Jednym z†waøniejszych elementÛw zintegrowanego úrodowiska programisty jest debugger, czyli system wspomagaj¹cy uruchomianie i†testowanie pisanych programÛw. Pierwsz¹ rzecz¹, jaka rzuca siÍ w†oczy po uruchomieniu CodeVisionAVR C jest brak jakiegokolwiek debuggera. Na szczÍúcie producent umoøliwi³ wspÛ³pracÍ ze znakomitym debuggerem AVR Studio firmy Atmel, poprzez generowanie plikÛw w†formacie COFF. Niestety taka praca nie jest zbyt wygodna, wymagane
jest ci¹g³e prze³¹czanie miÍdzy programami, co przy d³uøszej pracy wprowadza dekoncentruj¹cy chaos. Za pomoc¹ CodeVisionAVR C moøliwe jest sterowanie jednym z†piÍciu programatorÛw mikroprocesorÛw (rys. 2). Jest to bardzo wygodne w†koÒcowym etapie pisania programu, gdy jest on juø testowany w†docelowym uk³adzie elektronicznym. DziÍki temu zaprogramowanie uk³adu, po wprowadzonych zmianach, jest bardzo szybkie. Na etapie uruchamiania uk³adu bardzo wygodne niekiedy okazuje siÍ korzystanie z†wbudowanego w†CodeVisionAVR C terminala (rys. 3), dziÍki ktÛremu moøna na przyk³ad úledziÊ komunikaty odbierane przez port szeregowy komputera. Na szczegÛln¹ uwagÍ zas³uguje CodeWizardAVR (rys. 4), czyli generator kodu ürÛd³owego. DziÍki tej aplikacji moøna ³atwo i†szybko wygenerowaÊ kod ürÛd³owy inicjuj¹cy uk³ady peryferyjne wbudowane w†wybrany mikroprocesor (porty we/wy, timery, liczniki, uk³ad watchdoga, przetworniki A/ C i†inne) oraz elementy do³¹czone do wybranych portÛw sterownika (wyúwietlacz LCD, interfejs szeregowy, I2C i†inne). ListÍ mikroprocesorÛw obs³ugiwanych przez CodeVisionAVR C zawarto w†tab. 1. Na rys. 5†pokazano okno ustawiania opcji kompilacji programu. Moøna wybraÊ typ mikroprocesora docelowego dla realizowanego projektu, rodzaj optymalizacji stosowanej
Rys. 2.
Elektronika Praktyczna 12/2001
P R O G R A M Y
Rys. 3. przez kompilator (size/speed), przydzieliÊ pamiÍÊ na potrzeby stosu itd. Jak widaÊ do wyboru s¹ tylko dwa modele pamiÍci: tiny i†small. W†modelu tiny pamiÍÊ SRAM jest adresowana za pomoc¹ 8†bitÛw (w†takim przypadku moøliwy jest dostÍp tylko do pierwszych 256 bajtÛw pamiÍci SRAM), natomiast w†modelu small za pomoc¹ 16 bitÛw. Adresowanie pamiÍci Flash i†EEPROM, niezaleønie od wybranego modelu pamiÍci, jest zawsze 16bitowe. Deklaruj¹c zmienn¹, ktÛra ma byÊ umieszczona w†pamiÍci Flash, naleøy poprzedziÊ jej nazwÍ s³owem kluczowym flash (np. int flash liczba). Identyczna sytuacja jest ze zmiennymi umieszczonymi w†pamiÍci EEPROM (np. char eeprom tekst []="Elektronika Praktyczna"). Zmienne, ktÛrych nazwy nie poprzedza øadne s³owo kluczowe s¹ umieszczane w†pamiÍci SRAM. Ze wzglÍdu na specyfikÍ procesorÛw AVR, jÍzyk C rozszerzono miÍdzy innymi o†zmienne bitowe, bitowy dostÍp do rejestrÛw oraz obs³ugÍ przerwaÒ sprzÍtowych. CodeVisionAVR C umoøliwia mieszanie kodu w†jÍzyku C z†fragmentami napisanymi w†asemblerze. DziÍki temu moøliwa jest úcis³a kontrola dzia³ania programu w†jego krytycznych czasowo fragmentach. Pewne zastrzeøenia moøna mieÊ do sposobu weryfikacji kodu ürÛd³owego przez kompilator. Nie znajduje on wielu b³ÍdÛw zwi¹zanych z†przekroczeniem dopuszczalnych wartoúci adresÛw. B³Ídy te s¹ wychwytywane podczas kompilacji poúredniego pliku w†asemblerze i†s¹ sygnalizowane lakonicznym komunikatem bez wskazania miejsca powstania b³Ídu. Wychwycenie takiego b³Ídu jest niekiedy trudne,
Elektronika Praktyczna 12/2001
a†niemoønoúÊ zlokalizowania b³ÍdÛw tego rodzaju przez CodeVisionAVR C wynika z†zastosowania asemblera pracuj¹cego niezaleønie od kompilatora jÍzyka C. Kompilacja koÒczona jest podsumowaniem (rys. 6), w†ktÛrym s¹ zawarte informacje m.in. o†procesorze docelowym, modelu pamiÍci, wybranym rodzaju optymalizacji, liczbie b³ÍdÛw i†ostrzeøeÒ, obszarach pamiÍci przeznaczonych na stos. W†ramach CodeVisionAVR C producent dostarczy³ wiele funkcji bibliotecznych (nie wszystkie zosta³y zamieszczone w†wersji ewaluacyjnej). Zosta³y one pogrupowane w†nastÍpuj¹ce biblioteki: - bibliotekÍ funkcji znakowych, np. unsigned char isascii(char c), char tolower(char c); - bibliotekÍ standardowych funkcji wejúcia/wyjúcia, np. char getchar(void), void printf(char flash *fmtstr [, arg1, arg2,...]); - bibliotekÍ funkcji standardowych, np. int atoi(char *str), int rand(void); - bibliotekÍ funkcji matematycznych, np. unsigned int abs(int x), float log(float x); - bibliotekÍ funkcji tekstowych, np. char *strcat(char *str1, char *str2), signed char strcmp(char *str1, char *str2); - bibliotekÍ funkcji konwertuj¹cych k o d B C D , n p . unsigned char bcd2bin(unsigned char n); - bibliotekÍ funkcji konwertuj¹cych kod Gray'a, np. unsigned char gray2bin(unsigned int n);
Tab. 1. Lista układów obsługiwanych przez CodeVisionAVR C: ✦ ATtiny22 ✦ AT90S2313 ✦ AT90S2323/2343 ✦ AT90S2333/4433 ✦ AT90S4414/8515 ✦ AT90S4434/8535 ✦ AT90S8534 ✦ ATmega603/103 ✦ ATmega128 ✦ ATmega161 ✦ ATmega163 ✦ ATmega323 (ATmega32) ✦ ATmega8/16 ✦ FPSLIC AT94K05/10/20/40
- bibliotekÍ funkcji dostÍpu do pamiÍci, np. void pokeb(unsigned int addr, unsigned char data), unsigned char peekb(unsigned int addr); - bibliotekÍ funkcji opÛünieÒ czasowych, np. void delay_us(unsigned int n), void delay_ms(unsigned int n); - bibliotekÍ funkcji do obs³ugi alfanumerycznych wyúwietlaczy LCD zgodnych ze standardem Hitachi HD44780, np. void _lcd_write_data(unsigned char data); - bibliotekÍ funkcji do obs³ugi interfejsu I 2 C, np. unsigned char I2C_read(unsigned char ack), void I2C_stop(void); - bibliotekÍ funkcji do obs³ugi czujnika temperatury LM75, np. int lm75_temperature_10(unsigned char chip); - bibliotekÍ funkcji do obs³ugi czujnika temperatury/termostatu DS1621, np. unsigned char ds1621_get_status(unsigned char chip); - bibliotekÍ funkcji do obs³ugi zegara czasu rzeczywistego PCF8563, PCF8583, DS1302 i†DS1307 np. unsigned char rtc_read(unsigned char address); - bibliotekÍ funkcji do obs³ugi protoko³u 1†Wire, np. unsigned char w1_write(unsigned char data);
Rys. 4.
63
P R O G R A M Y
Rys. 5. - bibliotekÍ funkcji do obs³ugi czujnikÛw temperatury DS1820 i†DS1821, n p . int ds1820_temperature_10(unsigned char *addr); - bibliotekÍ funkcji do obs³ugi zewnÍtrznych pamiÍci EEPROM DS2430 i † D S 2 4 3 3 , n p . unsigned char ds2430_write_appreg_block(unsigned char *romcode, unsigned char *source,unsigned char addr,unsigned char size); - bibliotekÍ funkcji do obs³ugi SPI, np. unsigned char spi(unsigned char data); - bibliotekÍ funkcji zarz¹dzaj¹cych poborem energii, np. void idle(void), void powersave(void). W†poznaniu zawartoúci tych bibliotek pomaga plik pomocy CodeVisionAVR C. ZarÛwno elementy jÍzyka C, jak i†funkcje biblioteczne s¹ tam wyczerpuj¹co zaprezentowane. Do g³Ûwnych zalet CodeVisionAVR C naleøy zaliczyÊ atrakcyjn¹ cenÍ oraz biblioteki zawieraj¹ce funkcje pozwalaj¹ce ma³ym nak³adem pracy uzyskaÊ efektowny program. Duø¹
niedogodnoúci¹ jest koniecznoúÊ stosowania debuggera niezaleønego producenta (na szczÍúcie AVR Studio jest programem darmowym), ale obecnie takie praktyki s¹ czÍsto stosowane - identyczne rozwi¹zanie moøna spotkaÊ w†kompilatorze jÍzyka C ImageCraft ICCAVR V6, ktÛry oferuj¹c podobne moøliwoúci jest jednak trochÍ droøszy niø CodeVisionAVR C. Odpowiadaj¹c na pytanie postawione na wstÍpie artyku³u moøna stwierdziÊ, øe za stosunkowo niewielk¹ kwotÍ moøna zostaÊ posiadaczem kompilatora jÍzyka C dla procesorÛw AVR. PorÛwnuj¹c jednak CodeVisionAVR C z†systemami z†gÛrnej pÛ³ki (IAR, Keil) naleøy dostrzec przepaúÊ dziel¹c¹ te dwa úwiaty. Na korzyúÊ tych drugich przemawiaj¹ przede wszystkim ca³kowicie zintegrowane úrodowisko programisty (m.in. wbudowany debugger), moøliwoúÊ samodzielnego rozbudowywania bazy obs³ugiwanych uk³adÛw, znacznie wyøszy komfort pracy programisty w†úrodowisku zintegrowanym, praca z†systemem pomocy u³atwiaj¹cym pisanie programÛw, bardzo rozbudowana dokumentacja (czÍsto zawieraj¹ca noty katalogowe procesorÛw), jednorodne úrodowisko pracy dla rÛønych rodzin procesorÛw, wspomaganie budowania systemÛw czasu rzeczywistego itd. Czym zatem, oprÛcz atrakcyjnej ceny, mog¹ przyci¹gn¹Ê programistÛw takie produkty jak CodeVisionAVR C? Przede wszystkim ³atwoúci¹ pisania programÛw do najczÍúciej spotykanych zastosowaÒ. Do³¹czone do CodeVisionAVR C biblioteki pozwalaj¹ szybko i†³atwo tworzyÊ programy wykorzystuj¹ce na przyk³ad protoko³y I 2 C, RS-232C, 1-Wire oraz u³atwiaj¹, dziÍki odpowiednim funkcjom, stosowanie w†projektach popularnych uk³adÛw scalonych (np. DS1820). Wersja ewaluacyjna, w†porÛwnaniu do pe³nej wersji, jest pozbawiona niektÛrych bibliotek m.in. obs³ugi wyúwietlaczy LCD 4x40, uk³adÛw z†interfejsem 1-Wire (PCF8563, PCF8583, DS1302, DS1307) oraz czujnikÛw temperatury (DS1820/ DS1822). Dodatkowo zosta³o wprowadzone ograniczenie wielkoúci kodu wynikowego. Pawe³ Zbysiñski
Dodatkowe informacje
Rys. 6.
64
Wiêcej informacji mo¿na znaleŸæ na stronie internetowej producenta CodeVisionAVR C: http:// infotech.ir.ro.
Elektronika Praktyczna 12/2001
K U R S
część 1
Przez wiele lat port drukarkowy w†komputerach PC by³ traktowany jako nieco u³omny, ale ³atwy w†stosowaniu,
interfejs rÛwnoleg³y. Za jego pomoc¹ moøna by³o sterowaÊ prac¹ rÛønych urz¹dzeÒ zewnÍtrznych przy czym obszar aplikacji zawÍøa³y: stosunkowo niewielka szybkoúÊ transmisji, brak standaryzacji dwukierunkowoúci linii danych i†steruj¹cych, a†takøe trudnoúci w†do³¹czeniu do interfejsu wiÍcej niø jednego urz¹dzenia. Zaczynamy od prezentacji podstawowego trybu pracy SPP, w†ktÛrym Centronics moøna wykorzystaÊ jako uniwersalny port I/O.
Tryby SPP/ECP/EPP od strony praktycznej Centronics naleøy - obok RS232 - do grona klasycznych interfejsÛw komputerowych, stosowanych w†rÛønego rodzaju urz¹dzeniach wspÛ³pracuj¹cych z†komputerami. Centronics jest szczegÛlnie przyjazny uøytkownikom, poniewaø transmisja danych odbywa siÍ w†sposÛb rÛwnoleg³y (12 linii wyjúciowych i†9†wejúciowych), a†zapis i†odczyt danych wymaga tylko prostych operacji zapisu i†odczytu odpowiednich rejestrÛw. Od chwili powstania, Centronics w†zasadzie nie by³ poddawany øadnym modyfikacjom aø do roku 1994, kiedy to wprowadzono istotnie zmodyfikowane protoko³y (IEEE1284: ECP i†EPP) zwiÍkszaj¹ce moøliwoúci interfejsu bez koniecznoúci wprowadzania (widocznych dla uøytkownika) zmian elektrycznych i†mechanicznych.
Klasyka: SPP W†trybie SPP (Standard Parallel Port), czyli w†trybie odpowiadaj¹cym klasycznemu Centronicsowi, dane mog¹ byÊ przesy³ane z†szybkoúci¹ ok. 50...150kB/s w†kierunku od komputera do urz¹dzenia wspÛ³pracuj¹cego. W†protokole obs³ugi transferu danych przyjÍto potwierdzanie przez odbiornik przyjÍcia kaødego bajtu danych, co jednak zbytnio nie komplikuje transmisji. Przebiegi ilustruj¹ce pracÍ interfejsu pokazano na rys. 1, a†przebiega ona nastÍpuj¹co:
Rys. 1.
66
- nadajnik (komputer) ustawia na liniach danych D0...D7 kombinacjÍ bitÛw odpowiadaj¹c¹ przesy³anemu bajtowi, - nastÍpnie sterowany przez nadajnik sygna³ strobuj¹cy nStrobe przyjmuje poziom niski, co sygnalizuje odbiornikowi koniecznoúÊ odebrania danych, - na czas odbierania danych odbiornik ustawia stan ì1î na linii Busy, dziÍki czemu nadajnik jest informowany o†koniecznoúci wstrzymania dalszej transmisji na czas zajÍtoúci odbiornika, - po miniÍciu czasu niezbÍdnego dla przyjÍcia danych odbiornik potwierdza ich odbiÛr za pomoc¹ impulsu na linii nAck, ktÛra przyjmuje stan logiczny ì0î. W†opisanym przebiegu transmisji nie uwzglÍdniono kilku sygna³Ûw po-
mocniczych (wszystkie wymieniono w†tab. 1), ktÛre mog¹ m.in. wstrzymaÊ lub przerwaÊ transmisjÍ w†przypadku braku papieru lub wyst¹pienia b³Ídu wewnÍtrznego kontrolera drukarki. SzczegÛ³owa specyfikacja funkcji tych sygna³Ûw jest istotna tylko w†przypadku korzystania z†Centronicsa jako interfejsu drukarkowego. W†przypadku wykorzystania go jako uniwersalnego interfejsu I/O, specyficzne zadania realizowane przez dodatkowe sygna³y steruj¹ce moøna zignorowaÊ, traktuj¹c poszczegÛlne linie interfejsu jako zwyk³e linie I/O przyporz¹dkowane rejestrom, ktÛrych adresy przedstawiono w†tab. 2. W†wiÍkszoúci wspÛ³czeúnie oferowanych komputerÛw, Centronics jest przystosowany do dwukierunkowego przesy³ania danych poprzez 8-bitowy port danych. Schemat bufora wejúcio-
Tab. 1. Sygnały interfejsu Centronics wraz z ich przypisaniem do rejestrów i numerów styków w typowych złączach. Numer styku w DB25
Nazwa sygnału
Kierunek
1 2 3 4 5 6 7 8
Numer styku w 36−stykowym złączu Centronics 1 2 3 4 5 6 7 8
Inwersja
we/wy wy wy wy wy wy wy wy
Dostęp poprzez rejestr Control Data Data Data Data Data Data Data
nStrobe Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 Data 6
9 10 11 12 13 14 15 16 17 18...25
9 10 11 12 13 14 32 31 36 19...30
Data 7 nAck Busy PaperOut Select nAutoLineFeed nError nInitialize nSelectIn GND
wy we we we we we/wy we we/wy we/wy
Data Status Status Status Status Control Status Control Control
nie nie tak nie nie tak nie nie tak
tak nie nie nie nie nie nie nie
Elektronika Praktyczna 12/2001
K U R S
Rys. 3.
Rys. 2. wo-wyjúciowego ìprawdziwieî dwukierunkowego portu pokazano na rys. 2. Zaznaczony na czerwono sygna³ Enable BiDir (bit 5†rejestru Control) s³uøy do blokowania i†uaktywniania trÛjstanowego bufora wyjúciowego rejestru '374. Jego zablokowanie (co wymaga wpisania na bit 5†rejestru Control logicznej ì1î), czyli ustawienie buforÛw wyjúciowych w†stan wysokiej impedancji, umoøliwia odczytanie poprzez bufor wejúciowy '244 dowolnego doprowadzonego stanu na wejúcia Data0..Data7. Jeøeli bufor wyjúciowy nie zostanie zablokowany, moøe ulec
uszkodzeniu wywo³anemu przez przeci¹øenie pr¹dowe. Istniej¹ takøe inne sposoby odczytania 8-bitowego s³owa wejúciowego, ktÛre moøna zastosowaÊ w†przypadku, gdy wbudowany w†komputer interfejs nie jest dwukierunkowy. Najprostsze wydaje siÍ byÊ zastosowanie dostÍpnych dwukierunkowych linii steruj¹cych z†rejestru Control (jak to pokazano na rys. 3), ale ze wzglÍdu na bezpieczeÒstwo sterownika (nie zawsze jest on wyposaøony w†bufory z†otwartym kolektorem!) lepiej jest zastosowaÊ nieco bardziej z³oøony uk³ad (rys. 4),
Tab. 2. Rozmieszczenie rejestrów obsługujących LPT w przestrzeni adresowej PC. Adres bazowy+0
Nazwa Data
Kierunek Zapis (w niektórych wykonaniach także odczyt)
bazowy+1
Status
Odczyt
bazowy+2
Control
Odczyt/Zapis
Numer bitu 7 6 5 4 3 2
Opis Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
1 0 7 6 5 4 3 2 1 0 7 6
Data 6 Data 7 Busy nAck PaperOut SelectIn Error IRQ (zanegowany) − − − −
5 4 3 2 1 0
Enable BiDir Enable IRQ via Ack Select nInitialize AutoLineFeed Strobe
Uwaga! Adresy bazowe: LPT1 − 378h, LPT2 − 278h oraz LPT1 (tylko na karcie grafiki, obecnie rzadko stosowane) − 3BCh.
68
Rys. 4. ktÛry umoøliwia przekazanie 8-bitowego s³owa poprzez 4-bitowy port wejúciowy utworzony z†czÍúci (4 najstarszych bitÛw) rejestru Status. WybÛr przesy³anej do komputera po³Ûwki bajtu odbywa siÍ poprzez zmianÍ stanu logicznego na linii Strobe z†rejestru Control (dla ì0î - cztery m³odsze bity, dla ì1î - cztery starsze bity). Transfer danych prowadzony w†taki sposÛb poch³ania stosunkowo duøo czasu, ale z†punktu widzenia pewnoúci dzia³ania jest on lepszy od sposobu z†rys. 3. Poziomy napiÍÊ przyporz¹dkowane wejúciowym i†wyjúciowym stanom logicznym w†Centronicsie odpowiadaj¹ standardowi TTL. WydajnoúÊ pr¹dowa poszczegÛlnych linii interfejsu Centronics jest zaleøna od wykonania, ale moøna przyj¹Ê, øe minimalna wydajnoúÊ pr¹dowa pojedynczej linii (w obydwu kierunkach) wynosi 6mA. Spotykane s¹ takøe interfejsy z†wysokowydajnymi buforami pr¹dowymi, ktÛre moøna obci¹øyÊ pr¹dem o†natÍøeniu do 48mA. Tomasz Jakubik, AVT
Dodatkowe informacje Dodatkowe informacje mo¿na znaleŸæ w Internecie pod adresami: - http://www.beyondlogic.org/pardebug/pdebug.htm, - http://www.beyondlogic.org/spp/parallel.pdf, - http://www.beyondlogic.org/epp/epp.pdf, - http://www.beyondlogic.org/ecp/ecp.pdf, - http://www.lvr.com/parport.htm, - http://www.lpt.com/Downloads/downloads.htm.
Elektronika Praktyczna 12/2001
N O W E
P O D Z E S P O Ł Y
N O W E
P O D Z E S P O Ł Y
Scalony odbiornik wzorców czasu Uk³ad T4227, produkowany przez firmÍ Atmel, s³uøy do odbioru cyfrowych sygna³Ûw czasu emitowanych na falach d³ugich przez niektÛre oúrodki radiowe. Geograficznie najbliøszy nam nadajnik DCF77 znajduje siÍ w†Niemczech i†generuje sygna³ na czÍstotliwoúci 77,5kHz. Transmitowane s¹ dane o†bieø¹cym czasie w†postaci cyfrowej z zakodowaniem sekund, minut, godzin oraz daty. Wysokoczu³y tor wejúciowy uk³adu T4227 (0,4µV) umoøliwia odbiÛr tego sygna³u, ktÛry jest nastÍpnie dekodowany do postaci impulsÛw cyfrowych, ktÛre mog¹ byÊ wykorzystane np. przez wspÛ³pracuj¹cy z odbiornikiem procesor. Sygna³ radiowy odbierany jest za pomoc¹ anteny ferrytowej do³¹czonej do wejúÊ IN1 i†IN2. Uk³ad moøe byÊ przystosowany do odbioru sygna³Ûw generowanych przez rÛøne stacje, poniewaø pracuje w†zakresie czÍstotliwoúci 40kHz...120kHz.
Wysok¹ selektywnoúÊ zapewni rezonator kwarcowy, ktÛry pracuje jako filtr pasmowy. Uk³ad dzia³a w†szerokim zakresie napiÍÊ zasilania od 1,1V do 5,5V, pobieraj¹c pr¹d o†natÍøeniu do 250µA. Dostarczany jest w†obudowie SSO16. Temperatura pracy -40oC...+85oC. http://www.atmel-wm.com/upload/ doc3ab765cae58cc.pdf Przedstawicielami Atmela w†Polsce s¹ firmy: Codico (tel. (51) 642-88-00), Gamma (tel. (22) 663-83-76) i JM Elektronik (tel. (32) 33969-00) i MSC Polska (tel. (32) 330-54-50).
Rys. 1.
Miniaturowe wzmacniacze operacyjne Firma ON Semiconductor oferuje miniaturowe pojedyncze wzmacniacze operacyjne NCS2001. Zalet¹ uk³adu s¹ nie tylko ma³e rozmiary obudowy, ale takøe szeroki zakres napiÍÊ zasilania, odpowiedni do pracy w†uk³adach bateryjnych. Wzmacniacz moøe pracowaÊ przy napiÍciach zasilania o†wartoúci 0,8V do 7V. Pasmo przenoszenia dla najniø-
szych wartoúci napiÍcia zasilania wynosi ok. 1,1MHz, wejúciowe napiÍcie niezrÛwnowaøenia 0,5mV, a†pr¹d polaryzuj¹cy zaledwie 10pA. Uk³ady dostÍpne s¹ w†miniaturowych obudowach SOT23-5 i†SC70-5. Temperatura pracy od -50 do 125 oC. Uk³ady zabezpieczone s¹ przed przebiciem ³adunkiem elektrostatycznym o†napiÍciu do 2000V. http://www.onsemi.com/pub/Collateral/ NCS2001-D.PDF Przedstawicielami ON Semiconductor w†Polsce s¹ firmy: Arrow/Spoerle Electronic (tel. (22) 646-52-27), Avnet (tel. (22) 634-4736), Avnet Macropol (tel. (22) 822-43-37) i EBV Elektronik (tel. (71) 342-29-44).
Rys. 2.
Elektronika Praktyczna 12/2001
69
N O W E
P O D Z E S P O Ł Y
Scalony nadajnik uniwersalny Firma Micrel wprowadzi³a do sprzedaøy kolejny uk³ad naleø¹cy do rodziny QwikRadio. Uk³ad MICRF104 jest scalonym nadajnikiem UHF pracuj¹cym w†zakresie 300...470MHz. Wyposaøono go w†wewnÍ-
trzn¹ przetwornicÍ DC/DC, co umoøliwia pracÍ przy napiÍciu zasilania od 1,8V do 4V. Dodatkow¹ zalet¹ jest zaimplementowany w†uk³adzie system automatycznego
dostrajania anteny zewnÍtrznej. Antena wykonana jest w†formie p³ytki drukowanej. Moc nadajnika, ustawiana przez dobÛr wartoúci jednego opornika zewnÍtrznego, pozostaje w†miarÍ sta³a bez wzglÍdu na zmianÍ napiÍcia zasilania. Sygna³ modulowany jest w†systemie ASK/OOK, dane mog¹ byÊ przesy³ane z†szybkoúci¹ od 100b do 20kb na sekundÍ. Uk³ad moøe byÊ wykorzystany do radiowego sterowania np. urz¹dzeniami w†domu. Ze wzglÍdu na sposÛb transmisji, chwilowy pobÛr pr¹du w†czasie nadawania moøe siÍ wahaÊ od 9mA do 40mA (w†trybie oczekiwania pobÛr pr¹du wynosi ok. 600µA). Uk³ad jest oferowany w†obudowie SOIC14. Temperatura pracy 0 oC...+85 oC. http://www.micrel.com/product-info/products/micrf104.shtml Przedstawicielem Micrela w†Polsce jest firma Future (tel. (22) 618-92-02).
Rys. 3.
'51 w wykonaniu firmy Maxim Rynkowa popularnoúÊ sterownikÛw z†rodziny 8051 nie maleje od lat, a†kolejnego dowodu dostarcza firma Maxim. Mikrokontrolery oznaczone symbolami MAX7651 i†MAX7652 s¹ bowiem oparte na rdzeniu tego sterownika, ale wzbogacono je o†wiele dodatkowych moøliwoúci sprzÍtowych i†programowych. Sterowniki wyposaøono w†cztery 8-bitowe porty I/O, dwa niezaleøne porty szeregowe UART o†maksymalnej szybkoúci transmisji do 375kbd, przetwornik A/D o†rozdzielczoúci 12 bitÛw z†oúmiowejúciowym multiplekserem analogowym. OprÛcz tego uk³ady posiadaj¹ dwa niezaleøne modulatory PWM i†wewnÍtrzny
watchdog. W†stosunku do standardowej '51 zmieniona zosta³a nieco architektura wewnÍtrzna, m.in. uk³ad posiada trzy liczniki/timery, dwa rejestry DP i pamiÍÊ RAM o†pojemnoúci 256B. PamiÍÊ programu tworz¹ dwa oddzielne bloki o†pojemnoúci 8kB kaødy. Kod programu moøe byÊ takøe zapisany w†zewnÍtrznej pamiÍci EPROM. Dwa wewnÍtrzne bloki pamiÍci programu s¹ typu FLASH i†mog¹ byÊ wielokrotnie programowane i†kasowane. Uk³ady taktowane s¹ sygna³em zegarowym o†maksymalnej czÍstotliwoúci 12MHz. Poniewaø wykonanie wiÍkszoúci rozkazÛw wymaga jedynie 4†taktÛw zegara, sterowniki s¹
przeciÍtnie 2,5 razy szybsze od sterownikÛw '51 w†tradycyjnych wersjach. Uk³ad MAX7651 wymaga zasilania +5V, natomiast MAX7652 pracuje z†napiÍciem +3V. Procesory dostÍpne s¹ w†obudowach TQFP64. Zaleønie od wersji, zakres temper a t u r p r a c y w y n o s i 0 oC . . . + 7 0 oC l u b -40 oC...+80 oC. http://pdfserv.maxim-ic.com/arpdf/ MAX7651-MAX7652.pdf Przedstawicielem Maxima w†Polsce jest firma SE Spezial Electronic (tel. (0800) 1600-39).
Rys. 4.
70
Elektronika Praktyczna 12/2001
N O W E
P O D Z E S P O Ł Y
System−on−a−Chip firmy Agilent wprowadzi³ do produkcji uk³ady SoC przeznaczone do stosowania w†nowoczesnych urz¹dzeniach przenoúnych. Centralnym elementem uk³adu AAEC-2000 jest szybki procesor RISC ARM920T o†czÍstotliwoúci taktowania rdzenia 200MHz, silnie obudowany uk³adami peryferyjnymi, wúrÛd ktÛrych s¹: kontroler kolorowych matryc LCD, sterownik zewnÍtrznej pamiÍci, programowany blok PLL, a†takøe porty komunikacyjne USB, UART i†SPI. Uk³ady AAEC-2000 s¹ oferowane w†obudowach PBGA256 o†wymiarach 17x17mm i†wysokoúci 1,76mm.
Scalony miernik ładunku Uk³ad BQ26231 jest scalonym miernikiem ³adunku elektrycznego i†s³uøy jako kontroler ³adowania i†roz³adowania rÛønego rodzaju ogniw elektrycznych. Ze wzglÍdu na niewielkie rozmiary i†ma³y pobÛr pr¹du, nadaje siÍ do wspÛ³pracy m.in. z†pakietami akumulatorÛw litowo-jonowych i†wodorkowych. Informacje zbierane przez uk³ad zapisywane s¹ w†jego wewnÍtrznej pamiÍci RAM, sk¹d w†kaødej chwili mog¹ byÊ odczytane za poúrednictwem interfejsu szeregowego, np. przez zewnÍtrzny procesor. Informacje o†stanie nadzorowanych ogniw uk³ad czerpie za poúrednictwem wejúÊ SR1 i†SR2 do³¹czonych do opornika R1 o†wartoúci 0,02Ω. Opornik jest w³¹czony miÍdzy bieguny: minus ogniwa i†masa pakietu. W†zaleønoúci od tego czy ogniwa s¹ roz³adowywane, czy ³adowane oraz od wielkoúci p³yn¹cego pr¹du zmienia siÍ wielkoúÊ napiÍcia i†jego polaryzacja na oporniku R1. Proporcjonalnie do wielkoúci i†kierunku p³yn¹cego pr¹du uk³ad czÍúciej lub rzadziej zwiÍksza odpowiedni 16 bitowy licznik ³adowania lub roz³adowania ogniwa. Odczyt zawartoúci tych licznikÛw oraz licznikÛw czasÛw ³adowania/roz³adowania pozwala skalkulowaÊ zewnÍtrznemu sterownikowi poziom energii zgromadzonej w†ogniwach i†w†odpowiednim momencie zainicjowaÊ b¹dü
zakoÒczyÊ proces ich ³adowania. Dodatkowo za pomoc¹ BQ26231 moøna kontrolowaÊ samorzutne roz³adowywanie siÍ baterii, gdy nie s¹ pod³¹czone do obci¹øenia, oraz mierzyÊ temperaturÍ ich obudowy. W†przypadku, gdy napiÍcie zasilania spadnie poniøej wartoúci minimalnej, zawartoúÊ wewnÍtrznej pamiÍci RAM uk³adu podtrzymywana jest dziÍki zewnÍtrznemu napiÍciu doprowadzonemu do wyprowadzenia RBI. PobÛr pr¹du potrzebnego do podtrzymania zawartoúci pamiÍci nie przekracza 100nA. Sterownik procesorowy komunikuje siÍ z†uk³adem za poúrednictwem wyprowadzenia HDQ, ktÛre jest dwukierunkowym wyprowadzeniem interfejsu jednoprzewodowego.
Uk³ad zasilany jest napiÍciem 2,8...5,5V i†pracuje w†temperaturze od -20 oC do +70 oC. DostÍpny jest w†obudowie TSSOP o†8†wyprowadzeniach. Producentem jest firma Texas Instruments. http://www-s.ti.com/sc/psheets/slus491/ slus491.pdf Przedstawicielami Texas Instruments w†Polsce s¹ firmy: Contrans (tel. (71) 32526-21), EBV (tel. (71) 342-29-44), Eurodis (tel. (71) 301-04-00), Macropol (tel. (22) 82243-37), Setron (tel. (22) 634-47-36) i†Spoerle (tel. (22) 646-52-27).
Rys. 5.
Wzmacniacze operacyjne JFET Firma Analog Devices rozpoczͳa produkcjÍ wzmacniaczy operacyjnych z nowej rodziny wykonanych w†technologii JFET. Uk³ady wytwarzane s¹ w†trzech wersjach oznaczonych symbolami AD8510/AD8512/ AD8513. RÛøni¹ siÍ liczb¹ wzmacniaczy zintegrowanych w†jednej obudowie (1, 2†lub 4). Maj¹ takie same wartoúci parametrÛw: napiÍcie niezrÛwnowaøenia 400µV, wejúciowy pr¹d polaryzuj¹cy 30pA, czÍstotliwoúÊ pracy
72
do 7,5MHz i†duø¹ stabilnoúÊ wzmocnienia w†funkcji temperatury. WartoúÊ napiÍÊ zasilania mieúci siÍ w†przedziale od ±5V do ±15V, pr¹d wyjúciowy kaødego wzmacniacza moøe osi¹gaÊ wartoúÊ ±50mA. Wzmacniacze przystosowane s¹ do pracy w†szerokim zakresie temperatur -40oC...+125oC. Zaleønie od rodzaju uk³ady maj¹ 8†lub 14 wyprowadzeÒ i†s¹ dostÍpne w†kilku typach obudÛw: SO, MSOP, TSSOP.
http://www.analog.com/pdf/ AD8510_2_3_pr0.pdf Przedstawicielami Analog Devices w†Polsce s¹ firmy: Alfine (tel. (61) 820-58-11) i†Addis (tel. (32) 330-46-90).
Elektronika Praktyczna 12/2001
N O W E
P O D Z E S P O Ł Y
Sterownik matryc LED Uk³ad MIC5400 firmy Micrel s³uøy do indywidualnego sterowania jasnoúci¹ grupy 16 diod LED. G³Ûwnym obszarem jego zastosowaÒ s¹ wielkoformatowe wyúwietlacze LED, w†ktÛrych diody stanowi¹ pojedyncze
piksele obrazu. GrupÍ sterowanych LED-Ûw podzielono na dwa banki po 8†sztuk. Do sterowania ich jasnoúci¹ wykorzystuje siÍ 4-bitowe przetworniki DAC, przy czym jasnoúÊ úwiecenia kaø-
Rys. 6.
dej diody zaleøy od wspÛ³czynnika wype³nienia impulsÛw generowanych indywidualnie przez 16 modulatorÛw PWM. Do komunikacji z†uk³adem wykorzystuje siÍ 4-przewodow¹ magistralÍ, za pomoc¹ ktÛrej do wewnÍtrznego rejestru uk³adu wpisywane jest 36-bitowe s³owo steruj¹ce. Bity s³owa steruj¹cego okreúlaj¹ wartoúci, ktÛrymi programowane s¹ przetworniki DAC i†modulatory PWM oraz adresy konkretnych diod w†obu bankach, ktÛrych jaskrawoúÊ ma ulec zmianie. Uk³ady MIC5400 mog¹ byÊ sterowane kaskadowo, poniewaø bity s³owa steruj¹cego wpisywane do wejúcia SHIFTIN pojawiaj¹ siÍ potem na wyjúciu SHIFTOUT. Po w³¹czeniu zasilania uk³ad zeruje swoje wewnÍtrzne rejestry wygaszaj¹c wszystkie diody. WewnÍtrzny uk³ad watchdoga czuwa nad poprawnoúci¹ transmisji danych, kontroluj¹c wystÍpowanie impulsÛw taktuj¹cych na magistrali steruj¹cej. Uk³ad posiada zabezpieczenie termiczne i†ograniczenie pr¹du pobieranego przez diody. Poziom ograniczenia ustalany jest rezystorem Rset i†dla kaødego wyjúcia nie moøe przekraczaÊ 30mA. Uk³ad pracuje w†temperaturach otoczenia od -25 oC...+70 oC. 28-wyprowadzeniowa obudowa jest typu SOIC. http://www.micrel.com/product-info/products/mic5400.shtml Przedstawicielem Micrela w†Polsce jest firma Future (tel. (22) 618-92-02).
Nowe interfejsy RS485 Uk³ady firmy Maxim oznaczone symbolami MAX3040/43, MAX3041/3044 i†MAX3042B/ 3045B tworz¹ rodzinÍ poczwÛrnych nadajnikÛw linii w standardzie RS485/RS422. Zaleønie od typu, maksymalna szybkoúÊ transmisji moøe wynosiÊ 250kbd, 2,5Mbd lub 20Mbd. Wszystkie uk³ady s¹ odporne na przebicie przy ³adunku elektrostatycznym o†potencjale
±10kV. Zalet¹ uk³adÛw jest niski pobÛr pr¹du w†czasie pracy (do 2mA), a†w†czasie uúpienia poniøej 10µA przy napiÍciu zasilania +5V. Uk³ady wspÛ³pracuj¹ z†odbiornikami MAX9033E/9095 oraz MAX9094E/9096. WystÍpuj¹ w†wielu rodzajach obudÛw o†16 wyprowadzeniach: TSSOP, Narrow SO i†Wide SO. Temperatura pracy zaleønie od wersji
mieúci siÍ w†przedziale 0 o C...+70 o C lub -40oC...+80 o C. http://pdfserv.maxim-ic.com/arpdf/ MAX3040-MAX3045.pdf Przedstawicielem Maxima w†Polsce jest firma SE Spezial Electronic (tel. (0800) 1600-39).
Miniaturowa antena DECT Phycomp wprowadzi³ do sprzedaøy kolejn¹ miniaturow¹ antenÍ ceramiczn¹, tym razem przeznaczon¹ do aplikacji DECT 1,88GHz. Impedancja falowa anteny wynosi 50Ω, szerokoúÊ pasma najwiÍkszej skutecznoúci wynosi 100MHz, a†wspÛ³czynnik wzmocnienia ok. 2dB. Jedn¹ z†najwaøniejszych zalet nowej anteny s¹ specjalne z³¹cza montaøowe, umoøliwiaj¹ce jej wymianÍ bez ryzyka uszkodzenia p³ytki drukowanej. Wyprowadzenia s¹ oczywiúcie przystosowane do lutowania bezo³owiowego. Nowa antena jest wykonana w†technologii LTCC (Low Temperature Co-fired Ceramic), ktÛrej jedn¹ z†zalet jest ograniczenie poboru energii niezbÍdnej do jej wytworzenia. Przedstawicielem firmy Phycomp w†Polsce jest firma Avnet Macropol (tel. (22) 82243-37).
Elektronika Praktyczna 12/2001
73
N O W E
P O D Z E S P O Ł Y
Podwójny detektor SPM Firma Consumer Microcircuits Limited jest producentem uk³adu CMX661, ktÛry spe³nia rolÍ podwÛjnego detektora sygna³u SPM. Sygna³y te, generowane przez centrale telefoniczne, mog¹ byÊ rÛønie wykorzystane i†mog¹ s³uøyÊ np. do sporz¹dzania bilingÛw, obliczania czasu trwania po³¹czenia, sygnalizacji rozpoczÍcia po³¹czenia itd. Uk³ad umoøliwia detekcjÍ sygna³Ûw SPM o†czÍstotliwoúci zarÛwno 12kHz jak i†16kHz. Moøna takøe okreúliÊ tolerancjÍ czÍstotliwoúci sygna³u SPM, przy ktÛrej zostanie on jeszcze poprawnie odczytany. Parametry te ustawia siÍ za
pomoc¹ wyprowadzeÒ D0, D1 i†SYSTEM SELECT, na ktÛre naleøy podaÊ odpowiednie stany logiczne. Do w³¹czenia lub wy³¹czenia uk³adu s³uøy wyjúcie OP ENABLEN, ktÛre moøe byÊ uøyteczne w†sytuacji, gdy w†systemie pracuje wiÍcej niø jeden tego typu uk³ad. CMX661 zasilany jest napiÍciem 2,7...5,5V i†pobiera pr¹d do 2,5mA. Uk³ad moøe pracowaÊ w†temperaturze od -40oC do +85 oC. Jest dostÍpny w†16-nÛøkowej obudowie DIP lub SOIC.
http://www.cmlmicro.co.uk/Products/ telecom/cmx661.htm Przedstawicielem firmy CML w†Polsce jest firma Delta Tech (tel. (22) 788-48-85).
Rys. 7.
Niebanalne połączenie: mikrokontroler zintegrowany z nadajnikiem radiowym Jedn¹ z†ostatnich nowoúci wprowadzonych na rynek przez firmÍ Microchip s¹ uk³ady tworz¹ce rodzinÍ rfPIC. Integruj¹ one w†swoim wnÍtrzu mikrokontroler PIC12C509 z†szeregiem modu³Ûw peryferyjnych (w tym 8-bitowy programowany timer) oraz kompletny nadajnik radiowy na pasmo 310...480MHz. Aktualnie s¹ dostÍp-
74
ne dwa warianty uk³adÛw rfPIC, z†ktÛrych jeden wyposaøono w†nadajnik z†modulacj¹ ASK (rfPIC12C509AG), w†drugim (rfPIC12C509AF) nadajnik moøe pracowaÊ z†modulacj¹ ASK lub FSK. Maksymalna szybkoúÊ transmisji danych z†modulacj¹ ASK wynosi 40kbd, a†w†przypadku zastosowania modulacji FSK moøe ona wynosiÊ maksymalnie 20kbd. Moc wyjúciowa nadajnika jest regulowana w † z a k r e s i e -12...+2dBm, a†sygna³ wyjúciowy moøe byÊ przesy³any przez antenÍ symetryczn¹ lub asymetryczn¹. PamiÍÊ progra-
mu w†mikrokontrolerze jest typu EPROM i†ma pojemnoúÊ 1024 s³Ûw, moøna j¹ programowaÊ w†systemie po zamontowaniu uk³adu. Maksymalna czÍstotliwoúÊ taktowania mikrokontrolera wynosi 4MHz, a†minimalny czas trwania cyklu zegarowego wynosi 1µs. Uk³ady rfPIC mog¹ pracowaÊ z†napiÍciami zasilania z†przedzia³u 2,5...5,5V, w†zakresie temperatur otoczenia -40 oC...+85 oC. Uk³ady rfPIC12C509AG s¹ dostÍpne w†obudowach SOIC/CERDIP18, natomiast rfPIC12C509AF w†obudowach SOIC/CERDIP20. http://www.microchip.com/1010/pline/ rfpic/index.htm Przedstawicielami Microchipa w†Polsce s¹ firmy: Future (tel. (22) 618-92-02), Gamma (tel. (22) 663-83-76) i Memec-Unique (tel. (32) 238-05-60).
Elektronika Praktyczna 12/2001
P R O G R A M Y
Profesjonalny system wspomagający projektowanie układów elektronicznych Kontynuuj¹c prezentacjÍ systemu ORCAD zapraszamy do lektury kolejnego artyku³u, w†ktÛrym zapoznamy CzytelnikÛw z†moøliwoúciami modu³u edycji projektÛw p³ytek drukowanych LAYOUT. Podobnie, jak w†przypadku edytora schematÛw CAPTURE, w³aúciwoúci modu³u LAYOUT postaramy siÍ zaprezentowaÊ na przyk³adzie prostego wzmacniacza, ktÛrego schemat narysowaliúmy za pomoc¹ edytora schematÛw.
Edytor płytek drukowanych, część 1 Wprowadzenie Przed rozpoczÍciem opisu modu³u LAYOUT naleøy zwrÛciÊ uwagÍ CzytelnikÛw, øe modu³ ten jest dostÍpny w†trzech wariantach rÛøni¹cych siÍ zarÛwno moøliwoúciami jak i†cen¹. Firma Cadence, aktualny w³aúciciel OrCAD-a, oferuje modu³ LAYOUT w†nastÍpuj¹cych wersjach: - LAYOUT ENG ED (bez autoplacementu i autoroutera), - LAYOUT (bez autoplacementu, z†autorouterem), - LAYOUT PLUS (z autoplacementem i autorouterem). Poniewaø pojÍcia, ktÛrych uøyliúmy do wstÍpnego opisu w³aúciwoúci poszczegÛlnych odmian, mog¹ byÊ niezrozumia³e dla niektÛrych CzytelnikÛw, postaramy siÍ je krÛtko objaúniÊ. Autoplacement, czy teø placement udostÍpniany przez pakiet PCB jest programem umoøliwiaj¹cym zautomatyzowanie procesu rozmieszczania elementÛw elektronicznych, i†innych niezbÍdnych w†danym projekcie podzespo³Ûw, na zadanym, okreúlonym przez uøytkownika obszarze p³ytki. W†przypadku edytorÛw nie udostÍpniaj¹cych tej funkcji, ca³¹ procedurÍ uk³adania
Elektronika Praktyczna 12/2001
elementÛw na p³ytce naleøy wykonaÊ ìrÍcznieî, co w†przypadku bardziej skomplikowanych obwodÛw zajmuje duøo czasu oraz powiÍksza ryzyko wyst¹pienia b³ÍdÛw projektowych. Autorouter zwany rÛwnieø routerem, to program pozwalaj¹cy na automatyczne wytyczenie úcieøek, czyli utworzenie sieci po³¹czeÒ elektrycznych pomiÍdzy komponentami wchodz¹cymi w†sk³ad projektowanego obwodu drukowanego, w†sposÛb zgodny z†wczeúniej narysowanym schematem. O†ile rozmieszczenie elementÛw na p³ytce moøemy wykonaÊ rÍcznie, jeúli nie mamy do dyspozycji funkcji autoplacement, to zaprojektowanie úcieøek jest w†przypadku skomplikowanych, wielowarstwowych projektÛw ìrÍcznieî prawie nie do wykonania. WiÍcej informacji na temat wspomnianych funkcji podamy w†dalszej czÍúci artyku³u. Opisuj¹c funkcje dostÍpne w†module PCB bÍdziemy opieraÊ siÍ na wariancie modu³u LAYOUT PLUS, ktÛry jest najbogatszy z†punktu widzenia moøliwoúci i†zawiera zarÛwno autoplacement jak i autorouter. System OrCAD z³oøony z†modu³Ûw CAPTURE, PSPICE i†LAYOUT zapewnia
kompleksow¹ realizacjÍ dowolnego projektu uk³adu elektronicznego, pocz¹wszy od narysowania schematu, poprzez sprawdzenie (symulacjÍ) jego dzia³ania, a na zaprojektowaniu obwodu drukowanego skoÒczywszy. Rola programu LAYOUT, jako modu³u sk³adowego systemu, sprowadza siÍ do piÍciu zasadniczych funkcji. ✗ PrzyjÍcia niezbÍdnych informacji dotycz¹cych schematu uk³adu elektronicznego, dla ktÛrego chcemy zaprojektowaÊ p³ytkÍ drukowan¹. Informacje te przekazywane s¹ za pomoc¹ pliku netlisty generowanego przez modu³ do edycji schematÛw. Wykorzystano do tego celu modu³ CAPTURE. ✗ Okreúlenia parametrÛw tworzonej p³ytki, dotycz¹cych np.: jej rozmiaru, kszta³tu, liczby warstw, a†takøe parametrÛw dotycz¹cych úcieøek, odstÍpÛw miÍdzy nimi itd. ✗ Rozmieszczenia komponentÛw wchodz¹cych w†sk³ad projektowanego uk³adu elektronicznego na zadanym obszarze p³ytki. ✗ Wykonania po³¹czeÒ elektrycznych (úcieøek) pomiÍdzy poszczegÛlnymi komponentami znajduj¹cymi siÍ na
75
P R O G R A M Y
Rys. 1. p³ytce, zgodnie z†wczeúniej narysowanym schematem. ✗ Wykonania dokumentacji produkcyjnej. LAYOUT, podobnie jak opisywany wczeúniej CAPTURE, jest programem wymagaj¹cym umiejÍtnej obs³ugi. Tak jak w†CAPTURE, poszczegÛlne okna programu, zwi¹zane z†nimi paski narzÍdzi oraz menu zmieniaj¹ siÍ dynamicznie w†zaleønoúci od tego co aktualnie robimy. W†zaleønoúci od tego, ktÛre okno jest w†danej chwili aktywne, pewne funkcje znajduj¹ce siÍ w†menu aplikacji, odpowiednie ikony na paskach narzÍdziowych mog¹ byÊ niedostÍpne. Ponadto wiÍkszoúÊ funkcji, ktÛre zawiera LAYOUT, ma rÛøne ìdzia³anieî, w†zaleønoúci od sytuacji w†obszarze edycyjnym. Wprowadzaj¹c CzytelnikÛw w†zagadnienia zwi¹zane z†LAYOUT, naleøy rÛwnieø wyjaúniÊ znaczenie plikÛw, ktÛre edytor uøywa podczas przygotowywania projektu p³ytki. Najistotniejsze z†nich to: LIBRARY FILES, REPORT FILES, NETLIST FILES, BOARD FILES, BOARD TEMPLATES FILES, TECHNOLOGY TEMPLATES FILES oraz STRATEGY FILES. LIBRARY FILES, to biblioteki obudÛw jakie moøemy wykorzystaÊ podczas tworzenia obwodu drukowanego. LAYOUT zawiera ponad trzy tysi¹ce gotowych wzorÛw obudÛw (footprints), ktÛre s¹ pogrupowane w†zaleønoúci od typu w†kilkunastu bibliotekach. Uøytkownik moøe tworzyÊ w³asne wzory obudÛw oraz w³asne biblioteki. Pliki
Rys. 2.
76
LIBRARY FILES znajduj¹ siÍ standardowo w†katalogu LIBRARY i†posiadaj¹ rozszerzenie *.LLB. REPORT FILES - LAYOUT generuje pliki zawieraj¹ce informacje o†kaødej sesji edytora. LAYOUT.LOG nazywany takøe SESSION.LOG gromadzi dane na temat poszczegÛlnych sesji. Poniewaø informacje o†aktualnej sesji dopisywane s¹ do listy zdarzeÒ z†sesji poprzednich, powinniúmy co jakiú czas sprawdziÊ rozmiar LAYOUT.LOG i†jeúli plik nadmiernie siÍ rozrÛs³, skasowaÊ jego zawartoúÊ. Innym plikiem naleø¹cym do grupy REPORT FILES jest plik *.LIS. NETLIST FILE - jest to plik, ktÛry omawialiúmy juø podczas prezentacji edytora schematÛw CAPTURE. Lista po³¹czeÒ (netlista) jest plikiem, generowanym automatycznie przez odpowiedni program edytora schematÛw, zawieraj¹cym szereg danych wymaganych przez LAYOUT w†procesie przygotowywania wzoru p³ytki drukowanej. Plik netlisty posiada rozszerzenie *.MNL. BOARD FILE - pliki z†rozszerzeniem *.MAX s¹ tworzone automatycznie przez LAYOUT i†powstaj¹ poprzez po³¹czenie plikÛw netlisty *.MNL oraz TECHNOLOGY TEMPLATE (*.TCH) lub BOARD TEMPLATE (*.TPL). TECHNOLOGY TEMPLATES - pliki naleø¹ce do tej grupy posiadaj¹ rozszerzenie *.TCH i†pozwalaj¹ na szybkie i†³atwe ustalenie parametrÛw proj e k t o w y c h , z k t Û r y m i b Í d z i e p r ojektowana p³ytka. Upraszczaj¹c, plik *.TCH moøna traktowaÊ jako opisuj¹cy p³ytkÍ o†nieokreúlonych rozmiarach i†kszta³cie, nie zawieraj¹c¹ øadnych elementÛw elektronicznych ani danych na temat sieci po³¹czeÒ elektrycznych. TECHNOLOGY TEMPLATES zawieraj¹ wszystkie informacje, ktÛre powinny byÊ zdefiniowane podczas projektowania druku z†wyj¹tkiem netlisty. Okreúlaj¹ m.in. liczbÍ warstw, szerokoúÊ úcieøek, typ padÛw,
domyúlne odstÍpy oraz raster jakie zostan¹ zastosowane przez LAYOUT w†danym projekcie. Wszystkie zbiory naleø¹ce do grupy TECHNOLOGY TEMPLATES scharakteryzowane s¹ w†systemie pomocy LAYOUT. BOARD TEMPLATES - posiadaj¹ rozszerzenie *.TPL. Podobnie jak TECHNOLOGY TEMPLATES stanowi¹ fundament, na bazie ktÛrego budujemy now¹ p³ytkÍ. Parametry kaødego BOARD TEMPLATES, przekazywane do projektu, s¹ takie same jak zdefiniowano je w†DEFAULT.TCH. W†odrÛønieniu od TECHNOLOGY TEMPLATES zawieraj¹ dodatkowo przyk³adowe wzory (obrysy) p³ytek wraz z†innymi elementami fizycznymi np. z³¹czami krawÍdziowymi, otworami montaøowymi itp. STRATEGY FILES - edytor zawiera dwa rodzaje STRATEGY FILES: placement strategy oraz routing strategy. Co prawda obydwa typy posiadaj¹ rozszerzenie *.SF ale nazwy zbiorÛw wykorzystywanych przez funkcjÍ autoplacement rozpoczynaj¹ siÍ od liter PL. Placement strategy files definiuj¹ priorytety, jakie bÍd¹ brane pod uwagÍ podczas rozmieszczania elementÛw na p³ytce przy wykorzystaniu funkcji autoplacement. Routing strategy files charakteryzuj¹ natomiast sposÛb dzia³ania programu autorouter. Okreúlaj¹ domyúln¹ liczbÍ warstw wykorzystywanych w†procesie automatycznego wytyczania úcieøek, kierunek wytyczania úcieøek na poszczegÛlnych warstwach, sposÛb okreúlania lokalizacji przelotek (vias) itp. STRATEGY FILES dostarczane ³¹cznie z†edytorem s¹ zoptymalizowane pod k¹tem typu elementÛw stosowanych w†danym projekcie (przewlekane, SMD, mieszane), liczby warstw jakie s¹ udostÍpnione dla routera itd. Uøytkownik moøe ponadto tworzyÊ w³asne STRATEGY FILES. Wszystkie STRATEGY FILES udostÍpniane przez producenta s¹ scharakteryzowane w†systemie pomocy.
Rys. 3.
Elektronika Praktyczna 12/2001
P R O G R A M Y
Rys. 4.
Edytor LAYOUT PCB OrCAD LAYOUT przeznaczony jest do pracy w†úrodowisku Windows. Po zainstalowaniu oprogramowania skrÛty umoøliwiaj¹ce uruchomienie aplikacji s¹ standardowo dostÍpne z†poziomu menu START>PROGRAMY>ORCAD FAMILY RELEASE. Uruchomienie aplikacji powoduje otwarcie g³Ûwnego okna programu, w ktÛrym za pomoc¹ paska MENU jest dostÍp do podstawowych funkcji i†narzÍdzi edytora. Jeøeli naszym zamiarem jest otworzenie istniej¹cego projektu, naleøy skorzystaÊ z†polecenia OPEN znajduj¹cego siÍ w†MENU>FILE, jeøeli natomiast pragniemy utworzyÊ nowy projekt, naleøy uøyÊ polecenia NEW dostÍpnego takøe w†MENU>FILE. Proces tworzenia projektu nowej p³ytki za pomoc¹ LAYOUT polega na odpowiednim ìskompilowaniuî przez program dwÛch plikÛw: wybranego przez uøytkownika BOARD TEMPLATE (*.TPL) lub TECHNOLOGY TEMPLATE (*.TCH) oraz pliku netlisty (*.MNL). Wynikiem ìkompilacjiî jest plik *.MAX, ktÛry stanowi w³aúciwy plik projektu. Proces ³¹czenia plikÛw odbywa siÍ automatycznie. Po wybraniu polecenia NEW nastÍpuje uaktywnienie okna LOAD TEMPLATE FILE, z†ktÛrego naleøy wybraÊ interesuj¹cy nas plik *.TPL lub *.TCH (domyúlnie przywo³ywany jest DEFAULT.TCH). Pliki te znajduj¹ siÍ standardowo w†katalogu DATA. Po wciúniÍciu przycisku OK, uaktywnione zostaje okno LOAD NETLIST SOURCE, w†ktÛrym powinniúmy odszukaÊ plik netlisty *.MNL utworzony za pomoc¹ edytora schematÛw. Ponowne uøycie przycisku OK, tym razem w†oknie LOAD NETLIST SOURCE, rozpoczyna proces AutoECO, tj. wczytywania informacji zawartych w†pliku netlisty do edytora LAYOUT. AutoECO wykrywa konflikty jakie mog¹ pojawiÊ siÍ w†czasie procesu przekazywania danych (np. dioda uøyta podczas rysowania schematu w†CAPTURE ma piny oznaczone jako A†i†C, natomiast footprint skojarzony z†t¹ diod¹ w†LAYOUT ma piny oznaczone jako 1†i†2) oraz inne b³Ídy tego rodzaju.
78
Typowym b³Ídem, jaki moøe pojawiÊ siÍ podczas wczytywania netlisty, jest brak skojarzenia obudowy (footprint) dla jednego lub kilku elementÛw wystÍpuj¹cych na schemacie. Jeøeli taki przypadek zostanie wykryty w†trakcie AutoECO, edytor automatycznie sygnalizuje ten fakt wyúwietlaj¹c okno LINK FOOTPRINT TO COMPONENT (rys. 1). Za³Ûømy, øe podczas wczytywania netlisty schematu wzmacniacza, ktÛry rysowaliúmy prezentuj¹c CAPTURE, edytor nie odnalaz³ obudowy dla uk³adu TDA8551. Mamy wÛwczas do wyboru trzy moøliwoúci. OdnaleüÊ odpowiedni¹ obudowÍ w†bibliotece dostÍpnych i†skojarzyÊ j¹ z†TDA8551, utworzyÊ now¹ obudowÍ dla tego elementu/ zmodyfikowaÊ istniej¹c¹ lub zignorowaÊ b³¹d. Wyboru dokonujemy w†oknie LINK FOOTPRINT TO COMPONENT za pomoc¹ odpowiedniego przycisku. Jeøeli chcemy odnaleüÊ odpowiedni¹ obudowÍ w†bibliotekach, naleøy skorzystaÊ z†przycisku opisanego jako LINK EXISTING FOOTPRINT TO COMPONENT. Wykonanie tej operacji spowoduje otwarcie okna FOOTPRINT FOR TDA8551 (rys. 2), ktÛre jest rodzajem przegl¹darki obudÛw elementÛw (footprints). Opisywane okno sk³ada siÍ z†trzech pÛl. Pole LIBRARIES zawiera wykaz bibliotek, ktÛre moøemy przegl¹daÊ, natomiast pole FOOTPRINTS prezentuje zawartoúÊ pojedynczej biblioteki (aktualnie podúwietlonej w†polu LIBRARIES). Trzecie pole s³uøy do graficznego odzwierciedlenia obudowy, co jest bardzo wygodne, jeøeli nie znamy jeszcze symboliki uøywanej do opisu obudÛw. Jeøeli uda³o nam siÍ odszukaÊ pasuj¹c¹ obudowÍ, wystarczy klikn¹Ê OK. Jeøeli nasze poszukiwania zakoÒczy³y siÍ niepowodzeniem, obudowÍ naleøy po prostu dorobiÊ. W†tym celu wybieramy CANCEL i†w†oknie EXISTING FOOTPRINT TO COMPONENT klikamy przycisk CREATE OR MODIFY FOOTPRINT LIBRARY, co powoduje przejúcie aplikacji do okna LIBRARY MANAGER (rys. 3). Opisywane okno umoøliwia zarÛwno podgl¹d, edycjÍ jak i†tworzenie nowych footprints. LIBRARY MANAGER sk³ada siÍ z†dwÛch okien. Okno znajduj¹ce siÍ po lewej stronie s³uøy do przegl¹dania bibliotek oraz wyboru obudowy, ktÛr¹ chcemy dostosowaÊ do naszych potrzeb. Uøywaj¹c tego okna moøna nie tylko wybieraÊ obudowÍ ìdo przerÛbkiî, ale takøe stworzyÊ nowy footprint lub skasowaÊ dowolny istniej¹cy. Wykonanie wszystkich tych operacji umoøliwiaj¹ przyciski CREATE NEW FOOTPRINT, SAVE, SAVE AS oraz DELETE FOOTPRINT znajduj¹ce siÍ w†dolnej czÍúci okna. Drugim oknem wchodz¹cym w†sk³ad LIBRARY MANAGER jest okno FOOTPRINT EDITOR pozwalaj¹ce na wyúwietlenie oraz edy-
Rys. 5. cjÍ graficzn¹ obudowy podczas jej tworzenia lub modyfikacji. W†celu utworzenia nowej obudowy naleøy klikn¹Ê na przycisku CREATE NEW FOOTPRINT, a†nastÍpnie podaÊ w†odpowiednim polu nazwÍ nowej obudowy oraz jednostkÍ miary, jak¹ chcemy zastosowaÊ. Po wykonaniu tej operacji moøemy przejúÊ do okna FOOTPRINT EDITOR. Tworzenie nowej obudowy najlepiej rozpocz¹Ê od naniesienia pinÛw, ktÛrych liczba i†raster (rozstaw) powinny odpowiadaÊ rzeczywistemu elementowi. Waøne jest, aby przed rozpoczÍciem pracy odpowiednio okreúliÊ siatkÍ (tzw. grid), w†ktÛrej ustalane bÍdzie po³oøenie poszczegÛlnych elementÛw sk³adowych tworzonej obudowy. Parametr ten okreúlamy w†oknie SYSTEM SETTINGS (rys. 4), dostÍpnym po wybraniu polecenia SYSTEM SETTINGS z†poziomu MENU>OPTIONS. Kiedy rozpoczynamy pracÍ w†FOOTPRINT EDITOR, pierwszy pin umieszczany jest automatycznie w†punkcie o†wspÛ³rzÍdnych 0.0, a†najprostsz¹ metod¹ naniesienia pozosta³ych pinÛw jest wykorzystanie klawisza INSERT. Przed rozpoczÍciem dodawania pinÛw musimy wybraÊ polecenie SELECT TOOL znajduj¹ce siÍ w MENU>TOOL>PIN. Po wykonaniu tej operacji kaøde naciúniÍcie klawisza INSERT powodowaÊ bÍdzie dodanie kolejnego pinu, ktÛry powinniúmy ustawiÊ w†odpowiednim miejscu i†ìzatwierdziÊî jego lokalizacjÍ za pomoc¹ lewego klawisza myszki. W†okreúleniu po³oøenia kolejno nanoszonych pinÛw pomaga pasek statusu (rys. 5) wyúwietlaj¹cy ich wspÛ³rzÍdne wzglÍdem punktu zerowego, znajduj¹cy siÍ w†gÛrnej czÍúci okna LIBRARY MANAGER. Po naniesieniu wszystkich pinÛw naleøy nanieúÊ obrys elementu, czyli okreúliÊ przestrzeÒ na p³ytce jaka powinna byÊ dla niego zarezerwowana. W†edytorze LAYOUT mamy do dyspozycji kilka rÛønych obrysÛw, ktÛre w†trakcie projektowania p³ytki spe³nia-
Rys. 6.
Elektronika Praktyczna 12/2001
P R O G R A M Y
Rys. 7. j¹ rÛøne funkcje. NajczÍúciej wykorzystywane obrysy to: - PLACE OUTLINES - obrys definiuj¹cy przestrzeÒ zajmowan¹ przez dany element. Obrys ten jest niezbÍdny dla prawid³owego dzia³ania funkcji autoplacement i†powinien byÊ nieco wiÍkszy niø rzeczywiste rozmiary elementu. - DETAIL - obrys detalu odpowiadaj¹cy kszta³tem i†wielkoúci¹ przyporz¹dkowanemu elementowi. Jest wykorzystywany np. podczas wykonywania dokumentacji montaøowej czy sitodruku na p³ytce, powinien wiÍc reprezentowaÊ dany element w†sposÛb jak najbardziej zbliøony do rzeczywistoúci. W†celu naniesienia obrysu elementu, w†oknie LIBRARY MANAGER naleøy uprzednio wybraÊ polecenie SELECT
80
TOOL z†poziomu MENU>TOOL>OBSTACLE. Po wykonaniu tej operacji ustawiamy kursor w†oknie LIBRARY MANAGER w†miejscu, od ktÛrego chcemy rozpocz¹Ê nanoszenie obrysu. Pojedyncze klikniÍcie lewym klawiszem myszki rÛwnoznaczne jest z†podaniem miejsca pocz¹tkowego, od ktÛrego bÍdzie kreúlona linia. Typ obrysu okreúlamy w†oknie EDIT OBSTACLE (rys. 6) uaktywnianym klawiszem ENTER (lub poprzez dwukrotne klikniÍcie lewym klawiszem myszki). Aby dodaÊ obrys typu DETAIL, naleøy w†oknie EDIT OBSTACLE, w†polu OBSTACLE TYPE wybraÊ DETAIL, natomiast w†polu OBSTACLE LAYER ustawiÊ wartoúÊ STOP. Pozosta³e parametry w†obszarze okna moøemy modyfikowaÊ w†zaleønoúci od potrzeb lub pozostawiÊ wartoúci domyúlne. Nanoszenie obrysu elementu moøliwe jest za pomoc¹ myszki lub klawiatury (wykorzystuj¹c klawisze kierunkowe). Za³amanie rysowanej linii, np. o†90 stopni, zapewnia klawisz spacji lub lewy klawisz myszki. Obrys elementu powinien stanowiÊ obszar zamkniÍty. W†celu poprawnego dzia³ania funkcji autoplacement, po naniesieniu obrysu typu DETAIL naleøy na-
nieúÊ jeszcze obrys PLACE OUTLINES. Procedura jest taka sama jak poprzednio z†tym, øe w†oknie EDIT OBSTACLE (rys. 6) pole OBSTACLE TYPE ustawiamy jako PLACE OUTLINE, natomiast OBSTACLE LAYER jako GLOBAL. Pozosta³e obrysy elementu nanosimy w†zaleønoúci od potrzeb w†taki sam sposÛb. Po utworzeniu nowego wzoru obudowy w†FOOTPRINT EDITOR naleøy go zachowaÊ na dysku. Najlepiej skorzystaÊ z†polecenia SAVE AS. Okno SAVE FOOTPRINT AS (rys. 7), ktÛre otwiera siÍ w†tym momencie, pozwala na okreúlenie biblioteki, w†ktÛrej chcemy zachowaÊ now¹ obudowÍ. Wykorzystuj¹c przycisk CREATE NEW LIBRARY znajduj¹cy siÍ w†omawianym oknie moøemy rÛwnieø utworzyÊ now¹ bibliotekÍ(-ki), w†ktÛrej bÍdziemy gromadzili przygotowane wzory obudÛw. RK
Dodatkowe informacje Oprogramowanie do testów udostêpni³a redakcji firma RK-System, tel. (22) 724-30-39. Ewaluacyjna wersja OrCAD-a 9.1 znajduje siê na p³ycie CD-EP9/2001B.
Elektronika Praktyczna 12/2001
K U R S
Na øyczenie wielu CzytelnikÛw, rozpoczynamy cykl artyku³Ûw, w†ktÛrych krok po kroku przedstawimy architekturÍ mikrokontrolerÛw PIC16F8x firmy Microchip, jednych z†najpopularniejszych w†naszym kraju. Mikrokontrolery z†intelowskiej rodziny MCS51 dominuj¹ w†systemach mikroprocesorowych nie tylko w†naszym kraju. O†tym chyba nie trzeba nikogo przekonywaÊ. Dlaczego tak jest? Zwi¹zane jest to niew¹tpliwie z†bardzo dobrze przemyúlan¹ architektur¹ i†list¹ rozkazÛw. Ponadto, lata obecnoúci na rynku zaowocowa³y wieloma aplikacjami i†doskona³ymi narzÍdziami projektowymi. Dodajmy do tego wielu producentÛw oferuj¹cych rdzeÒ zgodny z†MCS51, z†wbudowanymi wieloma peryferiami umoøliwiaj¹cymi wspÛ³pracÍ z zewnÍtrznymi uk³adami peryferyjnymi (np. portem rÛwnoleg³ym 8255, portem szeregowym 8251 itp.).
Chociaø ìstaruszekî ma siÍ dobrze, to chyba nie naleøy siÍ spodziewaÊ, øe taki stan rzeczy bÍdzie trwa³ wiecznie. Powstaj¹ mikrokontrolery, ktÛre skutecznie konkuruj¹ z†tym potentatem. Maj¹ one do zaoferowania wiele nowoczesnych rozwi¹zaÒ zwiÍkszaj¹cych funkcjonalnoúÊ i†szybkoúÊ dzia³ania przy coraz mniejszym poborze mocy.
Rys. 1. Schemat blokowy mikrokontrolerów PIC16F8x.
Elektronika Praktyczna 12/2001
Jednym z†takich opracowaÒ, zdobywaj¹cych sobie coraz wiÍksz¹ popularnoúÊ w†úwiecie, s¹ mikrokontrolery rodziny PIC16 firmy Microchip. W†jej sk³ad wchodzi ponad 60 mikrokontrolerÛw rÛønych typÛw rÛøni¹cych siÍ miÍdzy sob¹ rodzajem pamiÍci programu (Flash, EEPROM, EPROM), liczb¹ linii portÛw oraz wbudowanymi peryferiami. Te najbardziej rozbudowane maj¹ wbudowane interfejsy USART, I2C i†SPI, 368 bajtÛw pamiÍci RAM, oraz 33 linie portÛw, ktÛre mog¹ byÊ obci¹øane pr¹dem 20mA. Wiele z†mikrokontrolerÛw ma wbudowan¹ pamiÍÊ danych typu EEPROM. W†artykule skupimy siÍ na architekturze mikrokontrolerÛw PIC16F8x. S¹ to uk³ady, ktÛre zdoby³y sobie zas³uøon¹ popularnoúÊ w†konstrukcjach amatorskich. Przyczyni³o siÍ do tego niew¹tpliwie stosunkowo ³atwe programowanie pamiÍci programu za pomoc¹ 2-przewodowego interfejsu typu ICSP (ang. In Circuit Serial Programming). Firmowe programatory i†systemy emulacyjne mikrokontrolerÛw firmy Microchip zawsze uchodzi³y za bardzo dobre, ale niestety drogie. Jednak dla PIC16F83/84 opracowano wiele niekomercyjnych programatorÛw wraz oprogramowaniem. Ich kompletn¹ dokumentacjÍ moøna znaleüÊ bez trudu w†Internecie. Najprostsze z†nich zawieraj¹ kilka elementÛw, nie wymagaj¹ oddzielnego zasilacza i†wykorzystuj¹ z³¹cze szeregowe PC-ta. Jednak programator to nie wszystko. Microchip oferuje darmowy doskona³y asembler (w wersji DOS i†Windows). Moøna go úci¹g-
81
K U R S
Rys. 2. Mapa pamięci danych mikrokontrolerów PIC16F8x. n¹Ê ze strony http://www.microchip.com/10/tools/picmicro/code/ mpasm/index.htm. Opublikowaliúmy go takøe na p³ycie CD-EP1. Dla bardziej zaawansowanych programistÛw jest teø dostÍpny linker i†bibliotekarz. Na internetowej stronie producenta dostÍpnych jest wiele kodÛw ürÛd³owych dla programowych modu³Ûw UART, I2C itp. Opisywany w†EP7/00 modu³ z†PIC16F84 daje teø moøliwoúÊ elastycznego konfigurowania prostych i†trochÍ bardziej skomplikowanych aplikacji mikrokontrolera. Zwalnia to projektanta, przynajmniej na pocz¹tku, ze ømudnego tworzenia uk³adu prototypowego. Architektura MCS51 jest opisana w†wielu publikacjach w†jÍzyku polskim. Duøo gorzej jest z†mikrokontrolerami PIC. Niniejszy artyku³ ma za zadanie tÍ lukÍ przynajmniej czÍúciowo wype³niÊ. Architektura wielu mikroprocesorÛw oparta jest na architekturze opracowanej jeszcze w†latach 40. przez von Neumanna. W†takim rozwi¹zaniu pamiÍÊ programu oraz danych maj¹ wspÛln¹ magistralÍ. W†mikrokontrolerach PIC16xx zastosowano architekturÍ typu Harvard. PamiÍÊ programu i†pamiÍÊ danych maj¹ w³asne odrÍbne magistrale. Odseparowanie obu pamiÍci pozwoli³o na elastyczne dostosowanie
82
d³ugoúci s³owa pamiÍci programu do przyjÍtych za³oøeÒ konstrukcyjnych. W†PIC16C8x kody rozkazÛw maj¹ d³ugoúÊ 14-tu bitÛw i†s¹ pobierane w†jednym cyklu rozkazowym. Kaødy cykl rozkazowy jest podzielony na dwie fazy: pobranie rozkazu i†wykonanie go. Aby zwiÍkszyÊ wydajnoúÊ, w†czasie kiedy zaczyna siÍ druga faza czyli dekodowanie i†wykonywanie rozkazu, jest jednoczeúnie pobierany nastÍpny rozkaz. Tak jest do momentu natrafienia na rozkaz wywo³ania podprogramu lub rozkaz skoku. Wtedy pobrany nastÍpny rozkaz za instrukcj¹ skoku (lub wywo³ania) jest ignorowany, a†ca³a procedura rozpoczyna siÍ na nowo od adresu, do ktÛrego wykonany by³ skok. Wszystko to powoduje, øe przy oscylatorze 10MHz pojedynczy rozkaz jest wykonywany w†czasie 400ns. DoúÊ istotn¹ cech¹ wyrÛøniaj¹c¹ tÍ architekturÍ jest zredukowana do 35 lista rozkazÛw (RISC). Schemat blokowy mikrokontrolerÛw rodziny PIC16F8x pokazano na rys. 1. Mikrokontrolery PIC16F8x maj¹ 13bitowy licznik rozkazÛw. Moøe on wiÍc zaadresowaÊ do 8ks³Ûw pamiÍci programu. Fizycznie jest zaimplementowanych jednak tylko 1ks³Ûw: od adresu 0x0000 do adresu 0x03ff. Po restarcie licznik rozkazÛw ustawia siÍ na adres 0x0000. Procedury obs³ugi wszystkich przerwaÒ musz¹ zaczynaÊ siÍ od adresu 0x0004. PamiÍÊ danych podzielono na dwa banki (rys. 2). W†banku 0,†od adresu 0x00 do adresu 0x0b (0x0d w†'F84), umieszczono pierwsz¹ czÍúÊ obszaru rejestrÛw SFR. W obszarze 36/68 bajtÛw, oznaczonym jako General Purpose Register (GPR), jest statyczna pamiÍÊ RAM wykorzystywana do przechowywania danych uøytkownika. W†banku 1, od adresu 0x80 do adresu 0x8b, umieszczono drug¹ czÍúÊ rejestrÛw SFR. Adresowanie obszaru od adresu 0x8c do adresu 0xaf powoduje odwo³anie siÍ do obszaru GPR z†banku 0. Przyk³adowo, zaadresowanie komÛrki o†adresie 0x0c i†0x8c spowoduje odwo³anie siÍ do tej samej danej. Wybieranie banku realizowane jest poprzez zerowanie lub ustawianie bitu RP0 w†rejestrze STATUS np.:
bcf STATUS.RP0;wybór banku 0 bsf STATUS.RP0;wybór banku 1 PamiÍÊ danych zawiera rÛwnieø 64 bajty pamiÍci EEPROM. DostÍp do niej moøliwy jest tylko poprzez adresowanie poúrednie. D³ugoúÊ s³owa we wszystkich komÛrkach pamiÍci danych wynosi 8†bitÛw. Mikrokontrolery PIC16F8x posiadaj¹ 8-poziomowy stos. Jest to zespÛ³ 13bitowych rejestrÛw, ktÛre s¹ umieszczone poza przestrzeni¹ adresow¹ pamiÍci programu i†danych. Zawartoúci stosu nie moøna bezpoúrednio odczytaÊ ani zapisaÊ do niego w³asnych danych (brak rozkazÛw typu push i†pop). Naleøy pamiÍtaÊ, øe stos jest buforem ko³owym co oznacza, øe po jego zape³nieniu wys³anie kolejnego (dziewi¹tego) adresu spowoduje modyfikacjÍ zapisanego jako pierwszy.
Rejestry SFR W†rejestrze STATUS REGISTER (rys. 3) przechowywane s¹ bity statusu operacji arytmetycznych i†logicznych (flagi Z, DC i†C) oraz bity wyboru banku pamiÍci. Jak kaødy rejestr, tak i†ten, moøe przechowywaÊ wynik dowolnej operacji. W†takim przypadku zapis bitÛw Z, DC i†C jest zablokowany. Bity te s¹ zerowane lub ustawiane tylko poprzez uk³ady logiczne jednostki ALU. Nie jest teø moøliwe zerowanie lub ustawianie w†ten sposÛb bitÛw T0 i†PD. WidaÊ wiÍc, øe efekt dzia³ania instrukcji, ktÛrej wynik jest umieszczony w†STATUS REGISTER moøe byÊ inny od zamierzonego. Do modyfikacji tego rejestru powinny byÊ uøyte rozkazy bcf, bsf, swapf i†movwf, poniewaø nie zmieniaj¹ bitÛw Z, DC i†C. Rejestr OPTION_REG (rys. 4) zawiera bity ustalaj¹ce konfiguracjÍ preskalera licznika/timera TMR0 (lub licznika watchdoga WDT), sposÛb wyzwalania przerwaÒ zewnÍtrznych oraz ürÛd³o impulsÛw licznika TMR0. OprÛcz tego moøliwe jest do³¹czanie wewnÍtrznego rezystora ìpodci¹ganiaî linii portu POTRB do plusa zasilania. Wszystkie przerwania (wewnÍtrzne i†zewnÍtrzne) w†mikrokontrolerach PIC16F8x mog¹ byÊ indywidualnie maskowane. Do tego celu s³uøy rejestr
Tab. 1. Zestawienie podstawowych parametrów mikrokontrolerów tworzących rodzinę PIC16F8x. Nazwa parametru Częstotliwość taktowania Pojemność pamięci programu Flash Pojemność pamięci programu ROM Pamięć danych RAM Pamięć danych EEPROM Liczba źródeł przerwań Liczba dostępnych linii I/O Napięcie zasilania
PIC16F83 10MHz 512 − 36 64 4 13 2,0..6,0
PIC16F84 10MHz 1024 − 68 64 4 13 2,0..6,0
PIC16CR83 10MHz − 512 36 64 4 13 2,0..6,0
PIC16CR84 10MHz − 1024 68 64 4 13 2,0..6,0
Elektronika Praktyczna 12/2001
K U R S
Rys. 3. Rejestr STATUS REGISTER (0x03, 0x83). R − bit, który można czytać W − bit, który można ustawiać lub zerować U − bit nie zaimplementowany 0, 1, x − wartości bitów po włączeniu zasilania (x− wartość nieokreślona) bit 7: IRP − bit w PIC16F84 nie używany (powinien być wyzerowany) bit 6...5: RP1...RP0: bity wyboru banku pamięci danych 00 = Bank 0 (0x00...0x7F) 01 = Bank 1 (0x80h...0xFF) 10 = Bank 2 (0x100h...0x17F) 11 = Bank 3 (0x180...0x1FF) Bit RP1 powinien być wyzerowany. Selekcji banków dokonuje się za pomocą bitu RP0.
bit 4: TO: time−out bit 1 = po włączeniu zasilania, po instrukcji CLRWDT lub instrukcji SLEEP 0 = po przepełnieniu licznika WDT (watchdog) bit 3: PD: Power−down bit 1 = po włączeniu zasilania lub po instrukcji CLRWDT 0 = przez wykonanie instrukcji SLEEP bit 2: Z: Zero bit 1 = rezultat operacji arytmetycznej lub logicznej równa się zero 0 = rezultat operacji nie równa się zero bit 1: DC: bit przeniesienia połówkowego bit 0: C: bit przeniesienia lub pożyczki dla operacji arytmetycznych wykorzystywany też w rozkazach przesunięcia rrf lub rlf
Rys. 4. Rejestr OPTION_REG (0x81). bit 7: RBPU: bit sterujący włączaniem podciągania do plusa linii PORTB 1 = PORTB podciąganie wyłączone 0 = PORTB podciąganie włączone bit 6: INTEDG: rodzaj zbocza wyzwalającego przerwanie zewnętrzne 1 = Przerwanie wyzwalane narastającym zboczem na pinie RB0/INT 0 = Przerwanie wyzwalane opadającym zboczem na pinie RB0/INT bit 5: T0CS: wybór źródła impulsów licznika/timera TMR0 1 = Impulsy zliczane są z pinu RA4/T0CKI 0 = Źródłem impulsów jest przebieg o częstotliwości oscylatora kwarcowego podzielonej przez 4
bit 4: T0SE: zbocze przy którym następuje inkrementacja licznika/timera TMR0 1 = Inkrementacja następuje przy opadającym zboczu na pinie RA4/T0CKI 0 = Inkrementacja następuje przy narastającym zboczu na pinie RA4/T0CKI bit 3: PSA: przyporządkowanie preskalera 1 = Preskaler przyporządkowany do WDT 0 = Preskaler przyporządkowany do TMR0 bit 2−0: PS2:PS0 współczynnik podziału preskalera (wartości przedstawiono w tab. 2)
Rys. 5. Rejestr INTCON REGISTER (0x0B, 0x8B). bit 7: GIE: zezwolenie na wszystkie nie zamaskowane aktualnie przerwania 1 = Przerwania odblokowane 0 = Przerwania zablokowane bit 6: EEIE: maska przerwania generowanego w momencie zakończenia wpisu do pamięci EEPROM użytkownika 1 = Przerwanie dozwolone 0 = Przerwanie zabronione bit 5: T0IE: maska przerwania generowanego w momencie przepełnienia licznika/timera TMR0 1 = Przerwanie dozwolone 0 = Przerwanie zabronione bit 4: INTE: maska przerwania zewnętrznego (zmiana na wejściu RB0/INT ) 1 = Przerwania dozwolone 0 = Przerwanie zabronione bit 3: RBIE: maska przerwania zewnętrznego od zmian na liniach PB4...PB7 portu PORTB 1 = Przerwanie dozwolone 0 = Przerwanie zabronione
bit 2: T0IF: flaga ustawiana w momencie przepełnienia TMR0 1 = przepełnienie TMR0 (musi być zerowana w obsłudze przerwania) 0 = nie ma przepełnienia TMR0 bit 1:flaga INTF: flaga ustawiana w momencie wystąpienia przerwania zewnętrznego RB0/INT 1 = Wystąpiło przerwanie zewnętrzne RB0/INT (musi być zerowana w obsłudze przerwania) 0 = Przerwanie RB0/INT nie wystąpiło bit 0: RBIF: flaga ustawiana w momencie zmiany na którymś z wejść PB4...PB7 1 = nastąpiła zmiana na liniach PB4...PB7(musi być zerowana w obsłudze przerwania) 0 = na żadnym z tych pinów nie wystąpiła zmiana
INTCON REGISTER, ktÛrego budowÍ pokazano na rys. 5. Z†portem A†s¹ zwi¹zane dwa rejestry z†obszaru SRF: TRISA (adres 0x85) i†PORTA (adres 0x05). StrukturÍ tych rejestrÛw pokazano s¹ na rys. 6.
Poniewaø port A†ma tylko 5†linii, to bity Bit5...Bit7 nie maj¹ swojego fizycznego odpowiednika w†liniach portu A†i†nie s¹ zaimplementowane. Podczas operacji czytania obu rejestrÛw na tych bitach ustawiane s¹ zera.
84
Rejestr TRISA s³uøy do okreúlania czy dana linia jest wejúciowa, czy wyjúciowa. Ustawienie (wpisanie jedynki) odpowiedniego bitu TRISA powoduje ustawienie odpowiadaj¹cej temu bitowi linii jako wejúciowej (po w³¹czeniu zasilania lub zerowaniu wszystkie linie s¹ wejúciowe). Wyzerowanie ktÛregoú z†bitÛw powoduje ustawienie odpowiadaj¹cej mu linii jako wyjúciowej. W†ten sposÛb ustawiaj¹c lub zeruj¹c bity rejestru TRISA moøna dowolnie ustawiaÊ linie portu A†jako wejúciowe lub wyjúciowe. Linie RA0...RA3 s¹ liniami o†poziomach TTL (wejúcie i†wyjúcie). Linia RA4 ma na wejúciu bramkÍ Schmitta, natomiast wyjúcie jest typu otwarty dren. Linia ta moøe teø byÊ wejúciow¹ dla zewnÍtrznych impulsÛw licznika/ timera TMR0 (patrz bit T0CS w†OPTION_REG - rys. 4). Odczytuj¹c zawartoúÊ rejestru PORTA moøemy stwierdziÊ, jakie stany wystÍpuj¹ na pinach portu A. W†momencie zapisu do PORTA jego zawartoúÊ jest przepisywana do przerzutnikÛw linii portu. Jeøeli teraz odpowiedni bit TRISA jest rÛwny zero, to wartoúÊ zapisana do przerzutnika pojawia siÍ na linii portu. Port B†jest rÛwnieø powi¹zany z†dwoma rejestrami SFR: TRISB (adres 0x86) i†PORTB (adres 0x06). Ponadto opisany wyøej bit RBPU w†rejestrze OPTION_REG steruje ìpodci¹ganiemî pinÛw portu do plusa zasilania (rys. 7). KomÛrki zaznaczone na szaro nie dotycz¹ portu B. Ustawienie odpowiedniego bitu TRISB powoduje prze³¹czenie odpowiadaj¹cej mu linii w†stan wysokiej impedancji. W†trybie wejúciowym moøna do³¹czyÊ do wszystkich linii rezystor ìpodci¹gaj¹cyî do plusa zasilania (a w³aúciwie tranzystor MOS spe³niaj¹cy funkcjÍ rezystora). Realizuje siÍ to przez wyzerowanie bitu RBPU w†rejestrze OPTION_REG (rys. 4). Wyzerowanie odpowiedniego bitu TRISB powoduje ustawianie odpowiadaj¹cej mu linii w†trybie wyjúciowym. W†tym momencie nastÍpuje teø auto-
Tab. 2. Współczynniki podziału częstotliwości przez preskaler dla liczników TMR0 i WDT. PS2...PS0 000 001 010 011 100 101 110 111
TMR0 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256
WDT 1:1 1:2 1:4 1:8 1:16 1:32 1:64 1:128
Elektronika Praktyczna 12/2001
K U R S
Rys. 6. Rejestry TRISA (0x85) i PORTA (0x05). x − wartość nieokreślona u − wartość nie zmieniana
(1) wartości po włączeniu zasilania (2) wartości po zerowaniu
Rys. 7. Rejestry TRISB (0x86) i PORTB (0x06). (1) wartości po włączeniu zasilania (2) wartości po zerowaniu
x − wartość nieokreślona u − wartość nie zmieniana
matyczne wy³¹czenie podci¹gania do plusa zasilania dla tej linii. Zmiany na czterech liniach portu B†RB4...RB7 mog¹ generowaÊ przerwania. Oczywiúcie, zmiany te dotycz¹ tylko linii ustawionych jako wejúciowe. Stany na tych liniach porÛwnywane s¹ z†poprzedni¹ wartoúci¹ wpisan¹ do specjalnie do tego celu przeznaczonych przerzutnikÛw. Wpisywanie do tych przerzutnikÛw nastÍpuje w†momencie odczytu rejestru PORTB. WidaÊ wiÍc, øe przerwanie jest generowane w†momencie wyst¹pienia zmiany na liniach od czasu ostatniego czytania PORTB. W†obs³udze przerwania naleøy odczytaÊ PORTB i†wyzerowaÊ flagÍ RBIF w†INTCON REGISTER. Aby przerwanie mog³o byÊ zg³oszone, naleøy teø ustawiÊ jedynkÍ na bicie maski RBIE w†INTCON REGISTER (rys. 5). Linia RB0/INT spe³nia rolÍ wejúcia przerwania zewnÍtrznego. Bit INTEDG w†OPTION REGISTER okreúla rodzaj zbocza, przy ktÛrym to przerwanie zostanie przyjÍte (jeøeli bit maski INTE w†INTCON REGISTER bÍdzie jedynk¹). Procedura obs³ugi
przerwania musi zerowaÊ bit flagi INTF (INTCON REGISTER). Wszystkie linie portu B†s¹ liniami zgodnymi ze standardem TTL. Linie obu portÛw mog¹ byÊ konfigurowane jako wejúciowe lub wyjúciowe. Poprzez zmianÍ bitÛw w†rejestrach TRIS moøna w†trakcie wykonywania programu tworzyÊ linie dwukierunkowe. Zaleca siÍ w†takim przypadku bardzo ostroøne wykorzystywanie instrukcji manipuluj¹cymi bitami typu bsf lub bcf. W†trakcie ustawiania bitu linii wyjúciowej za pomoc¹ takiej instrukcji, wykonywana jest sekwencja: - odczyt ca³ego rejestru, np. PORTB, - wykonanie operacji bitowej, - zapisanie wyniku do PORTB. W†rejestrach wyjúciowych PORTB bÍd¹ teraz wartoúci chwilowe odczytane z†linii portu. W†momencie zmiany kierunku innej linii z wejúciowej na wyjúciow¹, wystawienie nie kontrolowanych stanÛw moøe spowodowaÊ przekroczenie dopuszczalnego pr¹du linii i†uszkodzenie uk³adu. Jeøeli linie pozostaj¹ w†trybie wejúciowym ten problem oczywiúcie nie wystÍpuje. Teraz przedstawimy kilka przyk³a-
dowych sekwencji inicjacji i†obs³ugi portÛw. Prezentowana poniøej: bsf STATUS,RP0 ;wybór banku 1 movlw b 00010101 movwf TRISA ;wpisanie wartości do TRISA powoduje, øe linie RA0, RA2 i†RA4 s¹ ustawione jako wejúciowe, natomiast linie RA1 i†RA3 jako wyjúciowe. Jeøeli linie RA0, RA2 i†RA4 pozostan¹ jako wejúciowe to bity portu moøna ustawiaÊ za pomoc¹ instrukcji: bcf PORTA,1 ;na RA1 wyślij 0 bsf PORTA,3 ;na RA3 wyślij 1 Moøna teø wpisywaÊ ca³¹ wartoúÊ do PORTA: movlw 0xff movwf PORTA ; RA1 i RA0 = 1 Dobrym, a†przede wszystkim bezpiecznym sposobem realizacji bitowych operacji na portach I/O jest zdefiniowanie rejestru (RAM uøytkownika), ktÛry bÍdzie ìcieniemî rejestru PORTA lub PORTB. Wszystkie operacje ustawiania bitÛw wykonuje siÍ na tym rejestrze za pomoc¹ np. rozkazÛw bcf i†bsf, a†nastÍpnie jego zawartoúÊ przepisuje siÍ do rejestru portu: C_PORTB equ 0x0c ;rejestr “cienia” LED equ 0x01 ;zmienna bitowa odp. PB1 ;(zdef. jako wyjście) ;inicjalizacja C_PORTB ;- jesteśmy w banku 0 movf PORTB,w ;do w zawartość PORTB movwf C_PORTB ;do C_PORTB zawartość w bcf C_PORTB,LED ;wyzerowanie bitu LED movf C_PORTB,w ;do w zawartość C_PORTB movwf PORTB bsf C_PORTB,LED ;ustawienie na 1 bitu LED movf C_PORTB movwf PORTB Linie wejúciowe moøna testowaÊ rozkazami testowania bitÛw: WE0 equ 0 ;zmienna bitowa odp. PB0 ;(zdef. jako wejście) movf PORTA,w ;do W zawartość PORTA btfsc w,WE0 goto et ;skok gdy PA0=1 movlw 0xff ;ta instrukcja się wykona, ;gdy PA0=0 Tomasz Jab³oñski, AVT [email protected]
86
Elektronika Praktyczna 12/2001
M I N I P R O J E K T Y Wspólną cechą układów opisywanych w dziale "Miniprojekty" jest łatwość ich praktycznej realizacji. Zmontowanie układu nie zabiera zwykle więcej niż dwa, trzy kwadranse, a można go uruchomić w ciągu kilkunastu minut. Układy z „Miniprojektów” mogą być skomplikowane funkcjonalnie, lecz łatwe w montażu i uruchamianiu, gdyż ich złożoność i inteligencja jest zawarta w układach scalonych. Wszystkie układy opisywane w tym dziale są wykonywane i badane w laboratorium AVT. Większość z nich znajduje się w ofercie kitów AVT, w wyodrębnionej serii „Miniprojekty” o numeracji zaczynającej się od 1000.
Interfejs RS−232C dla Commodore C−64 Witam wszystkich fanÛw komputerÛw firmy Commodore! Powracamy do projektÛw przeznaczonych dla uøytkownikÛw C-64. W†artykule prezentujemy prost¹, lecz bardzo uøyteczn¹ przystawkÍ do legendarnego C-64 interfejs RS232C. Jak wiÍkszoúÊ z†Was wie, nasz komputer zawiera w†swej pamiÍci ROM oprogramowanie interfejsu szeregowego.
Z†niewiadomych powodÛw Commodore nie zosta³ wyposaøony w†odpowiedni interfejs sprzÍtowy. Dlatego s¹ problemy z†przy³¹czeniem modemÛw, komunikacj¹ z†innymi komputerami, drukarkami itd. Niedopatrzenie producenta zmusi³o mnie do zbudowania odpowiedniego interfejsu. Do budowy interfejsu wystarcz¹ dwa uk³ady scalone (MC1488 i†1489) zamieniaj¹ce sygna³y o†poziomach TTL na poziomy wymagane przez RS232 i†odwrotnie. Moøna by³o oczywiúcie wykorzystaÊ uk³ady MAX232, ale s¹ one droøsze od MC1488, 1489. Uk³ady MAX232 sprawdzaj¹ siÍ przede wszystkim tam, gdzie nie wystÍpuj¹ napiÍcia wymagane przez standard RS
(±3...±15V). Na nasze szczÍúcie, na jedno z†wyprowadzeÒ portu USER C64 wyprowadzono napiÍcie przemienne 9V, z†ktÛrego w†prosty sposÛb uzyskamy ±10V.
TrochÍ historii Standard RS232 jest jednym z†najpopularniejszych interfejsÛw szeregowych. Charakteryzuj¹ce go zalecenia, znajduj¹ce siÍ w†dokumencie V.24, okreúlaj¹ logiczn¹ strukturÍ ³¹cza pomiÍdzy urz¹dzeniami. Powsta³o wiele odmian interfejsÛw zgodnych z†zaleceniami V.24. Spowodowa³o to ogromny ba-
szych normach ³¹cze to mia³o zapewniaÊ przesy³anie danych na odleg³oúÊ do 15m z†szybkoúci¹ 20kb/s. Naturalnie, z†biegiem czasu powsta³y interfejsy umoøliwiaj¹ce przesy³anie danych szybciej i†na wiÍksze odleg³oúci, ale nie s¹ one ujÍte w†specyfikacji RS. Powsta³o takøe, wiele odmian ³¹cza RS232, oznaczonych sufiksami A...D. NajwiÍksze znaczenie praktyczne ma odmiana ìCî. Obecnie, pomimo wielu niedogodnoúci (wiele odmian, niewielki zasiÍg, ma³a szybkoúÊ transmisji) RS232C jest najpopularniejszy. Moøna go spotkaÊ w†komputerach, drukarkach, ploterach, a†przede wszystkim w†modemach. Standard RS232C dopuszcza stosowanie dwÛch odmian z³¹czy Cannon (DB): 9- lub 25-stykowe. Wbrew temu co wmawiano niegdyú czytelnikom w†artyku³ach poúwiÍconych C-64, sufiks ìCî nie oznacza commodorowskiej odmiany RS232.
Opis uk³adu
Rys. 1.
Elektronika Praktyczna 12/2001
³agan i†brak kompatybilnoúci rÛønego rodzaju systemÛw. Powstanie RS232 umoøliwi³o ustanowienie standardu, ktÛrego najistotniejsz¹ czÍúci¹ jest opis styku fizycznego pomiÍdzy wspÛ³pracuj¹cymi ze sob¹ urz¹dzeniami. W†RS232 wykorzystano do transmisji tylko czÍúÊ obwodÛw wymienionych w†zaleceniu V.24, ktÛrych parametry elektryczne zawarto w†zaleceniu V.28. W†pierw-
Schemat elektryczny interfejsu pokazano na rys. 1. Sygna³y z†portu USER s¹ podawane na wejúcie nadajnika linii US2 typu MC1488. Na wyprowadzenia 1†i†14 podano napiÍcia -10V i†+10V uzyskane z†prostownika na elementach D2, D3, C2 dla 10V oraz D1, C3 dla +10V. S¹ one zgodne z†zaleceniami RS232C, w†ktÛrym jedynce logicznej odpowiada napiÍcie o†wartoúci -3 do -15V, natomiast zeru o†wartoúci +3 do +15V. Wyjúcie US2 wyprowadzono na 25-pinowe z³¹cze Cannon. Sygna³y wejúciowe RS, s¹ podawane za poúred-
87
M I N I P R O J E K T Y
Rys. 2.
nictwem odbiornika linii US1 typu MC1489 na wejúcie portu USER. Naleøy wspomnieÊ, øe do transmisji w†wiÍkszoúci wypadkÛw wystarcz¹ linie TxD i†RxD.
Montaø Na rys. 2 przedstawiono rozmieszczenie elementÛw na p³ytce drukowanej (jednowarstwowej) interfejsu. P³ytka moøe byÊ wykonana jako: jednowarstwowa, dwuwarstwowa bez metalizacji otworÛw lub dwuwarstwowa z†metalizacj¹ otworÛw. Zaleønie od wersji, sposÛb montaøu bÍdzie siÍ rÛøni³: - dla p³ytki jednowarstwowej wlutowujemy zwory, elementy dyskretne, nalutowujemy z³¹cza na p³ytkÍ, przewodem ³¹czymy piny 2, 11 i†20 z³¹cz z†odpowiednimi punktami na p³ytce (rys. 3), - dla p³ytki dwuwarstwowej bez metalizacji otworÛw wlutowujemy przelotki, elementy dyskretne, nalutowujemy z³¹cza na p³ytkÍ.
88
- dla p³ytki dwuwarstwowej z†metalizacj¹ wlutowujemy elementy dyskretne, nalutowujemy z³¹cza na p³ytkÍ. W†zestawach bÍdzie dostarczana p³ytka dwustronna z†metalizacj¹. Kondensatory montujemy poziomo, co umoøliwi zamkniÍcie interfejsu w†obudowie KM20. Ze wzglÍdu na wymagan¹ wytrzyma³oúÊ mechaniczn¹ naleøy przylutowaÊ wszystkie wyprowadzenia z³¹cz. Pod uk³ady scalone nie zaleca siÍ stosowania podstawek, poniewaø mog¹ byÊ k³opoty z†zamkniÍciem interfejsu w†obudowie. Uruchomienie interfejsu jest ³atwe i†polega na wykonaniu nastÍpuj¹cych czynnoúci: umieszczamy interfejs w†porcie, w³¹czamy zasilanie i†sprawdzamy napiÍcie w†punktach: - pin 1†US2: -10...-12V, - pin 14 US2: +10...+12V, - pin 14 US1: +5V. Jeúli wszystko jest w†porz¹dku wlutowujemy uk³ady scalone. Pozosta³o podpi³o-
waÊ obudowÍ KM20, aby wykonaÊ otwory na z³¹cza i†moøna sprawdziÊ dzia³anie portu szeregowego. No tak, ale sk¹d pewnoúÊ, øe uk³ad pracuje poprawnie? Naleøy go przetestowaÊ. W†tym celu musimy programowo wymuszaÊ odpowiednie stany na wyprowadzeniach portu i†mierzyÊ napiÍcie na wyjúciu RS oraz wymuszaÊ napiÍcia o†poziomach standardu RS232 na wejúciach i†sprawdzaÊ napiÍcie na wyprowadzeniach portu. Ømudne i†czasoch³onne zajÍcie. ProponujÍ skonstruowaÊ odpowiedni wtyk Cannon przy³¹czany do interfejsu (schemat na rys. 1), ktÛry z†krÛtkim programem (dostÍpnym na internetowej stronie EP w†dziale D o w n load>dokumentacje) szybko i†skutecznie przetestuje nasze dzie³o. Diody w†gnieüdzie testowym dodatkowo informuj¹ nas o†wartoúciach napiÍÊ w†przypadku b³Ídnego testu. DziÍki nim moøemy okreúliÊ czy uszkodzony jest uk³ad nadajnika czy odbiornika. Program testowy w†przypadku b³Ídu zatrzyma siÍ do czasu naciúniÍcia spacji i†wyúwietli nam wartoúci napiÍÊ w†rÛønych punktach uk³adu.
Uwagi koÒcowe Podczas korzystania z†interfejsu naleøy pamiÍtaÊ o†zmodyfikowanych w†C-64 kodach ASCII w†stosunku do obowi¹zuj¹cego standardu. Wbudowane oprogramowanie obs³ugi RS232C moøe obs³uøyÊ transmisjÍ o†maksymalnej szybkoúci do 2400 bodÛw. Programowo moøna j¹ zwiÍkszyÊ do ko³o 9600. Jeúli zaleøy nam na szybszej trans-
Rys. 3.
misji, naleøy zbudowaÊ interfejs na specjalizowanym uk³adzie scalonym, przy³¹czanym do portu Expansion. W†zasadzie s¹ dwa wyjúcia: zastosowanie uk³adu 6551 lub 8251.
WYKAZ ELEMENTÓW Kondensatory C1, C2, C3: 100µF/16V C4: 47µF/16V Półprzewodniki D1, D2, D3 1N4148 US1 MC1489 US2 MC1488 Różne Złącze USER Gniazdo DB25 Obudowa KM20
P³ytka drukowana jest dostÍpna w AVT - oznaczenie AVT-1329. Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/?pdf/ grudzien01.htm.
Do zmiany szybkoúci transmisji najlepiej uøyÊ programowanego dzielnika typu 8253. S³awomir Skrzyñski, AVT Dodatkowe informacje s¹ dostÍpne w†Internecie pod adresem: www.home.mck.pl/ ~r-mik, sk¹d moøna úci¹gn¹Ê oprogramowanie dla C-64, miÍdzy innymi symulator EPROM, programator EPROM itp.
Elektronika Praktyczna 12/2001
PROJEKTY CZYTELNIKÓW Dział „Projekty Czytelników” zawiera opisy projektów nadesłanych do redakcji EP przez Czytelników. Redakcja nie bierze odpowiedzialności za prawidłowe działanie opisywanych układów, gdyż nie testujemy ich laboratoryjnie, chociaż sprawdzamy poprawność konstrukcji. Prosimy o nadsyłanie własnych projektów z modelami (do zwrotu). Do artykułu należy dołączyć podpisane oświadczenie, że artykuł jest własnym opracowaniem autora i nie był dotychczas nigdzie publikowany. Honorarium za publikację w tym dziale wynosi 250,− zł (brutto) za 1 stronę w EP. Przysyłanych tekstów nie zwracamy. Redakcja zastrzega sobie prawo do dokonywania skrótów.
Układ prototypowy dla mikrokontrolerów z serii 8051, część 1 Projekt Przedstawiamy zestaw uruchomieniowy z†w³asnym programem monitoruj¹cym, ktÛrego autorem jest jeden z†naszych CzytelnikÛw. DziÍki przemyúlanej konstrukcji, prezentowane urz¹dzenie moøe staÊ siÍ niezbÍdnym elementem wyposaøenia domowego lub uczelnianego laboratorium mikroprocesorowego.
094
Istnieje kilka sposobÛw uruchamiania programÛw pisanych dla mikrokontrolerÛw. Dobrym rozwi¹zaniem jest uøycie tzw. emulatora in-circuit, ale jest ono drogie i†wi¹øe siÍ z pewnymi komplikacjami. Moøna uøywaÊ takøe emulatora pamiÍci EPROM, ale w†tym przypadku nie mamy moøliwoúci podgl¹du wewnÍtrznych i†zewnÍtrznych zasobÛw mikrokontrolera, a†uruchamiany program przejmuje ca³kowit¹ kontrolÍ nad mikrokontrolerem. Stosunkowo praktycznym sposobem jest wykorzystanie p³ytki prototypowej z†wbudowanym programem monitora.
Opis uk³adu Uk³ad prototypowy dla mikrokontrolerÛw serii MCS51 zaprojektowano jako uniwersalny modu³ umoøliwiaj¹cy przetestowanie przygotowywanych programÛw. Moøe on byÊ takøe bardzo pomocny w†nauce programowania mikrokontrolerÛw. Schemat uk³adu przedstawiono na rys. 1. Jak ³atwo zauwaøyÊ, jest to typowa konfiguracja mikrokontrolera 8051 z†zewnÍtrznymi pamiÍciami: danych i†programu. Dla zapewnienia poprawnego dzia³ania modu³u z†zewnÍtrzn¹ pamiÍci¹ konieczne jest stosowanie uk³adu, ktÛry zapamiÍtuje mniej znacz¹cy bajt adresu. Odbywa siÍ to podczas opadaj¹ce-
Elektronika Praktyczna 12/2001
go zbocza sygna³u ALE. Jako dekoder adresÛw zastosowano programowalny uk³ad logiczny GAL16V8 (U5). Takie rozwi¹zanie znacznie upraszcza budowÍ uk³adu i†umoøliwia zaprojektowanie stosunkowo ma³ej, jednostronnej p³ytki drukowanej. Odpowiednia ìlogikaî zbudowana z uøyciem tradycyjnych uk³adÛw TTL musia³aby prawdopodobnie zaj¹Ê ca³¹ powierzchniÍ przedstawionej tu p³ytki, i†by³aby dosyÊ droga. Zastosowanie uk³adu programowalnego ma jeszcze tÍ zaletÍ, øe umoøliwia zmianÍ funkcji logicznych realizowanych przez uk³ad bez koniecznoúci przeprojektowywania druku. Opis funkcji logicznych reali-
zowanych przez uk³ad bÍdzie zamieszczony w†czÍúci opisuj¹cej oprogramowanie. Poniewaø uøycie zewnÍtrznych pamiÍci programu i†danych wi¹øe siÍ z†rezygnacj¹ z†dwÛch portÛw wejúcia/ wyjúcia mikrokontrolera, uk³ad zosta³ uzupe³niony o†dwa uk³ady scalone (U6 i†U8) umoøliwiaj¹ce do³¹czenie zewnÍtrznych uk³adÛw rozszerzeÒ np. 82C55A, pamiÍci itp. Ca³oúÊ jest zasilana napiÍciem stabilizowanym +5V. Moøna zrezygnowaÊ z†montowania stabilizatora (U7), jeúli posiadamy zew-
Tab. 1. Tryb
PIN 1.5
PIN 1.4
Pamięć programu 0000−7FFF 8000−FFFF
Pamięć danych 0000−7FFF 8000−FFFF
3 (Start mode)
H
H
EPROM**
EPROM
I/O lub zewnętrzny RAM
RAM*
2
H
L
EPROM
EPROM
RAM
I/O lub zewnętrzny RAM
1
L
H
RAM
EPROM
I/O lub zewnętrzny RAM
RAM
0
L
L
RAM
EPROM
RAM
I/O lub zewnętrzny RAM
* RAM umieszczony na płytce EVM51 ** EPROM umieszczony na płytce EVM51
93
PROJEKTY CZYTELNIKÓW nÍtrzny zasilacz dostarczaj¹cy stabilizowanego napiÍcia +5V o†wydajnoúci ok. 100mA. Do praktycznego wykorzystania uk³adu potrzebny jest kabel ³¹cz¹cy p³ytkÍ z†komputerem PC poprzez port szeregowy. Taki kabelek powinien byÊ uzupe³niony uk³adem translatora poziomÛw z†wykorzystaniem np. uk³adu scalonego MAX232 (przyk³adowe rozwi¹zanie pokazano na rys. 2). Jego zastosowanie jest konieczne ze wzglÍdu na inne poziomy napiÍÊ wystÍpuj¹ce na wyjúciu portu szeregowego komputera i†wyjúciu uk³adu szeregowej transmisji danych mikrokontrolera 89C51. Poniewaø uk³ad scalony MAX232 do najtaÒszych nie naleøy, dlatego zazwyczaj uøywam jednego uk³adu umieszczonego w†obudowie gniazdka telefonicznego i†³¹czÍ go z†p³ytkami za pomoc¹ kabelka zakoÒczonego wtyczk¹ telefoniczn¹ z†4†przewodami (2 sygna³owe i†2†zasilania). Mikrokontroler jest taktowany sygna³em zegarowym o†czÍstotliwoúci 11,059 MHz (rezonator kwarcowy Q1), ale nic nie stoi na przeszkodzie aby zastosowaÊ dowolny inny rezonator o†czÍstotliwoúci mieszcz¹cej siÍ w†dopuszczalnych granicach dla uk³adu 89C51. Trzeba jedynie pamiÍtaÊ, øe w†oprogramowaniu standardowo wchodz¹cym w†sk³ad systemu Windows moøna wybieraÊ jedynie standardowe szybkoúci transmisji, a†zastosowanie kwarcu o†innej czÍstotliwoúci moøe spowodowaÊ, øe program monitora nie bÍdzie w†stanie usta-
Prezentowany w artykule układ prototypowy dla mikrokontrolerów serii MCS−51 umożliwia:
Rys. 1.
94
1. Przetestowanie niemal każdego programu bez konieczności posiadania programatora pamięci, programatora mikrokontrolerów itp. 2. Wykorzystanie 32kB pamięci RAM i 32kB pamięci EPROM przez programistę. 3. Bezpośrednie połączenie z komputerem przez port szeregowy. 4. Automatycznie ładuje, a potem uruchamia program. Proste, tanie i efektywne. 5. Programowanie szeregowych pamięci EEPROM z interfejsem I2C. 6. Wybór jednej z czterech, wybieranej programowo konfiguracji zewnętrznych pamięci i układów rozszerzeń.
Elektronika Elektronika Praktyczna Praktyczna 12/2001 2/98
PROJEKTY CZYTELNIKÓW
Rys. 2.
liÊ w³aúciwej szybkoúci transmisji. DysponujÍ programem, ktÛry jest w†stanie wykorzystywaÊ port szeregowy komputera PC na dowolnej, takøe niestandardowej szybkoúci transmisji. Jest to jednak program napisany pod system DOS, dlatego jego obs³uga nie jest tak wygodna jak programÛw pod Windows. Na schemacie elektrycznym umieszczono uk³ad pamiÍci EPROM 27C256, ale jego stosowanie nie jest konieczne. Na p³ytce znajduje siÍ podstawka pod ten uk³ad. Moøna w†to miejsce ìpodpi¹Êî emula-
WYKAZ ELEMENTÓW Rezystory R1: 6,2kΩ SMD R2: 3,3kΩ Kondensatory C1: 10µF/6V C2, C3: 33pF SMD C4, C5: 100nF C6: 100µF/16V C7: 100µF/6V Półprzewodniki U1: Atmel 89C51 z programem monitora U2: 74HC573 U3: 62256 U4*: 27C256 U5: GAL16V8 (zaprogramo− wany) U6: 74HC573 U8: 74HC245 U7*: LM7805 D2: LED czerwony Różne J1: CON2 J2: CON3 J3: CON8 J4: CON3 J5: CON8 J6: CON8 J7: CON8 JP1: CON3 K4: CON3 Q1: 11,059MHz S1: micro switch * opcjonalnie, patrz tekst
Elektronika Praktyczna 12/2001
tor pamiÍci EPROM lub w³oøyÊ uk³ad scalony pamiÍci. W†rozwi¹zaniu modelowym to miejsce nie jest wykorzystywane, a†ca³e oprogramowanie monitora jest umieszczone w†pamiÍci Flash mikrokontrolera 89C51. W†takim przypadku wyprowadzenie /EA mikrokontrolera powinno byÊ do³¹czone do plusa zasilania (zworka od spodu p³ytki drukowanej). Jeúli wykorzystywana ma byÊ zewnÍtrzna pamiÍÊ programu lub zamierzamy pracowaÊ z†emulatorem EPROMÛw i†z jego pomoc¹ uruchamiaÊ programy i†sterowaÊ uk³adem mikrokontrolera, to wyprowadzenie /EA ³¹czymy z†mas¹. Moøna uøywaÊ takøe programu monitora jako programu, z†ktÛrego ìstartujeî uk³ad, a†uruchamiane programy umieszczaÊ w†pamiÍci emulatora epromÛw, ale jest to rozwi¹zanie skomplikowane i†nie polecam jego stosowania. Do nauki programowania i†prostych testÛw w†zupe³noúci wystarcza zamontowanie mikrokontrolera 89C51 i†pamiÍci RAM 62256. WiÍcej informacji o†rÛønych moøliwoúciach konfiguracyjnych uk³adu zawarto w†tab. 1. Przedstawiono w†niej 4 podstawowe tryby konfiguracji pamiÍci programu, danych i†uk³adÛw wejúcia/wyjúcia. Naleøy zwrÛciÊ uwagÍ, øe przestrzeÒ adresowa mikrokontrolera wynosi 64kB, natomiast wszystkie uøyte zewnÍtrzne pamiÍci s¹ o†pojemnoúci 32kB. Dlatego np. dla trybu 3 pamiÍÊ EPROM pod adresami 8000...FFFF jest kopi¹ tej samej pamiÍci ktÛra znajduje siÍ w†przestrzeni adresowej 0000...7FFF. Podobnie dla trybu 0 pamiÍÊ RAM w†przestrzeni adresowej pamiÍci danych jest kopi¹ tej samej pamiÍci RAM umieszczonej w†pamiÍci programu. Zapisanie (rozkazem movx) jakiejkolwiek informacji do pamiÍci danych w†trybie 0 pod adresy 0000...7FFF spowoduje ìzamazanieî pamiÍci programu pod tym samym adresem. Trzeba o†tym pamiÍtaÊ, gdyø w†pewnych sytuacjach moøe to powodowaÊ ìzawieszanieî siÍ wykonywanego programu. Zrozumienie tego zjawiska jest bardzo waøne ze wzglÍdu na wykorzystanie zerowego trybu pracy przy korzystaniu z†monitora umiesz-
czonego w†pamiÍci Flash mikrokontrolera. Dlatego postaram siÍ wyjaúniÊ ten tryb trochÍ szerzej. MapÍ pamiÍci przedstawiono w†tab. 1. Przy wykorzystaniu pierwszych 4kB pamiÍci mikrokontrolera moøna wykorzystaÊ pierwsze 4kB pamiÍci RAM jako pamiÍÊ danych (zapis i†odczyt rozkazami movx). Program monitora modyfikuje zawartoúÊ zewnÍtrznych pamiÍci zapisuj¹c do nich rozkazami movx, natomiast odczyt (z pewnymi wyj¹tkami) odbywa siÍ rozkazami movc. Dlatego odczyt zewnÍtrznych pamiÍci powyøej 4kB (i mniejszych od 32kB) rozkazem movx i†movc zwrÛci tÍ sam¹ wartoúÊ. Natomiast ta sama operacja dla obszaru pamiÍci poniøej 4kB zwrÛci dwie rÛøne wartoúci. Schematycznie wyjaúnia to rys. 3. Kolejne 4kB pamiÍci o†adresach 0FFF...1FFF, to pamiÍÊ przeznaczona dla dodatkowych komend, jakie moøna dodawaÊ do programu moni-
Rys. 3.
tora we w³asnym zakresie. WiÍcej na ten temat w†punkcie w ktÛrym opisano oprogramowanie. W³aúciwy program powinien siÍ zaczynaÊ od adresu 1FFF i†moøe mieÊ maksymalny rozmiar 24kB. Jest to iloúÊ w†zupe³noúci wy-
Rys. 4.
95
PROJEKTY CZYTELNIKÓW starczaj¹ca do wiÍkszoúci zastosowaÒ. Wybranie trybu 0†powoduje utratÍ 2†linii portu P1, co w†niektÛrych przypadkach moøe byÊ k³opotliwe. Dlatego jeúli te linie s¹ z†jakiegoú powodu potrzebne, to moøna piny P1.5 i†P1.4 od³¹czyÊ od GAL-a, a†odpowiednie nÛøki GAL-a po³¹czyÊ z†mas¹. Moøna takøe zmieniÊ rÛwnania uk³adu GAL tak, aby niezaleønie od stanu pinÛw
96
P1.5 i†P1.4 wybrany by³ na sta³e tryb 0. Tryb 0 jest wybierany w†czasie inicjalizacji programu monitora. P³ytka zosta³a wykonana jako jednostronna, co spowodowa³o zmniejszenie kosztÛw, nie zwiÍkszaj¹c nadmiernie liczby zwÛr. Schemat montaøowy p³ytki znajduje siÍ na rys. 4. Nic nie stoi jednak na przeszkodzie, aby wykonaÊ p³ytkÍ jako dwustronn¹ (taki
wzÛr zamieúciliúmy na wk³adce wewn¹trz numeru). Montaø jest bardzo prosty, a†zacz¹Ê go trzeba od montaøu zwÛr. Pod uk³ady scalone wygodnie jest zamontowaÊ podstawki. Jest to wskazane zw³aszcza dla mikrokontrolera, GAL-a i†pamiÍci EPROM. Wszystkie konektory to listwy pinÛw, jakie moøna dostaÊ w†wiÍkszoúci sklepÛw z elementami elektronicznymi. Na-
leøy z†takiej listwy od³amaÊ odpowiedni¹ liczbÍ pinÛw i†wlutowaÊ w†odpowiednie miejsce. Na p³ytce jest duøo dodatkowych punktÛw lutowniczych wyprowadzaj¹cych niektÛre sygna³y, napiÍcia zasilaj¹ce, s³uø¹cych do konfiguracji pamiÍci. U³atwiaj¹ one do³¹czanie innych uk³adÛw i†wykorzystuje siÍ je w†miarÍ potrzeb. Przemys³aw Dmochowski [email protected]
Elektronika Elektronika Praktyczna Praktyczna 12/2001 2/98
B I B L I O T E K A
E P
W „Bibliotece EP” prezentujemy książki dotyczące zagadnień związanych z różnymi dziedzinami techniki, jednak zawsze przydatne w pracy elektronika lub pomocne w uprawianiu elektronicznego hobby. Nasza opinia jest oczywiście subiektywna, ale wynika z wieloletniego doświadczenia zawodowego i chyba jest zgodna z oczekiwaniami tych, którzy chcą z książek korzystać, a nie przyozdabiać nimi półki. Aby nie marnować miejsca w EP, nie będziemy publikować recenzji książek ocenianych na jedną lub dwie „lutownice”. Przyjeliśmy szeroką skalę ocen, aby ułatwić Czytelnikom orientację w potencjalnej przydatności książki. Uwaga! Większość prezentowanych książek można zamówić w Dziale Handlowym AVT (patrz str. 143). Chcemy w ten sposób udostępnić je Czytelnikom EP.
Ryszard Pełka: „Mikrokontrolery. Architektura, programowanie, zastosowania”, WKŁ 2000
Przegl¹daj¹c tÍ ksi¹økÍ doszed³em do wniosku, øe fani mikrokontrolerÛw w†naszym kraju s¹ w†doúÊ szczÍúliwym po³oøeniu, poniewaø wiele wydawnictw dba o†to, aby dostarczaÊ im dobrze napisane, a†przy tym kompetentnie, ksi¹øki. Do coraz bardziej elitarnego grona ksi¹øek wartych polecenia zaliczam takøe ksi¹økÍ Ryszarda Pe³ki, w†ktÛrej autor przedstawi³ wszystkie istotne zagadnienia zwi¹zane z†histori¹ powstania mikrokontrolerÛw, szczegÛ³owo omÛwi³ zasadÍ ich dzia³ania oraz funkcje i†sposÛb obs³ugi rÛønego rodzaju modu³Ûw peryferyjnych (w tym CAN, USART, I2C, liczniki-timery, pamiÍci rÛønego typu itp.). CzytelnikÛw ceni¹cych praktyczn¹ stronÍ zagadnienia zainteresuj¹ z†pewnoúci¹ przygotowane przez autora przyk³ady prostych projektÛw opartych na mikrokontrolerach, ilustrowane skomentowanymi listingami programÛw. Takøe na przyk³adach opar³ autor prezentacjÍ narzÍdzi stosowanych do przygotowywania programÛw
Krzysztof Franek: ìIntermediumî, WK£ 2000
Z†jednej strony ma³o zachÍcaj¹ca ok³adka i†niezrozumia³y tytu³, a†z†drugiej - rewelacyjnie opracowane kompendium wiedzy na wiele tematÛw interesuj¹cych nie tylko elektronika, ale praktycznie kaødego zainteresowanego technik¹ ìmedialn¹î. Jak wyjaúnia autor we wstÍpie, tytu³ ìIntermediumî pochodzi od INTERaktywnego MEDIUM, za pomoc¹ ktÛrego juø w†najbliøszym czasie bÍdziemy kontaktowaÊ siÍ ze úwiatem. W†piÍciu logicznie skomponowanych rozdzia³ach autor przedstawia naturalne sposoby powstawania düwiÍkÛw i†obrazÛw, metody ich rejestracji i†przesy³ania, zastosowanie cyfrowych metod ich konwersji, obrÛbki i†dystry-
132
i†diagnozowania pracy systemÛw mikroprocesorowych. Wartym podkreúlenia jest fakt, øe autor uwzglÍdni³ w†rozdziale szÛstym, poúwiÍconym prezentacji narzÍdzi, takøe najnowsze narzÍdzia firmy IAR - programy VisualSTATE oraz MakeApp. Wartoúciowym uzupe³nieniem treúci ksi¹øki jest tabelaryczne zestawienie najwaøniejszych parametrÛw wybranych mikrokontrolerÛw 8-, 16- i†32-bitowych oraz listy instrukcji i†opisy rejestrÛw mikrokontrolerÛw 51XA, x166 i†'51. Ze wzglÍdu na przekrojowy charakter oraz kompetentn¹ prezentacjÍ tematÛw, ksi¹øka jest prawdziwym rodzynkiem na rynku wydawniczym gor¹co j¹ polecamy zw³aszcza pocz¹tkuj¹cym fanom techniki mikroprocesorowej. Wiele mog¹ z†niej skorzystaÊ takøe pocz¹tkuj¹cy programiúci, dla ktÛrych zazwyczaj mechanizmy funkcjonowania mikrokontrolerÛw lub mikroprocesorÛw s¹ czÍsto tajemnicze. Nieco draøni¹ce s¹ prÛby spolszczenia kilku terminÛw, ktÛre przyjͳy siÍ w†jÍzyku technicznym w†oryginalnej postaci, jak na przyk³ad ìpamiÍÊ cacheî zast¹piono ìpamiÍci¹ kieszeniow¹î, ìpamiÍÊ flashî ìpamiÍci¹ b³yskow¹î, a†popularnego ìwatchdogaî - ìnadzorc¹î. Standardowo potraktowa³ tÍ ksi¹økÍ takøe redakcyjny grafik, ktÛry w†tle ok³adki ksi¹øki o†mikrokontrolerach wykorzysta³ zdjÍ-
cie p³yty bazowej odbiornika telewizyjnego, na ktÛrej widnieje punkt pomiarowy ì155Vî. Ale - na szczÍúcie - nie ma to wp³ywu na treúÊ i†wartoúÊ ksi¹øki.
bucji. Nieco miejsca autor przeznaczy³ na przybliøenie moøliwoúci najnowoczeúniejszej techniki: filmÛw na DVD, düwiÍku przestrzennego w†kinach i†zestawach kina domowego, interaktywnych gier i†TV, Internetu, zwrÛci³ takøe uwagÍ na - czÍsto nies³usznie lekcewaøone - spo³eczne konsekwencje powszechnego stosowania nowoczesnych mediÛw. Autor zwrÛci³ takøe uwagÍ na tematykÍ przysz³oúciow¹: cyfrow¹ sprzedaø, sieci medialne o†adaptowalnej (do inteligencji odbiorcy!) treúci przekazu, tworzenie wirtualnej rzeczywistoúci itp. TreúÊ ksi¹øki jest bogato, przy tym czÍsto dowcipnie, ilustrowana (zamieszczamy przyk³adowo rysunek ilustruj¹cy obieg danych w†komputerze). CzÍúÊ z†rysunkÛw zamieszczonych w†ksi¹øce jest kolorowa, co u³atwia interpretacjÍ niektÛrych wyjaúnieÒ autora, zw³aszcza tych zwi¹zanych z†rÛønymi sposobami tworzenia kolorÛw.
Elektronika Praktyczna 12/2001
B I B L I O T E K A wy detektorÛw promieniowania. Osobny rozdzia³ (10) poúwiÍcono zespolonym, wieloelementowym czujnikom promieniowania, w†tym stosowanym w†aparatach fotograficznych i†kamerach wideo (CCD). PraktykÛw z pewnoúci¹ zainteresuj¹ rozdzia³y 9 i 11, w†ktÛrych przedstawiono teoretyczne podstawy konstruowania przedwzmacniaczy wspÛ³pracuj¹cych z†czujnikami rÛønego typu, a†takøe metody detekcji promieniowania optycznego, ktÛrych opisy wzbogacono skrÛtowym opisem matematycznym. Reasumuj¹c, autorzy przygotowali interesuj¹cy i†bardzo przejrzysty wyk³ad, ktÛrego jakoúci i†kompetencji nie moøna nic zarzuciÊ. Niestety, silna orientacja autorÛw na aspekty fizyczne, wzmocnione duø¹ dawk¹ matematyki powoduj¹, øe grono odbiorcÛw ksi¹øki zawÍøa siÍ do inøynierÛw i†studentÛw wydzia³Ûw technicznych. Faworyzowani przez nas odbiorcy konstruktorzy i†amatorzy-praktycy nie znajd¹ w†niej bezpoúrednich odpowiedzi na najczÍúciej nurtuj¹ce ich pytania, co nie jest oczywiúcie zarzutem pod adresem ksi¹øki, bo nie taki by³ zamiar autorÛw. Niebagatelnym atutem ksi¹øki jest stosunkowo niska cena, ktÛr¹ w†tym miesi¹cu Dzia³ Handlowy AVT obniøy³ aø o†10% (druk zamÛwienia zamieszczono na kuponie kartonowym).
Zbigniew Bielecki, Antoni Rogalski: ìDetekcja sygna³Ûw optycznychî, WNT 2001
Jest to pierwsza od wielu lat na naszym rynku prezentacja zagadnieÒ zwi¹zanych z†budow¹ i†stosowaniem czujnikÛw umoøliwiaj¹cych wykrywanie promieniowania optycznego. Autorzy skupili siÍ w†swoim opracowaniu na fizycznych aspektach budowy detektorÛw rÛønego typu i†prezentacji zjawisk wystÍpuj¹cych w†strukturach pÛ³przewodnikowych oraz materia³ach wykorzystywanych do budo-
Elektronika Praktyczna 12/2001
Bart³omiej ZieliÒski: ìBezprzewodowe sieci komputeroweî, Helion 2000
Tematyka ksi¹øki pozornie nie pokrywa siÍ z†tym, czym najczÍúciej zajmujemy siÍ w†EP. Pozornie. Tytu³ ksi¹øki wprowadza bowiem potencjalnego czytelnika nieco w†b³¹d, poniewaø w†ksi¹øce przedstawiono praktycznie wszystkie ciesz¹ce siÍ obecnie popularnoúci¹ systemy bezprzewodowej transmisji danych, w†tym takøe GSM, Packet Radio, IEEE802.11, a†takøe systemy, ktÛrych nie moøna zakwalifikowaÊ do klasycznych systemÛw sieciowych, jak DECT, IrDA, Bluetooth. Informacje bardzo cenne dla elektronikÛw autor zawar³ przede wszystkim w†rozdzia³ach 2 (charakterystyka bezprzewodowych mediÛw transmisyjnych) i†3 (protoko³y dostÍpu bezprzewodowego). Interesuj¹-
E P
Legenda:
ksi¹øka wybitna, polecamy!
ksi¹øka o†duøych walorach praktycznych, polecamy!
moøe siÍ przydaÊ
daleka od doskona³oúci
nie warto kupowaÊ cy, choÊ niekompletny, jest takøe przyk³ad sprzÍtowego konwertera protoko³Ûw. Ksi¹økÍ szczegÛlnie polecamy konstruktorom zamierzaj¹cym budowaÊ urz¹dzenia wykorzystuj¹ce do transmisji danych ³¹cza bezprzewodowe, a†takøe wszystkim uøytkownikom urz¹dzeÒ wyposaøonych w†bezprzewodowy interfejs komunikacyjny.
Andrzej Skorupski: ìPodstawy techniki cyfrowejî, WK£ 2001
Ksi¹øka niezbyt gruba, w†porÍcznym ìdopoduszkowymî formacie, zawiera prosty w†przyswojeniu, a†przy tym kompletny, kurs techniki cyfrowej. Po krÛtkim wpro-
133
B I B L I O T E K A
E P
wadzeniu autor przedstawia podstawy sta³o- i†zmiennopozycyjnej arytmetyki binarnej, nastÍpnie przechodzi do prezentacji podstawowych metod projektowania uk³adÛw cyfrowych (kombinacyjnych i†sekwencyjnych). Z†powodÛw historycznych skrÛtowo przedstawia takøe metody projektowania automatÛw w†oparciu o†uk³ady mikroprogramowane. Zakres prezentowanych informacji jest szeroki, zahacza nawet nieco o†uk³ady programowalne (³¹cznie z†kilkoma przyk³adami w†jÍzyku ABEL). Czytelnik, konsekwentnie prowadzony przez autora, nie powinien mieÊ trudnoúci w†przyswojeniu ktÛregokolwiek z fragmentÛw ksi¹øki. Dlatego ksi¹økÍ szczegÛlnie polecamy pocz¹tkuj¹cym elektronikom. Jedyn¹ ukryt¹ w†ksi¹øce zagadk¹ przynajmniej dla nas - jest zalecanie jej dla studentÛw kierunkÛw informatycznych, ktÛrym tak szczegÛ³owa wiedza o†sposobach projektowania uk³adÛw logicznych nie jest niezbÍdna. Wybierzcie sami!
Marco Cantu: ìDelphi 5†praktyka programowaniaî, 2†tomy, Mikom 2000
Pojawienie siÍ na rynku Delphi by³o jednym z†najbardziej znacz¹cych wydarzeÒ w†zakresie programowania dla systemu Windows. Od tego momentu, dziÍki wykorzystaniu wizualnego narzÍdzia programistycznego, jakim w³aúnie jest Delphi, ca³e rzesze programistÛw mog¹ ³atwo pisaÊ programy dla tego systemu. Jednak napisanie bardziej skomplikowanego programu, wykorzystuj¹cego potencja³ systemu operacyjnego i†úrodowiska Delphi, wymaga od programisty wiÍkszej wiedzy. Ksi¹øka ìDelphi - praktyka programowaniaî jest w³aúnie przeznaczona dla tych programistÛw, ktÛrzy maj¹ potrzebÍ wykorzystania bardziej zaawansowanych technik programowania w†úrodowisku Delphi. Ksi¹øka jest adresowana do programistÛw znaj¹cych úrodowisko Delphi oraz
przynajmniej podstawy programowania w†jÍzyku Object Pascal. Pomimo tego, ksi¹økÍ rozpoczyna krÛtki opis jÍzyka Object Pascal oraz zwiÍz³e zaprezentowanie metod programowania dla systemu Windows. Autor omawia sposÛb korzystania z†biblioteki VCL oraz pokazuje praktyczne zastosowanie niemal wszystkich elementÛw s³uø¹cych do budowy interfejsu uøytkownika. Po lekturze czÍúci poúwiÍconej aplikacjom bazodanowym, zbudowanie prostego programu pracuj¹cego w†architekturze klient-serwer nie powinno juø byÊ trudne. Na s³owa szczegÛlnej pochwa³y zas³uguje czÍúÊ poúwiÍcona samodzielnemu tworzeniu komponentÛw i†bibliotek. W†trakcie lektury ksi¹øki od razu widaÊ, øe zosta³a ona napisana przez praktyka, ktÛry sam, w†trakcie poznawania Delphi, natkn¹³ siÍ na problemy z†ktÛrymi nie mog¹ poradziÊ sobie pocz¹tkuj¹cy i†úredniozaawansowani programiúci. Przyk³adem moøe byÊ rozdzia³ poúwiÍcony budowaniu aplikacji wielozadaniowych i†wielow¹tkowych, w†ktÛrym na czytelnych przyk³adach autor pokazuje metodÍ budowania takich programÛw. Ksi¹øka jest bogato ilustrowana przyk³adowymi programami. Jest ich ponad 200, ale chc¹c je przetestowaÊ naleøy je samodzielnie wpisaÊ (co niekiedy pozwoli lepiej je zrozumieÊ) lub úci¹gn¹Ê z†Internetu. Na stronie autora (www.marcocantu.com) znajduj¹ siÍ rÛwnieø kody ürÛd³owe programÛw przyk³adowych oraz mnÛstwo innych wskazÛwek dla programuj¹cych w†Delphi. Ponadto moøna úci¹gn¹Ê dodatkowy rozdzia³ ksi¹øki o†programowaniu grafiki w†Delphi (oczywiúcie w†wersji angielskiej). Na s³owa krytyki zas³uguje sposÛb wydania ksi¹øki. MiÍkka oprawa z†pewnoúci¹ nie zapewni d³ugiego øycia ksi¹øce, po ktÛr¹ mniej wprawni programiúci mog¹ siÍgaÊ codziennie. W†ksi¹øce moøna znaleüÊ b³Ídy t³umaczenia úwiadcz¹ce o†nieznajomoúci pakietu Delphi (przyk³adem moøe byÊ lista czynnoúci do zrobienia To-Do List, wstawiaj¹ca w†kod programu komentarz rozpoczynaj¹cy siÍ od TODO, co t³umacz niezbyt zrÍcznie przet³umaczy³). Ksi¹øce naleøy siÍ wysoka ocena - z†pewnoúci¹ znajdzie uznanie wúrÛd programuj¹cych w†Delphi 5. Szkoda, øe wydawnictwo Mikom do tej pory nie wyda³o ksi¹øki o†aktualnej wersji pakietu pt. ìDelphi 6†- praktyka programowaniaî, ktÛra w†jÍzyku angielskim jest dostÍpna juø od kilku miesiÍcy.
Harvey M. Deitel, Paul J. Deitel: ìArkana: C++ Programowanieî, Wydawnictwo RM 1998
Jak na ksi¹økÍ informatyczn¹, jest juø nieco nieúwieøa, ale z†kilku powodÛw warto o†niej wspomnieÊ. Po pierwsze, jest to jeden z†bardziej znanych podrÍcznikÛw akademickich do nauki jÍzyka C++ (ANSI/ ISO C++). Po drugie, na ponad 1000 stronach jest prowadzony wyk³ad w†sposÛb wzorowy. Po trzecie, wyk³ad ten ma charakter uniwersalny, gdyø nie zajmuje siÍ
134
konkretnym kompilatorem czy úrodowiskiem programistycznym, ale czystym jÍzykiem C++. Tak wiÍc mog¹ z†niego skorzystaÊ zarÛwno zwolennicy kompilatorÛw firmowanych przez Microsoft, jak i†programiúci preferuj¹cy produkty Borlanda czy innych producentÛw oprogramowania. Ksi¹øka rozpoczyna siÍ od omÛwienia programowania proceduralnego w†C++, ktÛre moøna potraktowaÊ jako ³agodny wstÍp dla znaj¹cych jÍzyk C. NastÍpnie zosta³y wprowadzone pojÍcia klas, obiektÛw, przeci¹øania operatorÛw, dziedziczenia, polimorfizm i†inne istotne dla programowania obiektowego terminy. W†kolejnych rozdzia³ach moøna znaleüÊ informacje o†uøywaniu w†C++ dynamicznych struktur danych, strumieni, obs³udze wyj¹tkÛw, manipulowaniu bitami, napisami itp. W†kaødym rozdziale znajduje siÍ wiele listingÛw ilustruj¹cych omawiane techniki programowania. Na s³owa uznania zas³uguj¹ umieszczane w†tekúcie wskazÛwki programistyczne, wskazÛwki dobrego stylu programisty (np. ìumieszczaj znak spacji po kaødym przecinku, aby uczyniÊ programy bardziej czytelnymiî), uwagi o typowych b³Ídach programisty (np. ìodwo³anie do elementu poza granicami tablicy jest b³Ídem logicznym wykonania nie jest to b³¹d sk³adniî), wskazÛwki dotycz¹ce wydajnoúci i†przenoúnoúci (np. ìuøywanie funkcji biblioteki standardowej C++ pomaga tworzyÊ bardziej przenoúne programyî) oraz wskazÛwki praktyczne i†pomocne w†testowaniu i†analizie programu. Dodatkowo, wszystkie te wskazÛwki s¹ umieszczone na koÒcu kaødego rozdzia³u wraz z†zadaniami i†pytaniami pomagaj¹cymi sprawdziÊ stopieÒ opanowania materia³u prezentowanego w†rozdziale. Ze strony internetowej autorÛw (www.deitel.com) moøna pobraÊ plik z†przyk³adami omÛwionymi w†ksi¹øce. Ksi¹øka zosta³a wydana w†twardej oprawie, co jest jej duø¹ zalet¹, gdyø jako dobry podrÍcznik akademicki z†pewnoúci¹ bÍdzie wykorzystywana przez wiele lat. Materia³ przedstawiony w†ksi¹øce moøe byÊ przydatny zarÛwno pocz¹tkuj¹cemu, jak i†zaawansowanemu programiúcie.
Elektronika Praktyczna 12/2001
A U T O M A T Y K A
WszÍdzie tam, gdzie produkuje siÍ jakiekolwiek urz¹dzenia, musz¹ byÊ przyrz¹dy do ich testowania. W†ma³ych warsztatach produkuj¹cych w niewielkich iloúciach s¹ to zwykle stanowiska testowe z³oøone z†kilku przyrz¹dÛw pomiarowych, nie zawsze ze sob¹ sprzÍøonych. Na liniach technologicznych wielkich fabryk spotyka siÍ natomiast skomplikowane urz¹dzenia ATE (Automatic Test Equipment), ktÛrych zadaniem jest wszechstronna kontrola produktÛw na rÛønych etapach ich wytwarzania.
Czêœæ 1: Przegl¹d systemów ATE firmy Agilent Technologies W†artykule dokonano przegl¹du metod testowania oraz systemÛw ATE opracowanych i†wytwarzanych przez firmÍ Agilent Technologies. Przegl¹d ten obejmuje systemy inspekcji optycznej (AOI), testery rentgenowskie (X-ray), elektryczne testery p³ytek drukowanych, tzw. testery in-circuit oraz systemy przeznaczone do wykonywania testÛw funkcjonalnych. PokrÛtce przedstawiono rÛwnieø rÛønego rodzaju oprogramowanie, ktÛre jest wykorzystywane w†fazach projektowania testÛw, tworzenia czytelnych dla systemu testuj¹cego specyfikacji badanych uk³adÛw, analizy wynikÛw testÛw, jak rÛwnieø integracji systemÛw testuj¹cych opartych na rÛønych metodach.
Wprowadzenie SzczegÛlnie modne ostatnio pojÍcie jakoúci, wystÍpuj¹ce w†rozmaitych kontekstach, jest úciúle zwi¹zane ze stale wzrastaj¹cymi wymaganiami rynku. Producenci, ktÛrzy chc¹ byÊ konkurencyjni, nie mog¹ pozwoliÊ, aby do klientÛw trafia³y niesprawne urz¹dzenia. JakoúÊ wyrobÛw jest úciúle zwi¹zana z†doskonaleniem procesÛw produkcyjnych, co prowadzi przecieø do jej poprawy. Podczas produkcji konieczna jest rÛwnieø weryfikacja jakoúci. Wiedza pozyskana podczas testowania wyrobÛw moøe byÊ wykorzystana zarÛwno do zmniejszenia kosztÛw produkcji i†serwisu, jak rÛwnieø do udoskonala-
Elektronika Praktyczna 12/2001
nia procesu produkcyjnego. Nacisk, jaki k³adzie siÍ obecnie na jakoúÊ sprawia, øe procesy testowania sta³y siÍ na tyle waøne, iø ich udzia³ w†koszcie produkcji urz¹dzeÒ siÍga 30%. Testowanie urz¹dzeÒ elektronicznych opiera siÍ na wielu metodach przeznaczonych do wykrywania rÛønego rodzaju defektÛw, ktÛre powstaj¹ na wszystkich etapach produkcji. Oczywiúcie, uszkodzenia lub b³Ídy jednego rodzaju zdarzaj¹ siÍ czÍúciej, a†innego rzadziej. Wieloletnie doúwiadczenie pozwala na sporz¹dzenie histogramu najczÍstszych uszkodzeÒ, ktÛry fachowcy okreúlaj¹ mianem spektrum defektÛw (Fault Spectrum) - rys. 1. Z†tego histogramu wynika, øe dwoma podstawowymi defektami wykrywanymi w†uk³adach elektronicznych s¹ brakuj¹ce po³¹czenia lutownicze oraz brakuj¹ce elementy (razem oko³o 60%). W†artykule opisano sposoby wykrywania tych oraz innych defektÛw powstaj¹cych na liniach technologicznych wytwarzaj¹cych urz¹dzenia elektroniczne oraz przedstawiono systemy przeznaczone do tego celu.
posaøane w†rÛønego rodzaju podsystemy testuj¹ce, ktÛre za pomoc¹ oprogramowania mog¹ byÊ zintegrowane w†pe³ny system testuj¹cy liniÍ produkcyjn¹. Podsystemy te s¹ rozmieszczone w†rÛønych miejscach linii, w†zaleønoúci od tego jakiego rodzaju testy naleøy wykonaÊ na danym etapie produkcji. Na rys. 2 przedstawiono przyk³adowo rozmieszczenie poszczegÛlnych urz¹dzeÒ testuj¹cych na linii technologicznej, ktÛrej zadaniem jest automatyczny montaø komponentÛw na p³ytkach drukowanych. Pierwsze testowanie optyczne wykonywane jest po procesach nak³adania pasty lutowniczej i†rozmieszczenia elementÛw. Drugie testowanie tego rodzaju wykonywane jest po procesie lutowania rozp³ywowego. Inspekcja optyczna przeprowadzona przed lutowaniem pozwala wychwyciÊ p³yty ze üle rozmieszczonymi elemen-
tami. Zadaniem drugiego testu optycznego jest zidentyfikowanie üle przylutowanych komponentÛw lub stwierdzenie ich braku w†miejscach, w†ktÛrych powinny siÍ znajdowaÊ. Kolejne dwa etapy w†procesie produkcji podzespo³Ûw elektronicznych to rÍczny montaø elementÛw przewlekanych oraz lutowanie na fali stoj¹cej. Po tych zabiegach wykonuje siÍ test rentgenowski, czyli po prostu przeúwietla siÍ p³ytkÍ. Testowanie promieniami X†pozwala na wykrycie szeregu powaønych defektÛw, takich jak rozwarcia i†zwarcia lutownicze, z³e rozmieszczenie elementÛw czy niewystarczaj¹ca lub nadmierna iloúÊ lutowia. Kolejny podsystem testuj¹cy umieszczony na linii technologicznej, to elektryczny tester p³ytek drukowanych nazywany krÛtko testerem in-circuit lub testerem ICT. Jego zadaniem jest we-
Umiejscowienie rÛønego typu systemÛw ATE na linii technologicznej wytwarzaj¹cej urz¹dzenia elektroniczne Jak juø wspomniano, zautomatyzowane linie technologiczne produkuj¹ce urz¹dzenia elektroniczne s¹ wy-
Rys. 1.
135
A U T O M A T Y K A
Rys. 2. ryfikacja elektrycznej integralnoúci urz¹dzenia. Na testy ICT sk³ada siÍ wiele metod, ktÛre zostan¹ omÛwione w†poúwiÍconym tym testom punkcie artyku³u. Cech¹ wspÛln¹ tych metod i†jednoczeúnie wyrÛønikiem testÛw in-circuit jest koniecznoúÊ fizycznego dostÍpu do poszczegÛlnych wÍz³Ûw obwodu elektrycznego na p³ytce. Ostatnim testem, jakiemu poddawana jest p³ytka drukowana jest test funkcjonalnoúci, czyli sprawdzenie czy uk³ad, ktÛry tworz¹ po³¹czone na p³ytce podzespo³y, wykonuje funkcje do jakich zosta³ zaprojektowany. Testery funkcjonalne to odpowiednio skonfigurowane i†oprogramowane systemy pomiarowe, w†ktÛrych stosuje siÍ zarÛwno przyrz¹dy ogÛlnego przeznaczenia, jak rÛwnieø urz¹dzenia dedykowane. W†dalszej czÍúci artyku³u, wszystkie wymienione dotychczas typy urz¹dzeÒ testuj¹cych zostan¹ omÛwione na przyk³adach testerÛw firmy Agilent Technologies.
Testery optyczne Agilent BV3000 Testery optyczne typu AOI (Automated Optical Inspection) stanowi¹ alternatywÍ dla doúÊ szeroko rozpowszechnionego, szczegÛlnie
136
przy ma³ych skalach produkcji, manualnego sprawdzania p³ytek drukowanych przez ludzi. Systemy tego rodzaju sk³adaj¹ siÍ z†odpowiedniego zestawu ürÛde³ úwiat³a, jednej b¹dü kilku kamer oraz z†oprogramowania. Pakiet oprogramowania zawiera dwie aplikacje. Pierwsza z†nich Test Development Software stanowi pÛ³automatyczne oprogramowanie s³uø¹ce do wprowadzania i†translacji wzoru (layoutu) p³ytki do wewnÍtrznego, zrozumia³ego przez system formatu. Druga aplikacja zawiera algorytmy analizy obrazÛw wykorzystuj¹ce wprowadzone wczeúniej informacje o†geometrii p³ytki PCB i†widzialnych cechach komponentÛw na niej rozmieszczonych. Analiza polega na stwierdzeniu obecnoúci lub braku charakterystycznych cech obrazu i†podjÍciu na podstawie tych informacji decyzji o†ca³kowitej sprawnoúci p³ytki lub teø o†jej defektach. Test AOI pozwala na wykrycie nastÍpuj¹cych defektÛw: - brak elementÛw, z³e ich rozmieszczenie lub obecnoúÊ dodatkowych niepoø¹danych obiektÛw, - odwrÛcone lub obrÛcone komponenty, - nadmiar lutowia i†zwarcia lutownicze,
- podniesione lub wygiÍte úcieøki obwodu drukowanego. Przyk³adem testera AOI jest system Agilent BV3000 (fot. 3). W†obrÍbie rodziny BV3000 dostÍpne s¹ dwa modele: piÍciokamerowy tester 3500 E3251A przeznaczony do znajdowania powaønych b³ÍdÛw lutowniczych oraz tester 3100 E3250A, ktÛry wyposaøono w†jedn¹ centralnie zamontowan¹ kamerÍ. Moøliwoúci systemu
3100 ograniczone s¹ do analizy po³oøenia elementÛw oraz wykrywania grubych b³ÍdÛw lutowniczych. Powracaj¹c do rys. 2†moøna stwierdziÊ, øe pierwsze testowanie optyczne, po na³oøeniu pasty lutowniczej i†rozmieszczeniu elementÛw, mog³oby byÊ wykonane za pomoc¹ testera 3100, zaú po lutowaniu naleøa³oby wykorzystaÊ maj¹cy wiÍksze moøliwoúci tester 3500. System BV3000 moøe pracowaÊ w†czterech trybach operacyjnych. Pierwszy z†nich - Operator Mode charakteryzuje siÍ pe³n¹ automatyzacj¹ procesu testowania z†wykluczeniem ingerencji operatora systemu. Zamontowany w†urz¹dzeniu czytnik kodÛw kreskowych umoøliwia identyfikacjÍ badanej p³ytki. Dok³adnym przeciwieÒstwem tego trybu pracy jest Audit Mode. W†tym trybie operator moøe dok³adnie obejrzeÊ zarÛwno pe³ny obraz p³ytki, jak i†poszczegÛlne jej fragmenty. System Alignment Mode to tryb z†rozbudowan¹ automatyk¹. W†tym trybie wykorzystywane s¹ si³owniki, ktÛre przemieszczaj¹ p³ytkÍ tak, aby dok³adnie obejrzeÊ jej wybrane wczeúniej fragmenty. Ostatnim trybem pracy jest Technician Mode, w†ktÛrym dokonuje siÍ diagnozo-
Fot. 3.
Elektronika Praktyczna 12/2001
A U T O M A T Y K A SPM Report. Zawiera on dane statystyczne wykrywanych defektÛw, ktÛre mog¹ stanowiÊ istotne informacje o†s³abych punktach procesu technologicznego.
Tester rentgenowski Agilent 5DX
Fot. 4. wania i†kalibracji systemu, wybiera siÍ odpowiednie algorytmy oraz ustawia siÍ ich parametry. W†tym trybie dokonuje siÍ rÛwnieø generacji danych typu CAD. Efektem pracy systemu AOI jest wykrywanie i†lokalizacja pewnych typÛw defektÛw. Informacje, ktÛre zbiera system, musz¹ byÊ jednak ujÍte w†pewne formalne ramy. S¹ nimi raporty. System BV3000 generuje trzy rodzaje raportÛw: Defect Report, Real-Time Report oraz SPM Report (Statistical Process Monitoring Report). Defect Report zawiera nazwÍ elementu, typ defektu oraz nazwÍ p³ytki. Jest to raport tekstowy. Raport typu RealTime, to po prostu przedstawienie na ekranie monitora obrazu p³ytki z†zaznaczeniem miejsca wykrytego defektu. Ostatni z†wymienionych rodzajÛw raportÛw to
Dzia³anie testerÛw rentgenowskich, podobnie jak systemÛw AOI, polega na analizie obrazu. RÛønica polega tylko na tym, øe obraz w†tym przypadku pozyskiwany jest inn¹ metod¹ - przeúwietlenia p³ytki drukowanej promieniami X, a†co za tym idzie pojawiaj¹ siÍ moøliwoúci lokalizacji innego rodzaju defektÛw, ktÛrych nie moøna by³o wykryÊ stosuj¹c inspekcj¹ optyczn¹. TesterÛw rentgenowskich uøywa siÍ przede wszystkim do badania jakoúci po³¹czeÒ lutowniczych, choÊ nie tylko. System Agilent 5DX (fot. 4) pozwala na wykonanie zarÛwno iloúciowego opisu kaødego po³¹czenia lutowniczego na p³ytce drukowanej, jak rÛwnieø na wyszukiwanie defektÛw takich jak: rozwarcia, zwarcia lutownicze, z³e rozmieszczenie lub brak elementÛw, niewystarczaj¹ca lub nadmierna iloúÊ lutowia. Do tych dwÛch celÛw wykorzystywane s¹ dwa algorytmy: - Algorytm pomiarÛw iloúciowych (Algorithm Quantitative Measurements) generuje na podstawie zdjÍ-
cia rentgenowskiego wymiary poszczegÛlnych po³¹czeÒ (g³Ûwnie chodzi o†gruboúÊ), a†dysponuj¹c iloúciowymi opisami kaødego po³¹czenia jest w†stanie wygenerowaÊ takie charakterystyki p³ytki, jak úrednia gruboúÊ lutowia, rozk³ad gruboúci po³¹czeÒ lutowniczych, powierzchniÍ miejsc lutowniczych nie pokryt¹ lutowiem, relacje geometryczne miÍdzy nÛøkami uk³adÛw scalonych i†elementÛw dyskretnych. - Do wykrywania i†lokalizacji defektÛw s³uøy algorytm drugiego rodzaju Algorithm Feature Detection, ktÛrego zasada dzia³ania jest identyczna, jak algorytmu zaimplementowanego w†systemie AOI. Na rys. 5 pokazano przekrÛj testera 5DX firmy Agilent Technologies. W†gÛrnej czÍúci urz¹dzenia (kolumna) s¹ zamontowane: lampa rentgenowska oraz prÛøniowa pompa jonowa. Tuø pod kolumn¹ znajduje siÍ miejsce, w†ktÛrym umieszcza siÍ przeznaczon¹ do testowania p³ytkÍ PCB. Pod ni¹ z†kolei znajduje siÍ detektor scyntylacyjny, ktÛry obraca siÍ w†celu wytworzenia metod¹ laminografii 3D obrazÛw zarÛwno jednej, jak i†drugiej strony p³ytki PCB. Laminografia 3D jest metod¹ pozwalaj¹c¹ kontrolowaÊ p³aszczyznÍ ogniskow¹, dziÍki czemu dostajemy ostry obraz
obiektÛw znajduj¹cych siÍ w†tej w³aúnie p³aszczyünie. Pod detektorem znajduje siÍ kamera, ktÛra przetwarza obraz z†detektorÛw na obraz cyfrowy przeznaczony do analizy. W†úrodkowej czÍúÊ urz¹dzenia znajduje siÍ jeszcze jedna kamera, ktÛrej zadaniem jest dostarczenie zwyk³ego optycznego obrazu testowanego obiektu. Testery wykorzystuj¹ce do inspekcji promieniowanie Roentgena s¹ szczegÛlnie chÍtnie stosowane - mimo ich relatywnie wysokiego kosztu - do badania gÍsto upakowanych p³ytek PCB, w†ktÛrych wykorzystano technologiÍ BGA (Ball Grid Array). Wynika to z†faktu, øe po³¹czeÒ lutowniczych typu BGA nie sprawdzi siÍ za pomoc¹ testÛw AOI, a†i†testowanie in-circuit jest mocno utrudnione ze wzglÍdu na niewielkie moøliwoúci dostÍpu do kluczowych wÍz³Ûw elektrycznych. Problem dostÍpu do wÍz³Ûw obwodu elektrycznego poddawanego testom ICT zostanie szerzej omÛwiony w†kolejnym artykule. Jacek Falkiewicz, AM Technologies Polska [email protected]
Dodatkowe informacje Dodatkowe materia³y zwi¹zane z tematyk¹ poruszan¹ w artykule opublikujemy na p³ycie CD-EP1/2002B (uka¿e siê wraz ze styczniowym numerem EP).
Rys. 5.
138
Elektronika Praktyczna 12/2001
A U T O M A T Y K A
Dok³adnie rok temu po raz pierwszy na ³amach EP prezentowaliúmy sterowniki logiczne produkowane przez firmÍ Schneider Electric, ktÛrych pierwowzorem jest doskonale znany naszym Czytelnikom LOGO! Do tematu wracamy, poniewaø producent Zelio rozszerzy³ tÍ rodzinÍ o†kilka nowych modu³Ûw o†interesuj¹cych moøliwoúciach. PokrÛtce przedstawiamy je w†artykule.
(24VDC lub 100..240VAC), napiÍciem zasilania (24VDC lub 100..240VAC), a†takøe liczb¹ wejúÊ analogowych (brak lub 2). Wybrane modele sterownikÛw s¹ oferowane z†wewnÍtrznym zegarem z†rozrÛønianiem dni tygodnia. Obwody wyjúciowe sterownikÛw producent wyposaøy³ w†przekaüniki elektromechaniczne, ktÛrych styki moøna obci¹øaÊ pr¹dem o†natÍøeniu do 8A (przy zasilaniu 230VAC). Montaø sterownikÛw nie wymaga øadnych akcesoriÛw, poniewaø ich obudowa jest przystosowana do montaøu na szynie DIN35 lub za pomoc¹ úrub.
Wygl¹d Zelio pokazano na fot. 1, a†na rys. 2 znajduje siÍ szczegÛ³owy opis panelu operatorskiego. Programowanie sterownika jest moøliwe za pomoc¹ przyciskÛw klawiatury lub oprogramowania Zelio Soft. Obs³uguje ono trzy jÍzyki: symboliczny jÍzyk Zelio, standardowy jÍzyk drabinkowy oraz jÍzyk graficzny operuj¹cy symbolami elektrycznymi. Program moøe zawieraÊ od 60 (modu³y 10 i†12 I/O) do 80 (wersja z†20 I/O) krokÛw. Kaøda linia moøe mieÊ do 3 îstykÛwî i†îcewkÍî lub 3 îstykiî i†blok funkcyjny. Do dyspozycji uøytkownika jest 8 przekaünikÛw czasowych, ktÛre mog¹ realizowaÊ 8†rÛønych funkcji (np. sterowane sygna³em lub impulsem opÛünienia za³¹czenia, opÛünienie roz³¹czenia, pojedynczy impuls, praca cykliczna), 8 licznikÛw dwukierunkowych (zliczanie i†odliczanie), 15 przekaünikÛw pomocniczych, 8 analogowych komparatorÛw do wyboru z†7 rÛønych typÛw (porÛwnywa-
Fot. 1a.
Zelio Logic miniaturowe sterowniki logiczne Sterowniki Zelio Logic s¹ oferowane w†8†wariantach rÛøni¹cych siÍ liczb¹ wejúÊ i†wyjúÊ (od 10, 12 lub 20 linii I/O), dopuszczalnym napiÍciem na wejúciach logicznych
140
Fot. 1b.
Elektronika Praktyczna 12/2001
A U T O M A T Y K A
Rys. 2. nie dwÛch zmiennych lub zmiennej i†wartoúci odniesienia). DziÍki wbudowanej pamiÍci EEPROM, wpisany do sterownika program jest zachowywany po wy³¹czeniu zasilania. Niespotykan¹ w†innych sterownikach tego typu moøliwoúci¹ Zelio jest definiowanie do czterech pe³noekranowe blokÛw tekstowych (4 linie po 12 znakÛw), ktÛre s¹ wyúwietlane na wyúwietlaczu sterownika. Kaødy taki blok tekstowy uaktywniany jest jak zwyk³a cewka i†moøe mu towarzyszyÊ wyúwietlanie jednej lub dwÛch zmiennych. Cztery klawisze nawigacyjne mog¹ byÊ skonfigurowane jako dodatkowe przyciski funkcyjne. BÍd¹ one traktowane wÛwczas jak dodatkowe wejúcia - od zwyk³ych odrÛøniaÊ je bÍdzie jedynie brak zewnÍtrznych po³¹czeÒ elektrycznych. Od stycznia rodzina Zelio Logic
142
powiÍkszy siÍ o†modu³y wyposaøone w†wyjúcia tranzystorowe, przystosowane do zasilania napiÍciem 12VDC i 24VDC, a takøe nieco taÒsze od standardowych modu³y pozbawione interfejsu uøytkownika (klawiatury i wyúwietlacza).
Zelio Time elektroniczne przekaüniki czasowe Schneider Electric wprowadzi³ do rodziny Zelio modu³y programowanych przekaünikÛw czasowych Zelio Time. DostÍpne s¹ ich dwa modele: z†wyjúciem przekaünikowym o†obci¹øalnoúci pr¹dowej do 8A (przy 250VAC) oraz z†wyjúciem tranzystorowym o†maksymalnej obci¹øalnoúci do 700mA (przy 24VDC), obydwa oferowane w†obudowach przystosowanych do montaøu na szynie DIN35. Obecnie w†ramach rodziny Zelio Time s¹
produkowane trzy rodzaje przekaünikÛw czasowych: RE7, RE8 i†RE9. Najbardziej uniwersalne s¹ przekaüniki z†serii RE7, ktÛre producent oferuje w†wersjach z†dwoma zakresami czasu (do 300 godzin lub do 10 minut), moøliwoúci¹ zewnÍtrznego inicjowania i†wstrzymywania odmierzania czasu i†z dwoma konfiguracjami wyjúcia (z jednym lub dwoma stykami). Przekaüniki z wyjúciem pÛ³przewodnikowym RE7 s¹ dostarczane w†jednej z†7 konfiguracji trybu pracy, przy czym jeden z†wariantÛw jest w†pe³ni uniwersalny i†umoøliwia wybÛr dowolnego trybu pracy. Przekaüniki z†serii RE8 s¹ mniej uniwersalne, ale 5†dostÍpnych konfiguracji trybu pracy w†zupe³noúci wystarcza do zrealizowania wszystkich typowych zadaÒ w†systemach sterowania. Timery w†przekaünikach czasowych RE8 umoøliwiaj¹ odmierzanie czasu do 30 minut, przy czym producent oferuje aø 7†wersji rÛøni¹cych siÍ zakresami odmierzanego czasu. Przekaüniki z†serii RE9 wyrÛøniaj¹ siÍ, na tle wczeúniej przedstawionych, moøliwoúci¹ zasilania dowolnym napiÍciem z przedzia³u 24...240VAC/ VDC. DostÍpne s¹ z†trzema konfiguracjami trybÛw pracy (w tym jeden uniwersalny). Umoøliwiaj¹ odmierzania czasu do 30 minut.
Zelio Control modu³y nadzoruj¹ce W†ramach rodziny Zelio Control Schneider oferuje kilka rÛønych modu³Ûw oznaczonych wspÛlnym dla wszystkich symbolem RM4. I†tak: - Modu³y RM4T i†RM4UB s³uø¹ do kontroli poprawnoúci zasilania wielofazowego (sprawdzana jest m.in. kolejnoúÊ faz, ich obecnoúÊ oraz symetria) i jednofazowego. NiektÛre z†modu³Ûw RM4T wyposaøono w†timer opÛüniaj¹cy zadzia³anie wyjúcia sygnalizacyjnego. - Modu³y RM4JA i†UA s³uø¹ do monitorowania wartoúci napiÍcia zasilaj¹cego i†pr¹du pobieranego przez odbiornik. Maksymalne na-
tÍøenie monitorowanego pr¹du nie moøe przekraczaÊ 15A (AC/DC), a†maksymalne monitorowane napiÍcie to 500V (AC/DC). - Modu³y RM4LG i†RM4LA opracowano z myúl¹ o†kontrolowaniu poziomu cieczy przewodz¹cych, w†tym wody. Moøna je stosowaÊ m.in. jako modu³y zabezpieczaj¹ce pompy i†hydrofory przed uszkodzeniem wywo³ywanym prac¹ pompy na sucho. Modu³ RM4LA wyposaøono w†timer zapewniaj¹cy opÛünienie czasu za³¹czenia lub roz³¹czenia stykÛw przekaünika.
Podsumowanie InnowacyjnoúÊ nowych pomys³Ûw firmy Schneider Electric polega na rozwi¹zaniu problemÛw najczÍúciej spotykanych w†praktycznych, czÍsto ìdomowychî aplikacjach. Wykorzystanie modu³Ûw RM4 np. do zabezpieczenia silnika pompy moøe oszczÍdziÊ wielu k³opotÛw i†wi¹ø¹cych siÍ z†nimi wydatkÛw, co z†pewnoúci¹ doceni¹ w³aúciciele domkÛw z†w³asnymi ujÍciami wody. Sterowniki Zelio, ktÛrych moøliwoúci i†³atwoúÊ obs³ugi przewyøszaj¹ wiÍkszoúÊ systemÛw ìszytychî na miarÍ, s¹ stosowane w†automatyzacji sterowania bram wjazdowych, sterowania oúwietleniem na posesji, i†do budowania innych niestandardowych systemÛw alarmowych. Pomys³y firmy Schneider Electric nadal bÍdziemy úledziÊ w†EP i†przedstawimy je, moøe szybciej niø za rok. Andrzej Jakubik, AVT
Dodatkowe informacje Artyku³ powsta³ w oparciu o materia³y firmy Schneider Electric, tel. 0801171-500 lub (22) 511-84-64. Dodatkowe informacje o urz¹dzeniach opisanych w artykule s¹ dostêpne w Internecie pod adresami: - http://217.153.88.147/PDF_PL/ 3_AUTOMATYKA/05_ZELIO_STEROWNIKI_PLC_ULOTKA.pdf, - http://217.153.88.147/PDF_PL/ 3_AUTOMATYKA/05_ZELIO_LOGIC_INSTRUKCJA.pdf, - http://217.153.88.147/PDF_PL/ 3_AUTOMATYKA/05_ZELIO_TIME_CONTROL_ULOTKA.pdf.
Elektronika Praktyczna 12/2001
A U T O M A T Y K A
Firma Baumer Electric jest producentem czujnikÛw przemys³owych, ktÛrych najwaøniejsz¹ cech¹ jest legendarna juø niezawodnoúÊ i†precyzja wykonania. W†artykule przedstawiamy wybrane czujniki z†oferty tej firmy. Samoucz¹cy siÍ kompaktowy czujnik kolorÛw Bez moøliwoúci rozrÛøniania kolorÛw nie moøna sobie obecnie wyobraziÊ produkcji w†wielu dziedzinach przemys³u. CzÍsto konieczne jest rozrÛønienie tak niewiele rÛøni¹cych siÍ odcieni kolorÛw, øe jest to zadanie z†ìpograniczaî moøliwoúci ludzkiego oka. PoprawnoúÊ detekcji zaleøy teø w†duøym stopniu od k¹ta widzenia, zmiany oúwietlenia i†wielkoúci obiektu. Kompaktowe czujniki koloru z†rodziny FKDM (fot. 1) doskonale radz¹ sobie z†wiÍkszoúci¹ problemÛw spotykanych w†praktycznych aplikacjach, a†do niezawodnej detekcji wystarcza im zaledwie 340µs. Wbudowany w†czujnik oúwietlacz generuje úwiat³o o†sk³adowych RGB, ktÛre jest ogniskowane na badanym obiekcie. Pokrycie obiektu poch³ania czÍúÊ widma padaj¹cego úwiat³a, a†czÍúÊ ulega odbiciu. Odbite úwiat³o, odbierane przez detektor wbudowany w†czujnik, jest analizowane i†na tej podstawie okreúla siÍ kolor oúwietlanego obiektu. Czujniki FKDM s¹ dostarczane w†wersji dwukana³owej i†czterokana³owej. Kaødy kana³ posiada oddzielne wyjúcie, ktÛre moøna ìnauczyÊî rozpoznawania jakiegoú zadanego koloru. Czujnik moøe byÊ zastosowany do rozrÛøniania kolorÛw lub ich odcieni. W†zaleønoúci od wymagaÒ aplikacji, w†kaødym kanale moøna okreúliÊ tolerancjÍ rozpoznawania, co pozwala traktowaÊ kolory: ciemnoniebieski i†jasnoniebieski jako jeden kolor. DziÍki wbudowanemu oúwietlaczowi, w†czujniku praktycznie wyeliminowano wp³yw otaczaj¹cego oúwietlenia na jakoúÊ rozpoznawania. Sterowanie prac¹ czujnika jest bardzo proste i†odbywa siÍ za
Elektronika Praktyczna 12/2001
pomoc¹ trzech przyciskÛw znajduj¹cych siÍ na tylnej úciance czujnika. Czujnik niezawodnie wykrywa kolory rÛønych materia³Ûw, jak np. metal, szk³o, plastik, substancje sypkie, papier, tekstylia i†inne.
Dok³adny, szybki, kompaktowy i†uniwersalny... ...w ten sposÛb najkrÛcej moøna okreúliÊ - nowe w†ofercie firmy Baumer Electric - czujniki laserowe przeznaczone do bezkontaktowego mierzenia odleg³oúci. Czujnik dzia³a na zasadzie metody triangulacyjnej. W¹ska wi¹zka laserowa jest odbijana od obiektu i†wraca do detektora promieniowania laserowego wbudowanego w†przyrz¹d. Zmiana odleg³oúci czujnika od obiektu, a†wiÍc zmiana k¹ta, pod ktÛrym jest odbijana wi¹zka powrotna, powoduje zmianÍ miejsca jej padania na powierzchniÍ detektora. RolÍ detektora spe³nia pole fotodiod rozmieszczonych szeregowo, ktÛrych stan jest úledzony przez wbudowany w†przyrz¹d mikrokontroler. W†zaleønoúci od miejsca padania wi¹zki úwiat³a jest obliczana odleg³oúÊ czujnika od obiektu. SzybkoúÊ odpowiedzi czujnika na zmianÍ odleg³oúci wynosi 10ms. Szybsze s¹ czujniki z†rodziny PSD (Position Sensitive Device), dla ktÛrych czas reakcji wynosi zaledwie ok. 1ms. Odleg³oúÊ jest obliczana przez mikroprocesor zawarty w†czujniku i†moøe byÊ transmitowana na zewn¹trz za pomoc¹ interfejsu szeregowego RS485 lub z†pÍtl¹ pr¹dow¹ 4...20mA. Czujniki PSD s¹ wytwarzane dla czterech zakresÛw pomiarowych odleg³oúci: 30...50mm, 30...130mm, 50...250mm oraz 100...500mm, w†ktÛrych pomiary odbywaj¹ siÍ z†rozdzielczoúci¹ odpowiednio: 0,01, 0,06, 0,3 oraz 0,5mm.
Fot. 1. Kompaktowy czujnik kolorów FKDM. DziÍki laserowi dzia³aj¹cemu w†widzialnym paúmie widma, instalacja czujnika jest ³atwa i†nie wymaga dodatkowego oprzyrz¹dowania. Duø¹ zalet¹ czujnikÛw PSD jest to, øe wbudowany w†nie laser dzia³a w†klasie 2 (moc lasera do 1†mW), nie jest wiÍc konieczne wprowadzanie podczas jego instalacji specjalnych úrodkÛw bezpieczeÒstwa. Moøliwymi aplikacjami s¹ pomiary bicia (opon, wa³Ûw), analogowe pomiary pozycji mechanicznych cz³onÛw wykonawczych (krzywek, klap, zaworÛw), dok³adne bezkontaktowe pomiary gruboúci (blach, papieru) itd.
Miniaturowy czujnik laserowy z†t³umionym t³em W†ofercie produkcyjnej firmy Baumer Electric znajduj¹ siÍ takøe ultraminiaturowe czujniki optyczne OHDK, ktÛrych wymiary wynosz¹ zaledwie 10x27x16,3mm. G³Ûwnym elementem czujnika jest laser dzia³aj¹cy w†widzialnym paúmie widma, co znacznie u³atwia jego instalacjÍ. Maksymalny zasiÍg dzia³ania wynosi 100mm. Moøna go dobieraÊ w†przedzia-
le 20...100mm za pomoc¹ specjalnego mechanizmu zmieniaj¹cego pozycjÍ soczewki, a†nie jak to siÍ dzieje zazwyczaj przez zmianÍ czu³oúci elementÛw fotoelektrycznych. Takie rozwi¹zanie umoøliwia osi¹gniÍcie bardzo precyzyjnego nastawienia, lepszej powtarzalnoúci pomiarÛw i†ma³ej wraøliwoúci na zmieniaj¹ce siÍ w³aúciwoúci optyczne (odbiciowe) obiektu. PowtarzalnoúÊ wynikÛw pomiarÛw przy bocznym przybliøeniu w†p³aszczyünie ogniskowej jest mniejsza niø 0,2mm. Czujniki OHDK s¹ dostarczane w†wersjach: z†kablem lub ze z³¹czk¹ i†s¹ zabezpieczone przed niew³aúciw¹ biegunowoúci¹ i†zwarciem.
Nowa generacja optycznych czujnikÛw úwiat³owodowych Wymagania stawiane przez uøytkownikÛw powoduj¹, øe czujniki optyczne s¹ coraz czÍúciej wykonywane w†oparciu o†w³Ûkna úwiat³owodowe. W†ramach nowej generacji czujnikÛw úwiat³owodowych FVDK firmy Baumer Electric s¹ dostÍpne modele czujnikÛw z†funkcj¹ teach-in (samoreguluj¹ce siÍ) oraz
Fot. 2. Triangulacyjny czujnik laserowy do pomiaru odległości.
145
A U T O M A T Y K A úwiat³owodowymi (úwiat³o jest doprowadzane do miejsca odczytu przewodem úwietlnym znajduj¹cym siÍ w†úrodku kabla, w³Ûkien odbiorczych jest kilka, a†znajduj¹ siÍ na obwodzie kabla), dostÍpne s¹ takøe úwiat³owody z†promieniem zgiÍcia ograniczonym do 2mm oraz úwiat³owody odporne na temperatury od 60 oC do nawet 350oC.
Kieszonkowy czujnik liniowy PosCon
Fot. 3. klasyczne czujniki, w†ktÛrych czu³oúÊ jest nastawiana potencjometrem. FunkcjÍ teach-in moøna aktywowaÊ lokalnie lub zdalnie, dziÍki czemu parametry toru pomiarowego czujnika moøna dynamicznie dostosowywaÊ do bieø¹cych wymagaÒ pomiarowych. W†ramach rodziny FVDK s¹ oferowane modele z†wyjúciem cyfrowym lub analogowym, a†takøe czujniki z†ustalan¹ przez uøytkownika histerez¹ lub ze skrÛconym do 50ms czasem odpowiedzi. Widoczny na fot. 3 siedmiosegmentowy wyúwietlacz na korpusie czujnika wyraünie u³atwia adjustacjÍ czujnika po zainstalowaniu. Wyúwietlane cyfry informuj¹ o†natÍøeniu úwiat³a padaj¹cego na odbiornik. Mog¹ byÊ teø wyúwietlane na nim parametry wybranych funkcji i†komunikaty o†usterkach. Czujniki úwiat³owodowe s¹ oferowane takøe w†postaci niezaleønych modu³Ûw, wúrÛd ktÛ-
146
rych s¹ dostÍpne: jedna jednostka centralna zawieraj¹ca z³¹cze, wyúwietlacz i†elementy steruj¹ce oraz modu³y z†interfejsami úwiat³owodowymi, ktÛrych moøe byÊ nawet 16. Modu³y komunikuj¹ siÍ z†jednostk¹ centraln¹ za poúrednictwem wewnÍtrznej magistrali, a†dane s¹ przekazywane do systemu nadrzÍdnego przez pojedynczy kabel. Ca³y system jest przeznaczony do montaøu na listwie DIN, dziÍki czemu w†razie usterki ktÛregokolwiek modu³u moøna go wyj¹Ê i†wymieniÊ bez koniecznoúci od³¹czenia pozosta³ych modu³Ûw, co minimalizuje czas naprawy serwisowej. W†ramach rodziny FVDK s¹ oferowane czujniki przystosowane do wspÛ³pracy z†plastikowymi w³Ûknami úwiat³owodowymi, wúrÛd ktÛrych s¹ dostÍpne w³Ûkna odporne na úrodki chemiczne, z†ogniskowan¹ wi¹zk¹ úwietln¹ (z t³umieniem wp³ywu t³a), ze wspÛ³osiowymi kablami
Czujniki serii PosCon s³uø¹ do pomiaru szerokoúci obiektÛw, detekcji krawÍdzi, umoøliwiaj¹ takøe dok³adne okreúlenie pozycji nadzorowanego obiektu. Emiter czujnika wytwarza liniow¹ barierÍ úwietln¹, ktÛrej úwiat³o odbija siÍ od zwierciad³a odblaskowego lub folii refleksyjnej. Informacja o†natÍøeniu odbieranego promieniowania jest prezentowana na wyúwietlaczu. Czujniki PosCon maj¹ trzy tryby pomiarowe: - pomiary szerokoúci (tekstyliÛw, filmÛw, plastiku, papieru itd.) z†moøliwoúci¹ detekcji pÍkniÍÊ i†przerwania, - detekcja pozycji krawÍdzi idealne dla dok³adnego odczytu pozycji materia³Ûw opakowaniowych w†maszynach pakuj¹cych, - detekcja pozycji úrodka wprowadzanie i†sterowanie obiektÛw znajduj¹cych siÍ w†polu pomiarowym czujnika. Tryb pracy jest nastawiany za pomoc¹ przyciskÛw na obudowie czujnika. Czujnik jest dostarczany w†wariantach z†zakresami pomiarowymi: 30, 150 lub
Fot. 4. Czujnik liniowy PosCon. 350 mm z†rozdzielczoúci¹ 0,03, 0,15 lub 0,35mm. Do dyspozycji uøytkownika jest wyjúcie analogowe (4...20mA), wyjúcie alarmowe oraz wyjúcie cyfrowe (PNP), ktÛre moøna zastosowaÊ np. do sygnalizacji przekroczenia ustalonych przez uøytkownika progÛw referencyjnych. Opcjonalnie czujnik moøna wyposaøyÊ w†interfejs szeregowy RS485, przez ktÛry moøna nie tylko przesy³aÊ dane w†postaci cyfrowej, ale rÛwnieø zdalnie sterowaÊ wszystkimi funkcjami czujnika. Do pracy z†obiektami b³yszcz¹cymi jest przeznaczona wersja z†filtrem polaryzacyjnym. Jirí Trojan, AMTEK Sp. z o.o.
Dodatkowe informacje Artyku³ powsta³ w oparciu o materia³y firmy Baumer Electric udostêpnione przez dystrybutora - firmê Amtek s. s r.o., tel.: (22) 874-02-34, fax: (22) 863-8743, e-mail: [email protected].
Elektronika Praktyczna 12/2001
A U T O M A T Y K A
Tak naprawdÍ, liczba aplikacji systemÛw nadzoru wizyjnego jest ograniczona tylko przez wyobraüniÍ projektanta systemu i†- jak pokazuje praktyka, ten parametr bÍdzie coraz mniej istotny - cenÍ zestawu urz¹dzeÒ tworz¹cych system akwizycji i†analizy obrazu. Za pomoc¹ systemÛw wizyjnych kontrolowana jest m.in. jakoúÊ nadrukÛw na opakowaniach, wykrywane s¹ uszkodzenia opakowaÒ (poprzez detekcjÍ ich kszta³tu oraz okreúlenie wymiarÛw), monitoruje siÍ takøe jakoúÊ wykoÒczenia materia³Ûw (ich fakturÍ lub rÛwnomiernoúÊ pokrycia farb¹), a†takøe szereg innych parametrÛw, dotychczas zazwyczaj monitorowanych przez ludzi, moøliwych do wychwycenia za pomoc¹ urz¹dzeÒ automatycznie analizuj¹cych obrazy. Dwa przyk³ady aplikacji systemu analizy obrazu (kontrola kompletnoúci montaøu z³¹czy oraz pozycjonowanie PCB) pokazano na rys. 1. WspÛ³czeúnie oferowane systemy umoøliwiaj¹ analizÍ obrazÛw statycznych oraz dynamicznych, a†dziÍki zaawansowanemu oprogramowaniu steruj¹cemu prac¹ sterownikÛw wspÛ³pracuj¹cych z†kamerami, jest moøliwa analiza obiektÛw o†obrazach charakterystycznych rÛøni¹cych siÍ miÍdzy sob¹ w†sposÛb okreúlony przez operatora.
W†ten sposÛb moøna porÛwnywaÊ obrazy obrÛcone (oraz mierzyÊ k¹t obrotu) lub ustawione pod rÛønymi k¹tami, moøna takøe monitorowaÊ obiekty ulokowane na rÛønorodnych t³ach, zanurzone w†poruszaj¹cej siÍ cieczy lub znajduj¹ce siÍ w†silnie zakurzonych pomieszczeniach. Praktycznie nie ma wiÍc takich cech úrodowiskowych, ktÛrych negatywnego wp³ywu na jakoúÊ analizy nie moøna ograniczyÊ. Spektakularnym przyk³adem ilustruj¹cym elastycznoúÊ algorytmÛw analizy i†rozpoznawania obrazÛw we wspÛ³czesnych systemach nadzoru wizyjnego jest prawid³owe rozpoznanie czterech - jak widaÊ rÛøni¹cych siÍ miÍdzy sob¹ - biedronek pokazanych na fot. 2 jako obiektÛw naleø¹cych do jednej kategorii. Jednym z†najwiÍkszych producentÛw kompletnych systemÛw analizy obrazu, przystosowanych do pracy w†systemach automatyki jest firma Omron. W†jej ofercie znajduje siÍ kilka wersji systemÛw analizuj¹cych, spoúrÛd ktÛrych w†artykule przedstawimy dwa ciesz¹ce siÍ najwiÍkszym powodzeniem wúrÛd odbiorcÛw w†naszym kraju.
System na miarÍ: F150 System analizy obrazu F150 sk³ada siÍ (fot. 3) ze sterownika wspÛ³pracuj¹cego z†jedn¹ lub dwiema kamerami, kamery (kamer) z†opcjonalnymi inteligentnymi oúwietlaczami oraz opcjonalnej konsoli umoøliwiaj¹cej m.in. zdal-
Systemy nadzoru wizyjnego robi¹ we wspÛ³czesnym przemyúle coraz wiÍksz¹ karierÍ, czego przyk³adem s¹ m.in. urz¹dzenia do automatycznej inspekcji jakoúci montaøu urz¹dzeÒ elektronicznych, ktÛre przedstawiamy w†artykule na str. 135. Znajduj¹ one zastosowanie takøe w†wielu innych aplikacjach, m.in. w†przemyúle kosmetycznym, samochodowym czy spoøywczym do identyfikacji produktÛw, automatycznego pozycjonowania elementÛw na taúmie produkcyjnej, wykrywania miejsc na opakowaniach przeznaczonych do nadrukowania daty waønoúci itp. ne modyfikowanie parametrÛw analizy obrazu. Za pomoc¹ systemu F150 moøna nadzorowaÊ statyczne i†ruchome obiekty o†wymiarach od 5x5mm aø do 500x500mm. Oprogramowanie wbudowane w†sterownik wspÛ³pracuj¹cy z†kamerami u³atwia filtrowanie obrazu maj¹ce na celu zminimalizowanie wp³ywu t³a na jakoúÊ analizy, umoøliwia wykrywanie krawÍdzi elementÛw,
Rys. 1.
Elektronika Praktyczna 12/2001
147
A U T O M A T Y K A
Fot. 2. pozwala takøe na wyostrzanie lub ìwyg³adzanieî analizowanego obrazu. Niebagateln¹ zalet¹ kamer wchodz¹cych w†sk³ad systemu F150 jest moøliwoúÊ regulowania czasu elektronicznej migawki, a†minimalny czas akwizycji wynosi zaledwie 1/10000s, co umoøliwia úledzenie ruchu bardzo szybkich obiektÛw. Dodatkowym, juø wczeúniej wspomnianym, atutem kamer zastosowanych w†systemie F150 s¹ inteligentne oúwietlacze, za pomoc¹ ktÛrych moøna pole widziane przez kamerÍ oúwietlaÊ z†podzia³em na 1..12 sektorÛw o†niezaleønie sterowanym natÍøeniu oúwietlenia. DziÍki temu jest moøliwe niemal kompletne skompensowanie niedoskona³oúci oúwietlenia zewnÍtrznego. Pole obrazu poddawane analizie moøna podzieliÊ na maksimum 16 obszarÛw o†okreúlonych przez uøytkownika kszta³tach, z†niezaleønie zdefiniowanymi kryteriami pomiarÛw. WybÛr pola aktywnego w†danej chwili moøe odbywaÊ siÍ automatycznie lub rÍcznie, w†zaleønoúci od wyboru operatora. Sterownik wchodz¹cy w†sk³ad zestawu F150 oferuje uøytkownikowi, oprÛcz wczeúniej wymienionych funkcji, kilka innych moøliwoúci. Naleø¹ do nich: moøliwoúÊ kontroli powierz-
chni wybranej p³aszczyzny monitorowanego obiektu, ustalanie przybliøonego po³oøenia úrodka ciÍøkoúci na obserwowanej p³aszczyünie, a†takøe wyszukiwanie defektÛw na powierzchniach o†rÛønych kszta³tach. Obs³ugÍ i†programowanie systemu F150 u³atwia oprogramowanie Vision Composer, w†ktÛrym za pomoc¹ graficznego menu moøna okreúliÊ wszystkie parametry monitorowania oraz analizy obrazu. Z†tego krÛtkiego opisu wydawaÊ by siÍ mog³o, øe system F150 realizuje wszystkie moøliwe do wyobraøenia zadania, ale Omron wprowadzi³ do produkcji kolejny system do analizy obrazu, o†nieco wiÍkszych moøliwoúciach.
F160: szybciej, bardziej elastycznie, bardziej inteligentnie Budowa systemu F160 jest koncepcyjnie zbliøona do budowy wczeúniej opisanego systemu F150. Jego podstawow¹ zalet¹ jest moøliwoúÊ skrÛcenia ca³kowitego czasu ìmigawkiî oraz przetwarzania obrazu nawet 10-krotnie szybciej, co pozwala na úledzenie niezwykle szybko poruszaj¹cych siÍ obiektÛw. Producent doda³ takøe kilka
nowych funkcji, wúrÛd ktÛrych szczegÛlnie interesuj¹ce s¹: - moøliwoúÊ rozpoznawania pisma, - klasyfikacja obiektÛw na podstawie wczeúniej zdefiniowanych modeli, - zliczanie obiektÛw w†obszarze widzenia kamery lub obszarze dowolnie zdefiniowanym przez operatora, - moøliwoúÊ nauczenia systemu samoczynnego rozpoznawania obiektÛw, niezaleønie od ich po³oøenia i†modyfikacji faktury, ktÛrych wybrane fragmenty stanowi³y wzÛr referencyjny dla sterownika, - weryfikacja parametrÛw optycznych obiektÛw znajduj¹cych siÍ w†polu widzenia kamery z†moøliwoúci¹ traktowania ich jako wielu prÛbek tego samego obiektu. Dodatkowo sterownik systemu F160 pozwala na definiowanie do 1024 indywidualnych scen z†domyúlnie okreúlonymi parametrami weryfikacji. ZwiÍkszono takøe liczbÍ obszarÛw definiowanych przez uøytkownika do 32. Sterownik systemu F160 moøe pracowaÊ z†jedn¹ lub dwiema kamerami, ktÛre s¹ konstrukcyjnie zbliøone do kamer CCD stosowanych w†systemie F150. W†przypadku, kiedy duøa szybkoúÊ skanowania nie jest istotna, a†dodatkowe moøliwoúci oferowane przez sterownik F160 s¹ istotne, jest moøliwe do³¹czenie taÒszych kamer z†systemu F150 do tego sterownika. Takøe konsola steruj¹ca prac¹ systemu F150 moøe byÊ wykorzystana do wspÛ³pracy ze sterownikiem z†rodziny F160.
Podsumowanie Przedstawione w†artykule systemy nadzoru wizyjnego produkowane przez firmÍ Omron to tylko skromny, lecz reprezentatywny przyk³ad moøliwoúci oferowanych wspÛ³czeúnie przez producentÛw i†dostawcÛw sprzÍtu przeznaczonego do stosowania w†systemach automatyki. Ogromne moøliwoúci, ³atwoúÊ konfiguracji, a†takøe stosunkowo niewysokie ceny urz¹dzeÒ umoøliwiaj¹cych wizyjny nadzÛr nad przebiegiem produkcji powoduj¹, øe siÍga po nie coraz wiÍksza liczba uøytkownikÛw. Walory optycznej kontroli przebiegu produkcji, a†takøe moøliwoúÊ intuicyjnego i†coraz bardziej inteligentnego interweniowania w†jej przebieg, poszerzy niew¹tpliwie grono uøytkownikÛw urz¹dzeÒ tego typu. Zapraszamy juø wkrÛtce! Piotr Zbysiñski, AVT [email protected]
Dodatkowe informacje
Fot. 3.
148
Artyku³ powsta³ na bazie materia³ów udostêpnionych przez firmê Omron, tel. (0-22) 645-78-60, www.omron.com.pl.
Elektronika Praktyczna 12/2001