w w w. e p . c o m . p l
ELEKTRONIKA PRAKTYCZNA •
KATALOGI FIRM: XILINX ORAZ GRIFO, KSI¥¯KA O PROGRAMIE PSPICE, ORCAD 9.1, OPROGRAMOWANIE NA CD: PICDEM.net, KOMPILATORY C FIRMY TASKING, NOWE PROGRAMY DLA UK£ADÓW CPLD FIRMY ATMEL...
Miêdzynarodowy magazyn elektroników konstruktorów
10/2001
●
październik
●
15 zł 50 gr
(w tym 7% VAT)
10/2001 • paŸdziernik
▲
Emulator−programator mikrokontrolerów AVR i ’51 do każdego typu komputera Kolejny w EP projekt dla amigowców, ale nie tylko! Jest to niepowtarzalna okazja dla użytkowników tych komputerów, aby zbudować sobie dosko− nale działające narzędzie, umożliwiające pracę ze współczesnymi mikrokontrolerami. Str. 31.
Uniwersalny przyrząd ▲ laboratoryjny Projekt ilustrujący potężne możliwości tkwiące w niepo− zornych, 8−bitowych mikro− kontrolerach. Str. 41.
Korektor i wzmacniacz ▲ akustyczny 4x40W Na str. 47 kończymy opis korektora−przed− wzmacniacza ze sterowaniem cyfrowym. Za miesiąc − w ostatniej części artykułu − opublikujemy opis współpracującego z nim 4−kanałowego wzmacniacza mocy.
▲ PICDEM.net − PIC−e w sieci
Generator szumu ▲
Tytuł artykułu mówi sam za siebie: kolejna prezentacja “sieciowych” możliwości współ− czesnych mikrokontrolerów. Str. 51.
Miniprojekt ze str. 83 jest dowodem na to, że na tranzys− torach można jeszcze coś fajnego zrobić...
▲
Emulator DS5000 i innych mikrokontro− lerów rodziny ‘51
▲
▲
Drugą część artykułu poświęci− liśmy omówieniu sposobu mon− tażu i uruchomienia tego niezwyk− łego emulatora. Str. 37.
Immobilizer z zabezpieczeniem przed porwaniem samochodu Oryginalny projekt zmniejszający ryzyko porwania samochodu. Str. 19.
Nadchodząca, nieunikniona plucha utrudni kierowcom życie. Urządzenie, którego kon− strukcję prezentujemy na str. 27 zmniejszy liczbę problemów, ponieważ zapewni automa− tyczne, inteligentne sterowanie pracą wycieraczek.
Mini−generator funkcyjny
▲
Inteligentny sterownik wycieraczek
Łatwy w wykonaniu przyrząd laboratoryjny, który z powodze− niem może spełniać rolę uniwersalne− go źródła sygnałów testowych. Str. 84.
OrCAD − profesjonalny system wspomagający projektowanie układów elektronicznych W drugiej części artykułu kończymy opis edytora schema− tów zintegrowanego w pakiecie OrCAD. Str. 76.
▲ ▲
2x więcej logiki − druga generacja układów ATF15xx Na str. 93 przedstawiamy możliwości nowej generacji układów CPLD firmy Atmel oraz narzędzia stosowane do przygotowywania dla nich projektów.
6
Elektronika Praktyczna 10/2001
Nr 10 (106) październik 2001
Konkurs .............................................................................. 8 Projekty
▲ Urządzenia z interfejsem szeregowym w sieci Ethernet W artykule na str. 137 przedsta− wiamy nowoczesne interfejsy umożliwiające dołączenie do sieci przemysłowych urządzeń wyposażonych tylko w RS232.
Dekoder MP3, część 1 ..................................................................... 14 Immobilizer z zabezpieczeniem przed porwaniem samochodu ....................................................................................... 19 Inteligentny sterownik wycieraczek ............................................... 27 Emulator−programator mikrokontrolerów AVR i '51 do każdego typu komputera, część 1 ................................................................ 31 Emulator DS5000 i innych mikrokontrolerów rodziny ‘51, część 2 .......................................................................... 37 Uniwersalny przyrząd laboratoryjny, część 2 ................................ 41 Korektor i wzmacniacz akustyczny 4x40W, część 2 .................... 47
Miniprojekty Generator szumu .............................................................................. 83 Mini−generator funkcyjny ................................................................ 84
Automatyka Urządzenia z interfejsem szeregowym w sieci Ethernet ............ 137 Czujniki optyczne serii E3Z ............................................................. 143 Sterowniki PLC rodziny MicroSMART, część 2 ............................. 148
Sprzęt PICDEM.net − PIC−e w sieci .............................................................. 51 ATF15xx Development Kit − zestaw ewaluacyjny dla układów CPLD firmy Atmel ...................................................... 54 ASL−2016/2032 − analizatory stanów logicznych .......................... 58 Programator uniwersalny UPROG40/48 ........................................ 64 Z Bascomem po włosku − zestawy dydaktyczne firmy Grifo ........ 70
Podzespoły
▲ ATF15xx Development Kit Najnowszy zestaw ewaluacyjny dla układów CPLD firmy Atmel przedstawiamy na str. 54.
Materiały stykowe w przekaźnikach .............................................. 60 Nowe Podzespoły ............................................................................ 89 2 x więcej logiki − druga generacja układów ATF15xx firmy Atmel ........................................................................................ 93
Programy Oprogramowanie narzędziowe firmy Tasking Inc. dla mikrokontrolerów '51 ....................................................................... 68 OrCAD − profesjonalny system wspomagający projektowanie układów elektronicznych − edytor schematów, część 2 ........................................................................ 76
Projekty Czytelników Przetwornica napięcia do świetlówki ............................................ 99 Cyfrowy regulator ciśnienia, część 2 ........................................... 101
Info Świat ....................................................................... 103 Info Kraj .......................................................................... 105 Biblioteka EP ................................................................... 96
▲ ASL−2016/2032 − analizatory stanów logicznych
Kramik+Rynek .............................................................. 113
Interesujące opracowanie jednej z krajowych firm elektronicznych przedstawiamy w artykule na str. 58.
Ekspresowy Informator Elektroniczny ..................... 131
Elektronika Praktyczna 10/2001
Listy ................................................................................. 119
Wykaz reklamodawców ............................................ 130
7
Sprzętowy P R O J dekoder E K T MP3 Y
Sprzętowy dekoder MP3, część 1 Muzyka zapisana w†plikach MP3 podbija úwiat. Pomimo wielu zastrzeøeÒ zwi¹zanych z†jakoúci¹ odtwarzanej muzyki popularnoúÊ formatu MP3 roúnie i†nic nie wskazuje, øe ekspansja zostanie zatrzymana. Bior¹c pod uwagÍ ten fakt postanowiliúmy przybliøyÊ naszym Czytelnikom konstrukcjÍ sprzÍtowego dekodera MP3 wykonanego na bazie jednego z†³atwiej (co nie oznacza, øe ³atwo!) dostÍpnych dekoderÛw STA013 firmy STMicroelectronics.
14
W†odrÛønieniu od wiÍkszoúci przygotowywanych przez nas projektÛw, urz¹dzenie prezentowane w†artykule nie znajdzie siÍ w†ofercie kitÛw. Jest to wynik wielu problemÛw zaopatrzeniowych, na jakie natknÍliúmy siÍ podczas przygotowywania prototypÛw. Naszym pierwotnym zamierzeniem by³o opracowanie przenoúnego odtwarzacza MP3 zintegrowanego z†czytnikiem kart pamiÍciowych Flash w†standardzie MMC (ang. MultiMedia Card), co w†znacznym stopniu siÍ powiod³o, ale nie zakoÒczy³o 100-procentowym sukcesem. Niestety, wiÍkszoúÊ podzespo³Ûw niezbÍdnych do wykonanie dekodera jest do-
stÍpna tylko w†iloúciach przemys³owych, co uniemoøliwi³o - przynajmniej na razie - wdroøenie kitu do produkcji. Pomimo tych problemÛw postanowiliúmy przedstawiÊ opis tej wersji dekodera, ktÛrego konstrukcja zosta³a nieco zmodyfikowana, dziÍki czemu urz¹dzenie moøna wykorzystaÊ takøe jako sprzÍtowy dekoder MP3 wspÛ³pracuj¹cy z†komputerem PC lub - po adaptacji oprogramowania - z†dowolnym innym. Prowadzimy dalsze prace maj¹ce na celu zast¹pienie pamiÍci MMC dyskiem twardym z†interfejsem ATA. O†efektach bÍdziemy informowaÊ.
MP3 - co to jest? Mianem MP3 okreúlane s¹ pliki zawieraj¹ce cyfrowo zapisan¹ muzykÍ, ktÛrych najpowaøniejsz¹ zalet¹ s¹ niewielkie objÍtoúci, co najmniej kilkukrotnie mniejsze niø wynika to z†zastosowanych metod konwersji A/C. Algorytm zastosowany do kodowania i†dekodowania sygna³u zaczerpniÍto ze standardu MPEG (jego wersje 1/2/2,5), gdzie zajmuje on w†ìstosieî kodeka warstwÍ 3, odpowiadaj¹c¹ za obrÛbkÍ sygna³Ûw audio. Za³oøeniem przyúwiecaj¹cym twÛrcom tego standardu by³o zapewnienie jakoúci odtwarzanej muzyki porÛwnywalnej z†CD przy jednoczesnym obniøeniu przep³ywnoúci danych w†kanale cyfrowym. W†zaleønoúci od oczekiwanej jakoúci odtwarzanego sygna³u w†MP3 moøna zmieniaÊ czÍstotliwoúÊ prÛbkowania, liczbÍ kodowanych kana³Ûw (od 1†do 9) oraz liczbÍ bitÛw odpowiadaj¹cych pojedynczej prÛbce sygna³u audio. DobÛr tych parametrÛw ma oczywiúcie ogromny wp³yw na wymagan¹ przep³ywnoúÊ toru cyfrowego, ale sukces nadzwyczajnej kompresji sygna³u audio (od 2,7:1 aø do 24:1) jest ukryty gdzie indziej
Elektronika Praktyczna 10/2001
Sprzętowy dekoder MP3
Rys. 1. Ilustracja zasady maskowania dźwięków.
- w†sprytnym wykorzystaniu niedoskona³oúci ludzkiego s³uchu. Oznacza to rezygnacjÍ z†d¹øenia do idealnego odtworzenia sygna³u audio i†zast¹pienie tego d¹øenia wytworzeniem przez dekoder sygna³u wygl¹daj¹cego z†punktu widzenia ludzkiego ucha tak, jak sygna³ oryginalny. Zgodnie z†informacjami propagowanymi przez kompetentne instytucje zastosowanie wspÛ³czynnika kompresji 6:1, przy 16-bitowej prÛbce i†czÍstotliwoúci prÛbkowania 48kHz, nie powoduje zmiany w†jakoúci, moøliwej do wychwycenia przez ekspertÛw ods³uchowych. Warto zwrÛciÊ uwagÍ, øe jakoúÊ tak zakodowanego sygna³u jest nieco lepsza niø w†przypadku CD, a†konieczna przep³ywnoúÊ danych wynosi zaledwie 256kb/s zamiast 1,4Mb/s (w przypadku CD bez kompresji). Uzyskanie tak znacznego ograniczenia wymaganej przep³ywnoúci jest moøliwe po zastosowaniu kilku ìchwytÛwî. Analogowy sygna³ wejúciowy jest analizowany przez koder MP3 pod k¹tem moøliwoúci pominiÍcia niektÛrych fragmentÛw sygna³u audio. W†procesie maskowania wykorzystano
w³aúciwoúÊ ludzkiego s³uchu polegaj¹c¹ na maskowaniu (braku s³yszenia) sygna³Ûw o†mniejszych amplitudach przez sygna³y o†amplitudach znacznie wiÍkszych (rys. 1). W†celu zwiÍkszenia precyzji dzia³ania algorytmu kompresuj¹cego, ca³e pasmo audio podzielono na 32 podpasma, z†ktÛrych kaøde obrabiane jest w†oddzielnym torze audio. Drug¹ istotn¹ w³aúciwoúci¹ ludzkiego s³uchu, wykorzystan¹ przez twÛrcÛw standardu MPEG, jest prÛg s³yszalnoúci i†czu³oúci na zniekszta³cenia, zaleøny od úredniego natÍøenia otaczaj¹cych düwiÍkÛw i†ich widma. DziÍki temu, düwiÍki ìukryteî pod krzyw¹ pokazan¹ na rys. 2 nie musz¹ byÊ kodowane, poniewaø i†tak nie bÍd¹ s³yszane. W†przypadku kompresowania rozbudowanych pasaøy muzycznych ich jakoúÊ mog³aby ulec obniøeniu, czemu zapobiega mechanizm modyfikowania progÛw maskowania, czÍsto nazywany rezerwuarem bitÛw. Niebagatelne zmniejszenie wymaganej przep³ywnoúci sygna³u audio uzyskano takøe dziÍki specjalnemu kodowania sygna³Ûw stereofonicznych, ktÛry okreúlono
mianem Joint Stereo. W†jego ramach zintegrowano dwa mechanizmy: - Intensity Stereo - umoøliwiaj¹cy kodowanie niektÛrych sygna³Ûw (szczegÛlnie o†najniøszych i†najwyøszych czÍstotliwoúciach) w†jednym kanale monofonicznym, ktÛry jest ìrozplatanyî do postaci stereo przez dekoder, - Mid/Side Stereo - pozwalaj¹cy obniøyÊ liczbÍ niezbÍdnych bitÛw w†przypadku znacznego podobieÒstwa informacji przekazywanych w†kanale lewym i†prawym. Ostatnim etapem kompresowania sygna³u audio jest kodowanie zgodnie z†algorytmem Huffmana, ktÛre polega na zast¹pieniu d³ugich i†czÍsto powtarzaj¹cych siÍ sekwencji bitÛw skrÛconymi znacznikami, ktÛrych odpowiedniki s¹ odtwarzane w†dekoderze. CzytelnikÛw zainteresowanych szczegÛ³ami zwi¹zanymi z†kodowaniem Huffmana zachÍcamy do odwiedzenia stron w†Internecie pod adresami: http://www.compressconsult.com/huffman/#huffman oraz http://www.cs.duke.edu/csed/poop/huff/info/. Dekodowanie i†dekompresja sygna³u audio MPEG-L3 jest moøliwe na drodze programowej lub sprzÍtowej. Dekodowanie prograTab. 1. Sposób zakodowania numeru wersji MPEG. bit20 bit19 0 0 1 1
0 1 0 1
Wersja MPEG MPEG 2.5 zarezerwowane MPEG 2 (ISO/IEC 13818−3) MPEG 1 (ISO/IEC 11172−3)
Tab. 2. Sposób zakodowania informacji o rodzaju sygnału. bit7
bit6
Rodzaj sygnału
0 0 1 1
0 1 0 1
Stereo Joint stereo (Stereo) Dual channel (2 kanały mono) Single channel (Mono)
Tab. 3. Sposób zakodowania informacji o emfazie odtwarzanego sygnału.
Rys. 2. Krzywa czułości podprogowej ludzkiego słuchu.
Elektronika Praktyczna 10/2001
bit1
bit0
Emfaza
0 0 1 1
0 1 0 1
none 50/15 ms zarezerwowany CCIT J.17
15
Sprzętowy dekoder MP3 znajduje siÍ 128-bitowe pole informacyjne, zawieraj¹ce szczegÛ³owe informacje o†pliku audio, w†tym m.in.: tytu³ utworu, nazwÍ wykonawcy, rok publikacji itp. (tab. 4).
PamiÍci MMC
Rys. 3. Schemat blokowy sprzętowego dekodera MP3.
mowe w†czasie rzeczywistym jest moøliwe ze wzglÍdu na stosunkowo niewielk¹ wymagan¹ przep³ywnoúÊ danych i†duø¹ wydajnoúÊ wspÛ³czesnych procesorÛw stosowanych w†komputerach (stacjonarnych i†przenoúnych). Czysto programowa metoda dekodowania sygna³u MPEG w†sprzÍcie przenoúnym nie jest uzasadniona, poniewaø pobÛr energii przez procesory uniwersalne, a†takøe przez wiÍkszoúÊ procesorÛw DSP jest doúÊ duøy. Lepszym wyjúciem jest zastosowanie sprzÍtowego dekodera (np. STA013), ktÛrego schemat blokowy pokazano na rys. 3, a†na rys. 4 zosta³ przedstawiony algorytm jego pracy.
(opcjonalnie dodawanej w†postaci 2†8-bitowych s³Ûw na koÒcu nag³Ûwka), cztery kolejne bity (15...12) informuj¹ o†przep³ywnoúci zakodowanego sygna³u, bity 11 i†10 informuj¹ o†czÍstotliwoúci prÛbkowania. Bit o†numerze 9†informuje o†zintegrowaniu w†ramce danych slotu wyrÛwnuj¹cego d³ugoúÊ ramki do d³ugoúci wynikaj¹cej z†zestawienia czÍstotliwoúci prÛbkowania z†oczekiwan¹ przep³ywnoúci¹. Kolejny, 8†bit jest oznaczony jako Private i†jest wykorzystywany tylko w†celach in-
WiÍkszoúÊ przenoúnych odtwarzaczy MP3 jest wyposaøona w†gniazdo pamiÍci MMC lub innych, wymienialnych pamiÍci nieulotnych. WiÍkszoúÊ pamiÍci zgodnych ze standardem MMC jest przystosowana takøe do wymiany danych z†otoczeniem poprzez interfejs SPI, ktÛry wykorzystano w†prezentowanym projekcie. Rezygnacja ze standardo-
Format plikÛw MP3 Pliki MP3 maj¹ strukturÍ opisan¹ w†normach MPEG (m.in. w†ISO11172-3). Plik rozpoczyna siÍ zawsze od 4-bajtowego nag³Ûwka, w†ktÛrym pierwsze 11 bitÛw (31...21) o†wartoúci ì1î umoøliwia zsynchronizowanie odbiornika z†nadajnikiem, kolejne dwa bity (20, 19) zawieraj¹ informacjÍ o†wersji MPEG (tab. 1), bity 18 i†17 zawieraj¹ informacjÍ o†numerze warstwy MPEG (dla L3 przyjmuj¹ one stany: 01), kolejny bit (16) niesie informacjÍ o†w³¹czonej lub wy³¹czonej sprzÍtowej weryfikacji sumy kontrolnej CRC Tab. 4. Zawartość pola informacyjnego pliku MP3 (ostatnie 128 bajtów pliku). Tytuł utworu Wykonawca Nazwa albumu Rok produkcji Komentarz Liczba utworów w pliku Genre
16
30 znaków 30 znaków 30 znaków 4 znaki 30 znaków 3 znaki 1 znak
formacyjnych. Dwa kolejne bity (7 i†6) zawieraj¹ informacje o†rodzaju przesy³anego sygna³u (tab. 2), a†dwa nastÍpne zawieraj¹ informacje niezbÍdne do prawid³owego dekodowania sygna³Ûw stereofonicznych, kodowanych z†wykorzystaniem metody Joint Stereo. Bit o†numerze 3†informuje o†zastrzeøeniu praw autorskich do danych zgromadzonych w†pliku, natomiast bit 2†sygnalizuje czy jest to nagranie oryginalne, czy teø jest to kopia orygina³u. Dwa najm³odsze bity nag³Ûwka zawieraj¹ informacjÍ o†rodzaju emfazy niezbÍdnej do prawid³owego odtworzenia sygna³u audio (tab. 3). Po nag³Ûwku s¹ przesy³ane dane audio, na koÒcu ktÛrych
Rys. 4. Algorytm pracy dekodera MP3.
Elektronika Praktyczna 10/2001
Sprzętowy dekoder MP3
Rys. 5. Schemat blokowy karty MMC.
Elektronika Praktyczna 10/2001
wego protoko³u stosowanego w†MMC wynika z†faktu jego znacznego (w porÛwnaniu z†SPI) skomplikowania, a†takøe z†nieco prostszej w†implementacji sprzÍtowej obs³ugi SPI. Schemat blokowy karty MMC2XA3 (o pojemnoúci 16MB) firmy Infineon, aktualnie wytyczaj¹cej standard rynkowy, pokazano na rys. 5. Jak widaÊ na rysunku, oprÛcz matrycy pamiÍciowej Flash we wnÍtrzu karty zintegrowano szereg blokÛw niezbÍdnych do jej prawid³owej pracy, w†tym przetwornicÍ napiÍcia programuj¹cego, programowany interfejs szeregowy, zespÛ³ rejestrÛw konfiguruj¹cych pracÍ pamiÍci oraz zawieraj¹cych informacje o†parametrach karty (w tym o†poborze pr¹du dla maksymalnego i†mini-
malnego dopuszczalnego napiÍcia zasilaj¹cego), a†takøe generator taktuj¹cy synchronizuj¹cy pracÍ wszystkich wewnÍtrznych mechanizmÛw karty. KartÍ wyposaøono takøe w†blok korekcji b³ÍdÛw transmisji, ktÛry jest bardzo pomocny zw³aszcza podczas przesy³ania danych z†duø¹ szybkoúci¹. DostÍp do matrycy moøe byÊ sekwencyjny lub swobodny, ktÛry ze wzglÍdu na koniecznoúÊ kaødorazowego adresowania docelowej komÛrki pamiÍci nieco spowalnia zapis i†odczyt. Wyprowadzenia interfejsu szeregowego s¹ odporne na przepiÍcia do 4kV, a†maksymalna szybkoúÊ transferu danych (odczyt) wynosi 13,7Mb/s, co z†duøym zapasem wystarcza do naszych celÛw. Andrzej Gawryluk, AVT
17
Immobilizer z zabezpieczeniem przed porwaniem P R O J samochodu E K T Y
Immobilizer z zabezpieczeniem przed porwaniem samochodu AVT−5038 Kolejny uk³ad, ktÛrego zadaniem jest zabezpieczenie naszego samochodu. Liczba w³amaÒ i†kradzieøy samochodÛw zastraszaj¹co ostatnio siÍ powiÍkszy³a. CÛø, kradzieøe samochodÛw zdarza³y siÍ, zdarzaj¹ i†bÍd¹ siÍ zdarzaÊ zawsze. Jednak do niedawna kradzieøami zajmowali siÍ, zgodnie ze specyfik¹ swojego zawodu, z³odzieje. Obecnie obserwujemy nowe zjawisko: za kradzieøe wziÍli siÍ takøe bandyci, co poci¹gnͳo za sob¹ powstanie nowego rodzaju przestÍpstw, czyli uprowadzeÒ samochodÛw, dokonywanych niekiedy z†uøyciem si³y wobec ich w³aúcicieli.
Elektronika Praktyczna 10/2001
SposobÛw porwania samochodu jest wiele. Do najczÍúciej spotykanych naleøy sposÛb na tzw. st³uczkÍ. PrzestÍpcy celowo powoduj¹ drobn¹ kolizjÍ z†upatrzonym pojazdem, a†kiedy jego kierowca wysiada w†celu stwierdzenia poniesionych przez pojazd ìobraøeÒî, jego samochÛd, w†ktÛrym najczÍúciej pozostawione zosta³y kluczyki, zostaje po prostu porwany. S³ysza³em takøe o†porwaniach samochodÛw ze stacji benzynowych w†momencie, kiedy kierowca uda³ siÍ do kasy w†celu zap³acenia rachunku, a†takøe o†stosowaniu si³y wobec kierowcÛw, ktÛrych po prostu wyrzucano z†samochodÛw stoj¹cych na skrzyøowaniach pod czerwonym úwiat³em. Czy jakieú uk³ady elektroniczne s¹ w†stanie skutecznie zabezpieczyÊ nasze samochody przed uprowadzeniem? Przecieø nawet najlepszy system alarmowy jest podczas jazdy wy³¹czony, pilot s³uø¹cy do jego w³¹czania takøe najczÍúciej przymocowany jest do
kluczykÛw tkwi¹cych w†stacyjce. A†zatem wykorzystywanie konstruowanych do tej pory systemÛw alarmowych i†immobilizerÛw raczej nie wchodzi w†grÍ, a†koniecznoúci¹ chwili sta³o siÍ zaprojektowanie zupe³nie nowego uk³adu, ktÛry powinien reagowaÊ na nieobecnoúÊ w³aúciciela pojazdu w†samochodzie i†po wykryciu tego faktu uniemoøliwiaÊ dalsz¹ jazdÍ. Taki uk³ad, bÍd¹cy swoist¹ hybryd¹ typowego immobilizera ze zdalnym wy³¹cznikiem zap³onu, zosta³ przeze mnie zaprojektowany, przetestowany w†moim wys³uøonym Polonezie (no, tego grata chyba nikt nie chcia³by porwaÊ, ale kto wie) i†obecnie przekazujÍ jego opis do dyspozycji CzytelnikÛw Elektroniki Praktycznej. Uk³ad sk³ada siÍ z†dwÛch czÍúci: ma³ego nadajnika noszonego przez kierowcÍ w†kieszeni (ale broÒ Boøe nie jako breloczek do kluczykÛw!) i†uk³adu odbiorczego ukrytego w†samochodzie i†spe³niaj¹cego, niejako przy okazji, funkcjÍ typowego immobilizera. Dzia³anie uk³adu jest banalnie proste: jeúli kierowca siedzi w†kabinie samochodu lub znajduje siÍ w†jego bezpoúrednim s¹-
19
Immobilizer z zabezpieczeniem przed porwaniem samochodu siedztwie, to uk³ad odbiera sygna³ z†nadajnika i†nie blokuje instalacji zap³onowej samochodu. ZasiÍg transmisji radiowej jest w†naszym uk³adzie niewielki, a†nawet sztucznie zmniejszony. Wystarczy wiÍc, øe w³aúciciel oddali siÍ od pojazdu na odleg³oúÊ wiÍksz¹ niø kilka metrÛw, aby uk³ad po chwili oczekiwania na ponowne nawi¹zanie ³¹cznoúci wy³¹czy³ uk³ad zap³onowy, uniemoøliwiaj¹c dalsz¹ jazdÍ. Juø w†tym momencie uwaøni Czytelnicy spostrzegli z†pewnoúci¹ pewn¹ pu³apkÍ kryj¹c¹ siÍ w†proponowanym rozwi¹zaniu. Nadajnik radiowy zasilany jest z†baterii. A†co jest szczegÛlnie przykr¹ cech¹ tych popularnych ürÛde³ energii elektrycznej? Ano to, øe ìlubi¹î siÍ wyczerpywaÊ, i†to zwykle w†najbardziej niedogodnym momencie. Maj¹c odrobinÍ wyobraüni, moøemy przewidzieÊ, jak moøe to wp³yn¹Ê na nasze bezpieczeÒstwo, gdy bÍdziemy jechaÊ samochodem, ktÛrego silnik nagle odmÛwi pos³uszeÒstwa, na przyk³ad podczas wyprzedzania innego pojazdu. Niestety, tak¹ sytuacjÍ trudno ca³kowicie wykluczyÊ. Moøna jednak sprowadziÊ prawdopodobieÒstwo jej wyst¹pienia prawie do zera przez czÍst¹ wymianÍ baterii, nie w†momencie kiedy zostan¹ juø roz³adowane, ale wczeúniej, przy spadku zgromadzonego ³adunku np. do 1/3. Ponadto uk³ad zosta³ wyposaøony w†rozbudowany system zabezpieczaj¹cy przed niepoø¹danym wy³¹czeniem silnika samochodu. Zablokowanie zap³onu nie nastÍpuje natychmiast po zaniku transmisji radiowej, ale poprzedzone jest szeregiem g³oúnych, ostrzegawczych sygna³Ûw akustycznych. Ponowne przywrÛcenie transmisji powoduje natychmiastowe w³¹czenia zap³onu, a†do dyspozycji mamy jeszcze jedno ìko³o ratunkoweî: ukryty w†samochodzie prze³¹cznik, za pomoc¹ ktÛrego zawsze moøemy ponownie w³¹czyÊ zap³on. Uk³ad moøe pracowaÊ w†trzech trybach, wybieranych za pomoc¹ ustawiania jumperÛw konfiguracyjnych. 1. Obydwa jumpery rozwarte. Jest to ìklasycznyî tryb pracy uk³adu, w†ktÛrym realizuje on funkcje typowego immobilizera. Kolejne przy³oøenia zarejestrowanego uprzednio klucza DS1990 do czyt-
20
nika TOUCH MEMORY powoduje naprzemienne blokowanie i†odblokowywanie uk³adu zap³onowego. W†tym trybie pracy stosowane s¹ dwa rodzaje sygnalizowania aktualnego stanu uk³adu: akustyczny i†optyczny. Przy zablokowanym uk³adzie zap³onowym w³¹czona jest umieszczona w†czytniku czerwona dioda LED, a†przy odblokowanym - zielona. Kaøda zmiana stanu uk³adu jest dodatkowo sygnalizowana sygna³ami akustycznymi. Po zablokowaniu zap³onu generowany jest jeden krÛtki sygna³, a†po odblokowaniu dwa sygna³y. 2. Zwarty jumper JP1, jumper JP2 rozwarty. Jest to podstawowy tryb pracy uk³adu. Podobnie jak w†poprzednim przypadku, przy³oøenie zarejestrowanego klucza DS1990 do czytnika powoduje naprzemienne blokowanie i†odblokowywanie uk³adu zap³onowego. Jest jednak jedna, bardzo istotna rÛønica miÍdzy tymi trybami: utrzymanie stanu odblokowania zap³onu uwarunkowane jest ci¹g³ym odbieraniem impulsÛw nadawanych przez nadajnik. Kaødorazowe odebranie impulsu sygnalizowane jest krÛtkim b³yskiem zielonej diody LED w†czytniku. Jeøeli w†jakimú momencie uk³ad przestanie odbieraÊ sygna³y nadawane przez nadajnik, to rozpocznie siÍ odliczanie czasu pozosta³ego do wy³¹czenia zap³onu. Odliczanie sygnalizowane jest g³oúnymi sygna³ami akustycznymi emitowanymi co ok. 1†s. Jeøeli po up³ywie 30 sekund uk³ad nie odbierze sygna³u z†nadajnika, to zap³on silnika samochodu zostanie wy³¹czony i†rozpocznie siÍ generacja ci¹g³ego sygna³u akustycznego o†duøej donoúnoúci. Odebranie sygna³u z†nadajnika spowoduje wstrzymanie odliczania b¹dü jeøeli zap³on zosta³ juø wy³¹czony, jego ponowne w³¹czenie. 3. Trzeci tryb pracy, w³¹czany po zwarciu jumpera JP2 i†rozwarciu JP1, nie wymaga stosowania tabletek DS1990. W†momencie odebrania sygna³u pochodz¹cego z†nadajnika, czyli po zbliøeniu siÍ w³aúciciela do samochodu, zap³on jest automatycznie odblokowywany. Zanik sygna³Ûw pochodz¹cych z†nadajnika powoduje reakcjÍ identyczn¹, jak w†trybie 2. Uk³ad zabezpieczenia samochodu przed porwaniem nie jest szcze-
gÛlnie trudny do wykonania i†bez wahania mogÍ go poleciÊ nawet úrednio doúwiadczonym konstruktorom. Zastosowanie nowoczesnego procesora typu AT90S2313 pozwoli³o na ograniczenie liczby elementÛw niezbÍdnych do zbudowania uk³adu i†zmniejszenie kosztÛw wykonania urz¹dzenia.
Opis dzia³ania Schemat elektryczny uk³adu zabezpieczaj¹cego samochÛd przed porwaniem zosta³ pokazany na rys. 1. W jego gÛrnej czÍúci przedstawiono schemat nadajnika, a w dolnej g³Ûwn¹ czÍúÊ uk³adu, z†procesorem AT90S2313. Omawianie schematu rozpoczniemy od drugiej czÍúci. Sercem urz¹dzenia i†elementem spe³niaj¹cym wszystkie jego waøniejsze funkcje jest nowoczesny procesor wykonany w†technologii RISC - AT90S2313. jest to jeden z†moich ìulubionychî uk³adÛw, ktÛry jest chyba godnym nastÍpc¹ znakomitego, ale juø nieco wys³uøonego, procesora 89C2051. AT90S2313 jest jego ìpinowymî odpowiednikiem, ale posiada kilka cech, stawiaj¹cych go kilka ìpiÍterî wyøej. Po pierwsze szybkoúÊ pracy, ktÛra w†naszym uk³adzie nie ma duøego znaczenia, ale w†innych zastosowaniach moøe decydowaÊ o†wyborze typu procesora. AT90S2313 moøe byÊ taktowany sygna³em zegarowym o†czÍstotliwoúci dochodz¹cej do 10MHZ, podczas gdy '2051 dopuszcza maksymaln¹ czÍstotliwoúÊ 24MHz. Z†pozoru wiÍc popularna ìpiÍÊdziesi¹tka jedynkaî powinna byÊ szybsza. Jednak tylko z†pozoru, nie zapominajmy bowiem, øe czÍstotliwoúÊ oscylatora w†procesorach 51 jest wewnÍtrznie dzielona przez 12 i†czÍstotliwoúÊ zegara systemowego w†procesorze z†kwarcem 24MHz wynosi jedynie 2MHz. Ponadto w†nowoczesnym chipie '2313 wiÍkszoúÊ instrukcji wykonywanych jest w†jednym cyklu maszynowym, co takøe drastycznie zwiÍksza jego szybkoúÊ pracy. Druga, niezwykle sympatyczna cecha procesora '2313 jest zwi¹zana z wbudowaniem w†jego strukturÍ nieulotnej pamiÍci danych EEPROM o†pojemnoúci 128B. Niewiele, ale w†prostych aplikacjach pozwala na unikniÍcie stosowania
Elektronika Praktyczna 10/2001
Immobilizer z zabezpieczeniem przed porwaniem samochodu zewnÍtrznych, odpornych na przezwyk³ego immobilizera. Zak³adarwy w†zasilaniu pamiÍci EEPROM. my, øe w†pamiÍci EEPROM zostaTrzeci¹ cech¹ wyrÛøniaj¹c¹ ³y juø zapisane numery seryjne procesor 90S2313 jest moøliwoúÊ kluczy (tabletek DS1990), ktÛr¹ to programowania go w†systemie, poczynnoúÊ opiszemy w†czÍúci artydobnie jak wszystkie pozosta³e ku³u poúwiÍconej uruchamianiu chipy z†rodziny AVR. Jak bardzo uk³adu. przyspiesza to pisanie i†testowaW†tym trybie program pracuj¹c nie programu, nie muszÍ chyba w†pÍtli nieustannie sprawdza, czy nikogo przekonywaÊ. Ta cecha do czytnika TOUCH MEMORY jest szczegÛlnie dogodna podczas zosta³a przy³oøona tabletka pracy w†úrodowisku pakietu BASDS1990. Jeøeli tak siÍ sta³o, COM AVR, gdy napisany program to program odczytuje jej 64moøemy po naciúniÍciu jednego bitowy numer seryjny i†poklawisza za³adowaÊ do pamiÍci rÛwnuje go z†numerami zaprocesora umieszczonego w†urupisanymi wczeúniej w†pachamianym uk³adzie i†natychmiast miÍci EEPROM. Jeøeli ktÛprzyst¹piÊ do testowania go i†wyrekolwiek z†porÛwnaÒ wy³apywania ìpluskiewî. pada pomyúlnie, to stan piDrugim, waønym dla funkcjonu PD.6 zostaje nowania urz¹dzenia uk³adem jest zmieniony na przescalony dekoder typu HT12D, stociwny. Jednoczeúnie sowany juø wielokrotnie w†projektach publikowanych w†EP. Zadaniem tego uk³adu jest zdekodowanie odebranej przez odbiornik Q2 transmisji radiowej. Jeøeli kod ustawiony na wejúciach adresowych A0..A7 odpowiada kodowi ustawionemu na analogicznych wejúciach kodera IC2, to na wyjúciu VT (ang. Valid Transmission) IC3 pojawia siÍ poziom wysoki. Po odwrÛceniu przez tranzystor T2, poziom niski wystÍpuje na wejúciu INT0 procesora, powoduj¹c wykonanie przez program funkcji opisanych w†dalszej czÍúci artyku³u. Waøn¹ rolÍ spe³nia niepozorny uk³adzik IC6 typu DS1813. Jego zadaniem jest zerowanie procesora po w³¹czeniu zasilania, a†takøe w†przypadku spadku napiÍcia zasilaj¹cego poniøej 4,75V. Zapobiega to niekontrolowanemu dzia³aniu procesora, ktÛre mog³oby spowodowaÊ uszkodzenie danych zapisanych w†wewnÍtrznej pamiÍci EEPROM. OmÛwienie dzia³ania uk³adu rozpoczniemy od jego najprostszej funkcji, jak¹ jest praca w†trybie Rys. 1. Schemat elektryczny immobilizera.
Elektronika Praktyczna 10/2001
generowane s¹ sygna³y akustyczne: pojedynczy przy w³¹czeniu przekaünika RL1 i†podwÛjny przy jego wy³¹czaniu. Fragmenty programu realizuj¹cego opisywane funkcje zosta³y pokazane na list. 1. Aktualny stan przekaünika RL1 sygnalizowany jest takøe za pomoc¹ diod LED wbudowanych w†czytnik tabletek DS1990. Dioda czerwona w³¹czana jest podczas
21
Immobilizer z zabezpieczeniem przed porwaniem samochodu zasilania przekaünika, a†zielona po jego wy³¹czeniu. Przy okazji naleøy wspomnieÊ, jak ³atwo moøna generowaÊ z†poziomu jÍzyka MCS BASIC sygna³ düwiÍkowy. Nie musimy w†tym celu dokonywaÊ skomplikowanych operacji zwi¹zanych z†obs³ug¹ timerÛw. Wystarczy wydaÊ proste polecenie: SOUND [pin portu, częstotliwość, czas trwania]
aby na wskazanym wyprowadzeniu procesora uzyskaÊ przebieg o†okreúlonej czÍstotliwoúci i†czasie trwania. W†naszym przypadku podprogram generuj¹cy krÛtki sygna³ akustyczny ma postaÊ: Sub Beep Sound Alarmsound, 100, 1000 'Alarmsound Alias Portd.3 End Sub
Zajmijmy siÍ teraz dwoma pozosta³ymi trybami pracy naszego uk³adu. W†trybie drugim, ktÛry jest podstawowym dla pracy immobilizera, obs³uga uk³adu jest praktycznie identyczna jak w†trybie pierwszym, jednak z t¹ zasadnicz¹ rÛønic¹, øe warunkiem utrzymania stanu odblokowania zap³onu jest permanentne podawanie krÛtkich, ujemnych impulsÛw na wejúcie przerwania INT0 procesora. Uruchomienie procedury obs³ugi tego przerwania powoduje zerowanie licznika programowego, ktÛry w†momencie dojúcia do stanu 3 powoduje w³¹czenie sygnalizacji ostrzegawczej, a†przy stanie 30 zablokowanie uk³adu zap³onowego. Nieodebranie przez uk³ad trzech kolejnych transmisji powoduje rozpoczÍcie generowania sygna³Ûw ostrzegawczych. S¹ to krÛtkie sygna³y akustyczne, o†czÍstotliwoúci rÛwnej czÍstotliwoúci rezonansowej zastosowanego w†uk³adzie przetwornika piezoceramicznego, i†generowane s¹ one takøe po zablokowaniu zap³onu. Uwaga: zap³on moøemy w†kaødej chwili odblokowaÊ, zwieraj¹c prze³¹cznik S2, ukryty w†niewidocznym, ale dobrze dostÍpnym miejscu wewn¹trz samochodu. Takøe ponowne odebranie transmisji radiowej spowoduje natychmiastowe odblokowanie uk³adu zap³onowego. W†trzecim trybie pracy do obs³ugi immobilizera nie s¹ potrzebne klucze - tabletki DS1990. Uk³ad reaguje jedynie na odbieranie lub zanik transmisji radiowej. Juø
22
samo zbliøenie siÍ w³aúciciela do samochodu powoduje odblokowanie zap³onu, a†jego oddalenie siÍ od samochodu (lub oddalenie siÍ samochodu od kierowcy) wy³¹czenie zap³onu po up³ywie ok. 15 sekund. Takøe w tym trybie pracy aktualny stan uk³adu sygnalizowany jest za pomoc¹ diod LED wbudowanych w†czytnik TOUCH MEMORY. W†kaødym uk³adzie wykorzystywanym w†systemach ochrony mienia spraw¹ priorytetow¹ jest jego niezawodnoúÊ. Wiemy jednak, øe kaødy system mikroprocesorowy moøe niekiedy zawieúÊ. Program steruj¹cy jego prac¹ moøe siÍ ìzawiesiÊî, na przyk³ad na skutek wyst¹pienia silnych zak³ÛceÒ radioelektrycznych, o†ktÛre nietrudno w†instalacji samochodowej. Skutecznym zabezpieczeniem przed tak¹ awari¹ jest wykorzystanie wbudowanego w†strukturÍ procesora '2313 watchdoga sprzÍ-
towego. Jest to uk³ad posiadaj¹cy oddzielny oscylator, pracuj¹cy z†czÍstotliwoúci¹ ok. 1MHz. Do oscylatora do³¹czony jest wielostopniowy licznik, ktÛrego przepe³nienie powoduje natychmiastowe sprzÍtowe wyzerowanie procesora. Aby do tego nie dopuúciÊ, po uruchomieniu watchdoga, ten licznik musi byÊ zerowany tak, aby nigdy nie nast¹pi³o jego przepe³nienie. W†przypadku zawieszenia siÍ pracy programu licznik watchdoga przestaje byÊ zerowany i†po ustalonym czasie nastÍpuje zerowanie procesora i†rozpoczÍcie pracy programu od pocz¹tku. Obs³uga watchdoga z†poziomu jÍzyka MCS BASIC jest szczegÛlnie prosta, podobnie jak obs³uga innych funkcji procesora '2313. Polecenia zabezpieczaj¹ce uk³ad immobilizera przed skutkami zawieszenia siÍ programu przedstawione s¹ na list. 2.
List. 1. '####### Główna pętla programowa ########## Do 1wreset 'sprawdź stan magistrali 1WIRE Waitms 50 'zaczekaj 50 ms If Err = 0 Then 'jeżeli z magistrali nadeszła odpowiedź, to: Call Verification 'wezwij podprogram weryfikacji numeru seryjnego tabletki DS1990 End If 'koniec warunku If On_off = 1 Then 'jeżeli zmienna pomocnicza ON_OFF jest równa 1, to: Set Relay: Reset Ledred: Set Ledgreen 'włącz przekaźnik, wyłącz diodę czerwoną, włącz diodę zieloną Else Reset Relay: Set Ledred: Reset Ledgreen 'wyłącz przekaźnik, włącz diodę czerwoną, wyłącz diodę zieloną End If 'koniec warunku Waitms 255 'zaczekaj 255 ms '.................................................... 'pozostałe czynności realizowane w pętli Loop End Sub '......................................... '############### Podprogram weryfikacji numeru klucza DS1990 ############## Sub Verification Waitms 100 'zaczekaj 100 ms 1wreset 'sprawdź powtórnie stan magistrali 1WIRE If Err = 1 Then 'jeżeli brak odpowiedzi, to: Call Main 'powróć do pętli głównej End If 'koniec warunku 1wwrite &H33
'wyślij na magistralę 1WIRE żądanie podania numeru seryjnego dołączonego 'do niej układu For I = 1 To 8 Ar(i) = 1wread() 'odczytaj kolejne bajty numeru seryjnego układu DS1990 Next I Eeprom_address = 1
'zmienna określająca adres, spod jakiego ma być odczytana informacja 'staje się równa 1 For R = 1 To 10 For I = 1 To 8 Readeeprom Value, Eeprom_address 'odczytaj z pamięci EEPROM kolejne bajty zapisanych tam numerów kluczy If Value = Ar(i) Then Flag1 = 1
'jeżeli odczytana wartość jest równa odpowiadającej jej 'wartości odczytanej z magistrali 1WIRE, to: 'zmienna pomocnicza FLAG1 przyjmuje wartość 1
Else Flag1 = 0 End If Incr Eeprom_address Next I If Flag1 = 1 Then On_off = Not On_off Call Beep If On_off = 1 Then Waitms 255 Call Beep End If Exit For End If Next R End Sub
'zmienna ta jest zerowana 'zwiększ adres pamięci EEPROM o 1 'jeżeli po odczytaniu kolejnych ośmiu bajtów zmienna pomocnicza 'nadal równa jest 1, to: 'zmień wartość zmiennej pomocniczej ON-OFF na przeciwną 'wezwij podprogram generujący krótki sygnał akustyczny 'jeżeli zmienna ON_OFF przyjęła wartość 1, to: 'zaczekaj 255 ms 'wygeneruj drugi sygnał akustyczny 'wyjdź z pętli FOR... NEXT
Elektronika Praktyczna 10/2001
Immobilizer z zabezpieczeniem przed porwaniem samochodu List. 2.
WYKAZ ELEMENTÓW
Config Timer1 = Timer, Prescale = 256'timer1 ma pracować jako timer z częstotliwością 'zegarową podzieloną przez 256 Config Watchdog = 2048 'watchdog ma zerować system po 2048 ms Enable Interrupts 'ogólne zezwolenie na obsługę przerwań Enable Timer1 'zezwolenie na obsługę przerwania od timera1 On Timer1 Second 'w przypadku wystąpienia przerwania timera1 skok do procedury SECOND Counter1 = 34286 'ładowanie timera1 Start Watchdog 'włączenie watchdoga Start Timer1 'włączenia timera1 '..........................
Rezystory R1: 10MΩ R2: 1MΩ R3: 120kΩ R4, R5, R8, R12..R14: 4,7kΩ R6: 1,5MΩ R7: 470kΩ R9: 1kΩ R10, R11: 1kΩ R15: 22kΩ Kondensatory C1: 1µF MKT C2: 470nF C3, C8, C9: 100nF C4: 100µF/16V C5, C6: 27pF C7: 220µF/16V Półprzewodniki D1: 1N4148 IC1: 4098 IC2: HT12E IC3: HT12D IC4: AT90S2313 IC5: 7805 IC6: DS1813 T1: BC557 T2..T4: BC548 Różne CON1: ARK2 (3,5mm) CON2: ARK3 CON4: czytnik TOUCH MEMORY JP2, JP3: 2xgoldpin + jumper Q1: nadajnik RT1 Q2: odbiornik RR4 Q3: rezonator kwarcowy 8MHz Q4: przetwornik piezo RL1: RM−96 S1: włącznik 2 układy DS1990
Second: Reset Watchdog 'wyzeruj watchdoga '........................... Counter1 = 34286 'powtórnie załaduj wartość 342286 do rejestru timera1 Start Timer1 'powtórne uruchomienie timera1 Return
Juø wiele razy wspominaliúmy o†odbieraniu przez uk³ad sygna³Ûw transmisji radiowej, a†jeszcze nie wiemy sk¹d te sygna³y maj¹ pochodziÊ. Popatrzmy zatem na gÛrn¹ czeúÊ rys. 1, w ktÛrej pokazany jest schemat nadajnika radiowego wspÛ³pracuj¹cego z†naszym immobilizerem. Nadajnik sk³ada siÍ z†dwÛch blokÛw: multiwibratora zbudowanego z†wykorzystaniem dwÛch przerzutnikÛw zawartych w†strukturze uk³adu 4098 - IC1 i†kodera zrealizowanego z†wykorzystaniem uk³adu HT12E, ìbliüniakaî uk³adu HT12D. Do generacji fali noúnej wykorzystany zosta³ modu³ nadawczy pracuj¹cy na czÍstotliwoúci 430MHZ Q1. Niskim poziomem z†wyjúcia !Q IC1B jest w³¹czany tranzystor T1, powoduj¹c cykliczne zasilania kodera HT12E i†nadajnika radiowego Q1. Sygna³y radiowe o†czasie trwania ok. 2†s†nadawane s¹ co mniej wiÍcej 20 sekund.
Rys. 2. Rozmieszczenie elementów na płytkach drukowanych.
Elektronika Praktyczna 10/2001
Montaø i†uruchomienie Na rys. 2 pokazano rozmieszczenie elementÛw na dwÛch p³ytkach obwodÛw drukowanych, wykonanych na laminacie jednostronnym. Zastosowanie takiego laminatu, podyktowane chÍci¹ zmniejszenia kosztÛw wykonania uk³adu, poci¹gnͳo za sob¹ koniecznoúÊ zastosowania jednej zworki na p³ytce immobilizera, od ktÛrej wlutowania rozpoczniemy montaø uk³adu. SposÛb montaøu uk³adu nie odbiega w†niczym od montaøu innych uk³adÛw elektronicznych. Musimy jednak pamiÍtaÊ o†jednym: immobilizer, podobnie jak kaødy inny uk³ad przeznaczony do zainstalowania w†samochodzie, bÍdzie pracowa³ w†ekstremalnie ciÍøkich warunkach, naraøony na duøe rÛønice temperatury, wstrz¹sy i†wp³yw agresywnych czynnikÛw chemicznych. Dlatego teø montaø musimy wykonaÊ szczegÛlnie starannie, dobrze nagrzan¹ lutownic¹ i†wy³¹cznie lutowiem bardzo dobrej jakoúci. Jak zwykle w†uk³adach ìsamochodowychî, spraw¹ kontrowersyjn¹ jest stosowanie podstawek pod uk³ady scalone. Radzi³bym zastosowaÊ podstawkÍ tylko pod procesor, z†tym øe musi to byÊ podstawka o†jak najwyøszej jakoúci. W†nadajniku, pomimo øe nie bÍdzie on pracowa³ w†zbyt ciÍøkich warunkach, takøe sugerowa³bym zrezygnowanie z†podstawek. Jednak w†tym przypadku powÛd tego odstÍpstwa od klasycznych regu³ montaøu jest inny: chÍÊ maksymalnego zmniejszenia wymiarÛw uk³adu, ktÛry bÍdzie noszony najczÍúciej w†kieszeni lub przy pasku od spodni. Po zmontowaniu i†sprawdzeniu dzia³ania obydwu czÍúci uk³adu naleøy jeszcze zabezpieczyÊ p³ytkÍ immobilizera za pomoc¹ dobrej jakoúci lakieru elektroizolacyjnego, chroni¹cego spodni¹
czÍúÊ p³ytki przed wilgoci¹, ktÛra zawsze moøe wyst¹piÊ w†samochodzie. Zmontowany uk³ad nie wymaga jakiegokolwiek uruchamiania ani regulacji, ale jedynie zarejestrowania steruj¹cych jego prac¹ kluczy - tabletek DALLAS DS1990. Moøemy zarejestrowaÊ maksymalnie 5 tabletek, co wydaje siÍ byÊ liczb¹ ca³kowicie wystarczaj¹c¹, nawet dla licznej rodziny korzystaj¹cej z†tego samego samochodu. Podczas pierwszego uruchomienia uk³adu przechodzi on automatycznie w†tryb rejestracji kluczy, bez jakiejkolwiek ingerencji ze strony uøytkownika. Jeøeli natomiast mamy zamiar zmieniÊ uprzednio zarejestrowane klucze, to musimy wy³¹czyÊ zasilanie uk³adu, zewrzeÊ obydwa jumpery i†ponownie w³¹czyÊ zasilanie.
23
Immobilizer z zabezpieczeniem przed porwaniem samochodu W†kaødym przypadku rozpoczÍcie rejestracji bÍdzie sygnalizowane dziesiÍcioma b³yskami czerwonej diody LED, wbudowanej w†obudowÍ czytnika TOUCH MEMORY. Rejestracja kluczy polega na ich kolejnym przyk³adaniu do czytnika. Poprawne zarejestrowanie tabletki DS1990 kwitowane jest w³¹czeniem zielonej diody w†czytniku na 3 s i†krÛtkim sygna³em akustycznym. Oczywiúcie, nie musimy zawsze rejestrowaÊ maksymalnej liczby kluczy. Jeøeli wykorzystywaÊ bÍdziemy ich mniejsz¹ liczbÍ, to niektÛre tabletki przyk³adamy do czytnika wiÍcej niø jeden raz, tak aby ca³kowita liczba przeprowadzonych rejestracji zawsze wynosi³a 5. ZakoÒczenie rejestracji kluczy sygnalizowane jest dziesiÍcioma b³yskami zielonej diody LED w†czytniku. Przed zamontowaniem uk³adu w†samochodzie bÍdziemy mieli jeszcze jedn¹ czynnoúÊ do wykonania: ustawienie identycznych kombinacji stanÛw logicznych na wejúciach
24
adresowych kodera HT12E i†dekodera HT12D. Ustawienia kodÛw dokonujemy przez ³¹czenie z†mas¹ wejúÊ adresowych obydwÛch uk³adÛw lub pozostawianie ich ìwisz¹cych w†powietrzuî. Jeøeli chodzi o†sposÛb montaøu immobilizera w†samochodzie, to trudno mi tu udzieliÊ jakichkolwiek wskazÛwek. SzczegÛ³y montaøu bÍd¹ zaleøeÊ od marki samochodu i†moøliwoúci wykonawczych uøytkownika. W†samochodzie Polonez wyprÛbowanym miejscem, idealnie nadaj¹cym siÍ do montaøu wszelkich dodatkowych uk³adÛw elektronicznych jest przestrzeÒ ponad tablic¹ wskaünikÛw, dostÍpna po zdjÍciu zas³aniaj¹cej j¹ klapy. Takøe sposÛb do³¹czenia uk³adu do obwodÛw instalacji zap³onowej samochodu zaleøy od typu pojazdu i†silnika. Na szczÍúcie do dyspozycji mamy styk prze³¹czany przekaünika i†blokowanie zap³onu w†samochodzie bÍdziemy mogli zrealizowaÊ zarÛwno zwieraj¹c, jak i†rozwieraj¹c
wybrany fragment obwodÛw instalacji elektrycznej samochodu. Uwaøni Czytelnicy z†pewnoúci¹ zwrÛcili juø uwagÍ na dodatkowe punkty lutownicze umieszczone na spodniej stronie p³ytki immobilizera. Punkty te nie by³y zaznaczone na schemacie, a†na p³ytce opisane s¹ jako MISO, MOSI, SCK i†RESET, a†ich umieszczenie na p³ytce powinno byÊ sporym u³atwieniem dla tych CzytelnikÛw, ktÛrzy zechc¹ napisaÊ w³asny program obs³ugi immobilizera lub zmodernizowaÊ program napisany przeze mnie. Do tych punktÛw moøna bowiem do³¹czyÊ programator ISP dla procesorÛw AVR AVT871, obs³ugiwany z†poziomu pakietu BASCOM AVR. 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/pazdziernik01.htm oraz na p³ycie CD-EP10/2001B w katalogu PCB.
Elektronika Praktyczna 10/2001
Inteligentny sterownik P R O Jwycieraczek E K T Y
Inteligentny sterownik wycieraczek AVT−5036
Zapewne kaødy kierowca wie, jak mÍcz¹ce jest prowadzenie samochodu w†czasie intensywnych opadÛw deszczu czy úniegu. SzczegÛlnie uci¹øliwy jest pocz¹tek jazdy, gdy - zamiast skupiÊ siÍ na kierowaniu musimy manewrowaÊ prze³¹cznikami wycieraczek, ogrzewaniem szyby itp. Prezentowany sterownik ma u³atwiÊ prowadzenie samochodu w†takich warunkach i†wyrÍczyÊ kierowcÍ od czÍstego w³¹czania i†wy³¹czania wycieraczek.
WiÍkszoúÊ samochodÛw posiada wbudowane programatory wycieraczek, ale przewaønie tak siÍ sk³ada, øe w³¹czaj¹ siÍ one zbyt czÍsto lub zbyt rzadko. Dlatego postanowi³em zbudowaÊ sterownik wycieraczek pozbawiony tych wad. Uruchamia on automatycznie wycieraczki po naciúniÍciu spryskiwacza oraz automatycznie zapamiÍtuje czas przerwy miÍdzy kolejnym w³¹czeniem wycieraczek.
Opis uk³adu Schemat elektryczny sterownika przedstawiono na rys. 1. Jego ìsercemî jest mikrokontroler AT90S2343. Umieszczony jest w†obudowie 8-nÛøkowej, a†wbudowany generator RC pozwala na pracÍ procesora bez uøycia zewnÍtrznego kwarcu. Wprawdzie generatory RC s¹ mniej stabilne i†bardziej podatne na zmiany temperatury niø kwarcowe, ale w†tym uk³adzie nie jest wymagana bardzo duøa stabilnoúÊ czÍstotliwoúci zegara. DziÍki temu moøemy wykorzystaÊ dwa dodatkowe porty procesora, do ktÛrych by³by do³¹czony rezonator kwarcowy. Jako uk³ad wykonawczy zastosowano przekaünik z†dwoma parami stykÛw prze³¹czanych. Dwukolorowa dioda LED sygnalizuje stan pracy programatora.
Elektronika Praktyczna 10/2001
Na szczegÛln¹ uwagÍ zas³uguje procedura sterowania programatorem. Poniewaø jest moøliwe pod³¹czenie sterownika bezpoúrednio do instalacji samochodowej i†uøycie do sterowania fabrycznych prze³¹cznikÛw, naleøa³o dostosowaÊ poziom napiÍcia w†instalacji samochodu do napiÍcia zasilania procesora. Moøna to by³o zrealizowaÊ za pomoc¹ diody Zenera i†rezystorÛw (rys. 2a), ale w†przypadku wyst¹pienia przepiÍÊ mÛg³by byÊ uszkodzony taki stabilizator i†mikrokontroler. Na rys. 2b przedstawiono sposÛb bezpiecznego ³¹czenia uk³adÛw, w†ktÛrych wystÍpuj¹ rÛøne napiÍcia zasilaj¹ce i†steruj¹ce. Zastosowanie transoptora pozwala na sterowanie wejúcia zarÛwno napiÍciem dodatnim, jak i†ujemnym. W†przypadku wyst¹pienia przepiÍcia od strony wejúcia, uszkodzeniu ulegnie transoptor, a†nie mikrokontroler. W†przedstawionym sterowniku nie jest wykorzystywana izolacja galwaniczna jak¹ umoøliwia transoptor, poniewaø zarÛwno dioda transoptora, jak i†uk³ad sterownika s¹ zasilane z†tego samego ürÛd³a napiÍcia, czyli akumulatora i†posiadaj¹ wspÛln¹ masÍ. Po w³¹czeniu zasilania uk³ad oczekuje na naciúniÍcie przycisku
27
Inteligentny sterownik wycieraczek
Rys. 1. Schemat elektryczny sterownika wycieraczek.
wycieraczek (S1) lub spryskiwacza (S2). Jeøeli zostanie naciúniÍty przycisk spryskiwacza, to procesor odczeka oko³o 250ms, a†nastÍpnie uruchomi wycieraczki na oko³o 2,5s i†powraca do stanu spoczynkowego. Ta funkcja bÍA
COM1
+12V
2 1
dzie przydatna szczegÛlnie w†starszych typach samochodÛw, w†ktÛrych wycieraczki s¹ uruchamiane automatycznie po spryskaniu szyb. Jeøeli nasz samochÛd posiada funkcje w³¹czania wycieraczek po spryskaniu szyb, to wej-
R1 1k
úcie steruj¹ce w†programatorze pozostawiamy nie pod³¹czone. OpÛünienie zadzia³ania wycieraczek po naciúniÍciu przycisku spryskiwacza zastosowano, poniewaø uruchomienie wycieraczek bezpoúrednio po naciúniÍciu spryskiwacza powodowa³o ruch wycieraczek po suchej szybie.
US1 − PB3
COM2 2 1
US1 − PB4 R2 1k D 3V1
B
COM1 2 1
COM2 2 1
+12V
R1 1k
D 3V1
R 437
R 437
T8 PC827A US1 − PB3
R2 1k
T8 PC827B US1 − PB4
Rys. 2. Sposób łączenia układów o różnych napięciach zasilających i sterujących: a) za pomocą diod Zenera, b) za pomocą transoptorów.
28
Rys. 3. Schemat montażowy urządzenia.
Elektronika Praktyczna 10/2001
Inteligentny sterownik wycieraczek +12V
A
WYKAZ ELEMENTÓW Sl b
Sl a Włącznik główny wycieraczek
Włącznik krańcowy
S2 Silnik
Rezystory R1, R2: 1kΩ R3, R4: 10kΩ R5: 470Ω R6: 3kΩ Kondensatory C1, C2: 100µF/25V C3, C4: 100nF Półprzewodniki D1, D3: 1N4004
B +12V
Sl b
Sl a Włącznik główny wycieraczek
Włącznik krańcowy
CON3
P1 RM94P/12
3 2 1
CON4
S2 Silnik
3 2 1 Płytka sterownika wycieraczek
Rys. 4. a) schemat typowej instalacji samochodowej sterującej wycieraczkami, b) sposób podłączenia dodatkowego sterownika wycieraczek.
Niewielkie opÛünienie powoduje, øe wycieraczki zostaj¹ uruchomione, gdy szyba jest juø mokra. Od momentu zwolnienia przycisku spryskiwacza wycieraczki pracuj¹ jeszcze przez oko³o 2,5 sekundy, pozwala to na wykonanie trzech ruchÛw ramion wycieraczek i†dok³adne osuszenie szyby. Po zwarciu przycisku S2 sterownik uruchamia wycieraczki i†pracuj¹ one do momentu zwolnienia przycisku. Po zwolnieniu S2 zaúwieci siÍ czerwona dioda LED sygnalizuj¹c, øe sterownik odmierza czas i†oczekuje na nastÍpne zwarcie prze³¹cznika S2. Jeøeli prze³¹cznik nie zostanie zwarty po raz drugi przez czas oko³o 1†minuty, to procesor powraca do stanu czuwania (dioda zostaje wy³¹czona). Jeøeli zaú w†ci¹gu tej minuty prze³¹cznik zostanie zwarty, wtedy ponownie zostaj¹ uruchomione wycieraczki, a†czas pomiÍdzy zwarciami przycisku S2 zostaje zapamiÍtany. Od
Elektronika Praktyczna 10/2001
tej pory dioda LED úwieci kolorem zielonym, a†wycieraczki s¹ uruchamiane cyklicznie w†zaprogramowanych odstÍpach czasu aø do momentu rozwarcia prze³¹cznika S2. Po rozwarciu S2 procesor przechodzi w†stan czuwania.
Montaø i†uruchomienie Montaø naleøy przeprowadziÊ zgodnie ze schematem montaøowym z†rys. 3. Zaczynamy od wlutowania rezystorÛw, nastÍpnie montujemy podstawki pod procesor i†transoptor, a†na koÒcu przekaünik. O†ile zmontowanie p³ytki nie jest trudne, to pod³¹czenie sterownika do instalacji samochodu moøe sprawiÊ trochÍ k³opotu. Na rys. 4a przedstawiono schemat typowej instalacji samochodowej steruj¹cej wycieraczkami, zaú na rys. 4b sposÛb do³¹czenia naszego sterownika do instalacji elektrycznej samochodu. Ze wzglÍdu na zrÛønicowane rozwi¹zania
D2: LED dwukolorowa T1: BC 547 US1: AT90S2343 zaprogramowany US2: 7805 US3: DS 1813 TS: PC 827 Różne CON1, CON2: ARK2(5mm) CON3, CON4: ARK3(5mm) P: RM94P/12V
instalacji elektrycznej w†rÛønych samochodach, nie moøna podaÊ uniwersalnego sposobu w³¹czenia sterownika. W†tym celu najlepiej przeanalizowaÊ schemat elektryczny samochodu i†odnaleüÊ punkty pokazane na rys. 4. Jako prze³¹cznik S1 moøemy zamontowaÊ dodatkowy prze³¹cznik bistabilny lub wykorzystaÊ istniej¹cy w†kolumnie kierownicy tak, aby sterownik by³ uruchamiany np. na drugim biegu wycieraczek. Wtedy pierwszy bieg bÍdzie dzia³a³ bez øadnych zmian, a†po w³¹czeniu na drugi zostanie uaktywniony nasz sterownik. Jeøeli wykorzystamy prze³¹cznik fabryczny samochodu, to naleøy odszukaÊ w†instalacji przewÛd, na ktÛrym po w³¹czeniu wycieraczek pojawia siÍ +12V i†pod³¹czyÊ go do styku numer 1 z³¹cza CON1. Styk numer 2 z³¹cza CON1 pozostawiamy nie pod³¹czony. Jako prze³¹cznik S2 wykorzystujemy istniej¹cy w³¹cznik spryskiwacza. W†tym celu naleøy znaleüÊ przewÛd instalacji, na ktÛrym po naciúniÍciu spryskiwacza pojawia siÍ napiÍcie +12V i†pod³¹czyÊ go do styku 2†z³¹cza CON2. Jeøeli nie bÍdziemy korzystaÊ z†automatycznego w³¹czania wycieraczek podczas spryskiwania (np. samochÛd juø ma tak¹ funkcjÍ), to styk 2†z³¹cza CON2 pozostawiamy nie pod³¹czony. Sterownik nie bÍdzie reagowa³ na spryskiwanie szyb, a†pozosta³e funkcje bÍd¹ bez zmian. Krzystof P³awsiuk, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/pazdziernik01.htm oraz na p³ycie CD-EP10/2001B w katalogu PCB.
29
Emulator−programator mikrokontrolerów AVR i '51 do każdego P R typu O J komputera E K T Y
Emulator−programator mikrokontrolerów AVR i '51 do każdego typu komputera, część 1 AVT−5037 Kolejny projekt przygotowany z†myúl¹ o†uøytkownikach Amigi. Prezentowany emulatorprogramator doskonale spisuje siÍ takøe we wspÛ³pracy z†innymi komputerami. Jedn¹ z†jego zalet jest moøliwoúÊ emulacji wybranych mikrokontrolerÛw z†rodzin AVR (w tym takøe AVR Mega) i†'51, a†takøe ich programowanie.
Najważniejsze cechy emulatora− programatora: ✓ zasilanie z uruchamianego systemu, ✓ współpraca z każdym komputerem wyposażonym w port RS232C od 2400...57600bd, ✓ interfejs RS485 lub RS232C z izolacją galwaniczną, ✓ obsługa danych w formacie IntelHex standard (adres 16−bit) oraz IntelHex 20−bit: koniec linii CR (MAC, C−64), LF (Amiga) lub CR+LF (PC), długość rekordu do 255 bajtów, ✓ emulacja: 8051, 8052, 89S8252, 89S53 (AT89Cx051 z ograniczeniem) oraz AVR w obudowach z 40 wyprowadzeniami (8/20− pinowe z ograniczeniami), ✓ programowanie: 89S8252, 89S53, AVR (także w pracującym urządzeniu przez SPI), ✓ programowanie bitów blokady 1, 2 i 3, ✓ programowanie pamięci danych i programu, ✓ sygnalizacja trybu pracy i błędów, ✓ możliwość podłączenia czterech symulatorów do jednego portu RS.
Przykładowe czasy programowania układów: ✗ ✗ ✗ ✗ ✗ ✗
AT89S8252 ........................... 42s (250B/s), AT89S53 ............................... 63s (250B/s), AT90S8515 ........................... 30s (250B/s), ATMega161 ........................... 4s (4kB/s), ATMega106 ........................... 8s (8kB/s), ATMega103 ........................... 16s (8kB/s),
Elektronika Praktyczna 10/2001
Procesory AVR s¹ wyposaøane w†pamiÍÊ programu o†pojemnoúci do 128kB (64k s³Ûw). Standardowy plik w†formacie IntelHex umoøliwia obs³ugÍ pamiÍci o†pojemnoúci do 64kB. Po przekroczeniu tej granicy konieczne jest zastosowanie pliku o†zmodyfikowanym sposobie adresowania, co wymaga wczytania ca³ego rekordu do pamiÍci programatora-emulatora i†jego analizÍ. Poza tym procesory serii AVR Mega posiadaj¹ wewnÍtrzny bufor na programowane dane o†wielkoúci 128 lub 256B, dziÍki ktÛremu znacznie skraca siÍ czas programowania procesora. Podczas konstruowania emulatora mia³em pewne k³opoty z†wyborem interfejsu ³¹cz¹cego go z†komputerem. Zastosowanie przelotowego portu RS232 (jak w†AVT-
870) jest dobrym rozwi¹zaniem, ale pojawi³y siÍ k³opoty zwi¹zane z†pÍtl¹ masy. Galwaniczne oddzielenie obwodÛw nie jest proste, a†przede wszystkim doúÊ kosztowne. Przyj¹³em teø, øe interfejs nie powinien byÊ zbyt skomplikowany. Znalaz³em wiÍc rozwi¹zanie likwiduj¹ce wiÍkszoúÊ problemÛw: interfejs RS485. Jest to interfejs podobny do RS232, w ktÛrym dane s¹ przesy³ane z†wykorzystaniem pÍtli pr¹dowej. Oznacza to, øe po³¹czone przyrz¹dy nie musz¹ mieÊ wspÛlnej masy. Ponadto standard RS485 uwzglÍdnia moøliwoúÊ pracy ìsieciowejî z†kilkoma urz¹dzeniami nadawczymi, chociaø w†danej chwili nadawaÊ moøe tylko jedno. W†pierwszej fazie projektowania wybra³em tryb fullduplex, ale po analizie protoko³u transmisji pomiÍdzy urz¹dzeniami a†komputerem doszed³em do wniosku, øe semiduplex wystarczy. DziÍki temu interfejs znacznie siÍ uproúci³.
31
Emulator−programator mikrokontrolerów AVR i '51 do każdego typu komputera
Rys. 1. Schemat elektryczny emulatora−programatora.
32
Elektronika Praktyczna 10/2001
Emulator−programator mikrokontrolerów AVR i '51 do każdego typu komputera Tab. 1. Zestawienie stanów pracy sygnalizowanych przez diody LED LED BUSY zgaszona świeci miga zgaszona zgaszona świeci miga świeci migają naprzemiennie
LED ERROR zgaszona zgaszona zgaszona miga świeci miga miga świeci migają naprzemiennie
Stan urządzenia Tryb emulacji Podłączenie do magistrali RS485 Zajętość emulatora (programowanie, itp.) Przekroczony adres Przekroczono czas oczekiwania na transmisję RS Błąd pliku IntelHex Błąd zapisu bajtu do procesora Przepełniony bufor odbiorczy RS Przepełnienie stosu
Aby umoøliwiÊ wspÛ³pracÍ emulatora z†komputerem wyposaøonym w†interfejs RS232, konieczny jest dodatkowy konwerter RS232/ RS485, ktÛrego opis takøe zamieszczono w†artykule.
Opis uk³adu Schemat elektryczny emulatoraprogramatora pokazano na rys. 1. Jak widaÊ jego budowa jest podobna do budowy poprzednika AVT-995. Emulator jest zasilany z†uruchamianego urz¹dzenia. Dioda D1 zabezpiecza przed skutkami od-
wrotnego w³oøenia z³¹cza emulacyjnego w podstawkÍ. Do zerowania procesora wykorzystano obwÛd z†kondensatorem C1 i†rezystorem umieszczonym w†strukturze US2. Naleøy wspomnieÊ, øe choÊ d³ugoúÊ kodu programu nie przekracza 4kB, to nie moøna uøyÊ procesora AT89C51, poniewaø w†aplikacji wykorzystano 256B wewnÍtrznej pamiÍci RAM (niestety stosu nie da siÍ przenieúÊ do zewnÍtrznej pamiÍci RAM). Jako US2 moøna zastosowaÊ procesor: AT89C52, AT89S8252, AT89S53 itp.
Sygna³ pr¹dowy z†komputera o†standardzie RS-485 jest przekszta³cany do postaci napiÍciowej o†poziomach TTL za poúrednictwem transceivera US1. Jeúli korzystamy z†RS-232, konwersja napiÍÊ nastÍpuje w†transoptorze US8. Naleøy pamiÍtaÊ, øe o†maksymalnej szybkoúci decyduj¹ wÛwczas parametry zastosowanego transoptora. Diody LED sygnalizuj¹: - Power - zasilanie emulatora, - Busy i†Error - tryb pracy i†b³Ídy (szczegÛ³y w†tab. 1), - Rx - odbiÛr danych z†komputera, - Tx - transmisjÍ do komputera lub wyúwietlacza LCD, - Enable - transmisjÍ z emulatora do komputera przez RS-485. ZewnÍtrzny bufor danych przychodz¹cych z†RS232 i†na dekodowanie rekordÛw IntelHex stanowi pamiÍÊ o†pojemnoúci 32 lub 128kB. Sterowanie pamiÍci¹ odbywa siÍ w†sposÛb standardowy dla rodziny 8051, tj. za poúrednictwem zatrzasku US3. Jak widaÊ, linie adresowe i†danych pamiÍci RAM nie s¹ po³¹czone
Rys. 2. Schemat elektryczny konwertera RS232/RS485.
Elektronika Praktyczna 10/2001
33
Emulator−programator mikrokontrolerów AVR i '51 do każdego typu komputera Tab. 2. Połączenia konieczne do wykonania w przejściówce dla procesorów z ośmioma wyprowadzeniami. złącze IDC40 pin nazwa 1 PB0 (T0) 2 PB1 (T1) 3 PB2 (AIN0) 4 PB3 (AIN1) 5 PB4 (SS) 6 PB5 (MOSI) 7 PB6 (MISO) 8 PB7 (SCK) 9 RESET 10 PD0 (RXD) 11 PD1 (TXD) 12 PD2 (INT0) 13 PD3 (INT1) 14 PD4 (OC1A) 15 PD5 (WR) 16 PD6 (RD) 18 XTAL2 19 XTAL1 20 GND 40 VCC
złącze IDC20 pin nazwa 12 PB0 (AIN0) 13 PB0 (AIN1) 14 PB0 15 PB3 (OC1) 16 PB4 17 PB5 (MOSI) 18 PB6 (MISO) 19 PB7 (SCK) 1 RESET 2 PD0 3 PD1 (TXD) 6 PD2 (INT0) 7 PD3 (INT1) 8 PD4 (T0) 9 PD5 (T1) 11 PD6 (ICP) 4 XTAL2 5 XTAL1 10 GND 20 VCC
z†odpowiadaj¹cymi im liniami procesora. Nie ma to wp³ywu na pracÍ uk³adu. W†pamiÍciach RAM numer linii adresowej czy danych moøna traktowaÊ jako umowny. To samo dotyczy innych uk³adÛw pamiÍci z tym, øe przy pamiÍciach sta³ych (ROM/ EPROM) naleøy odpowiednio zmieniÊ plik zapisuj¹cy/symuluj¹cy pamiÍÊ. Przewaønie ³¹czy siÍ linie adresowe i†danych z†odpowiadaj¹cymi im liniami procesora. Prze³¹czanie linii interfejsu SPI zapewniaj¹ klucze analogowo-cyfrowe US5 i†US6. Jeúli bÍdziemy stosowali duøe wartoúci czÍstotliwoúci zegarowej dla procesorÛw AVR, to konieczna moøe byÊ ich wymiana na 74HCT4053. Jumpery ADR_0 i†ADR_1 ustalaj¹ adres emulatora. Moøliwe jest ustawienie czterech adresÛw: Adres ADR_0 ADR_1 0 rozwarty rozwarty 1 zwarty rozwarty 2 rozwarty zwarty 3 zwarty zwarty Z³¹cze CON-5 moøna wykorzystaÊ do pod³¹czenia wyúwietlacza LCD. BÍd¹ na nim wyúwietlane komunikaty o†b³Ídach, wielkoúÊ pamiÍci pod³¹czonego procesora itp. W†aktualnej wersji oprogramowania opcja ta nie jest aktywna!
34
złącze IDC10 pin nazwa 7 PB0 (AIN0/MOSI/AREF) 6 PB1 (INT0/MISO/AIN1) 5 PB2 (T0/SCK/ADC1)
1
RESET (PB5)
6
(Przez JP1)
3 2 4 5
XTAL2 (PB4/ADC2) XTAL1 (PB3/ADC3/CLOCK) GND VCC
Na rys. 2 pokazano schemat elektryczny konwertera RS232/ RS485, ktÛry zapewnia dwukierunkow¹ konwersjÍ sygna³Ûw
Rys. 3. Schemat elektryczny kabla do programatora.
pomiÍdzy emulatora terfejsem lub PC. Z³¹cze rzystaÊ do
interfejsem RS485 i†standardowym inszeregowym Amigi CON-6 moøna wykoprogramowania proce-
Rys. 4. Schemat elektryczny płytki przejściowej do emulacji mikrokontrolerów 8− i 20−nóżkowych.
Elektronika Praktyczna 10/2001
Emulator−programator mikrokontrolerów AVR i '51 do każdego typu komputera
Montaø i†uruchomienie
Rys. 5. Rozmieszczenie elementów na bazowej płytce drukowanej.
sorÛw w†systemie lub do emulowania procesorÛw AVR z†8/20 wyprowadzeniami korzystaj¹c z†dodatkowych uk³adÛw. Z³¹cze to jest bliüniaczo podobne do z³¹cza umieszczonego w†AVT-995. Dodano tylko dwie linie MUX_S i†MUX_R, a pozosta³e wyprowadzenia maj¹ identyczne rozmieszczenie. Jeúli zdecydujemy siÍ na programowanie procesorÛw w†systemie, to naleøy wykonaÊ odpowiedni kabelek. Jego wykonanie zaleøy od tego, jakie z³¹cze zastosowano w programowanym urz¹dzeniu. NajczÍúciej spotyka siÍ z³¹cza zalecane przez firmÍ Atmel. Kabel bÍdzie mia³ wygl¹d jak na rys. 3. Moøna teø z†jednej strony zakoÒczyÊ go chwytakami. Na rys. 4 przedstawiono schemat montaøowy p³ytki przejúciowej umoøliwiaj¹cej prost¹ emulacjÍ procesorÛw w†obudowach 8†i†20 pin. PrzejúciÛwkÍ ³¹czymy z†emulatorem kablem FLAT40, z†zaciúniÍtymi na obu koÒcach z³¹czami IDC40. Do emulacji procesorÛw z†20 wyprowadzeniami naleøy wykonaÊ kabel taki sam
Elektronika Praktyczna 10/2001
Schemat montaøowy p³ytki emulatora pokazano na rys. 5, a†schemat montaøowy p³ytki konwertera RS232/485 na rys. 6. Montaø rozpoczynamy od elementÛw najmniejszych, a koÒczymy na najwiÍkszych. Pod emulowany procesor moøna zastosowaÊ podstawkÍ zatrzaskow¹ lub precyzyjn¹. Pod elementy testowe DTEST1, DTEST2, C4, C5, Q2 najlepiej zastosowaÊ odcinki listwy ìtulipanowejî. Ze wzglÍdu na problemy ze zdobyciem podstawki 32-stykowej, pod pamiÍÊ US4 takøe moøna zastosowaÊ listwÍ tulipanow¹. Jeúli nie przewidujemy zastosowania pamiÍci 128kB, moøna wlutowaÊ podstawkÍ 28-stykow¹. W†aktualnej wersji oprogramowania pamiÍÊ o pojemnoúci wiÍkszej niø 32kB nie jest obs³ugiwana! W†podstawce uk³adu US7 bÍdziemy umieszczaÊ emulowany lub programowany procesor. Najlepiej jest zastosowaÊ tam podstawkÍ zatrzaskow¹ 40-stykow¹ lub ostatecznie podstawkÍ precyzyjn¹ (tulipanow¹). Po pod³¹czeniu napiÍcia +5V do z³¹cza CON1 sprawdzamy napiÍcia zasilania uk³adÛw scalonych. Gdy s¹ poprawne, moøna umieúciÊ uk³ady w†podstawkach. Jeúli korzystamy z†interfejsu RS485, musimy wykonaÊ konwerter zgodnie z†rys. 2. Nie s¹ wtedy potrzebne na p³ytce emulatora elementy CON2, R16, D2 i†US8. Zworki TERM1 i†TERM2 zak³adamy wtedy, gdy emulator jest koÒcowym lub jedynym urz¹dze-
jak dla emulacji procesorÛw z†40 wyprowadzeniami, ale taúm¹ FLAT20 ze z³¹czami IDC20 i†ISV20. Dla z³¹cza emulacyjnego procesora 8-pinowego, z†powodu braku z³¹cz IDC 8-stykowych, przewidziano z³¹cze IDC10. Dwa ostatnie styki z³¹cza nie s¹ wykorzystane. Brak wtyku ISV8 zmusza do wykorzystania wtyku ISV20 po uprzednim usuniÍciu niepotrzebnych pinÛw. W†tab. 2 przedstawiono po³¹czenia przejúciÛwki. Jak widaÊ, przy emulacji procesora 20-nÛøkowego nie s¹ wykorzystywane wejúcia analogowe i†bramkowania timerÛw (dla AVR dodatkowo interfejs SPI). Przy emulacji procesora 8nÛøkowego nie dzia³a bramkowanie timera T0, a†dla procesorÛw serii ATiny porty PB3, PB4, PB5 oraz wejúcia analogowe. Zwork¹ JP1 moøna symulowaÊ stan na wejúciu przerwania INT0 dla procesorÛw Rys. 6. Rozmieszczenie elementów w†obudowie z†oúmioma wypro- na płytce drukowanej konwertera wadzeniami. RS232/RS485.
35
Emulator−programator mikrokontrolerów AVR i '51 do każdego typu komputera niem do³¹czonym do magistrali RS485. Kabel ³¹cz¹cy konwerter RS485 z†emulatorem jest kablem telefonicznym z†wtykami RJ-45. Wtyczki zaciúniÍto jednak inaczej niø w†typowym kablu telefonicznym z†przeplotem. DziÍki temu nie trzeba wyrÛøniaÊ gniazd wejúciowych i†wyjúciowych w†interfejsie RS-485. SposÛb zaciúniÍcia z³¹cz RJ-45 pokazano na rys. 7. Jeúli po po³¹czeniu emulatora z†interfejsem dioda Rx w†emulatorze úwieci, to oznacza, øe üle wykonaliúmy kabel i†naleøy jedn¹ z†wtyczek RJ odwrÛciÊ. Jeúli ktoú bÍdzie mia³ k³opoty z†nabyciem z³¹cz i†kabli RJ, moøe zamiast nich wykorzystaÊ z³¹cza DB. Styk numer 1 z³¹cza DB9 ³¹czymy z wyprowadzeniem 6 uk³adu US1, natomiast styk numer 2†z³¹cza DB9 z†wyprowadzeniem 7 US1. W†aktualnej wersji oprogramowania nie korzystamy z dwukierunkowej transmisji przez RS485, dlatego naleøy koniecznie za³oøyÊ jumper na COM3 w†p³ytce konwertera. Konwerter wymaga zasilania. Moøna zastosowaÊ napiÍcie +8 do +15V do³¹czane do zacisku CON-1 lub napiÍcie +5V (wÛwczas zamiast stabilizatora naleøy wlutowaÊ zworkÍ). Amigowcy s¹ w†lepszej sytuacji. Na port RS ich komputerÛw
Rys. 7. Sposób zaciśnięcia złącz RJ−45 na kablu połączeniowym.
36
s¹ wyprowadzone napiÍcia +12 i†-12V. Nie musz¹ wiÍc stosowaÊ dodatkowego zasilania konwertera. Posiadaczom innych typÛw komputerÛw polecam wyprowadziÊ napiÍcie +12V na pin 9†portu RS, -12V na pin 10. Naleøy je w³¹czyÊ przez szeregowe rezystory 47Ω/0,5W. Standard RS232 okreúla funkcjÍ stykÛw 9†i†10 jako napiÍcia testowe i†nic siÍ nie stanie jeúli je tam do³¹czymy. Gdy korzystamy z†interfejsu RS232C, nie musimy montowaÊ CON3, CON4, R1 i†R2 na p³ytce emulatora, natomiast US1 musimy koniecznie usun¹Ê! Do po³¹czenia emulatora z†komputerem wykorzystujemy typowy kabel nullmodem. Do pe³ni szczÍúcia braku tylko kabla emulacyjnego. Wykonujemy go, zaciskaj¹c z³¹cza ISV40 i†IDC40 na taúmie FLAT40.
Pierwszy test Na p³ytce umieszczamy elementy: C4, C5, Q2, US7, DTEST1, DTEST2, RTEST1 i RTEST2. Zaleønie od typu uk³adu US7 wykonujemy dodatkowo: - dla procesorÛw rodziny AT89Sxx: zwieramy CON7 (EA dla AVT-995); do pinu 9 podstawki emulacyjnej do³¹czamy masÍ; kompilujemy plik ìTest51.asmî wydaj¹c rozkaz dla PC ì51 test51 2î lub uruchamiaj¹c skrypt ì8051_AVT995+.rexxî na Amidze (plik do kompilacji ìASM:AVT-EmuAVR/ Test51.asmî);
- dla procesorÛw rodziny AT90Sxx: do wyprowadzenia 9 podstawki emulacyjnej do³¹czamy +5V; kompilujemy plik ìTest51.asmî wydaj¹c rozkaz dla PC ìavr testavr 2î lub uruchamiaj¹c skrypt ìAVR_AVT995+.rexxî na Amidze (plik do kompilacji ìASM:AVT-EmuAVR/TestAVR.asmî). Po chwili procesor powinien byÊ zaprogramowany, diody DTEST powinny migaÊ. Gdy tak jest, moøna usun¹Ê DTEST1, DTEST2, C4, C5, Q2, rozewrzeÊ CON7 i†od³¹czyÊ wyprowadzenie numer 9†procesora (i zworki CON7 lub EA dla AVT995). S³awomir Skrzyñski, AVT
[email protected] Przy uruchamianiu emulatora wykorzystano zestawy AVT-995 i†AVT-498 wspÛ³pracuj¹ce z†Amig¹. Do zaprogramowania procesorÛw w†prototypie wykorzystano programator AVT-996. Dyskietka dostarczana wraz zestawem zawiera programy dla PC i†Amigi. Najnowsze wersje oprogramowania dla Amigi PC bÍd¹ dostÍpne na stronie internetowej EP. P³ytka ìprzejúciÛwkiî dla procesorÛw 8/20pin nie wchodzi w†sk³ad kitu.
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/pazdziernik01.htm oraz na p³ycie CD-EP10/2001B w katalogu PCB.
Elektronika Praktyczna 10/2001
Emulator DS5000 i innych mikrokontrolerów P R O J rodziny E K T ‘51 Y
Emulator DS5000 i innych mikrokontrolerów rodziny ‘51, część 2 AVT−5029
W drugiej czÍúci artyku³u przedstawiamy sposÛb montaøu i programowania emulatora wykonanego w oparciu o niezwyk³y mikrokontroler - DS5000.
Elektronika Praktyczna 10/2001
Uruchomienie zestawu Po z³oøeniu i†wstÍpnym sprawdzeniu p³ytki (schemat montaøowy na rys. 6) pod³¹czamy j¹ do wolnego portu szeregowego komputera kablem null-modem (potrzebne s¹ tylko linie GND, TxD, RxD, DTR). Wtyk testowy wk³adamy do dowolnej p³ytki testowej (uwaga na kierunek!). Do prÛb moøe to byÊ zwyk³a podstawka dil z†pod³¹czonym zasilaniem +5V i†jakimú kontrolnym LED-em do migotania. W³¹czamy zasilanie. W†oknie konfiguracji loadera ustawiamy odpowiedni port oraz szybkoúÊ (domyúlna wynosi 19200 baud, moøemy prÛbowaÊ na 57600, ale nie zawsze udaje siÍ bez zrywania). Wybieramy przygotowany uprzednio dowolnym narzÍdziem plik Intel Hex (po klikniÍciu na pasku opisu pliku otwiera siÍ okno wyboru z†domyúlnymi rozszerzeniami *.hex oraz *.ihx). NastÍpnie klikamy ìPobierz statusî - w†okienku podgl¹du powinien
pojawiÊ siÍ komunikat zg³oszenia, zaú ustawienia (zakres i†partycja) zostan¹ zmodyfikowane. Jeúli mamy do czynienia z†mikrokontrolerem uøywanym lub czystym, moøe zachodziÊ koniecznoúÊ odblokowania lub ustawienia i†wys³ania w³asnych parametrÛw - uøywamy w†tym celu odpowiednich kontrolek. Waøna jest zgodnoúÊ partycji z†adresem startowym zewnÍtrznego RAM-u, ustawionym w†opcjach linkera - w†przeciwnym razie program nie zadzia³a. O†ile wszystko przebieg³o pomyúlnie (bez zg³aszania b³ÍdÛw transmisji), moøemy zamkn¹Ê konfiguracjÍ i†wys³aÊ program, dwukrotnie klikaj¹c ikonÍ lewym przyciskiem myszy. Wyúwietlony pasek postÍpu pokaøe przebieg ³adowania. Zrezygnowa³em z†kontroli poprawnoúci ze wzglÍdu na znaczne spowolnienie ca³ej operacji - po prostu obserwujemy dzia³anie programu po prze³adowaniu, a†dotychczasowa praktyka wykaza³a, øe takie uproszczone rozwi¹zanie nie sprawia problemÛw. Port szeregowy jest zajmowany tylko w†chwilach komunikacji z†modu³em, moøemy wiÍc uruchamiaÊ dodatkowe programy powi¹zane z†naszym urz¹dzeniem bez zamykania loader.exe. Aplikacja zosta³a napisana w†Delphi 3. Ca³oúÊ - ³¹cznie z†pli-
37
Emulator DS5000 i innych mikrokontrolerów rodziny ‘51 2. Utworzona za pomoc¹ gera nie jest k³opotem - przygokompilatora Borland C++. towanie jego obs³ugi w†úrodowisJest samodzielna oraz (we- ku graficznym wymaga jeszcze d³ug napotkanych przeze pracy. Na marginesie maleøy mnie opinii) szybsza w†dzia- stwierdziÊ, øe o†ile debugger zna³aniu. Na razie nie posiada komicie pomaga w†sprawdzaniu jednak debuggera (ktÛry wy- przeliczeÒ, konwersji itp., to przy stÍpuje w†wersji Cygwin). uruchamianiu rzeczywistego uk³aKaøda z†wersji jest kom- du z†rÛønymi transmisjami, przepilatorem uruchamianym rwaniami i†zaleønoúciami czasokonsolowo z†linii komend. wymi bardzo czÍsto staje siÍ ma³o Nie jest to niestety zbyt przydatny. To jest wprawdzie suwygodne - zw³aszcza obec- biektywna opinia, ale przy pewnej nie przy zaawansowanych wprawie czÍstokroÊ dok³adna obi†przyjaznych úrodowiskach serwacja zachowania siÍ progragraficznych. O†ile nawet mu plus kilka sygna³Ûw testousprawnimy sobie pracÍ za wych przynosz¹ szybsze rozwi¹pomoc¹ plikÛw wsadowych, zania niø mozolne úledzenie zato g³Ûwnym mankamentem wartoúci rejestrÛw przy pracy kropozostaje analiza raportu b³Í- kowej. Rys. 6. Rozmieszczenie elementów na dÛw i†mozolne odszukiwaNa razie úrodowisko posiada płytce drukowanej. nie ich w†kodzie ürÛd³o- nastÍpuj¹ce moøliwoúci: kami ürÛd³owymi oraz procedur¹ wym. Dlatego rozpocz¹³em sk³ada1. Operacje plikowe: otwieraobs³ugi portu szeregowego - jest nie takiego uproszczonego, ama- nie, zamykanie i†zapisywanie plizamieszczona na stronie EP torskiego úrodowiska dla Win- kÛw. Dotycz¹ one zawsze pliku w†dziale ìDownloadî jako freedows z†uøyciem Delphi. Pomija w†aktualnie widocznej zak³adce ware. ono z†za³oøenia wiele elementÛw edytora. znanych z†pakietÛw profesjonal2. Operacje na ca³ych projekProgramowanie nych. Jego g³Ûwnym celem nie tach: otwieranie, zamykanie i†zaDuøa pamiÍÊ programu, jest tworzenie bardzo rozbudowa- pisywanie, dodawanie i†usuwanie a†zw³aszcza znaczna pamiÍÊ danych aplikacji, ale u³atwienie plikÛw, ustawianie opcji. nych pozwalaj¹ na swobodne stoi†uprzyjemnienie amatorskiego piProjekt obejmuje wykaz uøywasowanie w†programowaniu sania úredniozaawansowanych nych plikÛw oraz konfiguracjÍ DS5000 jÍzykÛw wysokiego pozioprogramÛw w†C. Ekran úrodowis- kompilatora. Zrezygnowa³em z†tymu - przede wszystkim C. Przez ka jest przedstawiony na rys. 7. powego oddzielnego okienka opiwiele lat g³Ûwn¹ przeszkod¹ by³y Jako edytor zosta³ wykorzysta- suj¹cego otwarty projekt - wszyswysokie ceny legalnych kompilany znakomity program TSynEdit. tkie pliki projektu s¹ pokazane torÛw. Jest on rÛwnieø dostÍpny na jako zak³adki edytora. Dodanie Obecnie dostÍpny jest freewazasadach Mozilla Public License lub usuniÍcie pliku jest rÛwnore'owy kompilator SDCC (Small lub General Public License. Umoø- znaczne z†dodaniem lub usuniÍDevices C Compiler), rozpoliwia m.in.: bardzo sprawne i†nie- ciem zak³adki. wszechniany na zasadach General zawodne kolorowanie sk³adni, 3. Kompilacja plikÛw *.c Public License. Jego autor, Sanwszystkie typowe operacje edycyj- i†*.asm do postaci relokowalnej deep Dutta, stworzy³ go g³Ûwnie ne, wielopoziomowe cofanie UN- *.rel albo wynikowej *.ihx (Intel z†myúl¹ o†úrodowisku Linux. DO/REDO, sprawne wyszukiwanie Hex). SDCC dopuszcza jednorazoSDCC moøna jednak z†powodzei†zastÍpowanie, doniem uøywaÊ rÛwnieø w†systewolny wybÛr mach Windows 9x. Wszelkie nieczcionki, zaznaczazbÍdne programy ürÛd³owe i†donie zak³adek na kumentacje s¹ dostÍpne na stronie marginesie i†wiele http://sdcc.sourceforge.net. Jeúli innych operacji. nie chcemy samodzielnie kompiWszelkie informalowaÊ plikÛw ürÛd³owych - mamy cje, pliki ürÛd³owe, tam teø do pobrania pliki wykogotowe pakiety nywalne. S¹ w†dodatku dostÍpne Delphi, programy dwie wersje pakietu dla Windemonstracyjne s¹ dows: dostÍpne na stro1. Utworzona za pomoc¹ beznie http://synep³atnego kompilatora C Cygwin. dit.sourceforge.net. Nie moøe pracowaÊ samodzielnie, Wykonawczym gdyø korzysta z†bibliotek Cygwikompilatorem jest na. Wymaga to úci¹gniÍcia i†instaSDCC w†wersji lacji ca³ego Cygwina albo przynajìBorlandî. Na tym mniej potrzebnych komponentÛw. etapie brak debug- Rys. 7. Ekran windowsowego środowiska dla SDCC.
38
Elektronika Praktyczna 10/2001
Emulator DS5000 i innych mikrokontrolerów rodziny ‘51
Rys. 8. Widok okna ustawiania konfiguracji kompilatora.
wo kompilacjÍ tylko pojedynczego pliku. Jeúli chcemy z³oøyÊ projekt z†kilku modu³Ûw, musimy wczeúniej dodatkowe modu³y skompilowaÊ do postaci relokowalnej *.rel, tak øeby linker mia³ je juø gotowe. Dodatkowo na pierwszej pozycji wywo³ania musi siÍ znaleüÊ modu³ funkcji main(). Te ograniczenia s¹ na ekranie odzwierciedlone nastÍpuj¹co: - na pierwszej zak³adce musi byÊ ulokowany plik *.c z†funkcj¹ main (); - komenda utworzenia pliku wynikowego *.ihx jest aktywna tylko dla pierwszej zak³adki, wszystkie nastÍpne zak³adki projektu umoøliwiaj¹ tylko utworzenie *.rel. Obecnie wszystkie potrzebne pliki *.rel naleøy utworzyÊ (lub aktualizowaÊ) samodzielnie. Brak pliku *.rel lub jego aktualizacji (tj. ponownej kompilacji po zmianach wprowadzonych w†kodzie) jest zaznaczany podkreúleniem nazwy pliku na zak³adce, w†takiej sytuacji tworzenie *.ihx zostaje wstrzymane z†odpowiednim komunikatem. Jest to rozwi¹zanie tymczasowe - program jest przygotowany do wprowadzenia typowych operacji make i†build (chociaø przy niezbyt ìrozdrobnionychî projektach doskonale moøna siÍ bez nich obywaÊ). 4. Ustawianie opcji kompilacji dla projektu. W†tej chwili s¹ to tylko najbardziej ogÛlne ustawienia (okienko opcji na rys. 8): - model pamiÍci (wewnÍtrzny/ small - domyúln¹ lokacj¹ zmiennych jest obszar DATA, rozszerzony/large - zmienne s¹ domyúlnie lokowane w†XDATA; autor SDCC zaleca stosowanie
Elektronika Praktyczna 10/2001
small+jawne deklaracje lokacji zmiennych w†razie potrzeby), - stos (wewnÍtrzny - w†obszarze IDATA, zewnÍtrzny - pierwsze 256 bajtÛw w†obszarze XDATA, stosowanie zewnÍtrznego stosu daje wiÍksz¹ swobodÍ, ale kosztem szybkoúci), - rozmiar pamiÍci programu (uøywany do alarmowania o†przekroczeniu pojemnoúci zastosowanego mikrokontrolera, - ustawienie adresu startowego RAM za obszarem programu opcja specjalnie dla DS5000. 5. Lokalizacja b³ÍdÛw. W†razie wyst¹pienia b³ÍdÛw kompilacji ich wykaz jest pokazywany w†oddzielnym oknie. PodwÛjne klikniÍcie na linii opisu b³Ídu powoduje przejúcie do odpowiedniego miejsca w†kodzie programu (rys. 9). Mechanizm raportowania b³ÍdÛw SDCC nie zawsze dzia³a prawid³owo - jeúli nie jest podany numer wiersza, samoczynna lokalizacja nie jest moøliwa i†trzeba rÍcznie odszukaÊ b³¹d, korzystaj¹c z†komendy Szukaj edytora. W†najbliøszych planach rozwojowych programu przewiduje siÍ wyposaøenie go w: - managera bibliotek, - managera i†edytor plikÛw nag³Ûwkowych, - ³adowanie programu do symulatorÛw (EPROM, DS5000) z†poziomu úrodowiska. Ca³y projekt w Delphi (wraz z†plikami ürÛd³owymi) jest do-
WYKAZ ELEMENTÓW Rezystory R1: 4,7kΩ Kondensatory C1: 100nF C2, C3: 33pF C4: C7: elektrolit 10µF/25V Półprzewodniki U1: DS5000(T) U2: MAX232 (lub odpowiednik) U3: 4052 U4: 4066 Różne X1: 11,059MHz JP 1: jumper J1: gniazdo DB9M do druku Z1: gniazdo pionowe 40 pin płytka drukowana dwuwarstwowa taśma 40−żyłowa z wtykiem 40 pin i wtykiem testowym DIL40
stÍpny jako freeware na zasadach Mozilla Public License/General Public License. Moøna go pobraÊ ze strony Elektroniki Praktycznej. Tam teø znajduje siÍ dodatkowy plik opisu (gdyø øadna pomoc na razie jeszcze nie powsta³a) oraz dokumentacja wspomnianych licencji. Jerzy Szczesiul, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/pazdziernik01.htm oraz na p³ycie CD-EP10/2001B w katalogu PCB.
Rys. 9. Sposób lokalizowania błędów w SDCC.
39
Uniwersalny przyrząd P R O laboratoryjny J E K T Y
Uniwersalny przyrząd laboratoryjny, część 2 AVT−5034
Zgodnie z†zapowiedzi¹ sprzed miesi¹ca, koÒczymy opis budowy uniwersalnego przyrz¹du laboratoryjnego, ktÛry moøe spe³niaÊ szereg rÛønorodnych funkcji testowopomiarowych, ale moøe byÊ takøe wykorzystywany jako termometr, zegar itp.
Obs³uga przyrz¹du Bezpoúrednio po w³¹czeniu zasilania uk³ad wyúwietla menu g³Ûwne (wygl¹d wyúwietlacza pokazano na rys. 3), z†ktÛrego poziomu mamy dostÍp do wszystkich funkcji miernika. Do poruszania siÍ po menu s³uø¹ dwa klawisze oznaczone strza³kami na p³ycie czo³owej miernika. WybÛr aktualnie wyúwietlonej funkcji potwierdzamy za pomoc¹ klawisza ENTER, a†po zakoÒczeniu pomiarÛw wychodzimy z†niej, naciskaj¹c klawisz ESC. OmÛwmy teraz szczegÛ³owo wszystkie funkcje miernika.
1. Bezpoúredni pomiar czÍstotliwoúci Po wybraniu tej opcji pomiar czÍstotliwoúci przebiega ca³kowicie automatycznie, ze sta³ym czasem bramkowania wynosz¹cym 1†sekundÍ. Zmiana podzakresÛw odbywa siÍ ca³kowicie bez ingerencji ze strony uøytkownika i†sygnalizowana jest podaniem jednostki wyniku pomiaru bezpoúrednio po wyniku. Pomiar na zakresie do 5MHz odbywa siÍ z†rozdzielczoúci¹ 1Hz i†taka w³aúnie jednostka wyúwietlana jest na LCD. Po przekroczeniu czÍstotliwoúci 5MHz (dok³adnie 4,9MHz) miernik automatycznie zmienia podza-
Elektronika Praktyczna 10/2001
kres pomiarowy, podaj¹c jednoczeúnie na wyúwietlaczu now¹ jednostkÍ: kHz. Przekroczenie zakresu pomiarowego, czyli dojúcie do czÍstotliwoúci 99MHz jest sygnalizowane wyúwietleniem komunikatu ìOVERLOADî. Poprawna praca miernika jest sygnalizowana cyklicznym, odbywaj¹cym siÍ co sekundÍ wyúwietlaniem napisu ìGATEî w†lewym gÛrnym rogu wyúwietlacza. Zapisywanie wynikÛw pomiarÛw na kartce papieru jest raczej niewygodne, szczegÛlnie jeøeli jednoczeúnie z†tymi wynikami musimy zanotowaÊ czas, w†ktÛrym zosta³y zmierzone. Jeøeli w†naszej pracowni posiadamy komputer, co obecnie jest w³aúciwie regu³¹, to moøemy wykorzystaÊ go do gromadzenie wszelkich wynikÛw pomiarÛw pochodz¹cych z†naszego miernika. Po naciúniÍciu klawisza PRINT aktualny wynik pomiaru przekazywany jest za poúrednictwem interfejsu RS232 do komputera i†tam zapisywany. Naciskanie klawisza PRINT podczas dokonywania pomiaru czÍstotliwoúci powoduje wys³anie do komputera informacji o†zmierzonej czÍstotliwoúci, stosowanej jednostce i†czasie, w†ktÛrym dokonany zosta³ pomiar: Frequency: 2499993 Hz
41
Uniwersalny przyrząd laboratoryjny
Rys. 3. Wygląd wyświetlacza w trybie pomiaru częstotliwości.
Rys. 4. Wygląd wyświetlacza podczas konfigurowania preskalera.
liwoúÊ mierzonego sygna³u. Jeøeli na wejúcie CON2 nie jest podawany øaden sygna³, to miernik bÍdzie wyúwietla³ kompletne ìbzduryî. Jest to jednak zjawisko normalne, wynikaj¹ce z†cech zastosowanego preskalera. Widok ekranu wyúwietlacza w†tym trybie pomiarowym pokazano na rys. 4. Podobnie jak podczas bezpoúredniego pomiaru czÍstotliwoúci, naciúniÍcie klawisza PRINT spowoduje wys³anie do komputera wyniku pomiaru wraz z†informacj¹ o†czasie, w†jakim zosta³ wykonany.
3. Pomiar temperatury Rys. 5. Wygląd wyświetlacza w trybie pomiaru temperatury.
Rys. 6. Wygląd wyświetlacza w trybie testowania 1Wire.
Rys. 7. Wygląd wyświetlacza w trybie konfigurowania timera.
Rys. 8. Wygląd wyświetlacza w trybie ustawiania daty i czasu.
00:03:01 Frequency: 00:03:02 Frequency: 00:03:03 Frequency: 00:03:04 Frequency: 00:03:33
2499993 Hz 2499993 Hz 2499994 Hz 2499994 Hz
Jest to pierwsza z†dodatkowych funkcji miernika, ktÛra moøe okazaÊ siÍ bardzo uøyteczna, np. podczas dokonywania eksperymentÛw z†doborem radiatorÛw lub stosowaniem wymuszonego ch³odzenia. Do pomiaru temperatury zastosowano popularny termometr cyfrowy firmy DALLAS - DS1820. Pomiar temperatury odbywa siÍ z†rozdzielczoúci¹ 0,1OC, w†zakresie od -55 do +125 stopni. Podobnie jak podczas dokonywania pomiarÛw czÍstotliwoúci wyniki mog¹ byÊ przekazywane do komputera. Naleøy jednak zwrÛciÊ uwagÍ, øe odczyt temperatury przekazywany jest bez punktu dziesiÍtnego i†øe np. zapis ì286î oznacza w†rzeczywistoúci 28,6OC. Widok ekranu wyúwietlacza pokazano na rys. 5. Temperature: 12:09:43 Temperature: 12:09:44 Temperature: 12:09:45 Temperature: 12:09:46 Temperature: 12:09:48
260 289 446 518 540
4. Tester magistrali 1WIRE 2. Pomiar czÍstotliwoúci z†preskalerem 1:256 Pomiar czÍstotliwoúci wiÍkszych od 100MHz, z†punktu widzenia obs³ugi miernika, niczym nie rÛøni od pomiaru na niøszym zakresie. Wynik wyúwietlany jest zawsze w†kHz. Musimy jednak pamiÍtaÊ, øe najniøsza czÍstotliwoúÊ jak¹ moøemy zmierzyÊ na tym zakresie wynosi ok. 70MHz. Pomiar mniejszych czÍstotliwoúci bÍdzie obarczony znacznym b³Ídem, tym wiÍkszym, im mniejsza bÍdzie czÍstot-
42
Kolejn¹ funkcj¹ dostÍpn¹ z†poziomu menu g³Ûwnego jest testowanie magistrali 1WIRE. Przyrz¹d umoøliwia okreúlenie liczby uk³adÛw do³¹czonych w†danym momencie do magistrali 1WIRE oraz odczytanie ich numerÛw seryjnych. Maksymalna liczba uk³adÛw do³¹czonych do badanej magistrali wynosi 65536. Wszystkie wymienione informacje s¹ przekazywane uøytkownikowi dwiema drogami: poprzez z³¹cze RS232 do terminala progra-
mowego komputera lub na do³¹czony do uk³adu wyúwietlacz alfanumeryczny LCD. Wys³anie informacji do komputera wymaga naciúniÍcia i†przytrzymania przez czas analizowania magistrali klawisza PRINT. Widok ekranu wyúwietlacza pokazano na rys. 6.
5. Timer Wbudowany w†miernik timer umoøliwia úledzenie up³ywu czasu z†rozdzielczoúci¹ jednej sekundy. Timer obs³ugiwany jest identycznie jak licznik zdarzeÒ: klawisz ENTER uruchamia zliczanie czasu, naciúniÍcie PAUSE powoduje chwilowe (aø do ponownego naciúniÍci ENTER) wstrzymanie zliczania, a†klawiszem CLEAR moøemy wyzerowaÊ rejestry timera. Maksymalny czas, ktÛry moøemy zmierzyÊ za pomoc¹ timera wynosi 65535 godzin, 59 minut i†59 sekund, czyli nieco ponad 7†lat! Naleøy zaznaczyÊ, øe wyjúcie z†funkcji timera podczas jego pracy nie powoduje jej wstrzymania ani wyzerowania rejestrÛw. Timer bÍdzie nadal pracowa³ w†tle, podobnie jak licznik zdarzeÒ i†zegar. Stan licznikÛw timera moøemy w†kaødej chwili przes³aÊ do komputera za pomoc¹ naciúniÍcia klawisza PRINT. Widok ekranu wyúwietlacza pokazano na rys. 7.
6. Zegar czasu rzeczywistego Ostatni¹ z†funkcji wbudowanych w†miernik jest zegar czasu rzeczywistego, wskazuj¹cy aktualny czas i†datÍ. Po wybraniu tej funkcji na ekranie rozpoczyna siÍ wyúwietlanie tych informacji. W†kaødej chwili moøemy dokonaÊ korekty wskazywanego czasu, naciskaj¹c przycisk SET. Po wejúciu w†tryb ustawiania czasu aktywne s¹ nastÍpuj¹ce klawisze: - klawisze oznaczone strza³kami s³uø¹ do zmiany aktualnie ustawianej wartoúci. - klawisz SET s³uøy do zatwierdzenia ustawionej wartoúci (kolejno: godzin, minut, dnia miesi¹ca i†roku). Nie przewidziano osobnej funkcji zerowania sekundnika zegara. Licznik sekund ustawiany jest na zero w†momencie wprowadzenia nowej wartoúci minut. Zegar czasu rzeczywistego jest jedyn¹ funkcj¹ miernika, ktÛra nie
Elektronika Praktyczna 10/2001
Uniwersalny przyrząd laboratoryjny
Rys. 9. Rozmieszczenie elementów na płykach drukowanych miernika.
moøe byÊ dokumentowana przez komputer. S¹dzÍ, øe przesy³anie do komputera informacji o†czasie i†dacie nie mia³oby najmniejszego sensu. Widok ekranu wyúwietlacza w†ìzegarowymî trybie pracy pokazano na rys. 8.
Montaø i†uruchomienie Na rys. 9†pokazano schemat montaøowy p³ytki drukowanej. Jest na nim widoczna takøe druga p³ytka, na ktÛrej jednak nie bÍdziemy umieszczaÊ øadnych elementÛw elektronicznych. P³ytka ta moøe s³uøyÊ jako wzglÍdnie efektowna i†estetyczna p³yta czo³owa, wykonana z†laminatu i†w†prosty sposÛb ³¹czona z†p³ytk¹ uk³adu elektronicznego i†z wyúwietlaczem. Montaø uk³adu przeprowadzamy typowo, rozpoczynaj¹c od elementÛw o†najmniejszych gabarytach: rezystorÛw, R-packa i†podstawek pod uk³ady scalone. Przyciski S1..S8, podobnie jak wy-
Elektronika Praktyczna 10/2001
úwietlacz LCD i†z³¹cza BNC, musz¹ byÊ zamocowane OD STRONY DRUKU. W†miejscu przeznaczonym na wyúwietlacz wlutowujemy w†p³ytkÍ OD STRONY DRUKU rz¹d goldpinÛw, do ktÛrego po bardzo starannym sprawdzeniu poprawnoúci montaøu przylutowujemy wyúwietlacz. Ostatni¹ czynnoúci¹, jak¹ bÍdziemy musieli wykonaÊ, bÍdzie zamocowanie p³yty czo³owej. Do tego celu bÍd¹ nam potrzebne cztery úrubki o úrednicy 3mm i†nakrÍtki M3. KolejnoúÊ postÍpowania jest nastÍpuj¹ca: 1. PomiÍdzy wyúwietlacz a†przylutowan¹ do niego p³ytkÍ elektroniki miernika wsuwamy tulejki dystansowe o†odpowiedniej d³ugoúci i†skrÍcamy ca³oúÊ za pomoc¹ úrubek tak, aby ich ³ebki wystawa³y ok. 5†mm ponad powierzchniÍ p³ytki wyúwietlacza. Na kaød¹ úrubkÍ nakrÍcamy w†zwi¹zku z†tym dwie nakrÍtki.
2. Tak zmontowan¹ konstrukcjÍ uk³adamy na p³ycie czo³owej i†starannie wyrÛwnujemy. NastÍpnie lutujemy ³ebki úrubek do duøych punktÛw lutowniczych wykonanych na spodniej stronie p³yty czo³owej. 3. Jak zauwaøyliúcie, p³yta czo³owa jest nieco wiÍksza od p³ytki miernika. Pozwoli to na ³atwe dobudowanie tylnej czÍúci i†bokÛw obudowy, ktÛre moøemy wykonaÊ z†kawa³kÛw laminatu lub tworzywa sztucznego. Na rys. 10 przedstawiono rozmieszczenie elementÛw na dodatkowej p³ytce przystawki umoøliwiaj¹cej po³¹czenie miernika z†komputerem PC. Montaø tak prostego uk³adu moøemy pozostawiÊ bez komentarza. Po zmontowaniu uk³adu i†w³oøeniu uk³adÛw scalonych w†podstawki, w³¹czamy zasilanie miernika. Urz¹dzenie moøe byÊ zasilane napiÍciem sta³ym o†wartoúci 9..16VDC, niekoniecznie stabilizowanym. Po w³¹czeniu zasilania (po up³ywie ok. 1†sekundy) na wyúwietlaczu powinien ukazaÊ siÍ napis ìF[kHz]= 0î i†pojawiaj¹cy siÍ co sekundÍ napis GATE, co úwiadczy o†poprawnym dzia³aniu uk³adu. Moøemy teraz pod³¹czyÊ do miernika ürÛd³o sygna³u o przebiegu prostok¹tnym i†czÍstotliwoúci mieszcz¹cej siÍ w†zakresie pomiarowym miernika i†dokonaÊ pierwszego pomiaru. Na zakoÒczenie chcia³bym jeszcze poruszyÊ temat transmisji danych do komputera i†dalszej ich obrÛbki. Jak wspomnia³em, podczas testÛw miernika do transmisji danych wykorzystywa³em rewelacyjny program terminala RS232, bÍd¹cy czÍúci¹ sk³adow¹ pakietu BASCOM AVR (lub BASCOM8051). Oczywiúcie, moøna takøe uøyÊ dowolnego innego programu terminala RS232. Jednak ze wszystkich przetestowanych przeze mnie
Rys. 10. Rozmieszczenie elementów na płytce drukowanej interfejsu.
43
Uniwersalny przyrząd laboratoryjny
Rys. 11. Widok okna terminala.
programÛw terminalowych, program stanowi¹cy czÍúÊ BASCOM-a okaza³ siÍ najdogodniejszy. Przed przyst¹pieniem do odbierania danych z†miernika musimy odpowiednio skonfigurowaÊ terminal BASCOM-a, podobnie zreszt¹ jak kaødy inny terminal. Najwaøniejsze bÍdzie ustawienie szybkoúci transmisji na 9600 baud. Parametr ten ustawiamy w†okienku OPTIONS\COMUNICATION\BAUDRATE, a†nastÍpnie z†submenu TOOLS wybieramy opcjÍ TERMINAL EMULATOR. Na rys. 11 zosta³ pokazany sposÛb korzystania z†terminala. Jeøeli mamy zamiar zapisywaÊ wszystkie dane nadsy³ane przez miernik, to z†poziomu okienka terminala musimy wybraÊ opcjÍ TERMINAL\OPEN LOG (rys. 12). Po podaniu nazwy pliku docelowego, wszystkie informacje otrzymywane z†miernika bÍd¹ zapisywane w†tym pliku. Pliki tworzone przez terminal s¹ plikami ASCII i†zawarte w†nich dane mog¹ byÊ z†³atwoúci¹ przeniesione do edytora tekstowego lub np.
Rys. 12. Widok okna zapisu pliku z zarejestrowanymi danymi.
44
do arkusza kalkulacyjnego. Stwarza to ogromne moøliwoúci graficznej prezentacji danych, chociaøby pod postaci¹ wykresÛw generowanych przez arkusz MS Excel. Dla przyk³adu wykona³em prosty eksperyment z†pomiarem temperatury. Doúwiadczenie by³o banalnie proste i†powiedzia³bym ma³o odkrywcze. Polega³o na ìprzypieczeniuî czujnika temperatury DS1820 koÒcem lutownicy i†ìpozwoleniuî mu na powolne ostygniÍcie. Efekt tego eksperymentu zosta³ pokazany na rys. 13 (wykres wykonano za pomoc¹ kreatora wykresÛw arkusza Excel). Na zakoÒczenie chcia³bym, abyúmy wspÛlnie uúwiadomili sobie pewien fakt, niezwykle istotny przy korzystaniu ze zbudowanego przyrz¹du. Do tej pory mÛwiliúmy o†nim jako o†mierniku czÍstotliwoúci czy teø wielofunkcyjnym przyrz¹dzie pomiarowym. MyúlÍ, øe naszemu miernikowi moøemy nadaÊ jeszcze jedn¹ nazwÍ: ìWielofunkcyjny REPROGRAMOWALNY przyrz¹d pomiarowyî. Przecieø program, ktÛry napisa³em i†umieúci³em w†pamiÍci miernika, jest tylko jednym z†tysiÍcy moøliwych programÛw, dostosowanych da najrÛøniejszych okolicznoúci i†wymagaÒ uøytkownikÛw. Podam tylko jeden, prosty przyk³ad: przekazywanie danych do komputera odbywa siÍ w†naszym przyrz¹dzie po naciúniÍciu klawisza PRINT. Wyobraümy sobie, øe np. chcielibyúmy dokonaÊ pomiaru temperatury w czasie powiedzmy jednego tygodnia, z†zapisem danych co 1†go-
dzinÍ. Co mamy zrobiÊ w†takiej sytuacji? SiedzieÊ przez tydzieÒ w†laboratorium i†co godzinÍ naciskaÊ przycisk PRINT? Kompletny nonsens, juø lepiej dobudowaÊ do miernika prosty uk³adzik z kluczem dubluj¹cym klawiaturÍ, ktÛry co godzinÍ zwiera³by go do masy. Ale i†to nie jest ìeleganckimî rozwi¹zaniem, w†dodatku moøliwym do zastosowania tylko w†opisanym, prostym przyk³adzie. Rozwi¹zaniem idealnym by³aby tymczasowa lub sta³a zmiana programu steruj¹cego miernikiem, dodanie kilku dodatkowych linijek, ktÛrych napisanie w†jÍzyku MCS BASIC nikomu nie sprawi trudnoúci. Jeøeli juø w†naszym laboratorium stoi komputer, to nie ma przeszkÛd, aby zainstalowaÊ na nim odpowiednie oprogramowanie, pod³¹czyÊ do gniazda drukarkowego prosty programator procesorÛw AVR (np. AVT-871 wspÛ³pracuj¹cy bezpoúrednio z†BASCOM-em) i†dokonaÊ poø¹danych zmian w†oprogramowaniu miernika. W†taki sam sposÛb moøemy dodawaÊ nowe funkcje i modyfikowaÊ istniej¹ce aø do momentu, kiedy ìskoÒczy siÍî pamiÍÊ EEPROM procesora. Tego jednak nie musimy siÍ zbytnio obawiaÊ: wed³ug danych producenta pamiÍÊ EEPROM procesorÛw AVR wytrzymuje do 1000 operacji kasowania i†zapisu, ale wydaje siÍ, øe informacja ta zosta³a podana w†karcie katalogowej z†ogromnym zapasem bezpieczeÒstwa. Andrzej Gawryluk, AVT Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/pazdziernik01.htm oraz na p³ycie CD-EP10/2001B w katalogu PCB.
Rys. 13. Przykładowy wykres temperatury przygotowany za pomocą programu Excel.
Elektronika Praktyczna 10/2001
Korektor i wzmacniacz P Rakustyczny O J E K4x40W T Y
Korektor i wzmacniacz akustyczny 4x40W, część 2 AVT−5035/1
W†drugiej czÍúci artyku³u zawarliúmy opis oprogramowania steruj¹cego prac¹ przedwzmacniacza oraz montaøu urz¹dzenia.
Oprogramowanie procesora steruj¹cego Program steruj¹cy urz¹dzeniem moøna napisaÊ samemu, korzystaj¹c z†podanych wczeúniej informacji o†sposobie dzia³ania uk³adÛw scalonych uøytych do jego budowy. Nie jest to trudne, jeúli ma siÍ podstawow¹ wiedzÍ i†narzÍdzia potrzebne do zaprogramowania uøytego procesora. Tak powsta³e urz¹dzenie bÍdzie naprawdÍ autorskie i†idealnie dostosowane do potrzeb swojego uøytkownika. Jednak dla tych czytelnikÛw, ktÛrzy nie maj¹ ochoty robiÊ tego samodzielnie przedstawiamy nasz projekt oprogramowania uk³adu. Sterowanie urz¹dzeniem opiera siÍ na dostÍpie do kolejnych funkcji po naciúniÍciu przycisku impulsatora K1 (przycisk jest do³¹czany do wyprowadzenia P1.2 procesora). DostÍpne s¹ nastÍpuj¹ce funkcje regulacyjne: 1. Zmiana g³oúnoúci. 2. Ustawienie balansu pomiÍdzy kana³ami (lewym i†prawym).
Elektronika Praktyczna 10/2001
3. Ustawienie proporcji pomiÍdzy sygna³ami dla g³oúnikÛw przednich i†tylnych. 4. Zaprogramowanie charakterystyki przenoszenia. Po naciúniÍciu przycisku impulsatora K1, na wyúwietlaczu pojawiaj¹ siÍ parametry kolejnej funkcji, ktÛre moøna zmieniaÊ przez obrÛt pokrÍt³a impulsatora. Przejúcie do nastÍpnej funkcji odbywa siÍ w†taki sam sposÛb. Jeøeli parametry zosta³y zmienione, np. zwiÍkszona zosta³a g³oúnoúÊ, to w†momencie przechodzenia do nastÍpnej opcji nowa wartoúÊ parametru zostaje zapisana w†pamiÍci EEPROM i†zostanie automatycznie przywrÛcona w†czasie kolejnego w³¹czenia urz¹dzenia do sieci. Jeøeli w†czasie kolejnych 10s uøytkownik nie zmieni øadnej z†nastaw, program automatycznie wrÛci do wyúwietlania poziomu g³oúnoúci ewentualnie zapisuj¹c przedtem do pamiÍci parametr funkcji. Opcja regulacji g³oúnoúci jest zazwyczaj naj-
47
Korektor i wzmacniacz akustyczny 4x40W czÍúciej uøywana i†z†tego powodu z†kana³Ûw. Tak jak przy po- wianego filtru oraz stopieÒ korekprogram wraca do niej automaprzednio opisanej funkcji, w†dol- cji w†zakresie od -5 do 5. Wytycznie oraz wyúwietla j¹ po nej linii wyúwietlacza pojawi siÍ úwietlane z†prawej strony, w†obyw³¹czeniu zasilania. symbol pokazuj¹cy po³oøenie dwu liniach wyúwietlacza pozioAd 1. Podczas regulacji g³oúumownego suwaka balansu miÍ- me kreski pokazuj¹ graficznie noúci w†gÛrnej linii wyúwietlacza dzy dwoma koÒcami sceny poziom korekcji przyjÍty dla kaøpojawia siÍ napis ìVOLUMEî düwiÍkowej. dego z†filtrÛw. Takøe w†przypadoraz wartoúÊ w†decybelach okreúAd 3. Funkcja ustalania pro- ku tej grafiki wykorzystane zostalaj¹ca wzmocnienie przedwzmacporcji miÍdzy sygna³ami g³oúni- ³ y m o ø l i w o ú c i s t e r o w n i k a niacza. WartoúÊ tÍ moøna zmiekÛw tylnych i†przednich jest nie- pozwalaj¹ce definiowaÊ 8†w³asniaÊ w†zakresie od ìOFFî (wyco podobna do funkcji balansu, nych znakÛw. Przejúcie miÍdzy ciszenie wszystkich kana³Ûw) do ale dotyczy kierunku przÛd i†ty³. kolejnymi filtrami nastÍpuje po 20dB (najwyøszy poziom düwiÍJest szczegÛlne przydatna gdy naciúniÍciu przycisku impulsatoku) krÍc¹c impulsatorem. W†dol- urz¹dzenie bÍdzie wspÛ³dzia³aÊ ra K1, natomiast poziom korekcji nej linii wyúwietlany jest symbol z†torami düwiÍkowymi w†niewiel- jest ustawiany pokrÍt³em impulsuwaka potencjometru, ktÛry kiej kubaturze, np. we wnÍtrzu satora. w†zaleønoúci od ustalonego posamochodu. Uøytkownik moøe Istnieje jeszcze jedna moøliziomu düwiÍku przemieszcza siÍ dziÍki tej funkcji wybraÊ, czy woúÊ oferowana przez program pomiÍdzy znakami ì-î i†ì+î. woli wiÍcej düwiÍku z†ty³u, czy przywrÛcenie wartoúci domyúlChociaø wyúwietlacz alfanumeteø z†przodu. W gÛrnej linii wy- nych. Jeøeli podczas w³¹czania ryczny LCD nie nadaje siÍ do úwietlacza pojawiaj¹ siÍ dwa zasilania przycisk impulsatora bÍpokazywania grafiki, jednak wyskrÛty ìFrî (Front) i†ìBkî (Back) dzie naciúniÍty, na wyúwietlaczu úwietlane informacje moøna wraz z†wartoúciami w†decybelach pojawi siÍ napis ìEqualizer v.2.01 uatrakcyjniÊ chociaøby przez syoznaczaj¹cymi rÛønicÍ w†natÍøe- resetî a†do EEPROM-u zapisane mulowanie takiego graficznego niu düwiÍku miÍdzy g³oúnikami zostan¹ wartoúci domyúlne oznapotencjometru. Moøna w†tym ceprzodu i†ty³u. DüwiÍk w†kaødej czaj¹ce najczÍúciej brak jakiejkollu wykorzystaÊ opcjÍ defi- z†grup g³oúnikÛw moøna os³abiÊ wiek korekcji. niowania 8†znakÛw uøytkownika, w†zakresie od 0dB do -30dB albo jaka jest dostÍpna w†standardowy³¹czyÊ. Symbol suwaka w†dol- Montaø i†uruchomienie Modelowy uk³ad zmontowano wych sterownikach wyúwietlacza. nej linii, poruszaj¹cy siÍ pomiÍOdpowiednio definiuj¹c w³asne dzy literami F†i†B, pokazuje gra- na dwustronnej p³ytce drukowaznaki moøna graficzny suwak ficznie wartoúÊ ustawionego pa- nej o†wymiarach 122x80mm. Jej schemat montaøowy pokazano na przesuwaÊ piksel po pikselu rametru. wzd³uø ca³ej linii. Nie jest to Ad 4. Korekcja charakterystyki rys. 4. Wyúwietlacz LCD1, gniazda ruch ca³kiem p³ynny, ale trochÍ polega na zmianie parametrÛw ìoøywiaî suche informacje tekskaødego z†5†filtrÛw (patrz opis CC1 i†CC2, przycisk SW2 oraz towe pokazywane przez wyúwietrejestrÛw uk³adu TEA6360), jed- impulsator K1 przewidziane zolacz. noczeúnie dla kana³u lewego sta³y do montaøu po przeciwnej Ad 2. Podczas ustawiania i†prawego. Na wyúwietlaczu wyú- stronie niø pozosta³e elementy balansu gÛrna linia wyúwietla wietlana jest czÍstotliwoúÊ usta- uk³adu, aby u³atwiÊ przykrÍcenie rÛønicÍ poziomÛw w†decybelach miÍdzy kana³em lewym i†prawym (celowo, na sta³e ustawiona rÛønica poziomÛw). Balans ma za zadanie skompensowaÊ tÍ rÛønicÍ wzmocnienia kana³Ûw tak, aby na umownej scenie düwiÍkowej, pomiÍdzy g³oúnikiem lewym i prawym, düwiÍk wydobywa³ siÍ z†w³aúciwego miejsca. RÛønice w†odbiorze düwiÍku mog¹ byÊ wywo³ane czynnikami czysto subiektywnymi: ktoú np. lepiej s³yszy z†prawej strony niø z†lewej albo t³umienie düwiÍku w†pomieszczeniu jest niejednakowe. Balans s³uøy w³aúnie do niwelowania tych rÛønic. Funkcj¹ balansu moøna os³abiÊ düwiÍk w†wybranym kanale od 0dB do -66dB, a†nawet wy³¹czyÊ zupe³nie jeden Rys. 4. Rozmieszczenie elementów na płytce drukowanej.
48
Elektronika Praktyczna 10/2001
Korektor i wzmacniacz akustyczny 4x40W p³ytki do przedniej úcianki wybranej przez uøytkownika obudowy. Ze wzglÍdu na wymiary p³ytki montaø korektora w†takiej postaci, np. w†samochodzie moøe okazaÊ siÍ k³opotliwy. W†takim przypadku wymienione powyøej elementy naleøy zamontowaÊ na wykonanej osobno i†dostosowanej wymiarami do potrzeb p³ytce czo³owej obudowy. P³ytkÍ z†pozosta³ymi elementami naleøy zamontowaÊ w†obudowie w†po³oøeniu poziomym i†po³¹czyÊ z†elementami na p³ytce czo³owej za pomoc¹ przewodÛw, wykorzystuj¹c do po³¹czeÒ styki gniazda wyúwietlacza i†z³¹cze JP3, na ktÛrym wyprowadzone s¹ po³¹czenia do przycisku SW2, impulsatora K1 oraz masy. Gniazda CC1 i†CC2 naleøy po³¹czyÊ z†pomocniczymi otworami na p³ytce, oznaczonymi jako CC1' i†CC2', za pomoc¹ przewodu ekranowanego. Montaø pozosta³ych elementÛw na p³ytce rozpoczynamy od podstawek pod uk³ady U2, U3, U4 oraz mniejszych elementÛw, takich jak oporniki i†kondensatory. Przed zamontowaniem wysokich elementÛw w†otoczeniu uk³adu U1 najlepiej najpierw przylutowaÊ ten uk³ad do p³ytki. Poniewaø jego obudowa jest przystosowana do montaøu powierzchniowego, wysokie kondensatory bÍd¹ przeszkadza³y przy precyzyjnym wykonaniu tej operacji. Naleøy wczeúniej przemyúleÊ sposÛb montaøu elementÛw regulacyjnych, gniazd i†wyúwietlacza. Jeøeli znajd¹ siÍ na osobnej p³ytce, naleøy je po³¹czyÊ z†p³ytk¹ wzmacniacza za pomoc¹ np. taúmy wieloøy³owej i†przewodÛw ekranowanych. Przed w³oøeniem do podstawek pozosta³ych uk³adÛw scalonych, naleøy do³¹czyÊ zasilanie +12V i†sprawdziÊ, czy stabilizatory dostarczaj¹ napiÍÊ stabilizowanych +8V i†+5V. Jeøeli napiÍcie zasilaj¹ce bÍdzie znacznie przekracza³o wartoúÊ 12V, a†wyúwietlacz bÍdzie podúwietlany i†bÍdzie pobiera³ sporo pr¹du, to stabilizator U5 bÍdzie siÍ nagrzewa³ i†naleøy pomyúleÊ o†niewielkim radiatorze. Po sprawdzeniu prawid³owoúci montaøu i†poziomÛw napiÍÊ zasilaj¹cych moøna, po do³¹cze-
Elektronika Praktyczna 10/2001
niu wszystkich elementÛw, sprawdziÊ czy wzmacniacz zadzia³a. W†przypadku opisanego oprogramowania powinna wyúwietliÊ siÍ opcja regulacji g³oúnoúci. Jeøeli na wyúwietlaczu nic nie ma, naleøy sprawdziÊ, czy potencjometr kontrastu PR1 jest w³aúciwie ustawiony (najczÍúciej jego suwak powinien byÊ zwarty do masy). Podczas pierwszego uruchomienia w†EEPROM-ie mog¹ byÊ zapisane przypadkowe wartoúci. Dobrze jest w†takim przypadku wywo³aÊ procedurÍ przywrÛcenia wartoúci domyúlnych, opisan¹ w†omÛwieniu programu steruj¹cego. NastÍpnie do wejúÊ moøna do³¹czyÊ sygna³ stereofoniczny i†na wyjúciach (na z³¹czu JP1) sprawdziÊ jak na kszta³t sygna³u wp³ywaj¹ poszczegÛlne regulacje. Moøna siÍ pos³uøyÊ oscyloskopem lub pod³¹czyÊ do wyjúÊ wzmacniacz z†ods³uchem.
Uwagi eksploatacyjne Urz¹dzenie w†czasie prÛb dzia³a³o w†sposÛb zadowalaj¹cy. Czytelnicy pragn¹cy je zastosowaÊ w†samochodzie powinni pamiÍtaÊ o†trudnoúciach wynikaj¹cych z†ìniskiej jakoúciî napiÍcia zasilaj¹cego dostarczanego przez pr¹dnicÍ lub akumulator. Wp³yw na to maj¹ g³Ûwnie zak³Ûcenia powstaj¹ce podczas pracy takich urz¹dzeÒ w†samochodzie jak rozrusznik i†aparat zap³onowy. Z†tego powodu moøe okazaÊ siÍ niezbÍdna dodatkowa filtracja napiÍcia zasilaj¹cego poprzez filtry odk³Ûcaj¹ce oraz montaø uk³adu w†metalowej obudowie. Ze wzglÍdu na zmiany w†konstrukcji i†programie wynik³e po naradzie technicznej w†redakcji, ostateczny kszta³t urz¹dzenia nieco siÍ rÛøni w†stosunku do prototypu. Zrezygnowano z†drugiego klawisza przeznaczonego specjalnie do zapisu parametrÛw w†EEPROM-ie oraz przesuniÍto na p³ytce niektÛre elementy. Ryszard Szymaniak, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/pazdziernik01.htm oraz na p³ycie CD-EP10/2001B w katalogu PCB.
49
S P R Z Ę T
Moda na internetowe aplikacje mikrokontrolerÛw 8-bitowych narasta w†takim tempie, jak niedawne e-biznesowe szaleÒstwo gie³dowe. Nie jestem przekonany, øe internetowe aplikacje mikrokontrolerÛw podbij¹ w†najbliøszym czasie úwiat, ale kto 10 lat temu w†ogÛle spodziewa³ siÍ Internetu...
Zgodnie ze swoj¹ dotychczasow¹ strategi¹, Microchip wykorzystuje wszelkie pojawiaj¹ce siÍ szanse, aby wzmocniÊ swoj¹ pozycjÍ na rynku. Jednym ze sposobÛw zastosowanym przez Microchipa jest pod¹øanie za internetow¹ mod¹, co przejawia siÍ bogat¹ ofert¹ rÛønego rodzaju zestawÛw uruchomieniowych. Za ich pomoc¹ moøna do³¹czyÊ do sieci mikrokontrolery pochodz¹ce ze wszystkich dostÍpnych rodzin mikrokontrolerÛw PICmicro. Do testÛw otrzymaliúmy najnowszy zestaw ewaluacyjny opracowany przez Micro-
chipa - PICDEM.net. O†ile zastosowane w†nim rozwi¹zania sprzÍtowe moøna úmia³o zakwalifikowaÊ do standardowych, to niezwykle korzystnie na tle konkurencji prezentuje siÍ dostarczana wraz z†zestawem dokumentacja. Niew¹tpliwym hitem jest ksi¹øka legendarnego Jeremy'ego Benthama ìTCP/IP Lean: Web Servers for Embedded Systemsî, ktÛrej treúÊ uzupe³nia p³yta zawieraj¹ca zestaw narzÍdzi (w tym kompilatory C++) i†kody ürÛd³owe przyk³adowych projektÛw, dziÍki ktÛrym moøna przeprowadzaÊ samodzielne prÛby m.in. z†oprogramowaniem mikrokontrolerÛw (przedstawiono przyk³ad WebServera na PIC-u).
Rys. 1.
Elektronika Praktyczna 10/2001
51
S P R Z Ę T Na płytce testowej zestawu PICDEM.net zintegrowano: ✓ mikrokontroler z pamięcią Flash, z zapisanym w pamięci programem obsługi TCP/IP, ✓ pamięć EEPROM z interfejsem szeregowym o pojemności 256kb, ✓ interfejs Ethernet, ✓ interfejs RS232, ✓ alfanumeryczny wyświetlacz LCD 2x16, ✓ interfejs ICD, ✓ elementy interfejsu użytkownika: przycisk, dwa potencjometry i dwie diody świecące − elementy do wykorzystania w aplikacji użytkownika, ✓ zasilacz stabilizowany z mostkiem prostowniczym na wejściu.
Sugerowana cena detaliczna: 299USD+VAT Doskonale przygotowano takøe sam zestaw uruchomieniowy. P³ytkÍ testow¹ wyposaøono w†wyúwietlacz alfanumeryczny 2x16 znakÛw (na ktÛrym wyúwietlane s¹ bieø¹ce komunikaty systemu) oraz tworz¹ce prosty interfejs aplikacji uøytkownika: jeden przycisk, dwie diody LED i†dwa poten-
52
cjometry. Funkcje tych elementÛw uøytkownik zestawu moøe dowolnie zdefiniowaÊ. Zosta³y one wykorzystane takøe w†przyk³adowej aplikacji prostego serwera strony WWW. Do³¹czenie p³ytki ewaluacyjnej do sieci jest moøliwe dziÍki wbudowanemu interfejsowi Ethernet (uk³ad RTL8019AS). Interfejs ten wyposaøono takøe w†optyczne sygnalizatory stanu pracy, co znacznie u³atwia pos³ugiwanie siÍ systemem. Statyczna czÍúÊ strony WWW (bazowy kod HTML) jest przechowywana w†nieulotnej pamiÍci szeregowej o†pojemnoúci 256kb. Jej zawartoúÊ moøna modyfikowaÊ, dziÍki czemu uøytkownik moøe zaprojektowaÊ i†udostÍpniaÊ z†ìPIC serweraî indywidualnie wygl¹daj¹ce strony. Informacje przeznaczone do wpisania do pamiÍci EEPROM s¹ przesy³ane z†komputera za pomoc¹ wbudowanego w†p³ytkÍ interfejsu RS232. Projektanci zestawu PICDEM.net, przewiduj¹c moøliwoúÊ wprowadzania przez uøytkownika modyfikacji do programu steruj¹cego prac¹ mikrokontrolera, wyposaøyli p³ytkÍ w†z³¹cze ICD. Umoøliwia ono do³¹czenie mikrokontrolera do debuggera MPLAB ICD, co zdecydowanie przyspiesza tworzenie w³asnej aplikacji. Interfejs ICD moøna wykorzystaÊ do reprogramowania pamiÍci programu mikrokontrolera steruj¹cego prac¹ zestawu.
Standardowo w†zestawie jest dostarczany mikrokontroler PIC16F877 z†pamiÍci¹ programu typu Flash. Moøna zamiast niego zastosowaÊ takøe mikrokontroler z†rodziny PIC18 - PIC18C452. Uøytkownicy lubi¹cy sprzÍtowe eksperymenty na nieco wiÍksz¹ skalÍ takøe bÍd¹ usatysfakcjonowani. Konstruktorzy p³ytki ewaluacyjnej przewidzieli na niej uniwersalne pole montaøowe z†doprowadzonym w†pobliøe zasilaniem. DziÍki zastosowaniu stabilizatora napiÍcia o†duøej wydajnoúci pr¹dowej, wiÍkszoúÊ dobudowanych modu³Ûw bÍdzie mog³a byÊ zasilana z†niego, co znacznie u³atwia prowadzenie eksperymentÛw. Dokumentacja zestawu jest dostarczana w†postaci elektronicznej na p³ycie CD-ROM. W†sk³ad zestawu wchodzi takøe drukowana dokumentacja zestawu, ktÛrej elektroniczna kopia znajduje siÍ na p³ycie. WartoúÊ dostarczanych z†zestawem materia³Ûw znacznie zwiÍkszaj¹ programy narzÍdziowe oraz programy wykorzystywane w†przyk³adowych aplikacjach (takøe w†postaci ürÛd³owej), opracowanych przez firmy Iosoft, LiveDevices oraz Yipee. Na rys. 1 pokazano widok okna przegl¹darki WWW, w†ktÛrym wyúwietlono stronÍ demonstracyjn¹ przygotowan¹ przez Jeremy'ego Benthama, ktÛra takøe znajduje siÍ na p³ycie. Testy zestawu prezentowanego w†artykule dowiod³y, øe
konstruktorzy firmy Microchip stanÍli na wysokoúci zadania i†po raz kolejny przygotowali zestaw idealnie dostosowany do potrzeb praktykÛw. S³owa uznania! Andrzej Gawryluk, AVT Zestaw prezentowany w†artykule udostÍpni³a redakcji firma Gamma, tel. (22) 66383-76, www.gamma.pl. Materia³y z†p³yty CD-ROM wchodz¹cej w†sk³ad zestawu PICDEM.net publikujemy na p³ycie CD-EP10/2001B. Informacje uzupe³niaj¹ce s¹ dostÍpne w†Internecie: - opis zestawu PICDEM.net: http://www.microchip.com/ 10/tools/picmicro/demo/ pdemnet/index.htm, - prezentacje rozwi¹zaÒ sieciowych firmy Microchip: http://www.microchip.com/ internet/, - informacje o†MPLAB ICD: http://www.microchip.com/ 10/tools/picmicro/icds/ mplabicd/index.htm.
W skład zestawu PICDEM.net wchodzą: ✗ płytka ewaluacyjna z zaprogramowanym mikrokontrolerem PIC16F877, ✗ książka “TCP/IP Lean: Web Servers for Embedded Systems” (warta 50USD!), ✗ zasilacz sieciowy z kablem, ✗ ethernetowy kabel CAT5, ✗ kabel RS232 9/9, ✗ płyta z oprogramowaniem, przykładową stroną WWW, źródłami programów itp.
Elektronika Praktyczna 10/2001
S P R Z Ę T Po okresie krÛtkiego zastoju, Atmel wznowi³ intensywne prace rozwojowe nad uk³adami CPLD, w†wyniku czego powsta³a nowa rodzina uk³adÛw o†znacznie wiÍkszych niø dotychczas moøliwoúciach (prezentujemy je na str. 85). S¹ to uk³ady kompatybilne z†uk³adami MAX7000 firmy Altera. Jednoczeúnie w†ofercie Atmela pojawi³ siÍ nowy - bezp³atny! pakiet projektowy dla uk³adÛw CPLD - ProChip Designer ktÛrego moøliwoúci s¹ porÛwnywalne z†oprogramowaniem projektowym oferowanym przez konkurencjÍ. Zestaw ATF15xx-DK jest najnowszym opracowaniem Atmela. Ze wzglÍdu na uniwersaln¹ konstrukcjÍ p³ytki ewaluacyjnej, moøna go zastosowaÊ zarÛwno do inøynierskich prÛb z†uk³adami ATF15xx montowanymi w†obudowy PLCC84, jak i†w†laboratoriach szkolnych i†uczelnianych do celÛw edukacyjnych. Standardowo na p³ytce ewaluacyjnej producent dostarcza stabilizator napiÍcia o†programowanym
Rys. 1.
napiÍciu wyjúciowym (3,3 lub 5V), generator przebiegu prostok¹tnego o†czÍstotliwoúci 2MHz, 8†wyúwietlaczy LED, dwa prze³¹czniki. Jeden s³uøy do sterowania wejúcia zeruj¹cego GCLR uk³adu PLD, natomiast drugi do sterowania wejúcia OE, ktÛre s³uøy do uaktywniania wyjúciowych buforÛw trÛjstanowych. Poniewaø zastosowany w†zestawie uk³ad PLD ma byÊ - z†za³oøenia poddawany rÛønego rodzaju prÛbom, projektanci zestawu przewidzieli dla niego podstawkÍ ZIF (ang. Zero Insertion Force). Programowanie uk³adu w†systemie umoøliwia 10-stykowe z³¹cze ISP (ang. In System Programmability), do ktÛrego jest do³¹czany widoczny na zdjÍciu mini-programator ISP, takøe wchodz¹cy w†sk³ad standardowego wyposaøenia zestawu. Na powierzchni p³ytki drukowanej, wokÛ³ podstawki
uk³adu PLD, znajduj¹ siÍ zdublowane punkty lutownicze, dziÍki ktÛrym w†razie takiej koniecznoúci - moøna do³¹czyÊ do testowanego uk³adu dodatkowy, zewnÍtrzny modu³ funkcjonalny. Specjalnie wykonane úcieøki na p³ytce drukowanej umoøliwiaj¹ od³¹czenie segmentÛw wyúwietlaczy od wyprowadzeÒ uk³adu. Istotnym sk³adnikiem zestawu jest do³¹czone oprogramowanie: - Bezp³atna, ale kompletna funkcjonalnie wersja programu Atmel WinCUPL (edycja WinCUPLa z†fitterami dla uk³adÛw SPLD i†CPLD firmy Atmel) z†graficznym symulatorem funkcjonalnym. - 30-dniowa wersja najnowszego pakietu projektowego dla uk³adÛw oferowanych przez firmÍ Atmel - ProChip Designer. W†sk³ad ProChip Designera wchodzi zestaw narzÍdzi fir-
Zestaw ewaluacyjny dla układów CPLD 54
Elektronika Praktyczna 10/2001
S P R Z Ę T komÛrek - odpowiednik EPM7128 Altery). Do testÛw otrzymaliúmy zestaw zawieraj¹cy uk³ady pierwszej generacji, w†wersjach AS (5V) i†ASVL (3,3V, obniøony pobÛr mocy). Wed³ug zapewnieÒ producenta, wraz z†pojawieniem siÍ w†sprzedaøy uk³adÛw ATF drugiej generacji (LogicDoubling Architecture prezentujemy na str. 85), w†najbliøszej przysz³oúci w³aúnie one bÍd¹ do³¹czane do zestawÛw.
Podsumowanie my Altium (do niedawna Protel): edytor schematÛw i†kompilator uk³adÛw SPLD/CPLD Protel 99SE, a†takøe narzÍdzie do syntezy i†symulacji uk³adÛw FPGA - PeakFPGA (Accolade). Ca³oúci¹ zawiaduje shell ProChip Designera (rys. 1), z†poziomu ktÛrego moøna bardzo ³atwo zarz¹dzaÊ projektem. Zaproponowany przez Atmela zestaw narzÍdzi jest bardzo elastyczny, poniewaø mniej skomplikowane projekty moøna przygotowywaÊ za pomoc¹ edytora schematÛw i†znanego od lat, ³atwego w†opanowaniu jÍzyka CUPL, natomiast projekty o†wiÍkszym stopniu skomplikowania moøna przygotowywaÊ w†jÍzyku VHDL. OprÛcz dwÛch podstawowych zestawÛw narzÍdzi projektowych, wraz z†prezentowanym zestawem producent dostarcza programy do obs³ugi programatora ISP (takøe w†wersji dla Windows NT) oraz program konwertuj¹cy pliki *.POF (wynikowe dla uk³adÛw MAX7000 firmy Altera) do postaci *.JED. DziÍki temu programowi projektanci preferuj¹cy system projektowy Max+Plus II firmy Altera mog¹ nadal z†niego korzystaÊ, jednoczeúnie korzystaj¹c z†cenowych dobrodziejstw oferty Atmela. Obydwa pakiety narzÍdziowe wyposaøono w†najnowsze biblioteki (w³aúciwie programy fittuj¹ce), w†ktÛrych uwzglÍdniono architektury uk³adÛw CPLD drugiej generacji LogicDoubling ATF15xxSE/SEL/AE/AEL. Wraz z†zestawem producent dostarcza dwa uk³ady ATF1508 (128 makro-
W skład zestawu ATF15xx−DK wchodzą: − płytka ewaluacyjna z podstawką ZIF PLCC84 (można w niej montować układy ATF1504 i ATF1508), − dwa układy ATF15xx pierwszej generacji: 1508ASVL i 1508AS, − interfejs do programowania ISP, − CD−ROM z kompletem dokumentacji, przykładami i programami narzędziowymi w tym ProChip Designer 3.0 i Atmel WinCUPL, − CD−ROM z aktualnym katalogiem firmy Atmel, − drukowana dokumentacja zestawu.
Sugerowana cena netto: 450 zł + VAT
Elektronika Praktyczna 10/2001
Opracowany przez Atmela zestaw to istotny krok w†sprowadzaniu uk³adÛw programowalnych ìpod strzechyî. O†ile konstrukcja samego zestawu nie naleøy do szczegÛlnie wyrafinowanych, to w†po³¹czeniu z†programatorem ISP i†doskona³ym oprogramowaniem narzÍdziowym pozwoli nie tylko poznaÊ moøliwoúci wspÛ³czesnych uk³adÛw programowalnych, ale takøe stopniowo poznawaÊ i przyzwyczajaÊ siÍ do (dzisiaj jeszcze nie zawsze docenianych przez konstruktorÛw) nowych standardÛw projektowania uk³adÛw elektronicznych, wdraøanych wraz z†nowoczesnymi jÍzykami HDL (ang. Hardware Description Language). Moim zdaniem jedynym istotnym niedoci¹gniÍciem ze strony producenta jest brak w†zestawie zasilacza sieciowego. Nie jest takøe jasno sprecyzowane, wed³ug jakich kryteriÛw Atmel rozdaje bezp³atne kody licencyjne do nieograniczonych czasowo wersji oprogramowania. Firma zastrzega sobie bowiem prawo do kwalifikowania klientÛw zabiegaj¹cych o†tak¹ licencjÍ, ale nie zosta³y opublikowane warunki, jakie trzeba spe³niÊ, aby j¹ otrzymaÊ. Bior¹c pod uwagÍ dotychczasow¹ politykÍ marketingow¹ Atmela, moøna siÍ spodziewaÊ, øe jedna z†kolejnych wersji ProChip Designera bÍdzie rozpowszechniana bez øadnych ograniczeÒ, jak dzia³o siÍ to niegdyú z†WinCUPL-em. Piotr Zbysiñski, AVT
[email protected] Prezentowany w†artykule zestaw udostÍpni³a redakcji firma JM Elektronik, tel. (32) 339-69-01, www.jm.pl. Materia³y informacyjne oraz oprogramowanie dostarczone wraz z†prezentowanym w†artykule zestawem znajduj¹ siÍ na p³ycie CD-EP10/2001B. Dodatkowe materia³y informacyjne s¹ dostÍpne w†Internecie pod adresami: - http://www.atmel.com/atmel/products/prod2ht.htm, - http://www.atmel.com/atmel/ad/ cpld_order.htm, - http://www.jm.pl/pl/prk.phtml/64.
55
S P R Z Ę T
Analizatory stanów logicznych Warszawska firma Amber specjalizuje siÍ w†produkcji analizatorÛw stanÛw logicznych, przyrz¹dÛw niezwykle przydatnych w†pracowaniach techniki cyfrowej i†mikroprocesorowej. W†artykule przedstawiamy nowe przyrz¹dy
wejúciowych s¹ gromadzone w†szybkich pamiÍciach SRAM o†pojemnoúci 64ks³Ûw 16-bitowych, sk¹d nastÍpnie s¹ przekazywane do PC (pod kontrol¹ oprogramowania steruj¹cego, ktÛre wchodzi w†sk³ad zestawu).
Linie wejúciowe analizatora s¹ przystosowane dla sygna³Ûw o amplitudzie -5...+15V, przy czym napiÍcie progowe moøna programowo ustawiaÊ w†przedziale -1..+5V. Histereza linii wejúciowych wynosi 1V (po
tej firmy - przenoúne analizatory 16- i†32-kana³owe.
Pomimo niewielkich rozmiarÛw, analizatory charakteryzuj¹ siÍ bardzo dobrymi parametrami, a z ich pomoc¹ moøna úledziÊ do 32 (16 w†ASL-2016) sygna³Ûw cyfrowych z†maksymaln¹ czÍstotliwoúci¹ prÛbkowania 100MHz. Po ograniczeniu liczby úledzonych sygna³Ûw do 16 (8 w†ASL-2016) czÍstotliwoúÊ prÛbkowania moøe wzrosn¹Ê do 200MHz. Wejúcia podzielono na grupy po
58
8. Analizatory maj¹ wbudowane generatory przebiegÛw wzorcowych o†czÍstotliwoúci 100MHz. Do synchronizowania wpisÛw do pamiÍci analizatora moøna wykorzystaÊ takøe zewnÍtrzny sygna³ o poziomach TTL. Ze wzglÍdu na duø¹ czÍstotliwoúÊ taktowania i†zastosowanie do transmisji danych do PC stosunkowo wolnego portu Centronics, informacje o†stanach linii
Rys. 1.
Elektronika Praktyczna 10/2001
S P R Z Ę T W skład zestawu dostarczanego przez producenta wchodzą: Rys. 2. 500mV wiÍcej i†mniej w†stosunku do napiÍcia referencyjnego). Impedancja wejúciowa wszystkich linii wynosi ok. 200kΩ/5pF, dziÍki czemu do³¹czenie analizatora do testowanego urz¹dzenia nie powinno zaburzyÊ jego pracy. Konstrukcja analizatora jest na wskroú nowoczesna konstruktorzy zastosowali uk³ady cyfrowe zasilane napiÍciem 3,3V oraz 5V, ìchowaj¹cî ca³y blok sterowania w†dwÛch uk³adach PLD. Zastosowane rozwi¹zania sprzÍtowe pozwalaj¹ na programowo konfigurowane ìprzedprÛbkowanieî przebiegÛw wejúciowych, dziÍki czemu uøytkownik analizatora moøe przeanalizowaÊ zamiany sygna³Ûw przed momentem wyzwolenia rejestracji przebiegÛw. Bardzo mocnym atutem analizatora jest oprogramowanie, ktÛre obs³uguje transfer danych z†pamiÍci analizatora do PC, umoøliwia modyfikowanie nastaw (m.in. podstawy czasu, wyboru ürÛd³a sygna³u zegarowego, ustalenie napiÍcia odniesienia dla wejúÊ itp.), odpowiada takøe za wyúwietlenie zgromadzonych
Najważniejsze parametry analizatora: ✓ liczba kanałów: 16 lub 32, ✓ pojemność pamięci: 64kpróbek w każdym kanale, ✓ zakres wewnętrznej częstotliwości próbkowania: 20kHz...100MHz (200MHz), ✓ zakres zewnętrznej częstotliwości próbkowania: 0...100MHz, ✓ zakres napięć wejściowych: −5...+15V, ✓ wartość napięcia referencyjnego dla detektora poziomów logicznych: −1..+5V, ✓ histereza wejściowa: 1V, ✓ pobór mocy maks. 3,5W, ✓ impedancja wejściowa (dla sygnałów logicznych): 200kΩ/5pF.
Elektronika Praktyczna 10/2001
✦ analizator, ✦ dyskietka z oprogramowaniem, ✦ kable pomiarowe (liczba dostosowana do wariantu analizatora, ✦ zasilacz sieciowy, ✦ instrukcja obsługi
Sugerowana cena netto ASL−2016: 1299 zł ASL−2032: 1649 zł w†pamiÍci analizatora przebiegÛw. Okno wyúwietlane po uruchomieniu programu pokazano na rys. 1. Jego autorzy bardzo efektownie i w pe³ni wykorzystali moøliwoúci Windows, dziÍki czemu obs³uga nietypowego (jak na Windows) interfejsu graficznego programu nie sprawia øadnych trudnoúci. Co wiÍcej, twÛrcy oprogramowania wbudowali w†nie szereg funkcji niezwykle przydatnych podczas prowadzenia pomiarÛw, jak zautomatyzowane nadawanie nazw liniom tworz¹cym magistrale, a†takøe moøliwoúÊ wyúwietlania opisu stanu magistral z†poziomu ³atwych w†obs³udze paneli. Uøytkownik ma do dyspozycji kursory przemieszczane na osi czasu, za pomoc¹ ktÛrych moøna dokonaÊ kilku podstawowych pomiarÛw parametrÛw czasowych analizowanych sygna³Ûw. Obs³ugÍ programu u³atwia niezbyt rozbudowane menu, ktÛre - za wyj¹tkiem okna konfiguracji s³owa wyzwalaj¹cego (rys. 2) - jest jednopoziomowe. Poniewaø gabaryty predestynuj¹ analizator do zastosowaÒ ìpolowychî, nie bez znaczenia jest fakt, øe tak efektowny program upakowano w†jednym pliku o†objÍtoúci zaledwie 423kB, nie wymagaj¹cym do tego instalacji. Tomasz Paszkiewicz, AVT Prezentowane w†artykule analizatory udostÍpni³a redakcji firma Amber (tel. (22) 68392-03),
[email protected].
59
P O D Z E S P O Ł Y
Materiały stykowe w przekaźnikach W†projektowaniu wspÛ³czesnych przekaünikÛw stosowane s¹ materia³y, ktÛre moøna podzieliÊ na trzy g³Ûwne grupy: srebro/tlenek kadmu, srebro/tlenek cyny i†srebro/nikiel. Jako materia³ bazowy dla materia³Ûw†kontaktowych w†inøynierii niskonapiÍciowej stosuje siÍ srebro ze wzglÍdu na to, øe ma ono najwyøsz¹ elektryczn¹ i†termiczn¹ przewodnoúÊ ze wszystkich metali, prawie nie utlenia siÍ i†wykazuje dobr¹ odpornoúÊ na korozjÍ. W†zaleønoúci od zadaÒ stawianych przed rÛønymi typami przekaünikÛw, rÛøne w³asnoúci materia³Ûw s¹ istotne, a†zanotowane zmiany w†zachowaniu materia³Ûw kontaktowych podczas prze³¹czania s¹ powi¹zane z†ich ogÛlnymi w³aúciwoúciami metalurgicznymi. Wymagania dla materia³Ûw kontaktowych moøna podzieliÊ wed³ug zadaÒ stawianych przekaünikom w†nastÍpuj¹cy sposÛb: - za³¹czanie obci¹øenia - odpornoúÊ na zgrzewanie, ma³e zuøycie stykÛw; - trwa³e obci¹øenie - ma³a rezystancja zestykÛw, ma³y przyrost temperatury, odpornoúÊ na zgrzewanie; - wy³¹czanie obci¹øenia - ma³e zuøycie stykÛw, duøa wytrzyma³oúÊ na dzia³anie ³uku elektrycznego, dobre w³aúciwoúci gaszenia ³uku. Jako materia³ stykowy ogÛlnego zastosowania najbardziej popularny do niedawna by³ AgCdO ze wzglÍdu na sw¹ doskona³¹ odpornoúÊ na erozjÍ (powodowan¹ ³ukiem elektrycznym) i†zgrzewanie oraz wysok¹ przewodnoúÊ elektryczn¹ i†termiczn¹. AgNi cechuje siÍ wiÍksz¹ tendencj¹ do zgrzewania, ma³¹ odpornoúci¹ na dzia³anie pr¹dÛw udarowych,
Fot. 1.
60
wiÍksza jest teø tendencja do przenoszenia materia³u†z†jednego styku na drugi w†aplikacjach sta³opr¹dowych. Dlatego teø materia³ ten jest g³Ûwnie stosowany w†prze³¹cznikach pomocniczych, maj¹cych zastosowanie w†aplikacjach niskopr¹dowych (np. R4). Z†kolei AgNi wykazuje rÛwnieø†zadowalaj¹ce w³asnoúci w†miniaturowych przekaünikach RM84/RM85/RM87, w†aplikacjach zmiennopr¹dowych z†obci¹øeniem rezystancyjnym. Kadm, bÍd¹cy sk³adnikiem materia³u AgCdO, by³ od dawna krytykowany ze wzglÍdu na jego rakotwÛrcze dzia³anie. Wobec rosn¹cej w†ostatnich latach úwiadomoúci ekologicznej, uøywanie kadmu w†stykach zosta³o powaønie ograniczone na úwiecie. Z†tego powodu od wielu juø lat prowadzone s¹ prace rozwojowe maj¹ce na celu znalezienie materia³u alternatywnego do AgCdO. Najwaøniejsz¹ grupÍ stanowi¹ dziú materia³y AgSnO. Nie by³y one dot¹d†powszechnie stosowane z†powodu formowania siÍ warstw tlenku cyny na powierzchni stykÛw podczas pracy ³¹czeniowej oraz znacznych przyrostÛw temperatury zestykÛw pod duøym obci¹øeniem, wynikaj¹cych ze wzrostu rezystancji. Obecnie AgSnO jest dostÍpny w†bardzo duøej liczbie odmian. Materia³y z†tej grupy wykazuj¹ znakomite w³aúciwoúci zarÛwno przy obci¹øeniach z†duøymi pr¹dami udarowymi, jak i†niskimi pr¹dami stanu ustalonego oraz maj¹ dobr¹ odpornoúÊ na erozjÍ stykÛw i†zgrzewanie. Jednak duøy wp³yw na osi¹gi zestykÛw ma poziom tlenku w†zwi¹zku, jak teø metoda wytwarzania i†obecnoúÊ domieszek, ktÛre zaczÍto stosowaÊ g³Ûwnie w†celu obniøenia rezystancji zestykÛw i†podniesienia odpornoúci na przenoszenie materia³u. Europejscy producenci materia³Ûw stykowych wytwarzaj¹ AgSnO metod¹ mieszania proszkÛw w rÛønego rodzaju procesach metalurgii proszkowej, stosuj¹c jako domieszki tlenki rÛønych metali, np. wolframu, bizmutu, miedzi czy indu. Producenci japoÒscy preferuj¹ metodÍ oksydacji wewnÍtrznej stopu srebra z metalem, wykorzystuj¹c tlenek indu do akty-
wowania konwencjonalnego procesu wewnÍtrznego utleniania stopÛw srebro-metal. Poprzez úrodki domieszkuj¹ce ustala siÍ takøe wielkoúÊ cz¹steczek tlenkÛw co, jak wykaza³y badania, ma ogromny wp³yw na zachowanie ³¹czeniowe materia³u. Jednym z†nowych materia³Ûw AgSnO testowanych w†laboratorium Relpolu by³ AgSnO 8PX dostarczony przez firmÍ AMI Doduco, ktÛra wytwarza ten materia³ przez mieszanie srebra z†proszkiem tlenku cyny domieszkowanego w†procesie napylania reakcyjnego. Jako domieszki stosuje siÍ CuO oraz Bi2O 3, ktÛre dodawane s¹, aby poprzez zwiÍkszenie kruchoúci (³amliwoúci materia³u) wp³yn¹Ê na zmniejszenie si³ potrzebnych do rozerwania zgrzanego zestyku - przy niewielkich si³ach zgrzewaj¹cych przekaünik poradzi sobie z†rozrywaniem zestyku. Domieszkami wp³ywa siÍ na wielkoúÊ ziarenek proszku oraz na gÍstoúÊ spieku. Poprawiaj¹ one takøe zachowanie materia³u w†wysokich temperaturach. Metoda wytwarzania stosowana przez AMI Doduco jest odmian¹ metalurgii proszkowej - polega na mieszaniu proszkÛw: srebra i†domieszkowanego w†niekonwencjonalny sposÛb†tlenku cyny. Materia³ ten wykazuje dobre zachowanie przy obci¹øeniach lampowych, ktÛre charakteryzuj¹ siÍ duøymi pr¹dami udarowymi - przekaüniki serii RM83 (fot. 1) pracuj¹ce pod obci¹øeniem øarÛwek o†³¹cznej mocy 3000W (U=230VAC) zdolne s¹ do wykonania ponad 30000 za³¹czeÒ. Przekaünik RM83 doskonale spisywa³ siÍ z†tym materia³em rÛwnieø wtedy, kiedy jako obci¹øenie zastosowano úwietlÛwki. Warunki prÛby i†przebieg pr¹du przy za³¹czaniu by³y nastÍpuj¹ce: - typ testowanego przekaünika: RM83-3021-25-1024, - obci¹øenie: 20 úwietlÛwek 40W kaøda, U=230VAC, cosφ=0,5, - temperatura otoczenia: +600C, - cykl pracy przekaünika: 6s za³¹czony/4s wy³¹czony (jak na rys. 1). Podczas testu wszystkie badane przekaüniki wykona³y za³oøon¹ liczbÍ 50000 ³¹czeÒ. W†ani jednym przypadku nie stwierdzono zgrzania siÍ zestyku.
Elektronika Praktyczna 10/2001
P O D Z E S P O Ł Y
Fot. 2.
Podobne badania przeprowadzono na miniaturowym przekaüniku RM85 (fot. 2), ktÛry pracowa³ w†takiej samej aplikacji, przy prawie dwukrotnie wiÍkszej mocy úwietlÛwek. Przekaüniki wykonywa³y úrednio ok. 30000 ³¹czeÒ do wyst¹pienia zgrzania zestyku. Zadowalaj¹ce rezultaty da³a rÛwnieø prÛba obci¹øenia zestyku przekaünika lampami halogenowymi o†mocy 1000W oraz prÛby wed³ug kategorii DC13 (obci¹øenie indukcyjne). Jak wykaza³y badania, materia³ AgSnO 8PX bardzo dobrze zachowuje siÍ w†aplikacjach, gdzie wystÍpuj¹ duøe pr¹dy udarowe. Wykazuje on swe zalety rÛwnieø przy obci¹øeniach indukcyjnych, nie jest natomiast najlepsz¹ alternatyw¹ dla AgCdO przy obci¹øeniach rezystancyjnych. Bardziej uniwersalnym materia³em z†grupy srebro/tlenek cyny jest AgSnO2In2O 3, dostarczony do badaÒ przez jednego z†producentÛw japoÒskich. OprÛcz dobrych wynikÛw uzyskanych w†prÛbach przy obci¹øeniach lampowych, materia³ ten odznacza siÍ doskona³ym zachowaniem przy obci¹øeniach rezystancyjnych, gdzie z†powodzeniem moøe zast¹piÊ AgCdO. Materia³y wewnÍtrznie utlenione posiadaj¹ generalnie wiÍksz¹ gÍstoúʆi†wyøsze wartoúci twardoúci niø materia³y wytworzone przez metalurgiÍ proszkow¹. Wynika to z†wiÍkszej drobnoziarnistoúci. Zapewniaj¹ one wiÍc wyøsz¹ odpornoúÊ na erozjÍ powodowan¹ przez ³uk elektryczny. Przeszkod¹ przed powszechnym stosowaniem AgSnO2In2O 3 jest jego cena, znacz¹co wyøsza od ceny materia³Ûw AgSnO produkowanych metodami metalurgii proszkowej, a†te i†tak s¹ zdecydowanie wy-
Fot. 3.
Elektronika Praktyczna 10/2001
øsze niø AgCdO. Ten fakt stanowi o†tym, øe materia³y wytwarzane metod¹ utleniania wewnÍtrznego maj¹ nik³e szanse na szersze zastosowanie w†przekaünikach. Dlatego oprÛcz ci¹g³ego udoskonalania materia³Ûw†AgSnO wytwarzanych przez mieszanie proszkÛw, producenci materia³Ûw stykowych prowadz¹ badania zachowaÒ innych materia³Ûw srebro-tlenek metalu tj. AgZnO oraz AgFe2O3. Zw³aszcza ten pierwszy ma szansÍ zast¹piʆAgCdO w†przekaünikach ogÛlnego zastosowania. Zawiera on wolframian srebra ewentualnie molibdenian srebra jako domieszkÍ znacz¹co poprawiaj¹c¹ w³aúciwoúci ³¹czeniowe. Poprzez domieszkowanie uzyskuje siÍ przede wszystkim poø¹dan¹ wielkoúÊ ziaren oraz poprawia zachowanie materia³u w†wysokich temperaturach. Badania opublikowane przez dr Thomasa Schopfa (Tyco) pokazuj¹, øe materia³ AgZnO jest bardzo wraøliwy na zawartoúÊ domieszki, a†uzyskuj¹c wiÍksz¹ drobnoziarnistoúÊ domieszki, moøna uzyskaÊ kilkukrotny wzrost trwa³oúci ³¹czeniowej przekaünika pracuj¹cego pod obci¹øeniem z†duøym pr¹dem udarowym. Za najbardziej obiecuj¹cy i†oferuj¹cy najlepsze rezultaty przy rÛønych kategoriach obci¹øeÒ uznano materia³ AgZnO8 z†0,25% zawartoúci¹ domieszki Ag2WO4. Materia³ ten, oprÛcz jednego z†nowych AgSnO, bÍdzie wykorzystany w†badaniach przekaünikÛw miniaturowych RM96 (fot. 3), ktÛre przeznaczone s¹ g³Ûwnie do prze³¹czania indukcyjnych obci¹øeÒ pr¹du przemiennego. W³aúnie w†kategorii ³¹czeniowej AC15, materia³ AgZnO najbardziej pokazuje swoje zalety - oferuje nawet kilkukrotny wzrost trwa³oúci ³¹czeniowej w†stosunku do AgCdO. Oczywiúcie wyniki badaÒ przeprowadzonych na jednym typie przekaünika nie przek³adaj¹†siÍ bezpoúrednio na trwa³oúci osi¹gane przez inne konstrukcje, niemniej jednak przewaga nowoczesnych odmian materia³Ûw AgSnO czy AgZnO nad konwencjonalnym AgCdO jest bardzo wyraüna. Dodatkowym atutem materia³u†srebro/tlenek cynku s¹ jego stosunkowo niskie koszty produkcji (niøsze od AgSnO), co zachÍca do jego dalszej optymalizacji, a†wobec faktu, øe jest on nieszkodliwy dla úrodowiska, ma szansÍ staÊ siÍ g³Ûwnym zamiennikiem AgCdO w†przekaünikach ogÛlnego zastosowania. in¿. Tomasz Ochocki Dzia³ Konstrukcyjny Relpol SA Artyku³ powsta³ w†oparciu o†materia³y firmy Relpol, tel.: (68) 374-3021 w. 308, fax: (68) 374-38-66.
61
S P R Z Ę T
Po raz drugi przedstawiamy na ³amach EP nowoczesny programator zaprojektowany i†produkowany w†naszym kraju. Uprog40/48 moøe z†powodzeniem rywalizowaÊ z†najlepszymi programatorami uniwersalnymi. Jego przemyúlana konstrukcja, przyjazny interfejs uøytkownika i umiarkowana cena powoduj¹, øe moøe byÊ zaakceptowany przez nawet najbardziej wymagaj¹cych uøytkownikÛw. Programatory Uprog 40/48 s¹ pierwszymi dostÍpnymi na rynku przyrz¹dami z†rodziny Uprog. W†sprzedaøy s¹ dostÍpne dwa modele: Uprog 40 i†Uprog 48, ktÛre rÛøni¹ siÍ wielkoúci¹ podstawki DIL. Obydwa s¹ wyposaøone w†takie samo oprogramowanie, ktÛrego niestandardowo wygl¹daj¹cy interfejs graficzny jest stosowany w oprogramowaniu dla kolejnych wersji programatora. Uprog 40/48 jest programatorem o†niewielkich rozmiarach (19x12x2,5cm), a†jego masa nie przekracza 1kg. Programator wyposaøony jest w†solidn¹ metalow¹ obudowÍ, ktÛra nie tylko zapewnia mechaniczn¹ od-
Rys. 1.
64
pornoúÊ konstrukcji, ale stanowi jednoczeúnie doskona³y ekran zabezpieczaj¹cy elektronikÍ przed przepiÍciami elektrostatycznymi. Na p³ycie czo³owej programatora oprÛcz podstawki DIP40 lub DIP48 (w zaleønoúci od modelu) s¹: przycisk AUTO RUN oraz dwie úwiec¹ce diody LED, ktÛre sygnalizuj¹ w³¹czenie zasilania i†aktualny stan programatora. Z³¹cze s³uø¹ce do komunikacji z†komputerem poprzez port rÛwnoleg³y (do kompletu jest do³¹czony kabel), znajduje siÍ na tylnej úciance programatora. Z†ty³u znajdziemy takøe gniazdo do do³¹czenia zasilacza, ktÛry takøe wchodzi w†sk³ad zestawu.
W†zaleønoúci od wersji, Uprog pozwala na obs³ugÍ szerokiej gamy uk³adÛw w†obudowach DIL do 40 pinÛw (Uprog 40) oraz DIL do 48 pinÛw (Uprog 48) bez koniecznoúci stosowania øadnych dodatkowych adapterÛw. Jak przysta³o na programator uniwersalny, Uprog 40/48 obs³uguje wszystkie rodzaje uk³adÛw standardowych, tj. pamiÍci EPROM, EEPROM, FLASH, wybrane uk³ady PLD (w tym GAL, PAL, PALCE oraz szereg CPLD), a†takøe mikrokontrolery. Moøliwe jest programowanie standardowych uk³adÛw o†napiÍciu zasilania 5V, jak rÛwnieø uk³adÛw zasilanych napiÍciami: 3,3V 2,7V 1,8V. Elastyczne pin-drivery, w†jakie wyposaøono programator, pozwalaj¹ do³¹czyÊ do kaødego wyprowadzenia podstawki: napiÍcie zasilaj¹ce, masy, napiÍcie programuj¹ce lub sygna³ zegarowy. Taka konstrukcja czÍúci sprzÍtowej zapewnia obs³ugÍ dowolnego rozk³adu wyprowadzeÒ uk³adu, a†co za tym idzie, moøliwa jest obs³uga uk³adÛw, ktÛre pojawi¹ siÍ dopiero w†przysz³oúci. Dodanie uk³adu do listy obs³ugiwanych wymaga tylko uaktualnienia oprogramowania steruj¹cego programatorem.
Istotn¹ zalet¹ programatorÛw Uprog jest duøa szybkoúÊ programowania. Zadowoli ona szczegÛlnie tych uøytkownikÛw, ktÛrzy chc¹ programowaÊ uk³ady z†pamiÍciami o†duøej pojemnoúci. Specjalnie zaprojektowany interfejs rÛwnoleg³y urz¹dzenia zapewnia bowiem transfer danych z†maksymaln¹ prÍdkoúci¹ portu komputera i†w†znacznym stopniu zaleøy od typu PC oraz szybkoúci procesora. W†przypadku komputera wyposaøonego w†procesor 633MHz, ktÛrego port rÛwnoleg³y pracuje w†trybie EPP, prÍdkoúÊ transmisji dochodzi do 800kB/s. Interesuj¹c¹ cech¹ programatorÛw Uprog jest moøliwoúÊ programowania uk³adÛw w†systemie za pomoc¹ interfejsÛw JTAG, SPI i†BDM. OprÛcz funkcji zwi¹zanych z†programowaniem uk³adÛw, programator Uprog 40/48 spe³nia takøe rolÍ testera uk³adÛw cyfrowych. Funkcja uniwersalnego testu uk³adÛw cyfrowych pozwala na podanie dowolnych napiÍÊ i†sygna³Ûw wejúciowych do konkretnie wybranej nÛøki uk³adu scalonego (GND, VZZ, CLK). Opcja ta potwierdza pe³n¹ uniwersalnoúÊ programatora odnoúnie konfigurowania jego wyprowadzeÒ.
Elektronika Praktyczna 10/2001
S P R Z Ę T
Rys. 2. Obs³ugÍ programatora zapewnia oprogramowanie znajduj¹ce siÍ na do³¹czonej do zestawu p³ycie CD. Aplikacja wspÛ³pracuje z†Windows 95/98/2000/NT i†ma niewielkie wymagania sprzÍtowe. Po uruchomieniu programu wyúwietlany jest bardzo przejrzysty i†³adnie zaprojektowany interfejs graficzny s³uø¹cy do komunikacji z†uøytkownikiem. Juø na wstÍpie naleøy zaznaczyÊ, øe interfejs oprogramowania steruj¹cego Uprog 40/48 zdecydowanie odrÛønia siÍ od stosowanych przez innych producentÛw. Jak widaÊ na rys. 1, zrezygnowano przede wszystkim ze stosowania systemowych okien Windows i†zast¹piono je oknami o†odmiennej szacie graficznej. Brak tu rÛwnieø, wystÍpuj¹cego standardowo w†Windows, paska zadaÒ. DostÍp do wszystkich funkcji programatora realizowany jest za pomoc¹ grupy ikon znajduj¹cych siÍ w†gÛrnej czÍúci g³Ûwnego okna programu oraz znajduj¹cych siÍ w†obszarze tego okna przyciskÛw. TwÛrcy programu zaproponowali szereg rozwi¹zaÒ pozwalaj¹cych na znaczne u³atwienie pracy. Komunikaty pojawiaj¹ce siÍ podczas programowania na pasku OPERATION STATUS oraz ³atwy dostÍp do grup ikon odpowiadaj¹cych za programowanie poprzez zak³adki spra-
Rys. 3.
Elektronika Praktyczna 10/2001
wiaj¹, øe obs³uga programu nie jest skomplikowana. Programowanie uk³adu, podobnie jak w†przypadku innych programatorÛw, rozpoczynamy od wybrania uk³adu, ktÛry chcemy zaprogramowaÊ. WybÛr ten realizowany jest za pomoc¹ przycisku ìplusî znajduj¹cego siÍ po prawej stronie g³Ûwnego okna. Uøycie tego przycisku powoduje otwarcie okna SELECT DEVICE, ktÛre zawiera listÍ wszystkich dostÍpnych uk³adÛw (rys. 2). Organizacja tego okna umoøliwia szybkie odszukanie interesuj¹cego nas uk³adu, co u³atwia m.in. filtr wyszukiwania. Oprogramowanie Uprog 40/ 48 posiada u³atwienie dla uøytkownikÛw, ktÛrzy czÍsto programuj¹ kilka uk³adÛw rÛønych typÛw. Polega ono na moøliwoúci wybrania do dziesiÍciu typÛw uk³adÛw, ktÛre s¹ zapamiÍtywane na liúcie ìpodrÍcznejî i†wyúwietlane w†kolumnie DEVICES znajduj¹cej siÍ po prawej stronie g³Ûwnego okna programu. Podobnie jak przy pierwszym, kaødy kolejny uk³ad dodajemy wykorzystuj¹c przycisk ìplusî. Kaødy uk³ad ma wÛwczas przypisany w³asny bufor, ktÛry moøe byÊ wype³niony dowolnym zbiorem danych. Szybkie prze³¹czanie pomiÍdzy poszczegÛlnymi uk³adami znajduj¹cymi siÍ w†kolumnie uk³adÛw ìpodrÍcznychî realizowane jest za pomoc¹ myszy i†nie wymaga ci¹g³ego otwierania okna SELECT DEVICE. £adowanie zbioru, ktÛrym chcemy zaprogramowaÊ wybrany uk³ad, jest moøliwe za pomoc¹ przycisku LOAD, a†zawartoúÊ bufora wyúwietlana jest zarÛwno w†formacie HEX, jak i†ASCII. Aplikacja akceptuje nastÍpuj¹ce formaty danych:
txt, bin, hex, MOTOROLA S1. W†przypadku zmian kodu dokonywanych bezpoúrednio w†oknie bufora, dany projekt moøemy zapisaÊ na dysku wykorzystuj¹c przyciski SAVE lub SAVE AS. Wprowadzanie zmian w†buforze oraz odszukiwanie interesuj¹cych uøytkownika komÛrek wspomaga funkcja automatycznego podawania adresu. Po najechaniu kursorem na dowoln¹ komÛrkÍ jej adres podawany jest automatycznie w†postaci HEX i†dziesiÍtnej. Ca³y obszar bufora lub wybrany dowolny jego fragment moøna ponadto zape³niaÊ seriami danych zdefiniowanymi przez uøytkownika. Funkcja ta jest ukryta pod prawym przyciskiem myszy, a†jej uaktywnienie nastÍpuje po klikniÍciu tym przyciskiem w†obszarze bufora. Okno pozwalaj¹ce na zadanie parametrÛw, z†jakimi ma byÊ wykonane dzia³anie na buforze, prezentuje rys. 3. Ikony steruj¹ce prac¹ programatora s¹ zorganizowane w†postaci zak³adek. Do wyboru mamy zak³adki z†modyfikowalnymi algorytmami procesu programowania, odczytu i†kasowania pamiÍci uk³adu oraz zak³adkÍ SINGLE, ktÛrej ikony pozwalaj¹ na pojedyncze wykonanie poszczegÛlnych operacji. Zak³adki: PROGRAM, READ i†ERASE zawieraj¹ serie operacji wchodz¹cych w†sk³ad procesu zaprogramowania, kopiowania do bufora lub skasowania zawartoúci pamiÍci. Dodatkowo moøliwe jest pominiÍcie wybranej lub ci¹gu wybranych przez uøytkownika operacji wchodz¹cych w†sk³ad poszczegÛlnych procesÛw. Na przyk³ad pominiÍcie operacji BLANK CHECK podczas procesu programowania wymaga jedynie klikniÍcia myszk¹ na ikonie o†nazwie BLANK. Program natychmiast zmienia interesuj¹c¹ nas ikonÍ na napis SKIP. Pozosta³e operacje wykonywane s¹ automatycznie po naciúniÍciu znajduj¹cego siÍ pod zak³adkami przycisku RUN (pojedyncze wykonanie wybranego procesu) lub AUTO RUN (powtarzanie wybranego procesu w†wypadku programowania serii takich samych uk³adÛw - aø do momentu przerwania go przez uøytkownika). Wykorzystanie funkcji AUTO RUN pozwala na znaczne udogodnienie pracy podczas programowania wiÍkszej liczby uk³adÛw tego samego typu (t¹ sam¹ zawartoúci¹). Programator automatycznie przeprowadza okreú-
Rys. 4. lony proces, a†uøytkownik po umieszczeniu kolejnego uk³adu w†podstawce obs³uguje jedynie przycisk AUTO RUN znajduj¹cy siÍ na p³ycie czo³owej programatora. Podczas wykonywania wybranego procesu jego postÍp pokazywany jest w†postaci procentowej osobno dla kaødej operacji i†sygnalizowany odpowiednimi komunikatami pojawiaj¹cymi siÍ na pasku OPERATION STATUS. Wykorzystuj¹c przycisk SETUP, uøytkownik moøe zmieniÊ pewne parametry programowania uk³adu dotycz¹ce adresu pocz¹tkowego, od ktÛrego rozpocznie siÍ zapis w†uk³adzie, adresu koÒcowego oraz ustawienia bitÛw zabezpieczeÒ. Okno SETUP pokazano na rys. 4. Naleøy zwrÛciÊ uwagÍ na fakt, øe modyfikowane parametry s¹ udostÍpniane dynamicznie w†zaleønoúci od typu wybranego uk³adu. W†celu maksymalnego zwiÍkszenia szybkoúci programowania, twÛrcy aplikacji zastosowali unikaln¹ funkcjÍ SMART uaktywnian¹ w†oknie SETUP. Funkcja ta moøe byÊ wykorzystana dla wszystkich uk³adÛw, ktÛre w†stanie skasowanym maj¹ okreúlon¹, znan¹ zawartoúÊ pa-
Rys. 5.
65
S P R Z Ę T miÍci. Dzia³anie tej funkcji polega na zmienianiu podczas programowania zawartoúci tylko tych komÛrek pamiÍci uk³adu, ktÛre w†buforze maj¹ wartoúÊ rÛøn¹ od okreúlonej. Rozwi¹zanie to sprawia, øe proces programowania przebiega w†zauwaøalnie krÛtszym czasie, co jest szczegÛlnie odczuwalne w†przypadku uk³adÛw o†znacznym rozmiarze pamiÍci. Oprogramowanie programatorÛw Uprog 40/48 umoøliwia takøe niezaleøny dostÍp do pamiÍci programu i†danych
w†procesorach posiadaj¹cych dodatkow¹ pamiÍÊ danych. Prze³¹czanie pomiÍdzy oboma obszarami pamiÍci zapewniaj¹ prze³¹czniki CODE i†DATA znajduj¹ce siÍ w†obszarze g³Ûwnego okna programu (pokazanego na rys. 1). Bardzo istotn¹ funkcj¹ wbudowan¹ w†programatory Uprog 40/48 jest moøliwoúÊ sprawdzenie jakoúci styku miÍdzy programowanym uk³adem a†podstawk¹. Programator automatycznie weryfikuje jakoúÊ styku na poszczegÛlnych nÛø-
kach uk³adu scalonego w†momencie wykonywania kaødej operacji. W†przypadku braku styku na ktÛrejú z†koÒcÛwek, wyúwietlany jest odpowiedni komunikat w†postaci okna CHECK PIN CONNECTION, pokazanego na rys. 5. Jak widaÊ, oprogramowanie graficznie wskazuje, ktÛre z†koÒcÛwek nie maj¹ prawid³owego styku. Uprog 40/48 wykrywa ponadto odwrotne w³oøenie uk³adu do podstawki programatora. Uøytkownik widzi to w†postaci wyúwietlenia wszystkich wypro-
Rys. 6. wadzeÒ uk³adu w†kolorze czerwonym. Moøliwoúci opisywanego programatora nie koÒcz¹ siÍ jednak na samym programowaniu. Niezaleønie od modelu, Uprog jest wyposaøony w†funkcjÍ testera dowolnych uk³adÛw cyfrowych. Unikalna funkcja uniwersalnego testu uk³adÛw cyfrowych pozwala na podanie do uk³adu cyfrowego dowolnej kombinacji napiÍÊ i†sygna³Ûw wejúciowych do konkretnie wybranych nÛøek (GND, VZZ, CLK - rys. 6). Po podaniu odpowiedniej sekwencji i†klikniÍciu w†podstawkÍ, wybrane napiÍcia i†sygna³y s¹ przenoszone na uk³ad i†jednoczeúnie czytany jest i†wyúwietlany stan pozosta³ych koÒcÛwek. W†ten sposÛb moøemy praktycznie przetestowaÊ kaødy uk³ad cyfrowy, jak na przyk³ad komparator, licznik, uk³ad programowalny CPLD, a†nawet procesor.
Podsumowanie Moøliwoúci prezentowanych w†artykule programatorÛw rodziny Uprog dowodz¹, øe pomimo intensywnego rozwoju tego typu przyrz¹dÛw nie wszystkie ich moøliwoúci zosta³y dotychczas wyczerpane. W†ich elastycznej konstrukcji tkwi ogromny potencja³, szczegÛlnie istotny dla uøytkownikÛw traktuj¹cych kupowany programator jako wieloletni¹ inwestycjÍ. DecyzjÍ moøe u³atwiÊ fakt zapewniania przez producenta ci¹g³ego rozwoju oprogramowania steruj¹cego, a†takøe ci¹g³y rozwÛj bibliotek obs³ugiwanych uk³adÛw. Wszelkie uzupe³nienia programu steruj¹cego s¹ udostÍpniane bezp³atnie. AG Prezentowany w†artykule programator udostÍpni³a do testÛw firma RK-System, tel. (22) 724-30-39, www.rksystem.com.pl.
66
Elektronika Praktyczna 10/2001
P R O G R A M Y
Wymagania stawiane nowoczesnym uk³adom mikroprocesorowym i†ich z³oøonoúÊ w†po³¹czeniu z†ograniczeniami czasu realizacji projektu powoduj¹, øe coraz rzadziej moøna pozwoliÊ sobie na ømudne i†d³ugotrwa³e oprogramowywanie urz¹dzenia. Roúnie wiÍc popularnoúÊ pakietÛw programistycznych pozwalaj¹cych tworzyÊ kod w†jÍzyku wysokiego poziomu, a†nastÍpnie testowaÊ go i†uruchamiaÊ jeszcze przed implementacj¹ w†prototypie. Firma Tasking Inc. jest jednym z†czo³owych úwiatowych producentÛw kompilatorÛw jÍzyka C†dla szerokiej gamy Tasking 8051 Software Development Tools jest oprogramowaniem narzÍdziowym umoøliwiaj¹cym tworzenie w†jÍzyku C kodu dla procesorÛw rodziny 8051. Sk³ada siÍ ono z†kompilatora ANSI C, asemblera, linkera lokatora oraz debugera z†symulatorem programowym lub dodatkowym ROM monitorem, daj¹cym moøliwoúÊ debugowania w†systemie uøytkownika. W†kompilatorze Tasking wzbogacono standard jÍzyka ANSI C o†pewne rozszerzenia pozwalaj¹ce wykorzystaÊ specyficzne moøliwoúci mikrokontrolera 8051. Rozszerzenia obejmuj¹ miÍdzy innymi zmienne bitowe, ktÛre kompilator alokuje w†bitowo adresowanej pamiÍci wewnÍtrznej mikrokontrolera, obs³ugÍ przerwaÒ sprzÍtowych przez odpowiednio zadeklarowane funkcje jÍzyka C wraz z†automatyczn¹ zmian¹ wybranego banku rejestrÛw w†momencie wywo³ania przerwania oraz odstÍp do portÛw I/O za pomoc¹ specjalnych zmiennych. Poniewaø mikrokontroler 8051 moøe wystÍpowaÊ w†rÛønych konfiguracjach (z pamiÍci¹ zewnÍtrzn¹ lub bez), program wyposaøono w†cztery rÛøne modele pamiÍci, ktÛre okreúlaj¹, w†jaki sposÛb zmienne zadeklarowane w†programie maj¹ byÊ alokowane w†dostÍpnej pamiÍci RAM. Modele te to: - small - korzystaj¹cy tylko z†pamiÍci wewnÍtrznej procesora, - auxpage - wykorzystuj¹cy 256 bajtÛw pamiÍci zewnÍtrznej, stosowany dla procesorÛw wyposaøonych we wbudowan¹ zewnÍtrzn¹ pamiÍÊ RAM,
68
mikrokontrolerÛw i†procesorÛw. WúrÛd nich jest takøe popularny mikrokontroler Intel 8051. - large - dla rozwi¹zaÒ z†zewnÍtrzn¹ pamiÍci¹ RAM do 64kB, - reentrant - w†ktÛrym procesor korzysta z†duøej pamiÍci zewnÍtrznej, ale w†odrÛønieniu od poprzednich modeli (auxpage i†large) zorganizowany jest tam wirtualny stos programu oraz sterta, dziÍki czemu uøywaj¹c tego modelu pamiÍci programista moøe wykorzystywaÊ takie techniki programowania jak wywo³ania rekurencyjne funkcji i†dynamiczn¹ alokacjÍ pamiÍci. Oczywiúcie wszystkie wymienione modele pamiÍci wykorzystuj¹ wewnÍtrzny RAM procesora, umieszczaj¹c tam czÍsto wykorzystywane zmienne, dziÍki czemu program zyskuje na szybkoúci dzia³ania, bowiem dostÍp do wewnÍtrznego RAM-u jest duøo szybszy niø do zewnÍtrznego. Uøytkownik dodatkowo ma moøliwoúÊ samodzielnego wskazania, gdzie zadeklarowana zmienna ma zostaÊ umieszczona, to znaczy w†jakim obszarze pamiÍci i†pod jakim adresem. I†tak przyk³adowo:
_xdat unsigned char Display _at(0x2000); deklaruje zmienn¹ bajtow¹ w†pamiÍci zewnÍtrznej pod adresem 2000h. Kompilator wyposaøony jest w†rozbudowane i†w†pe³ni sterowane funkcje optymalizacji kodu pod k¹tem szybkoúci i†objÍtoúci. W†praktyce na parametry kodu maszynowego moøna wp³ywaÊ nie tylko ustawieniami kompilatora, ale rÛwnieø pisz¹c odpowiednio kod programu. Przyk³adowo, poprzez rozbijanie w†przemyúlany sposÛb zadaÒ realizowanych przez program na odpowiednie bloki funkcyjne otrzymamy zwiÍz³y, zajmuj¹cy niewiele miejsca kod wynikowy. W†razie potrzeby moøna przyspieszyÊ wykonanie programu, wywo³uj¹c funkcje jako rozwijalne (dyrektywa inline), co pozwala unikn¹Ê straty czasu procesora potrzebnego na przekazanie parametrÛw do funkcji i†skok do jej kodu. W†takim przypadku kaødorazowo w†miejscu wywo³ania funkcji rozwijalnej zostanie umieszczona kopia jej kodu. Niestety, takie rozwi¹zanie, choÊ przy-
Elektronika Praktyczna 10/2001
P R O G R A M Y
úpiesza dzia³anie programu, powoduje jednoczeúnie wzrost wielkoúci kodu maszynowego. Warto jednak pamiÍtaÊ, øe dla ìkrÛtkichî, czÍsto wywo³ywanych funkcji moøe przynosiÊ pozytywne rezultaty. Mimo zastosowania funkcji optymalizuj¹cych kod programu, nie zaszkodzi jednak, jeúli programista bÍdzie posiada³ elementarn¹ wiedzÍ o†instrukcjach mikrokontrolerÛw rodziny 8051. Pozwoli to unikn¹Ê pewnych pu³apek. Dla przyk³adu, jeúli w†pÍtli ma zostaÊ przeprowadzone pewne zadanie dziesiÍÊ razy, to ze wzglÍdu na istnienie rozkazu porÛwnania zawartoúci akumulatora z†zerem, korzystniej (o†kilka instrukcji kodu maszynowego) bÍdzie iterowaÊ od dziesiÍciu do zera, niø jak napisa³aby wiÍkszoúÊ pocz¹tkuj¹cych uøytkownikÛw, od zera od dziesiÍciu. DziÍki narzÍdziom optymalizacji kodu i†rozwaønemu stylowi pisania programu kompilator tworzy doúÊ szybki i†krÛtki kod wykonywalny, ³atwo mieszcz¹cy siÍ we wspÛ³czesnych procesorach wyposaøonych we wbudowany ROM. Tasking pozwala omin¹Ê przykre ograniczenie procesora 8051, jakim jest brak moøliwoúci obs³ugi pamiÍci ROM o pojemnoúci wiÍkszej niø 64kB. Proponowanym rozwi¹zaniem jest bankowanie pamiÍci. Uøytkownik moøe pos³uøyÊ siÍ 256 bankami pamiÍci po 32kB kaødy. Jeúli kompilator wykryje wywo³anie funkcji zdefiniowanej w†innym banku niø aktualnie uøywany, wÛwczas automatycznie umieúci w†kodzie wykonywalnym odpowiednie instrukcje prze³¹czaj¹ce banki poprzez przyk³adowo port P1. Dodatkiem do kompilatora s¹ biblioteki umoøliwiaj¹ce obliczenia zmiennopozycyjne (pojedyncza precyzja), obs³ugÍ portÛw I/O i†dynamiczne zarz¹dzanie pamiÍci¹.
Asembler Integraln¹ czÍúci¹ pakietu jest asembler. NarzÍdzia podobne do Tasking SDT przetwarzaj¹ bowiem kod C na kod asemblera, a†nastÍpnie poddaj¹ go kompilacji, w†wyniku czego otrzymywane s¹ relokowalne pliki obiektowe. Stanowi¹ one ürÛd³o dla linkera lokatora, ktÛry na ich podstawie generuje plik w†formacie wyjúciowym dla programatorÛw pamiÍci ROM. Modu³ asemblera jest w†pe³ni funkcjonalny, dziÍki niemu programista moøe nie tylko umieszczaÊ w†kodzie C†wstawki asemblerowe, ale takøe kompilowaÊ projekty napisane w†asemblerze.
Linker lokator Zadaniem tego elementu pakietu jest ³¹czenie wszystkich czÍúci kodu, powsta³ych w†trakcie kompilacji rÛønych plikÛw programu i†lokowanie ich w†pamiÍci, rÛwnieø z†uwzglÍdnieniem øyczeÒ uøytkownika. Linker lokator pozwala zadaÊ wartoúÊ przesu-
Elektronika Praktyczna 10/2001
niÍcia bloku kodu wzglÍdem adresu zerowego lub umieúciÊ kod wybranej funkcji we wskazanym miejscu obszaru pamiÍci programu. Jest rÛwnieø odpowiedzialny za generowanie w odpowiednim formacie pliku dla programatora pamiÍci. DostÍpne formaty to: Intel Hex, Motorola S†Record, Intel OMF51, IEE 695.
programu. Na zakoÒczenie proponujÍ przeanalizowanie krÛtkiego przyk³adu programowania mikrokontrolera 8051 w†jÍzyku C:
Debuger CrossViev Pro
_interrupt(4) void Serial_Interrupt (void) { 7 //ta funkcja obsługuje przerwanie 8 RI = 0; //zerowanie flagi //gotowość do odbioru kolejny bajt 9 Buffer[i] = SBUF; //zapisz wartość buforu do //tablicy 10 i++; //inkrementacja licznika //elementów tablicy 11 } 12 13 void main (void) //początek programu głównego 15 { 16 TL1 = 0xFE;//ustawienie //transmisji portu szeregowego 17 TH1 = 0xFE; 18 TMOD = 0x20; 19 TCON = 0x40; 20 SCON = 0x50; 21 i = 0;//zerowanie licznika //elementów tablicy 22 EA = 1;//zezwól na przerwania 22 ES = 1;//włącz przerwanie od portu //szeregowego 23 do {} while (i <= 255); //oczekiwanie na zapełnienie //tablicy 24 } Objaúnienie: W†wierszu pierwszym dyrektyw¹ #include do³¹czono plik, w†ktÛrym zdefiniowane s¹ rejestry procesora 8051. W†wierszu trzecim deklarowana jest 255-bajtowa tablica Buffer umieszczona w†pamiÍci zewnÍtrznej (dyrektywa _xdat). Poniøej definiowana jest funkcja Serial_Interrupt, ktÛrej zadaniem jest odczytanie z†rejestru portu szeregowego bajtu i†zapisanie go do tablicy Buffer. Widoczne jest, øe funkcja realizuj¹ca przerwanie odwo³uje siÍ do rejestru SBUF i†RI, w†celu pobrania wartoúci bufora portu i†ustawienia flagi przerwania. Natomiast w³aúciwy program zaczyna siÍ od funkcji main (wiersz trzynasty) i†to od tego kodu rozpocznie wykonywanie programu procesor. Najpierw zrealizowane zostan¹ instrukcje ustawiaj¹ce zawartoúÊ rejestrÛw TL1, TH1, TMOD, TCON, SCON, maj¹ce na celu ustawienie parametrÛw transmisji szeregowej. Dalej, zapisuj¹c jedynki do rejestrÛw EA i†ES, procesor uaktywnia przerwanie pochodz¹ce od portu szeregowego i†w†pÍtli do{}while przechodzi do oczekiwania, aø ca³a 255-bajtowa tablica wype³ni siÍ danymi. Przedstawiony przyk³ad jest prostym programem realizuj¹cym odbiÛr danych z†portu szeregowego. Daje on podstawowy obraz na temat programowania mikrokontrolerÛw w†jÍzykach wysokiego poziomu, jakim jest ANSI C. Wszystkich zainteresowanych pobraniem demonstracyjnej wersji programu zapraszam na strony internetowe www.evatronix.com.pl. Tomasz Jakóbiec
[email protected]
Debuger wchodz¹cy w†sk³ad pakietu jest w†pe³ni samodzielnym programem o†otwartej architekturze. Pozwala on na wykorzystanie rÛønych úrodowisk symulacyjnych. Standardowo wykorzystywany jest szybki symulator programowy. Do droøszej wersji pakietu do³¹czony jest specjalny program nazywany ROM Monitorem. Uøytkownik instaluje ten program w†prototypie projektowanego urz¹dzenia i†bezpoúrednio na nim przeprowadza proces uruchamiania i†testowania. Komunikacja z†debugerem odbywa siÍ w†takim przypadku poprzez port szeregowy procesora, ktÛry wykonuje testowany program. Innym rozwi¹zaniem jest uøycie typowego, proponowanego przez wielu producentÛw, emulatora sprzÍtowego. Dodatkowo, do zastosowaÒ wymagaj¹cych specjalnego úrodowiska uruchomieniowego, moøna poprzez stworzenie specjalnych bibliotek uzyskaÊ sprzÍg z†dowolnym systemem, przy za³oøeniu, øe jest to system z†procesorem kompatybilnym z†8051. Sam debuger jest ³atw¹ w†obs³udze aplikacj¹. Podgl¹dane wartoúci umieszczone s¹ w†czytelnych, skalowalnych oknach. Uøytkownik ma dostÍp do wszystkich rejestrÛw procesora, w†tym rÛwnieø portÛw - moøe odczytywaÊ i†modyfikowaÊ ich zawartoúÊ. Podobnie istnieje moøliwoúÊ odczytu i†zapisu pamiÍci, jak rÛwnieø wyszukiwania w†niej zadanej wartoúci. Dla u³atwienia pracy programiúcie nie zapomniano o†klasycznym mechanizmie podgl¹du wartoúci zmiennych uøytych w†kodzie programu. W†oknie inspektora zmiennych moøna ogl¹daÊ ich wartoúci, a†takøe dokonywaÊ zmian. OprÛcz typowych mechanizmÛw s³uø¹cych sterowaniu wykonywaniem testowanego programu, czyli zwyk³ych breakpointÛw, jak rÛwnieø czu³ych na wartoúci danych, program udostÍpnia narzÍdzie trace, s³uø¹ce do úledzenia kolejnoúci realizowania poszczegÛlnych instrukcji. Niezwyk³a przydatnoúÊ tej funkcji objawia siÍ w†przypadku, gdy b³Ídy w†programie s¹ wynikiem losowego, wystÍpuj¹cego incydentalnie zbiegu okolicznoúci lub maj¹ przyczynÍ w†pozornie tylko bezb³Ídnym wykonaniu instrukcji poprzedzaj¹cych miejsce awarii. DziÍki liúcie trace uøytkownik moøe dos³ownie ìcofn¹Êî siÍ po swoich úladach do miejsca, ktÛre by³o przyczyn¹ b³Ídu. Podgl¹d wykonywanego kodu moøe odbywaÊ siÍ w†trzech trybach: widoku kodu jÍzyka C, widoku kodu asemblera lub w†trybie mieszanym. Sam debugowany program moøe byÊ zaleønie od wybranego trybu pracy wykonywany po instrukcji kodu maszynowego lub po instrukcji C. CrossViev Pro wyposaøony jest w†narzÍdzia do testowania i†profilowania aplikacji. DziÍki nim moøna okreúliÊ, czy badany fragment kodu zosta³ wykonany podczas ostatniego uruchomienia programu, czy teø nie. Moøna zbadaÊ, ile czasu procesora zajmuje wykonanie poszczegÛlnych czÍúci kodu. Informacja taka moøe byÊ cenn¹ wskazÛwk¹ podczas poszukiwania w†programie ìw¹skich garde³î, nad ktÛrymi warto jeszcze popracowaÊ, aby przyspieszyÊ wykonywanie
1 2 3 4 5 6
#include
_xdat unsigned char Buffer[255]; unsigned int i;
Demonstracyjne wersje programÛw firmy Tasking s¹ dostÍpne na p³ycie CD-EP10/ 2001B oraz w†Internecie pod adresem: www.evatronix.com.pl.
69
S P R Z Ę T
W³oska firma Grifo od kilkunastu miesiÍcy intensywnie zdobywa nasz rynek. Specjalizuje siÍ w†produkcji rÛønego rodzaju zestawÛw i†modu³Ûw mikroprocesorowych, wúrÛd ktÛrych szczegÛlnie duøym zainteresowaniem naszych CzytelnikÛw ciesz¹ siÍ zestawy edukacyjne dla mikrokontrolerÛw '51 i†AVR. Jeden z†takich zestawÛw prezentujemy w†artykule.
Z Bascomem po w³osku Fot. 1. Pocz¹tkuj¹cy mi³oúnicy techniki mikroprocesorowej zazwyczaj naleø¹ do jednego z†dwÛch obozÛw: sprzÍtowcÛw i†programistÛw. Programiúci maj¹ do dyspozycji szereg rÛønorodnych, czÍsto bezp³atnych narzÍdzi (w tym bardzo popularnego Bascoma), mog¹ takøe korzystaÊ z†bogatej oferty firm produkuj¹cych narzÍdzia komercyjne. LukÍ ìsprzÍtow¹î czÍúciowo wype³niaj¹ opracowane w†naszym laboratorium zestawy uruchomieniowe. Jak siÍ jednak okazuje, takøe firmy dzia³aj¹ce na rynku profesjonalnym dostrzegaj¹ potrzebÍ u³atwienia szkolenia ìmikroprocesorowego narybkuî. Jedn¹ z†nich jest w³oska firma Grifo.
Co siÍ liczy w†mikrokontrolerach Salvatore Damino - w³aúciciel firmy Grifo - bÍd¹cy pomys³odawc¹ i†konstruktorem wiÍkszoúci oferowanych przez tÍ firmÍ wyrobÛw, ma doskona³e wyczucie trendÛw rynkowych. Z†tego w³aúnie powodu prezentowany w†artykule zestaw edukacyjny charakteryzuje siÍ uniwersaln¹ budow¹ (zestawienie zintegrowanych na p³ytce elementÛw peryferyjnych zamieszczono w†tab. 1), przejrzyst¹ architektur¹ i†duøymi moøliwoúciami aplikacyjnymi. Na opracowanej przez Grifo p³ytce bazowej (fot. 1) zintegrowano niezbÍdne podzespo³y two-
rz¹ce úrodowisko aplikacyjne mikrokontrolera: przetworniki A/C i†C/A, port RS232, zegar czasu rzeczywistego RTC (ang. Real Time Clock), podtrzymywan¹ bateryjnie pamiÍÊ RAM, programowany termostat-termometr, sterownik wyúwietlaczy LED, programowane porty I/O, pamiÍÊ nieulotn¹ EEPROM, 4-pozycyjny wyúwietlacz cyfrowy LED oraz 4przyciskow¹ klawiaturÍ. Wszystkie podzespo³y peryferyjne, za wyj¹tkiem 12-bitowego przetwornika A/C,
Fot. 2.
70
Elektronika Praktyczna 10/2001
S P R Z Ę T Zestaw K51−AVR zawiera następujące podzespoły peryferyjne: ✦ zegar czasu rzeczywistego z interfejsem I2C i podtrzymaniem bateryjnym, ✦ 4−pozycyjny wyświetlacz LED ze sterownikiem SAA1064 z interfejsem I2C, ✦ nieulotną pamięć EEPROM z interfejsem I2C, ✦ 8−bitowy, programowany porto I/O z interfejsem I2C PCF8574, ✦ 4−wejściowy przetwornik A/C i 1−liniowy przetwornik C/A z interfejsem I2C − PCF8591, ✦ 11−wejściowy, 12−bitowy przetwornik A/C z precyzyjnym źródłem napięcia odniesienia, ✦ programowany termostat zintegrowany z termometrem z interfejsem I2C − DS1621, ✦ akustyczny przetwornik piezoceramiczny, ✦ 4−stykową klawiaturę, ✦ 4−bitowy interfejs wyświetlacza alfanumerycznego LCD, ✦ interfejs RS232 z konwerterem napięć RS232<−>TTL.
leg³y do alfanumerycznego wyúwietlacza LCD. Jak wskazuje nazwa, konstruktor zestawu K51-AVR przewidzia³ moøliwoúÊ zastosowania w†nim mikrokontrolerÛw rodzin '51 i†AVR. Poniewaø zastosowano dwie podstawki ZIF (20i†40-pinow¹), to moøna stosowaÊ mikorkontrolery w†obydwu rodzajach obudÛw, przy czym w†przypadku wersji 20-pinowej uøytkownik ma do dyspozycji nieco mniejsz¹ liczbÍ portÛw I/O. WybÛr rodziny stosowanych mikrokontrolerÛw jest dokonywany przez zmianÍ po³oøenia jednego jumpera (zmiana polaryzacji sygna³u zeruj¹cego) oraz wymianÍ (wymagane jest lutowanie) oscylatora kwarcowego mikrokontrolera. Jest to zaskakuj¹co niedopracowane rozwi¹zanie, bior¹c pod uwagÍ jakoúÊ projektu i†wy-
Rys. 1. s¹ po³¹czone z†mikrokontrolerem za pomoc¹ magistrali I 2 C. Dodatkowy, precyzyjny przetwornik A/C z†11wejúciowym multiplekserem analogowym jest wyposaøony w†4-liniowy, szeregowy interfejs szeregowy, do³¹czony do jednego z†portÛw mikrokontrolera. NapiÍcie referencyjne dla tego przetwornika zapewnia zewnÍtrzny, precyzyjny stabilizator. Moøliwoúci komunikacyjne zestawu zwiÍksza wbudowany interfejs szeregowy zgodny z†RS232, za pomoc¹ ktÛrego jest moøliwa komunikacja mikrokontrolera z†otoczeniem. Schemat blokowy systemu K51-AVR pokazano na rys. 1. Na p³ytce drukowanej zintegrowano szereg z³¹czy, za pomoc¹ ktÛrych
Elektronika Praktyczna 10/2001
moøna do³¹czaÊ do systemu dodatkowe modu³y peryferyjne, a†takøe doprowadziÊ sygna³y analogowe do wejúÊ przetwornikÛw A/C i†odbieraÊ sygna³y analogowe z†wyjúÊ przetwornikÛw C/A. MoøliwoúÊ rozbudowy peryferiÛw zestawu jest zwiÍkszana przez wyprowadzenie na specjalne z³¹cza linii magistrali I2 C wraz z†zasilaniem +5/+12V. Trzy diody LED znajduj¹ce siÍ na p³ytce sygnalizuj¹ do³¹czenie napiÍcia zasilaj¹cego 5V, zg³oszenie przerwania przez urz¹dzenie I 2C oraz wykrycie przez komparator obniøenia temperatury w†stosunku do zadanej przez uøytkownika. W†niektÛrych aplikacjach przydatny moøe siÍ okazaÊ takøe 7-bitowy (w tym 4†bity danych) interfejs rÛwno-
Fot. 3.
71
S P R Z Ę T temie. Grifo stanͳo na wysokoúci zadania i†udostÍpnia rÛønego rodzaju procedury - co ciekawe w†wiÍkszoúci przypadkÛw napisane w†Basicu! S¹ wúrÛd nich m.in. procedury obs³ugi termostatu, zegara RTC, portÛw I/O do³¹czanych za pomoc¹ I 2 C itp. WiÍkszoúÊ z†nich publikujemy na p³ycie CD-EP10/2001B, s¹ one takøe dostÍpne na stronie WWW producenta.
Podsumowanie
Fot. 4. konanie zestawu. Drugim, moim zdaniem wartym poprawienia, niedoci¹gniÍciem jest brak zintegrowanego stabilizatora napiÍcia zasilaj¹cego uk³ady scalone. P³ytkÍ drukowan¹ wykonano w†sposÛb gwarantuj¹cy ³atwe korzystanie z†niej. SzczegÛlnie duøe znaczenie ma umieszczenie kompletnego opisu na spodniej stronie p³ytki (od strony lutowania), dziÍki czemu podczas prac w†laboratorium nie jest konieczne ci¹g³e korzystanie z†dokumentacji zestawu. Z†myúl¹ o†aplikacjach wymagaj¹cych nieco bardziej rozbudowanych paneli operatorskich firma Grifo opracowa³a szereg modu³Ûw dodatko-
72
wych, spoúrÛd ktÛrych otrzymaliúmy do testÛw identyczne konstrukcyjnie 8-cyfrowe modu³y wyúwietlaczy cyfrowych KND08 (fot. 2) i†KND44 (fot. 3), a†takøe 8-pozycyjny wyúwietlacz alfanumeryczny KAD08 (fot. 4). Modu³y wyposaøono takøe w†diody LED, ktÛre moøna wykorzystaÊ do dodatkowej sygnalizacji zdarzeÒ wykrywanych i†obs³ugiwanych przez system. Wszystkie modu³y wspÛ³pracuj¹ z†mikrokontrolerem magistral¹ I 2 C. Wymagaj¹ zasilania z†zewn¹trz napiÍciem 5V.
Opracowany przez Grifo zestaw jest jednym z†niewielu na naszym rynku kompletnym zestawem programowosprzÍtowym, za pomoc¹ ktÛrego w†miarÍ bezboleúnie moøna rozpocz¹Ê pracÍ z†nowoczesnymi mikrokontrolerami i†ich peryferiami. SzczegÛlne uznanie budzi przemyúlana konstrukcja urz¹dzenia i†jego kompletne wyposaøenie, dziÍki ktÛremu uøytkownik moøe poznaÊ bogactwo moøliwoúci wspÛ³czesnych systemÛw mikroprocesorowych. Tomasz Jakubik, AVT
Si³a w†programach
Zestawy dydaktyczne do testÛw w†redakcji dostarczy³a firma Grifo (W³ochy) tel. +39 051 - 892052.
Dla celÛw edukacyjnych zestaw by³by niekompletny bez udostÍpnienia przez producenta procedur umoøliwiaj¹cych obs³ugÍ modu³Ûw peryferyjnych zintegrowanych w†sys-
Dodatkowe materia³y moøna znaleüÊ na stronie www.grifo.com oraz na p³ycie CD-EP10/2001B w†katalogu \Grifo.
Elektronika Praktyczna 10/2001
P R O G R A M Y
Profesjonalny system wspomagający projektowanie układów elektronicznych W†drugiej czÍúci artyku³u kontynuujemy prezentacjÍ moøliwoúci edytora schematÛw programu CAPTURE. Opiszemy znaczenie kolejnych funkcji i†okien wykorzystywanych podczas rysowania schematu. Na podstawie prostego przyk³adu pokaøemy rÛwnieø w†jaki sposÛb tworzymy schemat z†zastosowaniem CAPTURE. Czytelnicy, ktÛrych zainteresuje tematyka artyku³u mog¹ zapoznaÊ siÍ z†ewaluacyjn¹ wersj¹ OrCADa, ktÛr¹ publikujemy na CD-EP10/2001B.
Edytor schematów, część 2 Edycja schematÛw Podstawowym oknem s³uø¹cym do edycji schematu jest okno PAGE EDITOR (rys. 12). W†jego obszarze wyúwietlamy i†rysujemy poszczegÛlne strony schematu, umieszczamy wchodz¹ce w†sk³ad schematu komponenty, a†wiÍc elementy elektroniczne, úcieøki, magistrale itp., a†takøe inne konieczne w†danym projekcie elementy graficzne. W†celu maksymalnego u³atwienia i†uproszczenia pracy, dostÍp do wszys-
tkich najczÍúciej wykonywanych operacji takich jak np. wybÛr elementu, jest realizowany za pomoc¹ ikon znajduj¹cych siÍ na pasku narzÍdzi. Okno PAGE EDITOR posiada w³asny, odrÍbny pasek narzÍdzi wyúwietlany tylko i†wy³¹cznie w†momencie uaktywnienia tego okna. Pasek narzÍdzi zwi¹zany z†PAGE EDITOR sk³ada siÍ z†dwÛch grup narzÍdzi. Pierwsz¹ grupÍ stanowi¹ narzÍdzia s³uø¹ce do umieszczania na schemacie wszystkich elementÛw elektronicznych, wchodz¹ce w†sk³ad rysowanego schematu, oraz po³¹czeÒ elektrycznych w†postaci úcieøek czy magistral ³¹cz¹cych umieszczone wczeúniej elementy. Drug¹ grupÍ narzÍdzi stanowi¹ przybory umoøliwiaj¹ce dodawanie do schematu obiektÛw graficznych, ktÛre nie maj¹ fizycznie wp³ywu na dzia³anie zaprojektowanego uk³adu. Poniewaø znajomoúÊ zadaÒ realizowanych przez
poszczegÛlne ikony znajduj¹ce siÍ na palecie narzÍdzi jest w³aúciwie niezbÍdna, postaramy przybliøyÊ czytelnikowi ich znaczenie.
SELECT - jest jedn¹ z†najczÍúciej wykorzystywanych ikon. Jej uøycie pozwala na zaznaczenie (podúwietlenie) interesuj¹cego nas elementu (lub grupy elementÛw) celem poddania do dalszej edycji.
PART - uøycie ikony PART umoøliwia wybÛr elementu z†biblioteki i†umieszczenie go na schemacie.
WIRE - ikona pozwalaj¹ca na rysowanie po³¹czeÒ elektrycznych (úcieøek) pomiÍdzy poszczegÛlnymi elementami elektronicznymi.
Rys. 12.
76
Elektronika Praktyczna 10/2001
P R O G R A M Y NET ALIAS - uøycie ikony NET ALIAS umoøliwia nadanie nazw poszczegÛlnym úcieøkom i†magistralom znajduj¹cym siÍ na schemacie.
BUS - klikniÍcie ikony BUS pozwala na rysowanie na schemacie po³¹czeÒ elektrycznych w†postaci magistral.
JUNCTION - dodaje wÍze³ elektryczny we wskazanym przez uøytkownika miejscu na schemacie.
przez uøytkownika miejscu schematu tzw. HIERARCHICAL PORT.
HIERARCHICAL PIN - dzia³anie ikony jest powi¹zane z†HIERARCHICAL BLOCK. Jest ona aktywna tylko wtedy gdy na schemacie zostanie zaznaczony HIERARCHICAL BLOCK. Ikona umoøliwia dodanie punktÛw ³¹cz¹cych elektrycznie wybrany HIERARCHICAL BLOCK z†pozosta³¹ czÍúci¹ schematu znajduj¹c¹ siÍ na tej samej stronie. Symbole HIERARCHICAL BLOK, HIERARCHICAL PORT i†HIERARCHICAL PIN s¹ ze sob¹ úciúle zwi¹zane. Zagadnienia hierarchii w†projektach tworzonych przy uøyciu programu CAPTURE poruszane by³y w†poprzedniej czÍúci artyku³u.
BUS ENTRY - automatycznie dodaje wejúcie (wyjúcie) pojedynczej úcieøki ze wskazanej magistrali.
POWER - po wskazaniu miejsca automatycznie umieszcza okreúlony przez uøytkownika symbol zasilania.
GROUND - analogicznie jak dla POWER z†tym, øe na schemacie umieszczony zostaje symbol masy.
HIERARCHICAL BLOCK - wstawia na dowolnej stronie schematu odwo³anie do innej strony schematu. Funkcja ta jest stosowany w†przypadku projektÛw o†strukturze hierarchicznej.
HIERARCHICAL PORT - podobnie jak wyøej, w†przypadku projektÛw hierarchicznych, dodaje we wskazanym
OFF-PAGE CONNECTOR - pozwala na dodanie symboli ³¹cz¹cych elektrycznie rÛøne strony schematu w†przypadku gdy jest on rozbity na co najmniej dwie strony. Symbol OFF-PAGE CONNECTOR ³¹czy wybrane strony w†strukturÍ p³ask¹.
NO CONNECT - umieszcza na wybranym wyprowadzeniu uk³adu symbol traktuj¹cy wyprowadzenie jako nie wykorzystywane. Pozosta³e ikony znajduj¹ce siÍ na omawianym pasku narzÍdzi naleø¹ do grupy ikon graficznych. Interpretacja zadaÒ realizowanych przez te ikony jest zupe³nie intuicyjna i†nie bÍdziemy ich tutaj opisywaÊ. Wszystkie funkcje udostÍpniane za pomoc¹ ikon dostÍpne s¹ rÛwnieø z†poziomu MENU>PLACE. Przejdümy teraz do przyk³adu. Zdobyte do tej pory wiadomoúci bÍdziemy uzupe³niaÊ w†trakcie rysowania schematu prostego wzmacniacza opartego na uk³adzie TDA8551. PracÍ rozpoczynamy od utworzenia ìczystegoî projektu. SposÛb tworzenia nowego projektu opisany zosta³ w†pierwszej czÍúci artyku³u. Teraz przypominamy tylko, øe naleøy skorzystaÊ z†poleceÒ PROJECT (tworzenie projektu przy pomocy kreatora) lub DESIGN z†poziomu MENU>FILE>NEW. Bez wzglÍdu na metodÍ jak¹ zastosujemy rezultatem bÍdzie wyúwietlenie okien PROJECT MANAGER, SESSION LOG i†ìczystegoî okna PAGE EDITOR stanowi¹cego w³aúciwy obszar edycyjny. Kolejn¹ czynnoúci¹,
Rys. 14. ktÛr¹ warto wykonaÊ jest ustawienie w³aúciwoúci úrodowiska edytora, o†ile oczywiúcie w³aúciwoúci domyúlne nas nie satysfakcjonuj¹. W†tym miejscu rÛwnieø odsy³amy do pierwszej czÍúci artyku³u. Po utworzeniu projektu i†ustawieniu jego w³aúciwoúci moøemy przejúÊ do umieszczania wymaganych komponentÛw w†obszarze edycyjnym (w oknie PAGE EDITOR reprezentuj¹cym pojedyncz¹ stronÍ schematu). Odwo³anie do biblioteki elementÛw dostÍpnych w†celu pobrania elementu umoøliwia ikona PART. Jej uøycie uaktywnia okno PLACE PART, w†ktÛrym moøemy szybko odnaleüÊ interesuj¹c¹ nas czÍúÊ (rys. 13). Okno PLACE PART zawiera szereg udogodnieÒ pozwalaj¹cych na efektywne wyszukiwanie elementÛw. Mamy tu informacje o†aktualnie wykorzystywanych bibliotekach (pole LIBRARIES), elementach znajduj¹cych siÍ w†poszczegÛlnych bibliotekach (pole PART LIST) oraz graficzny podgl¹d zaznaczonego elementu. Naleøy pamiÍtaÊ, øe funkcja podgl¹du pokazuje zawartoúÊ tylko tych bibliotek, ktÛre s¹ wyszczegÛlnione w†polu LIBRARIES. Oczywiúcie oprogramowanie umoøliwia wybÛr bibliotek, ktÛre bÍdziemy przegl¹daÊ i†wykorzystywaÊ. Polecenia dodania biblioteki lub jej usuniÍcia realizuj¹ przyciski ADD LIBRARY i†REMOVE LIBRARY znajduj¹ce siÍ w†obszarze omawianego okna. W†celu odszukania komponentu w†bibliotece naleøy wpisaÊ jego nazwÍ w†polu PART. Jeúli nie znamy pe³nej nazwy poszukiwanego elementu moøemy pos³uøyÊ siÍ znacznikami pozwalaj¹cymi na okreúlenie jego lokalizacji w†bibliotekach na podstawie fragmentu nazwy. W†tym celu naleøy wprowadziÊ ten fragment w†polu PART poprzedzaj¹c go znacznikiem (*) lub (?) i†nacisn¹Ê OK. Gwiazdka zastÍpuje w†tym wypadku dowolny ci¹g znakÛw natomiast pytajnik pojedyncz¹ literÍ. Jeøeli poszukiwany fragment symbolu zostanie
Rys. 13.
78
Elektronika Praktyczna 10/2001
P R O G R A M Y odnaleziony CAPTURE automatycznie wyúwietli jego lokalizacjÍ (tzn. poda, w†ktÛrej bibliotece siÍ on znajduje). Jeøeli ìpasuj¹cychî uk³adÛw jest wiÍcej pozostaje nam przyjrzeÊ siÍ poszczegÛlnym z†nich w†oknie PART PLACE (korzystaj¹c z†podgl¹du). Naleøy zwrÛciÊ uwagÍ na fakt, øe opisany sposÛb wyszukiwania dokonuje analizy zawartoúci tylko tych bibliotek, ktÛre wyszczegÛlnione s¹ w†polu LIBRARIES (i podúwietlone!). Aby przeszukaÊ zawartoúÊ wszystkich bibliotek jakie mamy do dyspozycji, naleøy skorzystaÊ z†przycisku PART SEARCH, ktÛry uruchamia okno wyszukiwarki (rys. 14). Podobnie jak w†oknie PLACE PART moøemy skorzystaÊ tu ze znacznikÛw (*) lub (?). Symbol lub jego fragment wpisujemy w†polu PART NAME, zwracaj¹c jednoczeúnie uwagÍ czy úcieøka dostÍpu do bibliotek jest podana poprawnie. Przejdümy teraz do umieszczenia naszego komponentu na schemacie. W†tym celu korzystamy z†ikony PLACE PART i†po wybraniu uk³adu TDA8551 w†oknie PLACE PART potwierdzamy wybÛr przyciskiem OK. Obrys uk³adu pojawia siÍ w†tym momencie w†obszarze pola roboczego (PAGE EDITOR). Przed dodaniem elementu moøemy go oczywiúcie dowolnie obrÛciÊ za pomoc¹ poleceÒ ROTATE lub MIRROR (poziomo lub pionowo) ukrytych pod prawym przyciskiem myszki. Ostateczne naniesienie komponentu na schemat nastÍpuje po klikniÍciu lewym przyciskiem myszy lub uøyciu klawisza spacji. Aktualnie wybrany element moøna nanieúÊ na
schemat dowoln¹ iloúÊ razy np. dwukrotne naciúniÍcie spacji doda na stronÍ dwa uk³ady TDA8551. Aby zakoÒczyÊ tryb PLACE PART zwi¹zany z†ostatnio wybranym elementem naleøy wcisn¹Ê klawisz ESC lub skorzystaÊ z†polecenia END MODE ukrytego pod prawym przyciskiem myszki. Wszystkie kolejne elementy (uk³ady) wymagane w†naszym projekcie dodajemy w†analogiczny sposÛb. Przy umieszczaniu symboli zasilaÒ, masy zamiast ikony PLACE PART korzystamy z†ikon PLACE POWER, PLACE GROUND, metoda pozostaje ta sama. Podobnie jest z†symbolami BLOCK, PORT, PIN wykorzystywanymi w†przypadku projektÛw hierarchicznych. Wszystkie naniesione na schemat elementy moøemy poddawaÊ dowolnej edycji. W†tym celu naleøy skorzystaÊ z†ikony SELECT i†zaznaczyÊ ø¹dany element za pomoc¹ myszy. Jeøeli chcemy zmieniÊ po³oøenie komponentu na stronie, obrÛciÊ go, dokonaÊ jego edycji graficznej, zmieniÊ jego wartoúÊ lub opis klikamy w†centralnym punkcie komponentu. Wszystkie najczÍúciej wykorzystywane polecenia znajduj¹ siÍ w†tym momencie pod prawym przyciskiem myszki. Edycje wybranych w³aúciwoúci elementu moøna rÛwnieø realizowaÊ w†inny sposÛb. Aby zmieniÊ opis elementu lub jego wartoúÊ naleøy klikn¹Ê nie w†centralnej jego czÍúci, a†bezpoúrednio na wybranym opisie. Zmiany nanosimy w†oknie DISPLAY PROPERTIES. Program CAPTURE posiada rÛwnieø specjaln¹ funkcjÍ tzw. PROPERTY EDITOR s³uø¹c¹ do kom-
pleksowej edycji w³aúciwoúci wszystkich komponentÛw znajduj¹cych siÍ na dowolnej stronie schematu. WiÍcej informacji na temat przedstawimy w†kolejnym numerze EP. Rysowanie po³¹czeÒ elektrycznych pomiÍdzy poszczegÛlnymi elementami zapewniaj¹ ikony PLACE WIRE i†PLACE BUS. W†mniej skomplikowanych projektach wykorzystuje siÍ zwykle pojedyncze úcieøki (PLACE WIRE). Po³¹czenie elektryczne nanosimy za pomoc¹ myszy. Pojedyncze klikniÍcie lewym przyciskiem w†dowolnym miejscu okna PAGE EDITOR jest rÛwnoznaczne z†podaniem miejsca pocz¹tkowego. Edytor zapewnia wizualne potwierdzenie czy dane wyprowadzenie zosta³o poprawnie do³¹czone. Jeøeli podczas rysowania dana úcieøka krzyøuje siÍ z†inn¹ pod k¹tem 90 stopni i†ma byÊ z†ni¹ po³¹czona elektrycznie naleøy klikn¹Ê lewym klawiszem myszki w†miejscu skrzyøowania. Jeøeli tego nie zrobimy úcieøki nie zostan¹ po³¹czone. WÍze³ elektryczny moøemy rÛwnieø dodaÊ rÍcznie za pomoc¹ ikony PLACE JUNCTION. Tryb rysowania úcieøki koÒczymy podobnie jak przy umieszczaniu elementÛw za pomoc¹ ESC lub polecenia END MODE. Dowoln¹ úcieøkÍ lub grupÍ úcieøek moøemy poddaÊ edycji juø po umieszczeniu jej na schemacie. Po zaznaczeniu wybranego po³¹czenia wszystkie funkcje zwi¹zane z†edycj¹ dostÍpne s¹ pod prawym klawiszem myszki. CAPTURE zapewnia rÛwnieø ìinteligentneî przemieszczanie pojedynczych obiektÛw lub ca³ych grup obiektÛw (elementÛw, úcieøek) wchodz¹cych w†sk³ad schematu bez ich roz³¹czania. W†celu wykonania tej operacji naleøy zaznaczyÊ interesuj¹cy nas obiekt albo grupÍ obiektÛw, a†nastÍpnie przeci¹gn¹Ê je w†ø¹dane miejsce. Edytor ostrzega nas o†b³Ídach, a†w³aúciwie zmianach w†sieci po³¹czeÒ elektrycznych jakie mog¹ pojawiÊ siÍ w†wyniku przeprowadzenia tej operacji. Ostrzeøenia pokazywane s¹ w†postaci czerwonych punktÛw (rys. 15) wyúwietlanych w†tych miejscach, gdzie nastÍpuj¹ niekontrolowane ìzwarciaî. Dodatkowo w†momencie wyst¹pienia przypuszczalnego b³Ídu odpowiednie informacje pojawiaj¹ siÍ na tzw. pasku statusu, w†oknie SESSION LOG, a†obok kursora pojawia siÍ ostrzeøenie o†b³Ídzie w†postaci øÛ³tego trÛjk¹ta z†wykrzyknikiem. W†celu przemieszczenia obiektu lub grupy obiektÛw z†jednoczesnym od³¹czeniem ich od pozosta-
Rys. 15.
80
Elektronika Praktyczna 10/2001
P R O G R A M Y
Rys. 16. ³ej czÍúci schematu naleøy w†momencie przeci¹gania wcisn¹Ê przycisk ALT. Inne pomocne podczas rysowania schematu funkcje, ktÛre udostÍpnia CAPTURE to np. funkcja FIND uruchamiana z†poziomu MENU>EDIT oraz GO TO znajduj¹ca siÍ w†MENU>VIEW. Obie funkcje s¹ szczegÛlnie poøyteczne w†przypadku duøych projektÛw i†umoøliwiaj¹ odpowiednio odnalezienie dowolnego elementu lub grupy elementÛw na naszym schemacie oraz ustawienie kursora na stronie w†okreúlonym przez uøytkownika miejscu. Po naniesieniu na schemat wymaganych elementÛw elektronicznych oraz po³¹czeniu ich za pomoc¹ úcieøek nasz projekt jest w³aúciwie gotowy z†elektrycznego punktu widzenia. Jeúli chodzi o†estetykÍ, edytor udostÍpnia funkcje zwi¹zane z†umieszczaniem na schemacie dowolnych elementÛw graficznych w³¹cznie z†bitmapami oraz tekstu i†tabelek rysunkowych w†rÛønych konfiguracjach. ZasobnoúÊ bibliotek jest niew¹tpliwie jedn¹ z†waøniejszych zalet oprogramowania do tworzenia schematÛw, ale wszystkiego nie maj¹ nawet najlepsze aplikacje. Zatrzymajmy siÍ na moment przy bibliotekach edytora CAPTURE. Jak zapewniaj¹ producenci zawieraj¹ one ponad 44000 pozycji, na ktÛre sk³adaj¹ siÍ elementy elektroniczne, rÛønego rodzaju symbole oraz tabelki rysunkowe. Biblioteki CAPTURE maj¹ rozszerzenie *.olb. Edytor zapewnia tworzenia bibliotek uøytkownika, w†ktÛrych prze-
chowywaÊ moøna rÛøne kombinacje najczÍúciej wykorzystywanych komponentÛw. Pozwala to na znaczne u³atwienie ich wyszukiwania. Kaødy komponent znajduj¹cy siÍ w†bibliotekach CAPTURE posiada zestaw w³aúciwoúci, na ktÛre sk³adaj¹ siÍ informacje takie jak wartoúÊ elementu i†oznaczenie numerowe, ktÛre s¹ niezbÍdne podczas tworzenia netlisty do modu³u PCB LAYOUT lub symulatora PSPICE. Kaødy element wyposaøony jest w†wyprowadzenia (piny) s³uø¹ce do zdefiniowania po³¹czeÒ elektrycznych pomiÍdzy nim a†pozosta³¹ czÍúci¹ schematu. KoÒcÛwki posiadaj¹ szereg w³aúciwoúci charakteryzuj¹cych kaød¹ z†nich. Wliczamy do nich nazwÍ wyprowadzenia, numer, kszta³t (np. zegar, dane, linia) oraz typ (np. wejúcie, wyjúcie, otwarty kolektor, otwarty emiter itd.). Jeøeli nie odnajdziemy potrzebnego elementu w†bibliotekach CAPTURE nie powinniúmy wpadaÊ w†panikÍ. Dodawanie nowego nie jest bowiem niczym skomplikowanym.
Dodawanie symboli do bibliotek
PROJECT MANAGER naszego projektu i†wybraÊ polecenie LIBRARY z†poziomu MENU>FILE>NEW. Wykonanie tej operacji spowoduje utworzenie nowej pustej biblioteki i†dodanie jej do bieø¹cych zasobÛw naszego projektu. Nie zaleca siÍ modyfikowania elementÛw w†istniej¹cych bibliotekach i†zachowywania ich pod t¹ sam¹ nazw¹. W†przypadku modyfikacji bibliotek musimy siÍ bowiem liczyÊ z†utrat¹ wprowadzonych zmian. Aby zachowaÊ bibliotekÍ naleøy odszukaÊ j¹ w†oknie PROJECT MANAGER, podúwietliÊ i†wykorzystuj¹c polecenie SAVE AS znajduj¹ce siÍ w†MENU>FILE zapisaÊ na dysku, podaj¹c uprzednio wymagan¹ úcieøkÍ dostÍpu. Jeúli nie zapiszemy biblioteki od razu, edytor poprosi nas o†to podczas zamykania projektu. Poniewaø naj³atwiej utworzyÊ nowy element na podstawie juø istniej¹cego kolejn¹ czynnoúci¹ jest odszukanie w†bibliotekach komponentu o†jak najbardziej zbliøonym wygl¹dzie i†skopiowanie go do ìnaszejî biblioteki. Uk³ad TDA8551 posiada 8-nÛøkow¹ obudowÍ DIP, wiÍc moøemy pos³uøyÊ siÍ jako wzorcem np. popularnym uk³adem LM555. Kopiowanie najlepiej przeprowadziÊ wed³ug nastÍpuj¹cej procedury. Po pierwsze tworzymy nowy element w†ìnaszejî bibliotece, polega to na podúwietleniu biblioteki w†oknie PROJECT MANAGER i†z†wybraniu polecenia NEW PART z†poziomu MENU>DESIGN. Wykonanie tej operacji powoduje kolejno wyúwietlenie okna NEW PART PROPERTIES, w†ktÛrym w†odpowiednim polu naleøy podaÊ nazwÍ nowego elementu, a†nastÍpnie okna PART EDITOR (rys. 16), ktÛre s³uøy do graficznej edycji elementu. NastÍpnie naleøy otworzyÊ bibliotekÍ zawieraj¹c¹ uk³ad LM555. Odpowiednie polecenie znajduje siÍ w†MENU>FILE>OPEN>LIBRARY. Teraz wystarczy tylko odnaleüÊ uk³ad LM555 w†zasobach biblioteki i†za pomoc¹ komendy EDIT PART ukrytej pod prawym przyciskiem myszy uaktywniÊ okno PART EDITOR zwi¹zane z†tym uk³adem. Ostatni¹ czynnoúci¹ jest przekopiowanie zawartoúci PART EDITOR uk³adu
Edytor pozwala zarÛwno dodawaÊ nowe elementy do istniej¹cych bibliotek jak i†tworzyÊ w³asne biblioteki z†nowymi komponentami. Za³Ûømy, øe w†bibliotekach CAPTURE nie odnaleüliúmy uk³adu TDA8551 i†musimy go utworzyÊ. SposobÛw postÍpowania jest w†tym wypadku kilka, ale my proponujemy nastÍpuj¹cy. Pierwsz¹ czynnoúci¹ jest utworzenie nowej biblioteki. W†tym celu naleøy uaktywniÊ okno Rys. 17.
Elektronika Praktyczna 10/2001
81
P R O G R A M Y
Rys. 18. LM555 do pustego okna PART EDITOR uk³adu TDA8551 i†dokonanie niezbÍdnych przerÛbek takich jak zmiana opisÛw, w³aúciwoúci i†rozmieszczenia koÒcÛwek. Zmiana w³aúciwoúci i†nazwy pojedynczego wyprowadzenia (po dwukrotnym klikniÍciu na nim myszk¹) przeprowadzana jest w†oknie PIN PROPERTIES (rys. 17).
82
Opisana procedura nie jest jedynym sposobem na utworzenie nowego elementu. RÛwnie dobrze moøemy tworzyÊ element ìod zeraî wykorzystuj¹c okno PART EDITOR wraz z†narzÍdziami, ktÛre ono udostÍpnia. Pasek narzÍdzi zwi¹zany z†PART EDITOR zawiera szereg ikon u³atwiaj¹cych tworzenie nowego elementu. Podobnie jak w†przypadku PAGE EDITOR ikony te dziel¹ siÍ na dwie grupy: elektryczn¹ i†graficzn¹. NajczÍúciej wykorzystywane podczas tworzenia nowego elementu ikony elektryczne to:
PLACE PIN - dodaje wyprowadzenie do tworzonego elementu. NazwÍ koÒcÛwki oraz jej pozosta³e w³aúciwoúci podajemy w†oknie PLACE PIN, ktÛre pojawia siÍ automatycznie natychmiast
po klikniÍciu ikony. Okno PLACE PIN posiada wygl¹d identyczny jak PIN PROPERTIES (rys. 17).
PLACE PIN ARRAY - dodaje do tworzonego elementu okreúlon¹ przez projektanta liczbÍ koÒcÛwek. Parametry zwi¹zane z†PLACE PIN ARRAY podajemy w†oknie o†tej samej nazwie (rys. 18) W³aúciwoúci poszczegÛlnych wyprowadzeÒ moøemy ustaliÊ indywidualnie w†oknie PIN PROPERTIES po wykonaniu operacji dodania. RK Oprogramowanie do testÛw udostÍni³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 10/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.
Generator szumu Szumy generowane przez elementy s¹ uci¹øliwymi zak³Ûceniami z†ktÛrymi walczy siÍ w†uk³adach elektronicznych na rÛøne sposoby. Dotyczy to zw³aszcza wzmacniaczy akustycznych i†generatorÛw. Jednak w†niektÛrych wypadkach tzw. bia³y szum o†wyrÛwnanej charakterystyce czÍstotliwoúci wykorzystuje siÍ jako sygna³ pomiarowy. Poniewaø w†sygnale szumu przemieszane s¹ ze sob¹ sygna³y z†szerokiego przedzia³u czÍstotliwoúci moøe on s³uøyÊ do pomiaru liniowoúci i†pasma badanego wzmacniacza albo do okreúlania parametrÛw akustycznych pomieszczenia.
Rys. 1.
Elektronika Praktyczna 10/2001
Jako ürÛd³o ìdobregoî szumu moøe s³uøyÊ tranzystor ze zwartymi wyprowadzeniami bazy i†kolektora. W†przypadku popularnych tranzystorÛw z†grupy BC547 napiÍcie zasilania przy jakim tak po³¹czony tranzystor generuje optymalny sygna³ szumu wynosi oko³o 12V jednak zaleøy to od parametrÛw uøytego egzemplarza. Taki najprostszy generator szumu ma jednak pewn¹ wadÍ: otrzymany sygna³ jest asymetryczny. Oznacza to, øe sygna³ szumu dodawany jest do poziomu sk³adowej sta³ej napiÍcia i†odznacza siÍ zdecydowan¹ asymetri¹ przebiegu. Jeøeli chcemy otrzymaÊ symetryczny sygna³ szumu powinniúmy zastosowaÊ dwa tranzystory a†nastÍpnie zsumowaÊ obydwa sygna³y. Schemat takiego uk³adu pokazano na rys. 1. Tranzystor T1 generuje pierwszy sygna³. Potencjometr PR1 ustala punkt pracy w†taki sposÛb aby otrzymaÊ sygna³ o†maksymalnej amplitudzie. Sygna³ ten pobierany ze z³¹cza bazakolektor jest asymetryczny i†zawiera siÍ pomiÍdzy ustalonym poziomem sk³adowej sta³ej i†mas¹. Drugi sygna³ pobierany z†emitera tranzystora T2 jest takøe asymetryczny i†zawiera siÍ pomiÍdzy sk³adow¹ sta³¹ ustalon¹ potencjometrem PR3 a†plusem
zasilania. Oba sygna³y mieszane s¹ na potencjometrze PR2 i†z†jego suwaka podawane na wtÛrnik emiterowy T3. Poniewaø poziomy napiÍcia sta³ego na obydwu tranzystorach mog¹ siÍ rÛøniÊ kondensator C5 s³uøy do ich blokowania. Uk³ad uruchamia siÍ w†trzech krokach korzystaj¹c z†pomocy oscyloskopu. Najpierw sondÍ pomiarow¹ naleøy po³¹czyÊ ze z³¹czem baza-kolektor tranzystora T1. NastÍpnie potencjometrem PR1 ustawiamy maksymaln¹ amplitudÍ sygna³u. Potem ³¹czymy sondÍ z†emiterem tranzystora T2 i†potencjometr PR3 ustawiamy tak aby uzyskaÊ maksymaln¹ amplitudÍ tego sygna³u. W†koÒcu do³¹czamy oscyloskop do wyjúcia i†przy pomocy potencjometru PR2 wyrÛwnujemy kszta³t sygna³u wyjúciowego tak aby by³ maksymalnie symetryczny. Podane na schemacie wartoúci napiÍÊ sta³ych naleøy traktowaÊ jako orientacyjne poniewaø zaleø¹ one od parametrÛw uøytych do budowy generatora elementÛw. Uk³ad zasilany jest napiÍciem sta³ym +12V i†pobiera
ok. 2mA pr¹du. Sygna³ uøyteczny na wyjúciu ma amplitudÍ 150...200mV. RS
WYKAZ ELEMENTÓW Rezystory PR1..PR3, R5: 4,7kΩ R1, R2: 47kΩ R3, R4: 10kΩ Kondensatory C1: 100µF/16V C2: 100nF C3, C4: 10µF/16V C5: 470nF C6: 330nF Półprzewodniki T1..T3: BC547
P³ytka drukowana wraz z kompletem elementÛw jest dostÍpna w AVT - oznaczenie AVT-1326. Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/?pdf/ pazdziernik01.htm oraz na p³ycie CD-EP10/2001 w katalogu PCB.
Rys. 2.
83
M I N I P R O J E K T Y
Mini−generator funkcyjny Timer typu 555, pomimo up³ywu wielu lat od chwili pojawienia siÍ na rynku, wci¹ø jest produkowany i†wykorzystywany w†wielu konstrukcjach elektronicznych. Jest doskona³ym przyk³adem tego, øe dobre pomys³y siÍ nie starzej¹.
Za pomoc¹ 555 moøna ³atwo skonstruowaÊ generator kilku rodzajÛw sygna³Ûw, mog¹cy pracowaÊ jako generator funkcyjny. Ograniczeniem jest moøliwoúÊ pracy tylko z†jedn¹ dobran¹ wczeúniej czÍstotliwoúci¹ ale zaletÍ stanowi niebywa³a prostota uk³adu. Jego schemat ideowy pokazuje rys. 1. Uk³ad U1 generuje fale prostok¹tn¹ o†wype³nieniu rÛwnym ok. 50%. CzÍstotliwoúÊ generowanego przebiegu zaleøy od wartoúci ele-
uk³adu U2 bÍd¹cego multiplekserem analogowym. Uk³ad do³¹cza do wyprowa-
10mA generator moøe byÊ zasilany z†baterii 9V. Jak to zosta³o wczeúniej napisane czÍstotliwoúÊ pracy ge-
dzenia 3†U2 jeden z†sygna³Ûw, w†zaleønoúci od poziomu logicznego na wejúciach steruj¹cych A†i†B. Poniewaø oba wejúcia podci¹gniÍte s¹ do poziomu zasilania, za poúrednictwem opornikÛw R9 i†R10 w†tym stanie na wyjúciu uk³adu pojawi siÍ sygna³ prostok¹tny. Po zwarciu do masy wejúcia steruj¹cego A†na wyjúciu pojawi siÍ sygna³ pi³y, zwarcie z†mas¹ wejúcia B†spowoduje pojawienie siÍ sygna³u trÛjk¹tnego natomiast po zwarciu z†mas¹ obydwu wejúÊ steruj¹cych na wyjúciu bÍdzie dostÍpny sygna³ sinusoidalny. Wyjúcie 3†uk³adu U2 jest po³¹czone z†wtÛrnikiem emiterowym T2. AmplitudÍ sygna³u wyjúciowego ustala potencjometr P1. Poziom sygna³u wyjúciowego bÍdzie takøe zaleøny od rodzaju sygna³u podawanego na wyjúcie generatora a†takøe od wartoúci napiÍcia zasilaj¹cego. Uk³ad generuje przy zasilaniu napiÍciem od 5V do 10V. Ze wzglÍdu na niski pobÛr pr¹du ok.
neratora jest ustawiona na sta³e. Moøe byÊ jednak inna niø 1kHz jednak w†takim przypadku naleøy dobraÊ zarÛwno wartoúci elementÛw do³¹czanych do uk³adu 555 (C1, R1, R2) jak i†elementÛw kszta³tuj¹cych poszczegÛlne przebiegi. RS
Rys. 1.
WYKAZ ELEMENTÓW Rezystory P1: 47kΩ R1: 15kΩ R2..R4: 1kΩ R5: 4,7kΩ R6..R10: 10kΩ R11: 1MΩ R12, R13: 100kΩ Kondensatory C1..C4: 47nF C5, C6: 10nF C7, C8: 1µF/16V C9: 100nF Półprzewodniki D1: 1N4007 T1, T2: BC547 U1: NE555 U2: 4052
P³ytka drukowana wraz z kompletem elementÛw jest dostÍpna w AVT - oznaczenie AVT-1327. Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/?pdf/ pazdziernik01.htm oraz na p³ycie CD-EP10/2001 w katalogu PCB.
84
mentÛw do³¹czanych do uk³adu czyli C1, R1 i†R2. CzÍstotliwoúÊ t¹ moøna obliczyÊ korzystaj¹c z†nastÍpuj¹cego wzoru: f†=1,44 /(R2 + 2*R1) * C1, gdzie f=Hz, R†=, C†=F Stosuj¹c elementy o†wartoúciach podanych na schemacie na wyjúciu 3†U1 otrzymuje siÍ sygna³ prostok¹tny o†czÍstotliwoúci zbliøonej do 1kHz. NastÍpnie ten sygna³ w†kolejnych uk³adach RC przekszta³cany jest na sygna³y o†innym kszta³cie. Najpierw w†punkcie po³¹czenia opornika R6 i†kondensatora C3 otrzymywany jest przebieg przypominaj¹cy zÍby pi³y. Po przejúciu przez kolejny uk³ad R7 i†C4 kszta³t fali zbliøony jest do przebiegu trÛjk¹tnego. Ten impuls podany zostaje na uk³ad integratora zbudowany z†uøyciem tranzystora T1. Na kolektorze tranzystora sygna³ przybiera kszta³t sinusoidy. Opisane przed chwil¹ sygna³y podane s¹ na wejúcia
Rys. 2.
Elektronika Praktyczna 10/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
Cyfrowo programowany wzmacniacz mocy do CATV Uk³ad AD8326 jest wzmacniaczem o†duøej mocy wyjúciowej, przystosowanym do pracy w†systemach CATV jako driver w†modemach zgodnych ze standardem DOCSIS (ang. Data Over Cable Service Interface Specification). Moøe on pracowaÊ jako wzmacniacz (od strony wejúcia i†wyjúcia) rÛønicowy lub asymetryczny, dziÍki czemu dostosowanie go do stosowanego medium transmisyjnego nie jest zbyt trudne. W†odrÛønieniu od dotychczas dostÍpnych uk³adÛw wzmacniaj¹cych do systemÛw dystrybucji CATV AD8326 ma cyfrowo programowane wzmocnienie (zakres zmian 53,5dB), do czego s³uøy wbudowany w†uk³ad inter-
fejs SPI. SzerokoúÊ pasma przenoszenia wzmacniacza wynosi 100MHz. Uk³ady AD8326 s¹ dostÍpne w†obudowach TSSOP28 i†SOIC28 o†zmodyfikowanej budowie (z wbudowanym radiatorem). Zakres temperatury pracy mieúci siÍ w†przedziale -40...+85 o C. http://www.analog.com/pdf/AD8326_0.pdf Przedstawicielami Analog Devices w†Polsce s¹ firmy: Alfine (tel. (61) 820-58-11) i†Addis (tel. (32) 330-46-90).
Rys. 1.
Szeregowy EEPROM 512kb Microchip wprowadzi³ do swojej oferty kolejn¹ pamiÍÊ EEPROM z†interfejsem szeregowym, tym razem o†pojemnoúci aø 512kb. Uk³ad 24LC515 wyposaøono w†interfejs szeregowy I 2C o†maksymalnej czÍstotliwoúci taktowania 400kHz. Planowane jest wprowadzenie do produkcji uk³adu o†tej samej pojemnoúci, z†interfejsem przystosowanym do taktowania sygna³em zegarowym o†czÍstotliwoúci 1MHz (24FC515). NapiÍcie zasilania uk³adÛw mieúci siÍ w†przedziale 1,8...5,5V, a†dopuszczalny zakres temperatury pracy -40...+85 oC. Czas zapisu bloku pamiÍci EEPROM nie przekracza 5ms. Uk³ady 24xC515 s¹ oferowane w†obudowach DIP8 i†SOIC8. ftp://www.microchip.com/ Download/lit/pline/memory/ memdvice/pnp/devices/ 24lc515/21673a.pdf Przedstawicielami Microchipa w†Polsce s¹ firmy: Future (tel. (22) 618-92-02), Gamma (tel. (22) 663-83-76) i Memec-Unique (tel. (32) 23805-60).
Elektronika Praktyczna 10/2001
89
N O W E
P O D Z E S P O Ł Y
Więcej pamięci w '51 Philips nie zaprzesta³ rozwijania rodziny mikrokontrolerÛw '51, co zaowocowa³o opracowaniem zmodyfikowanej, nieco udoskonalonej architektury okreúlonej przez producenta symbolem 51MX2. Pierwsze istotne udoskonalenie polega na dwukrotnym przyspieszeniu pracy rdzenia mikrokontrolera, ktÛry wykonuje rozkazy w†szeúciu taktach zegarowych. Drugim udoskonaleniem jest rozszerzenie liniowo adresowanego obszaru pamiÍci programu i†danych do 8MB kaødy.
PowiÍkszenie obszaru adresowania spowodowa³o takøe zwiÍkszenie do 16 bitÛw wskaünika stosu. Trzecim udoskonaleniem jest wprowadzenie drugiego wskaünika DPTR.
Na potrzeby mikrokontrolerÛw 51MX2 zaadaptowano takøe blok licznikÛw PCA (ang. Programmable Counter Array), ktÛry pierwotnie by³ stosowany w†mikro-
Tab. 1. Podstawowe parametry mikrokontrolerów 51MX2. Typ układu
Pamięć programu OTP [kB]
Pamięć danych RAM [kB]
Napięcie zasilania [V]
Maksymalna częstotliwość zegarowa [MHz]
Obudowa
Zakres temperatury pracy [ oC]
P87C51MB2BA
64
2
2,7...5,5
12/24
PLCC44
0...+70
P87C51MC2BA
96
3
2,7...5,5
12/24
PLCC44
0...+70
kontrolerach 51RX+. Ponadto, mikrokontrolery wyposaøono w†szereg blokÛw peryferyjnych: porty UART, SPI (do 6MHz), programowany watchdog i†3†standardowe timery. Pomimo istotnych modyfikacji architektury, nowe mikrokontrolery s¹ w†pe³ni kompatybilne z†dotychczas produkowanymi, dziÍki czemu programiúci i†konstruktorzy nie musz¹ uczyÊ siÍ nowej architektury i†jej moøliwoúci, a†mog¹ korzystaÊ ze znacznie wiÍkszych moøliwoúci nowych uk³adÛw. Obecnie produkowane s¹ dwa mikrokontrolery nowej serii, ktÛrych podstawowe parametry zestawiono w†tab. 1. http://www-us7.semiconductors.philips.com/ acrobat/datasheets/P87C51MX2_1.pdf Przedstawicielami Philipsa w†Polsce s¹ firmy: Avnet (tel. (22) 634-47-36), Eurodis (tel. (71) 301-04-00), Macropol (tel. 0-22) 822-58-82) i†Spoerle (tel. (22) 646-52-27).
Scalony generator sygnału dzwonka telefonicznego Uk³ad LT1684 jest scalonym interefejsem, za pomoc¹ ktÛrego moøna wykonaÊ m.in. generator sygna³u dzwonka. Schemat w³¹czenia uk³adu w†tej aplikacji pokazano na rys. 1. Funkcjonalnie LT1684 jest interfejsem poúrednicz¹cym pomiÍdzy generatorem sygna³u
Rys. 2.
90
steruj¹cego PWM, a†wysokonapiÍciowymi tranzystorami MOSFET. W†zwi¹zku z†tym prezentowany uk³ad moøna wykorzystaÊ jako wysokonapiÍciowy konwerter C/A z†wejúciem PWM, a†takøe jako generator sygna³Ûw sinusoidalnych strojonych lokalnymi filtrami. Na
wejúciu uk³adu zastosowano wzmacniacz, ktÛrego wejúcia s¹ galwanicznie izolowane od generatora sygna³u. Jako elementy separuj¹ce moøna stosowaÊ kondensatory o†stosunkowo niewielkiej pojemnoúci (ok. 100pF). Parametry uk³adu zoptymalizowano pod k¹tem wspÛ³pracy z†sygna³ami PWM z†noún¹ o†czÍstotliwoúci ok. 10kHz, dziÍki czemu doskonale nadaje siÍ on do generowania typowych (dla telekomunikacji) sygna³Ûw sinusoidalnych o†czÍstotliwoúciach 17/20/25 i†50Hz. Aby zapewniÊ dobre parametry sygna³u wyjúciowego, producent zastosowa³ wysokonapiÍciowe, zewnÍtrzne klucze pr¹dowe. Pozwala to na bezpoúrednie wytwarzanie sygna³u sinusoidalnego, bez koniecznoúci stosowania po stronie wysokonapiÍciowej jakichkolwiek filtrÛw. Uk³ad LT1684 jest dostÍpny w†obudowach SOIC/DIP14, w†dwÛch wariantach termicznych: -40...+125 oC†oraz 0...+125oC. http://www.linear.com/pdf/1684f.pdf Przedstawicielami Linear Technology w†Polsce s¹ firmy: Eurodis (tel. (71) 675741), Macropol (tel. (22) 822-43-37) oraz Memec-Insight (tel. (32) 238-03-60).
Elektronika Praktyczna 10/2001
N O W E
P O D Z E S P O Ł Y
Separatory sygnałów cyfrowych
Zapowiadane od wielu miesiÍcy mikromaszynowe separatory galwaniczne sygna³Ûw cyfrowych trafi³y wreszcie do produkcji. Uk³ady ADuM1100 funkcjonalnie przypominaj¹ transoptory, ale rolÍ medium transmisyjnego spe³nia w†nich miniaturowy wibra-
tor wykonany w†modnej ostatnio technologii MEMS. Analog Devices wdroøy³ do produkcji dwa rodzaje uk³adÛw: - ADuM1100AR - przystosowany do przesy³ania sygna³Ûw o†maksymalnej czÍstotliwoúci 25MHz (minimalny czas trwania impulsu 40ns, - ADuM1100BR - przystosowany do przesy³ania sygna³Ûw o†maksymalnej czÍstotliwoúci 100MHz (minimalny czas trwania impulsu 10ns. Separatory ADuM1100 mog¹ byÊ zasilane napiÍciami 3,3/3,3V lub 5/5V (wejúcie/wyjúcie). PobÛr pr¹du przez separatory zaleøy od czÍstotliwoúci przesy³anych sygna³Ûw i†wynosi: - przy zasilaniu napiÍciem 5V: 1mA/1Mbd, 4,5mA/25Mbd, 16,8mA/100Mbd - przy zasilaniu napiÍciem 3,3V: 0,4mA/ 1Mbd, 3,5mA/25Mbd, 7,1mA/50Mbd. Uk³ady ADuM1100 (w obu wersjach) s¹ dostÍpne w†obudowach SO8 przystosowa-
nych do pracy w†otoczeniu o†temperaturze z przedzia³u -40...+100oC. http://www.analog.com/pdf/package/ ADuM1100_R8_pd.pdf Przedstawicielami Analog Devices w†Polsce s¹ firmy: Alfine (tel. (61) 820-58-11) i†Addis (tel. (32) 330-46-90).
Rys. 3.
Matryca przełączająca sygnały wideo z OSD Uk³ad MAX4356 doceni¹ z†pewnoúci¹ specjaliúci zajmuj¹cy siÍ przesy³aniem sygna³Ûw wideo, w†tym sygna³Ûw lokalnej (np. hotelowej) p³atnej telewizji. W†128-koÒcÛwkowej obudowie zintegrowano matrycÍ 16x16 prze³¹cznikÛw analogowych, poprzez ktÛre wybrany sygna³ wejúciowy jest do³¹czany do dowolnej liczby (z przedzia³u 0..16) wyjúÊ. Programowanie matrycy prze³¹cznikÛw umoøliwia interfejs szeregowy SPI. DziÍki temu, øe na wejúciach i†wyjúciach uk³adu zastosowano bufory, prze³¹czany sygna³ wideo nie ulega degradacji. Wzmocnie-
nie napiÍciowe buforÛw wyjúciowych moøna ustalaÊ na 1V/V lub 2V/V. Ich wyjúcia moøna prze³¹czyÊ w†stan wysokiej impedancji, co umoøliwia ³¹czenie uk³adÛw w†zespo³y z†po³¹czonymi wyjúciami. Do wejúÊ buforÛw wyjúciowych s¹ do³¹czone multipleksery umoøliwiaj¹ce wstawianie w†sygna³y wyjúciowe dowolnych sygna³Ûw OSD. SposÛb sterowania tych multiplekserÛw pozwala na wstawianie sygna³Ûw OSD w†kaødy sygna³ wyjúciowy niezaleønie. Uk³ady MAX4356 s¹ przystosowane do zasilania napiÍciem symetrycznym o†wartoú-
ci ±3V lub ±5V. Moøna je takøe zasilaÊ ze ürÛd³a niesymetrycznego o†napiÍciu 5V. Uk³ad jest oferowany jedynie w obudowie TQFP128 przystosowanej do pracy w†zakresie temperatury -40...+85 oC. http://pdfserv.maxim-ic.com/arpdf/ MAX4356.pdf Przedstawicielem Maxima w†Polsce jest firma SE Spezial Electronic (tel. (95) 75805-72).
Rys. 4.
Elektronika Praktyczna 10/2001
91
N O W E
P O D Z E S P O Ł Y
Scalony regenerator sygnału wideo Uk³ad MAX7428 jest wzmacniaczem sygna³u wideo, zintegrowanym z†dwuwejúciowym multiplekserem analogowym, programowanym filtrem sygna³u wideo, separatorem-generatorem impulsÛw synchronizacji oraz buforem wyjúciowym przystosowanym do wspÛ³pracy z†obci¹øeniem 75Ω. Wszystkie te bloki funkcjonalne zintegrowano
Rys. 5.
w†uk³adzie montowanym w†obudowÍ SOT23-8. Podstawowym zadaniem tego uk³adu jest regeneracja sygna³u wideo wytwarzanego na wyjúciu przetwornika C/A w†urz¹dzeniach typu CD-Video, DVD, Set-top-Box itp. Moøna go takøe wykorzystaÊ do regeneracji analogowego sygna³u wideo, poniewaø charakte-
rystykÍ filtru wbudowanego w†strukturÍ uk³adu moøna programowo modyfikowaÊ, dostosowuj¹c wzmocnienie sk³adowych o†wyøszych czÍstotliwoúciach do wymagaÒ aplikacji. CharakterystykÍ czÍstotliwoúciowoamplitudow¹ toru wideo zoptymalizowano pod k¹tem sygna³Ûw PAL i†NTSC. Premierowym rozwi¹zaniem zastosowanym w†uk³adzie MAX7428 jest jednoprzewodowy interfejs szeregowy MSPB (ang. Maxim Single Pin Bus), ktÛry moøe byÊ alternatywnym dla 1-Wire Dallasa (obecnie juø Maxima). ProtokÛ³ transmisji danych do uk³adu zosta³ szczegÛ³owo opisany w†nocie katalogowej uk³adu. Uk³ady MAX7428 s¹ przystosowane do zasilania napiÍciem o†wartoúci 5V. Ich dopuszczalna temperatura pracy mieúci siÍ w†przedziale -40...+85oC. http://pdfserv.maxim-ic.com/arpdf/ MAX7428.pdf Przedstawicielem Maxima w†Polsce jest firma SE Spezial Electronic (tel. (95) 75805-72).
Wysokotemperaturowe tranzystory International Rectifier wprowadzi³ do produkcji pierwsze tranzystory mocy HEXFET przystosowane do pracy w†temperaturze do 135 oC, przy czym dopuszczalna temperatura struktury pÛ³przewodnikowej wynosi aø 200 oC. Tranzystory IRF1704 s¹ montowane w†obudowach TO220. Ci¹g³y pr¹d drenu moøe wynosiÊ 170A przy rezystancji w³¹czonego kana³u zaledwie 4mΩ. Tranzystor jest bardzo szybki. Czas prze³¹czania w†warunkach testowych wynosi (on/off): 16/73ns, co pozwala stosowaÊ go w†systemach sterowania niskonapiÍciowymi napÍdami, elektrycznymi hamulcami itp. http://www.irf.com/product-info/datasheets/data/irf1704.pdf Przedstawicielami IRF w†Polsce s¹ firmy: Dacpol (tel. (22) 757-07-13), Future (tel. (22) 618-92-02), SE Spezial Electronic (tel. (95) 758-05-72) i†Spoerle (tel. (71) 646-52-27).
92
Elektronika Praktyczna 10/2001
P O D Z E S P O Ł Y
Druga generacja układów ATF15xx firmy Atmel Kilka lat temu Atmel wprowadzi³ do swojej oferty uk³ady programowalne rodziny ATF15xx bÍd¹ce odpowiednikami, wtedy juø dobrze osadzonych na rynku, uk³adÛw MAX7000 i†wprowadzonych nieco pÛüniej MAX3000. Teraz wprowadzeno udoskonalenia, ktÛre zaowocowa³y znacznym zwiÍkszeniem elastycznoúci uk³adÛw. PodjÍte przez Atmela prÛby stworzenia rodziny uk³adÛw alternatywnych w†stosunku do uk³adÛw Altery, bÍd¹cych odpowiednikami popularnej rodziny MAX7000 zakoÒczy³y siÍ czÍúciowym sukcesem. SzczegÛlnym powodzeniem cieszy³y siÍ uk³ady z†wymuszon¹ przez odbiorcÛw nisk¹ cen¹, co zreszt¹ by³o zgodne z†filozofi¹ Atmela. Poniewaø cenowa konkurencja nie wp³ywa³a korzystnie na interesy Altery, inøynierowie tej firmy doúÊ szybko wy³apali i†we
Rys. 1.
Elektronika Praktyczna 10/2001
wrzeúniu 1998 roku ujawnili rÛønice pomiÍdzy oryginalnymi uk³adami MAX7000 i†ich odpowiednikami z†oferty Atmela. Od tego czasu up³ynͳo kilka lat pozornego bezruchu, ktÛrych jednak Atmel nie przespa³: w†sierpniu 2001 pojawi³y siÍ wstÍpne informacje o†drugiej generacji uk³adÛw z†serii ATF15xx, w†ktÛrych zastosowano nieco zmodyfikowan¹ architekturÍ, dziÍki ktÛrej zwiÍkszono moøliwoúÊ wykorzystania wewnÍtrznych zasobÛw logicz-
nych do ponad 60%. Jak to jest moøliwe?
Niedoskona³oúci uk³adÛw programowalnych W†zaleønoúci od punktu widzenia, niedoskona³oúci w†uk³adach PLD moøna znaleüÊ wiele lub wcale. Tutaj skupimy siÍ na niezwykle rozpowszechnionym marnotrawieniu zasobÛw logicznych znajduj¹cych siÍ w†tych uk³adach. WiÍkszoúÊ producentÛw podaje dwa parametry cha-
rakteryzuj¹ce wielkoúÊ zasobÛw logicznych produkowanych przez siebie uk³adÛw: liczbÍ bramek logicznych upakowanych w†strukturze i†liczbÍ bramek ìuøytecznychî, ktÛrych zazwyczaj jest o†po³owÍ mniej. Moøna wiÍc z†dobrym przybliøeniem stwierdziÊ, øe niemal po³owa zasobÛw logicznych zintegrowanych w†PLD nie jest wykorzystywana i†to niezaleønie od rodzaju aplikacji. Taka ìrozrzutnoúÊî jest wynikiem silnego zhierarchizowania architektur uk³adÛw programowalnych o†úredniej i†duøej skali integracji (przyk³ad budowy uk³adÛw MAX7000 pokazano na rys. 1), a†takøe wyposaøania uk³adÛw w†wiele - czÍsto nadmiarowych - funkcji (np. lokalne sterowanie buforami trÛjstanowymi OE, lokalnie generowane sygna³y zegarowe, sygna³y ustawiaj¹ce lub kasuj¹ce przerzutniki itp.), do realizacji ktÛrych s¹ niezbÍdne wydzielone zasoby logiczne. Niezwykle kosztowne jest takøe zaimplementowanie w†strukturze programowalnej niezbÍdnych zasobÛw po³¹czeniowych, dziÍki ktÛrym komÛrki logiczne moøna ³¹czyÊ ze sob¹ oraz z†otoczeniem. Pomimo wprowadzania do produkcji uk³adÛw coraz nowoczeúniejszych technologii, ci¹gle obowi¹zuj¹ dwie dawno ustalone zaleønoúci: - wzrost powierzchni niezbÍdnej do wykonania matryc po³¹czeniowych jest rÛwny kwadratowi wspÛ³czynnika zwiÍkszenia liczby komÛrek logicznych (czyli w†uk³adzie ze 128 makrokomÛrkami zajmuje ona powierzchniÍ 4krotnie mniejsz¹ niø w†uk³adzie z†256 makrokomÛrkami), - pojemnoúÊ obci¹øaj¹ca linie sygna³owe w†matrycach po³¹czeniowych jest takøe zaleøna w†kwadracie od ich liczby (a wiÍc ich powierzchni), przez co silnie wp³ywa na parametry czasowe uk³adu. Tak wiÍc, ogromn¹ elastycznoúÊ uk³adÛw CPLD (ang. Complex PLD) okupiono niewielkim wspÛ³czynnikiem wykorzystania ich zasobÛw, co stanowi jedn¹ z†ich powaøniejszych niedoskona³oúci.
93
P O D Z E S P O Ł Y
Rys. 2.
Atmel znalaz³ lekarstwo CzÍúÊ problemÛw zwi¹zanych z†ìmarnotrawieniemî zasobÛw logicznych uk³adÛw PLD uda³o siÍ rozwi¹zaÊ inøynierom firmy Atmel, ktÛrzy modyfikuj¹c nieco budowÍ makrokomÛrek logicznych w†uk³adach rodziny ATF15xx spowodowali, øe sta³y siÍ one znacznie bardziej elastyczne niø uk³ady produkowane dotychczas. Na rys. 2 porÛwnano budowÍ makrokomÛrek stosowanych w†dotychczas produkowanych (rys. 2a) i†nowo opracowanych uk³adach (rys. 2b). Wprowadzone modyfikacje zaznaczono na rys. 2b na szaro. Podstawowe udoskonalenia wprowadzone do uk³adÛw ATF15xx drugiej generacji polegaj¹ na:
94
- wprowadzeniu multiplekserowego prze³¹cznika (ang. Switch Matrix) umoøliwiaj¹cego wybranie dowolnych 40 sygna³Ûw (zamiast 16..18 w†wiÍkszoúci uk³adÛw CPLD) z†magistrali globalnej i†przekazanie ich w†postaci prostej i†zanegowanej na lokaln¹ magistralÍ wejúciow¹ makrokomÛrki, - moøliwoúci implementacji w†makrokomÛrce dodatkowego przerzutnika typu D†(a nawet kilku przerzutnikÛw, w†tym Latch i†RS), dziÍki czemu - oczywiúcie w†specyficznych konfiguracjach makrokomÛrki - wykorzystanie jej lokalnych zasobÛw siÍga nawet 90%, - rozbudowaniu systemu konfigurowania úcieøek sygna³Ûw, co umoøliwiaj¹ dodatkowe
multipleksery zastosowane w†makrokomÛrkach (za ich pomoc¹ moøna zestawiÊ aø 1080 úcieøek sygna³Ûw w†stosunku do 232 w†uk³adach ATF15xx pierwszej generacji),
- wprowadzeniu aø 6†globalnych sygna³Ûw steruj¹cych prac¹ buforÛw wyjúciowych OE oraz moøliwoúci wytwarzania takiego sygna³u lokalnie w†kaødej makrokomÛrce, - wprowadzeniu dodatkowego, trzeciego globalnego sygna³u zegarowego, - umoøliwieniu bezpoúredniego podawania sygna³u z†wyprowadzenia I/O na wejúcie danych przerzutnika, - zmodyfikowaniu úcieøki sygna³u sprzÍøenia zwrotnego z†wyjúcia makrokomÛrki, ktÛry w†uk³adach drugiej generacji jest pobierany bezpoúrednio z†wyjúcia przerzutnika lub wyjúcia bramki ExOR. W uk³adach nowej rodziny ATF15xx wprowadzono takøe w†rozwi¹zania, ktÛre sprawdzi³y siÍ w†uk³adach pierwszej generacji, s¹ to: - programowane obwody podtrzymania stanu logicznego na wejúciu uk³adu PinKeeper (rys. 3), ktÛre zapobiegaj¹ ìp³ywaniuî wejúÊ, obniøaj¹ pobÛr mocy, zwiÍkszaj¹ takøe stabilnoúÊ pracy uk³adu, - programowo uruchamiany blok automatycznego obniøania pobieranej przez uk³ad mocy w†stanie statycznym ITD (ang. Input Transition Detection), ktÛry úledzi zmiany sygna³Ûw na wejúciach uk³adu i†samoczynnie prze³¹cza go w†ci¹gu ok. 1µs ze stanu obniøonego poboru mocy (pobiera ok. 1mA) do stanu pe³nej aktywnoúci, - moøliwoúÊ sprzÍtowego ograniczania poboru mocy za pomoc¹ specjalnych wejúÊ, - bufory wyjúciowe maj¹ programowan¹ przez uøytkownika szybkoúÊ narastania sygna³u na wyjúciu, moøna je takøe skonfigurowaÊ w†tryb pracy z†otwartym drenem, - wbudowany interfejs JTAG kompatybilny ze standardem IEE1532.
Rys. 3.
Elektronika Praktyczna 10/2001
P O D Z E S P O Ł Y
Rys. 4.
Rys. 6.
Rys. 5.
NarzÍdzia
go uk³adu w strukturÍ programowaln¹. Nowe fittery s¹ dostÍpne na stronie WWW firmy Atmel. OprÛcz nich jest dostÍpna takøe uaktualniona wersja WinCUPL-a (rys. 4), a†takøe zupe³nie nowe
Wykorzystanie moøliwoúci oferowanych przez uk³ady ATF15xx nowej generacji wymaga zastosowania nowych programÛw fitterÛw, ktÛry odpowiada za wpasowanie zaprojektowane-
Tab. 1. Zestawienie najważniejszych informacji o układach ATF15xx pierwszej i drugiej generacji. Gene− racja
Typ układu
Liczba makro− komórek
Napięcie zasilania [V]
Czas propagacji [ns]
1 1
ATF1500A/AL ATF1500ABV
32 32
5 3,3
7...15/20 12...15
1
ATF1502AS/ASL
32
5
7...15/25
1
ATF1502ASV
32
3,3
15/25
1 1
ATF1504AS/ASL ATF1504ASV/ASVL
64 64
5 3,3
7...15/20 15/20
1
ATF1508AS/ASL
128
5
7...15/20
1
ATF1508ASV/ASVL
128
3,3
15/20
2 2
ATF1502SE/SEL ATF1502AEV/AEL
32 32
5 3,3
6...10/15 4...10/15
2
ATF1504SE/SEL
64
5
5...10/15
2
ATF1504AE/AEL
64
3,3
4...10/15
2 2
ATF1508SE/SEL ATF1508AE/AEL
128 128
5 3,3
6...15/15 5...10/15
2
ATF1516SE/SEL
256
5
7...15/15
2
ATF1516AE/AEL
256
3,3
5...10/15
2
ATF1532AE/AEL
512
3,3
5...10/15
Elektronika Praktyczna 10/2001
narzÍdzie - pakiet ProChip Designer. Za pomoc¹ ProChip Designera (rys. 5 i†6) moøna tworzyÊ projekty z†wykorzystaniem jÍzykÛw VHDL i†CUPL, moøna takøe - korzystaj¹c z†edytora schematÛw Protela 99SE - rysowaÊ schematy logiczne realizowanych uk³adÛw. W†przypadku korzystania z†jÍzyka VHDL ProChip Designer wykorzystuje zewnÍtrzne narzÍdzie PeakFPGA firmy Altium (do niedawna Protel, dawniej Accolade, przedtem Green Mountain Computing Systems oraz Metamor). W†takim przypadku nie ma moøliwoúci wykorzystywania w†projekcie innych blokÛw funkcjonalnych niø opisanie tekstowo w†jÍzyku VHDL. Wykorzystanie w†projekcie schematu elektrycznego narzuca koniecznoúÊ zastosowania do opisu jÍzyka CUPL-a. WinCUPL jest udostÍpniany przez firmÍ Atmel bezp³atnie, natomiast ProChip Designer przynajmniej na razie - tylko w†30-dniowej wersji ewaluacyjnej. UdostÍpnienie nowego narzÍdzia nie oznacza wycofania siÍ Atmela z†dotychczasowej polityki ìpodbieraniaî klientÛw Alterze. W³¹únie dlatego powsta³a nowa, tym razem windowsowa (rys. 7), wersja programu PO2JED, konwertuj¹cego pliki wynikowe POF (wynik pracy systemu Max+Plus II) do postaci JEDEC, akceptowanej przez uk³ady Atmela. Program ten, podobnie do programu AtmISP obs³uguj¹cego programatory ISP, jest udostÍpniany przez producenta bezp³atnie. Na stronie internetowej Atmela jest dostÍpny takøe program JED2AHDL, Rys. 7.
za pomoc¹ ktÛrego moøna dokonaÊ konwersji plikÛw JEDEC na opis logiczny w†jÍzyku ABEL. Piotr Zbysiñski, AVT Dodatkowe informacje s¹ dostÍpne w†Internecie pod adresami: - http://www.atmel.com/corp/brochures/2303a/?banner - prezentacja moøliwoúci uk³adÛw ATF15xx drugiej generacji, - http://www.peakfpga.com/ vhdlref/index.html - kurs VHDL, - http://www.atmel.com/atmel/ products/prod144.htm - noty katalogowe uk³adÛw SPLD i†CPLD firmy Atmel. Programy WinCUPL oraz ProChip Designer s¹ dostÍpne pod adresami: - ftp://www.atmel.com/pub/atmel/setupex.exe - WinCUPL, - ftp://www.atmel.com/pub/atmel/pcdtrial.zip - ProChip Designer, - http://www.atmel.com/atmel/ products/prod2r.htm - rejestracja WinCUPLa i†ProChip Designera. Noty katalogowe uk³adÛw ATF15xx drugiej generacji oraz programy POF2JED, AtmISP, WinCUPL oraz ProChip Designer zamieúciliúmy na p³ycie CDEP10/2001.
95
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. 111). Chcemy w ten sposób udostępnić je Czytelnikom EP.
Mark Rumreich “Stereo w Twoim samochodzie”, Sonia Draga, Katowice 2000
Wybrane fragmenty ksi¹øki znajduj¹ siÍ na p³ycie CD-EP10/2001B. Ksi¹økÍ ìStereo w†Twoim samochodzieî wyda³a firma Sonia Draga, ktÛrej podstawow¹ dzia³alnoúci¹ jest dystrybucja sprzÍtu audio, takøe stosowanego w†samochodach. Moøna siÍ domyúliÊ, øe powodem wydania tej ksi¹øki by³ brak w†Polsce kompetentnych publikacji poúwiÍconych zagadnieniom nag³oúnienia wnÍtrza samochodu. Trzeba przyznaÊ, øe cel - i†to w†bardzo dobrym stylu - zosta³ osi¹gniÍty. Ksi¹øka sk³ada siÍ z†11 rozdzia³Ûw, w†ktÛrych autor porusza wszystkie zagadnienia dotycz¹ce instalowania i†projektowania systemÛw nag³aúniaj¹cych montowanych w†samochodach. NaprawdÍ wszystkie! Na wstÍpie znalaz³o siÍ wprowadzenie w†ìúwiatî z³¹cz i†narzÍdzi przydatnych podczas prac instalacyjnych, a†takøe podstawowych zagadnieÒ ìelektrycznychî, bez znajomoúci ktÛrych trudno jest poradziÊ sobie mniej wprawnym instalatorom. Dalej autor
Jacek Izydorczyk: ìPSpice komputerowa symulacja uk³adÛw elektronicznychî, Helion, Gliwice 1993
Ksi¹økÍ w†postaci elektronicznej publikujemy na CD-EP10/2001B. Wydawnictwo Helion zrobi³o nam nie lada prezent umoøliwiaj¹c publikacjÍ ca³ej ksi¹øki o†programie PSpice na naszym CD. Ksi¹økÍ w†wersji drukowanej wydano w†1993, lecz mimo up³ywu czasu jej zawartoúÊ zupe³nie siÍ nie zdezaktualizowa³a. Jest to przede wszystkim zas³uga autora, ktÛrego kompetencja jest zauwaøalna w†logicznie prowadzonym wyk³adzie. Ksi¹øka wprowadza Czytelnika krok po kroku w†tajniki pos³ugiwania siÍ programem PSpice - komercyjn¹ wersj¹ programu Spice2 - opracowan¹ przez nie istniej¹c¹ juø
96
prezentuje najwaøniejsze zagadnienia zwi¹zane z†g³oúnikami (w tym subwooferami), sposobami ich montaøu i†metodami projektowania obudÛw. Zamieúci³ takøe wiele porad dla osÛb zamierzaj¹cych kupiÊ sprzÍt audio do samochodu, dziÍki ktÛrym moøna bÍdzie unikn¹Ê kosztownych rozczarowaÒ. Autor wykaza³ siÍ nie lada odwag¹, poniewaø w†rozdziale 6†bezlitoúnie zdemaskowa³ ìoszustwaî producentÛw wzmacniaczy podaj¹cych na ich obudowach czÍsto nierealnie gigantyczne moce wyjúciowe. Wprowadzi³ teø pojÍcie ìmocy uczciwejî, czyli takiej ktÛra rzeczywiúcie dociera do g³oúnikÛw. Istotnym uzupe³nieniem tej czÍúci ksi¹øki jest przyjaünie poprowadzony wyk³ad z†elektrotechniki i†podstawowych praw fizyki, co w†praktyce przek³ada siÍ na prawid³owy dobÛr kabli po³¹czeniowych i†bezpiecznikÛw. W†dalszej czÍúci ksi¹øki autor omÛwi³ rolÍ equalizerÛw w†systemach nag³aúniaj¹cych, a†takøe kryteria dobierania zwrotnic g³oúnikowych. Wiele interesuj¹cych porad znajd¹ takøe zwolennicy zmieniarek CD oraz fani ìmegarozwi¹zaÒî, pragn¹cy wzbogaciÊ swÛj sprzÍt o†dodatkowe kondensatory (czÍsto ìinteligentneî) poprawiaj¹ce warunki pracy wzmacniacza czy teø specjalne materia³y t³umi¹ce drgania. Ostatni rozdzia³ ksi¹øki traktuje o†zapobieganiu i†usuwaniu zak³ÛceÒ, firmÍ MicroSim. Autor szczegÛ³owo omawia sposoby definiowania i†analizy zarÛwno prostych obwodÛw elektrycznych jak i†wielu skomplikowanych, sprzÍøonych obwodÛw wystÍpuj¹cych
o†ktÛre przecieø nietrudno w†samochodach. Wyszukiwanie informacji w†ksi¹øce u³atwia indeks hase³. Zawartoúci ksi¹øki dorÛwnuje jakoúÊ wydania, chociaø bior¹c pod uwagÍ, øe jest to ksi¹øka klejona, jej cena mog³aby byÊ (normalne øyczenie czytelnika) nieco niøsza. Zdecydowanie warto przeczytaÊ!
w†elementach pÛ³przewodnikowych. Cenna s¹ takøe przyk³ady dotycz¹ce zagadnieÒ nieelektrycznych (zachowanie cz¹steczki amoniaku i†rozwi¹zywanie uk³adÛw rÛwnaÒ rÛøniczkowych w†badaniu modeli chaosu) moøliwych do rozwi¹zania za pomoc¹ programu PSpice. Pomimo po-
Elektronika Praktyczna 10/2001
B I B L I O T E K A zornej ìoptycznejî nieprzyjaznoúci, ogromnym atutem tej ksi¹øki s¹ szczegÛ³owe opisy modeli elementÛw zastosowanych w†programie. SzczegÛlnie wartoúciowy jest szczegÛ³owy opis modelu materia³u ferromagnetycznego oraz unikalny algorytm wyznaczania parametrÛw potrzebnych do modelowania takiego materia³u. Ksi¹øka uzupe³niona jest dodatkami, w†ktÛrych podsumowano sposÛb opisu obwodu i†omÛwiono instrukcje steruj¹ce symulacj¹ i†analiz¹. Ksi¹øka moøe stanowiÊ doskona³¹ instrukcjÍ do symulatorÛw analogowych i†analogowo-cyfrowych najnowszych generacji, poniewaø sposÛb ich sterowania i†programowania ìrdzeniaî obliczeniowego, a†takøe zasady tworzenia modeli symulacyjnych praktycznie siÍ nie zmieni³y. Bardzo zas³uøone piÍÊ lutownic!
WieÒczys³aw Daca: ìMikrokontrolery - od uk³adÛw 8-bitowych do 32-bitowychî, Mikom, Warszawa 2000 3.eps
Tytu³ ksi¹øki sugeruje, øe jest to kompendium wiedzy o†mikrokontrolerach i†trzeba przyznaÊ, øe zamiar autora zosta³ w†pewnym stopniu zrealizowany. Czytelnicy znajd¹ w†ksi¹øce skrÛcony przewodnik po úwiecie mikrokontrolerÛw (w tym omÛwienie architektur, systemu przerwaÒ, pamiÍci danych i†programu, a†takøe niektÛrych modu³Ûw peryferyjnych) i†narzÍdzi programowych do tworzenia dla nich programÛw, a†takøe nieco bardziej szczegÛ³owy opis trzech rodzin mikrokontrolerÛw: 8051, C166 i†MPC860.
STMicroelectronics opracowa³ nawet program konwertuj¹cy programy asemblerowe napisane dla HC05 na asembler ST7. We fragmencie o†mikrokontrolerach PIC firmy Microchip znalaz³o siÍ zdanie: ìInne cechy rodziny PLCMicro to: bardzo szeroki zakres napiÍcia zasilaj¹cego - od 2†do 15V...î, ktÛre nie jest prawdziwe podwÛjnie. Po pierwsze, Microchip nazwa³ produkowane przez siebie mikrokontrolery PICmicro, a†nie PLCmicro (PLC - oznacza Programmable Logic Controllers), co konsekwentnie jest powtarzane w†znacznym fragmencie ksi¹øki. Po drugie, tylko jeden mikrokontroler z†rodziny PICmicro (PIC16HV540) moøe byÊ zasilany napiÍciem z†przedzia³u 3,5..15V. Zaskakuj¹ce jest takøe stwierdzenie, øe ìdo nielicznych wyj¹tkÛw naleøy sytuacja, w†ktÛrej trzeba zapewniÊ komunikacjÍ mikrokontrolera z†zewnÍtrznymi uk³adami peryferyjnymi wykorzystuj¹cymi ³¹cze komunikacji szeregowej Microwireî. Widocznie producenci pamiÍci szeregowych i†rÛønego typu uk³adÛw peryferyjnych z†Microwire i†SPI nie orientuj¹ siÍ zbyt dobrze w†realiach rynkowych... W¹tpliwoúci budzi takøe zakwalifikowanie procesorÛw DSP do grupy mikrokontrolerÛw, szczegÛlnie procesorÛw rodziny TMS320 firmy Texas Instruments, ktÛra produkuje interesuj¹ce mikrokontrolery rodzin MSP430 i†TMS370. Nie s¹ to wszystkie wykryte przeze mnie niedoci¹gniÍcia tej publikacji, ale uwaøam - pomimo ich wagi - øe waøny jest takøe oryginalny pomys³ autora, ktÛry wype³ni³ prezentowan¹ ksi¹øk¹ istotn¹ lukÍ w†niezbyt bogatej, wspÛ³czesnej literaturze z†zakresu tej tematyki. Uwaøam, øe po dopracowaniu, merytorycznym zweryfikowaniu i†zaktualizowaniu treúci ksi¹øki, moøe siÍ ona staÊ waønym podrÍcznikiem na pÛ³ce kaødego mikroprocesorowca. Dlatego - z†nadziej¹ - 3†lutownice!
W³odzimierz Zieniutycz: ìAnteny. Podstawy poloweî, WK£, Warszawa 2001
Ksi¹øka jest przede wszystkim fenomenem rynkowym: jej wydanie sponsorowa³ Przemys³owy Instytut Telekomunikacji oraz Wydzia³ Elektroniki, Telekomunikacji i†Infor-
Niestety, autor dopuúci³ siÍ w†ich prezentacji wielu uogÛlnieÒ, ktÛre mog¹ nieco ìzamieszaÊî w†g³owach mniej doúwiadczonych fanÛw techniki mikroprocesorowej. Najpowaøniejszym niedoci¹gniÍciem jest pominiÍcie niezwykle popularnych procesorÛw z†rodziny AVR, a†takøe mikrokontrolerÛw Z8 i†Z8Plus firmy Zilog. Z†kolei mikrokontrolery Motoroli zosta³y przedstawione jako najwiÍkszy konkurent ë51, co od kilku lat nie jest prawd¹. Takøe porÛwnanie moøliwoúci funkcjonalnych procesorÛw rodziny ST7 z†ë51 nie jest na miejscu, poniewaø mikrokontrolery ST7 s¹ niemal 100% odpowiednikami HC05.
Elektronika Praktyczna 10/2001
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Ê matyki Politechniki GdaÒskiej. W†znacznym stopniu determinuje to jej zawartoúÊ: jest to bardzo szczegÛ³owy i†bardzo teoretyczny podrÍcznik, przeznaczony dla projektantÛw anten i†systemÛw antenowych. Korzyúci z†tej ksi¹øki uzyskaj¹ Czytelnicy o†dobrym przygotowaniu matematycznym, poniewaø swoje wywody autor bogato ilustruje wieloma wzorami. Autor szczegÛlnie wiele miejsca poúwiÍci³ na omÛwienie podstawowych metod analizy pÛl elektromagnetycznych wytwarzanych przez anteny w†oparciu o†rÛwnania Maxwella oraz rÛwnania falowe z†wykorzystaniem ürÛde³ fizycznych i†wirtualnych (pr¹dy magnetyczne), w†strefie bliskiej i†dalekiej (za pomoc¹ potencja³Ûw wektorowych i†skalarnych). Przedstawiono takøe teoriÍ obliczania szykÛw antenowych liniowych i†planarnych oraz wybrane metody analizy i†syntezy zespo³Ûw anten.
Betty Prince: ìNowoczesne pamiÍci pÛ³przewodnikoweî, WNT, Warszawa 1999
Pierwsze (oryginalne) wydanie tej ksi¹øki ukaza³o siÍ w†1996 roku. Mimo up³ywu piÍciu lat i†rozwoju architektur i†technologii pamiÍci pÛ³przewodnikowych, treúÊ ksi¹øki zdezaktualizowa³a siÍ w†niewielkim stopniu. Autorka nietrafnie przewidzia³a tempo rozwoju mikroprocesorÛw (ktÛre w†2000 roku mia³y byÊ taktowane sygna³em zegarowym o†czÍstotliwoúci ìaøî 300MHz), natomiast przedstawione w†ksi¹øce szczegÛ³y techniczne zwi¹zane z†budow¹ pamiÍci nie zosta³y naruszone przez czas. W†ksi¹øce, uwzglÍdniaj¹c wymogi wspÛ³czesnego rynku elektronicznego, narzucaj¹ce koniecznoúÊ budowania coraz szybszych pamiÍci, bardzo wiele miejsca poúwiÍcono omÛwieniu technik przyspieszania transferu danych do i†z†pamiÍci statycznych oraz dynamicznych. Stosunkowo wiele miejsca poúwiÍcono takøe zastosowaniom pamiÍci podrÍcznych oraz jedno- i†wieloportowym pa-
97
B I B L I O T E K A
E P
miÍciom stosowanym w†kartach wizyjnych i†systemach obrÛbki obrazu. Bardzo cennym uzupe³nieniem treúci ksi¹øki jest prezentacja nowoczesnych standardÛw interfejsÛw stosowanych w†pamiÍciach (m.in. HSTL, GTL, CTT, LVTTL wraz z†rÛønymi trybami pracy), a†takøe pamiÍci z†zaimplementowanymi protoko³ami obs³ugi transferu danych (RamBus i†Synclink). Pomimo tytu³u obiecuj¹cego omÛwienie wszystkich zagadnieÒ dotycz¹cych pamiÍci, autorka w†ksi¹øce nie poruszy³a zagadnieÒ zwi¹zanych z†pamiÍciami FRAM oraz pamiÍciami sta³ymi EPROM, EEPROM i†Flash. Brakuje takøe informacji o†pamiÍciach z†interfejsami szeregowymi. Z†tego powodu ksi¹øce przyda³by siÍ podtytu³ ìSzybkie pamiÍci SRAM, DRAM i†pochodneî.
Giovanni De Micheli: ìSynteza i†optymalizacja uk³adÛw cyfrowychî, WNT 1998
Nie przyznaliúmy tej ksi¹øce tytu³u ìKsi¹øki miesi¹ca EPî tylko z†powodu w³asnego gapiostwa - jest ona na rynku juø od blisko 3†lat, a†dopiero teraz poúwiÍcamy jej nieco miejsca w†EP. Autor ksi¹øki, dobrze znany w†úwiecie techniki cyfrowej, przygotowa³ prawdziw¹ encyklopediÍ techniki cyfrowej, w†ktÛrej zawar³ praktycznie ca³¹ istotn¹ dla inøynierÛw wiedzÍ z†tej dziedziny. Sporo miejsca poúwiÍci³ zagadnieniom syntezy logicznej, optymalizacji projektÛw oraz jÍzykom modelowania sprzÍtu. Mniej zaawansowanych CzytelnikÛw wprowadz¹ w†nieco bardziej z³oøone zagadnienia dwa pierwsze rozdzia³y
98
ksi¹øki, w†ktÛrych autor w†bardzo przejrzysty sposÛb przeprowadzi³ wyk³ad (w najlepszym tego s³owa znaczeniu) wstÍpny. Prezentowana ksi¹øka ma jeszcze dwa niebagatelne atuty: jest doskonale wydana (brawa dla wydawnictwa!), a†kosztuje przy tym stosunkowo niewiele. Gor¹co polecamy!
Piotr WrÛblewski: ìAlgorytmy, struktury danych i†techniki programowania - wyd. IIî, zawiera dyskietkÍ, Helion, Gliwice 1997
nizmÛw programistycznych. NastÍpnie omÛwiono najpopularniejsze algorytmy sortowania oraz pokazano implementacje programowe najpopularniejszych struktur danych (listy, kolejki, drzewa binarne itp.). Kolejne rozdzia³y poúwiÍcono algorytmom przeszukiwania z†wyodrÍbnieniem przeszukiwania tekstÛw oraz grafom. Rozdzia³ o†algorytmach numerycznych moøna traktowaÊ jedynie jako sygnalizacjÍ tematu, gdyø wykracza on poza tematykÍ ksi¹øki a†wybÛr zaprezentowanych algorytmÛw numerycznych wydaje siÍ doúÊ przypadkowy. Ksi¹økÍ koÒczy rozdzia³ ìKodowanie i†kompresja danychî, ale czy na 16 stronach moøna omÛwiÊ (z listingami) te dwa obszerne tematy? Po kaødym rozdziale znajduj¹ siÍ zadania do samodzielnego rozwi¹zania, ktÛre umoøliwiaj¹ sprawdzenie zrozumienia tematu. Na do³¹czonej do ksi¹øki dyskietce znajduj¹ siÍ programy ürÛd³owe w†jÍzyku C++, pokazuj¹ce dzia³anie algorytmÛw omÛwionych w†ksi¹øce. Ksi¹øka jest adresowana do szerokiej rzeszy programistÛw. Autor prezentuj¹c algorytmy postawi³ przede wszystkim na praktykÍ, czyli zaprezentowanie dzia³aj¹cych programÛw. Jednak do wyczerpania tematyki brakuje pe³niejszego zaprezentowania podstaw teoretycznych. Teoria, ktÛra pojawia siÍ w†kilku miejscach jest jakby trochÍ na si³Í wstawiona i†niestety bez podstawowego przygotowania informatycznego jest raczej niezrozumia³a. Podsumowuj¹c moøna stwierdziÊ, øe jest to ksi¹øka warta polecenia wszystkim programuj¹cym w†jÍzyku C++, chociaø naleøy j¹ traktowaÊ jako wprowadzenie do algorytmiki, gdyø wybÛr algorytmÛw, ktÛre zaprezentowano w†ksi¹øce, zosta³ dokonany przez autora i†nie zawsze musi odpowiadaÊ naszym potrzebom.
Przy ocenianiu tej ksi¹øki trudno nie porÛwnaÊ jej ze znan¹ chyba wszystkim pisz¹cym programy ksi¹øk¹ Niklausa Wirtha ìAlgorytmy + struktury danych = programyî z†1976 roku. Mimo up³ywu lat ksi¹øka ta wci¹ø jest jedn¹ z†obowi¹zkowych lektur w†nauczaniu informatyki. Omawiana ksi¹øka w†znacznym stopniu rÛøni siÍ od ksi¹øki Niklausa Wirtha. Przede wszystkim prezentowane algorytmy s¹ kodowane w†jÍzyku C++, co z†pewnoúci¹ ucieszy wielu programistÛw, gdyø zdecydowana wiÍkszoúÊ ksi¹øek o†tej tematyce jednak preferuje Pascal. Dodatkowo w†ksi¹øce zawarto znacznie wiÍcej algorytmÛw niø w†pozycji Niklausa Wirtha, co w†pewnym stopniu wynika z†czasami bardzo zwiÍz³ego opisu. Niestety, ze zwiÍz³ego opisu algorytmu czasami wynika poczucie niedosytu wiedzy, ktÛre w†ksi¹øce Niklausa Wirtha raczej nie wystÍpuje. Ksi¹økÍ rozpoczyna wstÍp do algorytmiki oraz przedstawienie zalet i†wad rekurencji, jako jednego z†waøniejszych mecha-
Elektronika Praktyczna 10/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.
Przetwornica napięcia do świetlówki Prezentowany projekt przetwornicy dowodzi, øe na jednym tranzystorze moøna zrobiÊ ca³kiem ìpowaøneî urz¹dzenie.
Projekt
091 WszÍdzie tam, gdzie dostÍp do sieci energetycznej jest utrudniony lub niemoøliwy, stosuje siÍ inne ürÛd³a energii, np. akumulatory. W†przypadku zastosowania ich do zasilania ürÛde³ úwiat³a wystÍpuj¹ pewne ograniczenia. Akumulatory maj¹ znacznie niøsze napiÍcie niø sieÊ energetyczna, do tego jest ono biegunowe. To utrudnia zastosowanie akumulatorÛw do zasilania np. úwietlÛwek. Jak wiadomo s¹ one bardzo ekonomicznymi ürÛd³ami úwiat³a, znacznie bardziej trwa³ymi w†porÛwnaniu ze zwyk³ymi øarÛwkami. Poza tym widmo úwiat³a typowych úwietlÛwek jest znacznie bardziej zbliøone do úwiat³a
Rys. 1.
Elektronika Praktyczna 10/2001
dziennego (bia³ego), a†przez to najmniej mÍczy oczy. W†artykule opisujÍ wykonanie przetwornicy napiÍcia do úwietlÛwki. Charakteryzuje siÍ prostot¹ wykonania, brakiem trudno dostÍpnych podzespo³Ûw i bardzo niskim kosztem wykonania.
Opis uk³adu Schemat ideowy przetwornicy pokazano na rys. 1. Jak widaÊ, przetwornica jest zbudowana z†niewielkiej liczby elementÛw. ìSercemî przetwornicy s¹ cewki z†duø¹ liczb¹ zwojÛw. W†tej roli najczÍúciej wystÍpuje rÍcznie nawijany (w warunkach amatorskich) transformator, rzadziej uzwojenia na prÍcie ferrytowym. Nawijanie jest bardzo czaso- i†pracoch³onne. Jedynie najbardziej doúwiadczeni elektronicy s¹ w†stanie samodzielnie wykonaÊ tÍ czÍúÊ przetwornicy. Wykorzystuj¹c to utrudnienie wielu producentÛw tego rodzaju przetwornic oferuje swoje produkty po znacznie zawyøonych cenach. Dlatego w†swojej konstrukcji postanowi³em wykorzystaÊ gotowy transformator z†dzielonymi uzwojeniami oferowany w†handlu. Jest on toroidalny,
a†wiÍc ma mniejsze wymiary i†wyøsz¹ sprawnoúÊ niø odpowiadaj¹cy mu moc¹ typowy transformator sieciowy. Transformator TR1 wspÛ³pracuje jedynie z†czterema elementami: T1, C1, R1, R2. Tworz¹ one prosty generator (tzw. samod³awny). G³Ûwnymi elementami, ktÛre wp³ywaj¹ na czÍstotliwoúÊ generatora s¹ R1 i†C1. Poza tym na czÍstotliwoúÊ pracy przetwornicy ma teø wp³yw napiÍcie zasilania, wartoúÊ rezystancji rezystora pomocniczego R2, w†znacznie mniejszym stopniu temperatura otoczenia. Przetwornica, ktÛrej dzia³aj¹cy model przedstawiono na fotografii, zosta³a przewidziana do wspÛ³pracy z†typow¹ úwietlÛwk¹ o†mocy 18W. Zasilanie stanowi dowolny akumulator 12V. PobÛr pr¹du po zap³onie úwietlÛwki wynosi³ oko³o 0,6A. Elementy B1, D1 dodano w†celu zwiÍkszenia bezpieczeÒstwa uk³adu. Dioda D1 ma zabezpieczaÊ przetwornicÍ w†razie odwrotnej biegunowoúci zasilania. Sytuacja taka spowoduje przep³yw znacznego pr¹du i†zadzia³anie bezpiecz-
99
PROJEKTY CZYTELNIKÓW
Rys. 2.
nika B1, ktÛry przerwie obwÛd. Bezpiecznik zadzia³a takøe w†przypadku (ma³o prawdopodobnego) zwarcia w†obwodzie przetwornicy, co uchroni akumulator przed szybkim, ca³kowitym roz³adowaniem. Przetwornica nie posiada øadnego kondensatora filtruj¹cego napiÍcie zasilania. Jest on zbÍdny w†przypadku zasilania z†akumulatora.
Montaø i†uruchomienie uk³adu Pomimo niewielkiego stopnia skomplikowania przetwornicy, naleøy zwrÛciÊ baczn¹ uwagÍ na prawid³owoúÊ jej montaøu. Pomocny bÍdzie schemat montaøowy pokazany na rys. 2. SzczegÛln¹ uwagÍ naleøy zwrÛciÊ na odpowiednie zidentyfikowanie koÒcÛwek elementÛw, a†zw³aszcza transformatora. B³Ídne pod³¹czenie uniemoøliwi dzia³anie przetwornicy. Po wytrawieniu p³ytki przystÍpujemy do wiercenia w†niej otworÛw. Powinny mieÊ one nastÍpuj¹ce úrednice: - pod R1, R2, C1, otwory ì3î..î6î - 1mm, - pod D1, T1, B1 1,2...1,5mm, - poúrodku p³ytki - 10mm, - pod przewody doprowadzaj¹ce zasilanie i†wyjúciowe do úwietlÛwki - 2mm, - w†naroønikach p³ytki i†pod T1 (do jego przykrÍcenia) oraz osiem symetrycznie
100
rozmieszczonych otworÛw w†pobliøu miejsca przeznaczonego do zamontowania transformatora - 3mm. Po nawierceniu otworÛw przystÍpujemy do lutowania poszczegÛlnych podzespo³Ûw przetwornicy, w†zalecanej nastÍpuj¹cej kolejnoúci: R1, R2, D1, C1, B1, T1 - poziomo. ObudowÍ T1 przykrÍciÊ do p³ytki za pomoc¹ krÛtkiej úrubki 3mm z†nakrÍtk¹ - obie strony úrubki pokryÊ (tj. na gÛrze i†od do³u p³ytki drukowanej) past¹ silikonow¹ (najlepiej typu H†- o†podwyøszonej przewodnoúci cieplnej). Zapobiegnie to ewentualnemu przegrzaniu tranzystora. Transformator TR1 umieszczamy poúrodku p³ytki. PrzystÍpujemy do wykonania obejm uniemoøliwiaj¹cych przemieszczanie siÍ transformatora po powierzchni p³ytki. W†tym celu przez transformator i†osiem 3-milimetrowych otworÛw w†jego pobliøu przewlekamy cztery odcinki dratwy lub innego mocnego sznur-
ka, wi¹ø¹c koÒce ze sob¹. NastÍpnie lutujemy wyprowadzenia transformatora w†otworach na p³ytce drukowanej oznaczonych numerami od 1 do 6, po czym skracamy je. IdentyfikacjÍ wyprowadzeÒ transformatora u³atwi rys. 3. W†dwÛch otworach wyprowadzaj¹cych zasilanie dla úwietlÛwki lutujemy przewody sieciowe o†d³ugoúci ok. 10cm. Do drugiego ich koÒca przykrÍcamy kostkÍ elektrotechniczn¹. Naleøy j¹ przymocowaÊ do jednego z†bokÛw obudowy przetwornicy. W†otwory doprowadzaj¹ce ì+î i†ì-î zasilania do úwietlÛwki zosta³ wlutowany dwuøy³owy przewÛd zakoÒczony wtyczk¹ pasuj¹c¹ do gniazda zapalniczki samochodowej. PrzewÛd przechodzi przez 5milimetrowy otwÛr z†drugiej strony obudowy. Ostatni¹ czynnoúci¹, koÒcz¹c¹ montaø przetwornicy, jest zamkniÍcie jej w†stosownej obudowie. WybÛr pad³ na plastykow¹ obudowÍ o†oznaczeniu handlowym Z-5. Jej wymiary wynosz¹: 110x90x40mm. P³ytkÍ przykrÍcono za pomoc¹ czterech úrub 3mm zakoÒczonych nakrÍtkami. Za pomoc¹ tych úrub przykrÍcono takøe nÛøki obudowy. Jeden wkrÍt przechodz¹cy przez úrodek obudowy ³¹czy jej dwie czÍúci. Po zmontowaniu przetwornicy naszed³ czas na jej uruchomienie. Do kostki elektrotechnicznej, przykrÍconej z†boku obudowy przetwornicy, przykrÍcamy dwa izolowane przewody po³¹czone z†gniazdami úwietlÛwki. Dla bezpieczeÒstwa powinno siÍ zastosowaÊ w tym celu dostÍpne w†sklepach plastykowe oprawki do úwietlÛwki lub kostki elektrotechniczne. W†przypadku tej przetwornicy nie trzeba pod³¹czaÊ wszystkich czterech wyprowadzeÒ úwietlÛwki - wystarczy dwa naprzeciwleg³e. Oznacza to moøliwoúÊ wykorzystania takøe úwietlÛwek uszkodzonych, z†przepalony-
mi obwodami øarzenia, o†ile nie uleg³y rozszczelnieniu. Przetwornica nie powinna pracowaÊ bez obci¹øenia. Jeúli úwietlÛwka jest pod³¹czona, w³¹czamy zasilanie - na³adowany akumulator 12V, np. samochodowy (silnik zgaszony) czy øelowy. Prototyp przetwornicy testowano przy³¹czaj¹c 10 akumulatorkÛw NiCd 1,2V/0,8Ah po³¹czonych szeregowo. Gdy by³y w†pe³ni na³adowane, zapewnia³o to mniej wiÍcej godzinne úwiecenie úwietlÛwki. Nawet czÍúciowo roz³adowany akumulator samochodowy zapewni wiÍc przynajmniej kilkudziesiÍciogodzinne, nieprzerwane úwiecenie úwietlÛwki. Jeøeli przetwornica by³a zmontowana zgodnie z†zaleceniami, to úwietlÛwka powinna zaúwieciÊ siÍ niemal natychmiast po w³¹czeniu zasilania. Jedyn¹ czynnoúci¹ regulacyjn¹ moøe okazaÊ siÍ koniecznoúÊ dok³adniejszego dobrania rezystora R1. Na czas prÛb moøna zamiast niego przylutowaÊ do p³ytki potencjometr 2,2kΩ wraz z†szeregowo do³¹czonym rezystorem 100Ω. Potencjometrem regulujemy tak, aby nastÍpowa³ zap³on úwietlÛwki i†pobiera³a ona moøliwie jak najmniejszy pr¹d z†akumulatora. Jedynym ubocznym efektem pracy przetwornicy jest wydobywaj¹cy siÍ z†transformatora düwiÍk o†czÍstotliwoúci kilkunastu kHz. Z†tak¹ czÍstotliwoúci¹ pracuje przetwornica. Za pomoc¹ rezystora R1 moøna rÛwnieø dobraÊ czÍstotliwoúÊ jej pracy tak, aby düwiÍk Ûw by³ praktycznie nies³yszalny, co wi¹øe siÍ ze zwiÍkszeniem czÍstotliwoúci. Wyøsza czÍstotliwoúÊ pracy oznacza jednak wiÍkszy pobÛr pr¹du. PobÛr pr¹du przez przetwornicÍ nie moøe przekroczyÊ 0,8...0,9A.
Uwagi koÒcowe Montowanie elementÛw B1, D1 nie jest bezwzglÍdnie wymagane. W†przypadku zasilania przetwornicy za poúred-
sklejka (polakierować)
¿ó³ty 1 2
ró¿owy ¿ó³ty
3
przetwornica
przewód zasilania 12V
4
ró¿owy niebieski
5 6
świetlówka
niebieski Tr1
Rys. 3.
oprawki lub kostki elektrotechniczne
Rys. 4.
Elektronika Elektronika Praktyczna Praktyczna 10/2001 2/98
PROJEKTY CZYTELNIKÓW nictwem wtyku o†ustalonej biegunowoúci ryzyko odwrotnego pod³¹czenia zasilania jest niemal øadne. D1 moøna wiÍc nie montowaÊ. Bezpiecznik B1 moøna zast¹piÊ zwor¹ lub automatycznym bezpiecznikiem polimerowym. W†obudowie prototypu szeregowo z†jednym z†przewodÛw doprowadzaj¹cych zasilanie z†akumulatora zamontowano wy³¹cznik düwigienkowy. Jego montowanie nie jest konieczne. Wy³¹cznik taki moøe siÍ przydaÊ jedynie w†przypadku, gdy wtyczka zasilania znajduje siÍ w†sporej odleg³oúci od przetwornicy (d³ugi przewÛd doprowadzaj¹cy zasilanie). W†wiÍkszoúci przypadkÛw zamiast wy³¹cznika wystarczaÊ bÍdzie wyjÍcie wtyczki z†gniazda zasilania doprowadzaj¹cego napiÍcie z†akumulatora.
Elektronika Praktyczna 10/2001
åwietlÛwka powinna byÊ zamontowana w†specjalnie do niej przeznaczonej oprawie lub przynajmniej przymocowana do jakiegoú sztywnego pod³oøa, np. do sklejki o†gruboúci minimum 5mm. Wtedy moøna przewidzieÊ teø miejsce dla przetwornicy. Najproúciej bÍdzie j¹ przykrÍciÊ do wspomnianej sklejki za pomoc¹ tych samych úrub, ktÛre mocuj¹ p³ytkÍ drukowan¹ i†nÛøki obudowy przetwornicy. Wtedy úruby te powinny byÊ dostatecznie d³ugie. Przyk³adowy wygl¹d tak wykonanej úwietlÛwki przedstawiono na rys. 4. Przetwornica moøe zasilaÊ nie tylko úwietlÛwkÍ o†mocy 18W. Dla zastosowanego transformatora moøliwe jest zastosowanie takøe úwietlÛwek o†mniejszych mocach i†tym samym wymiarach oraz poborze pr¹du. W†takiej sytuacji war-
toúci elementÛw R1, R2, C1 trzeba dobraÊ doúwiadczalnie. Podczas pracy przetwornicy, a†zw³aszcza w†momencie zap³onu úwietlÛwki, na jej koÒcach oraz na wyprowadzeniach ì1î i†ì2î transformatora TR1 panuje niebezpiecznie wysokie napiÍcie! W†zwi¹zku z†tym naleøy bezwzglÍdnie wystrzegaÊ siÍ dotykania tych miejsc w†czasie pracy i†uruchamiania uk³adu. PrzetwornicÍ moøe zmontowaÊ nawet pocz¹tkuj¹cy elektronik. Jednak z†uwagi na obecnoúÊ wysokiego napiÍcia w†pewnych miejscach przetwornicy, uruchamianie powinna przeprowadzaÊ wy³¹cznie osoba doros³a. Powinna mieÊ ona doúwiadczenie w†uruchamianiu uk³adÛw, w†ktÛrych wystÍpuj¹ wysokie napiÍcia. Dariusz Knull
WYKAZ ELEMENTÓW Rezystory *R1: 1,5kΩ R2: 91Ω Kondensator C1: 33nF/63V MKT Półprzewodniki D1: 1N4001..7 T1: BD243C lub podobny Różne TR1: toroidalny TST 20/004 (220V/2x12V 2x0,8A) B1: 1,5A (WTA−T) lub polimerowy płytka drukowana obudowa Z−5 lub podobna z serii KM−xx izolowane przewody połączeniowe, Cu, φ min. 1mm świetlówka 18W + oprawki akumulator 12V
101
PROJEKTY CZYTELNIKÓW
Cyfrowy regulator ciśnienia, część 2 W tym artykule koÒczymy opis cyfrowego regulatora ciúnienia, o†niebanalnej konstrukcji z†czym zapewne zgodz¹ siÍ uwaøni Czytelnicy EP. Przedstawiamy opis szczegÛ³Ûw zwi¹zanych z†uruchomieniem i†kalibracj¹ regulatora.
Projekt
090 mosfer) 20mA (I MAX). Poniewaø zastosowano 8-bitowy przetwornik A/C, maksymalnie moøna uzyskaÊ 256-stopniow¹ rozdzielczoúÊ wartoúci ciúnienia. Jeøeli za³oøymy rozdzielczoúÊ wskazaÒ rÛwn¹ 0,005MPa (5kPa), to ìzuøyjemyî wÛwczas NW stopni rozdzielczoúci przetwornika A/C: N W =1MPa/ 0,005Pa=200. NastÍpnie obliczmy wartoúÊ pr¹du przypadaj¹c¹ na jednostkÍ rozdzielczoúci przetwornika, zgodnie ze wzorem: IIRP=(I MAX-I0)/N W=0,08mA.
Programowanie pamiÍci wyúwietlacza PW Programowanie pamiÍci rozpoczynamy od pamiÍci wyúwietlacza PW, w†ktÛrej naleøy zapisaÊ charakterystykÍ przetwornika ciúnienia. W†naszym przyk³adzie bÍdzie to przetwornik o†zakresie pomiarowym 0..1MPa z†wyjúciem pr¹dowym 4..20mA. Oznacza to, iø przy ciúnieniu atmosferycznym pr¹d wyjúciowy przetwornika bÍdzie wynosi³ 4mA (I 0 ), a†przy ciúnieniu 1MPa (10 at-
Elektronika Praktyczna 10/2001
Tab. 3. Wyjście cyfrowe przetwornika A/C (dziesiętnie) 0 ÷ 40
Wskazania wyświetlacza
41 ÷ 49 50 ÷ 249 250 ÷ 255
9÷1 0 ÷ 995
Znaczenie
Uwagi
Awaria − prąd w pętli Następuje pomiarowej mniejszy zablokowanie niż 3,2 mA pompy PU Wartość ujemnej Do kalibracji odchyłki od zera przetwornika Wskazania ciśnienia ( co 5 kPa ) Przekroczenie zakresu pomiarowego
101
PROJEKTY CZYTELNIKÓW Tab. 4. Adresy pamięci A1 0 0 1 1
Wyjście danych pamięci PW Binarnie Heksadecymalnie Część znakowa Część pozycyjna A0 0 1 0 1
D7 1 1 0 0
D6 0 0 0 0
D5 1 1 0 0
D4 0 1 0 0
D3 1 1 1 1
D2 0 0 0 0
D1 0 1 0 0
D0 1 0 0 0
A9 BA 08 08 Rys. 7.
NastÍpnie obliczmy liczbÍ stopni N 0 rozdzielczoúci przetwornika A/C przypadaj¹cych na niezwi¹zany z†samym pomiarem pr¹d zerowy przetwornika ciúnienia (I 0 =4mA): N 0 =I 0 / I IRP=50 oraz sprawdzimy czy 8-bitowy przetwornik zapewni nam za³oøon¹ rozdzielczoúÊ: N W+N 0=250<256. Okaza³o siÍ wiÍc, øe zmieúciliúmy siÍ w†rozdzielczoúci 8-bitowego przetwornika A/ C, a†nawet mamy ma³y zapas. Mapa pamiÍci wyúwietlacza PW (US2) zosta³a przedstawiona w†Tabeli PW. SkrÛtowy opis mapy przedstawia tab. 3. Zbyt ma³a wartoúÊ pr¹du w†pÍtli pomiarowej (poniøej 3,2mA) jest uznawana za sytuacjÍ awaryjn¹ - rozerwanie linii. Na wyúwietlaczu pojawia siÍ odpowiedni symbol, a†pompa uzupe³niaj¹ca PU jest utrzymywana w†stanie wy³¹czenia. Do blokowania pompy wykorzystuje siÍ wyjúcie D3 pamiÍci PW (US2), ktÛre za pomoc¹ negatora OC (US13/C) zwiera kondensator C11 do masy. W†tym teø celu bajty wyúwietlaj¹ce symbol przerwy maj¹ budowÍ przedstawion¹ w†tab. 4. Jak moøna zauwaøyÊ, pamiÍÊ wyúwietlacza podzielono na czterobajtowe grupy, w†ktÛrych kaødy bajt odpowiada za jedn¹ z†cyfr wyúwietlacza. I†tak zapis: - *1 - dotyczy najmniej znacz¹cej cyfry, - *2 - dotyczy cyfry úrodkowej, - *4 - dotyczy najbardziej znacz¹cej cyfry, - *8 - steruje awaryjnym wy³¹czeniem pompy PU, gdzie * oznacza znak do wyúwietlenia.
PamiÍÊ regulatora PR Zadaniem pamiÍci regulatora jest wytworzenie na wyjúciu danych 8-bitowej liczby z†zakodowan¹ informacj¹
102
o†nastawach i†wartoúci histerezy, ktÛre zosta³y doprowadzone do jej wejúÊ adresowych (12 bitÛw). Mapa pamiÍci PR jest tworzona na podstawie charakterystyki przetwornika A/C. SposÛb jej tworzenia zostanie pokazany na przyk³adzie. Dla przejrzystoúci wszystkie wartoúci w†tab. 5†s¹ podane w†postaci dziesiÍtnej. Poniewaø do ustawienia punktÛw pracy zaworu i†pompy zastosowano nastawniki z³oøone z†dwÛch segmentÛw, to nastawy moøna wykonywaÊ z rozdzielczoúci¹ do 0,01MPa (10kPa). Ustawiaj¹c na nastawniku dla pompy punkt pracy rÛwny 20kPa i†histerezÍ His=0, musimy zgodnie z†tabel¹ wygenerowaÊ na wyjúciu pamiÍci PR liczbÍ 54, gdyø taka jest wartoúÊ otrzymana z†przetwornika A/ C dla tego ciúnienia. Jeøeli zmienimy histerezÍ na His=5kPa, to na wyjúciu pamiÍci PR otrzymamy liczbÍ 55 dla histerezy dodatniej i†liczbÍ 53 dla ujemnej. Z kolei ustawiaj¹c His=10kPa otrzymamy liczby 56 i†52. Znak histerezy ustalany jest w†zaleønoúci od stanu, w†jakim znajduje siÍ przekaünik wyjúciowy. Gdy jest on wy³¹czony, to dla pompy musi byÊ to histereza ujemna, gdyø za³¹czenie jej nastÍpuje kiedy ciúnienie rÛwne jest wartoúci nastawionej na na-
PowtÛrnie ustawiamy wartoúÊ pr¹du na 4†mA, co powinno spowodowaÊ wyúwietlenie ì0î. Jeøeli tak siÍ sta³o, to kalibracja jest skoÒczona. Gdyby nie uda³o siÍ uzyskaÊ dla jednego ustawienia potencjometru RH1 powyøszych wskazaÒ na wyúwietlaczu, to winÍ za to moøe ponosiÊ nieliniowoúÊ przetwornika A/C. W†takim przypadku naleøy zdj¹Ê charakterystykÍ przetwornika doúwiadczalnie i†odpowiednio do niej zmodyfikowaÊ zawartoúci pamiÍci PW i†PR. Wykorzystuj¹c uk³ad do kalibracji naleøy sprawdziÊ dzia³anie regulatora dla rÛønych nastaw i†wartoúci histerezy.
stawniku minus wartoúÊ histerezy (dla zaworu jest odwrotnie). Do sterowania znakiem histerezy wykorzystuje siÍ wyjúcia Q†uk³adÛw US10 i†US11. Minimalna histereza dla His=0 wynosi +5kPa, dlatego ustawiaj¹c np. wartoúÊ histerezy His=15kPa naleøy siÍ liczyÊ z tym, øe bÍdzie ona w†rzeczywistoúci wynosi³a od -15kPa do +20kPa.
Montaø i†kalibracja Regulator najlepiej zamontowaÊ w†obudowie panelowej. Niestety, na rynku bardzo trudno dostaÊ takie obudowy w†rozs¹dnej cenie. Dlatego teø p³ytka regulatora zosta³a dopasowana do obudowy po starym mierniku analogowym. Na p³ycie czo³owej regulatora znajduje siÍ wyúwietlacz cyfrowy i†elementy nastawcze. KalibracjÍ wykonuje siÍ w†uk³adzie przedstawionym na rys. 7. Procedura kalibracji powinna przebiegaÊ nastÍpuj¹co: Za pomoc¹ rezystora RK naleøy ustawiÊ wartoúÊ pr¹du rÛwn¹ 4†mA. Potencjometrem RH1 (wewn¹trz regulatora) naleøy ustawiÊ wartoúÊ 0†na wyúwietlaczu cyfrowym. ZwiÍkszamy pr¹d do wartoúci 19,2mA i†tak krÍcimy potencjometrem RH1, aby na wyúwietlaczu uzyskaÊ wskazanie ì995î.
Uwagi koÒcowe W†regulatorze moøna wykorzystaÊ dowolne pamiÍci z†wyjúciem rÛwnoleg³ym, przy czym pamiÍÊ wyúwietlacza PW (US2) musi posiadaÊ minimum 10 wejúÊ adresowych (np. 2716, 28C16), a†pamiÍÊ regulatora PR (US3) 12 wejúÊ (2764). Przedstawione rozwi¹zanie sterownika ciúnienia jest sprawdzone podczas wieloletniej bezawaryjnej pracy w†rÛønych miejscach, takich jak wÍz³y cieplne, stacje wodoci¹gowe i†instalacje sprÍøonego powietrza. Mariusz Dulewicz, [email protected]
Tab. 5. Ciśnienie A/C 0 5kPa 10kPa 15kPa 20kPa 25kPa 30kPa 35kPa 40kPa
Wyjście x 10kPa 50 51 52 53 54 55 56 57 58
Nastawniki Wyjście PR His 0 His −5kPa 00 00
Wyjście PR His +5kPa 00
Wyjście PR His −10kPa 00
Wyjście PR His +10kPa 00
Wyjście PR 00
01
52
51
53
50
54
02
54
53
55
52
56
03
56
55
57
54
58
04
58
57
59
56
60
Elektronika Elektronika Praktyczna Praktyczna 10/2001 2/98
A U T O M A T Y K A
WydawaÊ by siÍ mog³o, øe RS232 jest przeøytkiem epoki ìtranzystorowychî komputerÛw, ale - jak dowodzi prezentowane w†artykule opracowanie firmy Moxa - w†wielu dziedzinach komunikacji nie ma konkurencji. Interfejs szeregowy RS232 (Recommended Standard) zosta³ wprowadzony w†1962 roku przez Electronic Industries Association (EIA) i†pomimo up³ywu czasu jest wci¹ø bardzo popularny wúrÛd producentÛw urz¹dzeÒ przemys³owych i†komercyjnych. Za poúrednictwem RS-a komunikuj¹ siÍ m.in. sterowniki przemys³owe, aparatura kontrolno-pomiarowa, modemy, kasy fiskalne, czytniki kodÛw kreskowych itd. WiÍkszoúÊ komputerÛw PC wyposaøona jest tylko w†2†porty RS232, co zatem zrobiÊ, jeúli aplikacja wymaga pod³¹czenia kilku lub kilkunastu urz¹dzeÒ z†interfejsem szeregowym? W†takiej sytuacji siÍga siÍ zwykle po karty wieloportowe, nie zawsze jednak jest to rozwi¹zanie wystarczaj¹ce, g³Ûwnie z†powodu niewielkiego zasiÍgu RS-232. Moøe to stanowiÊ powaøny problem w†systemach automatyki przemys³owej, systemach rejestracji czasu pracy i†kontroli dostÍpu, gdzie np. czytniki kart magnetycznych rozproszone s¹ na kilkunastu piÍtrach budynku. W†takich sytuacjach warto rozwaøyÊ propozycjÍ firmy Moxa, ktÛra opracowa³a specjalizowane modu³y NPort Server, ktÛre s¹ mostkiem pomiÍdzy
Elektronika Praktyczna 10/2001
sieci¹ Ethernet a†portami szeregowymi. Rodzina urz¹dzeÒ NPort Server obejmuje urz¹dzenia 1-, 2, 4-, 8-†i†16-portowe, dlatego zaleønie od potrzeb aplikacji kaødy moøe dobraÊ odpowiedni model. Najnowszym produktem Moxy z†tej rodziny jest NPort Express, reklamowany pod has³em Make your serial devices Internet ready, co oznacza, øe urz¹dzenie umoøliwia bezpoúrednie w³¹czenie do sieci Ethernet tradycyjnych urz¹dzeÒ szeregowych, bez zmian w†sposobie, w†jaki komputer komunikuje siÍ z†nimi. Z†punktu widzenia systemu operacyjnego, urz¹dzenie z†interfejsem szeregowym nadal pod³¹czone jest do portu szeregowego komputera. NPort Express pracuje pod kontrol¹ Windows NT/95/98/ME/2000, Linux, Unix Ware, SCO Open Server i†jest widziany przez system operacyjny jako fizyczny port COM. Urz¹dzenie nie potrzebuje wolnych przerwaÒ i†adresÛw I/O - to nie b³¹d! Nie okreúlono zak³adki, nie powoduje zatem konfliktÛw sprzÍtowych. W†odrÛønieniu od kart wieloportowych pozwala na wspÛ³dzielenie portu szeregowego,
dziÍki temu urz¹dzenie z†interfejsem szeregowym moøe byÊ wspÛ³dzielone przez kilka komputerÛw w†podobny sposÛb, w†jaki wspÛ³dzielone s¹ drukarki w†biurach. NajwiÍksz¹ zalet¹ nowego serwera Moxy jest to, øe nie narzuca praktycznie øadnych ograniczeÒ co do maksymalnej odleg³oúci miÍdzy komputerem a†urz¹dzeniem szeregowym, poniewaø moøna siÍ z†nim skomunikowaÊ rÛwnieø przez sieÊ rozleg³¹. Na z³¹czu DB9 s¹ dostÍpne wszystkie sygna³y steruj¹ce opisane w†standardzie RS232 (DSR, CTS, RTS, DTR, DCD). PrzepustowoúÊ portÛw moøna programowaÊ w†zakresie od 50bps do 230kbps, d³ugoúÊ s³owa moøe wynosiÊ 7†lub 8†bitÛw, moøna teø wybraÊ jeden z†trzech trybÛw kontroli parzystoúci. Za pomoc¹ bardzo przyjaznego me-
137
A U T O M A T Y K A
nu moøna wybraÊ jeden z†trzech trybÛw pracy: Host Based, Pair-Connection i†Raw-Connection. Host-Based wymaga zainstalowania sterownika (do³¹czonego do sprzÍtu) na kaødym komputerze, ktÛry bÍdzie korzysta³ z†portu szeregowego NPorta. Sterownik ten symuluje w†systemie operacyjnym fizyczne porty COM, dziÍki czemu umoøliwia przezroczyst¹ komunikacjÍ z†urz¹dzeniami szeregowymi przez Ethernet. W†takim trybie pracy jeden z†komputerÛw moøe byÊ administratorem, ktÛry przydziela prawa dostÍpu dla pozosta³ych komputerÛw. Pair-Connection powala na po³¹czenie dwÛch NPortÛw w†tandem, w†celu zniwelowania limitu odleg³oúci jaki narzuca RS-232. Komputer pod³¹czamy do portu szeregowego NPort Express, a†do portu szeregowego drugiego serwera pod³¹czamy urz¹dzenie z†interfejsem szeregowym. NastÍpnie naleøy ustanowiÊ po³¹czenie pomiÍdzy dwoma NPortami poprzez Ethernet. Moøe to byÊ zarÛwno sieÊ lokalna, jak i†rozleg³a. W†takim trybie pracy NPort Serwery stanowi¹ przeüroczyste ³¹cze szeregowe o†praktycznie nieograniczonej d³ugoúci, dziÍki czemu moøna po³¹czyÊ ze sob¹ 2†dowolne urz¹dzenia szeregowe. Modu³ DE-311, bo takie jest oznaczenie NPort Express, uøywa w³asnego oprogramowania do transmisji danych pomiÍdzy portami RS-232, dlatego nie jest potrzebny komputer PC. Jest to bardzo przydatne, gdy kontrolerem jest urz¹dzenie inne niø komputer PC, np. palmtop. W†trybie Pair-Connection jest moøliwe po³¹czenie wiÍkszej liczby serwerÛw NPort Express, wtedy dane mog¹ byÊ przesy³ane jednoczeúnie do kilku urz¹dzeÒ z†interfejsem szeregowym. Raw-Connection jest to komunikacja miÍdzy kart¹ sieciow¹ a†NPort Serverem, co oznacza, øe do portu szeregowego DE-311 moøna odwo³ywaÊ siÍ bezpoúrednio przez sieÊ - ten tryb pracy dzia³a z†kaødym systemem operacyjnym z†VxWorks, AIX i†HP Unix w³¹cznie. Poniewaø do portu szeregowego serwera NPort Express moøna ìdostaÊ siÍî przez sieÊ rozleg³¹, urz¹dzenie posiada 2-stopniowe zabezpieczenie przed nieautoryzowanym uøyciem por-
138
tu. W†przypadku, gdy serwer pod³¹czony jest do sieci Internet, zabezpieczenia takie s¹ niezbÍdne. Przede wszystkim konfiguracja serwera chroniona jest has³em, a†po³¹czyÊ siÍ z†NPortem mog¹ tylko komputery o†numerze IP wczeúniej zdefiniowanym. Jeúli siÍ weümie pod uwagÍ wszystkie zalety serwera NPort Express, nasuwa siÍ pytanie czy kartÍ wieloportow¹ moøna zast¹piÊ NPortem? W†praktyce NPort serwery s¹ kartami wieloportowymi z†t¹ rÛønic¹, øe zamiast do slotu ISA lub PCI pod³¹czamy je do karty sieciowej. DziÍki temu jedynym ograniczeniem co do liczby portÛw szeregowych s¹ moøliwoúci systemu operacyjnego, np. dla Windows NT do 256 portÛw COM. Oczywist¹ zalet¹ takiego rozwi¹zania jest rÛwnieø to, øe urz¹dzenia szeregowe moøna pod³¹czyÊ bezpoúrednio do sieci Ethernet, dziÍki temu moøna zaoszczÍdziÊ znaczne úrodki na zakupie dodatkowego komputera PC, ktÛry by³by interfejsem pomiÍdzy urz¹dzeniami szeregowymi a†sieci¹ Ethernet. NPort Server, oprÛcz niskiej ceny, ma tÍ przewagÍ nad komputerem z†kart¹ wieloportow¹, øe jest urz¹dzeniem bezobs³ugowym oraz daje moøliwoúÊ zcentralizowanej kontroli wielu rozproszonych urz¹dzeÒ z†interfejsem sze-
regowym. Rozwaømy np. sieÊ sklepÛw typu supermarket lub hipermarket. PrzeciÍtny sklep wyposaøony jest w†kilka lub kilkanaúcie punktÛw kasowych i†tak¹ sam¹ liczbÍ czytnikÛw kodÛw kreskowych. Za pomoc¹ odpowiedniej liczby NPort serwerÛw moøna pod³¹czyÊ wszystkie kasy i†czytniki kodÛw kreskowych do jednego centralnego komputera. W†ten sposÛb moøna monitorowaÊ stopieÒ aktywnoúci zarÛwno pojedynczego punktu kasowego, jak i†ca³ej sieci sklepÛw rozproszonych po ca³ym kraju. Informacje takie pozwalaj¹ na analizÍ zachowaÒ rynkowych konsumentÛw, a†w†rezultacie na efektywne zarz¹dzanie magazynem. Za rozwi¹zaniem, ktÛre zaproponowa³a Moxa, przemawia rÛwnieø popularnoúÊ, jak¹ cieszy siÍ obecnie sieÊ Ethernet oraz jej korzystny wspÛ³czynnik ceny do moøliwoúci, poniewaø ceny kart sieciowych, koncentratorÛw i†routerÛw stale spadaj¹, a†urz¹dzenia te s¹ powszechnie dostÍpne. Rozwojowi sieci Ethernet sprzyja rÛwnieø nieustanny wyúcig technologiczny i†cenowy wúrÛd potentatÛw rynku urz¹dzeÒ sieciowych. Wydaje siÍ wiÍc, øe NPort Express powsta³ w†wyniku rosn¹cych wymagaÒ integratorÛw systemÛw automatyki przemys³owej oraz systemÛw rejestracji czasu pracy i†kontroli dostÍpu. Dziesi¹tki milionÛw sensorÛw, sterownikÛw PLC i†innych urz¹dzeÒ czekaj¹ na rozwi¹zanie, ktÛre umoøliwi³oby pod³¹czenie ich do sieci TCP/IP. NPort Express jest urz¹dzeniem, ktÛre idealnie siÍ do tego nadaje, poniewaø oprÛcz duøej funkcjonalnoúci wyrÛønia siÍ bardzo stabiln¹ prac¹. W†przypadku utraty po³¹czenia z†sieci¹ automatycznie je nawi¹zuje, bez potrzeby ponownego uruchamiania komputera, ktÛry korzysta z†portu szeregowego NPort serwera. NPort Express jest urz¹dzeniem typu hot-swap, co oznacza, øe w†przypadku, gdyby trzeba by³o z†pewnych wzgl¹dÛw wymieniÊ DE-311 na inny, moøna to zrobiÊ ca³kowicie ìbezboleúnieî, przenosz¹c ustawienia na inn¹ jednostkÍ za pomoc¹ specjalnego kreatora. NPort Express spotka³ siÍ rÛwnieø z†duøym zainteresowaniem producentÛw urz¹dzeÒ z†interfejsem szerego-
Elektronika Praktyczna 10/2001
A U T O M A T Y K A
wym, poniewaø coraz wiÍcej urz¹dzeÒ posiada wbudowany interfejs Ethernet oraz moøliwoúÊ zarz¹dzania za pomoc¹ przegl¹darki WWW. Z†myúl¹ o†takich klientach, Moxa wypuúci³a na rynek wersjÍ OEM serwera 1†portu RS-232. NPort Express Module, bo taka jest jego nazwa kodowa, jest gotowym rozwi¹zaniem, ktÛre pozwala dotrzymaÊ kroku konkurencji. Koszt przeprojektowania tradycyjnych urz¹dzeÒ z†interfejsem szeregowym jest wysoki. Dla firmy, ktÛra produkuje urz¹dzenia w†ma³ych seriach moøe to oznaczaÊ znaczny wzrost ceny produktu koÒcowego. Dodatkowym atutem serwera NPort Express jest to, øe nie trzeba wprowadzaÊ zmian w†istniej¹cym oprogramowaniu, co rÛwnieø wi¹øe siÍ ze znacznymi oszczÍdnoúciami. Ponadto, wszystkie NPort Serwery wyposaøone s¹ w†profesjonalne narzÍdzia programistyczne z†bogatymi bibliotekami do wiÍkszoúci jÍzykÛw wysokiego poziomu oraz oprogramowanie do diagnostyki i†monitorowania portÛw szeregowych. Programiúci nie musz¹ zatem studiowaÊ Win32 COMM API Microsoftu, aby stworzyÊ profesjonaln¹ aplikacje 32bitow¹. Zastosowanie NPort ServerÛw daje uøytkownikowi nowe moøliwoúci wykorzystania tradycyjnych urz¹dzeÒ
140
z†interfejsem szeregowym, poniewaø pozwala na pod³¹czenie takich urz¹dzeÒ bezpoúrednio do sieci Ethernet. Z†punktu widzenia uøytkownika, NPort jest czarn¹ skrzynk¹ z†portami szeregowymi po jednej stronie i†interfejsem Ethernet po drugiej, dziÍki temu nie trzeba znaÊ protoko³u TCP/IP, aby zastosowaÊ NPort Server w†swojej aplikacji. Oprogramowanie odwo³uje siÍ do takiego portu jak do zwyk³ego portu COM, podczas gdy urz¹dzenie moøe byÊ umieszczone gdziekolwiek, np. na rÛønych piÍtrach budynku, w†innym mieúcie lub nawet innym kontynencie. Zwaøywszy na liczbÍ i†rÛønorodnoúÊ urz¹dzeÒ z†interfejsem szeregowym, jakie moøna obecnie spotkaÊ na rynku, potencjalne aplikacje dla tego produktu moøna znaleüÊ wszÍdzie. Cezary Kalista, Elmark Automatyka [email protected]
Elektronika Praktyczna 10/2001
A U T O M A T Y K A Ze wzglÍdu na ma³¹ inwazyjnoúÊ montaøu, duøy zasiÍg, znaczn¹ dok³adnoúÊ detekcji, a†takøe moøliwoúÊ wykrywania obiektÛw o†rÛønych w³aúciwoúciach (np. elementÛw mechanicznych z†otworami), czujniki optyczne s¹ coraz chÍtniej stosowane w†aplikacjach przemys³owych. Omron ma w†swojej ofercie kilka rodzin czujnikÛw tego typu, wúrÛd ktÛrych szczegÛlnie jest interesuj¹ca rodzina E3Z.
W†sk³ad rodziny E3Z wchodzi kilka rodzajÛw czujnikÛw, za pomoc¹ ktÛrych moøna wykrywaÊ obiekty przecinaj¹ce wi¹zkÍ promieniowania úwietlnego (lub podczerwonego) lub obiekty, od ktÛrych odbija siÍ wi¹zka promieniowania emitowanego przez wbudowany w†czujnik nadajnik modulowanego promieniowania úwietlnego. Niezaleønie od konfiguracji wi¹zki úwietlnej, wszystkie rodziny czujnikÛw montowane s¹ w†obudow ach s p e³n iaj¹cych wymagania szczelnoúciowe IP67, mog¹ wiÍc byÊ stosowane na taúmach produkcyjnych bez koniecznoúci stosowania dodatkowych obudÛw uszczelniaj¹cych. Dopuszczalny zakres temperatur pracy
Fot. 1.
Elektronika Praktyczna 10/2001
wynosi -25..+55oC, moøna je wiÍc stosowaÊ takøe w†instalacjach zewnÍtrznych. Standardowym wyposaøeniem czujnikÛw serii E3Z jest takøe prze³¹cznik, za pomoc¹ ktÛrego moøna okreúliÊ czy wyjúcie czujnika ma przechodziÊ do stanu aktywnego po wykryciu promienia úwietlnego, czy teø po jego przerwaniu. Tory odbiorcze prezentowanych czujnikÛw zawieraj¹ rozbudowan¹ elektronikÍ, dziÍki ktÛrej pracuj¹ stabilnie w†rÛønorodnych warunkach otoczenia. Niebagateln¹ pomoc¹ podczas eksploatacji czujnikÛw jest wbudowany wskaünik stabilnej pracy informuj¹cy uøytkownika o†wahaniach i†ewentualnych zak³Ûceniach wystÍpuj¹cych w†odbieranym sygnale. Uproszczony schemat obwodu wyjúciowego typu PNP (s¹ Rys. 1. dostÍpne takøe wa-
rianty z†tranzystorami NPN) czujnika z†rodziny E3Z pokazano na rys. 1. Jak widaÊ, zastosowano zabezpieczenia antyprzepiÍciowe (dioda Zenera w³¹czona rÛwnolegle do obwodu kolektoremiter tranzystora wyjúciowego) oraz zapobiegaj¹ce uszkodzeniu obwodÛw elektronicznych po odwrotnym do³¹czeniu ürÛd³a zasilania. ObwÛd wyjúciowy wyposaøono w†zabezpieczenie antyprzeci¹øeniowe, dziÍki ktÛremu
143
A U T O M A T Y K A
Rys. 2. odpornoúÊ czujnika na uszkodzenia elektryczne jest doúÊ duøa. Niezaleønie od wykonania szybkoúÊ odpowiedzi czujnika na pobudzenie nie przekracza 1ms, a†zastosowane uk³ady optyczne pozwalaj¹ na pracÍ przy maksymalny natÍøeniu oúwietlenia zewnÍtrznego do 10000lx (úwiat³o
Fot. 2.
144
s³oneczne) lub do 3000lx (úwiat³o sztuczne). Atutem czujnikÛw serii E3Z jest niewielki pobÛr pr¹du - w†przypadku urz¹dzeÒ zespolonych nie przekracza on 30mA, a†suma pr¹dÛw pobieranych przez rozdzielony nadajnik i†odbiornik nie przekracza 35mA. Wszystkie czujniki s¹ przystosowane do zasilania napiÍciem sta³ym o†wartoúci mieszcz¹cej siÍ w†przedziale 12...24V. RodzinÍ E3Z tworz¹ czujniki o†rÛønych konstrukcjach i†wynikaj¹cych z†tego moøliwoúciach: - E3Z-T/TA - s¹ to czujniki sk³adaj¹ce siÍ z†zespo³Ûw: nadajnika i†od-
biornika, ktÛrych zasiÍg wynosi (odpowiednio): 15/10 metrÛw. W†nadajniku wersji TA zastosowano diodÍ emituj¹c¹ promieniowanie w†kolorze czerwonym, dziÍki czemu wi¹zka úwiat³a jest widoczna. Do obydwu modeli czujnikÛw producent opracowa³ przes³ony umoøliwiaj¹c zmianÍ kszta³tu wi¹zki emitowanego promieniowania, dziÍki czemu moøna wp³ywaÊ na precyzjÍ dzia³ania czujnika. Dla czujnikÛw TA opracowano dodatkowo filtry polaryzuj¹ce promieniowanie úwietlne, dziÍki ktÛrym moøna ograniczyÊ wp³yw promieniowania úwietlnego wystÍ-
Elektronika Praktyczna 10/2001
A U T O M A T Y K A
Fot. 3. puj¹cego w†otoczeniu na pracÍ czujnika. - E3Z-R/B (fot. 1) - jest to rodzina czujnikÛw integruj¹cych w†jednej obudowie nadajnik i†odbiornik promieniowania, przystosowane do wykrywania obiektÛw odbijaj¹cych úwiat³o na odleg³oúÊ do (odpowiednio) 4/2 metrÛw lub 0,5 metra. Czujniki w†wersji R†emituj¹ polaryzowane úwiat³o widzialne, a†wersjÍ B†zoptymalizowano pod k¹tem wykrywania na taúmie produkcyjnej butelek PET wykonanych z†przeüro-
Elektronika Praktyczna 10/2001
czystego tworzywa sztucznego, stosunkowo s³abo modyfikuj¹cego promieniowanie úwietlne. Czujniki serii E3Z-R/B moøna stosowaÊ takøe do wykrywania obiektÛw nie odbijaj¹cych úwiat³a, co wymaga zastosowania (jako reflektora) specjalnego lustra (fot. 1). Przyk³adowe - klasyczne - aplikacje czujnikÛw zintegrowanych pokazano na rys. 2. - E3Z-D/L (fot. 2) - czujniki zintegrowane, przystosowane do wykrywania obiektÛw o†rÛønych kolorach, o†maksymalnym zasiÍgu dzia³ania 5...100mm lub do 1m. Zmodyfikowana wersja oznaczona sufiksem L†jest przystosowana do wykrywania obiektÛw o†bardzo ma³ych wymiarach (takøe szczelin, ma³ych otworÛw itp.) w†odleg³oúci do 90mm. årednica widocznej plamki úwietlnej wynosi 2,5mm. Czu³oúÊ odbiornika jest regulowana za pomoc¹ potencjometru - E3Z-G (fot. 3)- czujniki wide³kowe, przypominaj¹ce dzia³aniem popularne w†elektronice transoptory. DostÍpne s¹ ich dwa warianty: z†jedn¹ lub dwiema osiami optycznymi, ulo-
kowanymi w†odleg³oúci 16mm przy szerokoúci wide³ek 25mm. Czujniki z†dwiema osiami optycznymi maj¹ dwa niezaleøne wyjúcia, dziÍki czemu moøna je wykorzystaÊ do pozycjonowania elementÛw maszyn lub urz¹dzeÒ. W†tej, z†koniecznoúci krÛtkiej, prezentacji wymieniliúmy najwaøniejsze cechy i†moøliwoúci czujnikÛw tworz¹cych rodzinÍ E3Z. Na koniec warto jeszcze wspomnieÊ o†akcesoriach oferowanych przez producenta, zwiÍkszaj¹cych elastycznoúÊ czujnikÛw, a†takøe u³atwiaj¹cych ich montaø. S¹ wúrÛd nich rÛønego rodzaju wsporniki z†moøliwoúci¹ regulacji po³oøenia czujnika (takøe w†trzech osiach), kable z†odpowiednimi z³¹czami, dodatkowe reflektory nie ulegaj¹ce zaparowaniu, a†takøe wczeúniej wspomniane przys³ony szczelinowe o†rÛønych aperturach. Piotr Zbysiñski, AVT [email protected] Prezentowane w†artykule urz¹dzenia dostarczy³a firma Omron, tel. (0-22) 645-78-60, www.omron.com.pl.
145
A U T O M A T Y K A W†pierwszej czÍúci artyku³u (EP9/2001) przedstawiliúmy jednostki centralne oraz moøliwe konfiguracje modu³Ûw I/O, tworz¹cych rodzinÍ urz¹dzeÒ MicroSMART. Drug¹ czÍúÊ artyku³u poúwiÍcamy przybliøeniu niektÛrych w³aúciwoúci modu³Ûw peryferyjnych wspÛ³pracuj¹cych ze sterownikami, a†takøe prezentacji programu narzÍdziowego s³uø¹cego do przygotowywania aplikacji dla sterownikÛw.
Sterowniki PLC rodziny
MicroSMART część 2
W†ramach rodziny MicroSMART s¹ dostÍpne m.in. ekspandery cyfrowe I/O z†wyjúciami przekaünikowymi lub tranzystorowymi. Maksymalne dopuszczalne obci¹øenie stykÛw przekaünikÛw zastosowanych w†ekspanderach wynosi 2A, a†maksymalne natÍøenie pr¹du przep³ywaj¹cego przez liniÍ wspÛln¹ dla wszystkich przekaünikÛw nie powinno przekraczaÊ 8A. Mniejsz¹ obci¹øalnoúci¹ charakteryzuj¹ siÍ wyjúcia tranzystorowe, poniewaø
maksymalny dopuszczalny pr¹d wp³ywaj¹cy lub wyp³ywaj¹cy do/z wyjúcia nie moøe przekraczaÊ 0,36A (w ekspanderach FC4AT08x1) lub 0,12A (w pozosta³ych ekspanderach). W†zaleønoúci od wymaganej polaryzacji sygna³u wyjúciowego stosowane s¹ dwie konfiguracje obwodÛw wyjúciowych,
w†ktÛrych s¹ stosowane tranzystory unipolarne z†kana³em typu N†lub P, dziÍki czemu obci¹øenie zawsze jest sterowane bezpoúrednio z†drenu tranzystora mocy. Schematy elektryczne obydwu rodzaju wyjúÊ pokazano na rys. 5. DziÍki zastosowaniu w†ich obwodach wejúciowych transoptorÛw,
Rys. 6.
Rys. 7.
Rys. 5.
148
Rys. 8.
Elektronika Praktyczna 10/2001
A U T O M A T Y K A w†mechanizmy interakcji ze strony personelu obs³uguj¹cego linie produkcyjne lub inny nadzorowany obiekt.
Oprogramowanie Rys. 9. poziomy napiÍÊ stosowane do zasilania obwodÛw wyjúciowych mog¹ mieÊ inny potencja³ wzglÍdem ìzeraî niø napiÍcie zasilaj¹ce sterownik. OptoizolacjÍ zastosowano takøe w†obwodach wejúciowych, co wydatnie zwiÍksza ìnapiÍciow¹î elastycznoúÊ konfiguracji otoczenia wspÛ³pracuj¹cego ze sterownikami.
MicroSMART w†sieci Sterowniki MicroSMART wyposaøono w†mechanizmy programowe, za pomoc¹ ktÛrych jest moøliwe zbudowanie sieci sk³adaj¹cej siÍ ze sterownika zarz¹dzaj¹cego (Master) oraz sterownikÛw podleg³ych (Slave), ktÛrych maksymalnie moøe byÊ aø 31. Role interfejsu sieciowego spe³niaj¹ wbudowane w†sterowniki modu³y RS485, dziÍki czemu zasiÍg transmisji wynosi aø 200 metrÛw. Producent przewiduje trzy zasadnicze konfiguracje sieci: - w†ktÛrej rolÍ Mastera spe³nia sterownik z†rodziny MicroSMART (rys. 6), - w†ktÛrej rolÍ Mastera spe³nia nieco silniejszy sterownik OpenNet Cotroller, a†sterowniki MicroSMART spe³niaj¹ rolÍ lokalnych wÍz³Ûw sterowania (rys. 7), - w†ktÛrej rolÍ Mastera spe³nia komputer z†odpowiednim oprogramowaniem (rys. 8), co zapewnia najwiÍksz¹ elastycznoúÊ systemu i†jednoczeúnie u³atwia wyposaøenie systemu sterowania
Rys. 10.
Elektronika Praktyczna 10/2001
Producent sterownikÛw zadba³ takøe o†odpowiedni program narzÍdziowy - WindLDR 4.0 - za pomoc¹ ktÛrego moøna przygotowywaÊ programy Rys. 11. steruj¹ce opisane w†jÍzyku drabinkowym. Jest to jedno z†bardziej przyjaznych narzÍdzi tego typu, za pomoc¹ ktÛrego moøna przygotowywaÊ programy dla wszystkich sterownikÛw produkowanych przez firmÍ IDEC (rys. 9). Na szczegÛln¹ uwagÍ zas³uguje wbudowany w†program doskona³y system diagnostyczny, ktÛry u³atwia jednoznaczne wskazanie miejsca, ktÛre jest przyczyn¹ b³Ídu kompilacji. Nie mniej istotne s¹ zaimplementowane w†oprogramowaniu ³atwe w†obs³udze narzÍdzia umoøliwiaj¹ce konfiguracjÍ poszczegÛlnych fragmentÛw programu, czego przyk³ad - okno konfiguracji funkcji logicznej - pokazano na rys. 10. Za pomoc¹ programu uøytkownik ma dostÍp do 35 instrukcji podstawowych oraz maksymalnie 70 instrukcji z†zestawu rozszerzonego. WiÍkszoúÊ z†nich jest dostÍpna za pomoc¹ przyciskÛw ulokowanych w†paskach menu g³Ûwnego okna programu (w gÛrnej czÍúci okna pokazanego na rys. 11). Poniewaø nie wszystkie sterowniki obs³ugiwane przez program WindLDR obs³uguj¹ wszystkie z†tych instrukcji, oprogramowanie samoczynnie dostosowuje listÍ dostÍpnych poleceÒ do typu wybranego sterownika. Przygotowany program moøna zabezpieczyÊ przed nieuprawnionym modyfikowaniem za pomoc¹ has³a.
Prezentowane oprogramowanie moøe pracowaÊ jako monitor pracy sterownika, co w†wielu przypadkach u³atwia diagnozowanie b³ÍdÛw w†przygotowywanych programach oraz w†samej aplikacji. Niebagateln¹ moøliwoúci¹ programu WindLDR 4.1 jest zdalne programowanie sterownikÛw, za pomoc¹ modemÛw do³¹czonych do linii telefonicznych. Zdaln¹ konfiguracjÍ u³atwia moøliwoúÊ modyfikacji fragmentÛw programu steruj¹cego prac¹ sterownika, i to bez koniecznoúci zatrzymywania jego pracy! Z†tego krÛtkiego opisu wyraünie widaÊ, øe elastycznoúÊ sterownikÛw rodziny MicroSMART oraz wspÛ³pracuj¹cych z†nimi peryferiami jest bardzo duøa. OprÛcz zalet czysto inøynierskich, elastyczna budowa sterownikÛw MicroSMART ma niebagatelny wp³yw takøe na moøliwoúÊ zoptymalizowania kosztÛw instalacji, co jest jednym z†najistotniejszych parametrÛw w†wiÍkszoúci typowych aplikacji. Andrzej Jakubik, AVT Materia³y wykorzystane do przygotowania artyku³u udostÍpni³a firma Compart Automation, tel.: (22) 610-85-49, tel./fax: (22) 610-63-92, http://compart.zajdel.pl/. SzczegÛ³owe informacje dotycz¹ce sterownikÛw MicroSMART s¹ dostÍpne w†Internecie pod adresami: - http://Smart.idec.com/english/menu/menu_english.html, - http://Smart.idec.com/english/menu/down/downtop.html, oraz na p³ycie CD-EP9/2001B.
149