w w w. e p . c o m . p l
ELEKTRONIKA PRAKTYCZNA •
NA CD: NIEŒMIERTELNY – KATALOG 194 MODELI 8051, 22 PROGRAMY CAD/EDA
Miêdzynarodowy magazyn elektroników konstruktorów
11/2003
●
listopad
●
15 zł 50 gr
(w tym 7% VAT)
11/2003 • listopad
▲
Pokojowy regulator temperatury ze zdalnym sterowaniem Proste w wykonaniu, wygodne w obsłudze i dobrze opisane. Jeden z najlepszych Projektów Czytelników roku 2003 przedstawiamy na str. 101.
7−portowy hub USB ▲
Lampowy kompresor dynamiki
Popularność urządzeń z USB jest tak duża, że 7−portowy hub przyda się pod każdą „strzechą”. Str. 19.
Na chwilę wracamy znowu do lamp: na str. 25 przedstawiamy opis lampowego kompresora dynamiki sygnału audio o programowanych parametrach.
▲
Funkcje realizowane przez urządzenie opisane w artykule na str. 51 powodują, że może się ono stać domowym „przyjacielem”.
CAMtastic DXP − CAM dla projektantów obwodów drukowanych
▲
Zegar ze 100−letnim kalendarzem ▲ i dwukanałowym termometrem
Kolejny program z rodziny DXP prezentujemy w artykule na str. 75.
Czujnik zatarcia wentylatora
▲
Kolejny projekt opracowany z myślą o użytkownikach PC. Str. 80.
▲
Moduły bezpieczeństwa firmy Schleicher O tym, jakie urządzenia zastosować, aby się zabezpieczyć przed awarią maszyny piszemy na str. 138.
Cyfrowy oscyloskop/analizator stanów logicznych Jednych ten projekt zachwyca, inni go wyraźnie lekceważą. Na pewno jednak nie można przejść nad nim obojętnie. Str. 43.
▲
W głośnikowym żywiole ▲ Jeden z największych w naszym kraju „głośnikowych” guru przygotował dla Czytelników EP cykl artykułów z poradami jak budować zestawy głośnikowe. Zaczynamy esejem, który znajdziecie na str. 55.
6
Elektronika Praktyczna 11/2003
Nr 11 (131) listopad 2003
Projekty semi−MatrixOrbital LCD do PC, część 1 .................................... 14 7−portowy hub USB ...................................................................... 19 Lampowy kompresor dynamiki sygnału audio ....................... 25 Moduły interfejsów szeregowych .............................................. 31 Wyłącznik sterowany pilotem .................................................... 39 Cyfrowy oscyloskop/analizator stanów logicznych, część 2 .......................................................................................... 43 Zegar ze 100−letnim kalendarzem i dwukanałowym termometrem, część 2 ................................................................ 51
Miniprojekty Czujnik zatarcia wentylatora ..................................................... 79 Programator kartridży do drukarek Epson ............................... 80
Przekaźniki uniwersalne ▲ i styczniki mocy O przekaźnikowych nowoś− ciach firmy Omron piszemy na str. 135.
Esej W głośnikowym żywiole, część 1 ............................................... 55
Podzespoły Systemy identyfikacji bezprzewodowej (RFID) firmy Texas Instruments ............................................................... 63 Encore! − drugie wcielenie Z8 .................................................... 66 Moduły bezpieczeństwa firmy Schleicher .............................. 138
Sprzęt Analizator widma GSP−827 ......................................................... 70
Programy CAMtastic DXP − CAM dla projektantów obwodów drukowanych ............................................................................... 75
▲ Systemy identyfikacji bezprzewodowej (RFID) firmy Texas Instruments
Kurs
Po raz kolejny w EP przedsta− wiamy możliwości systemu RFID − Tiris. Str. 63.
Automatyka Przekaźniki uniwersalne i styczniki mocy ................................. 135 Działanie sterowników S7−200 − podstawy ............................. 142
Encore! − drugie wcielenie Z8
Projekty Czytelników
▲
Zilog się nie poddaje! Str. 66.
Logika odwracalna ..................................................................... 85 Pamięci nieulotne w systemach mikroprocesorowych, część 2 ................................................... 89 Podstawy projektowania systemów mikroprocesorowych, część 9 ................................................... 97
Pokojowy regulator temperatury ze zdalnym sterowaniem, część 2 ........................................................................................ 101
Z kraju i ze świata ........................................................ 123 Biblioteka EP ................................................................. 131 Kramik+Rynek .............................................................. 105 Bascomowe Porady ...................................................... 93 Listy ................................................................................. 111 Ekspresowy Informator Elektroniczny ..................... 119 Wykaz reklamodawców ............................................ 122
Elektronika Praktyczna 11/2003
7
semi−MatrixOrbital P R O J E K T LCD Y do PC
semi−MatrixOrbital LCD do PC, część 1 AVT−552
Moda na fantazyjn¹ stylizacjÍ PC-ta szybko dotar³a do naszego kraju, w†zwi¹zku z†czym ogromnym powodzeniem ciesz¹ siÍ wszelkie gadøety, ktÛre mog¹ spowodowaÊ, øe nasz komputer staje siÍ trendy. W†artykule przedstawiamy projekt uk³adu, ktÛry chociaø jest ìgadøeciarskiî, to zwiÍksza moøliwoúci nadzoru pracy PC przez uøytkownika. Rekomendacje: polecamy wszystkim uøytkownikom PC, ktÛrzy pragn¹ poprawiÊ komfort jego uøytkowania, zwiÍkszyÊ funkcjonalnoúÊ i†uatrakcyjniÊ wygl¹d.
14
Jedn¹ z†moøliwoúci prezentowanego uk³adu jest monitorowanie parametrÛw pracy komputera, jak np. wartoúci napiÍÊ zasilaj¹cych, temperatury i†obci¹øenia procesora, iloúÊ wolnego miejsca na dysku itp. Za wyúwietlanie wszelkich informacji jest odpowiedzialny inteligentny sterownik†wyúwietlacza LCD, ktÛry komunikuje siÍ z†komputerem przez interfejs RS232. Poniewaø w†module zaimplementowano rozkazy typowe dla wyúwietlaczy typu Matrix Orbital (choÊ nie wszystkie) moøliwa jest wspÛ³praca modu³u z†wieloma programami zarz¹dzaj¹cymi wyúwietlaniem, jak na przyk³ad rewelacyjnym Smarnie czy Girderem. Programy te umoøliwiaj¹ wspÛ³pracÍ z rÛønymi innymi aplikacjami. Mog¹ odczytywaÊ i†wyúwietlaÊ na LCD dane z†Winampa, liczbÍ przychodz¹cych listÛw e-mail itp. Moøliwoúci tych programÛw s¹ ogromne i†nie sposÛb ich wszystkich wymieniÊ. W†dalszej czÍúci artyku³u skupiÍ siÍ na pobieønym przedstawieniu programu Smarnie. Modu³ sterownika LCD umoøliwia sterowanie do 5-ciu urz¹dzeÒ zewnÍtrznych, ktÛre mog¹ reagowaÊ na okreúlone przez uøytkownika, a monitorowane przez uk³ad parametry i†ich wartoúci. Przyk³adowo, moøna tak zmodyfikowaÊ program sterownika, øe jeøeli np. temperatura procesora
przekroczy ustalon¹ wartoúÊ, w³¹czy siÍ brzÍczyk lub inne urz¹dzenie do³¹czone do wyjúÊ uniwersalnych. Moøliwoúci konfiguracji wyjúʆs¹ co najmniej tak duøe, jak liczba moøliwych do wyúwietlenia na LCD rÛønych parametrÛw. Modu³ wyposaøono w†6†przyciskÛw, za pomoc¹ ktÛrych moøna sterowaÊ aplikacjami, jak np. Winampem. Poniewaø w†niektÛrych aplikacjach 6†przyciskÛw moøe nie wystarczyÊ do realizacji wszystkich funkcji, modu³ umoøliwia odbieranie kodÛw pilota pracuj¹cego w†standardzie RC5. MoøliwoúÊ wspÛ³pracy z†pilotem podczerwieni znacznie podnosi walory uøytkowe modu³u LCD-PC. Duø¹ zalet¹ modu³u sterownika jest moøliwoúÊ wspÛ³pracy z†rÛønymi wyúwietlaczami LCD. W†zaleønoúci od zastosowanego wyúwietlacza LCD, prÍdkoúci komunikacji oraz adresu pilota, sterownik LCD-PC posiada proste menu konfiguracyjne tych parametrÛw, do ktÛrego moøna wejúÊ z†poziomu dowolnego terminala. Wybierane parametry modu³u s¹ zapamiÍtywane w†wewnÍtrznej pamiÍci EEPROM. LCD-PC moøe byÊ zamontowany na zewn¹trz obudowy komputera lub w†jego wnÍtrzu (np. w†miejscu na napÍd 5,25 cali). Co prawda moøna ³atwo do³¹czyÊ LCD po portu rÛwnoleg³ego
Elektronika Praktyczna 11/2003
fsemi−MatrixOrbital LCD do PC
Rys. 1. Schemat elektryczny układu
komputera, ale takie rozwi¹zanie nie udostÍpni uøytkownikowi takich moøliwoúci jakie daje prezentowany sterownik. Po zastosowaniu dodatkowego konwertera USB<->RS232, jest moøliwe do³¹czenie modu³u sterownika do portu USB.
Opis dzia³ania uk³adu Schemat elektryczny uk³adu pokazano na rys. 1. Zastosowano w nim mikrokontroler ATmega8. Tranzystor T3, sterowany przebiegiem PWM z†wyjúcia OC1A, reguluje jasnoúÊ podúwietlenia wyúwietlacza LCD. Regulacja jasnoúci podúwietlacza przebiegiem PWM jest jednym z†najprostszych. Rezystor R5 ogranicza pr¹d p³yn¹cy przez diody podúwietlacza. Potencjometr montaøowy P1 umoøliwia regulacjÍ kontrastu LCD. Klawiatura z³oøona z†przyciskÛw S1...S6 jest do³¹czona bezpoúrednio do wejúÊ mikrokontrolera. Wyjúcie odbiornika podczerwieni U2 do³¹czono do wejúcia
Elektronika Praktyczna 11/2003
wyzwalaj¹cego przerwanie INT0. Elementy R4 oraz C1 filtruj¹ napiÍcie zasilaj¹ce odbiornik podczerwieni, ktÛry odbiera sygna³y z fal¹ noún¹ 36 kHz. Elementy T1, T2, R1, R2 i†R3 tworz¹ najprostszy konwerter poziomÛw napiÍÊ dla interfejsu RS232. Pozosta³e linie portÛw mikrokontrolera s¹ poprzez rezystory R7...R11 do³¹czone do baz tranzystorÛw T4...T8. Tranzystory te steruj¹ zewnÍtrznymi obci¹øeniami, ktÛrymi mog¹ byÊ diody úwiec¹ce, buzzery, przekaüniki lub optotriaki wykorzystywane do za³¹czania urz¹dzeÒ duøej mocy. Przy do³¹czaniu elementÛw wykonawczych do Z2 naleøy pamiÍtaÊ, øe bÍd¹ one za³¹czane dodatnim napiÍciem zasilaj¹cym. Modu³ sterownika LCD-PC jest zasilany poprzez z³¹cze Z3. NapiÍcie zasilania 5†V jest stabilizowane przez U3. Jak widaÊ na schemacie elektrycznym, w†sterowniku wykorzystano wszystkie porty uk³adu U1 (dotyczy to takøe linii zeruj¹cej mik-
rokontroler). Program steruj¹cy prac¹ mikrokontrolera napisano w jÍzyku†BASCOM-AVR.
Obs³uga wyúwietlacza Wys³anie jakiegokolwiek znaku przez port RS232 do wyúwietlacza powoduje jego natychmiastowe Parametry modułu sterownika LCD−PC (RS232) ✦ ³atwa komunikacja przez RS232, ✦ prêdkoœæ transmisji 4800, 9600 oraz 19200 bodów, ✦ obs³ugiwane wyœwietlacze LCD: 2*16, 4*16, 2*20 oraz 4*20 z kontrolerem HD44780, ✦ zapis w pamiêci EEPROM adresu pilota RC5, wybranego typu wyœwietlacza LCD oraz prêdkoœci transmisji, ✦ ³atwe okreœlanie parametrów poprzez dowolny terminal oraz proste menu (³¹czenie z terminalem odbywa siê z prêdkoœci¹ 9600 bodów), ✦ wbudowanych szeœæ lokalnych przycisków, ✦ wspó³praca z wieloma dostêpnymi programami jak: Smarnie, Girder itp. ✦ sterowanie do piêciu zewnêtrznych uk³adów wykonawczych (przekaŸniki, triaki itp.), ✦ mo¿liwoœæ utworzenia do oœmiu w³asnych znaków.
15
semi−MatrixOrbital LCD do PC wyúwietlenie. DostÍpne s¹ znaki w³asne z†zakresu 0†do 7†oraz znaki juø zaimplementowane w†wyúwietlaczu z†zakresu od 32 do 126 kodu ASCII. Tak wiÍc wys³anie s³Ûw kodu 69, 80 spowoduje wyúwietlenie napisu ìEPî. Modu³ sterownika akceptuje ponadto wiele instrukcji steruj¹cych, ktÛre s¹ poprzedzone s³owem steruj¹cym kodu o†wartoúci 254. Akceptowane instrukcje przedstawiono w†tab. 1. Przyk³adowo, gdy chcemy wyczyúciÊ wyúwietlacz naleøy wys³aÊ przez RS232 s³owa kodu: 254, 88. Natomiast gdy chcemy ustawiÊ kursor w†drugim wierszu oraz w†5†kolumnie naleøy wys³aÊ: 254, 71, 5, 2. Instrukcja ìSprawdü czy naciúniÍty by³ przyciskî jest dostÍpna tylko wÛwczas gdy wy³¹czono natychmiastow¹ transmisjÍ kodu naciúniÍtego przycisku. Instrukcja ta odczytuje znaki naciúniÍtych przyciskÛw†z†bufora mikrokontrolera oraz wysy³a je przez RS232. Jeøeli bufor jest pusty, jest wysy³ana wartoúÊ zero. Gdy bufor zawiera wiÍcej kodÛw naciúniÍtego przycisku niø jeden, to najstarszy bit kodu znaku naciúniÍtego przycisku zostaje ustawiony, co úwiadczy o†istnieniu jeszcze nie odczytanych znakÛw przyciskÛw w†buforze. Podczas w³¹czonej opcji ìnatychmiastowej transmisji kodu naciúniÍtego przyciskuî, naciúniÍcie przycisku powoduje, øe jego kod jest natychmiast wysy³any przez RS232 do sterownika. Przyciski S1...S6 maj¹ przypisane kody znakÛw od A...F, natomiast pozosta³e znaki zosta³y przypisane przyciskom pilota podczerwieni. Rozwi¹zanie takie jest bardzo elastyczne i†uniezaleønia przyciski w†module wyúwietlacza od przyciskÛw pilota podczerwieni. Wyúwietlacze Matrix Orbital umoøliwiaj¹ programow¹ regulacjÍ kontrastu LCD, ale ja uzna³em, øe bardziej funkcjonalna jest regulacja jasnoúci podúwietlenia. Dlatego teø instrukcja regulacji kontrastu steruje w†module sterownika LCD-PC jasnoúci¹ podúwietlenia, a†kontrast jest ustawiany rÍcznie potencjometrem P1. Instrukcja ìW³¹cz podúwietlenieî umoøliwia w³¹czenie podúwietlenia na czas okreúlony w†minutach, przy czym przy wartoúci minut 0, podúwietlenie jest w³¹czane na sta³e.
16
Tab. 1. Instrukcje sterujące pracą wyświetlacza Instrukcja Ustaw kursor na zadanej pozycji Ustaw kursor na pocz¹tek
W³¹cz kursor
Wy³¹cz kursor (D)
W³¹cz migaj¹cy kursor
Wy³¹cz migaj¹cy kursor (D) Przesuñ kursor w lewo
Przesuñ kursor w prawo
W³¹cz natychmiastow¹ transmisje naciœniêtego przycisku (D) Wy³¹cz natychmiastow¹ transmisje naciœniêtego przycisku Wyczyœæ bufor przycisków
SprawdŸ czy naciœniêty by³ przycisk (odczytuje bufor przycisków)
Wyczyœæ wyœwietlacz
Ustaw podœwietlanie
W³¹cz podœwietlanie
Wy³¹cz podœwietlanie (D)
Wy³¹cz wyjœcia zewnêtrzne (D) W³¹cz wyjœcia zewnêtrzne
Definiuj w³asny znak
(D) (1) (2) (3) -
Sk³adnia (1)
FE 47 [kol] [wier] 254 71 [kol] [wier] (3) 254 'G' [kol] [wier] FE 48 254 72 254 'H' FE 4A 254 74 254 'J' FE 4B 254 75 254 'K' FE 53 254 83 254 'S' FE 54 254 84 254 'T' FE 4C 254 76 254 'L' FE 4D 254 77 254 'M' FE 41 254 65 254 'A' FE 42 254 79 254 'O' FE 45 254 69 254 'E' FE 26 254 38 254 '&' (2)
FE 58 254 88 254 'X' FE 50 [poziom] 254 80 [poziom] 254 'P' [poziom] FE 42 [minuty] 254 66 [minuty] 254 'B' [minuty] FE 46 254 70 254 'F' FE 56 [nr wyjœcia] 254 86 [nr wyjœcia] 254 'V' [nr wyjœcia] FE 57 [nr wyjœcia] 254 87 [nr wyjœcia] 254 'W' [nr wyjœcia] FE 4E [nr] [8 bajtów] 254 78 [nr] [8 bajtów] 254 'N' [nr] [8 bajtów]
Opis Ustawia kursor na pozycji zadanej wartoœciami [kol] (kolumna) oraz [wier] (wiersz). Ustawia kursor na pocz¹tku wyœwietlacza. Wyœwietla kursor.
Gasi kursor.
Wyœwietla migaj¹cy kursor.
Wygasza migaj¹cy kursor.
Przesuwa kursor o jedn¹ pozycjê w lewo. Przesuwa kursor o jedn¹ pozycjê w prawo. Kody naciœniêtych przycisków s¹ natychmiast wysy³ane przez RS232. Kody naciœniêtych przycisków s¹ ³adowane do bufora o wielkoœci 5 znaków. Zeruje bufor przycisków
Sprawdza czy by³ naciœniêty przycisk odczytuj¹c bufor. Je¿eli bufor jest pusty zwracana jest wartoœæ 0. W przeciwnym przypadku zwracany jest kod przycisku z ustawionym najstarszym bitem, gdy w buforze znajduj¹ siê kody wiêcej ni¿ jednego naciœniêtego przycisku. Czyœci oraz ustawia kursor na pocz¹tku wyœwietlacza. Ustawia jasnoœæ podœwietlania. Wartoœæ poziomu mo¿e wynosiæ od 0 do 255. W³¹cza podœwietlanie na czas okreœlony w minutach. Je¿eli wartoœæ [minut]=0, to podœwietlenie w³¹czane jest na sta³e. Wy³¹cza podœwietlanie wyœwietlacza.
Wy³¹cza wyjœcia zewnêtrzne. [nr wyjœcia] mo¿e byæ od 1 do 5 W³¹cza wyjœcia zewnêtrzne. [nr wyjœcia] mo¿e byæ od 1 do 5 Definiuje 1 z 8 dowolnych znaków u¿ytkownika. [nr] okreœla numer znaku z zakresu 1 do 8, natomiast [8 bajtów] opisuje budowê znaku zgodnie z tab. 2
wartoœæ domyœlna po w³¹czeniu zasilania wartoœæ szesnastkowa kodu ASCII danego znaku wartoœæ dziesiêtna kodu ASCII danego znaku znak odpowiadaj¹cy wartoœci kodu ASCII
Elektronika Praktyczna 11/2003
fsemi−MatrixOrbital LCD do PC
Rys. 2. Schemat montażowy płytki drukowanej
Ostatnia instrukcja pokazana w†tab. 1 umoøliwia uøytkownikowi zdefiniowanie do 8-miu†w³asnych znakÛw. Na przyk³ad wys³anie wartoúci: 254, 78, 1, 255, 255, 255, 255, 255, 255, 255, 255 wyúwietli wszystkie piksele znaku. Aby wyúwietliÊ pierwszy zdefiniowany znak naleøy wys³aÊ przez RS232 wartoúÊ kodu ASCII 0. Dla drugiego zdefiniowanego znaku wartoúÊ 1†itd. W†tab. 2 przedstawiono przyporz¹dkowanie bitÛw poszczegÛlnych bajtÛw (1...8) definiowanego znaku pikselom matrycy 5x8 znaku na wyúwietlaczu LCD. Instrukcje ìWy³¹cz/W³¹cz wyjúcia zewnÍtrzneî umoøliwiaj¹ sterowaniem wyjúciami, do ktÛrych moøna do³¹czyÊ obci¹øenie zewnÍtrzne. Poniewaø w†module jest ich 5, wartoúÊ ìnr wyjúciaî powinna zawieraÊ siÍ w†przedziale 1...5. Aby za³¹czyÊ wyjúcie 1†naleøy wys³aÊ wartoúci: 254, 87, 1, a†gdy chcemy wy³¹czyÊ - wartoúci: 254, 86, 1.
Montaø i†uruchomienie Modu³ sterownika LCD PC jest montowany na dwustronnej p³ytce drukowanej, ktÛrej schemat montaøowy pokazano na rys. 2. Elementy Z1, Z2, Z3 oraz C7 Tab. 2. Znaczenie bitów w bajtach 1...8 MSB X X X X X X X X
naleøy przylutowaÊ od strony lutowania, aby moøna by³o w³oøyÊ wyúwietlacz LCD 2*16 znakÛw. Stabilizator U3, rezonator kwarcowy X1 oraz kondensator C2 naleøy przylutowaÊ w†pozycji leø¹cej. Poniewaø modu³ moøe wspÛ³pracowaÊ z†wieloma typami wyúwietlaczy LCD, ktÛre maj¹ rÛøne wymiary, p³ytka sterownika moøe nie pasowaÊ do kaødego z†nich. Naleøy wtedy wyúwietlacz LCD zamontowaÊ za poúrednictwem wi¹zki przewodÛw. WÛwczas wszystkie elementy moøna zamontowaÊ z†jednej strony p³ytki. Przy montaøu†wyúwietlacza LCD na przewodach istnieje takøe moøliwoúÊ odciÍcia p³ytki z†przyciskami oraz odbiornikiem podczerwieni. Miejsce odciÍcia p³ytki zosta³o zaznaczone na p³ytce drukowanej. P³ytkÍ przyciskÛw, jeøeli zosta³a odciÍta, trzeba po³¹czyÊ z†p³ytk¹ g³Ûwn¹ wi¹zk¹ dziewiÍciu przewodÛw. Po takim zabiegu bÍdzie moøna przymocowaÊ wyúwietlacz LCD oraz klawiaturÍ po p³yty czo³owej obudowy z†dala od modu³u steruj¹cego. Jak wspomniano na pocz¹tku artyku³u, g³Ûwnym przeznaczeniem tego uk³adu jest monitorowanie oraz ustalanie parametrÛw wybranych aplikacji, chociaø moøna zastosowaÊ go w†dowolnym urz¹dzeniu elektronicznym.
Rys. 3. Schemat kabla połączenio− wego do złącza RS232
Jeøeli modu³ bÍdzie montowany wewn¹trz komputera moøna go zasiliÊ z†zasilacza komputera wykorzystuj¹c przewÛd przeznaczony do pod³¹czenia stacji dyskietek, do³¹czony do z³¹cza Z3. Podczas uøytkowania modu³u na zewn¹trz komputera, napiÍcie zasilaj¹ce moøna pobraÊ z†Game Portu. Nie trzeba wtedy montowaÊ stabilizatora napiÍcia. Moøna takøe wykorzystaÊ zewnÍtrzny zasilacz sieciowy. Do po³¹czenia modu³u z†komputerem naleøy gniazdo DB9 do³¹czyÊ do modu³u zgodnie z†rys. 3. Na rys. 4 pokazano sposÛb do³¹czenia do uniwersalnych wyjúÊ optotriaka, ktÛry moøe za³¹czaÊ øarÛwki lub inne odbiorniki. DziÍki zastosowaniu Q1 optotriaka steruj¹cy obwÛd jest odizolowany od sieci 220 V. Jeøeli zajdzie potrzeba do³¹czenia przekaünika do uniwersalnych wyjúÊ modu³u LCD-PC, to moøna to zrobiÊ w†sposÛb pokazany na rys. 5. Dioda D1 t³umi przepiÍcia podczas wy³¹czania przekaünika, ktÛre mog³yby uszkodziÊ tranzystor steruj¹cy. Sprawdzenie dzia³ania modu³u moøna wykonaÊ dowolnym terminalem. Po ustawieniu parametrÛw transmisji na 9600/8/n/ 1, wysy³ane znaki z†klawiatury
LSB X X X X X X X X
X X X X X X X X
1 6 11 16 21 26 31 36
2 7 12 17 22 27 32 37
3 8 13 18 23 28 33 38
4 9 14 19 24 29 34 39
5 10 15 20 25 30 35 40
Gdzie: “1” w³¹cza piksel “0” gasi piksel “X” wartoœæ dowolna
Elektronika Praktyczna 11/2003
Bajt Bajt Bajt Bajt Bajt Bajt Bajt Bajt
1 2 3 4 5 6 7 8
Rys. 4. Sposób dołączenia optotriaka do uniwersalnych wyjść sterownika
17
semi−MatrixOrbital LCD do PC
Rys. 5. Z wyjść uniwersalnych można bezpośrednio m.in. przekaźnikami
komputera powinny byÊ wyúwietlone na wyúwietlaczu LCD. Jeøeli brak jest objawÛw ìøyciaî modu³u LCD-PC, naleøy sprawdziÊ starannie montaø oraz po³¹czenie z†komputerem. Podobnie moøna sprawdziÊ dzia³anie przyciskÛw, ktÛrych kody powinny byÊ wyúwietlane w†oknie terminala. Poniewaø zastosowany mikrokontroler ATmega8 ma aø 8†kB pamiÍci Flash, zosta³o†w†niej sporo miejsca na implementacjÍ w³asnych instrukcji. Na przyk³ad, po
18
niewielkich modyfikacjach programu, moøliwa bÍdzie wspÛ³praca modu³u z†wyúwietlaczami VFD. Podczas programowania mikrokontrolera ATmega8 naleøy†pamiÍtaÊ o†w³aúciwym ustawieniu wewnÍtrzsterować nych bezpiecznikÛw, gdyø ich konfiguracja ma ogromne znaczenie dla prawid³owego dzia³ania mikrokontrolera. Opis w³aúciwego ustawienia bezpiecznikÛw opisano w†nag³Ûwku programu (jego postaÊ ürÛd³ow¹ udostÍpniliúmy na stronie www.ep.com.pl oraz na CD-EP11/2003B). Marcin Wi¹zania, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: pcb.ep.com.pl oraz na p³ycie CD-EP11/2003B w katalogu PCB.
WYKAZ ELEMENTÓW Rezystory R1...R3: 10kΩ R4: 220Ω R5: 10Ω R6...R11: 1kΩ R12: 4,7kΩ P1: potencjometr montażowy leżący 10kΩ Kondensatory C1, C2: 47µF/25V C3, C4: 27pF C5, C6: 100nF C7: 100µF/25V Półprzewodniki T1: BC558 T2: BC548 T3...T8: BC328 U1: ATmega8−16PI U3: TFMS5360 U2: 7805 Różne X1: kwarc 8MHz Z1: goldpin 1x3 Z2: goldpin 2x5 Z3: goldpin 1x4 Z4: gniazdo DB9 żeńskie z obudową
Elektronika Praktyczna 11/2003
P
R7−portowy O J E hub K TUSB Y
7−portowy hub USB AVT−551 W†starszych p³ytach liczba portÛw USB nie przekracza³a dwÛch. WiÍkszoúÊ wspÛ³czesnych komputerÛw jest juø wyposaøona w†kilka portÛw. Ponadto zauwaøa siÍ znaczny przyrost liczby urz¹dzeÒ przeznaczonych do pod³¹czenia do portÛw USB. Z pewnoúci¹ trend ten bÍdzie utrzymany, gdyø duø¹ zalet¹ USB jest zastosowanie w tym interfejsie mechanizmu PnP oraz doúÊ duøa szybkoúÊ transmisji danych. W†artykule przedstawiamy uk³ad, za pomoc¹ ktÛrego moøna ³atwo zwiÍkszyÊ liczbÍ dostÍpnych portÛw - hub USB. Rekomendacje: hub opracowany z†myúl¹ o†uøytkownikach komputerÛw wyposaøonych w†niewielk¹ liczbÍ portÛw USB oraz uøytkownikÛw komputerÛw korzystaj¹cych z wielu urz¹dzeÒ zewnÍtrznych.
Tab. 1. Wybrane cechy huba USB opisanego w artykule ✗ interfejs USB kompatybilny z USB 1.1, ✗ 7 portów USB, ✗ zasilanie z zewnêtrznego lub komputerowego zasilacza, ✗ wszystkie porty mog¹ pracowaæ w trybach full-speed oraz low-speed, ✗ automatyczne wykrywanie zwarcia obwodów zasilaj¹cych portu, ✗ mo¿liwoœæ pracy jako urz¹dzenie wbudowane w miejsce napêdu 5,25 cali lub jako oddzielne urz¹dzenie, ✗ zasilanie 10...16 VDC, ✗ optyczna sygnalizacja na ka¿dym z portów USB, ✗ trzy diody informuj¹ o pracy huba, ✗ brak potrzeby instalacji sterowników.
Elektronika Praktyczna 11/2003
Najprostsz¹ moøliwoúci¹ zwiÍkszenia liczby portÛw USB jest zastosowanie huba. DostÍpne na rynku huby USB moøna podzieliÊ na pasywne (zasilane z†portu USB), ktÛre mog¹ mieÊ do 4†portÛw oraz aktywne (zasilane z†zewnÍtrznego zasilacza), w†ktÛrych liczba portÛw moøe byÊ wiÍksza od czterech. Aby sprostaÊ problemowi braku portÛw†USB, zbudowany zosta³ aktywny hub USB, udostÍpniaj¹cy uøytkownikowi 7†portÛw zgodnych z†USB 1.1. Niew¹tpliwie duø¹ zalet¹ prezentowanego huba jest moøliwoúÊ wbudowania go w†miejsce napÍdu 5,25 cali. Jeøeli hub bÍdzie zamontowany w†komputerze, do jego zasilania jest wykorzystywany zasilacz komputerowy. Wybrane parametry huba przedstawione zosta³y w†tab. 1.
Opis dzia³ania uk³adu Schemat elektryczny uk³adu pokazano na rys. 1. Jego ìsercemî jest uk³ad U1 firmy Texas Instruments. BudowÍ tego interesuj¹cego uk³adu przedstawia schemat blokowy na rys. 2. W†sk³ad TUSB2077A wchodz¹: jeden port
upstream do pod³¹czenia huba z†komputerem, siedem portÛw downstream s³uø¹cych do pod³¹czenia dowolnych urz¹dzeÒ USB, pÍtla PLL, jednostka zarz¹dzaj¹ca zasilaniem portÛw, steruj¹ca oraz inne bloki widoczne na schemacie blokowym. Budowa uk³adu U1 umoøliwia wybÛr ürÛd³a zasilania: hub moøe byÊ zasilany z†portu nadrzÍdnego lub dodatkowego zasilacza. Przy zasilaniu huba z†portu USB nie da³oby siÍ uzyskaÊ wiÍcej niø 4†portÛw, przy czym obci¹øalnoúÊ kaødego takiego portu wynosi maksymalnie 100 mA. Dla†uk³adu wybrano zasilanie zewnÍtrzne, dziÍki czemu moøna by³o uzyskaÊ siedem dodatkowych portÛw o†wydajnoúci pr¹dowej do 500 mA na port. WydajnoúÊ pr¹dowa portÛw bÍdzie zaleøa³a z†duøej mierze od wydajnoúci pr¹dowej zastosowanego zasilacza. KoÒcÛwka !EXTMEM informuje hub o†do³¹czonej pamiÍci EEPROM, w†ktÛrej zawarte bÍd¹ informacje dotycz¹ce urz¹dzenia. Do prawid³owego dzia³ania huba pamiÍÊ nie jest wymagana, dlatego koÒcÛwka !EXTMEM pod³¹czona zosta³a do dodatniego na-
19
7−portowy hub USB
Rys. 1. Schemat elektryczny układu
piÍcia. KoÒcÛwka EED\GANGED, gdy jest do³¹czony EEPROM, jest lini¹ danych dla pamiÍci. Natomiast gdy brak jest tej pamiÍci, linia ta okreúla sposÛb zarz¹dzania zasilaniem zwielokrotnionych portÛw†USB. Przy poziomie niskim na tej koÒcÛwce hub bÍdzie
20
sterowa³ wspÛlnie zasilaniem wszystkich portÛw. W†tym przypadku awaria (np. przeci¹øenie lub zwarcie) zasilania jednego portu bÍdzie skutkowaÊ wy³¹czeniem zasilania wszystkim portom. Przy poziomie wysokim na koÒcÛwce EED\GANGED, hub bÍdzie
sterowa³ indywidualnie zasilaniem kaødego portu. Awaria zasilania jednego z†portÛw nie bÍdzie wp³ywaÊ na zasilanie pozosta³ych portÛw. Hub bÍdzie dalej dzia³a³ poprawnie z†portami, ktÛre nie maj¹ awarii. W†hubie wybrane zosta³o indywidualne sterowanie
Elektronika Praktyczna 11/2003
7−portowy hub USB
Rys. 2. Schemat blokowy układu TUSB2077A
zasilaniem kaødego z†portÛw. O†zaletach takiego sterowania nie trzeba chyba przekonywaÊ. Uk³ad U1 jest taktowany sygna³em zegarowym o czÍstotliwoúci stabilizowanej rezonatorem kwarcowym X1, jego czÍstotliwoúÊ jest powielana do 48 MHz. Powielacz czÍstotliwoúci jest uaktywniany poziomem niskim na wejúciu MODE. Wyjúcia uk³adu steruj¹ce tranzystorami T1...T3 sygnalizuj¹, poprzez diody D8...D10, pracÍ huba. Rezystory R42...R44 ograniczaj¹ pr¹d baz tranzystorÛw, natomiast R39...R41 ograniczaj¹ pr¹d p³yn¹cy przez diody LED. Poziom wysoki na wyjúciu HUBCFG (za³¹czona LED D8) wskazywaÊ bÍdzie, øe hub zosta³ skonfigurowany. Dioda D9 sterowana sygna³em z wyjúcia PORTPWR wskazuje swym úwieceniem czy wszystkie porty s¹ zasilane. Przy braku zasilania na jakimkolwiek z†portÛw, dioda jest wygaszona. Sygna³ z wyjúcia PORTDIS steruj¹cy diod¹ D10 zapali j¹, gdy wszystkie porty s¹ sprawne. Jeøeli ktÛrykolwiek port jest niesprawny, dioda D10 zostaje wy³¹czona. Uk³ad U4 jest specjalistycznym uk³adem zeruj¹cym dostosowanym do zasilania
Elektronika Praktyczna 11/2003
na wejúciu poniøej 2†V†powoduje wy³¹czenie danego klucza. DziÍki blokowi UVLO gwarantowana jest poprawna praca do³¹czonych do portÛw USB urz¹dzeÒ. NapiÍcie wyjúciowe za³¹czane jest poprzez N-kana³owy MOSFET, ktÛrego rezystancja w†stanie w³¹czenie nie przekracza 135 mΩ. Elementy CS (current sense) s¹ czujnikami pr¹dowymi wspÛ³pracuj¹cymi z†ogranicznikami pr¹dowymi. Kaødy z†czterech kluczy pr¹dowych zawartych w†TPS2044 moøe dostarczyÊ pr¹d o†natÍøeniu do 500 mA. Przeci¹øenie danego klucza sygnalizowane jest poziomem niskim na wyjúciach !OCx, ktÛre zosta³y do³¹czone do wejúÊ !OVRCURx uk³adu U1. Zaistnienie przeci¹øenia jest sygnalizowane uk³adowi U1, dziÍki czemu moøe wy³¹czyÊ przeci¹øony klucz. O†przeci¹øeniu danego portu informowany jest takøe system operacyjny, co ma dla jego poprawnej pracy duøe znaczenie. Poniewaø wyjúcia !OCx s¹ typu otwarty dren, potrzebne okaza³y siÍ dodatkowe rezystory podci¹gaj¹ce R46...R52. Wyprowadzenia wszystkich transceiverÛw DMx oraz DPx zosta³y poprzez rezystory do³¹czone bezpoúrednio do z³¹cz J1...J9. Dodatkowe rezystory (ograniczaj¹ce pr¹d) zabezpieczaj¹ transceivery przed uszkodzeniami spowodowanymi przepiÍciami. Zabezpieczenie transceiverÛw huba ma duøe znaczenie,
napiÍciem 3,3 V, z†ktÛrego zasilany jest takøe uk³ad U1. Wyjúcia steruj¹ce w³¹czaniem zasilania w†poszczegÛlnych portach USB !PWRONx zosta³y do³¹czone do wejúÊ !ENx uk³adÛw U2 oraz U3. Uk³ady U2, U3 s¹ kluczami pr¹dowymi (takøe produkcji TI). Uk³ady te s¹ poczwÛrnymi kluczami pr¹dowymi,†ktÛre zawieraj¹ dodatkowe zabezpieczenia przeci¹øeniowe oraz termiczne. Na rys. 3. przedstawiono schemat blokowy dwÛch z†czterech kluczy zawartych w†TPS2044. W†kluczach pr¹dowych U2 i†U3, oprÛcz wspomnianych blokÛw zabezpieczeÒ, wyrÛøniÊ moøna blok sterowania tranzystorami wyjúciowymi, pompy ³adunkowe wytwarzaj¹ce podwyøszone napiÍcie, ktÛre jest przeznaczone do zasilania bramek tranzystorÛw wyjúciowych, blok monitoruj¹cy napiÍcie wejúciowe UV- Rys. 3. Schemat blokowy dwóch z czterech LO. Spadek napiÍcia kluczy zawartych w układzie TPS2044
21
7−portowy hub USB pod³¹czenia "úledzia" z gniazdami portÛw USB w†przypadku montaøu huba w†komputerze.
Montaø i†uruchomienie
Rys. 4. Schemat półprzewodnikowe− go ogranicznika napięcia
gdyø awaria choÊ jednego portu USB bÍdzie wymagaÊ wymiany kosztownego uk³adu U1. Uszkodzenia transceiverÛw mog¹ byÊ spowodowane przepiÍciami czy ³adunkami statycznymi. Bardzo ³atwo moøe dojúÊ do uszkodzenia portu USB podczas pod³¹czania urz¹dzeÒ. Moøe okazaÊ siÍ, øe same rezystory s¹ niewystarczaj¹ce do zab ezpieczenia, zastosowane zosta³y dodatkowo ograniczniki napiÍcia U7...U11. Schemat takiego uk³adu pokazano na rys. 4. Jeøeli napiÍcie wzroúnie powyøej napiÍcia przebicia diody Zenera w³¹czany jest tranzystor, ktÛry zwiera liniÍ do masy. W†sk³ad uk³adÛw U7...U9 wchodz¹ cztery ograniczniki, natomiast U10 i†U11 posiadaj¹ po dwa takie ograniczniki. Do linii zasilaj¹cych porty USB do³¹czono diody LED poprzez rezystory ograniczaj¹ce R32...R38. Diody te spe³niaj¹ rolÍ wskaünikÛw napiÍʆna wyjúciach portÛw. W†przypadku zwarcia lub przeci¹øenia wiadomo, ktÛry port USB przesta³ dzia³aÊ. Wskutek do³¹czenia rezystora R1 do³¹czony do linii DP0 komputer jest informowany, øe hub jest w†stanie obs³ugiwaÊ szybkie transmisje USB. Hub moøe byÊ zasilany z†zasilacza komputerowego poprzez z³¹cze Z2 (5 V) lub z†zasilacza zewnÍtrznego przez z³¹cze Z3. NapiÍcie zasilacza zewnÍtrznego jest prostowane przez mostek M1 oraz stabilizowane przez U6. NapiÍcie 5†V†s³uøy g³Ûwnie do zasilania portÛw wyjúciowych. Stabilizator U5 ma napiÍcie wyjúciowe 3,3 V, ktÛre jest niezbÍdne do zasilania uk³adÛw U1 oraz U4. Dodatkowe z³¹cze Z1 (do³¹czone bezpoúrednio do z³¹cz USB J2, J3) moøe s³uøyÊ do
22
Urz¹dzenie naleøy zmontowaÊ na p³ytce drukowanej, ktÛrej schemat montaøowy pokazano na rys. 5. Przed montaøem elementÛw trzeba zdecydowaÊ, czy hub bÍdzie pracowa³ jako zewnÍtrzny czy wewnÍtrzny umieszczony w†komputerze. Jeøeli bÍdzie montowany w†obudowie zewnÍtrznej, p³ytkÍ moøna przyci¹Ê w†oznaczonych miejscach. Montaø naleøy rozpocz¹Ê od wlutowania uk³adÛw scalonych, przy czym najwiÍksze k³opoty mog¹†byÊ z†wlutowaniem uk³adu U1, ktÛry na bardzo ma³y rozstaw wyprowadzeÒ. Aby prawid³owo wlutowaÊ U1 proponujÍ sprawdzony sposÛb, ktÛry polega na wczeúniejszym delikatnym ocynowaniu punktÛw
lutowniczych p³ytki, do ktÛrych bÍdzie lutowany uk³ad. NastÍpnie naleøy przykleiÊ U1 zwracaj¹c uwagÍ na prawid³owe zorientowanie uk³adu oraz dopasowanie nÛøek do punktÛw lutowniczych. Oczyszczonym z†cyny grotem lutownicy naleøy przygnieúÊ kolejno koÒcÛwki uk³adu do punktÛw lutowniczych. Z†wlutowaniem pozosta³ych elementÛw SMD nie powinno byÊ problemu, przy czym rezystory R46...R52 naleøy zamontowaÊ od strony ìlutowaniaî. Montaø naleøy zakoÒczyÊ wlutowaniem elementÛw przewlekanych. Po zakoÒczeniu montaøu, naleøy sprawdziÊ czy nie powsta³y jakieú zwarcia, ktÛre mog¹ byÊ pÛüniej trudne do odszukania. Diody LED (jeøeli bÍd¹ montowane) moøna wmontowaÊ tak, aby znajdowa³y siÍ bezpoúrednio nad z³¹czami USB. Z³¹cze Z1 najlepiej
Rys. 5. Rozmieszczenie elementów na płytce drukowanej
Elektronika Praktyczna 11/2003
7−portowy hub USB WYKAZ ELEMENTÓW
Rys. 6. Po dołączeniu huba do PC system operacyjny automatycznie wykrywa jego obecność jako Rodzajowy koncentrator USB
zamontowaÊ z†wyjÍtym stykiem 9. NiektÛre gniazda dostÍpnych úledzi maj¹ zaúlepiony otwÛr 9,†aby zabezpieczyÊ przed odwrotnym w³oøeniem wtyku. Jeøeli hub bÍdzie pracowa³ jako zewnÍtrzny, nie naleøy montowaÊ z³¹cza Z2. Poniewaø do³¹czone do huba urz¹dzenia mog¹ pobieraÊ znaczny pr¹d, potrzebne bÍdzie wyposaøenie stabilizatora U6 w†niewielki radiator. Jeøeli hub bÍdzie montowany wewn¹trz obudowy komputera, to naleøy zamontowaÊ gniazdo Z2, natomiast nie naleøy montowaÊ elementÛw†Z3, M1, C21, C22 oraz U6. Wtyk zasilacza komputerowego bÍdzie do³¹czany bezpoúrednio do gniazda Z2. Aby umoøliwiÊ montaø p³ytki w†miejscu na napÍd 5,25 cali, zaprojektowane zosta³y dodatkowe úcianki boczne, ktÛre powinny byÊ przylutowane do nieobciÍtych bokÛw p³ytki huba. Na CD-EP11/2003B przedstawiono wygl¹d p³ytek bocznych: lewej i†prawej. Do p³ytek bocznych naleøy†dodatkowo przykleiÊ lub przylutowaÊ nakrÍtki, dziÍki czemu hub moøna przykrÍciÊ w†obudowie komputera. P³ytÍ czo³ow¹ do huba moøna wykonaÊ z†zaúlepki otworu 5,25 cali, wyjÍtej z†obudowy. W†zaúlepce naleøy wykonaÊ piÍÊ prostok¹tnych otworÛw na gniazda USB oraz otwory na diody LED. Diody D8...D10 moøna doprowadziÊ do p³yty czo³owej kilkunastocentymetrowymi przewodami. Tak wykonan¹ p³ytÍ czo³ow¹ naleøy przykleiÊ do przylutowanych Tab. 2. Układ wyprowadzeń złącza Z1 Pin
Sygna³
Pin
Sygna³
1 3 5 7 9
+5V DM2 DP2 GND NC
2 4 6 8 10
+5V DM1 DP1 GND NC
Elektronika Praktyczna 11/2003
Rys. 7. Okno właściwości huba w systemie Windows
wczeúniej bocznych úcianek. W†przypadku montaøu huba w†komputerze dwa dodatkowe porty bÍd¹ znajdowaÊ siÍ wewn¹trz obudowy komputera. Gniazda te moøna wyprowadziÊ na zewn¹trz obudowy odpowiednim przewodem lub stosuj¹c z³¹cza USB montowane na úledziu. Poniewaø dostÍpne w†handlu úledzie USB s¹ zakoÒczone rÛønymi gniazdami, to przy pod³¹czaniu do huba naleøy zadbaÊ o†prawid³owe po³oøenie wtyku úledzia w†z³¹czu Z1. Styki 1, 3, 5, 7†z³¹cza Z1 dotycz¹ gniazda J2, natomiast styki 2, 4, 6, 8†dotycz¹ gniazda J1. Jeøeli hub bÍdzie pracowa³ jako zewnÍtrzny, potrzebny bÍdzie zasilacz o†odpowiedniej wydajnoúci pr¹dowej. Dobrym rozwi¹zaniem bÍdzie zastosowanie zasilacza wtyczkowego o†napiÍciu 12...16 VDC lub 8...12 VAC oraz wydajnoúci pr¹dowej nie mniejszej niø 1†A. Po do³¹czeniu huba do komputera oraz do³¹czeniu zasilania, jest on wykrywany w†systemie. System WIN-XP wykrywa go jako Rodzajowy koncentrator USB (rys. 6). W†przypadku nieprawid³owej pracy huba naleøy sprawdziÊ jakoúÊ przylutowania uk³adu U1. W³aúciwoúci zainstalowanego huba (rys. 7) potwierdzaj¹, øe pracuje on w†trybie z†w³asnym zasilaniem, a maksymalna obci¹øalnoúÊ pr¹dowa wynosi 500 mA. Po skonfigurowaniu huba przez system powinny zaúwieciÊ wszystkie diody do³¹czone do linii zasilaj¹cych portÛw USB. Do³¹czaj¹c urz¹dzenie z interfejsem USB kolejno do kaødego z†siedmiu portÛw moøna spraw-
Rezystory R1, R45: 1,5kΩ R2...R17: 22Ω R18...R31: 15kΩ R32...R38: 560Ω R39...R41: 470Ω R42...R44: 4,7kΩ R46...R52: 10kΩ Kondensatory C1...C7, C20, C25: 100µF/16V C8...C16, C19, C22, C24: 100nF C17, C18: 27pF C21: 47µF/16V C23: 4,7µF Półprzewodniki D1...D10: LED 3mm zielone M1: mostek okrągły 1,5A T1, T2, T3: BC848 U1: TUSB2077A U2, U3: TPS2044 U3, U8: TLC272 U4: DS1818 U5: TC55RP330 U6: 78S05 TO−220 lub 78T05 TO− 220 U7, U8, U9: SN65240 U10, U11: SN65220 Różne X1: kwarc 6MHz (przewlekany) Z1: goldpin 2x10 Z2(*): komputerowe złącze zasilające (męskie) lutowane do druku Z3: złącze zasilające do druku J1: gniazdo USB typu B J2...J8: gniazdo USB typu A Radiator Elementów oznaczonych (*) nie należy montować w przypadku zasilania układu zewnętrznym zasilaczem. Elementy U4, U6, X1 oraz złącza są elementami przeznaczonymi do montażu przewlekanego.
dziÊ czy dzia³aj¹ one prawid³owo. Hub nie musi byÊ pod³¹czany jedynie do USB 1.1. PrÛby wykaza³y, øe pracuje on prawid³owo takøe wtedy, gdy jest do³¹czany do USB 2.0. Marcin Wi¹zania, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: pcb.ep.com.pl oraz na p³ycie CD-EP11/2003B w katalogu PCB.
23
Lampowy kompresor dynamiki P R O sygnału J E K audio T Y
Lampowy kompresor dynamiki sygnału audio
Przegl¹daj¹c moje zapasy lamp prÛøniowych stwierdzi³em, øe z†wielu nie bÍdÍ mia³ wiÍkszego poøytku - nie nadaj¹ siÍ do budowy wzmacniacza napiÍciowego. Tak jest na przyk³ad z†pentodami regulacyjnymi: EF83, EF 183 i†EF 89, ktÛrych sporo zalega jeszcze w†niejednej piwnicy. Co moøna zrobiÊ z†tymi lampami? WyrzuciÊ do úmieci? Zdecydowanie nie! Rekomendacje: smakowity k¹sek dla prawdziwych koneserÛw lampowej techniki audio, przeøywaj¹cej niezwyk³y renesans.
Pentody regulacyjne by³y stosowane w†uk³adach ARW (automatycznej regulacji wzmocnienia) odbiornikÛw radiowych i†telewizyjnych. W†EP3/2003 opisaliúmy dzia³anie ARW przy okazji omawiania wskaünikÛw dostrojenia (magicznych ìoczekî). Przypomnijmy tylko, øe zadaniem ARW jest regulowanie wzmocnienia wzmacniacza poúredniej czÍstotliwoúci w odbiorniku w†zaleønoúci od wartoúci sygna³u docieraj¹cego do odbiornika: silny sygna³ - mniejsze wzmocnienie, s³aby sygna³ duøe wzmocnienie. Jak realizowano lampowy uk³ad ARW? Aby to wyjaúniÊ, naleøy poznaÊ w³aúciwoúci pentody regulacyjnej.
Pentoda regulacyjna RÛønice miÍdzy dzia³aniem ìzwyk³ejî pentody napiÍciowej i†pentody regulacyjnej ilustruj¹ (rys. 1) charakterystyki przejúciowe (charakterystyk¹ przejúciow¹ pentody jest zaleønoúÊ pr¹du anodowego napiÍcia siatki przy okreúlonych napiÍciach na pozosta³ych elektrodach: anodzie, siatce ekranuj¹cej i†siatce hamuj¹cej) obu tych lamp. WidaÊ na nich wyraünie, øe lampa EF89 ma charakterystykÍ przejúciow¹ o znacznie mniejszym nachyleniu (wyd³uøon¹). Jest to cecha wszystkich pentod regulacyjnych (zwanych takøe selektodami albo pentodami z†d³ug¹ charakterystyk¹).
Elektronika Praktyczna 11/2003
Wzmocnienie napiÍciowe pentodowego wzmacniacza oporowego oblicza siÍ z†zaleønoúci: K u = Sa ⋅ Ra , gdzie: Ku - wzmocnienie napiÍciowe w†[V/V], Sa - nachylenie charakterystyki przejúciowej (konduktancja wzajemna) w†[mA/V], Ra - opornoúÊ obci¹øenia w†[kΩ]. Nachylenie charakterystyki przejúciowej jest definiowane jako stosunek zmiany pr¹du anodowego do zmiany napiÍcia na siatce steruj¹cego przy ustalonych napiÍciach na pozosta³ych elektrodach. Jak widaÊ na rys. 1, dla przyk³adowej pentody zwyk³ej (EF80) parametr Sa nie zmienia si͆znacznie w†zaleønoúci od napiÍcia siatki pierwszej (wiÍksze zmiany nastÍpuj¹†tylko w†okolicy napiÍcia odciÍcia) z†racji duøej liniowoúci tej charakterystyki. Dla lampy regulacyjnej EF89 nachylenie zmienia siÍ w†szerokim przedziale wartoúci wraz ze zmianami napiÍcia siatki pierwszej, co úwiadczy o tym, øe charakterystyka tej lampy cechuje siÍ duø¹ nieliniowoúci¹. Z†podanego wzoru wynika, øe wzmocnienie napiÍciowe wzmacniacza ze zwyk³¹ pentod¹ bardzo ma³o zaleøa³o od napiÍcia polaryzacji siatki steruj¹cej. Wzmacniacz z†pentod¹ regulacyjn¹ wykazuje natomiast siln¹ zaleønoúÊ wzmocnienia napiÍciowego w†zaleønoúci od napiÍcia polaryzacji siatki (a wiÍc pun-
25
Lampowy kompresor dynamiki sygnału audio
Rys. 1. Charakterystyki przejściowe pentod: regulacyjnej i standardowej przy Ua=Us2=200 V i Us3=0 V
ktu pracy na charakterystyce przejúciowej). Zatem pentoda regulacyjna umoøliwia skonstruowanie wzmacniacza, ktÛrego wzmocnienie napiÍciowe jest zaleøne od spoczynkowej wartoúci w punkcie pracy napiÍcia polaryzacji siatki steruj¹cej. Na rys. 2a przedstawiono uproszczony schemat takiego wzmacniacza, zaú†na rys. 2b zilustrowano, w oparciu o charakterystykÍ przejúciow¹ lampy, przebiegi pr¹du anodowego (a wiÍc i†napiÍcia na obci¹øeniu) dla rÛønych spoczynkowych punktÛw pracy A i B. Przy takiej samej amplitudzie napiÍcia wejúciowego i tym samym obci¹øeniu, wzmocnienie dla punktu B jest zacznie wiÍksze niø dla A. Przy duøym ujemnym napiÍciu regulacyjnym Ureg1 spoczynkowy punkt pracy lampy znajduje si͆w†punkcie A. W†otoczeniu tego punktu nachylenie charakterystyki jest ma³e, wiÍc wzmocnienie teø jest ma³e. Przy ma³ym ujemnym napiÍciu regulacyjnym Ureg2 punkt pracy przesuwa si͆do punktu B. Nachylenie charakterystyki w†jego otoczeniu jest duøe, wiÍc wzmocnienie teø jest duøe. Jak wspomniano wczeúniej, lampy regulacyjne stosowano w†uk³adach ARW w†odbiornikach AM. Regulowanym wzmacniaczem by³ najczÍúciej jeden stopieÒ (pierwszy) wzmacniacza poúredniej czÍstotliwoúci. Czasami ARW obejmowa³o
26
takøe wzmacniacz wielkiej czÍstotliwoúci i†inne stopnie wzmocnienia. Regulacyjne napiÍcie polaryzacji siatki takiego stopnia wzmocnienia uzyskiwano bezpoúrednio z†detektora albo z†bardziej rozbudowanych uk³adÛw, ktÛre umoøliwia³y uzyskanie ARW np. z†progiem zadzia³ania. Tego rodzaju ARW, gdy ürÛd³o napiÍcia reguluj¹cego znajduje siÍ za wzmacniaczami w.cz. i†p.cz. jest regulacj¹ wstecz. Detektor musia³ byÊ w³¹czony tak, øe uzyskiwano ujemne wzglÍdem masy napiÍcie regulacyjne. Ponadto, napiÍcie to by³o odfiltrowywane tak, by sk³adowa m.cz. nie powodowa³a zmian wzmocnienia. W†przeciwnym przypadku nastÍpowa³aby niepoø¹dana kompresja dynamiki sygna³u, polegaj¹ca na tym, øe g³oúne fragmenty audycji by³yby nienaturalnie úciszane. W nielicznych uk³adach ARW obejmowa³a wzmacniacz ma³ej czÍstotliwoúci-by³a to regulacja
w†przÛd, gdyø napiÍcie regulacyjne by³o uzyskiwane przed wzmacniaczem m.cz. Pozostaje jeszcze wyjaúniÊ, dlaczego pentody regulacyjne nie nadaj¹†siÍ do zwyk³ych uk³adÛw wzmacniaczy napiÍciowych. OtÛø w†takich uk³adach mamy jeden spoczynkowy punkt pracy, ktÛry jest úciúle ustalony, a†zmienia siÍ jedynie amplituda napiÍcia steruj¹cego (regulacja potencjometrem si³y g³osu). Z rys.2b†wynika, øe we wzmacniaczu z†pentod¹ regulacyjn¹ wyst¹pi³yby znaczne zniekszta³cenia nieliniowe, gdyby amplituda napiÍcia steruj¹cego mia³a duø¹ wartoúÊ. Takie pentody mog¹†ewentualnie pracowaÊ przy ma³ych amplitudach sygna³u steruj¹cego, a†wiÍc we wzmacniaczach wstÍpnych. Jednak ze wzglÍdu na znaczne szumy pentod nie jest to dobre rozwi¹zanie. Do stopni wstÍpnych moøna stosowaÊ pentody niskoszumne. Jednak do uk³adÛw wzmacniaczy wstÍpnych lepiej uøywaÊ uk³adÛw triod.
Kompresor Pentody regulacyjne by³y stosowane we wzmacniaczach do automatycznej regulacji wzmocnienia. Postanowi³em je zastosowaÊ w uk³adzie regulacji wzmocnienia - w†lampowym kompresorze dynamiki sygna³u akustycznego. Kompresor naleøy do tzw. procesorÛw düwiÍku. Wzmocnienie kompresora maleje po przekroczeniu pewnej wartoúci sygna³u steruj¹cego. WartoúÊ spadku wzmocnienia moøna regulowaÊzmieniaj¹c stopieÒ kompresji. Moøna takøe regulowaÊ prÛg zadzia³ania (poziom sygna³u, przy ktÛrym zaczyna siÍ kompresja), a†ponadto czasu opÛünienia zadzia³ania i†odpuszczenia. Chodzi
Rys. 2. Schemat wzmacniacza o regulowanym wzmocnieniu z pentodą regu− lacyjną (a) i przebiegi prądu anodowego dla różnych punktów pracy (b)
Elektronika Praktyczna 11/2003
Lampowy kompresor dynamiki sygnału audio
Opis dzia³ania uk³adu
Rys. 3. Charakterystyki Uwy=f(Uwe) wzmacniacza i ograniczników różnego typu
o†to, by kompresja nie nastÍpowa³a za szybko po przekroczeniu poziomu progu zadzia³ania i†nie zanika³a†zbyt szybko, bo wÛwczas s³ychaÊ wyraüne ìpompowanieî düwiÍku, objawiaj¹ce siÍ chwilowym úciszaniem muzyki w†takt np. uderzeÒ perkusji. Kompresory s¹ uøywane miÍdzy innymi przy montaøu audycji (stopniowo wychodz¹ z†uøycia, gdyø montaø audycji przeprowadza siÍ obecnie komputerowo), a†takøe przez niektÛrych gitarzystÛw. Pewn¹†odmian¹ kompresora jest limiter. Tego rodzaju uk³ady pracuj¹ w†magnetofonach, gdzie przekroczenie dopuszczalnego poziomu zapisu powoduje wzrost zniekszta³ceÒ. Charakterystyki kompresora dynamiki przedstawiono na rys. 3.
Na rys. 4 przedstawiono†schemat blokowy prezentowanego kompresora dynamiki. Dzia³a on nastÍpuj¹co: sygna³ wejúciowy jest doprowadzony jednoczeúnie do wtÛrnika katodowego I. Przewidziano regulacj͆poziomu sygna³u doprowadzanego do wtÛrnika I. Sygna³ z†wtÛrnika I jest doprowadzony do wzmacniacza o†wzmocnieniu regulowanym napiÍciem -U reg, a†st¹d do wtÛrnika II i†wyjúcia. Opisan¹ wyøej úcieøka sygna³u steruj¹cego jest w³aúciwie g³Ûwn¹ úcieøk¹ kompresora. NapiÍcie reguluj¹ce -Ureg jest otrzymywane w innym obwodzie. Sygna³ wejúciowy jest doprowadzony do wzmacniacza pomocniczego. Po wzmocnieniu sygna³ jest doprowadzony do elektronowego wskaünika wysterowania (magicznego oka) i†do prostownika. Moøliwa jest regulacja poziomu napiÍcia, przy ktÛrym zaczyna siÍ prostowanie. Oznacza to, øe napiÍcie reguluj¹ce pojawia siÍ na wyjúciu prostownika dopiero po przekroczeniu pewnego poziomu sygna³u wejúciowego. W ten sposÛb jest moøliwa regulacja progu zadzia³ania kompresji. Wyprostowany sygna³ zostaje uúredniony w†uk³adzie ca³kuj¹cym i†przechodzi przez uk³ad rÛøniczkuj¹cy. Poprzez zmianÍ parametrÛw tych obwodÛw jest moøliwa regulacja czasu opÛünienia zadzia³ania (obwÛd ca³ku-
j¹cy) i†odpuszczenia kompresji. Przewidziano regulacjÍ skokow¹ (2-stopniow¹) i†ci¹g³¹ sta³ych czasowych tych obwodÛw. Tak otrzymane napiÍcie regulacyjne jest poddawane ograniczeniu, przy czym przewidziano 10 nastaw ograniczania. Prze³¹cznik nastaw ograniczania jest dwusekcyjny. Druga sekcja jest wykorzystana do sterowania prac¹ jarzeniowego wskaünika nastaw (Nixie). OprÛcz tego istnieje moøliwoúÊ regulacji ìtwardoúciî ograniczaniastabilizacji. NapiÍcie regulacyjne -Ureg moøe byÊ p³ynnie regulowane. Poziom napiÍcia -Ureg jest wskazywany przez elektronowy wskaünik poziomu kompresji (magiczne ìokoî). Moøe dziwiÊ liczba zastosowanych elementÛw regulacyjnych do regulacji ci¹g³ej i†skokowej. Zaleøa³o mi jednak na tym, aby moøna by³o uzyskiwaÊ rÛøne charakterystyki kompresora - przedstawiono je na rys. 5. WidaÊ, øe prezentowany kompresor moøe pracowaÊ jako limiter (charakterystyki 2, 3†i†11) albo wrÍcz jako uk³ad wyciszania (6, 7). Natomiast charakterystyki 8, 9†i†10 s¹ zbliøone do charakterystyk typowego kompresora. W†tab. 1 zamieszczono "nastawy" niektÛrych parametrÛw przy wyznaczaniu charakterystyk z†rys. 5. Potencjometr czasu opÛünienia zadzia³ania by³ ustawiony we wszystkich przypadkach na minimaln¹ wartoúÊ rezystancji
Rys. 4. Schemat blokowy lampowego kompresora sygnału audio
Elektronika Praktyczna 11/2003
27
Lampowy kompresor dynamiki sygnału audio WYKAZ ELEMENTÓW
Rys. 5. Wybrane charakterystyki Uwy=f(Uwe) kompresora (sygnał testowy o częstotliwości 1 kHz)
(a†wiÍc i sta³ej czasu), potencjometr czasu odpuszczenia na maksymaln¹ wartoúÊ, a prze³¹cznik sta³ej czasowej (W1) na maksymaln¹ wartoúÊ (kondensator C15). Schemat elektryczny kompresora pokazano na rys. 6. Pierwsza czÍúÊ lampy V1 pracuje w†uk³adzie i†wtÛrnika katodowego (Ku†≈†1V/V). Potencjometr P1 umoøliwia regulacjÍ poziomu sygna³u doprowadzonego do wtÛrnika, a†tym samym do wzmacniacza. DziÍki temu moøna dobraÊ poziom sygna³u tak, aby nie wystÍpowa³y w kompresorze duøe zniekszta³cenia nieliniowe przy duøej amplitudzie napiÍcia steruj¹cego. Zastosowanie wtÛrnika I jest niezbÍdne, gdyø nie moøna potencjometru poziomu sygna³u (si³y g³osu) P1 w³¹czyÊ w obwodzie siatki pierwszej lampy V2. Takie w³¹czenie powodowa³oby niepoø¹dan¹ zmianÍ barwy düwiÍku pod-
czas regulacji wzmocnienia. Lampa V2 jest pentod¹ regulacyjn¹, pracuj¹c¹ w†uk³adzie wzmacniacza o wzmocnieniu regulowanym napiÍciem. Poprzez rezystor R4 jest podawane na siatkÍ tej lampy napiÍcie reguluj¹ce. Lampa V2 pracuje przy niskim napiÍciu anodowym i†niskim napiÍciu siatki os³onnej (drugiej). DziÍki temu lampa pracuje z†nieco ìkrÛtsz¹î charakterystyk¹ przejúciow¹ niø pokazano na rys. 1. Jest to istotne, poniewaø uzyskanie napiÍcia reguluj¹cego rzÍdu 20...30 V†sprawia³oby duøe trudnoúci. Druga po³owa lampy V1 pracuje we wtÛrniku II, ktÛry zapewnia ma³¹ rezystancjÍ wyjúciow¹ uk³adu. Lampa V3 stanowi dwustopniowy wzmacniacz pomocniczy. Sygna³ z†tego wzmacniacza jest podawany na dwa prostowniki: pierwszy z†diod¹ D2, zasilaj¹cy lampÍ V5 (wskaünik wysterowania-
Tab. 1. Nastawy parametrów regulatorów kompresora przy wyznaczaniu charakterystyk pokazanych na rys. 5 Nr charakterystyki
Wskazanie lampy Nixie
Próg kompresji
TwardoϾ ograniczania
Ustawienie poziomu kompresji
1 2 3 4 5 6 7 8 9 10 11
0 0 0 0 9 9 9 9 9 6 9
0 mV 50 mV 100 mV 400 mV 0 mV 100 mV 200 mV 200mV 200mV 200mV 200mV
minimalna minimalna minimalna minimalna minimalna minimalna minimalna maksymalna maksymalna maksymalna maksymalna
maksymalne maksymalne maksymalne maksymalne maksymalne maksymalne maksymalne maksymalne 1/2 3/8 3/8
28
Rezystory R1, R8: 22kΩ/0,6W 1% R2, R6, R9, R16, R19: 510Ω/0,6W 1% R3: 10 kΩ/0,6W 1% R4, R5, R12, R13, R29: 470kΩ/0,6W 1% R7, R14, R17, R27: 1MΩ/0,6W 1% R10: 5,1kΩ/0,6W 1% R11, R20: 15 kΩ/0,6W 1% R15: 100kΩ/0,6W 1% R18, R22, R30: 47 kΩ/0,6W 1% R21: 560 kΩ/0,6W 1% R23, R24: 220 kΩ/0,6W 1% R25: 5,6 kΩ/0,6W 1% R26: 2,4 kΩ/0,6W 1% R28: 330 kΩ/0,6W 1% P1: 1MΩ potencjometr logarytmiczny P2, P3, P4: 1MΩ potencjometr liniowy P5: 47 kΩ potencjometr liniowy P6: 220 kΩ potencjometr liniowy P7: 1MΩ potencjometr montażowy Kondensatory C1, C2, C4, C10: 47 nF/400V C3, C9, C11: 47µF/25V C5: 10µF/350V C6: 1µF/400V C7, C8: 22µF/400V C12, C18, C21: 100nF/400V C13: 150nF/400V C14: 1µF/100V C15: 4,7µF/100V C16, C17: 100µF/400V C19: 220µF/400V C20: 10nF/400V Półprzewodniki D1, D2: 1N4007 D3: C1V2 D4: C2V4 D5: C2V7 D6: C3V9 D7: C4V7 D8: C5V6 D9: C6V8 D10: C8V2 D11: C10 D12: C12 Pr1: mostek prostowniczy 1A/800V Lampy V1, V3: ECC88 V2: EF89 V4: EM800 lub EM 87 V5: EM84, EM800 lub EM 87 V6: Z566M lub LC−631 Różne 2 gniazda chinch B1: bezpiecznik 400 mAT W1: przełącznik 2−pozycyjny 1− sekcyjny W2: przełącznik 12−pozycyjny 2− sekcyjny W3: 2−pozycyjny Transformator wg opisu
Elektronika Praktyczna 11/2003
Lampowy kompresor dynamiki sygnału audio
Rys. 6. Schemat elektryczny lampowego kompresora dynamiki sygnału audio
Elektronika Praktyczna 11/2003
29
Lampowy kompresor dynamiki sygnału audio
Rys. 7. Rozkład wyprowadzeń lamp próżniowych zastosowanych w urządzeniu
poziomu sygna³u na wejúciu), drugi z†diod¹ D1, wytwarzaj¹cy napiÍcie reguluj¹ce. Listki lampy V5 reaguj¹ stosunkowo wolno na zmiany sygna³u steruj¹cego, co jest spowodowane znaczn¹ pojemnoúci¹ kondensatora C21 i†duø¹ opornoúci¹ potencjometru P7. Z†potencjometru P6 jest uzyskiwane napiÍcie polaryzacji diody D1 (w kierunku zaporowym). To napiÍcie powoduje, øe prostownik zaczyna przewodziÊ, gdy poziom sygna³u przekroczy wartoúÊ napiÍcia polaryzacji. Innymi s³owy, potencjometr P6 jest regulatorem progu zadzia³ania. Uzyskane napiÍcie reguluj¹ce jest filtrowane przez kondensator C13. Rezystor R23, potencjometr P3 i†kondensator C14 (lub C15) tworz¹ obwÛd ca³kuj¹cy. Sta³a czasowa tego obwodu zawiera siÍ od 0,22 s†do 1,22 s (lub od oko³o 1†s†do oko³o 5,7 s). ObwÛd odpuszczenia okreú-
30
laj¹cy czas (zaleøny od jego sta³ej czasowej) tworz¹ elementy: C14 (C15), R24, P4 i†P2. Sta³a czasowa tego obwodu od ok. 0,18 s do 0,55 s (lub 0,84 s†do 4†s). NapiÍcie reguluj¹ce jest ograniczane za pomoc¹ jednej z†dziewiÍciu diod stabilizacyjnych. Przy ostatnim po³oøeniu prze³¹cznika W2 nie jest w³¹czana øadna dioda. Uzyskuje siÍ wtedy najwiÍksz¹ wartoúÊ napiÍcia reguluj¹cego (najwiÍksza kompresja). DziÍki ograniczaniu napiÍcia reguluj¹cego uzyskuje siÍ quasi-prostoliniow¹ charakterystykÍ za kolanem (rys. 5). Szeregowo z†diod¹ stabilizacyjn¹ jest w³¹czony potencjometr P5. Umoøliwia on ìos³abienieî wp³ywu stabilizacji napiÍcia reguluj¹cego, przez co uzyskuje siÍ wiÍksz¹ lub mniejsz¹ nierÛwnomiernoúÊ charakterystyki za kolanem. Potencjometr P2 umoøliwia p³ynn¹ regulacjÍ napiÍcia Ureg. Lampa V4 jest w†istocie wskaünikiem napiÍcia reguluj¹cego. Poø¹dana jest duøa czu³oúÊ tej lampy. Z†tego wzglÍdu odpowiednie s¹ lampy typu EM800 i†EM87. Lampa Nixie V6 jest wskaünikiem nastawy ogranicznika. Uk³ad jest zasilany z†transformatora sieciowego. Wyprostowane przez mostek Graetz'a†napiÍcie anodowe jest wyg³adzane w†wieloogniwowym filtrze RC, z³oøonym z†elementÛw C7, C8, C16, C17, C18, C19, R11, R25 i†R26.
Montaø†i†uruchomienie Uk³ad modelowy zbudowano na podstawie z blachy ocynkowanej, wygiÍtej w†ìUî gruboúci 1,5 mm. SzerokoúÊ podstawy 200 mm, d³ugoúÊ 400 mm, wysokoúÊ 60
mm. Lampy V1, V2 i†V3 powinny byÊ ekranowane metalowymi kubkami. Przewody do³¹czone do†siatek tych lamp takøe powinny byÊ ekranowane. Transformator sieciowy powinien dostarczaÊ napiÍcie 6,3 VAC do øarzenia lamp (natÍøenie 2†A), napiÍcie anodowe 190 VAC (natÍøenie 60 mA). Rozk³ad wyprowadzeÒ lamp znajduje siÍ na rys. 7. Uk³ad powinien dzia³aÊ po prawid³owym montaøu. Naleøy jedynie potencjometr P7 ustawiÊ tak, aby przy sygnale wejúciowym 1†V (wartoúÊ skuteczna) i czÍstotliwoúci 1000 Hz úwiec¹ce listki lampy V5 prawie zesz³y siÍ. Po przekroczeniu napiÍcia steruj¹cego 1†V†i†ustawieniu potencjometru P1 na maksimum, mog¹ wyst¹piÊ zniekszta³cenia nieliniowe. To niebezpieczeÒstwo bÍd¹ sygnalizowa³y schodz¹ce siÍ listki lampy V5, dlatego warto przeprowadziÊ regulacj͆P7 poziomu sygna³u na siatce V5. Jeúli ktoú nie chce ìúwiec¹cych bajerÛwî moøe znacznie uproúciÊ uk³ad kompresora usuwaj¹c z†niego elementy: V4, V5, V6, R12, R13, R27, R28, R29, R30, D2, P7, C20 i†C21. Prze³¹cznik W2 moøe byÊ wtedy jednosekcyjny. Dzia³anie kompresora moøemy wyprÛbowaÊ w³¹czaj¹c go miÍdzy ürÛd³o sygna³u a†wzmacniacz. Najlepiej, jeúli sygna³ bÍdzie siÍ charakteryzowa³ duøymi zmianami dynamiki. Wtedy bÍdzie moøna ³atwo zauwaøyÊ przy pewnych ustawieniach elementÛw regulacyjnych, øe nastÍpuje wyrÛwnanie dynamiki. Aleksander Zawada, AVT
[email protected]
Elektronika Praktyczna 11/2003
Moduły interfejsów P R O szeregowych J E K T Y
Moduły interfejsów szeregowych AVT−553/USB232 AVT−553/USB245 AVT−553/RS232 Dzia³anie wielu urz¹dzeÒ polega na wymianie danych, najczÍúciej z†komputerami. Popularnym i†prostym sposobem jest wykorzystanie w†tym celu portu szeregowego, ktÛry jest dostÍpny we wszystkich komputerach stacjonarnych lub przenoúnych. Do niedawna niepodzielnie panowa³ RS232, teraz coraz czÍúciej jest stosowany interfejs USB. Od strony mikrokontrolera do obs³ugi takiego po³¹czenia potrzebna jest zarÛwno czÍúÊ sprzÍtowa, jak i†trochÍ oprogramowania realizuj¹cego transmisjÍ. W†artykule pokaøemy, jak moøna to zrobiÊ w†urz¹dzeniach opartych na mikrokontrolerach z†rodziny '51 i†AVR. Rekomendacje: informacje przedstawione w†artykule przydadz¹ siÍ konstruktorom samodzielnie buduj¹cym urz¹dzenia cyfrowe, ktÛre komunikuj¹ siÍ z†otoczeniem za pomoc¹ po³¹czeÒ przewodowych.
Elektronika Praktyczna 11/2003
Jaki standard wybraÊ? Przez d³ugie lata urz¹dzenia zewnÍtrzne moøna by³o pod³¹czyÊ do komputera na dwa sposoby: albo poprzez rÛwnoleg³y port drukarkowy (Centronics), albo poprzez port szeregowy RS232. Wiele mikrokontrolerÛw jednouk³adowych, w†tym prawie wszystkie z†rodzin '51 i†AVR, posiada mechanizmy u³atwiaj¹ce wymianÍ danych w†uproszczonym formacie RS232. Oznacza to, øe nie ma potrzeby pisania specjalnego oprogramowania przeznaczonego do obs³ugi transmisji i†odbioru ramki pojedynczego znaku. Wystarczy jedynie wpisaÊ w³aúciwe dane do kilku rejestrÛw i†zainicjowaÊ odpowiednie przerwania, dalej ca³a transmisja przebiega w†sposÛb prawie niewidoczny dla g³Ûwnego programu mikrokontrolera. NiezbÍdny jest jeszcze konwerter poziomÛw najczÍúciej wykorzystuj¹cy uk³ad MAX232 lub jego odpowiednik. Ostatnimi laty pojawi³a siÍ jednak nowa moøliwoúÊ port USB. Coraz wiÍcej komputerÛw PC jest wyposaøanych w†ten w³aúnie rodzaj interfejsu. Coraz czÍúciej jest to jedyny, dostÍpny w†komputerze port. USB ma kilka istotnych zalet, np.: doúÊ duø¹ prÍdkoúÊ transmisji, moøliwoúÊ pod³¹czania wielu urz¹dzeÒ peryferyj-
nych, dostÍp do stabilizowanego napiÍcia +5 V†oraz moøliwoúÊ bezpiecznego do³¹czania i†od³¹czania urz¹dzenia do/od w³¹czonego komputera. Bardzo wygodne dla konstruktorÛw rozwi¹zanie zaproponowa³a firma FTDI, wprowadzaj¹c na rynek uk³ady interfejsowe FT8U232 i†FT8U245. S¹ to scalone konwertery USB2.0 na doskonale znany RS232 lub wyjúcie rÛwnoleg³e. Oba te uk³ady by³y juø opisywane w†EP i†nie ma teraz potrzeby dok³adnego omawiania sposobu ich dzia³ania. Zajmiemy siÍ natomiast moøliwoúci¹ ich zastosowania jako interfejsÛw uk³adÛw†z†mikrokontrolerami oraz sposobem ich oprogramowania.
Trzy modu³y interfejsÛw Na rys. 1, 2 i†3 pokazano schematy trzech modu³Ûw†interfejsowych, w†ktÛrych zastosowano uk³ady: FT8U232 (modu³ USB232), FT8U245 (modu³ USB245) oraz konwerter poziomÛw MAX232 (modu³ RS232). Wszystkie modu³y†maj¹ wymiary nie wiÍksze niø standardowy uk³ad scalony w†obudowie DIP32 i†moøna je umieúciÊ w†podstawce o†takim rozmiarze. Kaødy modu³ jest kompletnym interfejsem sprzÍtowym pomiÍdzy mikrokontrolerem a†portem USB lub
31
Moduły interfejsów szeregowych czonych symbolem V+ moøna czerpaÊ niewielki pr¹d o†wartoúci kilkunastu miliamperÛw z†gniazda USB poprzez opornik zabezpieczaj¹cy 4,7Ω montowany na p³ytkach uk³adÛw USB245 i†USB232. Z†kolei modu³ RS232 zasilany jest z†urz¹dzenia, w†ktÛrym pracuje. Poniewaø jest to tylko konwerter poziomÛw TTL/RS232, do jego dzia³ania nie jest potrzebna inicjalizacja ani po³¹czenie z†komputerem.
Wyprowadzenia uk³adÛw USB232 i†RS232
Rys. 1. Schemat elektryczny modułu USB232
RS232. Modu³y by³y opracowane z†myúl¹ o†wzajemnej kompatybilnoúci i†przyk³adowo modu³ USB232 moøna stosowaÊ wymiennie z†uk³adem RS232 i†w†prosty sposÛb osi¹gn¹Ê moøliwoúÊ wspÛ³pracy mikrokontrolera zarÛwno z†portem USB, jak i†RS232 bez koniecznoúci zmian na p³ytce drukowanej uk³adu mikrokontrolera. Wszystkie modu³y s¹ standardowymi aplikacjami zastosowanych uk³adÛw scalonych. Do prawid³owej pracy uk³adÛw FT8U232/245
konieczne jest ich po³¹czenie kablem USB z†komputerem, na ktÛrym zainstalowane s¹ odpowiednie sterowniki. Modu³y zasilane s¹ z†portu USB i†do ich inicjalizacji nie jest potrzebne w³¹czenie urz¹dzenia, w†ktÛrym pracuj¹. Co wiÍcej, z†wyprowadzeÒ ozna-
Wszystkie uk³ady zosta³y zaprojektowane tak, aby mog³y byÊ umieszczone w†typowej podstawce DIP32, co u³atwia ich szybk¹ wymianÍ. Jednak liczba wyprowadzeÒ p³ytki modu³u jest mniejsza niø 32. W†module USB232 nie s¹ wyprowadzone styki 13...16 oraz 17...20, natomiast†w†RS232 styki 13, 16, 17 i†20. Modu³y USB232 i†RS232 s¹ ze sob¹ kompatybilne jeúli chodzi o†wyprowadzenia najwaøniejszych sygna³Ûw. Oznacza to, øe moøna je stosowaÊ wymiennie i†zaleønie od potrzeb wyposaøaÊ uk³ad mikrokontrolera w†interfejs USB lub RS232. W†przypadku modu³u
Rys. 2. Schemat elektryczny modułu USB245
32
Elektronika Praktyczna 11/2003
Moduły interfejsów szeregowych Tab. 1. Funkcje wyprowadzeń modułu USB245 Nr Nazwa Kierunek Opis
Rys. 3. Schemat elektryczny modułu RS232
USB232 funkcje poszczegÛlnych wyprowadzeÒ s¹ w†zasadzie kopi¹ wyprowadzeÒ uk³adu FT8U232BM, ktÛry stanowi interfejs pomiÍdzy lini¹ USB a†sygna³ami interfejsu RS232. Dok³adny opis poszczegÛlnych sygna³Ûw moøna znaleüÊ w†dostÍpnych opisach standardu RS lub w†dokumentacji technicznej uk³adu scalonego do pobrania ze strony producenta www.ftdichip.com (materia³y tej firmy publikujemy na CD-EP11/2003B). KompatybilnoúÊ obydwu modu³Ûw istnieje na poziomie najprostszej i†najpopularniejszej transmisji portem RS z†wykorzystaniem jedynie linii TxD, RxD i†masy. Modu³ USB232 posiada wyprowadzenia wszystkich sygna³Ûw†RS232 dla z³¹cza DB9. W†module USB232 moøna wykorzystaÊ
dwie linie steruj¹ce (sygna³y /DSR i†/DTR), co umoøliwia sterowanie przep³ywem danych pomiÍdzy mikrokontrolerem i†komputerem. Na rys. 4 i†5 pokazano najprostsze warianty po³¹czenia modu³Ûw M1 i†M3 z†mikrokontrolerem typu '51.
RXF
OUT
2
TXE
OUT
3
WR
IN
4
RD
IN
5 6 7 8 9 10 11 12 21 22 23
D7 I/O D6 I/O D5 I/O D4 I/O D3 I/O D2 I/O D1 I/O D0 I/O GND masa n.c. EECS I/O
24 EECLK OUT
Wyprowadzenia uk³adu USB245 Modu³ USB245 jest interfejsem pomiÍdzy portem USB a†dowolnym 8-bitowym portem mikrokontrolera. Kilka dodatkowych linii steruje przep³ywem danych pomiÍdzy modu³em a†mikrokontrolerem. Funkcje wyprowadzeÒ modu³u przedstawiono w†tab. 1. Przyk³adowe po³¹czenie modu³u USB245 z†mikrokontrolerem pokazano na rys. 6.
Rys. 4. Sposób dołączenia modułu USB232 do mikrokontrolera
Elektronika Praktyczna 11/2003
1
25 EEDAT I/O
26 V+ OUT 27 RSTOUT OUT 28 PWREN OUT 29 30 31 32
stan niski oznacza, ¿e bajt danych do odczytu z modu³u jest dostêpny stan niski oznacza, ¿e modu³ jest gotów do przyjêcia kolejnego bajtu danych zapis do modu³u bajtu danych zboczem opadaj¹cym odczyt z modu³u bajtu danej zboczem narastaj¹cym b.7 bajtu danych b.6 bajtu danych b.5 bajtu danych b.4 bajtu danych b.3 bajtu danych b.2 bajtu danych b.1 bajtu danych b.0 bajtu danych
sygna³ selekcji, jeœli stosowany jest zewnêtrzny EEPROM zegar transmisji danych, jeœli stosowany jest zewnêtrzny EEPROM sygna³ danych, jeœli stosowany jest zewnêtrzny EEPROM zasilanie z gniazda USB wyjœcie wewnêtrznego generatora resetu stan niski w czasie konfiguracji modu³u
n.c. n.c. n.c. GND masa
Rys. 5. Sposób dołączenia modułu RS232 do mikrokontrolera
33
Moduły interfejsów szeregowych takøe pe³niÊ funkcjÍ wyprowadzeÒ sprzÍtowego interfejsu szeregowego. Linie te oznaczone s¹ symbolami TxD i†RxD (lub podobnymi). Pierwsza przeznaczona jest do wysy³ania danych w†trybie szeregowym, a†druga do odbioru danych. Aby je uaktywniÊ, naleøy wpisaÊ odpowiednie wartoúci do kilku rejestrÛw mikrokontrolera oraz napisaÊ trochÍ oprogramowania do obs³ugi transmisji szeregowej przez mikrokontroler. Waøn¹ decyzj¹ jest okreúlenie sposobu obs³ugi transmisji. Moøna zaprogramowaÊ mikrokontroler tak, aby sygnalizowa³ jedynie odczyt bajtu lub gotowoúÊ do wyRys. 6. Sposób dołączenia modułu USB245 do mikrokontrolera s³ania kolejnego, a†program g³Ûwny bÍdzie musia³ sam zadbaÊ Sterowniki WspÛ³praca o†w³aúciw¹ reakcjÍ na zasygnalimikrokontrolerÛw Uk³ady interfejsowe FT8U232BM zowane w†ten sposÛb zdarzenia. z†modu³ami i†FT8U245BM, aby mÛc prawid³oNie jest to najwygodniejsze rozwo pracowaÊ, wymagaj¹ zainstaloModu³y USB232 i†USB245 wi¹zanie, gdyø zmusza g³Ûwny wania specjalnych sterownikÛw na umoøliwiaj¹ korzystanie z†portu program do ci¹g³ego sprawdzania, komputerze PC, do ktÛrego s¹ USB na nieco odmienne sposoby. czy nowe dane juø siÍ pojawi³y pod³¹czane. Sterownik zostaje uakPierwszy - w†przypadku zastoso- lub czy moøna juø wys³aÊ resztÍ. tywniony w†momencie do³¹czenia wania modu³u USB245 - jest W†dodatku jeøeli przegapi siÍ oddo gniazda USB modu³u z†wymieprostszy. Sprowadza siÍ do ba- powiedni moment, kolejny przynionymi uk³adami. Dzia³anie stedania stanu linii RXF i†TXE chodz¹cy bajt moøe byÊ wpisany rownika powoduje, øe†port USB sygnalizuj¹cych stan gotowoúci na miejsce poprzedniego jeszcze widziany jest w†systemie komputemodu³u†do transmisji lub ko- nieodebranego przez program rowym jako kolejny port COM niecznoúÊ odczytu z†modu³u ko- g³Ûwny zajÍty np. d³ugotrwa³ymi obs³ugiwany w†taki sam sposÛb jak lejnego bajtu. Niski stan obydwu obliczeniami. Znacznie wygodniej wszystkie inne porty RS232. DziÍki linii sygnalizuje gotowoúÊ do ko- zdaÊ siÍ na obs³ugÍ transmisji temu programy potrafi¹ce obs³ugilejnej transmisji lub zakoÒczenie przez przerwania -ma³e podprowaÊ porty COM bÍd¹ mog³y korzysodbioru bajtu. W†przypadku gramy dzia³aj¹ce niezaleønie od taÊ z†USB bez koniecznoúci jakiejtransmisji mikrokontroler powi- programu g³Ûwnego w†tych mokolwiek przerÛbki. nien wys³aÊ na linie D0...7 po- mentach, gdy trzeba coú zrobiÊ Sterowniki dla rÛønych systeziomy odpowiadaj¹ce wysy³ane- z†transmisj¹ szeregow¹. Takie opmÛw operacyjnych nieodp³atnie mu bajtowi i†wygenerowaÊ ujem- rogramowanie mikrokontrolera nie udostÍpnia firma FTDI na stronie ny impuls na linii WR. W†przy- jest wcale trudne i†pokaøemy, jak internetowej www.ftdichip.com/ padku odczytu dana pojawi siÍ moøna to zrobiÊ. FTDriver.htm. Ich instalacja jest na liniach D0...7 po podaniu W†przyk³adach zostan¹ uøyte bardzo prosta. Po úci¹gniÍciu plistanu niskiego na liniÍ RD. dwa bufory: nadawczy i†odbiorczy ku sterownika odpoo†rozmiarze 8†bajtÛw kaøwiedniego do wersji sysdy. Poza tym bÍd¹ wykoWszystko na CD−EP11/2003B temu operacyjnego, rzystywane 3†rejestry mikw†ktÛrym bÍdzie praco- Najnowsze wersje sterowników, noty katalogowe rokontrolera dla licznikÛw oraz oprogramowanie narzędziowe dla układów bajtÛw w†buforze nadawwa³, naleøy plik rozpaprodukowanych przez firmę FTDI publikujemy czym i†odbiorczym, kowaÊ do tymczasowego na CD−EP11/2003B. wskaünika aktualnej pozykatalogu na dysku. Nacji w†rejestrze nadawczym stÍpnie za pomoc¹ kabla naleøy po³¹czyÊ modu³ z†kompuTaka prostota okupiona jest jed- oraz dwa bity flag sygnalizuj¹cych terem. Po wykryciu do³¹czonego nak koniecznoúci¹ zaangaøowania fakt oprÛønienia bufora nadawczemodu³u system operacyjny autoaø 12 linii portÛw. Jeøeli w†mik- go i†umieszczenia w†buforze odmatycznie przeprowadza instalarokontrolerze brakuje wolnych lini- biorczym†kolejnego bajtu odebranecjÍ sterownika, naleøy tylko poi, ktÛre moøna przeznaczyʆdo tego go portem szeregowym. daÊ katalog, w†ktÛrym znajduj¹ celu, trzeba zastosowaÊ szeregow¹ siÍ rozpakowane pliki. Kaøde kotransmisjÍ i†modu³ USB232. W†mik- Jak to zrobiÊ lejne do³¹czanie modu³u do komrokontrolerach z†rodzin '51 lub AVR w†programie dla '51? Przyk³ad oprogramowania nadputera bÍdzie juø automatycznie wydzielono dwie linie steruj¹ce, uaktywnia³o odpowiedni sterowktÛre oprÛcz uniwersalnych zasto- zoruj¹cego transmisjÍ w†mikrokonnik, ktÛry juø bÍdzie w†systemie. sowaÒ jako wejúcia/wyjúcia mog¹ trolerze z†grupy '51 zaczniemy
34
Elektronika Praktyczna 11/2003
Moduły interfejsów szeregowych List. 1. Program obsługi przerwania od portu szeregowego ;przerwanie portu szeregowego ;------------------Rs_przerwanie: push acc ;zachowanie zawartości rejestrów push r0 ;użytych w procedurze przerwania jb scon.1,rs_t ;przerwanie zostało spowodowane wysłaniem poprzedniego bajtu ;obsługa odczytu kolejnego bajtu clr scon.0 ;zerowanie flagi odbioru bajtu w rejestrze SCON mov a,#bufor_odbiorczy add a,licznik_odebranych_bajtów mov r0, a ;obliczenie adresu do zapisu w buforze odbiorczym mov @r0,sbuf ;odebrany bajt z rejestru SBUF do buforu odbiorczego inc licznik_odebranych_bajtów ;zwiększenie licznika bajtów w buforze setb rs_rec_flag ;ustawienie flagi odbioru bajtu jmp rs_t1 rs_t: ;obsługa wysłania kolejnego bajtu clr scon.1 ;w rejestrze SCON zerowanie flagi zakończenia transmisji bajtu mov a,licznik_wysylanych_bajtow jnz rs_t2 ;wszystkie bajty zostały wysłane setb rs_trans_flag ;ustawienie flagi sygnalizującej wysłanie wszystkich znaków jmp rs_t1 rs_t2: mov a,wskaznik_pozycji_w_buforze add a,#bufor_nadawczy ;pozycja w buforze kolejnego bajtu do wysłania mov r0,a mov a,@r0 ;pobranie kolejnego znaku do wysłania mov sbuf,a ;znak do rejestru wyjściowego SBUF inc wskaznik_pozycji_w_buforze dec licznik_wysylanych_bajtow rs_t1: pop r0 ;odtworzenie stanu rejestrów pop acc ;używanych w procedurze przerwania reti
List. 2. Program konfigurujący UART ;podprogram inicjacji transmisji szeregowej ;9600 bodów, 8 bitów danych, 1 bit stopu ;dla kwarcu mikrokontrolera 11,059MHz ;--------------------Inicjacja: mov SCON, #50h ;ustawienie w rejestrze SCON trybu1: 8 bitów danych 1 bit stopu mov TMOD, #20h ;transmisja będzie taktowana zegarem T1 mov TH1, #0FDh ;wartości początkowe wpisywane do rejestrów mov TL1, #0FDh ;zegara T1 dla szybkości transmisji 9600 bodów anl PCON, #07Fh ;zerowanie bitu SMOD w rejestrze PCON setb TR1 ;włączenie zegara T1 setb ES ;zezwolenie na przerwanie portu szeregowego setb EA ;globalne zezwolenie na przerwania clr rs_rec_flag ;kasowanie flagi sygnalizującej odbiór bajtu mov licznik_odebranych_bajtów, #0 ;zerowanie licznika odebranych bajtów ret
omawiaÊ od koÒca, czyli od podprogramu obs³ugi przerwania. W†'51 istnieje tylko jedno przerwanie zwi¹zane z†transmisj¹ szeregow¹. Na pocz¹tku trzeba wiÍc ustaliÊ, czy przerwanie zosta³o wywo³ane odbiorem kolejnego znaku, czy zakoÒczeniem wysy³ania poprzedniego. I†zaleønie od tego albo odczytany bajt ìwyl¹dujeî w†buforze odbiorczym, albo kolejny bajt zostanie pobrany z†bufora nadawczego i†wys³any w†úwiat. Przyk³adowy program realizuj¹cy to zadanie pokazano na list. 1. Zanim przerwanie zacznie funkcjonowaÊ, naleøy najpierw ustawiÊ parametry transmisji szeTab. 2. Wartości wpisywane do T1 dla różnych prędkości transmisji dla częstotliwości kwarcu 11,059 MHz Szybkoœæ SMOD Wartoœæ wpisywana do T1 19200 9600 4800 2400 1200
1 0 0 0 0
#FDh #FDh #Fah #F4h #E8h
Elektronika Praktyczna 11/2003
regowej: szybkoúÊ, liczbÍ bitÛw startu i†stopu, zainicjalizowaÊ rejestry i†flagi zwi¹zane z†transmisj¹ oraz w³¹czyÊ obs³ugÍ prze-
rwaÒ. Dla wygody najlepiej to zrobiÊ w†osobnym podprogramie, na przyk³ad takim jak pokazano na list. 2. SzybkoúÊ transmisji portu szeregowego zaleøy od 3†czynnikÛw: czÍstotliwoúci kwarcu uøytego w†oscylatorze mikrokontrolera, wartoúci pocz¹tkowej wpisanej do licznika T1 i†ustawienia bitu SMOD w†rejestrze PCON. W†praktyce oznacza to, øe niektÛrych szybkoúci transmisji nie moøna osi¹gn¹Ê, jeúli czÍstotliwoúÊ kwarcu bÍdzie zbyt ma³a. Standardowe szybkoúci transmisji w†zakresie 1200...19200 bodÛw moøna osi¹gn¹Ê stosuj¹c kwarc o†czÍstotliwoúci 11,059 MHz. W†tab. 2 zestawiono wartoúci pocz¹tkowe wpisywane do zegara T1 i†ustawienie bitu SMOD dla poszczegÛlnych szybkoúci. W†przypadku zastosowania innego kwarcu skazani jesteúmy na eksperymentalne dobieranie wartoúci pocz¹tkowej wpisywanej do zegara T1. Program naleøy†jeszcze uzupe³niÊ o†deklaracjÍ uøytych rejestrÛw przeznaczonych do obs³ugi transmisji, a†takøe wpisaÊ pod odpowiednim adresem wektor przerwania portu szeregowego, co pokazano na list. 3. Na list. 4 pokazano kilka linii kodu, ktÛre powinny znaleüÊ siÍ w†programie g³Ûwnym, aby mieÊ dostÍp do danych odebranych
List. 3. Deklaracja rejestrów przeznaczonych do obsługi transmisji oraz ustalenie wektora przerwania portu szeregowego licznik_odebranych_bajtów EQU 30H licznik_wysylanych_bajtow EQU 31H wskaznik_pozycji_w_buforze EQU 32H flagi EQU 20h rs_rec_flag BIT flagi.0 rs_trans_flag BIT flagi.1 ROZMIAR_BUFOROW EQU 8 bufor_odbiorczy: DS ROZMIAR_BUFOROW bufor_nadawczy: DS ROZMIAR_BUFOROW ORG 23H jmp Rs_przerwanie
;licznik bajtów w buforze odbiorczym ;licznik bajtów w buforze nadawczym ;wskaźnik pozycji w buforze nadawczym ;adres bajtu flag ;flaga sygnalizacji odbioru bajtu ;flaga zakończenia transmisji bajtów z buforu nadawczego ;deklaracja rozmiaru buforów
;wektor przerwania portu szeregowego
List. 4. mov c, rs_rec_flag jnc bufor_pusty ;w buforze odbiorczym nie ma nowych bajtów clr ES ;zablokowanie przerwania portu szeregowego mov r0,# bufor_odbiorczy petla_odczytu: mov a, @r0 ;w rejestrze akumulatora bajt odczytany z bufora ... ;tutaj kod programu związany z wykorzystaniem bajtów ... ;przesłanych portem szeregowym z PC-ta inc r0 djnz licznik_odebranych_bajtów, petla_odczytu clr rs_rec_flag ;kasowanie flagi sygnalizującej odbiór danych setb ES ;ponowne włączenie przerwania bufor_pusty: Inicjacja transmisji portem szeregowym może wyglądać następująco: ... ;kod programu zapisujący do buforu nadawczego bajty danych ... ;do wysłania portem szeregowym mov licznik_wysylanych_bajtow, #ile_bajtów ;wpisanie do licznika ilości ;wysyłanych bajtów mov wskaznik_pozycji_w_buforze, #0 mov r0,#bufor_nadawczy mov a,@r0 ;w akumulatorze pierwszy bajt do wysłania inc wskaznik_pozycji_w_buforze dec licznik_wysylanych_bajtow mov SBUF, a ;zapis do SBUF pierwszego bajtu inicjuje transmisję ;zawartości bufora nadawczego clr rs_trans_flag
35
Moduły interfejsów szeregowych List. 5. Program odpowiadający za obsługę przerwania ;przerwanie odebrania kolejnego znaku z portu RS ;-----------------------UART_RXC: push temp ;zachowanie zawartości rejestrów push ZH ;użytych w procedurze przerwania push ZL in temp, SREG push temp
Rys. 7. Schemat montażowy modułu USB232
ldi ZH,HIGH(bufor_odbiorczy) ldi ZL,LOW(bufor_odbiorczy) add ZL, licznik_odebranych_bajtów clr temp ;obliczenie pozycji w buforze odbiorczym adc ZH,temp ;do zapisu odebranego bajtu in temp, UDR ;w rejestrze temp odebrany bajt st Z,temp ;zapis bajtu w buforze odbiorczym inc licznik_odebranych_bajtów ;zwiększenie licznika bajtów w buforze sbr flagi, 1<< rs_rec_flag ;ustawianie flagi sygnalizującej odbiór bajtu pop temp ;odtworzenie stanu rejestrów out SREG, temp ;używanych w procedurze przerwania pop ZL pop ZH pop temp reti ;przerwanie zakończenia transmisji kolejnego znaku ;------------------------UART_TXC: push temp ;zachowanie zawartości rejestrów push ZH push ZL in temp, SREG push temp
Rys. 8. Schemat montażowy modułu USB245
cpi licznik_wysylanych_bajtow, 0 brne uat1 ;wszystkie znaki zostały wysłane sbr flagi, 1<< rs_trans_flag ;ustawienie flagi sygnalizującej wysłanie ;wszystkich znaków rjmp uat2 uat1: ;transmisja kolejnego znaku ldi ZH, HIGH(bufor_nadawczy) ldi ZL, LOW(bufor_nadawczy) add ZL, wskaznik_pozycji_w_buforze clr temp adc ZH, temp ;pozycja w buforze kolejnego bajtu do wysłania ld temp, Z out UDR, temp ;wysyłany znak do rejestru transmisji UART inc wskaznik_pozycji_w_buforze dec licznik_wysylanych_bajtow uat2: pop temp out SREG, temp pop ZL pop ZH pop temp reti
Rys. 9. Schemat montażowy modułu RS232
List. 6. Podprogram inicjacji parametrów transmisji szeregowej ;podprogram inicjacji transmisji szeregowej ;19200 bodów, 8 bitów danych, 1 bit stopu ;dla kwarcu mikrokontrolera 10MHz ;--------------------Inicjacja: ldi out sbi sbi sbi sbi cbr sei ret
temp, 32 UBRR, temp UCR, TXEN UCR, RXEN UCR, RXCIE UCR, TXCIE flagi, 1<< rs_rec_flag
;wartość podzielnika dla szybkości 19200 ;włączenie części nadawczej ;włączenie części odbiorczej ;zezwolenie na przerwanie po odbiorze znaku ;zezwolenie na przerwanie po zakończeniu nadawania znaku ;kasowanie flagi sygnalizującej odbiór znaku ;ogólne zezwolenie na przerwania
portem szeregowym oraz instrukcje inicjuj¹ce transmisjÍ portem szeregowym. Ustawienie w†stanie wysokim flagi rs_trans_flag bÍdzie sygnalizowa³o zakoÒczenie transmisji zawartoúci bufora nadawczego.
Jak to zrobiÊ w†programie dla mikrokontrolera AVR? Podobny program dla mikrokontrolera z†grupy AVR bÍdzie wygl¹da³ trochÍ inaczej. Powodem jest zarÛwno inna sk³adnia asemblera, jak i†rÛønice konstrukcyjne obydwu mikrokontrolerÛw. Na przyk³ad mikrokontrolery AVR ofe-
36
ruj¹ wiÍcej przerwaÒ, w†tym osobne dla odczytu bajtu i†osobne dla zakoÒczenia transmisji bajtu. Tak jak w†przypadku '51 zacznijmy od obs³ugi przerwania (list. 5).
Ustawienie parametrÛw transmisji, tak jak i†w†poprzednim przyk³adzie, odbywa siÍ za pomoc¹ podprogramu inicjalizacji, ktÛrego listing pokazano na list. 6. Ze wzglÍdu na wiÍksz¹ szybkoúÊ dzia³ania mikrokontrolerÛw AVR, ³atwiej jest osi¹gn¹Ê standardowe szybkoúci transmisji bez wzglÍdu na rodzaj zastosowanego kwarcu w†generatorze. WzÛr pozwalaj¹cy wyliczyÊ szybkoúÊ transmisji w†zaleønoúci od czÍstotliwoúci kwarcu i†wartoúci wpisanej do rejestru UBRR ma postaÊ: BAUD =fclk/16*(UBRR-1), gdzie: BAUD - szybkoúÊ transmisji w†bitach/sekundÍ, fclk - czÍstotliwoúÊ oscylatora mikrokontrolera, UBRR - wartoúÊ wpisana do rejestru.
List. 7. Deklaracja zastosowanych rejestrów AVR i ustawienie wektorów skoków .DEF licznik_odebranych_bajtów =r16 ;licznik bajtów w buforze odbiorczym .DEF licznik_wysylanych_bajtow =r17 ;licznik bajtów w buforze nadawczym .DEF wskaznik_pozycji_w_buforze =r18 ;wskaźnik pozycji w buforze nadawczym .DEF flagi =r19 ;adres bajtu flag .DEF temp =r20 ;rejestr pomocniczy .EQU rs_rec_flag =0 ;flaga sygnalizacji odbioru bajtu .EQU rs_trans_flag =1 ;flaga zakończenia transmisji bajtów z buforu nadawczego .EQU ROZMIAR_BUFOROW =8 ;deklaracja rozmiaru buforów .DSEG bufor_odbiorczy: .BYTE ROZMIAR_BUFOROW bufor_nadawczy: .BYTE ROZMIAR_BUFOROW .ORG 0x09 rjmp UART_RXC .ORG 0x0b rjmp UART_TXC
;wektor przerwania odbioru kolejnego znaku z RS-a ;wektor przerwania ukończenia transmisji kolejnego znaku
Elektronika Praktyczna 11/2003
Moduły interfejsów szeregowych List. 8. Program odpowiadający za dostęp do przesłanych danych sbrs flagi, rs_rec_flag rjmp bufor_pusty ;w buforze odbiorczym nie ma nowych bajtów ldi ZH,HIGH(bufor_odbiorczy) ldi ZL,LOW(bufor_odbiorczy) cbi UCR, RXCIE ;wyłączenie zezwolenia na przerwanie po odbiorze znaku petla_odczytu: ld temp,Z+ ;w temp bajt odczytany z buforu odbiorczego ... ;tutaj kod programu związany z wykorzystaniem bajtów ... ;przesłanych portem szeregowym z PC-ta dec licznik_odebranych_bajtów brne petla_odczytu cbr flagi, 1<< rs_rec_flag ;kasowanie flagi sygnalizującej odbiór bajtu sbi UCR, RXCIE ;włączenie zezwolenia na przerwanie po odbiorze znaku bufor_pusty: Inicjacja transmisji: ... ;kod programu zapisujący do buforu nadawczego bajty danych ... ;do wysłania portem szeregowym ldi licznik_wysylanych_bajtow, #ile_bajtów ;wpisanie do licznika ilości ;wysyłanych bajtów clr wskaznik_pozycji_w_buforze ldi ZH,HIGH(bufor_nadawczy) ldi ZL,LOW(bufor_nadawczy) ld temp,Z ;w temp pierwszy wysyłany bajt z bufora nadawczego dec licznik_wysylanych_bajtow inc wskaznik_pozycji_w_buforze cbr flagi, 1<< rs_trans_flag ;kasowanie flagi sygnalizującej wysłanie ;wszystkich znaków out UDR, temp ;zapis do SBUF pierwszego bajtu inicjuje transmisję ;zawartości bufora nadawczego
DeklaracjÍ zastosowanych rejestrÛw i†ustawienie wektorÛw skokÛw pokazano na list. 7. Z†kolei dostÍp do przes³anych poprzez RS danych i†inicjacja transmisji w†programie g³Ûwnym mog¹ wygl¹daÊ tak, jak pokazano na list. 8. Ustawienie w†stanie wysokim flagi rs_trans_flag bÍdzie sygnalizowa³o zakoÒczenie transmisji zawartoúci bufora nadawczego.
Montaø modu³Ûw Schematy montaøowe modu³Ûw pokazano na rys. 7, 8 i†9.Uøyte do budowy modu³Ûw rezystory i†kondensatory unipolarne maj¹ obudowy przeznaczone do montaøu powierzchniowego typu 1206. W†module USB232 rezystor R7 ma wartoúÊ 0Ω. Oczywiúcie zamiast niego moøna zastosowaÊ zwyk³¹ zworÍ. PojemnoúÊ elektro-
Elektronika Praktyczna 11/2003
litÛw w†module RS232 nie jest krytyczna i†moøe byÊ zmniejszona nawet do 1µF. Moøe to tylko skutkowaÊ nieco mniejsz¹ maksymaln¹ d³ugoúci¹ kabla, jakiego moøna bÍdzie uøyÊ do po³¹czenia modu³u z†portem COM komputera. W†modu³ach USB232 i†USB245 najlepiej zastosowaÊ kwarce w†niskich obudowach. Jeøeli modu³y nie bÍd¹ przewidziane do mocowania w†podstawkach, moøna zrezygnowaÊ ze stosowania specjalnych pinÛw, uøywaj¹c†w†to miejsce srebrzanki do wlutowania na sta³e modu³u do g³Ûwnej p³ytki uk³adu, w†ktÛrym bÍd¹ pracowaÊ. Ryszard Szymaniak, EP
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: pcb.ep.com.pl oraz na p³ycie CD-EP11/2003B w katalogu PCB.
WYKAZ ELEMENTÓW Elementy modułu USB232 Rezystory R2, R3: 27Ω R4: 4,7Ω R5: 470Ω R6: 1,5kΩ R7: 0 Kondensatory C1...C3: 100nF C4: 33nF C5, C6: 22pF Półprzewodniki U1: FT232BM Różne CON_USB: gniazdo USB−A X1: 6MHz Elementy modułu USB235 Rezystory R2, R3: 27Ω R4: 4,7Ω R5: 470Ω R6: 1,5kΩ Kondensatory C1...C3: 100nF C4: 33nF C5, C6: 27pF Półprzewodniki U1: FT245BM Różne CON_USB: gniazdo USB−A X1: 6MHz Elementy modułu RS232 Kondensatory C1...C4: 47µF/16V C6: 100nF Półprzewodniki U5: MAX232
37
Wyłącznik P Rsterowany O J E pilotem K T Y
Wyłącznik sterowany pilotem AVT−554
Zapewne nie jest to nowatorski pomys³, poniewaø nie raz juø widywa³em projekty podobnych uk³adÛw. Lecz ten projekt wyrÛønia siÍ spoúrÛd innych kilkoma szczegÛlnymi cechami. Przedstawiamy je w†artykule. Rekomendacje: jako wy³¹cznik ìstandbyî dla stacjonarnego yamppa oraz do zdalnego sterowania dowolnymi urz¹dzeniami domowymi zasilanymi z†sieci.
Po pierwsze, Ûw wy³¹cznik moøemy nauczyÊ kodu tylko jednego wybranego klawisza z†danego pilota i†tylko na jego przyciúniÍcie bÍdzie on reagowa³. Po drugie, posiada on wyjúcie, na ktÛre przekazywany jest sygna³ z†pilota w†celu przes³ania go dalej, do podrzÍdnego urz¹dzenia ktÛre bÍdziemy wy³¹czaÊ. Po trzecie, mamy rÛwnieø do dyspozycji lokalny przycisk ON/OFF. Pierwotnym przeznaczeniem owego wy³¹cznika by³o†zastosowanie go jako uk³adu standby dla stacjonarnej wersji odtwarzacza MP3 yampp3, lecz oczywiúcie nic nie stoi na przeszkodzie, aby uøyÊ go do za³¹czania zasilania sieciowego dla innych urz¹dzeÒ. Posiada on jeszcze jedn¹ unikaln¹ cechÍ. Jeúli w†stanie za³¹czenia zostanie, na czas oko³o 5†sekund, zwarte do masy wyjúcie przekazuj¹ce sygna³ pilota do podrzÍdnego urz¹dzenia, to uk³ad przejdzie w†stan wy³¹czenia. Umoøliwia to realizacjÍ funkcji sleep, czyli automatycznego przejúcia w†stan czuwania po spe³nieniu okreúlonego warunku, a†zainicjowane przez podrzÍdne urz¹dzenie.
Budowa uk³adu Schemat elektryczny wy³¹cznika pokazano na rys. 1. NapiÍcie sieciowe podane na zaciski z³¹cza J1 przechodzi przez bezpiecznik
Elektronika Praktyczna 11/2003
na pierwotne uzwojenie transformatora T1 oraz jednoczeúnie doprowadzone jest do stykÛw przekaünika REL1 bÍd¹cego w³aúciwym wy³¹cznikiem. Zastosowany przekaünik posiada dwa styki zwierne, dziÍki czemu w†stanie wy³¹czonym uzyskujemy pe³n¹ separacjÍ urz¹dzenia sterowanego od sieci zasilaj¹cej. Po wyprostowaniu przez mostek D1 oraz odfiltrowaniu przez kondensator C1, napiÍcie z†wtÛrnego uzwojenia transformatora zasila cewkÍ przekaünika, oraz poprzez stabilizator 5†V†wykonany na uk³adzie U2 - zasila mikrokontroler U1 wraz z†do³¹czonym do niego zintegrowanym odbiornikiem podczerwieni U3. ìSercemî urz¹dzenia jest jeden z†najmniejszych mikrokontrolerÛw AVR ATtiny12. Ma on tylko 8 wyprowadzeÒ, wiÍc aby nie marnowaÊ i†tak skromnej ich liczby, posiada wbudowany generator sygna³u zegarowego i†nie potrzebuje do pracy zewnÍtrznego rezonatora kwarcowego. OprÛcz dekodowania sygna³Ûw zdalnego sterowania, uk³ad U1 obs³uguje rÛwnieø przycisk ON/ OFF, steruje poprzez tranzystor Q1 przekaünikiem, diod¹ elektroluminescencyjn¹ D3 - sygnalizuj¹c¹ stan czuwania, oraz przekazuje impulsy z†odbiornika U3 na z³¹cze wyjúciowe J4. Na styku
39
Wyłącznik sterowany pilotem
Rys. 1. Schemat elektryczny wyłącznika
3†z³¹cza J4 otrzymujemy dok³adniej numer standardu transmisji z†trybu idle by³o przepe³nienie nie taki sam sygna³, jaki wchodzi oraz kod klawisza, uruchamia licznika timera, to nastÍpuje do uk³adu z†odbiornika podczerwatchdoga i†wchodzi do pÍtli sprawdzenie stanu klawisza. Jeúli wieni, z†tym øe jest to wyjúcie g³Ûwnej programu. W†pÍtli g³Ûw- jest on naciúniÍty, to program po typu ìotwartyî dren. Dla tego teø nej zostaje uruchomiony sprzÍto- chwili sprawdza go ponownie, zastosowano rezystor R2 umoøliwy timer generuj¹cy przerwanie aby wyeliminowaÊ ewentualne zawiaj¹cy podci¹gniÍcie tego wyj- oko³o 18 razy na sekundÍ. Po k³Ûcenia mog¹ce spowodowaÊ fa³úcia do zewnÍtrznego napiÍcia +5 uruchomieniu timera procesor zo- szyw¹ zmianÍ stanu uk³adu. Po V zasilaj¹cego podrzÍdny uk³ad. staje prze³¹czony w†tryb obniøo- upewnieniu siÍ, øe klawisz jest Po prostu zamiast pod³¹czaÊ do nego poboru pr¹du, z†ktÛrego wy- dalej naciúniÍty, podobnie jak po tego uk³adu drugi odbiornik podbudziʆmoøe go dowolne przerwa- odebraniu prawid³owego kodu z†pilota, zostaje zmieczerwieni, moøemy go niony stan wyjúÊ do bezpoúrednio pod³¹czyÊ Wykorzystane w projekcie procedury odbioru diody LED i†przekaünido z³¹cza J4 w†prezentosygnału pilota oparte są na zasadach opisanych ka, i†odczekanie do mowanym uk³adzie. w artykule o programowym dekodowaniu mentu puszczenia klasygnałów zdalnego sterowania. Czytelników Zasada dzia³ania wisza. NastÍpnie prozainteresowanych tym tematem zapraszamy do Ca³a ìinteligencjaî gram znÛw powraca na działu “Kurs” w EP12/2002. uk³adu zawarta jest pocz¹tek pÍtli g³Ûwnej. w†programie zapisanym Jeúli nie wykryto naciúw†pamiÍci Flash mikrokontrolera. nie - czyli z†timera, lub pojawie- niÍcia klawisza, to pozostaje jeszAlgorytm pracy programu pokazanie siÍ stanu niskiego na wyjúciu cze do sprawdzenia ostatni no na rys. 2. Po za³¹czeniu odbiornika podczerwieni. Jeúli wy- z†moøliwych warunkÛw - czyli zasilania uk³adu mikrokontroler budzenie powsta³o na skutek ak- zg³oszenie chÍci wy³¹czenia powykonuje inicjalizacjÍ zmiennych tywnoúci na wejúciu IR, to pro- przez urz¹dzenie podrzÍdne. Jei†portÛw, po czym sprawdza, czy gram prÛbuje odebraÊ trans- øeli uk³ad jest w†stanie za³¹czonaciúniÍty jest klawisz ON/OFF. misj͆z†pilota w†zapamiÍtanym nym oraz na wyprowadzeniu porJeúli tak, to przechodzi on do tu PB0 jest stan niski, zostaje wczeúniej standardzie. trybu uczenia i†zapamiÍtywania Jeúli odbiÛr bÍdzie prawid³o- uruchomiony dodatkowy licznik, standardu transmisji i†kodu klawiwy oraz odebrany rozkaz zgadza ktÛry odlicza czas pocz¹wszy od sza z†pilota. W†tym trybie mrugasiÍ z†zapamiÍtanym wczeúniej oko³o 5†sekund do 0. Zmiana nie diody D3 potwierdza odbiÛr wzorcem, to nastÍpuje zmiana stanu na PB0 powoduje zatrzysygna³u z†pilota. Jeúli sygna³ z†odstanu logicznego na wyjúciach manie i†przywrÛcenie pocz¹tkobiornika podczerwieni zostanie dla diody LED i†przekaünika, wej wartoúci tego licznika. Jeúli zinterpretowany jako prawid³owy a†nastÍpnie oczekiwanie na ko- jednak w†przeci¹gu 5†sekund nie kod klawisza - zostaje on zapaniec transmisji, aby nie powodo- zmieni siÍ stan linii PB0 i†licznik miÍtany w†pamiÍci EEPROM mikwaÊ prze³¹czania wyjúÊ tam dojdzie do wartoúci 0, to podobrokontrolera, a†program rozpoczyi†z†powrotem w†przypadku d³uø- nie jak w†przypadku odebrania na pracÍ od pocz¹tku, czyli w†tryszego przytrzymania klawisza na w³aúciwego kodu pilota czy nabie normalnej pracy. pilocie. Jeúli nie odebrano pra- ciúniÍcia klawisza, nast¹pi zmiaJeúli podczas za³¹czania zasiwid³owego kodu lub nie zgadza na stanu logicznego na wyjúciach lania klawisz nie by³ naciúniÍty, siÍ on ze wzorcem, program dla diody LED i†przekaünika, to procesor odczytuje ze swojej powraca do pÍtli g³Ûwnej. Jeúli a†wiÍc wy³¹czenie napiÍcia 220V pamiÍci EEPROM zapisany wczeúpowodem wybudzenia procesora na z³¹czu wyjúciowym J2.
40
Elektronika Praktyczna 11/2003
Wyłącznik sterowany pilotem t¹, nie pod³¹czamy rÛwnieø odbiornika podczerwieni. Po pod³¹czeniu do stykÛw z³¹cza J1 zasilania, sprawdzamy napiÍcie panuj¹ce na kondensatorze C1. W†zaleønoúci od zastosowanego transformatora powinno ono zawieraÊ siÍ w†granicach od 14 do 17 V. NastÍpnie poprzez pomiar napiÍcia pomiÍdzy nÛøkami 4†i†8†podstawki pod U1 sprawdzamy uk³ad stabilizatora U2. NapiÍcie to powinno wynosiÊ 5†V. Jeúli wszystko jest w†porz¹dku, moøemy sprawdziÊ przekaünik poprzez po³¹czenie na chwilÍ odcinkiem przewodu nÛøek 3†i†8†podstawki pod U1. Przekaünik powinien siÍ za³¹czyÊ. Jeúli wszystko jest OK, to wy³¹czamy zasilanie i†po odczekaniu kilkunastu sekund w†celu roz³adowania kondensatorÛw zasilacza wk³adamy w†podstawkÍ zaprogramowany mikrokontroler, do z³¹cza J3 pod³¹czamy odbiornik podczerwieni, a†do z³¹cza J5 kabelek z†przyciskiem i†diod¹ úwiec¹c¹ na koÒcu. Po za³¹czeniu zasilania dioda powinna siÍ zaúwieciÊ, przekaünik pozostaÊ wy³¹czony, a†naciskanie przycisku powinno powodowaÊ za³¹czanie i†wy³¹czanie przekaünika oraz naprzemiennie gaszenie i†zaúwiecanie diody. Podczas montaøu uk³adu w†obudowie naleøy pamiÍtaÊ o†panuj¹cym na czÍúci p³ytki napiÍciu
Rys. 2. Algorytm pracy programu sterującego
Montaø i†uruchomienie Ca³oúÊ uk³adu zmontowano na jednostronnej p³ytce drukowanej o†wymiarach 40x86 mm. Na rys. 3 przedstawiono rozmieszczenie elementÛw na niej. Ze wzglÍdu na prostotÍ konstrukcji, zmontowanie uk³adu nie powinno stanowiʆøadnego problemu, a†wiÍc moøna od razu zamontowaÊ wszystkie elementy, a†w†miejsce przeznaczone dla mikrokontrolera zamontowaÊ odpowiedni¹ podstawkÍ. Ze wzglÍdu na wymagan¹ izolacjÍ pomiÍdzy elementami znajduj¹cymi siÍ pod napiÍciem sieci a†reszt¹ uk³adu zdecydowano siÍ na brak otworÛw w†p³ytce drukowanej na dwa niewykorzystane wyprowadzenia przekaünika, ktÛre
Elektronika Praktyczna 11/2003
przed jego zamontowaniem naleøy obci¹Ê tuø przy samej obudowie przekaünika. Sprawa wygl¹da podobnie, jeúli chodzi o†transformator sieciowy T1. Transformator o†oznaczeniu 4511-3120 wpasowuje siÍ dok³adnie w†istniej¹ce otwory. W†przypadku zastosowania transformatora TSZZ 1,2/ 005M, przed jego zamontowaniem naleøy usun¹Ê jego wyprowadzenia o†numerach 2, 4†i†8, a†nastÍpnie zamontowaÊ go tak, aby wyprowadzenia 1 i†5 by³y pod³¹czone do napiÍcia 220V. Po zmontowaniu ca³oúci przechodzimy do uruchomienia uk³adu. Najpierw naleøy sprawdziÊ zasilacz, wiÍc podstawkÍ pod mikrokontroler U1 pozostawiamy pus-
Rys. 3. Rozmieszczenie elementów na płytce drukowanej
41
Wyłącznik sterowany pilotem sieciowym 220 V, wiÍc do przykrÍcenia p³ytki do metalowej obudowy naleøy uøyÊ tulejek dystansowych o†d³ugoúci co najmniej 10 mm.
Obs³uga urz¹dzenia Na koniec przyszed³ czas, aby nauczyÊ nasz wy³¹cznik reagowania na rozkazy wydawane za pomoc¹ pilota. W†tym celu wy³¹czamy zasilanie sieciowe, naciskamy przycisk i, trzymaj¹c go, w³¹czamy zasilanie. Potwierdzeniem wejúcia w†tryb programowania jest zgaszona dioda, wy³¹czony przekaünik i†brak reakcji na naciskanie przycisku. Teraz bierzemy pilota i†kilkukrotnie naciskamy wybrany przez nas przycisk. Potwierdzeniem odbioru sygna³u†z†pilota jest mruganie diody w†momencie naciskania przycisku na pilocie. Po kilkukrotnym naciúniÍciu przycisku na pilocie uk³ad powinien rozpocz¹Ê normaln¹ pracÍ, czyli zacz¹Ê ìprztykaÊî przekaü-
42
nikiem. W†tym momencie procedura uczenia zostaje zakoÒczona, a†odpowiedni kod klawisza zapamiÍtany w†nieulotnej pamiÍci EEPROM mikrokontrolera. Niezaleønie od wy³¹czania zasilania bÍdzie on waøny aø do chwili jego zmiany poprzez powtÛrzenie ww. procedury. Na koniec moøemy jeszcze sprawdziÊ moøliwoúÊ wy³¹czania uk³adu przez urz¹dzenie podrzÍdne. W†tym celu za³¹czamy nasz wy³¹cznik do stanu w³¹czenia, a†nastÍpnie zwieramy wyprowadzenia 2†i†3†z³¹cza J4. Po oko³o 5 sekundach przekaünik powinien zostaÊ wy³¹czony, a†dioda LED powinna si͆zaúwieciÊ. Uk³ad pozostanie w†stanie wy³¹czenia aø do ponownego za³¹czenia go za pomoc¹ przycisku lub pilota. Romuald Bia³y Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: pcb.ep.com.pl oraz na p³ycie CD-EP11/2003B w katalogu PCB.
WYKAZ ELEMENTÓW Rezystory R1: 4,7kΩ R2, R3: 10kΩ R4: 2,2kΩ Kondensatory C1: 470µF/25V C2, C3: 100nF Połprzewodniki D1: mostek prostowniczy RB155 lub podobny D2: 1N4148 Q1: BC337 D3: dowolna dioda LED U1: ATtiny12 (zaprogramowany) U2: LM78L05 U3: zintegrowany odbiornik podczerwieni ELRIM 8601, SFH 506 lub podobny Różne F1: bezpiecznik typu TR5 − 0,1A szybki, do druku. J1, J2: listwy przykręcane, rozstaw 5mm J3...J5: 3Pin goldpiny, raster 2,54mm REL1: przekaźnik RM82, cewka 12V T1: transformator zalewany do druku typ TSZZ1,2/005M lub 4511_3120 S1: przycisk chwilowy ON/OFF
Elektronika Praktyczna 11/2003
Cyfrowy oscyloskop/analizator P Rstanów O J logicznych E K T Y
Cyfrowy oscyloskop/analizator stanów logicznych, część 2 AVT−529 Temat oscyloskopÛw cyfrowych i†podobnych przyrz¹dÛw by³ juø wielokrotnie poruszany na ³amach Elektroniki Praktycznej. Przedstawialiúmy zarÛwno dopracowane i†kosztowne przyrz¹dy dostÍpne komercyjnie, jak i†tanie - lecz proste pozwalaj¹ce skorzystaÊ z†zalet techniki cyfrowej nawet elektronikom-amatorom. Projekt przedstawiony w†artykule ma w†zamierzeniu ³¹czyÊ przynajmniej czÍúÊ zalet tych pierwszych z†dostÍpnoúci¹ i†niew¹tpliwymi walorami edukacyjnymi tych drugich. Rekomendacje: zaawansowany technicznie przyrz¹d, pozwalaj¹cy wszystkim konstruktorom zbliøyÊ siÍ - znacznie bardziej niø dotychczas - do najnowoczeúniejszych opracowaÒ úwiatowych.
Elektronika Praktyczna 11/2003
Opis uk³adu oscyloskopu CzÍúÊ cyfrowa WiÍkszoúÊ blokÛw funkcjonalnych elektroniki cyfrowej zosta³a zaimplementowana w†uk³adzie FPGA (schemat czÍúci cyfrowej pokazano na rys. 7a i†7b). Wykorzystano uk³ad firmy QuickLogic charakteryzuj¹cy siÍ znacznym nadmiarem wewnÍtrznych po³¹czeÒ. DziÍki temu moøna by³o wykorzystaÊ wyprowadzenia uk³adu tak, aby projektowanie p³ytki by³o ³atwe. Naleøy pamiÍtaÊ o†tej moøliwoúci przy korzystaniu z†matryc FPGA, poniewaø optymalne rozmieszczenie wyprowadzeÒ sygna³Ûw oznacza nie tylko mniej czasu spÍdzonego przy projektowaniu p³ytki, ale przede wszystkim ìp³askiî (pozbawiony skrzyøowaÒ) rozk³ad úcieøek pozwala na poprowadzenie wszystkich úcieøek sygna³owych po stronie elementÛw, a strona przeciwna jest wolna. W†uk³adach w.cz., takich jak kaødy uk³ad cyfrowy pracuj¹cy przy 100 MHz, istotne znaczenie maj¹ kondensatory odsprzÍgaj¹ce. Te elementy umieszcza siÍ wiÍc bezpoúrednio pod wyprowadzeniami zasilania, aby zminimalizowaÊ indukcyjnoúÊ ich doprowadzeÒ. Dodatkowo, p³aszczyzna masy po stronie lutowania moøe byÊ duøa i†nieprzerywana liniami sygna³owymi. Naleøy pamiÍtaÊ o†umieszczeniu na pocz¹tku d³uøszych linii
sygna³owych, a†szczegÛlnie przenosz¹cych sygna³ zegara, rezystorÛw w³¹czonych szeregowo niedaleko nadajnika (rys. 8). DziÍki temu odbicia od koÒca linii nie odbijaj¹ siÍ ponownie od wyjúcia nadajnika, co znacznie zmniejszy jitter na tych liniach. Naleøy†unikaÊ duøych rÛønic w†d³ugoúci úcieøek sygna³owych, poniewaø powoduje to, øe sygna³ zegarowy i†dane przybywaj¹ do danego uk³adu przesuniÍte w fazach. Moøe to powodowaÊ b³Ídy. Oczywiúcie, naleøy teø pamiÍtaÊ o†bardzo skutecznym odsprzÍganiu zasilania, poniewaø uk³ad zawiera takøe bardzo wraøliwe na wahania napiÍÊ zasilaj¹cych elementy analogowe. Zaleca siÍ wiÍc stosowanie kondensatorÛw ceramicznych wlutowanych blisko uk³adÛw scalonych oraz elektrolitycznych lub tantalowych przy ürÛdle zasilania.
CzÍúÊ analogowa Uk³ady analogowe nie poddaj¹ siÍ integracji tak ³atwo jak cyfrowe. CzÍúÊ analogowa (schemat pokazano na rys. 9) jest wiÍc z³oøona z†kilku uk³adÛw, w†wiÍkszoúci wzmacniaczy. Oznacza to, øe odpowiedzialnoúÊ za prawid³owe poprowadzenie linii po³¹czeniowych miÍdzy czÍúciami spada na projektanta. Nie jest to zadanie ³atwe, poniewaø przyjÍto, øe po-
43
Cyfrowy oscyloskop/analizator stanów logicznych
Rys. 7a. Schemat elektryczny cyfrowej części oscyloskopu (cześć 1)
44
Elektronika Praktyczna 11/2003
Cyfrowy oscyloskop/analizator stanów logicznych
Rys. 7b. Schemat elektryczny cyfrowej części oscyloskopu (cześć 2)
ziom szumÛw w†paúmie do 30 MHz nie powinien byÊ wyøszy niø 1†mV. Przy czÍstotliwoúciach rzÍdu 1†MHz takie napiÍcie moøe bardzo ³atwo powstaÊ w†wyniku przeprowadzenia zaszumionej úcieøki zasilaj¹cej czy sygna³u†cyfrowego rÛwnolegle do úcieøki sygna³u analogowego. Najskuteczniejszym rozwi¹zaniem jest zastoso-
Elektronika Praktyczna 11/2003
wanie transmisji rÛønicowej. Czasami jest to moøliwe (naleøy wtedy pamiÍtaÊ o†prowadzeniu úcieøek rÛwnolegle i†blisko siebie), jednak w wiÍkszoúci przypadkÛw dla sygna³Ûw analogowych uøywa masy jako poziomu odniesienia. Poø¹dane jest zatem wykonanie na p³ytce rozleg³ej i†ci¹g³ej p³aszczyzny masy.
Rys. 8. Nieprawidłowe i prawidłowe dopasowanie sygnału przy źródle
45
Cyfrowy oscyloskop/analizator stanów logicznych
Rys. 9. Schemat elektryczny części analogowej
46
Elektronika Praktyczna 11/2003
Cyfrowy oscyloskop/analizator stanów logicznych
Rys. 10. Dopasowanie wyjścia wzmacniacza
Niestety, takøe i†od tej regu³y istniej¹ wyj¹tki. Przede wszystkim wokÛ³ uk³adÛw pobieraj¹cych duøe impulsy pr¹du z†p³aszczyzny masy (typowe dla przetwornic impulsowych) jej potencja³ jest silnie zaburzony. Prowadzi to do nieprawid³owego dzia³ania czu³ych wzmacniaczy. Najprostszym rozwi¹zaniem jest usuniÍcie p³aszczyzny masy spod takiego uk³adu. To pozbawia jednak uk³ad ekranowania od spodu, ktÛre zwykle wp³ywa korzystnie na szumy w†uk³adzie. Okaza³o siÍ, øe duøo lepsz¹ metod¹ jest zaprojektowanie szczelin w†p³aszczyünie masy umieszczonych tak, øe uniemoøliwiaj¹ one rozp³yw pr¹du szumÛw†pod uk³adami analogowymi, albo podzia³ p³aszczyzny masy na dwie czÍúci po³¹czone drutem z pere³k¹ ferrytow¹. Drugim wyj¹tkiem od regu³y ìduøej ci¹g³ej p³aszczyzny masyî jest przypadek, kiedy zastosowany jest uk³ad wzmacniacza o†duøym wzmocnieniu. Okazuje siÍ bowiem, øe jeøeli impedancja obwodu sprzÍøenia zwrotnego jest zbyt ma³a, to uk³ad ten ma w¹skie pasmo. Z†kolei zwiÍkszanie impedancji obwodu sprzÍøenia zwrotnego stanowi powaøne zagroøenie nie tylko dla funkcjonalnoúci, ale nawet dla integralnoúci uk³adu. OtÛø†duøa impedancja w†po³¹czeniu z†pojemnoúciami pasoøytniczymi stanowi przesuwnik fazowy. Jeøeli przesuniÍcie fazy stanie bÍdzie 180o przy wzmocnieniu przekraczaj¹cym 1, to wzmacniacz stanie siÍ generatorem. Moøe wÛwczas nast¹piÊ nawet przegrzanie wzmacniacza wskutek prze³adowywania pojemnoúci pasoøytniczych na wyjúciu. Przy ma³ych impedancjach lub ma³ych pojemnoúciach zapobiega temu ograniczone pasmo wzmacniacza. Jeøeli impedancja pÍtli sprzÍøenia zwrotnego nie powinna byÊ ma³a (ze wzglÍdu na wymagania dotycz¹ce pasma), to naleøy zmniej-
Elektronika Praktyczna 11/2003
szyÊ pojemnoúci pasoøytnicze. Ich g³Ûwnymi sk³adnikami s¹: pojemnoúci miÍdzy úcieøkami oraz miÍdzy úcieøk¹ a†p³aszczyzn¹ masy. Najprostszym rozwi¹zaniem jest wiÍc prowadzenie moøliwie krÛtkich úcieøek sprzÍøenia zwrotnego jak najdalej od innych úcieøek. Poza tym moøna usun¹Ê†p³aszczyznÍ masy spod obwodu sprzÍøenia zwrotnego, pogarszaj¹c w†ten sposÛb nieco wspÛ³czynnik szumÛw, ale zapewniaj¹c stabilnoúÊ wzmacniacza. Wiele wzmacniaczy, w†tym THS7002, ma pewn¹ optymaln¹ wartoúÊ impedancji sprzÍøenia zwrotnego, zapewniaj¹c¹ minimalne szumy. Dla tego uk³adu wynosi ona ok. 1†kΩ. Jest to wartoúÊ, przy ktÛrej stosunkowo ³atwo osi¹gn¹Ê stabilnoúÊ, wiÍc nie by³o potrzeby usuwania p³aszczyzny masy. Oczywiúcie naleøy pamiÍtaÊ o†nieobci¹øaniu wyjúcia wzmacniacza elementami o†charakterze pojemnoúciowym. Zgodnie z regu³ami dobrego projektowania naleøy umieúciÊ niewielk¹ rezystancjÍ (ok. 50 Ω) na wyjúciu wzmacniacza (oczywiúcie za obwodem sprzÍøenia zwrotnego) - rys. 10. Ta rezystancja zapobiega wtÛrnym odbiciom sygna³u od ürÛd³a.
Zasilanie Powszechne jest przekonanie, øe w†uk³adach analogowych nie wolno stosowaÊ przetwornic impulsowych. To nieprawda. Przetwornice impulsowe s¹ elementami, bez ktÛrych trudno wyobraziÊ sobie urz¹dzenia przenoúne. Czasami nie ma zreszt¹ wyboru. Zwyczajny zasilacz dla przedstawianego oscyloskopu by³by od niego wiÍkszy i†wytwarza³by duøo ciep³a. W†uk³adach analogowych moøna, i†niekiedy naleøy, stosowaÊ przetwornice impulsowe. Trzeba tylko zadbaÊ o odfiltrowanie szumÛw. CzÍúÊ zwi¹zanych z tym problemÛw moøna rozwi¹zaÊ juø na etapie projektowania uk³adu. Przede wszystkim naleøy wprowadziÊ filtry przed i†za przetwornic¹ impulsow¹. Najlepsze s¹ filtry typu π (rys. 11), sk³adaj¹ce siÍ z†dwÛch kondensatorÛw, cewki i†- ewentualnie - d³awika w postaci pere³ki ferrytowej, bardzo efektywnie eliminuj¹cego zak³Ûcenia w.cz. Elementy powinny byÊ w†obudowach
SMD, aby zminimalizowaÊ wartoúci indukcyjnoúci pasoøytniczych (szczegÛlnie dotyczy to kondensatorÛw). Kaødy z†kondensatorÛw powinien byÊ ceramiczny, o†moøliwie ma³ej stratnoúci. Bardzo dobre rezultaty przynosi takøe zastosowanie kondensatorÛw ceramicznych 100 nF w†po³¹czeniu z†kondensatorami tantalowymi 22 µF. Nie zaleca siÍ stosowania wy³¹cznie kondensatorÛw tantalowych, poniewaø maj¹ one zbyt duø¹ stratnoúÊ. Podczas projektowania p³ytki rozwi¹zuje siÍ pozosta³e problemy dotycz¹ce szumu pochodz¹cego od przetwornicy impulsowej. Przede wszystkim, im dalej przetwornica znajduje siÍ od elektroniki analogowej, tym lepiej. Po drugie, przetwornica powinna mieÊ w³asn¹, wydzielon¹ sekcjÍ p³aszczyzny masy (dwa rozwi¹zania omÛwiono powyøej). Elementy indukcyjne filtru π powinny znajdowaÊ siÍ bezpoúrednio nad szczelin¹ oddzielaj¹c¹ sekcje p³aszczyzny masy. Jak najmniej przewodÛw powinno przekraczaÊ granicÍ tych p³aszczyzn. Blisko kaødego uk³adu warto umieúciÊ ceramiczne kondensatory 100 nF, w³¹czone miÍdzy szyny zasilaj¹ce a†masÍ. Naleøy teø rozwaøyÊ zamkniÍcie czÍúci analogowej w†ekranie metalowym, chociaø skutki zak³ÛceÒ elektromagnetycznych moøna zminimalizowaÊ poprzez przestrzeganie regu³ dotycz¹cych p³aszczyzny masy i†transmisji rÛønicowej.
Odprowadzanie ciep³a Chociaø uk³ady cyfrowe pracuj¹ce przy 100 MHz nie wydzielaj¹ wiele ciep³a, o†tyle uk³ady analogowe o†szerokim paúmie zuøywaj¹ sporo mocy i†musz¹ rozproszyÊ j¹ do otoczenia. Uk³ady analogowe wykorzystane w†projekcie s¹ umieszczone w†specjalnych obudowach, ktÛre pozwalaj¹ na bezpoúredni dostÍp do metalowej podstawy, na ktÛrej osadzony jest uk³ad scalony. Przylutowanie tej podstawy do masy powoduje, øe ciep³o wytwarzane
Rys. 11. Filtr zasilania typu π
47
Cyfrowy oscyloskop/analizator stanów logicznych Tab. 1. Rejestry zaimplementowane w układzie FPGA Adres
Blok rejestrów
Rejestr
Opis
00w
kana³ 1
val1
wartoœæ progowa (tryb analogowy) szablon bitów (tryb cyfrowy) maska bitów (tryb cyfrowy) 5 0: globalnie zablokuj wyzwalanie 4 0: wejœcie 1; 1: wejœcie 2 3 1: ignoruj kana³ przy wyzwalaniu 2 1: tryb cyfrowy; 0: analogowy 1 0: negacja warunku 0 0: zbocze rosn¹ce; 1: opadaj¹ce jw. jw. jw. bardziej znacz¹cy bajt d³ugoœci próby mniej znacz¹cy bajt d³ugoœci próby bardziej znacz¹cy bajt adresu odczytu mniej znacz¹cy bajt adresu odczytu 3 0: zegar 1; 1: zegar 2 2 0: w³¹cz podzia³ przez 10 1 0: w³¹cz podzia³ przez 5 0 0: w³¹cz podzia³ przez 2 bardziej znacz¹cy bajt wskaŸnika zapisu danych mniej znacz¹cy bajt wskaŸnika zapisu danych dane pochodz¹ce z pamiêci kana³u 1 dane pochodz¹ce z pamiêci kana³u 2 dane pochodz¹ce z pamiêci kana³u 3 dane pochodz¹ce z pamiêci kana³u 4
01w 02w
mask1 cfg1
04w 08w 0Cw 10w 11w 12w 13w 18w
kana³ 2 kana³ 3 kana³ 4 pompa danych
dzielnik sygna³u zegarowego
00r 01r 04r 05r 06r 07r
pompa danych kana³ kana³ kana³ kana³
1 2 3 4
jw. jw. jw. rlhi rllo rahi ralo div
dphi dplo ch1 ch2 ch3 ch4
Tab. 2. Rozkazy sterujące pracą oscyloskopu Kod
Nazwa
Opis
Dane zwrotne (bajty)
0 1 2 3
ARQ RST RGW WRB
2: 1: 1: 1:
4 5
RDB RDS
6 7
I2C SSS
¿¹danie potwierdzenia reset œcie¿ki danych odczyt flagi ukoñczenia zapis bajtu do FPGA; dana w drugim bajcie odczyt bajtu z FPGA odczyt bloku próbek; segment w drugim bajcie zapis na szynie I2C adres: krok próbkowania dane: przesuniêcie wewn¹trz segmentu
1: odczytany bajt 1024: odczytany blok próbek 1: potwierdzenie 1: potwierdzenie
przez uk³ad jest rozpraszane przez duø¹ metalow¹ powierzchniÍ, jak¹ powinna stanowiÊ poprawnie zaprojektowana p³aszczyzna masy. Jest to jedna z†jej funkcji. Jedynym mankamentem tej dosyÊ nowej - technologii jest trudnoúÊ w†rÍcznym lutowaniu obudÛw tego typu.
Projekt w FPGA Opis budowy uk³adu w strukturze FPGA przygotowano w postaci schematu. Nie skorzystano z†jÍzykÛw HDL, poniewaø schemat czasami pozwala na wiÍksz¹ kontrolÍ nad projektem. W†tab. 1 umieszczono listÍ rejestrÛw udostÍpnianych przez uk³ad FPGA.
48
negacja logiczna bajtów rozkazu potwierdzenia niezerowa wartoœæ oznacza ukoñczenie pomiaru potwierdzenia
Mikrokontroler Kontroler transmisji jest uk³adem typu RISC. Producent - firma Texas Instruments - wraz z†akcj¹ promocyjn¹ kontrolerÛw skierowan¹ do profesjonalistÛw zdecydowa³a siÍ wspieraÊ takøe projekty niewielkie i hobbystyczne. DziÍki udostÍpnieniu pe³nej informacji oraz pojedynczych sztuk amatorom, powsta³ jeden z†doskonalszych kompilatorÛw dla mikrokontrolerÛw. Istnieje mianowicie wersja GCC dla tych uk³adÛw, a†dziÍki przemyúlanemu zestawowi instrukcji kod ³atwo poddaje siÍ optymalizacjom podobnym do stosowanych w†klasycznych procesorach (czego nie da siÍ powiedzieÊ np. o†nieúmiertelnym MCS-51).
Kontroler odbiera pakiety danych po 2†bajty z†portu szeregowego (115200 bodÛw, 8†bitÛw danych, bez parzystoúci). Trzy najbardziej znacz¹ce bity pierwszego bajtu to rozkaz, pozosta³ych piÍÊ stanowi adres. Drugi bajt zawiera dane. Zdefiniowano osiem rozkazÛw, ktÛre zestawiono w†tab. 2. Kontroler moøe prÛbkowaÊ sygna³ pochodz¹cy z†FPGA, tak øe moøliwe jest osi¹gniÍcie czÍstotliwoúci prÛbkowania niøszych niø 1†MHz.
Komputer PC Duøa czÍúÊ funkcjonalnoúci oscyloskopu jest realizowana przez oprogramowanie napisane w†ca³oúci w†jÍzyku Ell pracuj¹ce na komputerze PC pod kontrol¹ systemu Linux. Kontroler dostarcza komputerowi ìsurowychî danych pomiarowych. S¹ one odbierane przez komputer, przetwarzane i†wyúwietlane. Oprogramowanie zapewnia nie tylko moøliwoúÊ sterowania funkcjami takimi jak: zmiana szybkoúci prÛbkowania, przesuniÍcie na ekranie punktu wyzwalania czy zmiana wzmocnienia wzmacniaczy wejúciowych. Program realizuje takøe transformatÍ FFT (rys. 12), zmieniaj¹c oscyloskop w†prosty analizator czÍstotliwoúci oraz rÛøne funkcje matematyczne. Okazuj¹ siÍ one byÊ przydatne np. podczas pomiaru sygna³Ûw rÛønicowych, kiedy warto wyúwietliÊ oddzielnie sumÍ (szum) i†rÛønicÍ (wartoúÊ uøyteczn¹) sygna³Ûw. Innym przyk³adem jest obserwowanie sygna³Ûw†komunikacyjnych, kiedy do dyspozycji mamy sygna³y kwadraturowe I/Q, a†potrzebna jest obserwacja modu³u i†fazy. Moøna teø realizowaÊ proste filtry FIR (do 16 punktÛw odpowiedzi impulsowej rys. 13). Ponadto program umoøliwia korzystanie z†kursorÛw pomiarowych, podaj¹c ich wartoúci oraz odleg³oúÊ miÍdzy nimi. W†przypadku pomiaru czasu wyúwietlana jest takøe czÍstotliwoúÊ odpowiadaj¹ca zaznaczonemu okresowi (rys. 14). Standardowym trybem pracy wiÍkszoúci oscyloskopÛw wielokana³owych jest tryb X-Y. Jedyn¹ nietypow¹ cech¹ przedstawianego oprogramowania jest moøliwoúÊ korzystania z†funkcji matematycznych na obu osiach
Elektronika Praktyczna 11/2003
Cyfrowy oscyloskop/analizator stanów logicznych
Rys. 12. Transformata FFT sygnału pochodzącego z oscyloskopu
jednoczeúnie. Ustawienia oscyloskopu mog¹ byÊ zapisywane i†odczytywane z†plikÛw.
Moøliwoúci rozbudowy Duø¹ zalet¹ oscyloskopu jest jego modu³owa budowa. ZarÛwno od strony wejúÊ jak i†od
strony komputera dostÍpne s¹ rozmaite z³¹cza, ktÛrych celem jest umoøliwienie rozbudowy przyrz¹du o†nowe funkcje. Moøna stosowaÊ analogowe wyzwalanie takøe dla wejúÊ cyfrowych, co oznacza, øe do wejúÊ cyfrowych moøna pod³¹czyÊ inne przetworniki A/C (np. 12-bitowe albo o†szybkoúci prÛbkowania 200 MSPS). Sterowanie takimi przetwornikami mog³oby siÍ odbywaÊ poprzez wyprowadzon¹ na z³¹cze rozszerzenia magistralÍ zgodn¹ z†I 2C. Zamiast wejúÊ analogowych moøna by w³¹czyÊ np. tuner TV, sterowany zwykle takøe przez szynÍ I2C, i†obserwowaÊ przebiegi wizyjne.
Rys. 13. Filtr FIR zrealizowany w postaci funkcji matematycznej
Elektronika Praktyczna 11/2003
NajwiÍksze jednak moøliwoúci rozbudowy daje z³¹cze magistrali procesor - FPGA. PrzejÍcie kontroli nad t¹ magistral¹ pozwala na transfer danych z†FPGA z†szybkoúci¹ przekraczaj¹c¹ 20 MB/s, co oznacza, øe praca z†oscyloskopem upodobni³aby siÍ do pracy z†oscyloskopem analogowym. To samo z³¹cze moøe rÛwnieø pos³uøyÊ do rozszerzenia karty oscyloskopowej o†ekran, p³ytÍ czo³ow¹ i†procesor systemowy. Autor planuje skonstruowanie takiego modu³u, opartego na uk³adzie IDT 79RC32355. Jest to wersja procesora MIPS (znanego m.in. z†systemÛw Silicon Graphics) dostosowana do pracy w†ma³ych systemach. Stanis³aw Skwronek Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: pcb.ep.com.pl oraz na p³ycie CD-EP11/2003B w katalogu PCB.
Rys. 14. Kursory pomiarowe
49
Zegar ze 100−letnim kalendarzem i dwukanałowym P R O termometrem J E K T Y
Zegar ze 100−letnim kalendarzem i dwukanałowym termometrem, część 2 AVT−513
Prezentowany w†artykule zegar jest kolejnym naszym pomys³em ìdla domuî, u³atwiaj¹cym nasze ìcodzienne" øycie. Jest ono bowiem zaleøne od biegn¹cego czasu, ktÛry naleøy nieustannie kontrolowaÊ. Waøna teø jest temperatura, ktÛra moøe negatywnie wp³ywaÊ na samopoczucie wiÍkszoúci z†nas? Rekomendacje: ze wzglÍdu na duø¹ funkcjonalnoúÊ i†przydatnoúÊ, zegar polecamy wszystkim Czytelnikom. Dobrych przyrz¹dÛw do kontroli up³ywaj¹cego czasu i zmian temperatury nigdy nie jest za duøo.
Elektronika Praktyczna 11/2003
Montaø i†uruchomienie Zegar zmontowano na dwustronnej p³ytce drukowanej, rozmiarem dopasowanej do wielkoúci wyúwietlacza. Widok rozmieszczenia elementÛw na p³ytce przedstawiony na rys. 4. Montaø naleøy rozpocz¹Ê od wlutowania rezystorÛw, nastÍpnie diod D1 i†D2 oraz podstawki pod mikrokontroler. NastÍpnie naleøy zamontowaÊ kondensatory, stabilizator napiÍcia i†z³¹cza oraz tranzystor. Przyciski S1...S4 oraz wyúwietlacz naleøy†zamontowaÊ od strony elementÛw. Otwory do mocowania p³ytki oraz umieszczenia z³¹cza wyúwietlacza (wykonane w†p³ytce) umoøliwiaj¹ bezpoúrednie przymocowanie wyúwietlacza do p³ytki zegara. Po prawid³owym zmontowaniu uk³adu naleøy do³¹czyÊ czujniki temperatury. Czujniki naleøy do³¹czyÊ odpowiednio do z³¹cza CON3 dla czujnika pierwszego i†do z³¹cza CON4 dla drugiego czujnika. Chociaø czujniki typu DS1820 mog¹ pracowaÊ bez zewnÍtrznego zasilania (zasilane s¹ z†linii transmisyjnej), to
w†przypadku znacznego oddalenia czujnika od p³ytki zaleca siÍ do³¹czenie plusa napiÍcia zasilania do czujnika. NapiÍcie 5V jest dostÍpne na z³¹czach CON3 i†CON4. Czujniki mog¹ byÊ oddalone od p³ytki zegara na odleg³oúÊ oko³o 30 metrÛw. Jako linia transmisyjna moøe byÊ wykorzystana skrÍtka telefoniczna. Jeúli czujniki zostan¹ pod³¹czone, to moøna rozpocz¹Ê uruchamianie zegara. W†tym celu do z³¹cza CON1 naleøy do³¹czyÊ ürÛd³o napiÍcia o†wartoúci 11...12 V†i†wydajnoúci pr¹dowej minimum 200 mA. NapiÍcie zasilaj¹ce nie moøe mieʆwiÍkszej wartoúci, gdyø moøe to spowodowaÊ uszkodzenie diod podúwietlaj¹cych wyúwietlacz. Najlepiej zastosowaÊ zasilacz AC o†napiÍciu znamionowym 9†V. W†wyniku prostowania i†filtrowania na wyjúciu otrzymuje siÍ napiÍcie o†wartoúci oko³o 11,5 V. NapiÍcie zasilania nie moøe byÊ niøsze od napiÍcia baterii podtrzymuj¹ce pracÍ, gdyø†powodowa³oby to jej roz³adowania. Jako ürÛd³o napiÍcia rezerwowego
51
Zegar ze 100−letnim kalendarzem i dwukanałowym termometrem zywany czas bÍdzie znacz¹co odbiega³ od czasu wzorcowego, naleøy doúwiadczalnie skorygowaÊ czÍstotliwoúÊ generatora poprzez regulacjÍ kondensatorem C5, aø do uzyskania jak najwiÍkszej stabilnoúci odmierzanego czasu. Zastosowany trymer umoøliwia znaczn¹ zmianÍ czÍstotliwoúci generatora, co pozwala na dok³adne jego dostrojenie do wymaganej czÍstotliwoúci.
Ustawianie czasu Regulacji wszelkich parametrÛw dokonuje siÍ za pomoc¹ czteroprzyciskowej, wielofunkcyjnej klawiatury. Jedynym parametrem wymagaj¹cym prze³¹czenie procesora w†tryb programowania jest ustawianie aktualnego czasu i†daty. Aby przejúÊ w†tryb programowania naleøy nacisn¹Ê przycisk S2 (OK) i†przytrzymaÊ przez oko³o†4†sekundy. Po tym czasie zostanie uruchomiony tryb ustawiania czasu, a†na wyúwietlaczu pojawi siÍ nastÍpuj¹cy napis: Ustawianie czasu gg:mm:00 DD-MM-2000
Rys. 4. Rozmieszczenie elementów na płytce zegara
naleøy zastosowaÊ bateriÍ typu 6F22 (9 V). BateriÍ naleøy do³¹czyÊ do z³¹cza CON2. Po pod³¹czeniu napiÍcia zasilania naleøy ustawiÊ kontrast wyúwietlacza potencjometrem PR1. Po ustawieniu kontrastu na wyúwietlaczu powinien pojawiÊ siÍ czas i†temperatura w†formacie: 0:00:01 23.4°C
01-01-2000 23.6°C
Wartoúci temperatury bÍd¹ zapewne inne, ale wyúwietlenie jakiejkolwiek wartoúci bÍdzie úwiadczy³o o†prawid³owej pracy uk³adu. Zostanie takøe w³¹czone podúwietlanie o jasnoúci 50% wartoúci maksymalnej. Po uruchomieniu zegara moøna rozpocz¹Ê programowanie czasu i†obs³ugi. Zegar ma moøliwoúÊ korygowania dok³adnoúci odmierzanego czasu, dlatego jeúli wska-
52
Jednoczeúnie zostan¹ podkreúlone jednostki roku, co sygnalizuje, øe ten parametr moøe byÊ zmieniony. Po wprowadzeniu zegara w†tryb programowania odliczanie czasu jest nadal wykonywane, a†zmiana ustawieÒ jest dokonywana na pomocniczych komÛrkach pamiÍci, dlatego na†kaødym etapie ustawiania czasu programowanie moøna przerwaÊ naciskaj¹c przycisk S4 (ESC). WÛwczas, bez wprowadzenia zmian†nast¹pi powrÛt do wyúwietlania czasu i†temperatury. Wprowadzanie czasu i†daty rozpoczyna siÍ od roku, nastÍpnie wprowadza siÍ miesiÍce, dni, godziny i†minuty. WartoúÊ sekund jest automatycznie zerowana przy wychodzeniu z†procedury programowania. Ustawianie daty rozpoczyna siÍ od roku, aby ustaliÊ maksymaln¹ liczbÍ dni w†miesi¹cu. Przy ustawianiu roku moøna zmieniaÊ tylko dwie ostatnie cyfry, co pozwala na ustawienie roku w†zakresie 2000...2099. ZmianÍ wartoúci roku wykonuje siÍ klawiszem S1 (UP) lub S3 (DOWN). Po ustawieniu odpowiedniego roku naleøy nacisn¹Ê klawisz S2 (OK). Po jego naciúniÍciu nast¹pi przejúcie do ustawiania miesi¹ca.
Numer miesi¹ca ustawia siÍ tak samo jak w†przypadku roku. Po ustawieniu w³aúciwego miesi¹ca naleøy nacisn¹Ê klawisz S2 (OK) i†nast¹pi przejúcie do ustawiania dni miesi¹ca. O†ile zakres moøliwych zmian dla lat i†miesiÍcy jest zawsze taki sam, to w†przypadku dni zakres zmian†zaleøy od bieø¹cego roku i†miesi¹ca. Procedura ustawiania dnia miesi¹ca zosta³a tak skonstruowana, øe†nie ma moøliwoúci ustawienia wiÍkszego numeru dnia niø wynika to z†maksymalnej liczby dni w†danym miesi¹cu i†roku. Dlatego nie jest moøliwe ustawienia daty 31 lutego. Moøliwe jest natomiast ustawienia daty 29 lutego, ale tylko w†latach przestÍpnych. W pozosta³ych latach luty moøe mieÊ tylko 28 dni. Ustawienie odpowiedniego dnia miesi¹ca wykonuje siÍ tak jak w†poprzednich przypadkach i zatwierdza klawiszem S2 (OK). NastÍpuje przejúcie do ustawiania godzin. Ustawianie godzin wykonuje siÍ tak samo jak we wczeúniejszych regulacjach, a klawiszem S2 przechodzi siÍ do ustawiania minut. Po ustawieniu minut naciúniÍcie klawisza S2 (OK) spowoduje wprowadzenie nowych wartoúci czasu i†daty do w³aúciwego licznika czasu i†nast¹pi powrÛt do wyúwietlania czasu i†temperatury. Od tej pory zegar bÍdzie pracowa³ z†nowymi nastawami.
Obs³uga zegara Obs³uga zegara sprowadza siÍ do wyboru parametrÛw, ktÛre maj¹ byÊ wyúwietlone. Funkcja pomiaru temperatury umoøliwia pomiar i†wyúwietlanie temperatury w†dwÛch miejscach. Dla kaødego z†czujnikÛw zapamiÍtywana jest maksymalna i†minimalna wartoúÊ temperatury. WartoúÊ temperatury wyúwietlana po lewej stronie wyúwietlacza jest wynikiem pomiaru z†czujnika do³¹czonego do z³¹cza CON3 i†jest identyfikowana jako ìT1î, natomiast wartoúÊ temperatury wyúwietlana z†prawej strony jest wynikiem pomiaru czujnika do³¹czonego do z³¹cza CON4 i†jest identyfikowana jako ìT2î. Do sprawdzenia maksymalnej i†minimalnej wartoúci temperatury zmierzonej przez czujnik ìT1î naleøy nacisn¹Ê klawisz S1. Po w³¹czeniu zasilania wyúwietlana parametry bÍd¹ nastÍpuj¹ce:
Elektronika Praktyczna 11/2003
Zegar ze 100−letnim kalendarzem i dwukanałowym termometrem T1max=20.0°C T1min=20.0°C
S¹ to pocz¹tkowe wartoúci ustawiane przy w³¹czeniu zasilania. Wraz ze zmian¹ mierzonej temperatury wskazywane wartoúci bÍd¹ ulega³y zmianie. Jednak pomiar temperatury jest wykonywany tylko wtedy, gdy zegar jest w†trybie wyúwietlania czasu. W†celu wyzerowania wartoúci minimalnej i†maksymalnej naleøy nacisn¹Ê klawisz S2 (OK), a†jako wartoúÊ minimalna i†maksymalna zostanie wpisana ostatnio zmierzona wartoúÊ temperatury. Aby powrÛciÊ do wyúwietlania czasu naleøy nacisn¹Ê klawisz S4 (ESC). Wyúwietlanie temperatury minimalnej i maksymalnej dla drugiego czujnika jest uruchamiane poprzez naciúniÍcie klawisza S3. Na wyúwietlaczu pojawi siÍ napis o†przyk³adowych wartoúciach: T2max=35.7°C T2min=-4.3°C
Elektronika Praktyczna 11/2003
Kasowanie wartoúci maksymalnej i†minimalnej wykonuje siÍ tak samo jak dla czujnika pierwszego klawiszem S2 (OK). PowrÛt do wyúwietlania czasu nastÍpuje rÛwnieø po naciúniÍciu klawisza S4 (ESC). W³¹czanie i†wy³¹czanie podúwietlania wyúwietlacza wykonuje siÍ naciskaj¹c krÛtkotrwale klawisz S2 (OK). Kaødorazowe naciúniÍcie powoduje zmianÍ stanu podúwietlania na przeciwny. Dla stanu wy³¹czenia podúwietlanie jest ca³kowicie wy³¹czone, a†dla stanu w³¹czenia intensywnoúÊ podúwietlania wynika z zaprogramowanej wczeúniej. Po w³¹czeniu zasilania intensywnoúÊ jest ustawiana na po³ow͆mocy. ZmianÍ intensywnoúci podúwietlania wykonuje siÍ klawiszem S4 (ESC). Regulacja intensywnoúci jest przeprowadzana w†dziesiÍciu krokach, dlatego kaødorazowe naciúniÍcie klawisza S4 powoduje zwiÍkszenie intensywnoúci o†10%.
Po dziesiÍciokrotnym naciúniÍciu klawisza S4 diody podúwietlaj¹ce wyúwietlacz zasilane s¹ maksymaln¹ moc¹. Kolejne naciúniÍcie klawisza S4 spowoduje wy³¹czenie podúwietlania. Naciskaj¹c†ponownie klawisz S4 moc podúwietlania bÍdzie zwiÍkszana. Jeúli intensywnoúÊ podúwietlania bÍdzie ustawiona na 0%, to w³¹czanie podúwietlania klawiszem S2 (OK) nie przyniesie efektu, gdyø podúwietlanie bÍdzie prze³¹czane pomiÍdzy wy³¹czeniem i†wartoúci¹ 0%. WÛwczas diody podúwietlaj¹ce bÍd¹ wy³¹czone i†jedynym sposobem w³¹czenia podúwietlania jest zwiÍkszenie intensywnoúci klawiszem S4 (ESC). Krzysztof P³awsiuk, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: pcb.ep.com.pl oraz na p³ycie CD-EP11/2003B w katalogu PCB.
53
E S E J
Niezbędnik dla amatorów i profesjonalistów
W głośnikowym żywiole, część 1 Moøna, co prawda, prÛbowaÊ systematyzowaÊ temat przewodni tego artyku³u, dziel¹c ca³oúÊ na poszczegÛlne zagadnienia, ale rÛwnoczeúnie wszystkie z†nich moøna rozpatrywaÊ na rÛønych pu³apach zaawansowania. Jak wprowadziÊ do tego úwiata zupe³nych laikÛw, nie zanudzaj¹c starych wyjadaczy? Wyzwanie jest powaøne, bowiem i†apetyty wszystkich zainteresowanych s¹ bardzo duøe - od wielu lat nie ukaza³a siÍ bowiem w†Polsce øadna ksi¹øka poúwiÍcona samodzielnemu konstruowaniu zespo³Ûw g³oúnikowych. Co najwyøej, w³aúnie na ³amach naszych i†kilku pism o†podobnym
Elektronika Praktyczna 11/2003
profilu, ukazywa³y siÍ opracowania fragmentaryczne. Tym razem mamy zamiar, w†cyklu tak d³ugim, jak bÍdzie to potrzebne, dostarczyÊ Czytelnikom EP ca³¹ wiedzÍ, jak¹ mamy do dyspozycji w†naszych g³owach. Jednoczeúnie zaryzykujemy zastosowanie zupe³nie innego sposobu przedstawienia tego ogromnego tematu, niø spotykany dotychczas, i†do jego opisu uøyjemy innego jÍzyka. PÛjdziemy na øywio³ - materia³u nie podzielimy pryncypialnie na rozdzia³y poúwiÍcone poszczegÛlnym tematom, ale pod¹øymy szlakiem doúwiadczeÒ autorÛw. Czasami p³ynnie przecho-
Temat samodzielnego konstruowania zespo³Ûw g³oúnikowych nieustannie interesuje szerokie rzesze hobbystÛw-elektronikÛw, wszelkiego rodzaju majsterkowiczÛw, jak teø duø¹ czÍúÊ audiofilÛw, czyli mi³oúnikÛw dobrego düwiÍku. Wci¹ø nowi adepci chc¹ wiedzieÊ, jak zabraÊ siÍ do rzeczy, a†doúwiadczeni juø konstruktorzy z†chÍci¹ przyjm¹ kolejne porcje wiedzy na ten temat. To bowiem niewyczerpany temat. Temat - døungla. Przedstawiamy pierwszy odcinek cyklu, w†ktÛrym omÛwimy techniczne tajniki budowy kolumn g³oúnikowych. Zaczynamy od eseju, ktÛry - mamy nadziejÍ - zachÍci CzytelnikÛw do wymiany listÛw z†autorem. dz¹c od problemu do problemu, czasami gwa³townie przeskakuj¹c, mamy
nadziejÍ zaproponowaÊ Wam lekturÍ tak pasjonuj¹c¹, jak samo konstruowanie.
55
E S E J
Bez obrazy Nadredaktor miesiÍcznika Audio pozdrawia CzytelnikÛw EP! Poniewaø mam duøo czasu i†miejsca, wiÍc zanim przejdÍ do zagadnieÒ úciúle technicznych i†akustycznych, przedstawiÍ swoisty klimat, jaki panuje wokÛ³ budowania kolumn. Klimat ten zreszt¹ siÍ zmienia - inny by³ ponad dwadzieúcia lat temu, kiedy sam rozpoczyna³em swoj¹ przygodÍ z†g³oúnikami, inny jest dzisiaj. Inne s¹ warunki, zaopatrzenie, ale i†inne wymagania. Drogi do tej pasji s¹ dwie podstawowe. Na wstÍpie z†gÛry przepraszam, nikogo nie chcÍ obraøaÊ. Ale... Ludzie wychowani w†úwiecie elektroniki chc¹ poprÛbowaÊ swoich si³ rÛwnieø w†tej dziedzinie, w†konsekwencji staj¹c siÍ posiadaczami lepiej lub gorzej graj¹cych kolumn. Jak te kolumny graj¹, jest spraw¹ drugorzÍdn¹, choÊby dlatego, øe wymagania ìelektronikÛwî odnoúnie jakoúci düwiÍku s¹ generalnie znacznie mniejsze niø audiofilÛw. Z†kolei o†audiofilach, niemaj¹cych dot¹d do czynienia z†konstruowaniem, moøna powiedzieÊ, øe ich ìz³otym uszomî towarzysz¹ dwie lewe rÍce. ìZ³ote uszyî maj¹ naprawdÍ (pardon, to znaczy w†przenoúni) albo tylko im siÍ tak
56
zdaje. Ale naprawdÍ wystarczy, øe tylko tak im siÍ zdaje, aby stawiali przed sprzÍtem audio, w†tym przed kolumnami, okreúlone wymagania. Czy s¹†to wymagania wypaczone z³ym gustem, czy daleko posuniÍta subiektywnoúÊ ocen jest tu uprawniona, jak duøa czÍúÊ z†nich rzeczywiúcie w†swoich wyobraøeniach o†düwiÍku wysokiej klasy zbliøa siÍ do prawdy o†düwiÍku naturalnym - to juø problemy dla pism audiofilskich, nieraz tam podejmowane. Nam wystarczy stwierdzenie, øe wielu ludzi, dla ktÛrych muzyka i†jakoúÊ jej odtwarzania s¹ w†øyciu bardzo waøne, chce wejúÊ w†posiadanie dobrej klasy zespo³Ûw g³oúnikowych za cenÍ znacznie niøsz¹ niø w†przypadku gotowych produktÛw ìfirmowychî. I†w†konsekwencji staj¹ przed koniecznoúci¹ podjÍcia wcale przez nich nieupragnionego wysi³ku. Z†czasem jednak ich podejúcie do konstruowania moøe siÍ zmieniÊ - czyli w³aúnie zamieniÊ w†pasjÍ, ktÛra sk³oni do zdobycia wiedzy i†umiejÍtnoúci, ktÛre wrÍcz przeoraj¹ øyciowe plany...
Dobre g³oúniki juø s¹... WspÛ³czeúni zapaleÒcy maj¹ znacznie bardziej komfortowe warunki do
rozpoczÍcia i†rozwijania tego wspania³ego hobby. Prawd¹ jest brak úciúle wyspecjalizowanej polskojÍzycznej literatury, ale znacznie dostÍpniejsze niø dawniej s¹ opracowania zagraniczne, ponadto ukazuj¹ siÍ w†Polsce miesiÍczniki poúwiÍcone tematom audio, w†ktÛrych testy i†prezentacje zespo³Ûw g³oúnikowych zajmuj¹ bardzo duøo miejsca. SzczegÛlnie miesiÍcznik Audio, z†wnikliwymi opisami konstrukcji i†pomiarami laboratoryjnymi, moøe s³uøyÊ hobbystom za doskona³e dodatkowe ürÛd³o wiedzy. Bardzo dobre jest zaopatrzenie polskiego rynku w†g³oúniki i†inne niezbÍdne komponenty do budowy zespo³Ûw g³oúnikowych, dzia³a na nim kilku prÍønych dystrybutorÛw dostarczaj¹cych produkty najbardziej renomowanych firm. Nie brakuje teø taÒszych g³oúnikÛw, wiÍc kaødy znajdzie coú†wedle swoich wymagaÒ i†moøliwoúci finansowych.
...ale stolarze (trzeüwi) nadal poszukiwani Nadal najtrudniejsz¹ spraw¹ pozostaje wykonanie obudowy, chociaø i†tutaj moøliwoúci s¹ nieporÛwnanie wiÍksze niø dawniej. Znalezienie dobrego zak³adu stolarskiego, ktÛry przygotuje obudowy o†jakoúci typowej dla wspÛ³czesnych, wysokiej klasy ìfirmowychî zespo³Ûw g³oúnikowych, jest z†pewnoúci¹ trudne, ale zamÛwienie dobrze przyciÍtych elementÛw i†nawet samodzielne z³oøenie obudowy bez specjalnych kwalifikacji stolarskich jest przecieø w†zasiÍgu rÍki. WiÍkszoúÊ obudÛw nie jest wcale skomplikowana i†- choÊ ich wymiary nie mog¹ byÊ wymyúlone przez laika to juø samo z³oøenie do ìkupyî nie niesie ze sob¹ wielkich wyzwaÒ. Nowym problemem, a†w†kaødym razie problemem o†znacznie
wiÍkszym znaczeniu niø dawniej, s¹ wymagania estetyczne. Dwadzieúcia lat temu zbudowanie jakichkolwiek g³oúnikowych skrzynek o†choÊby przeciÍtnej urodzie by³o znacznie trudniejsze niø dzisiaj, przede wszystkim ze wzglÍdu na brak dobrych materia³Ûw. Teraz moøliwoúci s¹ znacznie wiÍksze, ale i†wymagania teø. Firmowe kolumny demonstruj¹ bowiem nieraz bardzo wyrafinowane wzornictwo, a†nawet najtaÒsze modele maj¹ czÍsto finezyjny projekt i†wykonywane s¹ bardzo starannie. Wreszcie, podobno, bo osobiúcie na szczÍúcie tego nie odczu³em, coraz wiÍcej przy wyborze sprzÍtu graj¹cego (tak jak kaødego innego) maj¹ do powiedzenia kobiety. Zazwyczaj podstawowy cel, dla ktÛrego sprzÍt ten zosta³ stworzony, czyli muzyka i†wysoka jakoúÊ düwiÍku, kobiety interesuje najmniej, natomiast ich uznanie zdobywa ³adny wygl¹d, przy - najchÍtniej - ma³ych wymiarach. A†ma³e wymiary s¹ dla dobrych kolumn zawsze wymaganiem doúÊ bolesnym. Problem wielkoúci dotyka zarÛwno konstrukcje hobbystyczne, jak i†firmowe, jednak w†przypadku tworÛw samodzielnych jest bardziej draøliwy, bowiem k³opot z†nadaniem im w†warunkach amatorskich odpowiednio estetycznej oprawy potÍguje niechÍÊ p³ci piÍknej.
Audiofilskie marzenia (úciÍtej g³owy) W†salonach z†wysokiej klasy sprzÍtem audio, juø takøe w†Polsce od kilku lat, moøna obejrzeÊ i†pos³uchaÊ zestawÛw g³oúnikowych o†najrÛøniejszych konstrukcjach. Audiofilskie nauki wrÍcz nakazuj¹ s³uchania wszystkiego przed zakupem, i†wpajaj¹ zasadÍ bardzo ograniczonego zaufania do parametrÛw deklarowanych przez producenta. A†tymczasem samo-
Elektronika Praktyczna 11/2003
E S E J dzielne konstruowanie opiera siÍ najczÍúciej na zasadzie eksperymentÛw†i†ostatecznie akceptacji tego, co powstanie w†ich wyniku. Nie moøna oczekiwaÊ, øe wykorzystuj¹c nawet elementy najwyøszej klasy, otrzymamy w†rezultacie brzmienie dok³adnie takie, jakie gdzieú us³yszeliúmy albo sobie wyobraziliúmy. Uwaga ta dotyczy nie tylko pocz¹tkuj¹cych amatorÛw, ale rÛwnieø zaawansowanych konstruktorÛw! RÛwnieø dla nich ostateczne brzmienie jest zawsze do pewnego stopnia niemoøliwe do przewidzenia. Maj¹c duøe doúwiadczenie, znaj¹c stosowane przetworniki z†innych aplikacji, itd., moøna minimalizowaÊ obszar niepewnoúci, ale nigdy nie sprowadzimy go do zera. Moøna w†ogromnym zakresie kszta³towaÊ brzmienie projektowanych kolumn, zmieniaj¹c obudowÍ, przetworniki, filtry, zarazem czyni¹c to, poszukujemy brzmienia najlepszego z†tych, jakie przewijaj¹ siÍ podczas tych eksperymentÛw, ale nie jesteúmy w†stanie w†stu procentach odtworzyÊ wczeúniej okreúlonego wzorca - gdybyúmy takim siÍ pos³ugiwali. Moøna to wykazaÊ w†bardzo ìdrastycznymî eksperymencie: weümy najlepszego konstruktora, pozwÛlmy mu wybraÊ najlepsze komponenty i†narzÍdzia, aby mÛg³ zbudowaÊ teoretycznie wszystko, czego dusza zapragnie. Potem postawmy przed nim 10 najrÛøniejszych zespo³Ûw g³oúnikowych, niskiej, úredniej i†wysokiej klasy. Zadanie polega na tym, aby maj¹c moøliwoúÊ ich ods³uchu, ale nie pomiaru ani wgl¹du w†uk³ad filtrÛw, odtworzy³ brzmienie przynajmniej jednego, dowolnie wybranego, na tyle dok³adnie, aby przeciÍtny audiofil nie odrÛøni³ ich od siebie w†úlepym teúcie. Nic z†tego. BÍdzie siÍ miota³ (Ûw konstruktor, nie audiofil), ìpo
Elektronika Praktyczna 11/2003
drodzeî uzyskiwa³ brzmienia bardzo wysokiej klasy, czasami zbliøa³ siÍ do wybranego celu, ale nigdy go nie osi¹gnie. Wyjaúnienie tej sytuacji jest o†tyle waøne, iø spore grono zainteresowanych samodzielnym konstruowaniem motywowanych jest chÍci¹ skopiowania brzmienia konkretnych, ulubionych kolumn, ktÛre ze wzglÍdu na wysok¹ cenÍ pozostaj¹ poza ich moøliwoúciami finansowymi; tymczasem techniczne úrodki (bardzo dobre przetworniki, itd.) dla osi¹gniÍcia brzmienia wysokiej klasy drog¹ hobbystyczn¹ wydaj¹ siÍ dostÍpne za niøsz¹ cenÍ. Czemu wiÍc ìprzep³acaÊî, skoro wystarczy ìtylkoî nauczyÊ siÍ sk³adaÊ kolumny (w sumie nie s¹ to bardzo skomplikowane urz¹dzenia), znaleüÊ dobrego stolarza i†juø? W†takim myúleniu jest oczywiúcie nie jeden, a†kilka b³ÍdÛw. Ale nawet gdyby dobrzy stolarze byli pod rÍk¹, nauka konstruowania by³a tak ³atwa, albo mielibyúmy do czynienia z†geniuszem, to i†tak nie uzyska³by on pe³nej satysfakcji, jeøeli jego jedynym marzeniem by³o úciúle okreúlone brzmienie. Na satysfakcjÍ zabÛjczo dzia³aÊ tu moøe w³aúnie g³Íbokie przekonanie, øe to wymarzone brzmienie produktu ìfirmowegoî jest idealne. Nawet gdy düwiÍk z†w³asnej konstrukcji sta³by siÍ bardzo dobry, i†dla innych, nieuprzedzonych s³uchaczy, w†úlepym teúcie wcale nie gorszy od brzmienia ìwzorcaî, to dla samego konstruktora bÍdzie on zawsze wzglÍdem niego upoúledzony. Kaød¹ rÛønicÍ t³umaczyÊ bÍdzie na swoj¹ niekorzyúÊ, jako odstÍpstwo od idea³u, podczas gdy pod pewnymi wzglÍdami jego konstrukcja moøe byÊ nawet lepsza - nie zostanie to jednak docenione... Czarny sceniarusz. Na szczÍúcie, w†praktyce jest tak w†sytuacji, gdy audiofil
57
E S E J wcale niemaj¹cy zamiaru zostaÊ konstruktorem (bo juø pracuje np. w†banku), a†chc¹cy zaoszczÍdziÊ (bo mu tam ma³o p³ac¹), zwraca siÍ do firm sprzedaj¹cych g³oúniki dla hobbystÛw, szukaj¹c tam konstruktora, ktÛry ìpomoøeî stworzyÊ brzmieniow¹ kopiÍ jakiegoú ìmarkowegoî, bardzo drogiego produktu. Niezaleønie od niemoønoúci dok³adnego odtworzenia brzmienia konkretnego projektu, owa ìpomocî oznacza przecieø w†takim przypadku faktycznie opracowanie konstrukcji od pocz¹tku do koÒca. Rzetelne wykonanie takiej pracy nie moøe byÊ szybkie, a†wiÍc i†tanie, zw³aszcza øe dotyczy jednostkowego zamÛwienia. Finansowy aspekt przedsiÍwziÍcia jest wiÍc znacznie gorszy, niø siÍ pocz¹tkowo wydaje. I†tak¹ odpowiedü Ûw szukaj¹cy okazji audiofil powinien uzyskaÊ od uczciwego dystrubutora czy konstruktora. Jeøeli uzyskuje inn¹ - potwierdzaj¹c¹ nadzieje, wraz z†szybkim terminem i†atrakcyjn¹ cen¹ - to nie dziwmy siÍ pÛüniejszym rozczarowaniom...
Z³oøyÊ i†pos³uchaÊ Istnieje jednak dla audiofilÛw spragnionych dobrego düwiÍku za umiarkowan¹ cenÍ bardziej optymistyczna, choÊ rÛwnieø nieco ryzykowna perspektywa. Musz¹ jednak wyrzec siÍ prawa do pos³uchania g³oúnikÛw przed zakupem i†nie powinni ø¹daÊ spe³nienia úciúle okreúlonych oczekiwaÒ. WÛwczas mog¹ wybieraÊ w†ofertach zestawÛw do samodzielnego
Dźwięk z „firmowych” kolumn jest w 50 procentach tak dobry, jak jest rzeczywiście i w 50 procentach tak dobry, jak bardzo w to wierzymy. Dźwięk z kolumn skonstruo− wanych samodzielnie jest w 99 procentach tak dobry, jak bardzo w to wierzy ich konstruktor i użytkownik. montaøu, jakie znajduj¹ siÍ u†kilku dystrybutorÛw. Techniczna jakoúÊ tych projektÛw jest bardzo atrakcyjna, ìg³oúnikowa zawartoúÊî moøe byʆporÛwnywana do znacznie droøszych zespo³Ûw g³oúnikowych renomowanych firm i†o†ile projektanci tych zestawÛw znaj¹ swÛj fach, to w†rezultacie i†brzmienie
“Głośnikowe Recepty” − w tej części bardzo gruntowna prezentacja całej drogi projektowania i strojenia czterech “dość prostych” dwudrożnych zespołów głośnikowych. Zajęło to ponad sto stron
58
powinno byÊ na odpowiednio wysokim poziomie. Jakie jednak ono bÍdzie dok³adnie, tego nabywca zwykle nie bÍdzie wiedzia³, dopÛki zestawu nie kupi i†nie z³oøy - zespo³y do samodzielnego montaøu wystÍpuj¹ najczÍúciej w†katalogach, i†nie ma moøliwoúci ich pos³uchania w†øadnym ìnormalnymî sklepie. Dlaczego? Po pierwsze dlatego, øe salony prowadz¹ce sprzedaø sprzÍ-
tu audio nie s¹ zainteresowane rozszerzaniem oferty o†tak ciekawe, ale k³opotliwe propozycje. Przecieø sprzedaø mia³aby dotyczyÊ nie gotowego produktu, ale zestawu czÍúci, obudÛw, i†wi¹za³aby siÍ z†koniecznoúci¹ udzielania instruktarzu i†odpowiedzi na nowe pytania, na ktÛre nie s¹ przygotowani. Po drugie,
“The Loudspeaker Design Cookbook − “Książka kucharska” Vance’a Dickasona − jeden z najpopularniejszych na świecie podręczników dla głośnikowych hobbystów. Pierwsza edycja w roku 1977, aktualnie w sprzedaży szósta albo i siódma
sklepowa cena takich zespo³Ûw znacznie by wzros³a - o†kilkudziesiÍcioprocentow¹ marøÍ detaliczn¹, zbliøaj¹c siÍ tym samym do ceny gotowych produktÛw, i†w†ten sposÛb trac¹c swÛj podstawowy sens ekonomiczny. Wreszcie, jednym z†najbardziej kuriozalnych pytaÒ niektÛrych audiofilÛw jakoby zainteresowanych zakupieniem zestawÛw do samodzielnego montaøu, jest nie tylko: gdzie tego moøna pos³uchaÊ, ale takøe: czy moøna je kupiÊ w†formie z³oøonej. I†jesteúmy w†domu! Gotowych kolumn, ktÛrych moøna pos³uchaÊ, jest przecieø bez liku w†salonach ze sprzÍtem. A†øe s¹ drogie... Takie byÊ musz¹, bo s¹ z³oøone i†moøna ich pos³uchaÊ.
Konstruktorzy mimo woli Nie†naleøy jednak lekcewaøyÊ audiofilÛw, bo przecieø rÛwnieø, a†moøe†przede wszystkim spoúrÛd nich ostatecznie rekrutuj¹ siÍ prawdziwi konstruktorzy. Zaczyna siÍ zwykle od prozaicznego zamiaru za-
Wydanie specjalne amerykańskiego miesięcznika Speaker−Builder, z 19 najlepszymi projektami do samodzielnego montażu
Elektronika Praktyczna 11/2003
E S E J oszczÍdzenia paru z³otych, dziÍki z³oøeniu juø zaprojektowanego zestawu do samodzielnego montaøu, albo od ambitniejszego planu jednorazowego stworzenia w³asnej niekonwencjonalnej konstrukcji. Niewielu na pocz¹tku myúli o†tym, aby zostaÊ prawdziwymi konstruktorami i†w†d³uøszej perspektywie projektowaÊ zespo³y g³oúnikowe. ìJednorazowymî konstruktorom (jednorazowym tylko w†ich pocz¹tkowym mniemaniu) wydaje siÍ, øe jeøeli zamierzaj¹ zbudowaÊ tylko jedn¹ parÍ kolumn, to jest do tego potrzebna wiedza znikoma, znacznie mniejsza od tej, ktÛrej wymaga³oby projektowanie ich w†wiÍkszej liczbie. Deklaracja ìnie zamierzam zostaÊ konstruktorem, chcÍ zbudowaÊ tylko jedn¹ parÍ dla siebieî jest czÍsto spotykana i†ma usprawiedliwiÊ brak wiedzy. Tak, jakby to dobry BÛg, us³yszawszy o†skromnych potrzebach i†zamiarach, mia³ jednorazowo natchn¹Ê konstruktora-niekonstruktora i†pomÛc mu w†osi¹gniÍciu dobrego rezultatu. Czy bowiem chc¹c daÊ tylko jeden koncert skrzypcowy, moglibyúmy nie umieÊ graÊ na skrzypcach, podczas gdy musz¹ to umieÊ wirtuozi graj¹cy koncerty przez ca³e øycie? Takie myúlenie jest przecieø z†gruntu fa³szywe. Zespo³y g³oúnikowe s¹ w†uk³adach elektrycznych dziesiÍÊ razy prostsze niø wzmacniacze, wydaj¹ siÍ wiÍc idealnym polem do popisu. Tak jak skrzypce, ktÛre maj¹ tylko drewniane pude³ko, cztery struny i†smyczek. Nic, tylko graÊ. Ale paradoks polega na tym, øe dziÍki takiemu naiwnemu myúleniu, tak wielu ludzi w†to ìwdeptujeî. Ca³e szczÍúcie, øe na pocz¹tku nie zdaj¹ sobie sprawy, jakie to trudne (po co wiÍc to ujawniam?), bo gdyby wiedzieli, zostawiliby to w†spokoju. Stopniowo odkrywaj¹
Elektronika Praktyczna 11/2003
prawdÍ o†bardzo skomplikowanej naturze z†pozoru prostych zespo³Ûw g³oúnikowych, stopniowo ucz¹ siÍ rozwi¹zywaÊ problemy. I†to wci¹ga, bo zespo³y g³oúnikowe wynagradzaj¹ wysi³ek w†najpiÍkniejszy sposÛb. To przecieø prosto z†nich wyp³ynie muzyka. I†nawet nieudolnie zbudowane kolumny, ale zbudowane samodzielnie i†wedle w³asnego projektu, brzmi¹c koszmarnie, brzmi¹ cudownie - to jest w³asne, pierworodne dziecko konstruktora, ktÛre od razu kocha ca³ym sercem takie, jakie jest... Aø siÍ wzruszy³em... Ale powiem Wam coú wiÍcej. Oto bowiem doskona³a pora, abym przedstawi³ swoje w³asne pocz¹tki. PozwÛlcie mi na ten przywilej.
Dwie deski i†4,7 mikro W†roku 1978, po kilkuletnim terminowaniu na monofonicznych kaseciakach, za wszystkie zgromadzone oszczÍdnoúci kupi³em pierwszy magnetofon stereofoniczny - szpulowy MK2405. Mia³ on wbudowane po bokach g³oúniki szerokopasmowe, umoøliwiaj¹ce odtwarzanie stereofoniczne. Taki system nag³oúnienia musia³ mi wystarczyÊ, poniewaø na zakup pary zespo³Ûw g³oúnikowych - jakichkolwiek nie mog³em liczyÊ w†bliskiej perspektywie. Zrodzi³ siÍ pomys³ zbudowania ich samemu, choÊby najprostszych, bo przecieø bÍdzie taniej. Zasugerowa³em siÍ popularn¹ wÛwczas konstrukcj¹ Tonsilu, typu ZWG-15C, czyli dwudroønymi ìpiÍtnastkamiî (15W) w†ma³ej obudowie zamkniÍtej. Kupi³em g³oúniki GDN16/12 (czyli 12-watowy 16-cm nisko-úredniotonowy, bo wersja 15-watowa - GDN16/15 - stosowana w†oryginalnych zespo³ach ZWG15, akurat nie by³a dostÍpna) i†wysokotonowy GDW9/15, czyli stoøkowy ìpapierzakî. Nie
59
E S E J mia³em øadnego przygotowania elektroakustycznego, by³em uczniem pierwszej klasy liceum w†klasie matematyczno-fizycznej, ale oceny z†fizyki Wam nie zdradzÍ. Wpadlibyúcie w†kompleksy, ale tylko dlatego, øe wtedy by³ odwrotny system punktowania. Nie ba³em siÍ jednak prostego majsterkowania i†mia³em kolegÍ kombinuj¹cego z†elektronik¹. Od niego dowiedzia³em siÍ, øe w†zespole g³oúnikowym jest coú zwanego zwrotnic¹ i†on teø obieca³ mi ow¹ zwrotnicÍ przygotowaÊ. Czekaj¹c na wyniki jego prac, przygotowywa³em obudowÍ. Wyci¹³em z†p³yty wiÛrowej potrzebne úcianki, wykona³em otwory pod g³oúniki, i†w†pierwszym ruchu montowania po³¹czy³em front i†spÛd. Tymczasem kolega, juø wielokrotnie ponaglany, ujawni³ mi wreszcie schemat tajemniczej zwrotnicy. PamiÍtam jak dzisiaj, w†szkolnej szatni Gonzo ciÍøko westchn¹³, spojrza³ w†sufit i†powiedzia³: ìKup kondensator MKSE 4,7 mikro i†po³¹cz szeregowo z†wysokotonowymî. By³em
zawiedziony i†zszokowany. Zapyta³em: ìTylko to? I†dlaczego taka dziwna wartoúÊ?î Tyle dni obliczania, i†w†ich wyniku wziÍty z†sufitu jeden kondensator? Odpowiedü musia³a brzmieÊ: ìWystarczy 4,7 mikro, bo taka wartoúÊ wystÍpuje.î Zdziwienie by³o coraz wiÍksze. ìTo nie uøyjemy takiej wartoúci, jaka jest potrzebna, tylko takiej, jaka wystÍpuje w†pojedynczym elemencie?î W†koÒcu jako uczeÒ klasy o†profilu úcis³ym by³em ukierunkowany na szanowanie wynikÛw obliczeÒ. Pewnie us³ysza³em: ìTo nie ma duøego znaczeniaî - i†musia³em siÍ z†tym pogodziÊ, bo Gonzo juø znikn¹³, znudzony rozmow¹ z†dyletantem. Gdzieú wiÍc kupi³em 4,7 mikro (co nie by³o takie ³atwe) i†przyst¹pi³em do montaøu koÒcowego. Do tej pory z³oøone zosta³y ze sob¹ tylko dwie úcianki, moøe zreszt¹ z³oøy³em je dopiero teraz, w†kaødym razie spiesz¹c siÍ do przykrÍcania i†pod³¹czania g³oúnikÛw uzna³em, øe to ìna razieî wystarczy - s¹dzi³em bowiem, øe obudowa pe³ni rolÍ
platformy do zamocowania g³oúnikÛw i†os³ony dla nich, jak i†zwrotnicy, wystÍpuj¹cej u†mnie przecieø w†formie szcz¹tkowej. A†poniewaø nie zaleøa³o mi w†ogÛle na sprawach estetycznych, dodanie wszystkich pozosta³ych úcianek od³oøy³em na pÛüniej. Nie mia³em pojÍcia, jak¹ rzeczywiúcie funkcjÍ pe³ni obudowa. G³oúniki siÍ trzyma³y i†gra³y†- i†czego chcieÊ wiÍcej? I†do dzisiaj pamiÍtam tamto brzmienie. Wcale go nie idealizujÍ, w†ogÛle nie mia³o basu, a†mimo to bardzo mnie cieszy³o. I†teraz zdajÍ sobie sprawÍ, øe to by³ ten prze³omowy moment, kiedy, wtedy o†tym nie wiedz¹c, rozpocz¹³em d³ug¹ wÍdrÛwkÍ i†pasjonuj¹c¹ przygodÍ. Ca³e szczÍúcie bowiem, øe moja pierwsza ìkonstrukcjaî mi siÍ spodoba³a. Gdybym uzna³, øe†nic z†tego nie wysz³o, kupi³bym po pewnym czasie gotowe kolumny, jako jedyny pewny sposÛb zdobycia dobrego düwiÍku. A†poniewaø przedsiÍwziÍcie siÍ uda³o (wed³ug mnie), warto je by³o kontynuowaÊ. Nikt mnie tak nie
straszy³, jak ja teraz straszÍ innych. I†tu jest problem. ZdajÍ sobie bowiem sprawÍ z†tego, øe gwa³towne uúwiadomienie ochotnikom, na co siÍ porywaj¹, wielu z†nich moøe zniechÍciÊ, podczas gdy ostroøniejsze dawkowanie tej wiedzy moøe ich podpuúciÊ, zachÍciÊ i†ostatecznie... uszczÍúliwiÊ. Podejrzewam, øe wiÍkszoúÊ konstruktorÛw zespo³Ûw g³oúnikowych, czy to pozostaj¹cych amatorami, czyli przygotowuj¹cych kolejne projekty na potrzeby swoje i†swoich znajomych, czy zajmuj¹cych siÍ tym juø zawodowo, ma w†g³Íbokich korzeniach w³aúnie tego rodzaju pocz¹tki. Gdzie samodzielne skonstruowanie kolumn mia³o tylko s³uøyÊ zaspokojeniu potrzeby ich posiadania za moøliwie najniøsz¹ cenÍ lub w†najlepszym razie powodowane by³o wizj¹ posiadania jakichú oryginalnych, trudnych do kupienia konstrukcji. Ten drugi motyw jest jednak najczÍúciej drugim etapem. S¹ teø moøe tacy, ktÛrzy doznali olúnienia i†po prostu ktÛregoú dnia postanowili zostaÊ konstruktorami kolumn, a†inni kszta³cili siÍ w†kierunku ogÛlnoelektronicznym, aby na koÒcu tej drogi wybraÊ g³oúnikow¹ specjalizacjÍ. S¹dzÍ jednak, øe g³Íboko zakorzeniona pasja, wyrastaj¹ca z†pierwotnej potrzeby - czy koniecznoúci zbudowania sobie pierwszej pary zespo³Ûw g³oúnikowych, jest najlepszym pocz¹tkiem drogi.
PiÍkno i†szczeroúÊ zespo³u g³oúnikowego
Klang + Ton − bardzo zasłużony niemiecki dwumiesięcznik dla konstruktorów−hobbystów
60
Hobby HiFi − dwumiesięcznik założony przez wieloletniego redaktora Klang + Ton
A†konstruowanie kolumn wci¹ga, bo kolumny graj¹ i†do tego wygl¹daj¹! S¹ najwdziÍczniejszym urz¹dzeniem elektroakustycznym do kszta³towania, po czÍúci urz¹dzeniem, po czÍúci instrumentem, po czÍúci rzeüb¹. Ich projektant staje siÍ wiÍc nie tylko inøynierem, ale i†artys-
Elektronika Praktyczna 11/2003
E S E J t¹ (chociaø niekoniecznie z†odpowiednimi dyplomami). Zbudowanie ³adnej i†dobrze graj¹cej kolumny napawa wiÍc dum¹ podwÛjn¹ czy nawet potrÛjn¹. Moøna popuúciÊ wodze fantazji, kombinuj¹c z†rÛønymi uk³adami g³oúnikÛw, a†wszystko jest widoczne i†odzywa siÍ do nas øywym g³osem. Zespo³y g³oúnikowe s¹ z†jednej strony ustrojami bardzo skomplikowanymi, gdy weümie siÍ pod uwagÍ wszystkie zjawiska, jakie w†nich i†bezpoúrednio wokÛ³ nich zachodz¹, z†drugiej strony, przynajmniej pozornie, bardzo czytelnymi. Uk³ady wzmacniacza schowane s¹ pod pokryw¹ obudowy, ktÛrej kszta³t w†zasadzie nie ma znaczenia dla funkcjonowania, a†to co w†kolumnie najwaøniejsze g³oúniki - widaÊ jak na d³oni, a†obudowa jest integraln¹ czÍúci¹ akustycznej koncepcji. Wzmacniacz rÛwnieø moøe wygl¹daÊ piÍknie, ale to, czy ma srebrne, czy z³ote ga³ki, nic nam nie mÛwi o†jego jakoúci i†zasadach, jakie przyúwieca³y konstruktorowi. No, chyba øe†jest to wzmacniacz lampowy z†lampami na wierzchu. Natomiast liczba i†uk³ad g³oúnikÛw w†kolumnie, jej wielkoúÊ i†kszta³t, mÛwi¹ juø bardzo wiele o†zamiarach konstruktora. Czy chcia³ stworzyÊ coú klasycznego, czy niekonwencjonalnego. Do ma³ego pomieszczenia, czy do remizy straøackiej. Øaden uk³ad g³oúnikÛw sam w†sobie nie gwarantuje niczego (moøe poza k³opotami, jakie gwarantuj¹ zespo³y bardzo rozwiniÍte), samo uøycie najlepszych przetwornikÛw rÛwnieø - ìmÛzgiemî kolumny jest bowiem schowana zwrotnica - ale i†tak, tylko widz¹c kolumnÍ, dowiadujemy siÍ o†niej bardzo wiele. Konstruowanie kolumn jest zajÍciem dla ludzi
Elektronika Praktyczna 11/2003
E S E J
o†szerokich horyzontach. Zabrzmia³o to nieskromnie, ale mam na myúli innych konstruktorÛw (sam nie potrafiÍ wysy³aÊ SMS-Ûw, chociaø od niedawna potrafiÍ korzystaÊ z†bankomatu). Tak jak poøartowaliúmy sobie z†kapryúnych audiofilÛw, bÍd¹cych czÍsto ignorantami w†sprawach elektrotechnicznych, tak teø elektronikom warto zwrÛciÊ uwagÍ, øe ich wiedza ìuk³adowaî bÍdzie dalece niewystarczaj¹ca dla szybkiego osi¹gniÍcia wysokich umiejÍtnoúci w†konstruowaniu kolumn. Audiofile musz¹ pokornie przyj¹Ê spor¹ dawkÍ nauk technicznych o†elektronice i†akustyce, elektronicy musz¹ dowiedzieÊ siÍ o†akustyce i†zacz¹Ê krytycznie s³uchaÊ, bo jest to podstawowe narzÍdzie oceny jakoúci zespo³u g³oúnikowego. Ani podejúcie abstrahuj¹ce od techniki, ani podejúcie stricte techniczne, nie wrÛøy nic dobrego. Jeøeli chce siÍ zbudowaÊ kolumny oryginalne, trzeba siÍ teø wykazaÊ talentami architektonicznymi, i†wreszcie podczas montaøu pos³ugiwaÊ siÍ wieloma narzÍdziami. I†ca³y czas kombinowaÊ. Tak wykombinowa³em juø prawie piÍÊ stron, ale ostatecznie jednak jestem tutaj nie tylko po to, aby filozofowaÊ, ale aby przedstawiÊ rzeteln¹ wiedzÍ. I†pierwsza lekcja za miesi¹c, a†na koniec myúl godna Seneki: düwiÍk z†ìfirmowychî kolumn jest w†50 procentach tak dobry, jak jest rzeczywiúcie, i†w†50 procentach tak dobry, jak bardzo w†to wierzymy. DüwiÍk†z†kolumn skonstruowanych samodzielnie jest w†99 procentach tak dobry, jak bardzo w†to wierzy ich konstruktor i†uøytkownik. Ale dopiero kolumny dobre na 100 procent s¹ naprawdÍ dobrymi kolumnami. Brzmi dobrze. Andrzej Kisiel, Audio
61
P O D Z E S P O Ł Y
Systemy RFID (Radio Frequency ID) s¹ coraz powszechniej stosowane zarÛwno w†przemyúle, jak i†w†wielu aplikacjach domowych. Podobnie jak popularne systemy znakowania za pomoc¹ kodÛw†kreskowych, takøe†systemy RFID s¹ stosowane do automatycznego zbierania i†przetwarzania danych. JakoúÊ i†szybkoúÊ pozyskiwania informacji ma zasadniczy wp³yw na procesy technologiczne i†dzia³alnoúÊ ca³ych przedsiÍbiorstw.
Systemy identyfikacji bezprzewodowej (RFID) firmy Texas Instruments Jak dzia³a†identyfikacja radiowa? Prawdopodobnie kaødy z†CzytelnikÛw†EP spotka³ siÍ z†systemami bezstykowej identyfikacji, nie zawsze bÍd¹c†w†pe³ni úwiadomym ich obecnoúci. Przyk³adowo, z†dobrodziejstw RFID korzystamy uruchamiaj¹c†samochÛd†wyposaøony w†immobilizer, kupuj¹c†ubrania w†supermarkecie czy teø otwieraj¹c†wejúcie do firmy kart¹. Systemy RFID umoøliwiaj¹ bezprzewodow¹ komunikacjÍ pomiÍdzy transponderem zintegrowanym z†anten¹ (przyk³ady pokazano na fot. 1 i†2) a†specjalnym czytnikiem, ktÛry poprzez wspÛ³pracuj¹c¹ z†nim antenÍ dostarcza do†transpondera energiÍ umoøliwiaj¹c¹ przeprowadzenie krÛtkiej transmisji danych. DziÍki temu moøna przeprowadziÊ zdaln¹ (i co waøne, ca³kowicie bezstykow¹) identyfikacjÍ osÛb†b¹dü obiektÛw. W†zaleønoúci od konfiguracji systemu, transmisja danych moøe†byÊ jednolub dwukierunkowa. Przyk³adem zastosowania systemu RFID jest sortowanie przesy³ek w†firmach transportowych (fot. 3). Na podstawie odczytanego bezprzewodo-
wo ID oraz danych zawartych w†bazie, przenoúniki taúmowe s¹ sterowane w†taki sposÛb, by przesy³ka trafi³a†do odpowiedniego samochodu. Jeøeli konieczna jest zmiana trasy b¹dü czasu dostarczenia, automatyczna identyfikacja pakunku znacznie przyspiesza taki proces. Transpondery RFID z†rodziny TIRIS (Texas Instruments Radio Identification System) s¹ produkowane przez firmÍ Texas Instruments. S¹ one dostÍpne w†obudowach o†rÛønych rozmiarach, kszta³tach i†formach (fot. 4). Czytniki mog¹ byÊ dostarczone w†formie p³ytki drukowanej, modu³u†czy gotowego, obudowanego urz¹dzenia. Transpondery s¹ dostÍpne w†wersjach z†pamiÍci¹ tylko do odczytu, jak rÛwnieø z†moøliwoúci¹ zapisu danych przez uøytkownika. S¹ one praktycznie bezobs³ugowe i†maj¹ nieograniczony okres uøytkowania. Technologia RFID znajduje siÍ w†ofercie wielu firm - poczynaj¹c†od producentÛw†pÛ³przewodnikÛw jak Texas Instruments (TIRIS) czy Philips (HiTAG), a†takøe†przez mniejsze firmy produkuj¹ce czytniki i†transpondery (jak LUX-Ident) aø po niewielkie, nawet jednoosobowe firmy zajmuj¹ce siÍ integracj¹ systemÛw.
Najpowaøniejsze rÛønice pomiÍdzy tymi systemami s¹ nastÍpuj¹ce: - transpondery RFID nie musz¹ byÊ widoczne, - mog¹ byÊ one odczytywane mimo istnienia ìprzeszkÛdî drewnianych, plastikowych, papierowych, - maj¹ moøliwoúÊ przeprogramowania w†czasie uøytkowania, - mog¹ byÊ dostarczane w†wersjach do pracy w†trudnych warunkach (wilgoÊ, zapylenie, wysokie temperatury, úrodki chemiczne). Stosowanie kodÛw†paskowych w†przeci¹gu d³uøszego czasu wykaza³o, øe†maj¹ one dokuczliwe ograniczenia: standardowo mog¹ zawieraÊ niewielk¹ iloúÊ informacji (ok. 20 znakÛw) i†nie mog¹ zostaÊ przeprogramowane. S¹ takøe†podatne na uszkodzenia i†wymagaj¹ umiejscowienia w†widocznym miejscu. Wszystkich tych wad pozbawione s¹ systemy RFID.
Zakresy czÍstotliwoúci wykorzystywane do celÛw†identyfikacji bezprzewodowej Wykorzystanie poszczegÛlnych pasm czÍstotliwoúci jest regulowane przez odpowiednie instytucje w†po-
PodobieÒstwa i†rÛønice pomiÍdzy systemami†RFID a†znakowaniem kodami paskowymi
Fot. 1
Elektronika Praktyczna 11/2003
Obydwie technologie pozwalaj¹ na automatyzacjÍ procesÛw†technologicznych i†usprawnienie zarz¹dzaniem, bowiem: zmniejszaj¹ potrzebny nak³ad pracy, eliminuj¹ b³Ídy pope³niane przez ludzi, a†pojedynczy odczyt dostarcza ³atwe do przetworzenia dane.
Fot. 2
63
P O D Z E S P O Ł Y szczegÛlnych krajach, przy czym regulacje obowi¹zuj¹ce we wszystkich krajach europejskich s¹ praktycznie takie same, i†tak systemy inteligentnych kart i†naklejek mog¹ pracowaÊ w†paúmie 13,56 MHz, a†transpondery pasywne i†immobilizery samochodowe w†paúmie 125kHz...134 kHz. Podstaw¹ dzia³ania transponderÛw†pasywnych (pozbawionych w³asnego ürÛd³a†zasiania) jest przesy³anie energii z†czytnika za pomoc¹ fal elektromagnetycznych. W†zaleønoúci od wykorzystywanych czÍstotliwoúci, transponder posiada antenÍ w†postaci cewki powietrznej (13,56 MHz) lub nawiniÍtej na rdzeniu ferrytowym (125 kHz, 134,2 kHz). Czytnik inicjuj¹c†komunikacjÍ z†transponderem, generuje przez okreúlony czas niemodulowan¹ falÍ noún¹, ktÛrej zadaniem jest zaindukowanie pr¹du w†cewce transpondera. Uzyskana w†ten sposÛb†energia jest gromadzona w†kondensatorze i†wykorzystywana do zasilania transpondera†w†czasie transmisji danych do czytnika. W†zaleønoúci od systemu, dane przesy³ane s¹ przy wykorzystaniu modulacji amplitudy ASK albo czÍstotliwoúci FSK. Jak moøemy siÍ spodziewaÊ, dystans, na jaki moøliwa jest komunikacja, zaleøy†od rozmiarÛw†zastosowanych†anten oraz czÍstotliwoúci jakie wykorzystuje system, czasu emitowania fali noúnej (³adowania kondensatora) i†mocy wysy³anej przez czytnik. Wykorzystuj¹c†produkty firmy TIRIS moøemy uzyskaÊ poprawn¹ transmisjÍ na odleg³oúci od 15 cm dla najmniejszych czytnikÛw†134,2 kHz i†transponderÛw o†wielkoúci 12 mm aø do 1...2 metrÛw†przy uøyciu specjalnych anten i†czytnikÛw†o†wysokiej mocy i†czu³oúci. W†standardzie 13,56 MHz jest moøliwe wykorzystanie do-
Fot. 3
64
datkowej pasywnej anteny do podwojenia zasiÍgu. Nieobci¹øona antena, dostrojona do czÍstotliwoúci pracy czytnika, dzia³a†jak reflektor, co daje w†efekcie zwiÍkszenie zasiÍgu pomiÍdzy antenami. Takøe†w†przypadku transponderÛw†z†moøliwoúci¹ zapisu do ich wewnÍtrznej pamiÍci, energia potrzebna do tej operacji jest rÛwnieø przesy³ana za pomoc¹ fal radiowych. Proces taki trwa d³uøej niø prosty odczyt, poniewaø oprÛcz energii konieczne jest przes³anie odpowiednio modulowanych i†kodowanych danych do zapisu. W†zaleønoúci od wymagaÒ uøytkownika, dostÍpne s¹ transpondery o†pamiÍci†od 80 do 2000 bitÛw.
Przyk³adowe aplikacje systemÛw†RFID Linia produkcyjna w†firmie farmaceutycznej Pierrel-Ospedali jest w³osk¹ firm¹ produkuj¹c¹ úrodki farmaceutyczne podlegaj¹ce úcis³ej kontroli. Wymagane jest dok³adne dokumentowanie kaødego etapu produkcji. Produkty farmaceutyczne wymagaj¹ wysokiej sterylnoúci, ktÛra osi¹gana jest w†autoklawach w†temperaturze 120oC. Jeúli istnieje podejrzenie, øe dana partia nie by³a†sterylizowana przez úciúle okreúlony czas, musi byÊ zniszczona, powoduj¹c†- czÍsto niebagatelne straty finansowe. Ze wzglÍdu na wysok¹ temperaturÍ i†ciúnienie panuj¹ce w†autoklawie, automatyczna identyfikacja partii materia³Ûw†poddawanych sterylizacji stanowi³a†wyzwanie. Drukowane kody kreskowe nie zdawa³y†egzaminu i†konieczne by³o rÍczne wprowadzanie odpowiednich danych przez cz³owieka. SytuacjÍ zmieni³o†zastosowanie systemu opartego o†produkty firmy TIRIS - oddzia³u†Texas Instruments zajmuj¹cego siÍ identyfikacj¹ bezprzewodow¹. Transpondery przymocowano do koszy, w†ktÛrych ustawiane by³y†pojemniki poddawane sterylizacji. DziÍki oznaczeniu kaødego kosza unikalnym ID i†zapisywaniu przez czytniki czasu wejúcia i†opuszczenia autoklawu moøliwe sta³o†siÍ zautomatyzowanie rejestracji przebiegu produkcji i†wyeliminowanie b³ÍdÛw†pope³nianych przez personel. Hurtownia farmaceutyczna Jedna z†najwiÍkszych hurtowni farmaceutycznych w†Niemczech, Sanacorp, dysponuje sieci¹ 16 centrÛw†dystrybucyjnych, w†ktÛrych znajduje siÍ ok. 80 tys. rÛønorodnych produktÛw. Firma szczyci siÍ tym,
Fot. 4 øe†od z³oøenia przez klienta zamÛwienia do przygotowania dostawy mija nie wiÍcej niø 1†godzina. Takie przyspieszenie dzia³ania by³o†moøliwe tylko dziÍki pe³nej automatyzacji linii pakuj¹cych. Do kaødego z†zamÛwieÒ przypisany jest plastikowy pojemnik, identyfikowany dziÍki zatopionemu w†jego konstrukcji transponderowi. System rÛwnoczeúnie kontroluje ok. 6000 takich pojemnikÛw†od momentu wp³yniÍcia zamÛwienia do chwili wys³ania towarÛw†do klienta. We wczeúniejszej wersji systemu stosowano kody kreskowe, jednakøe†nie spe³ni³y†one oczekiwaÒ. Ze wzglÍdu na b³Ídy odczytu ok. 1% zamÛwieÒ by³o†realizowanych b³Ídnie. Bior¹c pod uwagÍ koszty ponownej realizacji zamÛwienia, opÛünienia i†koniecznoúÊ precyzyjnego rejestrowania obiegu úrodkÛw†farmaceutycznych, kody kreskowe zosta³y†zast¹pione radiowym systemem identyfikacji kaødego pojemnika (a przez to i†zamÛwienia). Odsetek b³Ídnie realizowanych zamÛwieÒ zmala³ do 0,01%. Aby w†pe³ni wykorzystaÊ moøliwoúci jakie daj¹ systemy RFID, konieczne jest stworzenie w†ca³ym przedsiÍbiorstwie zaawansowanego systemu przep³ywu i†zarz¹dzania informacj¹. Uk³ad bezprzewodowego zbierania danych jest czÍúci¹ systemu, umoøliwiaj¹c¹ szybkie i†bezb³Ídne gromadzenie informacji i†budowanie na ich podstawie baz danych usprawniaj¹cych pracÍ przedsiÍbiorstwa. W†systemie TIRIS dostÍpne s¹ wszystkie elementy potrzebne do zautomatyzowania pozyskiwania informacji: transpondery, czytniki i†rÛønorodne anteny dla systemÛw†niskiej (134,2 kHz) i†wysokiej (13,56 MHz) czÍstotliwoúci. Marcin Bawolski Dodatkowe informacje Opracowano na podstawie materia³ów TIRIS. Wiêcej informacji na temat RFID w firmie Microdis Electronics (71) 301-04-00 e-mail:
[email protected], www.microdis.net.
Elektronika Praktyczna 11/2003
P O D Z E S P O Ł Y Ten, kto nie idzie na przÛd, ten siÍ cofa. To stare porzekad³o sprawdza siÍ w†sposÛb szczegÛlnie bezwzglÍdny w†elektronice. Nie dziwi¹ wiÍc bezustanne zmiany w†ofertach producentÛw. Klient nie lubi byÊ zaskakiwany nieoczekiwanymi zmianami, tym bardziej jeúli wp³ywaj¹ one na jego plany. Zilog juø kiedyú sprawi³ tak¹ przykr¹ niespodziankÍ swoim odbiorcom, tym razem jest inaczej.
Encore! S¹dz¹c po liczbie projektÛw wykorzystuj¹cych mikrokontrolery Ziloga, publikowanych w†Elektronice Praktycznej, mÛg³bym dojúÊ do wniosku, øe od kilku miesiÍcy prezentuj¹c nowoúci tej firmy, robiÍ solidn¹, nikomu niepotrzebn¹ robotÍ. Zainteresowanie ìZetamiî pozostaje nadal na poziomie zero. Do powyøszego wniosku doszed³em, bior¹c pod uwagÍ fakt, øe autorzy do swoich konstrukcji dobieraj¹ elementy wed³ug w³asnych zami³owaÒ, przyzwyczajeÒ, moøliwoúci finansowych, dostÍpnoúci poszczegÛlnych typÛw w†ich mieúcie i†kilku innych nieznanych mi
Rys. 1
66
Drugie wcielenie Z8
czynnikÛw. Faktem jest, øe obracamy siÍ wokÛ³ trzech, moøe czterech producentÛw, reszta mieúci siÍ w†tzw. iloúciach úladowych. Tymczasem rozgl¹daj¹c siÍ niekiedy poza ofertÍ Atmela czy Microchipa, moøna znaleüÊ ca³kiem przyzwoite podzespo³y. Przyznam, øe po nag³oúnionej w†EP rewizji programu produkcji pierwszej z†wymienionych firm, moja sympatia do niej zosta³a poddana ostrej, negatywnej weryfikacji. Popatrzmy zatem po raz kolejny na mikrokontrolery spod znaku ìZî w†nadziei, øe zwrÛc¹ one jednak uwagÍ konstruktorÛw. Tym razem zaintereso-
wanie skupimy na rodzinie opatrzonej przydomkiem Encore!
Z8 na bis Encore! to mikrokontrolery 8-bitowe, ktÛrych CPU wykorzystuje zmodyfikowan¹ wersjÍ rdzenia Z8. ByÊ moøe st¹d wziͳa siÍ mi³o brzmi¹ca nazwa uk³adÛw (encore w†jÍzyku angielskim oznacza bisowanie). Nowy rdzeÒ moøe byÊ taktowany sygna³em zegarowym o†czÍstotliwoúci 20†MHz. PoszczegÛlne typy uk³adÛw rÛøni¹ siÍ miÍdzy sob¹ zaimplementowanymi peryferiami. SzczegÛ³y przedstawiono w†tab. 1. Na uwagÍ zas³uguje spora pojemnoúÊ pamiÍci programu i†danych. Nawet najuboøsze wersje mikrokontrolerÛw maj¹ 4†kB pamiÍci Flash i†1†kB pamiÍci SRAM. Zawsze mnie zastanawia³o, dlaczego nie jest norm¹ wyposaøanie mikrokontrolerÛw w†bloki POR (Power-On-Reset) i†VBO (Voltage-Brown-out-Protection), tym bardziej, øe z†problemami zwi¹zanymi z†zerowaniem procesorÛw spotykamy siÍ bardzo czÍsto. Widocznie to samo pytanie zadawali sobie inøynierowie Ziloga, gdyø postanowili tym razem te komponenty uwzglÍdniÊ we wszystkich typach Encore'Ûw. Podobnie jest z†watchdogami, ktÛre w†omawianej rodzinie wspÛ³pracuj¹ zawsze z†wewnÍtrznym oscylatorem RC. Jak pierwsze wraøenia? Jest ca³kiem nieüle, w†dodatku - zgodnie z†zapowiedziami producenta - to dopiero pocz¹tek. WiÍkszoúÊ przedstawicieli rodziny
Elektronika Praktyczna 11/2003
P O D Z E S P O Ł Y
Rys. 2 Encore! ma wbudowany 10-bitowy przetwornik analogowo-cyfrowy. W†zaleønoúci od potrzeb moøna dobraÊ uk³ad z†odpowiedni¹ liczb¹ kana³Ûw - od 2†do 12. To bardzo istotna cecha tych mikrokontrolerÛw. PamiÍtajmy, øe inni producenci oferuj¹ czÍsto jedynie przetworniki 8bitowe. Jeúli dodamy do tego moøliwoúÊ korzystania z†3-kana³owego uk³adu DMA zaimplementowanego w†mikrokontrolerze, to uzyskujemy idealne rozwi¹zanie np. dla aplikacji przetwarzania danych pomiarowych, ktÛrym wystarczy 10-bitowa rozdzielczoúÊ. W†uk³adach Encore! zawarto ponadto peryferia niewymienione w†tab. 1. S¹ to interfejs I2C†i†SPI oraz uk³ad UART wspÛ³pracuj¹cy z†enkoderem/dekoderem IrDA. Trzeba teø wspomnieʆo†rÛønorodnych trybach pracy timerÛw/licznikÛw zaimplementowanych w†mikrokontrolerze. Mamy wiÍc moøliwoúÊ pracy: - jednoprzebiegowej (One-Shot), gdy uk³ad zatrzymuje siÍ po odliczeniu zadanej sekwencji i†generuje przerwanie, - ci¹g³ej (Continuous) - uk³ad po odliczeniu zadanej sekwencji generuje przerwanie, po czym automatycznie prze³adowuje rejestry i†powtarza cykl, - bramkowanej (Gated) - licznik pracuje tylko wtedy, gdy na odpowiednim wejúciu steruj¹cym wystÍpuje stan aktywny, - w†trybie przechwytywania (Capture), w†ktÛrym wartoúÊ licznikÛw jest zapamiÍtywana w†rejestrach przechwytywania po wyst¹pieniu sygna³u zatrzaskuj¹cego na specjalnym wejúciu, generowane jest teø w†tym momencie przerwanie; - w†trybie porÛwnywania (Compare), w†ktÛrym po zrÛwnaniu siÍ stanu licznika ze stanami rejestrÛw porÛwnywania zostaje wysterowane spe-
68
cjalne wyprowadzenie zewnÍtrzne oraz jest generowane przerwanie, - w†trybie przechwytywania i†porÛwnywania (Capture and Compare), bÍd¹cym po³¹czeniem odpowiednich trybÛw, - w†trybie PWM (Pulse Width Modulator) - modulator wspÛ³czynnika wype³nienia fali prostok¹tnej. Trzeba jednak uczciwie przyznaÊ, øe podobne tryby pracy wystÍpuj¹ rÛwnieø w†mikrokontrolerach innych producentÛw. Dzisiaj to w³aúciwie standard. Konstruktorzy uruchamiaj¹cy aplikacje wykorzystuj¹ce mikrokontrolery Encore! bÍd¹ z†pewnoúci¹ intensywnie eksploatowaÊ wyprowadzenie DBG, ktÛre zo-
sta³o zaimplementowane specjalnie dla nich. Jest to bowiem dwukierunkowy port OCD (On-Chip Debugger). DziÍki niemu moøna podgl¹daÊ zasoby mikrokontrolera (rejestry wewnÍtrzne, pamiÍÊ programu i†danych), moøna ustawiaÊ pu³apki, a†takøe wykonywaÊ program w†trybie ci¹g³ym lub krokowym. PamiÍci by³y zawsze piÍt¹ achillesow¹ Ziloga. Moøna powiedzieÊ, øe k³opoty z†Flashami by³y nawet kiedyú przyczyn¹ utraty mocnej pozycji rynkowej. Dzisiaj analogiczna sytuacja dotyczy pamiÍci EEPROM. Podczas gdy niemal wszyscy producenci uwzglÍdniaj¹ j¹ w†swoich mikrokontrolerach, w†øadnym z†zilogowych Encore'Ûw jej nie widaÊ. Czyøby znowu na przeszkodzie sta³y jakieú problemy technologiczne? Trudno w†to uwierzyÊ. Niewielkim usprawiedliwieniem jest moøliwoúÊ samoprogramowania pamiÍci Flash (w programie uøytkowym). PamiÍtajmy jednak, øe aby zaprogramowaÊ jeden bajt pamiÍci tego typu, konieczne jest skasowanie ca³ej strony, ktÛra w†mikrokontrolerach Encore! ma d³ugoúÊ 512 bajtÛw. Ponadto uøytkownik moøe siÍ spotkaÊ z†jeszcze jednym, niemi³ym problemem. Jeúli bÍdzie chcia³ zabezpieczyÊ swÛj program przed dostÍpem osÛb postronnych, bÍdzie musia³ zrezygnowaÊ z†autozapisu pamiÍci Flash. MoøliwoúÊ modyfikacji tej pamiÍci z†poziomu programu uøytkowego zosta³a zreszt¹ pomyúlana do zupe³nie innych celÛw niø te, ktÛre zazwyczaj s¹ zwi¹zane z†pamiÍci¹ EEPROM. Brak pamiÍci EEPROM w†strukturze mikrokontrolera to duøa niedogodnoúÊ. Coraz czÍúciej spotykamy siÍ przecieø z†urz¹dzeniami wymagaj¹cymi np. zachowywania paramet-
Tab. 1. Zestawienie parametrów mikrokontrolerów Z8 Encore! Typ uk³adu Z8F0411 Z8F0412 Z8F0421 Z8F0422 Z8F0811 Z8F0812 Z8F0821 Z8F0822 Z8F1601 Z8F1602 Z8F2401 Z8F2402 Z8F3201 Z8F3202 Z8F4801 Z8F4802 Z8F4803 Z8F6401 Z8F6402 Z8F6403
Wielkoœæ Wspó³praca SRAM Czêstotli- I/O Timery Kana³y pamiêci z pamiêci¹ woœæ oscy16-bi- ADC Flash zewnêtrzn¹ latora towe 10-bit 4 4 4 4 8 8 8 8 16 16 24 24 32 32 48 48 48 64 64 64
+ + + + + + + + + + + +
1k 1k 1k 1k 1k 1k 1k 1k 2k 2k 2k 2k 2k 2k 4k 4k 4k 4k 4k 4k
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
11 19 11 19 11 19 11 19 31 46 31 46 31 46 31 46 60 31 46 60
2 2 2 2 2 2 2 2 3 4 3 4 3 4 3 4 4 3 4 4
2 5 2 5 8 12 8 12 8 12 8 12 12 8 12 12
Inne
PWM, POR, VBO PWM, POR, VBO PWM, POR, VBO PWM, POR, VBO PWM, POR, VBO PWM, POR, VBO PWM, POR, VBO PWM, POR, VBO PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA PWM, POR, VBO, DMA
Elektronika Praktyczna 11/2003
P O D Z E S P O Ł Y rÛw konfiguracyjnych czy kalibracyjnych. Niestety, w†przypadku Encore'Ûw konieczne bÍdzie stosowanie pamiÍci zewnÍtrznych. Dla polepszenia humoru warto wspomnieÊ o†ciekawym rozwi¹zaniu, jakie zastosowano w†mikrokontrolerach Ziloga. Jest w†nich mianowicie zaimplementowany blok Illegal Instructions Traps, ktÛrego zadaniem jest úledzenie poprawnoúci pobieranego kodu przez CPU. Jeúli siÍ okaøe, øe pobrany z†pamiÍci programu bajt nie jest rozkazem (kody rozkazÛw nie wykorzystuj¹ wszystkich moøliwych kombinacji), to generowane jest specjalne przerwanie. Sytuacja taka moøe†wyst¹piÊ np. w†wyniku jakiegoú zak³Ûcenia albo niecelowego zamazania pamiÍci programu. O†tym, co procesor powinien zrobiÊ w†takich przypadkach, decyduje programista pisz¹c odpowiedni¹ procedurÍ obs³ugi. Swoj¹ drog¹ niewiele chyba da siÍ tu wymyúliÊ poza wyzerowaniem systemu. Mikrokontrolery Encore! s¹ wykonywane tylko w†wersji zasilanej napiÍciem 3,3†V†z†moøliwoúci¹ wspÛ³pracy z†uk³adami zasilanymi napiÍciem 5†V.
Under construction Zanim system mikroprocesorowy zostanie ìwypuszczonyî w†úwiat, konstruktor musi wiele czasu spÍdziÊ na pisaniu programu i†jego testowaniu w†naturalnym úrodowisku - mikrokontrolerze wraz z†otaczaj¹cymi go urz¹dzeniami peryferyjnymi. Tu na szczÍúcie uøytkownik spotyka siÍ z†dobrym traktowaniem przez firmÍ Zilog. Dla prezentowanych mikrokontrolerÛw z†pamiÍci¹ programu od 4†do 8†kB zosta³†opracowany zestaw ewaluacyjny Z8 Encore! 8K/4K MCU Evaluation Kit (fot. 1). Umoøliwia on zapoznanie siÍ z†mikrokontrolerami, a†nawet testowanie niewielkich w³asnych aplikacji. W†sk³ad zestawu wchodz¹: p³ytka uruchomieniowa, specjalny interfejs z†kablem szeregowym do po³¹czenia z†komputerem, zasilacz wtyczkowy, dokumentacja i†oprogramowanie na p³ytce CD-ROM. W†tym miejscu trzeba brzydko powiedzieÊ: ìa†niech siÍ Atmel schowaî. Klient Ziloga dostaje w†zestawie bardzo dobre narzÍdzie, jakim jest ZDS II- Z8 Encore! IDE (ZiLOG Developer Studio). Jest to zintegrowane úrodowisko programowe przeznaczone dla systemÛw†Win
Elektronika Praktyczna 11/2003
98 Second Edition, Win NT 4.0 z†serwis pack 6, Win2000 z†Serwis Pack 3†oraz WinXP z†Serwis Pack 1. W†jego sk³ad wchodzi: menedøer projektÛw, edytor, mikroasembler, kompilator C (zgodny z†ANSI), linker, librarian i†debuger symboliczny. Menedøer projektu u³atwia panowanie nad wszystkimi sk³adnikami projektu. Wyúwietla w†postaci graficznej hierarchiÍ plikÛw, u³atwia ich tworzenie i†kasowanie. Debuger wykorzystuje podczas pracy port RS232. Powyøsze narzÍdzia s¹ opracowane bardzo starannie, stwarzaj¹ bardzo duøy komfort pracy programiúcie. Podczas pracy w†jednym oknie moøliwe jest tworzenie wersji ürÛd³owej programu (nawet wielomodu³owego), jego kompilacja i†uruchamianie (rys. 2). Program moøe byÊ wykonywany w†trybie krokowym lub ci¹g³ym, z†uøyciem wielu pu³apek, w†kaødej chwili dostÍpne s¹ do podgl¹dania lub modyfikacji wszystkie zasoby mikrokontrolera. System moøe byÊ skonfigurowany jako symulator - wtedy nie jest potrzebny fizyczny uk³ad z†mikrokontrolerem lub jako debuger pozwalaj¹cy na weryfikacjÍ programu w†uk³adzie rzeczywistym. W†obydwu przypadkach jest zachowana dobra wspÛ³praca z†edytorem, co bardzo u³atwia usuwanie b³ÍdÛw. Uøytkownik moøe samodzielnie ustaliÊ zawartoúÊ i†rozk³ad okna roboczego, dziÍki czemu zawsze ma wyúwietlane tylko te informacje, ktÛrych potrzebuje. Rozpoznawanie s³Ûw kluczowych przez edytor oraz debuger i†wyúwietlanie ich w†rÛønych kolorach znacznie usprawnia etap pisania wersji ürÛd³owej programu, a†i†pÛüniej podczas debugowania okazuje siÍ bardzo przydatne.
P³ytka uruchomieniowa P³ytka uruchomieniowa zestawu Z8 Encore! 8K/4K MCU Evaluation Kit zawiera mikrokontroler Z8F0822 w†28-nÛøkowej obudowie SOIC, 3†LED-y, interfejsy: RS232 i†IrDA, klawisz zerowania i†testowy, gniazdo zasilania (uwaga!) 5†V, interfejs OCD wykorzystywany przez debuger, gniazdo do pod³¹czania sygna³Ûw analogowych dla przetwornika ADC oraz ma³e†pole montaøowe dla w³asnych uk³adÛw prototypowych (rys. 3). Pole montaøowe jest typowe dla Ziloga. Jest tam niezbyt duøo miejsca: punkty lutownicze pod dwa 16-nÛøkowe i†dwa 8-noøkowe uk³ady SMD, kilka
Rys. 3 rezystorÛw rÛwnieø SMD i†dos³ownie kilka niezaleønych punktÛw lutowniczych. PiÍciokana³owy przetwornik analogowo-cyfrowy moøe pos³uøyÊ do wykonania wielu ciekawych eksperymentÛw z†przetwarzaniem sygna³u analogowego. DostÍpny transceiver IrDA u³atwi natomiast budowÍ toru bezprzewodowej transmisji danych. W†doúwiadczeniach moøna ³atwo badaÊ zachowanie siÍ systemu dla rÛønych czÍstotliwoúci rezonatora kwarcowego. ChoÊ w†oryginale jest za³oøony rezonator 18,432†MHz, to jego wymiana jest bardzo prosta, gdyø nie jest on lutowany, tylko wk³adany do dwÛch gniazd tulipanowych. Raczej trudno spodziewaÊ siÍ, by w†najbliøszym czasie powsta³a wersja Bascoma na mikrokontrolery Encore! Ale chyba nie jest to powÛd do wiÍkszego zmartwienia. JÍzyk C†udostÍpniony w†zestawie jest znakomicie opisany i†pozwoli ìwycisn¹Êî z†procesora chyba wszystko, co tylko siÍ da. Programiúci lubi¹cy pisaÊ na ìniøszym poziomieî bÍd¹ rÛwnieø usatysfakcjonowani, maj¹ przecieø asembler, ktÛry jak zwykle u†Ziloga jest bardzo przejrzysty i†³atwy do opanowania. Dla ca³kowicie zagubionych w†nowym, nieznanym úrodowisku sprzÍtowym, w†dokumentacji zamieszczono dok³adne schematy elektryczne p³ytki ewaluacyjnej. Moøna siÍ na nich wzorowaÊ przy projektowaniu w³asnych aplikacji. Przyda³oby siÍ jedynie trochÍ wiÍcej przyk³adÛw programÛw. Dodatkowe informacje o†rodzinie Encore! moøna znaleüÊ na stronie http://www.zilog.com/ products/family.asp?fam=225. Jaros³aw Doliñski, AVT
[email protected] Dodatkowe informacje
Artyku³ powsta³ na podstawie materia³ów udostêpnionych przez firmê WBC Sp. z o.o., tel. (71) 78-88-011.
69
S P R Z Ę T
Takie urz¹dzenia pomiarowe, jak opisywany w†artykule analizator widma, nie trafiaj¹ czÍsto do naszej redakcji. Nic dziwnego. Jest to sprzÍt, ktÛry nie pojawia siÍ na sto³ach amatorÛw chyba w†ogÛle a†i†profesjonaliúci musz¹ byÊ mocno zmotywowani do zakupu podobnej aparatury. Czasami jednak nie ma wyjúcia, problemem staje siÍ wÛwczas jedynie wybÛr odpowiedniej marki i†modelu.
70
Analizator widma
GSP−827
O†wyrobach firmy Instek mia³em juø przyjemnoúÊ pisaÊ kilkukrotnie. W†tym miejscu powinienem w³aúciwie uøyÊ pisowni s³owa ìprzyjemnoúÊî pisanego z†wielkiej litery, gdyø za kaødym razem wyroby tej firmy robi¹ na mnie ogromne wraøenie. I†w†tym przypadku juø na wstÍpie artyku³u nie mog³em powstrzymaÊ siÍ przed wyraøeniem swojego zachwytu, mimo øe†emocje powinienem powstrzymywaÊ na wodzy. Mam nadziejÍ, øe zostanie mi to wybaczone. Do rzeczy wiÍc: GSP-827, to profesjonalny analizator widma pracuj¹cy w†zakresie czÍstotliwoúci od 9†kHz do 2,7 GHz. Moøe byÊ wykorzystywany zarÛwno na stole laboratoryjnym, jak i†w†terenie. Specjalnie do zastosowaÒ terenowych zosta³ wyposaøony w†zestaw 2†akumulatorÛw LiIon, kaødy o†napiÍciu 10,8 V. No cÛø, nie moøna powiedzieÊ, øeby masa - 4,5 kg oraz wymiary - 330x170x340 mm by³y niezauwaøalne, ale do takich gabarytÛw zapewne przyzwyczajeni s¹ uøytkowni-
cy podobnej aparatury. Mog¹ nimi byÊ pracownicy obs³ugi technicznej sieci GSM, czy serwisÛw†telewizji kablowej. Dla nich waøniejsze s¹ cechy funkcjonalne aparatury, a†te w†przypadku GSP-827 s¹ godne uznania. Oczywiúcie wspomniane wyøej grupy uøytkownikÛw nie jest jedynymi. Z†podobnych analizatorÛw korzystaj¹ na co dzieÒ wszyscy ci, ktÛrzy maj¹ do czynienia z†jakimkolwiek sprzÍtem radiokomunikacyjnym. Dla niektÛrych grup uøytkownikÛw dostÍpne s¹ nawet specjalne, opcjonalne zestawy wyposaøenia. Najwaøniejsze dane techniczne analizatora GSP-827 przedstawiono w†tab. 1.
MÛwi siÍ, øe nie szata zdobi cz³owieka W†przypadku GSP-827 moøna powiedzieÊ, øe zarÛwno estetyka obudowy, jak i†parametry elektryczne nie mog¹ siÍ nie spodobaÊ. Jak zwykle u†Insteka elementy p³yty czo³owej zosta³y†zaprojektowane z†dobrym smakiem i†z†zachowaniem zasad ergonomii. Wyraünie
Elektronika Praktyczna 11/2003
S P R Z Ę T
Rys. 1. Funkcja Peak−>Center automatycznie wy− szukuje największą wartość pomiaru i umieszcza wynik w środkowej części ekranu
rozdzielono klawiatury spe³niaj¹ce odmienne funkcje, dodatkowo wyrÛøniaj¹c je rÛønymi kolorami. Zastosowano trzy, a†w³aúciwie cztery rodzaje elementÛw regulacyjnych. S¹ to: klawisze s³uø¹ce do wybierania opcji, specjalne pokrÍt³o obrotowe, ktÛrym wygodnie ustala siÍ wartoúci cyfrowe danego parametru poprzez krokowe jego zwiÍkszanie lub zmniejszanie. PokrÍt³o†to jest wykorzystywane takøe do przesuwania kursorÛw i†markerÛw ekranowych. Kolejnym elementem regulacyjnym jest poczwÛrny klawisz kursora o†podobnym przeznaczeniu jak pokrÍt³o obrotowe, a†takøe†6†wydzielonych klawiszy funkcyjnych wspÛ³pracuj¹cych z†kontekstowo dobieranymi opisami wyúwietlanymi wzd³uø prawego boku ekranu. Jeúli okreúlenie wartoúci danej nastawy za pomoc¹ pokrÍt³a obrotowego staje siÍ uci¹øliwe np. na skutek koniecznoúci przewiniÍcia ca³ego dostÍpnego zakresu wartoúci, w†kaødej chwili moøna odpowiedni parametr wprowadziÊ za pomoc¹ klawiatury numerycznej. Do zmian zakresÛw natomiast najwygodniej bÍdzie uøywaÊ klawiszy kursorÛw. Zastosowany czarno-bia³y wyúwietlacz o†rozdzielczoúci 640x480 punktÛw i†wymiarach pola roboczego ok. 122x92 mm daje czytelny obraz. W†zaleønoúci od warunkÛw i†upodobaÒ moøna w³¹czyÊ podúwietlanie, ustawiÊ kontrast, a†nawet prze³¹czyÊ ekran w†tryb inwersyjny (czarne t³o, bia³e napisy i†przebiegi). Funkcja Split umoøliwia natomiast w³¹czenie dwÛch obszarÛw roboczych. Na panelu czo³owym umieszczono dwa 50 Ω gniazda typu N. Jedno to wejúcie sygna³u pomiarowego RF, drugie to wyjúcie TG (Tracking Generator). Z†ty³u natomiast zosta³y umieszczone pozosta³e gniazda BNC: zewnÍtrznego sygna³u referencyjnego, wyjúcia referencyjnego czÍstotliwoúci 10 MHz wykorzystywanego np.
72
Rys. 2. Prawidłowe działanie funkcji Pass/Fail Test wymaga zdefiniowania spodziewanej obwiedni mierzonego sygnału
do synchronizacji innych urz¹dzeÒ pomiarowych, a†takøe wejúcie zewnÍtrznego sygna³u synchronizuj¹cego dla GSP-827. Znajduj¹ siÍ tu teø gniazda interfejsÛw GPIB, RS232 oraz wyjúcie mikrofonowe. Pokaünych rozmiarÛw akumulator jest montowany po odkrÍceniu specjalnej przykrywki umieszczonej obok zespo³u wspomnianych wyøej gniazd. Prawdziwe zalety analizatora ujawniaj¹ siÍ w†trakcie pracy.
Pomiary ProszÍ nie oczekiwaÊ, øe przedstawiÍ wszystkie moøliwoúci pomiarowe analizatora GSP-827. W†duøym uproszczeniu postaram siÍ jedynie opisaÊ jak wygl¹da praca z†tym przyrz¹dem. Pierwszym etapem przez jaki musi przebrn¹Ê kaødy jego uøytkownik, to odpowiednie po³¹czenie mierzonych urz¹dzeÒ z†analizatorem. Nie jest to sztuka banalna zwaøywszy, øe mamy do czynienia z†czÍstotliwoúciami rzÍdu kilku GHz. W†zestawie jaki zosta³ dostarczony do redakcyjnego testu znajdowa³ siÍ komplet krÛtkich przewodÛw po³¹czeniowych wraz z†kilkoma rodzajami przejúciÛwek. S¹ one umieszczone w†eleganckim etui, ktÛre z†pewnoúci¹ bÍdzie przydatne podczas wypraw na pomiary w†terenie. Po krÛtszym lub d³uøszym dopasowywaniu do siebie poszczegÛlnych wejúÊ i†wyjúÊ, na ekranie udaje siÍ uzyskaÊ pierwsze kszta³ty widma. Za pomoc¹ opisanych wyøej przyrz¹dÛw regulacyjnych bÍdziemy siÍ starali umieúciÊ g³Ûwny pr¹øek widma np. w†centralnym miejscu ekranu. Jeúli znamy wartoúÊ odpowiadaj¹cej mu czÍstotliwoúci, moøemy j¹ wprowadziÊ bezpoúrednio z†klawiatury i†skorzystaÊ z†funkcji Frequency Center. Jeúli mierzymy nieznany przebieg przyda siÍ funkcja Peak->Center, ktÛra automatycznie wyszuka najwiÍksz¹ wartoúÊ pomiaru i†umieúci j¹ w†úrod-
kowym po³oøeniu ekranu (rys. 1). Zakres obserwowanego widma moøna ustawiÊ wprowadzaj¹c parametry Frequency Start i†Frequency Stop. Moøna rÛwnieø skorzystaÊ z†funkcji Span. W†tym przypadku widmo jest ograniczane do zakresu np. 1†MHz ustawionego funkcj¹ Span wokÛ³†czÍstotliwoúci centralnej. Regulacja przebiega w†sekwencji 1-2-5 (przyk³adowo 1†MHz, 2†MHz, 5†MHz, 10 MHz... itd.). Jednym naciúniÍciem klawisza moøemy rÛwnieø ustawiÊ ca³y moøliwy zakres (Span full). Podobnie, w†sekwencji 105-2-1 dB, przebiega regulacja czu³oúci analizatora. Wynik moøe byÊ podawany w†jednostkach dBm, dBµV, dBmV oraz dBm/Hz. Przed rozpoczÍciem pomiarÛw trzeba pamiÍtaÊ o†odpowiednim ustawieniu impedancji wejúcia, zjawisko niedopasowania moøe bowiem ca³kowicie zniekszta³ciÊ wyniki. S³uøy do tego opcja Input Z. Odczytywanie wartoúci cyfrowych w†charakterystycznych punktach widma jest czynnoúci¹ bardzo czÍsto, niemal rutynowo wykonywan¹ podczas pomiarÛw. W†GSP-827 pomocna jest w†tym funkcja Marker. Po jej w³¹czeniu na ekranie pojawia siÍ specjalny znaczek, ktÛry moøe byÊ przesuwany (najwygodniej pokrÍt³em obrotowym) po ca³ym widmie. Kaødej zmianie po³oøenia towarzyszy odpowiadaj¹ca mu czÍstotliwoúÊ i†poziom sygna³u. Przewidziana jest takøe praca z†wieloma markerami. Przydatna w†praktyce bÍdzie teø opcja przesuniÍcia markera do wartoúci maksymalnej - Markers to Peaks oraz zbliøone z†ni¹ funkcjonalnie Peak Search, Peak Left i†Peak Right i†Peak Next pozwalaj¹ce analizowaÊ poszczegÛlne pr¹øki widma. Ich znaczenie jest doúÊ intuicyjne. Jedn¹ z†opcji funkcji ìPeak Searchî jest Track. Powoduje ona dynamiczne poszukiwanie piku widma i†ustawianie go w†po³oøeniu centralnym
Elektronika Praktyczna 11/2003
S P R Z Ę T
S P R Z Ę T Tab. 1. Wybrane dane techniczne analizatora GSP−827 Zakres czêstotliwoœci Szerokoœæ okna Szum fazy Sta³oœæ pomiaru czasu Zakres RBW Dok³adnoœæ RBW Zakres pasma Video Czas skanowania zakresu Zakres pomiarowy
9kHz...2,7GHz 2kHz do 2,5GHz w sekwencjach 1-2-5, “full span”, “zero span” -85dBc/Hz @1GHz 20kHz typowy offset + 10ppm, 0-50°C, 5ppm/rok 3kHz, 30kHz, 300kHz, 4MHz 15% 10Hz do 1MHz w krokach 1-3 100ms do 25,6s -100dBm do +20dBm: 1M~2,5GHz @ 3k RBW -95dBm do +20dBm: 2,5GHz~2,7GHz @ 3k RBW -70dBm do +20dBm: 150k do 1MHz @ 3k RBW -60dBm do +20dBm: 50k do 150kHz @ 3k RBW Zakres poziomu odniesienia -30dBm do +20dBm Dok³adnoœæ poziomu odniesienia + 1,5dB @100MHz Nierównomiernoœæ czêstotliwoœci + 1,5dB Œredni poziom szumów -130dBm/Hz: 1MHz do 2,5GHz -125dBm/Hz: 2,5GHz do 2,7GHz -105dBm/Hz: 150k~1MHz -95dBm/Hz: 50k~150kHz Zniekszta³cenia harmoniczne < -60dBc @-40dBm We Zabezpieczenie wejœcia RF +30dBm, 25VDC Impedancja wejœcia RF 50Ω (nominalnie) Czêstotliwoœæ wyjœciowego przebiegu 10MHz referencyjnego Typy markerów “Normal” i “Delta Mode” Liczba markerów do 10 Rozdzielczoœæ wyœwietlacza 640x480, LCD mono Gniazdo RS-232 Sub-D 9 ¿eñskie Zasilanie 100V... 240VAC, automatyczny wybór, 48...63Hz Pobór mocy 85W, 95VA max. z wentylatorem Wymiary 330(W)x170(H)x340(D) mm Masa ok. 4,5kg
ekranu. Jest to wiÍc po³¹czenie Peak Search i†Marker to Center. Serwisanci pracuj¹cy w†terenie nie zawsze maj¹ czas i†warunki do dok³adnej analizy zebranych danych w†miejscu dokonania pomiaru. Dla nich moøliwoúÊ zarejestrowania do 100 przebiegÛw bÍdzie jedn¹ z†waøniejszych cech przyrz¹du. S³uøy do tego polecenie Save/Recall wykorzystuj¹ce do celÛw archiwizacyjnych wbudowany zegar czasu rzeczywistego. Analizator GSP-827 posiada moøliwoúÊ úledzenia trzech úcieøek: Tr. A, Tr. B oraz tzw. Live, przy czym dla úcieøki tej dostÍpne s¹ funkcje Peak Hold, Average i†Freezy. Moøna takøe korzystaÊ z†niektÛrych operacji matematycznych na úcieøkach. OcenÍ prawid³owoúci mierzonego widma u³atwi funkcja Pass/Fail Test. Aby j¹ wykorzystaÊ trzeba wczeúniej zdefiniowaÊ dopuszczaln¹ obwiedniÍ widma, w†ktÛrym powinien zmieúciÊ siÍ wynik pomiaru. Moøe on mieÊ kszta³t linii ³amanej zarÛwno dla ograniczenia z†gÛry, jak i†z†do³u (rys. 2) NastÍpnie po uaktywnieniu wspomnianej funkcji, pod przebiegiem jest wyúwietlany komunikat informuj¹cy w†zaleønoúci od uzyskanego wyniku o†tym, øe widmo spe³nia lub nie spe³nia zadanych parametrÛw. W†analizatorze GSP-827
74
przewidziano dwa tryby wyzwalania: wyzwalanie pojedyncze i†ci¹g³e. èrÛd³em sygna³u wyzwalaj¹cego moøe byÊ sygna³ doprowadzony z†zewn¹trz lub generowany wewnÍtrznie. Przyrz¹d GSP-827, choÊ zosta³ nazwany przez producenta analizatorem widma, ma wbudowane rÛwnieø funkcje ACPR (Adjacent Channel Power Radio) oraz OCBW (Ocupied BandWidth) wykorzystywane do pomiarÛw mocy. Jak przysta³o na porz¹dn¹, profesjonaln¹ aparaturÍ pomiarow¹, w†GSP-827 wbudowano procedury autotestu i†autokalibracji. ObecnoúÊ interfejsu GPIB, jak rÛwnieø RS232 predestynuje go do zastosowaÒ w†rozbudowanych stanowiskach pomiarowych, a†wiÍc nie tylko w†serwisie. Døentelmeni o†pieni¹dzach nie rozmawiaj¹, wiÍc nie bÍdÍ tu wspomina³ o†cenie analizatora. ChoÊ w†pierwszym momencie moøe ona spowodowaÊ zak³Ûcenia w†pracy serca, to w†porÛwnaniu z†inn¹ aparatur¹ tego typu nie jest wcale szokuj¹ca. Jaros³aw Doliñski, EP
[email protected] Dodatkowe informacje Cena przyrz¹du: 19000 z³ netto. Przyrz¹d do testów udostêpni³a firma NDN, tel. (22) 641-15-47, www.ndn.com.pl.
Elektronika Praktyczna 11/2003
P R O G R A M Y
CAM dla projektantów obwodów drukowanych WspÛ³czesny projektant PCB powinien wiedzieÊ, jak wielkie znaczenie ma technologiczna weryfikacja projektu oraz zidentyfikowanie jego s³abych punktÛw†przed przekazaniem plikÛw do wytwÛrni p³ytek. Maj¹c kontrolÍ nad procesem produkcji, projektant p³yty drukowanej moøe podnieúÊ jej jakoúÊ, skrÛciÊ czas opracowania i†mieÊ pewnoúÊ, øe projekt bÍdzie pozbawiony b³ÍdÛw. Analiza i†weryfikacja projektu
W³aúnie tym celom s³uøy CAMtastic - najnowszej generacji system CAM firmy Altium. Program CAMtastic DXP to kompletny system, ktÛry pomaga projektantowi PCB szybko i†³atwo zweryfikowaÊ parametry p³yty istotne dla procesu produkcyjnego. DziÍki temu projektant jest w†stanie zminimalizowaÊ liczbÍ kosztownych b³ÍdÛw, dostarczaj¹c projekt sprawdzony i†gotowy do natychmiastowej produkcji i†montaøu. CAMtastic DXP zawiera komplet narzÍdzi potrzebnych do podgl¹du, edycji i†konwersji rÛønego rodzaju plikÛw CAD/CAM, ich analizy oraz generowania wydrukÛw i†plikÛw wyjúciowych niezbÍdnych do wyprodukowania p³yty drukowanej. CAMtastic DXP zbudowano na bazie platformy Design Explorer (DXP) firmy Altium (widok g³Ûwnego okna programu pokazano na rys. 1), znanej m.in. z†Protela DXP. Program zoptymalizowano do pracy w†najnowszych systemach operacyjnych Windows XP oraz 2000. CAMtastic DXP obs³uguje import/eksport wielu formatÛw plikÛw, zawiera zestaw narzÍdzi do analizy i†weryfikacji PCB oraz wszystkie graficzne i†geometryczne narzÍdzia niezbÍdne do edycji i†modyfikacji projektu p³yty przed wykonaniem.
Elektronika Praktyczna 11/2003
CAMtastic DXP przeprowadza 18 rodzajÛw analiz PCB, daj¹cych moøliwoúÊ pe³nej weryfikacji przygotowanego projektu obwodu drukowanego. Jednym klikniÍciem myszki moøemy uruchomiÊ kompleksowe sprawdzenie projektu pod k¹tem naruszenia ktÛrejkolwiek z†18 wspomnianych regu³. Pozwala to na wykrycie problemÛw, ktÛre mog¹ wyst¹piÊ podczas produkcji oraz poprawÍ jakoúci obwodu jeszcze przed wysy³k¹ do wytwÛrni. Program znajduje m.in. zwarcia pomiÍdzy úcieøkami, przerwane po³¹czenia, zbÍdne wiercenia, odstÍpy
mniejsze od za³oøonego minimum i†wiele innych parametrÛw. Okno ich konfiguracji pokazano na rys. 2. Aby weryfikacja projektu (DRC) mog³a zostaÊ przeprowadzona, CAMtastic DXP musi odtworzyÊ listÍ po³¹czeÒ (netlist) na podstawie danych z†plikÛw CAM. Trzeba zaznaczyÊ, øe program radzi sobie doskonale takøe ze skomplikowanymi projektami wielowarstwowymi z†dzielonymi warstwami zasilania oraz úlepymi i†zagrzebanymi przelotkami. Funkcja DRC potrafi rÛwnieø automatycznie naprawiÊ wiÍkszoúÊ znalezionych b³ÍdÛw. S³uøy to tego opcja Auto Fix (rys. 2).
Rys. 1
75
P R O G R A M Y ³aduje jednoczeúnie: pliki Gerber, pliki z†aperturami, wiercenia NC Drill, HPGL i†listy po³¹czeÒ IPC365-D. Inn¹, wart¹ podkreúlenia cech¹ programu jest obs³uga formatu ODB++, ktÛry niesie wiÍkszoúÊ informacji potrzebnych do produkcji p³yty drukowanej. Uøycie standardu ODB++ pozwala wyeliminowaÊ pliki Gerber, Excellon, listy po³¹czeÒ oraz pliki rozk³adu elementÛw. Ograniczaj¹c liczbÍ plikÛw, zyskujemy na czasie i†kosztach oraz podnosimy jakoúÊ na etapie produkcji. Rys. 2
Edycja i†modyfikacja projektu
Jedn¹ z†interesuj¹cych cech programu CAMtastic DXP jest moøliwoúÊ konwersji dowolnych plikÛw Gerber na format Protel PCB. DziÍki temu, dysponuj¹c tylko plikami Gerber pochodz¹cymi z†dowolnego programu, jesteúmy w†stanie prawie automatycznie wygenerowaÊ plik PCB, ktÛry moøna obrabiaÊ w†edytorze PCB programu Protel DXP.
CAMtastic DXP oferuje†wszechstronne narzÍdzia edycyjne, potrzebne podczas koÒcowej obrÛbki projektu PCB. WúrÛd podstawowych operacji edycyjnych znajdujemy m.in. przenoszenie i†kopiowanie pojedynczych oraz wielu obiektÛw, obracanie o†dowolny k¹t, odbicie lustrzane, skalowanie obiektÛw, rÛønorodne operacje na warstwach oraz wiele innych (rys. 5). RÛwnie bogaty jest zestaw narzÍdzi rysunkowych (rys. 6), ulokowanych w†menu Place. DostÍpne opcje s³uø¹ do rysowania ³ukÛw,
Import/eksport
Rys. 4
Rys. 5
dukcji druku. Wyniki prostych operacji wyúwietlane s¹ bezpoúrednio w†panelu CAMtastic, jak w†przypadku pomiaru odleg³oúci pomiÍdzy dwoma obiektami, b¹dü w†formie raportÛw tekstowych, ktÛre otwieraj¹ si͆w†osobnym oknie edytora tekstowego DXP.
CAMtastic DXP importuje oraz Drukowanie eksportuje pliki w†wielu popularRÛwnieø w†zakresie drukowania, nych formatach CAM, daj¹c moøliCAMtastic DXP oferuje wszystko, woúÊ ³atwej konwersji poco moøe byÊ potrzebne promiÍdzy rÛønymi formatami. jektantowi. Program korzysCAM, czyli... Program importuje pliki zata w†pe³nym zakresie z†dru...Computer Aided Manufacturing − pisane w†formatach: ODB++, karek zainstalowanych wytwarzanie wspomagane komputerowo. Gerber, HPGL/2, Drill, Mill/ w†systemie Windows. Do Takim akronimem jest określane oprogra− Route, DWG/DXF (AutoCAD wydruku moøemy wybraÊ mowanie służące do przygotowywania 12-2000, LT) oraz IPC-356-D okreúlony zakres projektu dokumentacji oraz sterowania urządzeniami (rys. 3). Natomiast wyekslub fragment widoczny na wytwórczymi. portowaÊ dane moøna w†forekranie, wybraÊ druk w†komatach: ODB++, Gerber lorze lub czarno-bia³y oraz (274D, 274X, Fire9000), Drill data, okrÍgÛw, prostok¹tÛw, wielolinii, okreúliÊ skalÍ z†moøliwoúci¹ wyboMill/Route, DXF (AutoCAD 12wielobokÛw, tekstu, wstawiania wyru opcji dopasowania do strony. 2000, LT) oraz IPC-365-D (rys. 4). miarÛw i†wiele innych. Wydruk moøe byÊ wycentrowany Warto zwrÛciÊ uwagÍ na funkcjÍ Ponadto mamy do dyspozycji zana kartce oraz zawieraÊ nag³Ûwek QuickLoad, widoczn¹ w†menu Fiawansowane narzÍdzia edycyjne, z†informacjami o†stronie. Moøemy le>Import, ktÛra pozwala na autozgromadzone w†menu Tools (rys. matyczne wczytanie wielu plikÛw 7). WúrÛd nich znajdziemy m.in. rÛwnoczeúnie do jednego dokumenkreatora pomagaj¹cego przygotowaÊ tu roboczego. Funkcja QuickLoad kliszÍ do naúwietlania (Film Wizard), narzÍdzie do panelizacji (Panelize PCB) wspomagaj¹ce projektanta podczas powielania druku na wiÍkszym arkuszu laminatu, kalkulator powierzchni miedzi (Calc. Copper Area) i†wiele innych.
Raporty
Rys. 3
76
Warto wspomnieÊ rÛwnieø o†narzÍdziach do inspekcji i†raportowania, pozwalaj¹cych uzyskaÊ istotne informacje dotycz¹ce projektu w†kontekúcie przygotowania pro-
Rys. 6
Rys. 7
Elektronika Praktyczna 11/2003
P R O G R A M Y
P R O G R A M Y
Rys. 8 drukowaÊ poszczegÛlne warstwy na osobnych kartkach, a†takøe zgrupowaÊ kilka rysunkÛw na jednej stronie. W†kaødej chwili mamy dostÍp do podgl¹du wydruku na ekranie. Na rys. 8 pokazano okienko ustawieÒ wydruku oraz przyk³adowy widok z†podgl¹dem wydruku strony, zawieraj¹cej cztery warstwy.
Dla kogo CAMtastic DXP? Ze wzglÍdu na mnogoúÊ funkcji i†wszechstronnoúÊ, CAMtastic jest narzÍdziem rÛwnie wpasowanym w†potrzeby producentÛw obwodÛw drukowanych, jak i projektantÛw PCB, ktÛrzy chc¹ swoje dzie³o zweryfikowaÊ i przekazaÊ do wytwÛrni wolne od wad i gotowe do natychmiastowej produkcji. CAMtastic DXP jest jednym z†integralnych sk³adnikÛw pakietu Protel DXP, tworz¹c spÛjn¹ ca³oúÊ z†pozosta³ymi narzÍdziami w†ramach úrodowiska Design Explorer.
Integracja z†edytorem PCB systemu Protel pozwala na automatyczn¹ wymianÍ danych pomiÍdzy programem CAMtastic i†PCB. Pliki CAM generowane przez edytor PCB mog¹ byÊ automatycznie otwierane w†okienku CAMtastic. W†praktyce, podczas pracy w†Protelu, jest to p³ynne przejúcie od projektowania PCB do zadaÒ z†dziedziny CAM, bez ømudnego i†czasoch³onnego eksportowania danych na zewn¹trz i†wczytywania ich do innego programu. CAMtastic DXP jest dostÍpny rÛwnieø jako osobny program. Ta czÍúÊ oferty firmy Altium jest skierowana pod adresem producentÛw obwodÛw drukowanych, ktÛrzy potrzebuj¹ tylko sprawnego narzÍdzia CAM. Jest jeszcze trzecia opcja - CAMtastic DXP Viewer - przegl¹darka plikÛw CAM, w†stosunku do pe³nej wersji pozbawiona opcji edycyjnych oraz wiÍkszoúci narzÍdzi do analizy i†raportowania, ale za to dostÍpna bezp³atnie. DXP Viewer czyta wszystkie formaty obs³ugiwane przez CAMtastic, w†tym m.in. Gerber, ODB++ oraz DWG/DXF. Przegl¹darkÍ moøna úci¹gn¹Ê ze strony www.camtastic.com. Takøe szczegÛ³owe informacje, pe³na dokumentacja oraz 30-dniowa wersja testowa programu CAMtastic DXP s¹ dostÍpne na wspomnianej stronie internetowej. Grzegorz Witek, Evatronix
Rys. 9
78
Elektronika Praktyczna 11/2003
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.
Czujnik zatarcia wentylatora Wiele urz¹dzeÒ ma wbudowane wentylatory, ktÛre zapewniaj¹ wymuszony obieg powietrza. DziÍki temu moøna w†urz¹dzeniu zastosowaÊ niewielki radiator, ktÛry wspomagany wentylatorem moøe mieÊ znacznie mniejsze wymiary w†porÛwnaniu z potrzebnym odpowiednikiem bez wentylatora. Rekomendacje: ³atwe w†wykonaniu urz¹dzenie umoøliwiaj¹ce wykrycie zatarcia silnika wentylatora, ³atwe do zastosowania m.in. w†komputerach PC czy teø sprzÍcie audio.
Proponowany uk³ad czujnika zatarcia wentylatora jest idealnym monitorem poprawnej pracy wentylatora. Jako czujnik zastosowany zosta³ specjalizowany uk³ad TC670 firmy Microchip. Jedn¹ z†zalet tego uk³adu jest to, øe nie mierzy on wartoúci pr¹du pobieranego przez wentylator, jak jest to w†prostych uk³adach, lecz prÍdkoúÊ obrotow¹ wentylatora - dok³adniej: czÍstotliwoúÊ impulsÛw pr¹dowych. Badanie wartoúci impulsÛw pr¹dowych, jak jest w†prostych uk³adach, nie daje prawid³owej informacji o†pracy wentylatora, gdyø wzrost natÍøenia pobieranego pr¹du nie zawsze úwiadczy o†spadku wydajnoúÊ wentylatora. Impulsy pr¹dowe (powsta³e w†wyniku obracania siÍ wirnika) s¹ przetwarzane na napiÍcie i†nastÍpnie podawane na wewnÍtrzny komparator uk³adu TC670, ktÛrego stan wyjúcia zmienia siÍ na wysoki, jeøeli napiÍcie na wejúciu nieodwracaj¹cym przekroczy 124 mV. Impulsy na wyjúciu komparatora, propor-
cjonalne do prÍdkoúci obrotowej wentylatora, s¹ przetwarzane na napiÍcie i†porÛwnywane z†napiÍciem na wejúciu THRESHOLD. Spadek napiÍcia poniøej zadanego progu powoduje ustawienie linii / ALERT w†stan niski, ktÛry úwiadczy o†spadku wydajnoúci wentylatora. Linia CLEAR umoøliwia zerowanie powsta³ego alarmu. Schemat elektryczny czujnika zatarcia pokazano na rys. 1. Uk³ad zosta³ dodatkowo wyposaøony w†elementy zeruj¹ce i†sygnalizuj¹ce zaistnienie alarmu. Aby po w³¹czeniu wentylatora, kiedy impulsy pr¹dowe maj¹ ma³¹ czÍstotliwoúÊ na wyprowadzeniu 5†U1 nie po-
Rys. 1. Schemat elektryczny
Rys. 2. Rozmieszczenie elementów na płytce drukowanej
Elektronika Praktyczna 11/2003
jawia³ siÍ stan niski powoduj¹cy alarm, wprowadzone zosta³o opÛünienie, ktÛre przed³uøa stan zerowania uk³adu U1. Za przed³uøenie impulsu zeruj¹cego s¹ odpowiedzialne elementy R6, C7 oraz U2D. Dodatkowy przycisk S1 umoøliwia rÍczne wyzerowanie alarmu. Rezystor R9 jest konwerterem pr¹du na napiÍcie. Impulsy napiÍciowe na tym elemencie s¹ proporcjonalne
do impulsÛw pr¹du. Pr¹d pobierany przez wentylator nie ma charakteru sta³ego, lecz impulsowy. NapiÍcie z†R9 przez C8 podawane jest na wewnÍtrzny komparator U1. Jeøeli napiÍcie z†przetwornika f/U stadnie poniøej napiÍcia zadanego przez P1, na wyprowadzeniu 5†pojawi siÍ stan niski úwiadcz¹cy o†z³ej (niewystarczaj¹cej) wydajnoúci wentylatora. Alarm pojawi siÍ takøe przy zatrzymaniu (zatarciu) wentylatora, kiedy to impulsy pr¹dowe nie bÍd¹ po-
WYKAZ ELEMENTÓW Rezystory R1, R2: 10kΩ R3: 470Ω R4: 6,8MΩ R5: 1MΩ R6...R8: 47kΩ R9(*): 2,7Ω 0,5...1W P1: heltrim 47kΩ Kondensatory C1, C4, C8: 100nF C2, C3, C7: 47µF/16V C5: 1µF stały C6: 330nF Półprzewodniki U1: TC670 U2: 4093 U3: 78L05 T1, T2: BC558 D1: LED 5mm czerwona Różne Z1, Z2: złącza ARK2 S1: przycisk typu “RESET” Q1: piezo z generatorem
P³ytka drukowana jest dostÍpna w AVT - oznaczenie AVT-1384. Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: pcb.ep.com.pl oraz na p³ycie CDEP11/2003B w katalogu PCB.
79
M I N I P R O J E K T Y dawane na wejúcie U1. Pojawienie siÍ alarmu (stanu niskiego na U1) w³¹cza generator U2B, ktÛry sterujÍ przez T1 diod¹ sygnalizacyjn¹ LED, oraz przez U2A i†T2 brzÍczykiem piezo. Na rys. 2 przedstawiono schemat montaøowy p³ytki drukowanej. Naleøy zachowaÊ duø¹ ostroønoúÊ podczas montaøu uk³adu U1, ktÛry jest dostarczany w†obudowie SMD.
Uk³ad ten naleøy jako jedyny zamontowaÊ od strony úcieøek. Po zmontowaniu czujnik wymaga prostej regulacji, ktÛr¹ naleøy dokonaÊ potencjometrem P1. RegulacjÍ czujnika najlepiej jest wykonaÊ dwuetapowo. W†pierwszej kolejnoúci potencjometrem P1 naleøy znaleüÊ prÛg, kiedy w³¹cza siÍ alarm. Mierz¹c napiÍcie na wyprowadzeniu 1†U1 otrzymamy napiÍcie, ja-
kie wystÍpuje przy pe³nej prÍdkoúci obrotowej wentylatora. NastÍpnie na wyprowadzeniu 1†U1 naleøy ustawiÊ 30% napiÍcia poprzednio zmierzonego. Czyli, jeøeli zmierzone napiÍcie dla maksymalnej prÍdkoúci obrotowej wentylatora wyniesie 1,5 V, to naleøy ustawiÊ napiÍcie rÛwne 0,45 V. Wspomnienia wymaga jeszcze dobÛr rezystora pomiarowego R9. Po-
winien on byÊ dobrany wed³ug pr¹du nominalnego zastosowanego wentylatora. Rezystor ma mieÊ tak¹ wartoúÊ, by dla danego pr¹du nominalnego wentylatora spadek napiÍcia na nim mia³ wartoúÊ 500 mV. Dla pr¹du nominalnego wentylatora 200 mA wartoúÊ rezystora R9 powinna wynosiÊ 2,4 Ω. Marcin Wi¹zania, EP
[email protected]
Programator kartridży do drukarek Epson Miesi¹c temu w†Miniprojektach przedstawiliúmy program, za pomoc¹ ktÛrego moøna modyfikowaÊ zawartoúci licznikÛw w†kartridøach drukarkowych. Korzystanie z†tego programu jest moøliwe w†przypadku wiÍkszoúci obecnie produkowanych drukarek firmy Epson. Rekomendacje: dla uøytkownikÛw nowszych i†starszych drukarek firmy Epson, a†takøe tych, ktÛrzy z†rÛønych przyczyn chc¹ unikn¹Ê manipulacji na ìorganizmieî drukarki.
Rys. 1. Schemat elektryczny interfejsu
Rys. 2. Okno programu Cartridge Tools
Prezentowane urz¹dzenie sk³ada siÍ z†prostego interfejsu sprzÍtowego (schemat elektryczny pokazano na rys. 1) oraz dostÍpnego bezp³atnie oprogramowania dla Windows. Interfejs jest do³¹czany do portu drukarkowego komputera, a†jego podstawowym zadaniem jest umoøliwienie wymiany danych pomiÍdzy
WYKAZ ELEMENTÓW Rezystory R1...R7: 1kΩ Półprzewodniki D1...D4: diody Zenera 3,3V
80
go programu wykracza poza artyku³, dlatego na CDEP11/2003B oraz na naszej stronie internetowej w†dziale Download zamieúciliúmy oryginaln¹ dokumentacjÍ w†jÍzyku angielskim. Program Cartridge Tools wyposaøono takøe w†funkcjÍ serwisow¹ (rys. 3), ktÛra umoøliwia ìrÍczneî przetestowanie dzia³ania portu drukarkowego - w†lewej czÍúci okna moøna modyfikowaÊ stany wyjúÊ D0...D7, nieco bliøej úrodka (Status line) znajduje siÍ pole, z†ktÛrego moøna odczytaÊ zawartoúÊ rejestru statusu. Andrzej Gawryluk, AVT
Rys. 3. Sekcja serwisowa programu Cartridge Tools
5-woltowym interfejsem Centronics i†kartridøami zasilanymi napiÍciem 3,3 V. Wymian¹ danych zarz¹dza ca³kowicie program, st¹d budowa interfejsu jest nad wyraz prosta (dlatego teø nie projektowano do niego p³ytki drukowanej). Oprogramowanie Cartridge Tools (widok okna dzia³aj¹cego programu pokazano na rys. 2) nie wymaga instalacji i†pracuje poprawnie z†Windows 98 i†XP (byÊ moøe takøe z†innymi, ale tego nie sprawdzono). SzczegÛ³owy opis obs³ugi te-
Artyku³ powsta³ na bazie materia³Ûw dostÍpnych na stronie www.eddiem.com.
Rys. 4. Rozmieszczenie wypro− wadzeń komunikacyjnych ty− powego kartridża drukarko− wego
Elektronika Praktyczna 11/2003
K U R S
Logika odwracalna Przełom w technice cyfrowej?
Efektem ubocznym dzia³ania wszystkich urz¹dzeÒ elektronicznych jest zamiana zasilaj¹cej je energii elektrycznej na ciep³o. Musi byÊ ono nieustannie odprowadzane, aby nie dopuúciÊ do przekroczenia maksymalnej dozwolonej temperatury pracy uk³adu i†- w†konsekwencji - jego uszkodzenia. IloúÊ ciep³a wytwarzanego przez uk³ad zaleøy od liczby elementÛw wchodz¹cych w†jego sk³ad oraz od czÍstotliwoúci zegara ustalaj¹cego rytm pracy uk³adu. Fakt ten jest dobrze znany wszystkim w³aúcicielom szybkich procesorÛw oraz zaawansowanych kart graficznych - do poprawnego dzia³ania zazwyczaj wymagaj¹ one bardzo wydajnych systemÛw ch³odzenia. W†latach szeúÊdziesi¹tych ubieg³ego wieku Gordon Moore zauwaøy³, øe wraz z†rozwojem technologii wytwarzania uk³adÛw scalonych liczba tranzystorÛw moøliwych do wykonania na ustalonej powierzchni kryszta³u pÛ³przewodnika podwaja siÍ úrednio co 18 miesiÍcy. Obserwacja ta nie ma oczywiúcie rangi prawa fizyki, lecz duøa zgodnoúÊ jej przewidywaÒ z†rzeczywistym stopniem zaawansowania technologii pÛ³przewodnikÛw uczyni³a†z†niej bardzo wygodne narzÍdzie do szacowania
Elektronika Praktyczna 11/2003
z³oøonoúci przysz³ych uk³adÛw scalonych. Na czeúÊ odkrywcy zaleønoúÊ tÍ nazwano prawem Moore'a. Nieustanne d¹øenie do zwiÍkszania czÍstotliwoúci taktowania oraz prawo Moore'a prowadz¹ do wniosku, øe iloúÊ ciep³a wytwarzanego przez przysz³e uk³ady scalone bÍdzie ros³a wraz z†rozwojem techniki. Naukowcy i†inøynierowie rozpoczÍli wiÍc intensywne badania maj¹ce na celu opracowanie nowych sposobÛw odprowadzania ciep³a. Na podstawie znacz¹cych osi¹gniÍÊ na tym polu oraz ci¹g³ego spadku zapotrzebowania na energiÍ wymagan¹ do dzia³ania pojedynczego tranzystora, bÍd¹cego efektem postÍpuj¹cej miniaturyzacji, s¹dzono, øe w†przysz³oúci produkcja ciep³a bÍdzie mog³a zostaÊ ograniczona w†dowolnym stopniu, co pozwoli unikn¹Ê powaønych problemÛw z†ch³odzeniem struktury uk³adu scalonego.
Ograniczenia termodynamiczne Przekonanie to uleg³o zmianie po opublikowaniu przez Rolfa Landauera z†centrum badawczego IBM im. Watsona wynikÛw badaÒ nad fizyczn¹ stron¹ procesu przetwarzania informacji. Sta³o siÍ jasne, øe straty spowodowane niedoskona³oúci¹ budowy uk³adu scalonego nie s¹ jedynym ürÛd³em ciep³a. Drugim jego ürÛd³em okaza³ siÍ byÊ proces kasowania informacji. Entropia informacyjna Shannona:
uk³adu mog¹cego znajdowaÊ siÍ rozrÛønialnych w†jednym stanÛw, gdzie pi jest prawdopodobieÒstwem znalezienia uk³adu w†stanie o†numerze i, jest zwi¹za-
Prezentowany artyku³, jak na dotychczasow¹ praktykÍ EP, jest nietypowy: autor porusza w†nim bowiem wy³¹cznie zagadnienia teoretyczne (ach te wzory). Nie da siÍ jednak inaczej, poniewaø uk³ady, o†ktÛrych piszemy, poza kilkoma akademickimi opracowaniami, jeszcze nie istniej¹... W†artykule przedstawiono ograniczenia fizyczne zwi¹zane z†wykonywaniem obliczeÒ maszynowych oraz wprowadzenie do obliczeÒ odwracalnych - metody umoøliwiaj¹cej rozwi¹zanie problemu produkcji ciep³a przez uk³ady elektroniczne. Przedstawiono rÛwnieø praktyczn¹ realizacjÍ tej techniki na przyk³adzie doúwiadczalnego procesora Pendulum. na z†entropi¹ termodynamiczn¹ Gibbsa wzorem:
gdzie kB=1,380*10-23 [J/K] jest sta³¹ Boltzmanna. Definicja temperatury bezwzglÍdnej T†wi¹øe zmiany entropii uk³adu ∆G ze zmianami zawartej w†nim energii cieplnej ∆Q wzorem:
St¹d w†procesach izotermicznych dostarczenie ciep³a do uk³adu powoduje zwiÍkszenie jego entropii. Istotnie, rozwaømy urz¹dze-
85
K U R S nie s³uø¹ce do przechowywania jednego bitu, a†wiÍc uk³ad mog¹cy znajdowaÊ siÍ tylko w†jednym z†dwÛch rozrÛønialnych stanÛw w†danym momencie. Poniewaø nie wiemy niczego o†pocz¹tkowym stanie uk³adu, to prawdopodobieÒstwo p0, øe znajduje siÍ on w†pierwszym stanie, jest rÛwne prawdopodobieÒstwu p1, øe znajduje siÍ on w†stanie drugim, a†wiÍc p0 =p1 =0,5. Entropia informacyjna tego uk³adu wynosi:
Przeniesienie systemu do nowego stanu oznacza, øe prawdopodobieÒstwo znalezienia go w†ø¹danym stanie wynosi 1, a†prawdopodobieÒstwo zajmowania przez uk³ad stanu przeciwnego jest rÛwne 0. Entropia uk³adu wynosi wÛwczas:
Zmiana entropii termodynamicznej wynosi wiÍc:
wiÍcej, niø teoretyczne minimum wynikaj¹ce z†zasady Landauera. WartoúÊ ta jest duøa, lecz bÍdzie ona szybko maleÊ wraz z†rozwojem technologii pÛ³przewodnikÛw. Oszacowania wynikaj¹ce z†analizy szybkoúci spadku zuøycia energii przez bramki na przestrzeni ostatnich lat wskazuj¹, øe granica Landauera zostanie osi¹gniÍta w†czasie krÛtszym niø 35 lat. Z†tego powodu w†wielu oúrodkach akademickich i†przemys³owych rozpoczÍto badania zmierzaj¹ce do opracowania technik umoøliwiaj¹cych pokonanie ograniczeÒ termodynamicznych.
Obliczenia odwracalne Fundamentalna natura nowo odkrytych ograniczeÒ uniemoøliwi³a ich bezpoúrednie pokonanie za pomoc¹ udoskonalenia technologii wytwarzania uk³adÛw scalonych. Ewentualny prze³om mÛg³ nast¹piÊ jedynie na drodze zmian w†samym sposobie prowadzenia obliczeÒ. Jedn¹ z†takich alternatyw bada³ w†1973 roku Charles Bennett, rÛwnieø pracuj¹cy w†IBM. Na podstawie zasady Landauera doszed³ on do wniosku, øe†skoro emisja ciep³a jest nieod³¹cznym skutkiem procesu kasowania informacji, to obliczenia naleøy prowadziÊ tak, by ca³a przetwarzana informacja zosta³a zachowana. Pomys³ ten zaowocowa³ powstaniem nowego sposobu przetwarzania informacji, nazwanego obliczeniami odwracalnymi.
Zgodnie z†jej definicj¹ argumentem moøe byÊ dowolny element zbioru {(0,0),(0,1),(1,0),(1,1)}. Nie zak³adamy niczego na temat roli pe³nionej przez tÍ bramkÍ w†uk³adzie, a†wiÍc musimy przyj¹Ê, øe kaødy z†argumentÛw funkcji jest jednakowo prawdopodobny:
Przed wykonaniem uk³ad ma entropiÍ:
operacji
Przeciwdziedzin¹ funkcji jest zbiÛr {0,1}, przy czym wartoúÊ 1†jest osi¹gana tylko dla argumentu (1,1), wiÍc prawdopodobieÒstwa przyjÍcia okreúlonego wyniku wynosz¹ odpowiednio p0= 3/4 i†p1=1/4. Entropia uk³adu po wykonaniu operacji to:
a†wiÍc straciliúmy Sprzed-Spo bitÛw informacji. Zgodnie z†zasad¹ Landauera oznacza to, øe podczas obliczania funkcji musia³o dojúÊ do rozproszenia energii w†postaci Z†definicji temperatury wyznaciep³a. NierÛønowartoúciowoúÊ nczamy ciep³o poch³oniÍte przez argumentowych (dla n†> 1) funuk³ad: wykcji logicznych nika wprost ze zbyt ma³ej liczby elementÛw przeciwdziedziny jest oczywiste, øe nie moøna czyli kB*T*ln 2 døuli energii zoprzyporz¹dkowaÊ kaødemu elesta³o wydzielone do otoczenia mentowi zbioru 2 n -elementowego w†postaci ciep³a. Obserwacja ta innego elementu zbioru dwuelenosi nazwÍ zasady Landauera mentowego. i†okreúla dolne ograniWynika st¹d wniosek, Entropia... czenie iloúci ciep³a, øe wynik odwracalnych ktÛre naleøy rozproszyÊ funkcji odtwarzaj¹cych n...informacyjna − nieokreśloność źródła, podczas kasowania jed- z którego są dostarczane (wysyłane) wiadomości. argumentowe operacje lonego bitu informacji. giczne bÍdzie krotk¹ ...termodynamiczna − funkcja stanu oznaczająca W†powszechnie sposk³adaj¹c¹ siÍ nie z†jedmiarę stopnia nieuporządkowania określonego tykanych zakresach temnego, lecz co najmniej n układu fizycznego, wynikająca z drugiej zasady peratur pracy uk³adÛw bitÛw. W†ogÛlnym przytermodynamiki. scalonych jest to niepadku bÍd¹ to wiÍc funzwykle ma³a energia, kcje wektorowe. np. w†temperaturze T=333 [K] Praktyczna przydatnoúÊ funkcji Dwuargumentowe operacje lo(60o†Celsjusza) wynosi ona: odwracalnych zaleøy bezpoúrednio giczne maj¹ce kluczowe znaczenie od liczby uk³adÛw cyfrowych, ktÛdla techniki cyfrowej nie s¹ niere moøna zrealizowaÊ w†oparciu stety funkcjami rÛønowartoúciowyo†nie. Sprawdümy wiÍc jak wiele mi, przez co nie mog¹ byÊ one Dla porÛwnania [3], uk³ady rodaje siÍ policzyÊ w†sposÛb odwraodwracalne - podczas wykonywadziny G12 firmy LSI Logic, wykocalny. nia obliczeÒ wystÍpuje utrata nane w†technologii CMOS 0,13µm Z†logiki matematycznej wiadoprzetwarzanej informacji. Dla przyw†wersji zasilanej napiÍciem mo, øe wszystkie jedno- i†dwuark³adu rozwaømy funkcjÍ: 1†V†zuøywaj¹ úrednio 7,1*10-15 [J] gumentowe funkcje logiczne moøna zmianÍ stanu pojedynczej na wyraziÊ za pomoc¹ operacji bramki. Jest to oko³o 2,3*106 raza NAND albo NOR (w przyk³adzie
86
Elektronika Praktyczna 11/2003
K U R S
Rys. 1. Bramka CN pokazano rekonstrukcjÍ funkcji maj¹cych najwaøniejsze znaczenie dla techniki cyfrowej):
nych. Toffoli zmodyfikowa³ wiÍc bramkÍ CN dodaj¹c do niej kolejn¹ liniÍ steruj¹c¹, uzyskuj¹c pokazan¹ na rys. 2. bramkÍ CCN (od controlled controlled NOT). Stany wejúÊ steruj¹cych C 1 oraz C 2 s¹ przenoszone przez bramkÍ bez zmian na odpowiadaj¹ce im wyjúcia C1' i†C2', a†wzÛr opisuj¹cy dzia³anie inwertera ma postaÊ:
Rys. 3. Realizacja funkcji NAND za pomocą bramki CCN
Bramka CCN umoøliwia wykonanie operacji NAND (rys. 3), a†wiÍc moøna za jej pomoc¹ obliczyÊ dowoln¹ jedno- albo dwuargumentow¹ funkcjÍ logiczn¹. Wynika st¹d, øe za pomoc¹ bramek odwracalnych da siÍ odtworzyÊ dowolny uk³ad kombinacyjny.
Rys. 4. Bramka Fredkina W†roku 1925 E. ØyliÒski udowodni³, øe NAND oraz NOR to jedyne funkcje maj¹ce tÍ w³asw†sposÛb odwracalny, a†wiÍc teonoúÊ. Wynika st¹d, øe dowolny retycznie bez rozpraszania ciep³a cyfrowy uk³ad kombinacyjny moødo otoczenia. W†przypadku barna zbudowaÊ za pomoc¹ jakichdziej z³oøonych obliczeÒ, np. zakolwiek bramek odwrawieraj¹cych pÍtle o†ciele Funkcja f jest odwracalna, jeśli dla każdego calnych wtedy i†tylko wykonywanym nieznan¹ można jednoznacznie odtworzyć wtedy, gdy da siÍ w†momencie kompilacji z†nich zbudowaÊ bramkÍ odpowiadającą mu wartość argumentu . Dzięki liczbÍ razy, z³oøenie bratej własności informacja zawarta w argumencie NAND (albo NOR). mek odwracalnych nie może zostać odzyskana, a więc podczas Historycznie najstardaje siÍ niestety bezpoobliczania funkcji f nie zachodzi utrata szym i†najprostszym rozúrednio zastosowaÊ. Koinformacji i związana z tym emisja ciepła − wi¹zaniem umoøliwiaj¹nieczne staje siÍ wiÍc obliczenia takie mogą być więc wykonywane cym zbudowanie odwrawprowadzenie odwracalprzy dowolnie małym zużyciu energii. Łatwo calnego urz¹dzenia licz¹noúci rÛwnieø na poziosprawdzić, że warunkiem koniecznym i dosta− cego jest pokazana na mie samego algorytmu tecznym odwracalności funkcji f jest jej rys. 1 bramka Toffolies³uø¹cego do obliczania różnowartościowość [1]. go. Sk³ada siÍ ona z†liinteresuj¹cej nas funkcji. nii steruj¹cej stanem inOdwracalnoúÊ dowolnego jest różnowartościowa, jeśli dla Funkcja wertera C-C', wejúcia x elementarnego kroku alróżnych argumentów przyjmuje różne wartości. oraz wyjúcia x'. Stan gorytmu nazywa siÍ odKolejnym rozwi¹zaniem umoølipanuj¹cy na wyprowadzeniu C wracalnoúci¹ lokaln¹, w†odrÛøniewiaj¹cym przeprowadzenie dowoljest przekazywany bez zmian na niu od globalnej odwracalnoúci canych obliczeÒ w†sposÛb odwracalwyprowadzenie C'. Stan wyjúcia ³ego algorytmu. Pos³uguj¹c siÍ inny jest bramka Fredkina (rys. 4). jest dany nastÍpuj¹cym wzorem: dukcj¹ matematyczn¹ moøna udoMa ona dwa wejúcia: x i†y, wyjwodniÊ, øe algorytm jest globalnie úcia x' i†y' oraz liniÍ steruj¹c¹ Codwracalny wtedy i†tylko wtedy, C'. Podobnie jak w†przypadku bragdy kaødy jego krok ma w³asnoúÊ Uk³ad ten pe³ni wiÍc rolÍ stemek Toffoliego, stan wejúcia steodwracalnoúci lokalnej. rowanego inwertera i†z†tego poworuj¹cego C jest przekazywany bez G³Ûwnymi cechami odrÛøniaj¹du nosi nazwÍ bramki CN (od zmian na wyjúcie C'. Stany wyjúÊ cymi algorytmy odwracalne od controlled NOT). Pod wzglÍdem s¹ okreúlone zaleønoúci¹: nieodwracalnych jest sposÛb profunkcjonalnym odpowiada on wadzenia obliczeÒ oraz zapotrzebramce XOR. Zgodnie z†dowodem bowanie na pamiÍÊ operacyjn¹. ØyliÒskiego bramka CN nie wyPierwszy etap dzia³ania algoryta†wiÍc bramka Fredkina pe³ni rostarcza do odtworzenia wszystkich mu odwracalnego jest taki sam, jak lÍ prze³¹cznika sterowanego stadwuargumentowych funkcji logiczw†przypadku metod klasycznych: nem linii C. dane dostarczone przez uøytkowniBramka Fredkina rÛwnieø ka s¹ w†odpowiedni sposÛb przeumoøliwia obliczenie funkcji NAND, lecz realizuj¹cy j¹ uk³ad (rys. 5) jest bardziej skomplikowany, niø w†przypadku implementacji wykorzystuj¹cej bramkÍ CCN. Powyøsze przyk³ady pokaza³y, øe jest moøliwe obliczenie prosRys. 5. Realizacja funkcji NAND tych funkcji nieodwracalnych Rys. 2. Bramka CCN za pomocą bramek Fredkina
Elektronika Praktyczna 11/2003
87
K U R S przez zaprojektowanie odwracalnego zbioru instrukcji, wykonywanych przez odwracalny uk³ad sprzÍtowy. DziÍki temu kierunek przep³ywu sterowania moøe zostaÊ zmieniony na dowolnym etapie dzia³ania programu - wÛwczas procesor rozpocznie proces przekszta³cania wyniku na dane wejúciowe. Korzystnym efektem ubocznym moøliwoúci cofania biegu programu o†dowoln¹ liczbÍ krokÛw jest znaczne u³atwienie wyszukiwania b³ÍdÛw†w†jego kodzie, co jest barFot. 6. Pendulum − pierwszy dzo istotne dla twÛrcÛw oprograprocesor wykonany na bazie mowania. logiki odwracalnej OprÛcz wykorzystania obliczeÒ odwracalnych w†klasyczPendulum − fakty kszta³cane na wynik. Po nych technikach przetwaMikroprocesor Pendulum składa się z 200000 jego uzyskaniu procedurzania informacji pe³ni¹ ra nieodwracalna nie- tranzystorów, ma 180 wyprowadzeń (w tym 32 one kluczow¹ rolÍ w†obsłużą do doprowadzenia zasilania do struktury) zw³ocznie koÒczy dzia³aliczeniach kwantowych. i może być programowany za pomocą 18 nie. Dzia³anie algorytmu Ewolucja uk³adu bitÛw instrukcji. Jednostka sterująca Pendulum odwracalnego jest inne. kwantowych jest okreúloobsługuje 74−stopniowy potok przyspieszający Uzyskany wynik jest kona przez operatory uniobliczenia. piowany do úrodowiska tarne maj¹ce w³asnoúÊ zewnÍtrznego i†przekazylokalnej odwracalnoúci, wany uøytkownikowi, po czym nadziÍki czemu jest ona odwracalna oznacza jednak wyk³adnicze stÍpuje odwrÛcenie kierunku przeglobalnie. (w†najgorszym przypadku) wyd³up³ywu sterowania i†algorytm jest Piotr Wyderski øenie czasu obliczeÒ, co zwykle wykonywany wstecz, przekszta³cajest nieakceptowalne. Znaczenie j¹c wynik z†powrotem na dane Bibliografia: praktyczne tego wyniku jest wiÍc 1. Rasiowa H., WstÍp do matematyki wejúciowe. niewielkie. wspÛ³czesnej, PWN, Warszawa, 1998 Po zakoÒczeniu tego procesu Zastosowania praktyczne 2. Smith W. D., Fundamental physiprogram oraz maszyna znajduj¹ Pierwsze prÛby zbudowania cal limits on computation, http:// siÍ w†tym samym stanie, w†ktÛciteseer.nj.nec.com/smith95fundadoúwiadczalnych uk³adÛw scalorym by³y one przed rozpoczÍmental.html nych realizuj¹cych obliczenia odciem obliczeÒ. PrzywrÛcenie sta3. Smith W. D., Notes on reversible wracalne podjÍto w†latach 1995nu pocz¹tkowego oznacza, øe cacomputation, http://citeseer.nj.nec.1999 w†Massachusetts Institute of ³a przekszta³cana informacja zocom/smith98notes.html Technology. ZespÛ³ naukowcÛw sta³a zachowana, a†wiÍc oblicze4. Li M., Vitanyi P., Reversibility and pracuj¹cy pod kierunkiem Minia mog³y zostaÊ przeprowadzoadiabatic computation: trading time chaela P. Franka zaprojektowa³ ne bez wydzielenia ciep³a do and space for energy, http://citem.in. pierwszy odwracalny mikrootoczenia. seer.nj.nec.com/li96reversibility.html procesor RISC, ktÛremu nadano PowtÛrne wykorzystanie zaso5. Lange K., McKenzie P., Tapp A., nazwÍ Pendulum (wahad³o). bÛw sprzÍtowych procesora odwraReversible space equals determiUk³ad ten wykonano w†technolocalnego, bÍd¹ce niezbÍdnym wanistic space, http://citeseer.nj.nec.gii SCRL (Split-level Charge Rerunkiem moøliwoúci jego praktyczcom/lange98reversible.html covery Logic - przedstawimy j¹ nego zastosowania, wymusza zapa6. Abramsky S., A†structural apw†jednym z†najbliøszych numerÛw miÍtanie informacji potrzebnej do proach to reversible computation, - Red.). odwrÛcenia obliczeÒ. Z†tego powohttp://citeseer.nj.nec.com/abramsWymaganie pe³nej odwracalnoúdu algorytmy odwracalne wymagaky01structural.html ci obliczeÒ zosta³o spe³nione poj¹ dodatkowej porcji pamiÍci operacyjnej na przechowywanie wynikÛw poúrednich. Rozmiar tej pamiÍci zaleøy od liczby t wykonanych krokÛw elementarnych. Intuicja podpowiada, øe zaleønoúÊ ta powinna byÊ ograniczona od do³u przez funkcjÍ liniow¹ wzglÍdem t, lecz szczegÛ³owe badania teoretyczne [4, 5] obniøy³y†to oszacowanie do Ω(log t). Zachodzi przy tym ciekawy zwi¹zek miÍdzy czasem potrzebnym na wykonanie obliczeÒ oraz zuøyciem pamiÍci im mniej dodatkowej pamiÍci jesteúmy sk³onni przeznaczyÊ, tym d³uøej musz¹ potrwaʆobliczenia. Osi¹gniÍcie teoretycznego minimum zapotrzebowania na pamiÍÊ
88
Elektronika Praktyczna 11/2003
K U R S
Pamięci nieulotne w systemach mikroprocesorowych, część 2 Przechowywanie danych w†wewnÍtrznej pamiÍci EEPROM mikrokontrolera (AT89S8252, AT90S2313)
Konstruuj¹c urz¹dzenia z†mikrokontrolerami, czÍsto stajemy
Do przechowywania danych nastaw, napisÛw, zmiennych definiowanych przez uøytkownika i†tym podobnych doskonale nadaje siÍ wbudowana w†strukturÍ mikrokontrolera AT89S8252 pamiÍÊ EEPROM. Ma ona duø¹ jak na úwiat mikrokontrolerÛw pojemnoúci - ìaøî 2†kB. Podobnie jak w†przypadku wbudowanej w†strukturÍ pamiÍci RAM, nie wymaga øadnych dodatkowych uk³adÛw dekodera adresu, dodatkowego napiÍcia zasilaj¹cego itp. Producent gwarantuje co najmniej 100 tysiÍcy cykli zapisu/odczytu, co przy przeciÍtnym uøytkowaniu wystarcza na co najmniej kilka lat. WewnÍtrzna pamiÍÊ EEPROM umieszczona zosta³a przez producenta w†obszarze XDATA. DostÍp do niej odbywa siÍ za pomoc¹ rozkazu MOVX z†adresem komÛrki w†rejestrze DPTR. Oczywiúcie rozkaz MOVX s³uøy rÛwnieø do dostÍpu do urz¹dzeÒ pod³¹czonych na zewn¹trz mikrokontrolera i†dlatego teø producent wprowadzi³ dodatkowy bit o†nazwie EEMEN umoøliwiaj¹cy wybÛr zgodnego z†intencj¹ programisty sposobu dzia³ania MOVX. Ustawienie bitu powoduje, øe rozkaz ten zapisuje/odczytuje dane do/z wewnÍtrznego EEPROM. Odczyt danych jest bardzo szybki, gorzej jest z†zapisem. WewnÍtrzny uk³ad kontrolera EEPROM umoøliwia dostÍp do pojedynczego bajtu danych. Kaøda operacja zapisu zwi¹zana jest prawdopodobnie z†koniecznoúci¹ ustawienia wszystkich bi-
po wy³¹czeniu lub zaniku zasilania. £atwo jest, jeúli s¹ to
przed koniecznoúci¹ zapewnienia przechowywania danych takøe
takie sta³e jak: napisy menu (dla przyk³adu w†rÛønych jÍzykach), obrazy, sta³e parametry nastaw. Gorzej, jeúli musimy przechowaÊ zmienne. Jeszcze trudniej, gdy musz¹ one byÊ zapamiÍtane rÛwnieø w†przypadku awarii napiÍcia zasilania.
Rys. 5. Przykład połączenia TC58128−AFT z mikrokontrolerem AVR
Tab. 1. Zestawienie pamięci Flash−NAND produkcji firmy Toshiba Nazwa
TC58V64BFT TC58V64BFTI TC58DVM72F1FT00 TC58128AFT TC58128AFTI TC581282AXB TC58DVM72A1FT00 TC58DVM82F1FT00 TC58256AFT TC58256AFTI TC582562AXB TC58DVM82A1FT00 TC58DVM82A1XBJ1 TC58512FT TC58512FTI TC58DVM92A1FT00 TH58100FT TC58DVG02A1FT00 TC58NVG0S3AFT05 TH58100FTI TH58NVG1S3AFT05
Org.
Obudowa
Zasilanie
8M X 8 8M X 8 8M X 16 16M X 8 16M X 8 16M X 8 16M X 8 16M X 16 32M X 8 32M X 8 32M X 8 32M X 8 32M X 8 64M X 8 64M X 8 64M X 8 128M X 8 128M X 8 128M X 8 128M X 8 256M x 8
TSOP-II 44 wypr. TSOP-II 44 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr. TFBGA-56 TSOP-I 48 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr. TFBGA-56 TSOP-I 48 wypr. TFBGA-56 TSOP-I 48 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr. TSOP-I 48 wypr.
2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V 2,7V do 3,6V
Elektronika Praktyczna 11/2003
Rozmiar strony [B] 528 528 264 528 528 528 528 264 528 528 528 528 528 528 528 528 528 528 2112 528 2112
Rozmiar bloku [kB] 8 8 8 16 16 16 16 8 16 16 16 16 16 16 16 16 16 16 128 16 128k
tÛw w†s³owie. PiszÍ prawdopodobnie, poniewaø nie posiadam informacji na temat szczegÛ³Ûw funkcjonowania operacji zapisu i†nie wiem, czy ustawiane s¹ wszystkie bity s³owa (przed zapisem komÛrka musi zawieraÊ ì1î na pozycjach ì1î zapisywanego s³owa danych), czy tylko te, dla ktÛrych operacja ta jest niezbÍdna. Tak czy inaczej, operacja zapisu pojedynczego bajtu trwa oko³o 1†ms. Jej zakoÒczenie sygnalizowane jest przez wyzerowanie bitu BSY/RDY umieszczonego w†rejestrze WMCON. Na list. 2 (EP10/ 2003) przedstawiono fragment programu odpowiedzialny za zapis i†odczyt danych w†pamiÍci EEPROM mikrokontrolera AT89S8252, a†na list. 3 (EP10/2003) przyk³ady ich uøycia. W†podobny sposÛb moøna uzyskaÊ dostÍp do pamiÍci EEPROM wbudowanej w†strukturÍ mikrokontrolera AT90S2313. Bity kontrolne, sposÛb ich funkcjonowania oraz nazwy s¹ takie same, jak dla AT89. Zupe³nie inne s¹ jednak nazwy rejestrÛw specjalnych. Na list. 3 pokazano przyk³adowe funkcje zapisuj¹ce i†odczytuj¹ce bajt do/z pamiÍci EEPROM. Niestety - ten typ mikrokontrolera posiada wbudowane tylko 128 bajtÛw EEPROM.
89
K U R S Podobnie jak w†przypadku pamiÍci RAM, rÛwnieø i†EEPROM moøe przechowywaÊ zmienne i†nastawy waøne dla funkcjonowania aplikacji. Ze wzglÍdu jednak na ograniczon¹ liczbÍ cykli zapisu/odczytu, wszelkich zmian powinno siÍ dokonywaÊ na zmiennej znajduj¹cej siÍ w†pamiÍci RAM a†jedynie w†przypadku zaniku napiÍcia zasilania czy teø jego za³¹czenia, operacje zmienne powinny zostaÊ zapamiÍtane czy odtworzone z†pamiÍci EEPROM. Dla wyd³uøenia øywotnoúci urz¹dzenia, pamiÍci tej powinno siÍ uøywaÊ tak rzadko, jak to tylko jest moøliwe.
Wykorzystanie zewnÍtrznej pamiÍci Flash do przechowywania danych
List. 5. Przykład realizacji programowego interfejsu do obsługi pamięci Flash TC58128 #define PAGE_SIZE 528 #define PAGES_PER_BLOCK 32 #define BLOCK_PER_FLASH 1024;
// rozmiar strony // liczba stron w bloku dla danego typu NAND // liczba bloków na pamięć
at 0x00 pdata FLASH_BASE;
// adres bazowy pamięci FLASH
#define #define #define #define #define #define #define #define
Wprowadzanie danych (Serial Data Input) Tryb odczytu numer 1 (Read Mode 1) Tryb odczytu numer 2 (Read Mode 2) Tryb odczytu numer 3 (Read Mode 3) Zerowanie kontrolera (Reset) Programowanie strony (Auto Program) Kasowanie bloku danych (Auto Block Erase) Odczyt statusu (Status Read) Odczyt sygnatury (ID Read)
90
wyprowadzenie BUSY pamięci FLASH ustawienie sygnału CLE pamięci FLASH zerowanie sygnału CLE pamięci FLASH ustawienie sygnału ALE pamięci FLASH zerowanie sygnału CLE pamięci FLASH pętla - oczekiwanie na gotowość FLASH ustawienie sygnału CE pamięci FLASH zerowanie sygnału CE pamięci FLASH
/* odczyt kodu wytwórcy i kodu pamięci FLASH (odczyt sygnatury, PDF file str.14); starszy bajt zawiera kod wytwórcy, młodszy kod urzšdzenia (rodzaju FLASH) */ WORD F_ReadStatus(void) { int temp; FLASH_ALE_CLR; // wyzerowanie sygnału ALE FLASH_CLE_SET; // ustawienie sygnału CLE FLASH_CE_CLR; // zerowanie sygnału CS pamięci FLASH, wybór pamięci FLASH_BASE = 0x90; // zapis bajtu 0x90 do pamięci FLASH-1 FLASH_CLE_CLR; // wyzerowanie sygnału CLE FLASH_ALE_SET; // ustawienie sygnału ALE FLASH_BASE = 0; // zapis bajtu o wartości 0x00 do FLASH FLASH_ALE_CLR; // wyzerowanie sygnału ALE temp = (int)FLASH_BASE; // zapis do zmiennej temp wartości bajtu pobranego z FLASH temp <<= 8; // kod wytwórcy temp |= (int)FLASH_BASE; // dodanie do słowa sygnatury FLASH_CE_SET; // wyłączenie pamięci FLASH poprzez ustawienie sygnału CE return (temp); // funkcja zwraca bajt sygnatury FLASH } // odczyt strony o rozmiarze PAGE_SIZE z pamięci FLASH (sequential read (1), str.11 w PDF) short FLASH_ReadPage(WORD wPageNum, char *pBuff) { int temp; if (!FLASH_READY) return (-1); // jeśli pamięć nie gotowa funkcja kończy prace i zwraca -1 FLASH_ALE_CLR; // zerowanie sygnału ALE FLASH_CE_CLR; // załączenie wyboru pamięci FLASH-1 (zerowanie sygnału CE) FLASH_CLE_SET; // ustawienie sygnału CLE FLASH_BASE = 0; // zapis bajtu o wartości 0x00 do FLASH, wybór trybu 1 FLASH_CLE_CLR; // wyzerowanie sygnału CLE FLASH_ALE_SET; // ustawienie sygnału ALE FLASH_BASE = 0; // ustawienie adresu kolumny w pamięci FLASH na 0x00 FLASH_BASE = (unsigned char)wPageNum; // zapis młodszego bajtu adresu strony FLASH_BASE = (unsigned char)(wPageNum>>8); // zapis starszego bajtu adresu strony FLASH_ALE_CLR; // zerowanie sygnału ALE WAIT_4_READY; // oczekiwanie na zakończenie operacji przez FLASH for (temp = 0; temp < PAGE_SIZE; temp++) *pBuff++ = FLASH_BASE; // pobranie kolejnych bajtów FLASH_CE_SET; // wyłączenie pamięci poprzez ustawienie sygnału wyboru return (0); // jeśli wykonanie zakończyło się sukcesem f.zwraca 0x00
Tab. 2. Wykaz poleceń akceptowa− nych przez kontroler pamięci TC58 1-szy 2-gi bajt bajt
// // // // // // // //
#define WORD unsigned int #define BYTE unsigned char
O†ile opisywane wczeúniej rozwi¹zania mog¹ pos³uøyÊ do zapamiÍtywania danych w†sytuacji awaryjnej, o†tyle uøycie pamiÍci Flash o†duøej pojemnoúci wi¹øe siÍ najczÍúciej z†koniecznoúci¹ budowy czegoú w†rodzaju ìdysku krzemowegoî do przechowywania: obrazÛw, przetworzonego na postaÊ cyfrow¹ düwiÍku i†innych. Gwa³towny rozwÛj pamiÍci Flash w†ostatnich latach zosta³ zapocz¹tkowany g³Ûwnie przez aplikacje zwi¹zane z†telekomunikacj¹, a†úciúlej z†telefonami GSM. WspÛ³czesny telefon wyposaøony jest bardzo czÍsto w†kilka lub kilkadziesi¹t MB pamiÍci Flash s³uø¹cej do przechowywania komunikatÛw SMS, nagraÒ, plikÛw†zawieraj¹cych muzykÍ czy obrazy. Jako przyk³ad uk³adÛw przeznaczonych do takich w³aúnie zastosowaÒ, chcÍ zaprezentowaÊ rodzinÍ uk³adÛw firmy Toshiba (TAEC) oznaczonych symbolem TC58. Wykaz pamiÍci Flash-NAND produkowanych przez tÍ firmÍ znajduje siÍ w†tab. 1. Wbrew pozorom, wykonanie interfejsu do obs³ugi pamiÍci Flash nie jest trudne. Innym zagadnieniem jest ewentualne wykonanie systemu plikÛw na wzÛr†tego stosowanego przy zapisie dyskÛw (czy dyskietek) w†systemach operacyjnych ìduøychî komputerÛw, jak na
Opis polecenia
FLASH_READY (PINC & 0x80) FLASH_CLE_SET PORTC = PORTC | 0x40 FLASH_CLE_CLR PORTC = PINC & (~0x20) FLASH_ALE_SET PORTC = PORTC | 0x20 FLASH_ALE_CLR PORTC = PINC & (~0x20) WAIT_4_READY while (!FLASH_READY) FLASH_CE_SET PORTC = PORTC | 0x10 FLASE_CE_CLR PORTC = PINC & (~0x10)
Akceptowane w stanie zajêtoœci?
0x80
-
nie
0x00
-
nie
0x01
-
nie
0x50
-
nie
0xFF
-
tak
0x10
-
nie
0x60 0xD0
nie
0x70
-
tak
0x90
-
nie
} /* odczyt części strony pamięci FLASH w trybie 1,2 lub 3; tryb wybierany jest w zależności od rozmiaru parametru OFFSET (PDF strony 11 i 12) */ short FLASH_ReadPartialPage(WORD wPageNum, void *pBuff, WORD offset, WORD length) { short temp; // zmienna tymczasowa; wykorzystana do inkrementacji adresu BYTE command; // zmienna zawierająca komendę *pBuffer = (BYTE*)pBuff; // wskaźnik do bufora w pamięci RAM if (offset + length > PAGE_SIZE) return (-1); // jeśli offset i liczba bajtów do // odczytu są większe od rozmiaru strony, funkcja kończy prace // zwracając kod błędu if (offset < 256) // jeśli offset jest mniejszy od 256, wybierany jest tryb 1 command = 0; // (command = 0) else if (offset < 512) // jeśli offset jest większy od 256 ale mniejszy od 512, command = 1; // wybierany jest tryb 2 (command = 1) else // w innych przypadkach wybierany jest tryb 3 (command = 50H) command = 0x50; if (!FLASH_READY) return (-1); // pamięć jest zajęta, f.kończy pracę zwracając kod błędu // poniższa część kodu jest wspólna dla wszystkich trybów pracy - różnią się one tylko // 1-szym bajtem komendy FLASH_ALE_CLR; // wyzerowanie sygnału ALE FLASH_CE_CLR; // wybór (załączenie) pamięci FLASH
Elektronika Praktyczna 11/2003
K U R S List. 5 − cd. FLASH_CLE_SET; // ustawienie sygnału CLE FLASH_BASE = command; // wysłanie do pamięci FLASH bajtu komendy wybranego na // podstawie wartości argumentu OFFSET FLASH_CLE_CLR; // zerowanie sygnału CLE FLASH_ALE_SET; // ustawienie sygnału ALE FLASH_BASE = offset; // zapis bajtu adresu kolumny do pamięci FLASH FLASH_BASE = (unsigned char)wPageNum; // zapis młodszego bajtu numeru strony FLASH FLASH_BASE = (unsigned char)(wPageNum>>8); // zapis starszego bajtu numeru strony FLASH FLASH_ALE_CLR; // wyzerowanie sygnału ALE WAIT_4_READY; // oczekiwanie na ustawienie sygnału BUSY length += offset; // dodanie do wartości LENGHT wartości OFFSET, to będzie // adres liniowy w pamięci FLASH for (temp = offset; temp < length; temp++) { // odczyt LENGTH bajtów z pamięci FLASH *pBuffer++ = FLASH_BASE; WAIT_4_READY; // po odczycie każdego bajtu czekamy na ustawienie READY } FLASH_CE_SET; // wyłączenie pamięci return(0); } /* zapis danych o rozmiarze pojedynczej strony do pamięci FLASH */ short FLASH_WritePage(WORD wPageNum, char *pBuff) { int temp; BYTE status; if (!FLASH_READY) return (-1); // pamiec nie gotowa, f.kończy prace i zwraca kod błędu FLASH_ALE_CLR; // zerowanie sygnału ALE FLASH_CLE_SET; // ustawienie sygnału CLE FLASH_CE_CLR; // załączenie układu pamięci FLASH FLASH_BASE = 0x80; // zapis komendy 80H do FLASH-1 (serial input) FLASH_ALE_SET; // ustawienie sygnału ALE FLASH_CLE_CLR; // wyzerowanie sygnału CLE FLASH_BASE = 0; // ustawienie adresu kolumny na wartość 0 FLASH_BASE = (unsigned char)wPageNum; // zapis młodszego bajtu numeru strony do FLASH FLASH_BASE = (unsigned char)(wPageNum>>8); // zapis starszego bajtu numeru strony do FLASH FLASH_ALE_CLR; // wyzerowanie sygnału ALE WAIT_4_READY; // oczekiwanie na zgłoszenie gotowości przez FLASH // zapis PAGE_SIZE bajtów do pamięci FLASH for (temp = 0; temp < PAGE_SIZE; temp++) FLASH_BASE = *pBuff++; FLASH_CLE_SET; // ustawienie sygnału CLE FLASH_BASE = 0x10; // zapis komendy "koniec programowania" WAIT_4_READY; // oczekiwanie na gotowość FLASH FLASH_BASE = 0x70; // zapis komendy "status read", ustawienie FLASH w // "status read mode" FLASH_CLE_CLR; // zerowanie sygnału CLE status = FLASH_BASE; // pobranie bajtu statusu FLASH_CE_SET; // wyłączenie FLASH poprzez ustawienie jej sygnału wyboru if (status&1) return (-2); // jeśli ustawiony jest bit FAIL (strona 20 PDF), // funkcja zwraca kod bledu return (0); // w przeciwnym wypadku zwracane jest 0x00 } /* kasowanie bloku o numerze wBlockNum w pamięci FLASH (auto block erase, PDF str. 13) */ short FLASH_EraseBlock(WORD wBlockNum) { BYTE status; /* adresy bloków dla pamięci TC58128 podawane sa na liniach od A14 do A23; wymaga to przesunięcia argumentu wBlockNum o 5 miejsc w lewo; inaczej jest dla pamięci TC5832 i 64; tu adres podawany jest na liniach A13 do A21 - wymaga to przesunięcia adresu w lewo o 4 miejsca (PDF strona 16); w tej sytuacji opisywany w PDF "NAND address in block" jest równy 0x00 */ wBlockNum<<=5; // przesuniecie dla TC58128 FLASH_ALE_CLR; // zerowanie sygnału ALE FLASH_CLE_SET; // zerowanie sygnału CLE FLASH_CE_CLR; // wybór (załączenie) pamięci FLASH FLASH_BASE = 0x60; // zapis instrukcji "erase setup" FLASH_ALE_SET; // ustawienie sygnału ALE FLASH_CLE_CLR; // zerowanie sygnału CLE FLASH_BASE = (unsigned char)wBlockNum; // zapis młodszego bajtu numeru bloku FLASH_BASE = (unsigned char)(wBlockNum>>8); // zapis starszego bajtu numeru bloku FLASH_ALE_CLR; // zerowanie sygnału ALE FLASH_CLE_SET; // zerowanie sygnału CLE FLASH_BASE = 0xD0; // zapis polecenia "erase start" FLASH_CLE_CLR; // zerowanie sygnału CLE WAIT_4_READY; // oczekiwanie na gotowość pamięci NAND FLASH_CLE_SET; // ustawienie sygnału CLE FLASH_BASE = 0x70; // zapis polecenia "status read" FLASH_CLE_CLR; // zerowanie sygnału CLE status = FLASH_BASE; // odczyt bajtu statusu FLASH_CE_SET; // wyłączenie pamięci FLASH poprzez ustawienie sygnału wyboru if (status & 1) return (-2); // jeśli ustawiony jest bit FAIL w słowie statusu, to // funkcja zwraca błąd return (0); // w przeciwnym wypadku zwracane jest 0x00 }
Elektronika Praktyczna 11/2003
przyk³ad antyczne juø dziú CP/M czy DOS. To moøe byÊ dosyÊ skomplikowane. Jeúli jednak chcemy przechowywaÊ dane w†postaci rekordÛw adresowanych liniowo, czy wreszcie duøych bitmap przechowywanych pod okreúlonym adresem - moøna to zrobiÊ szybko i†efektywnie. PamiÍci - jak ³atwo zorientowaÊ siÍ z†tab. 1†- zasilane s¹ napiÍciem od 2,7 do 3,6V. Taki wybÛr zakresu napiÍÊ zasilania podyktowany by³ przede wszystkim przeznaczeniem pamiÍci do urz¹dzeÒ przenoúnych zasilanych z†baterii. W†przesz³oúci firma Toshiba produkowa³a rÛwnieø pamiÍci zasilane napiÍciem 5†V, jednak ich produkcja zosta³a zaniechana. Detekcja poziomÛw logicznych jest zgodna ze standardem CMOS - tak wiÍc stan wysoki na wejúciu czy wyjúciu pamiÍci to oko³o 95% wartoúci napiÍcia zasilaj¹cego (przeciÍtnie oko³o†3,1 V†dla Ucc=3,3 V), a†stan niski to napiÍcie mniejsze niø 0,4 V. Czasami pod³¹czaj¹c TC58 do systemu z†mikrokontrolerem naleøy zbudowaÊ dekoder adresÛw i†umieúciÊ j¹ w†obszarze adresowym XDATA przydzielaj¹c jej pewien, zaleøny od rozmiaru pamiÍci, zakres adresÛw. NiektÛre uk³ady mikrokontrolerÛw maj¹ dekoder adresowy wbudowany w†strukturÍ, dla innych trzeba go wykonaÊ na uk³adach dyskretnych. Popularny mikrokontroler z†rodziny 8051/8052 moøe rÛwnieø wymagaÊ zastosowania dodatkowego rejestru zapamiÍtuj¹cego m³odsz¹ czÍúÊ adresu. Dodatkowego sterowania wymagaj¹ rÛwnieø wyprowadzenia pamiÍci takie jak: RE (Read Enable), WE (Write Enable), CLE (Command Latch Enable), ALE (Address Latch Enable) i†RY/BY (Ready/Busy). Naleøy rÛwnieø pamiÍtaÊ o†tym, øe pamiÍÊ nie moøe byÊ zasilana napiÍciem wyøszym niø 3,6 V, a†optymaln¹ wartoúci¹ jest 3,3 V. O†ile w†przypadku mikrokontrolerÛw AVR nie jest to problem, o†tyle dla uk³adÛw z†serii 8051 moøe nim byÊ. Uøywany we wczeúniejszych przyk³adach programowania AT89S8252 ma minimalne dopuszczalne napiÍcie zasilaj¹ce 4†V, w†zwi¹zku z†czym konieczny jest uk³ad translacji poziomÛw napiÍÊ. Na rys. 5 przedstawiono propozycjÍ pod³¹czenia pamiÍci Flash TC58128-AFT do mikrokontrolera Atmega8535. Jak widzimy, sprzÍtowy interfejs pamiÍci TC58128 (128 Mb) nie nastrÍcza zbyt wielu k³opotÛw przy wykonaniu. Szyna danych pamiÍci jest multipleksowana z†szyn¹ adresow¹. S³owo adresowe, wprowadzane jest w†3†ìporcjachî po 8†bitÛw. S³owo danych ma d³ugoúÊ 8†bitÛw, toteø 8-bitowy AVR nie ma øadnego k³opotu z†jego odczytem. Oba uk³ady (mikrokontroler i†pamiÍÊ Flash) zasilane s¹ z†napiÍcia 3,3 V. DziÍki temu nie jest konieczne wykonywanie translacji poziomÛw napiÍÊ logicznych. W†projektowaniu i†implementacji interfejsu programowego pomaga uwaøna lektura kart katalogowych. Struktura pamiÍci uøywanej w†przyk³adzie to 528 bajtÛw x†32 strony x†1024 bloki. PamiÍÊ posiada wewnÍtrzny rejestr statyczny o†d³ugoúci 528 bajtÛw s³uø¹cy jako bufor do wymiany danych podczas operacji zapisu/odczytu. Funkcja kasowania zosta³a
91
K U R S Tab. 3. Wybrane pamięci Flash produkcji AMD (obecnie Spansion) Pojemnoœæ
Nazwa
Opis
Obudowa
16Mb
Am29LV160MT/B
48 FBGA, 64 Fortified BGA
16Mb 16Mb
Am29LV017M Am29LV116M
32Mb 32Mb
Am29LV320MH/L Am29LV320MT/B
32Mb 64Mb 64Mb
Am29LV033MU Am29LV640MH/L Am29LV640MT/B
64Mb 64Mb 64Mb 128Mb 256Mb 512Mb
Am29LV640MU Am29LV641MH/L Am29LV065MU Am29LV128MH/L Am29LV256MH/L Am29LV512NH/L
z czêœci¹ Boot; magistrala danych x8 lub x16; organizacja 1x16kB, 2x8kB, 1x32kB, 15x64kB; 70, 90 i 120ns 16Mb, magistrala danych x8; jednolity blok; 70, 90 i 120ns z czêœci¹ Boot; magistrala danych x8 lub x16; organizacja 1x16kB, 2x8kB, 1x32kB, 15x64kB; 70, 90 i 120ns 64kB, magistrala danych x8 lub x16; jednolity blok; 90, 100, 110 i 120ns z czêœci¹ Boot; magistrala danych x8 lub x16; organizacja 64kB (boot 2x8kB na "górze" i "dole" przestrzeni adresowej); 90, 100, 110 i 120ns 64kB, magistrala danych x8 lub x16; jednolity blok; 90, 100, 110 i 120ns 64kB, magistrala danych x8 lub x16; jednolity blok; 90, 100, 110 i 120ns z czêœci¹ Boot; magistrala danych x8 lub x16; organizacja 64kB (boot 2x8kB na "górze" i "dole" przestrzeni adresowej); 90, 100, 110 i 120ns 32kWord, x16; jednolity blok; 90, 100, 110 i 120ns 32kWord, x16; jednolity blok; 90, 100, 110 i 120ns 64kB, x8; jednolity blok; 90, 100, 110 i 120ns 64kB, magistrala danych x8 lub x16; jednolity blok; 90, 100, 110 i 120ns 64kB, magistrala danych x8 lub x16; jednolity blok; 90, 100, 110 i 120ns 128kB, magistrala danych x8 lub x16; jednolity blok; 90, 100, 110 i 120ns
zaimplementowana dla pojedynczego bloku (528 bajtÛw x†32 strony). Tutaj s³owo wyjaúnienia. KomÛrka pamiÍci Flash przed zapisem wymaga, aby wszystkie bity s³owa lub co najmniej te, ktÛre maj¹ mieÊ po zapisie wartoúÊ logiczn¹ ì1î, by³y ustawione. W†tym celu kaøda z†pamiÍci Flash ma zaimplementowan¹ funkcjÍ sprzÍtowego kasowania, najczÍúciej bloku lub strony, powoduj¹c¹ ustawienie wszystkich bitÛw w†zadanym obszarze na wartoúÊ ì1î. PamiÍtajmy - operacja zapisu musi byÊ poprzedzona kasowaniem! Kaøda z†pamiÍci TC58 posiada wbudowany w†strukturÍ kontroler zdolny do interpretacji i†wykonywania prostych rozkazÛw. On jest odpowiedzialny za kasowanie bloku oraz za w³aúciw¹ interpretacjÍ wprowadzanego bloku danych. Lista realizowanych poleceÒ nie jest zbyt obszerna, jednak do pe³nego zrozumienia
wymaga lektury sekwencji czasowych. Nie umieszczÍ ich w†tym artykule ze wzglÍdu na szczup³oúÊ miejsca - proponujÍ siÍgn¹Ê do karty katalogowej. W†tab. 2 znajduje siÍ uproszczony wykaz dostÍpnych rozkazÛw. Przyk³adow¹ implementacjÍ interfejsu programowego do obs³ugi pamiÍci Flash typu TC58128 w†jÍzyku C†zawiera list. 5.
Perspektywy Znaj¹c tempo rozwoju pamiÍci Flash s¹dzÍ, øe od momentu napisania do ukazania siÍ tego artyku³u, pojawi¹ siÍ na rynku nowe produkty, a†pewne informacje stan¹ siÍ nieaktualne. Moim zdaniem, pamiÍci Flash zast¹pi¹ dyski twarde w†komputerach PC. Pierwsze produkty tego typu moøna juø kupiÊ w†sklepach, jednak dyski Flash o†duøej pojemnoúci s¹ ci¹gle zbyt drogie w†porÛwnaniu z†ich
Tab. 4. Wybrane pamięci Flash produkcji firmy STM Pojemnoœæ
Nazwa
Opis
Obudowa
16Mb 32Mb 64Mb
M29KW016E M29KW032E M29KW064E
16Mb (x16), 90ns, jednolity blok 32Mb (x16), 90ns, jednolity blok 32Mb (x16), 90ns, jednolity blok
TSOP48, SO44, TFBGA48 TSOP48, TFBGA48 TSOP48, TFBGA48
92
48 FBGA, 40 TSOP/RTSOP 40 TSOP/RTSOP 26008 64 Fortified BGA, 56 TSOP/RTSOP 48 FBGA, 64 Fortified BGA, 48 TSOP 48 FBGA, 40 TSOP/RTSOP Fortified BGA, 56 TSOP/RTSOP 48 FBGA, 64 Fortified BGA,48 TSOP 63 FBGA, 64 Fortified BGA 48 TSOP/RTSOP 63 FBGA, 48 TSOP/RTSOP 64 Fortified BGA, 56 TSOP/RTSOP 64 Fortified BGA, 56 TSOP/RTSOP 64 Fortified BGA, 56 TSOP/RTSOP
tradycyjnymi odpowiednikami. S¹dzÍ, øe to jednak tylko kwestia czasu i†opracowania odpowiednio tanich technologii. Ogromne zapotrzebowanie na pamiÍci typu Flash jest powodem, dla†ktÛrego stale s¹ one udoskonalane. Nie mam tu na myúli bynajmniej tylko komputerÛw PC, ale rÛwnieø rÛøne nowoczesne ìzabawkiî: telefony komÛrkowe, komputery typu PalmTop, kamery wideo i†cyfrowe aparaty fotograficzne oraz wiele, wiele innych. Wystarczy przejrzeÊ strony internetowe czy katalogi producentÛw podzespo³Ûw. Na przyk³ad firma AMD (obecnie Spansion) wprowadzi³a†ofertÍ podzespo³Ûw pod wspÛln¹ nazw¹ MirrorBit. Moøna w†niej znaleüÊ pamiÍci Flash zasilane napiÍciem od 1,8 do 5†V†o†pojemnoúciach od 16†do 256 Mb (tab. 3). Firma STM wprowadzi³a liniÍ produktÛw pod wspÛln¹ nazw¹ LightFlash (tab. 4). Podobne dzia³ania prowadz¹ rÛwnieø inni producenci, jak na przyk³ad Winbond, Atmel czy Renesas - przeúcigaj¹c siÍ w†miniaturyzacji cel oraz liczbie cykli zapisu/odczytu. Przysz³oúÊ pamiÍci Flash zapowiada siÍ bardzo ciekawie. Jacek Bogusz, AVT
[email protected]
Elektronika Praktyczna 11/2003
B A S C O M O W E
P O R A D Y
W bascomowym „kąciku” będziemy się starać w miarę przystępnie przedstawiać rozwiązania problemów napotykanych przez naszych Czytelników podczas pisania programów w Bascomie. Rubryka ta powstała z myślą o rozwiązywaniu problemów, jakie najczęściej napotykają programiści, zatem zachęcamy wszystkich Czytelników do zgłaszania problemów, na jakie się natknęli podczas tworzenia własnych programów.
Obsługa interfejsu RS232 Na pocz¹tek parÍ s³Ûw wstÍpu na temat interfejsu RS232, ktÛry jest spotykany w†wiÍkszoúci typowych aplikacji mikrokontrolerowych. NajczÍúciej w†praktyce problemy wynikaj¹ z†b³Ídnego za³oøenia, øe mikrokontroler naleøy ìwprostî po³¹czyÊ trzema przewodami z†RS-em komputera i†to wystarczy do wymiany danych. Trzeba jednak wzi¹Ê pod uwagÍ, øe w†liniach interfejsu RS232 wystÍpuj¹ inne napiÍcia niø†typowe dla standardu TTL - mikrokontroler jako logiczne ì0î traktuje napiÍcie 0...0,8 V, natomiast logiczn¹ ì1î jest napiÍcie +2,0...5 V. Zgodnie z†zaleceniami normy opisuj¹cej RS232 napiÍcia dla logicznych ì0î i†ì1î wynosz¹ odpowiednio >+3 V oraz <-3 V. Øeby uruchomiÊ komunikacjÍ miÍdzy procesorem a†komputerem, niezbÍdny jest konwerter napiÍÊ ze standardu TTL na RS232. Najbardziej popularnym scalonym konwerterem jest uk³ad MAX232 i†jego odpowiedniki, ktÛre maj¹ wbudowan¹ ³adunkow¹ przetwornicÍ napiÍcia. Czasami moøna sobie takøe poradziÊ, stosuj¹c rÛøne sztuczki np. robi¹c interfejs na tranzystorach. Na rys. 1 przedstawiono schemat typowego uk³adu konwertera TTL<->RS232. Tu ma³a uwaga - na przedstawionym schemacie, jak i†w†notach aplikacyjnych uk³adÛw, podawane s¹ rÛøne wartoúci kondensatorÛw wymaganych do poprawnej pracy uk³adu (od 0,1 µF do 10 µF). Przed zmon-
towaniem uk³adu naleøy sprawdziÊ w†nocie katalogowej stosowanego uk³adu, kondensatory o†jakiej pojemnoúci naleøy zastosowaÊ. Jeszcze jedna uwaga na temat po³¹czenia mikrokontrolera z†interfejsem RS znajduj¹cym siÍ w†komputerze: masy ³¹czy siÍ razem, ale styki oznaczone TxD (Transmit Data - nadawanie danych) oraz RxD (Receive Data - odbiÛr danych) ³¹czymy ìna krzyøî: TxD mikrokontrolera ³¹czymy ze stykiem RxD komputera i†na odwrÛt. Aby skorzystaÊ z†transmisji RS232, na pocz¹tek naleøy skonfigurowaÊ UART/USART mikrokontrolera (wymaga to napisania odpowiedniego programu) oraz w†komputerze - naleøy ustawiÊ jednakowe parametry transmisji (jednakow¹ prÍdkoúÊ oraz pozosta³e parametry, np.: 8†bitÛw danych, 1†bit stopu, bez parzystoúci - co czÍsto jest zapisywane jako 8n1). W†Bascomie do deklaracji prÍdkoúci pracy interfejsu jest uøywana nastÍpuj¹ca instrukcja dyrektywy kompilatora:
n¹ prÍdkoúÊ transmisji oraz czÍstotliwoúÊ kwarcu i w†dolnej czÍúci okna (ramka ERROR) bÍdziemy mieli podan¹ úredni¹ stopÍ b³ÍdÛw lup napis Not Possible, czyli niemoøliwe do ustawienia - tak jest np. dla 1200 bodÛw i†kwarcu powyøej 4†MHz. Z³e dopasowanie czÍstotliwoúci kwarcu do wymaganej prÍdkoúci transmisji jest jedn¹ z†czÍstych przyczyn b³ÍdÛw lub wrÍcz braku transmisji. W†tab. 1 przedstawiono niektÛre zaleønoúci b³ÍdÛw dla danych czÍstotliwoúci kwarcÛw przy rÛønych prÍdkoúciach. Podstawowym poleceniem w†Bascomie s³uø¹cym do wys³ania danych z†mikrokontrolera przez RS232 jest instrukcja print. Uøywa siÍ jej w†najprostszy z†moøliwych sposobÛw, czyli:
$baud = 9600
Jak widaÊ, wysy³any tekst zawarto w†cudzys³owach. Tu ma³a dygresja - jeúli mamy zadeklarowan¹ zmienn¹ typu byte, a†jej wartoúÊ wyniesie 255, to polecenie:
Naleøy j¹ uøyÊ na pocz¹tku programu (prÍdkoúÊ moøna takøe ustawiÊ w†menu Options>Compiler>Communication, ale lepiej zadeklarowaÊ w†programie). Bardzo waøn¹ rzecz¹ jest takøe poznanie zaleønoúci szybkoúci RS-a od czÍstotliwoúci uøytego kwarcu. Naj³atwiej sprawdziÊ to w†Bascomie, ustawiaj¹c w†menu Options>Compiler>Communication ø¹da-
Print zmienna
gdzie zmienna to dowolna zmienna (lub sta³a) zadeklarowana w†programie. Moøna podawaÊ wartoúci sta³e bezpoúrednio w†instrukcji print. Np.: Print “To jest tekst testowy”
Print zmienna
ìwydrukujeî nam 255 (czyli wartoúÊ dziesiÍtn¹). Czasem potrzebne s¹ dane w†formacie szesnastkowym - tu Bascom pomaga nam poleceniem: Print Hex(zmienna)
i†takie polecenie zamiast 255 ìwydrukujeî nam FF. Czasem potrzebujemy takøe wydrukowaÊ znak ASCII, znaj¹c kod danej liczby np. 66, czyli ìbî - do tego celu moøemy uøyÊ instrukcji: Print Chr(66)
ktÛra to instrukcja ìwydrukujeî znak b. Polecenie print zakoÒczone úrednikiem nie wyúle domyúlnie znaku koÒca wiersza i†przejúcia do nastÍpnej linii (odpowiednik ENTER ìCRî - #13î), natomiast bez úrednika terminal zawsze przejdzie do nastÍpnej linii. Do odbierania danych przez RS232 Bascom ma dedykowanych kilka instrukcji. Pierwsza z†nich to instrukcja input. Sk³adnia instrukcji input jest nastÍpuj¹ca: Rys. 1. Schemat typowego konwertera z wykorzystaniem MAX232
Elektronika Praktyczna 11/2003
INPUT “tekst”,zmienna1,zmienna2....
93
B A S C O M O W E
P O R A D Y
Tab. 1. Przykłady wartości błędów przy różnych wartościach prędkości transmisji i oscylatorów kwarcowych Czêstotliwoœæ kwarcu/prêdkoœæ transmisji
1200
2400
4800
9600
19200
57600
115200
1,000000 0,16% 0,16% 1,843200 0,00% 0,00% 2,457600 0,00% 0,00% 3,276000 0,37% 0,37% 3,686000 4,000000 0,16% 0,16% 4,096300 4,194000 4,433618 4,433618 4,915200 0,00% 0,00% 6,144000 x 0,00% 6,553600 x 0,39% 7,372800 0,00% 0,00% 7,680000 0,00% 0,00% 8,000000 x 8,860000 x 0,16% x - wartoœæ niemo¿liwa do otrzymania
0,16% 0,00% 0,00% 1,54%
7,84% 0,00% 0,00% 6,23%
7,84% 0,00% 25,00%
45,75% 0,00% 25,00%
0,16%
7,84%
7,84%
0,00% 0,00% 0,39% 0,00% 0,00%
7,84% 0,00% 0,00% 1,54% 4,16% 0,16% 2,51% 1,12% 3,00% 3,00% 0,00% 0,00% 1,56% 0,00% 0,00%
0,00% 0,00% 1,56% 0,00% 0,00%
6,25% 10,00% 1,56% 0,00% 4,00%
6,26% 10,00% 15,63% 0,00% 4,00%
0,16%
0,16%
0,16%
7,84%
7,84%
Jako ìtekstî†podajemy tekst, ktÛry ma siÍ ukazaÊ munikat o†oczekiwaniu na danych (moøe go nie byÊ)
0,16%
dowolny jako kopodanie np.:
Dim A As Byte Dim Ciag As String * 36 INPUT “Podaj A:”, a 'oczekiwać będzie na wpisanie 'liczby typu byte (0-255) INPUT “A teraz wpisz tekst (max. 36 znaków):”, ciag 'oczekiwać będzie na wpisanie 'tekstu o długości max. 36 ‘znaków
Oczywiúcie moøna stosowaÊ kilka zmiennych naraz np.: INPUT “Podaj A oraz tekst:”, a ,ciąg 'oczekiwać będzie na wpisanie 'liczby typu byte (0-255) oraz 'na wpisanie tekstu o długości 36 'znaków
Aby zakoÒczyÊ odbiÛr danych poprzez polecenie input, naleøy na zakoÒczenie zawsze wys³aÊ znak CR (#13 - ENTER) - co w†przypadku podawania danych rÍcznie np. z†klawiatury PC poprzez terminal nie jest z†regu³y problemem i†jest wygodne, natomiast moøe siÍ zdarzyÊ, øe chcemy odbieraÊ dane z†jakiegoú pod³¹czonego urz¹dzenia, ktÛre np. nie wysy³a znakÛw koÒca wiersza. Tutaj twÛrca Bascoma przyszed³ z†pomoc¹ i†stworzy³ wiele instrukcji. Jedn¹ z†nich jest polecenie inputbin, ktÛre odbiera kaødy znak niezaleønie od tego, czy jest to litera, czy kod steruj¹cy (np. #13, ktÛrego nie interpretuje w†øaden sposÛb, czyli po prostu zapisuje go do zmiennej).
94
Sk³adnia tego polecenia jest nastÍpuj¹ca: INPUTBIN zmienna1,zmienna2....
Polecenie to nie posiada ìtekstu zachÍtyî i†oczekuje na tyle znakÛw, ile jest w†definicji zmiennych. Na przyk³ad: Dim Ciag As String * 36 INPUTBIN ciag
W†tym przypadku instrukcja inputbin bÍdzie czekaÊ na odebranie 36 znakÛw i†zakoÒczy odbiÛr dopiero po odebraniu wszystkich znakÛw. Jest to bardzo pomocne, jeúli zawsze odbieramy z†urz¹dzenia zewnÍtrznego dane o†takim samym rozmiarze. W†przypadku gdy liczba ta jest zmienna, to lepiej uøyÊ innej konstrukcji procedury odbioru. Polecenie inputbin moøe takøe s³uøyÊ do odbioru znakÛw bezpoúrednio do tablicy - naleøy wÛwczas z†gÛry okreúliÊ, ile bajtÛw naleøy odebraÊ oraz od ktÛrego miejsca w†tablicy naleøy zacz¹Ê zapisywaÊ dane: Inputbin tablica(3), 6 'do tablicy trafi 6 bajtów, jako 'pierwsza zostanie zapisana komórka 'nr 3
Kolejn¹ instrukcj¹ z†rodziny input godn¹ wspomnienia jest instrukcja inputhex. Nie rÛøni siÍ ona sk³adni¹ od polecenia input, rÛøni siÍ natomiast jedn¹ zasadnicz¹ cech¹: odbiera znaki w†formacie szesnastkowym wprowadzanym jako zwyk³y tekst, czyli jeúli podamy jako odpowiedü na poniøszy przyk³ad: Dim A As Byte INPUTHEX “Podaj wartość szesnastkowa”,a
znaki ìFUî, to wtedy w†zmiennej a znajdzie siÍ wartoúÊ 255, czyli ìFUî szesnastkowo. Polecenie to umoøliwia wprowadzanie znakÛw w†formie szesnastkowej. Jedna uwaga: kaødy spoúrÛd dot¹d†wymienionych rozkazÛw z†rodziny input zatrzymuje dzia³anie programu i†oczekuje na podanie znaku. W³aúnie ta cecha powoduje, øe polecenia te nie nadaj¹ siÍ do wykorzystania przy odbiorze danych gdzieú np. w†g³Ûwnej pÍtli programu, ktÛry nie moøe byÊ wstrzymywany. Natomiast znakomicie nadaj¹ siÍ do konkretnych zastosowaÒ takich jak np.: programowanie pamiÍci danych programu za pomoc¹ dedykowanej aplikacji, odbioru danych wywo³ywanych zewnÍtrznym impulsem (np. int0 lub int1, czy podanym na jakiekolwiek wejúcie). Poniøej przedstawiono przyk³ad odbioru danych przez RS232, ktÛre s¹ przeznaczone do zapisania z†pamiÍci EEPROM pod przes³any wczeúniej adres: $regfile = “m8def.dat” 'powiadomienie o wykorzystywanym 'procesorze atmega8 $crystal = 8000000 'częstotliwość oscylatora $baud = 9600 'prędkość transmisji dim dana as byte dim adres as byte Do Input “Adres:”, Adres 'czeka na adres INPUTHEX “Dana:”, Dana 'czeka na dana Print Adres; “:”; Dana 'wysyła odebrany adres oraz dana 'do komputera Writeeeprom Dana, Adres 'zapisuje do eeprom otrzymana 'dana pod otrzymanym ‘adresem Loop End
W†przedstawionym przyk³adzie mikrokontroler czeka na odebranie adresu, pod ktÛrym ma byÊ zapisana dana, oraz na zapisywan¹ dan¹. Odebrana dana nastÍpnie zostaje zapisana w†pamiÍci EEPROM pod otrzymanym wczeúniej adresem. W†przedstawionym przyk³adzie do odbioru danych zosta³a wykorzystana instrukcja inputhex, ktÛra odbiera dane szesnastkowo - moøna je od razu zapisaÊ do pamiÍci EEPROM. W†tym przyk³adzie do kontroli poprawnoúci odebranych danych wysy³any jest adres oraz odebrana dana poprzez instrukcjÍ print. Bascom udostÍpnia takøe funkcje umoøliwia-
Elektronika Praktyczna 11/2003
B A S C O M O W E j¹ce odbieranie pojedynczych znakÛw przez RS232. Do tych funkcji moøna zaliczyÊ waitkey(), ktÛra czeka na odebranie znaku (wstrzymuje dzia³anie programu do czasu pojawienia siÍ w†buforze transmisji szeregowej odebranego znaku), oraz funkcje inkey(), ktÛra zwraca kod ASCII pierwszego znaku znajduj¹cego siÍ w†buforze transmisji szeregowej bez wstrzymywania dzia³ania programu. Na list. 1 przedstawiono przyk³ad programu ilustruj¹cego rÛønice w†dzia³aniu wymienionych funkcji. Jeøeli zostanie przez mikrokontroler odebrana ìjedynkaî potwierdzona enterem, wykonana zostanie funkcja waitkey(), ktÛra czeka na znak, czyli wstrzymuje dzia³anie programu. Po odebraniu znaku przez funkcje waitkey() odebrany znak jest wysy³any z†powrotem do PC (w kodzie ASCII). Jeúli zostanie odebrana z†portu RS232 wartoúÊ 2, to zostanie zaprezentowane dzia³anie funkcji inkey(). Jest ona wykonywana, aø odebrany zostanie znak o†kodzie 27 (ESC). Jeøeli odebrany znak ma kod wiÍkszy od 0, to do PC zostaje wys³any kod ASCII odebranego znaku oraz sam znak. Tak wiÍc do PC bÍd¹ wysy³ane odebrane znaki ASCII od 1†do 255. Poniewaø funkcja inkey() pobiera znak z†bufora sprzÍtowego uk³adu UART, moøe ona zwrÛciÊ 0, gdy odebranym znakiem bÍdzie znak o†kodzie ì0î. Powoduje to, øe†nie nadaje siÍ ona do odbierania danych binarnych, ktÛre mog¹ przecieø zawieraÊ bajty zerowe. Moøna temu zaradziÊ, stosuj¹c dodatkowo funkcjÍ ischarwaiting, ktÛra sprawdzi, czy znak rzeczywiúcie zosta³ odebrany. Jeúli funkcja ta zwrÛci ì1î, moøna odebraÊ znak przez inkey() lub waitkey(), ktÛry mo-
øe mieÊ takøe wartoúÊ 0. Bascom prÛcz transmisji typowej umoøliwia transmisjÍ buforow¹ z†wykorzystaniem przerwaÒ od wbudowanego UART-u/ USART-u w†mikrokontrolerze. Poniewaø transmisja buforowa uøywa przerwaÒ od UART-u/USARTu, wiÍc nie jest moøliwe jej wykorzystanie przy programowej realizacji interfejsu RS232 tylko sprzÍtowej. Transmisja buforowa z†wykorzystaniem przerwaÒ ma wiele zalet. Odbieranie oraz nadawanie danych moøe przebiegaÊ w†obs³udze przerwania, czyli w†tle programu g³Ûwnego. Moøe byÊ wykonywany program g³Ûwny, ktÛrego kolejne instrukcje nie musz¹ czekaÊ, aø dany ci¹g znakÛw zostanie odebrany lub wys³any. DziÍki buforowi odbieranie danych czy nadawanie moøe byÊ przeprowadzone w†programie g³Ûwnym, kiedy bÍdzie do tego sposobnoúÊ. Jeøeli nie zostanie przekroczona zadana pojemnoúÊ bufora, øaden odebrany czy nadany ci¹g znakÛw nie zostanie zgubiony, co mia³oby miejsce przy wykonywaniu jakichú d³ugoczasowych instrukcji w†programie g³Ûwnym. W†przypadku transmisji buforowej odbierane czy nadawane znaki s¹ ³adowane i†brane z†bufora w†przerwaniu, czyli niezaleønie od dzia³ania programu g³Ûwnego. Po prostu transmisji buforowej moøna uøywaÊ, gdy potrzebne bÍdzie wysy³anie oraz odbieranie znakÛw w†tle dzia³ania programu g³Ûwnego (ktÛra wykorzystuje przerwanie od UART-u/ USART-u). BÍdzie uøywana zw³aszcza wtedy, gdy zadania wykonywane w†programie g³Ûwnym bÍd¹ czasoch³onne, a†nie bÍdzie moøna przeoczyÊ øadnych odebranych przez RS232†znakÛw. Do konfiguracji sprzÍtowego uk³adu UART/USART, by
List. 1. Przykład programu pokazującego działanie funkcji waitkey() oraz inkey() $regfile = „m8def.dat” $crystal = 8000000 $baud = 9600
'predkosc transmisji
Dim A As Byte
'definicje zmiennych
Do
'petla glowna programu Print „Program testowy” Print „1. Instrukcja waitkey()” Print „2. Instrukcja inkey()” Input „Wybierz opcje i nacisnij enter:”, A If A = 1 Then 'jesli odebrano 1 to A = Waitkey() 'czekaj na znak Print A; „ - „; Chr(a) 'wyslij do terminala odebrany znak oraz jego kod ascii End If If A = 2 Then 'jesli odebrano 2 to Do 'poczatek warunkowej petli do-loop A = Inkey() 'odebranie znaku If A > 0 Then 'jesli odebrany znak wiekszy od 0 (kod ascii) to Print „Nacisniete (kod ASCII):”; A; „ czyli znak „; Chr(a) 'wysli do terminala kod ascii odebranego znaku oraz znak End If Loop Until A = 27 'jesli odebrany znak ma kod 27 (esc) to zakoncz petle do-loop End If Loop End
Elektronika Praktyczna 11/2003
P O R A D Y
uøywa³ bufora wejúciowego, s³uøy†polecenie konfiguracyjne config serialin. Gdy uøyte zostanie to polecenie, automatycznie zostan¹ stworzone trzy zmienne, ktÛrych znaczenie jest nastÍpuj¹ce: - _RS_HEAD_PTR0 bajt - wskaünik okreúlaj¹cy, gdzie znajduje siÍ pierwszy jeszcze nieodebrany bajt, - _RS_TAIL_PTR0 bajt - wskaünik okreúlaj¹cy, gdzie znajduje siÍ ostatni jeszcze nieodebrany bajt, - _RS232INBUF0 tablica bajtÛw pe³ni¹ca rolÍ wejúciowego bufora ko³owego. Przy transmisji buforowej (odbiorczej) po kaødym odebranym znaku wywo³ywana jest procedura przerwania, w†ktÛrej ³adowany jest odebrany znak do bufora. Gdy nie ma miejsca w†buforze, odebrany znak nie jest umieszczony w†buforze. Dlatego bufor musi byÊ oprÛøniany cyklicznie, podczas odczytywania instrukcjami inkey() lub input. Poniewaø transmisja odbiorcza - buforowa wykorzystuje przerwanie URXC, nie jest moøliwe uøywanie tego ürÛd³a przerwania w†programie uøytkownika. Aby pokazaÊ dzia³anie transmisji buforowej, przedstawiony zostanie przyk³ad programu, ktÛry odbiera znaki z†portu RS232 oraz wyúwietla je na LCD. Jeøeli przekroczona zostanie pojemnoúÊ pierwszej linii wyúwietlacza LCD, wyúwietlacz jest czyszczony i†kolejne odebrane znaki s¹ wyúwietlane od pocz¹tku linii. Na rys. 2 przedstawiono schemat ideowy systemu, w†ktÛrym zastosowano wyúwietlacz LCD oraz konwerter poziomÛw napiÍʆTTL<->RS232. Wykorzystany zosta³ mikrokontroler ATmega8. Przyk³adowy program (list. 2) odbiera znaki przez RS232 oraz wyúwietla je na wyúwietlaczu z†opÛünieniem 1†sekundy. Wprowadzone opÛünienie 1†sekundy ma na celu pokazanie poprawnoúci dzia³ania transmisji buforowej. Jak widaÊ na list. 2, sprzÍtowy UART/USART jest konfigurowany w†taki sposÛb, aby uøywa³ bufora wejúciowego (odbiorczego). Wykorzystano do tego celu instrukcjÍ config serialin ustalaj¹c¹ rozmiar bufora odbiorczego o†wielkoúci 50 bajtÛw. Aby by³o moøliwe poprawne dzia³anie transmisji buforowej, koniecznie naleøy odblokowaÊ globalny system przerwaÒ, co w†przyk³adowym programie zosta³o uczynione. Naleøy o†tym pamiÍtaÊ, bo w†przeciwnym wypadku transmisja buforowa nie bÍdzie dzia³aÊ. W†nieskoÒczonej pÍtli do-loop odbierany jest znak z†bufora transmi-
95
B A S C O M O W E
P O R A D Y
Rys. 2. Schemat przykładowego układu testowego sji funkcj¹ inkey() i†jeøeli kod ASCII odebranego znaku jest wiÍkszy od 31, to odebrany znak zostaje wyúwietlony na LCD oraz zwiÍkszona zostanie o†jeden wartoúÊ zmiennej poz. Jeøeli zmienna poz osi¹gnie wartoúÊ 17, czyli zape³niony zostanie znakami ca³y wiersz wyúwietlacza 2*16 znakÛw, to nastÍpuje czyszczenie LCD oraz wpisanie do zmiennej poz wartoúci pocz¹tkowej 1. OpÛünienie 1†sekundy zosta³o wprowadzone w†celu spowolnienia dzia³ania programu g³Ûwnego, co ma na celu pokazanie zalet transmisji buforowej - odbiorczej. Po uruchomieniu tego programu wysy³ane poprzez terminal znaki, np. przez ten w†jaki zosta³ wyposaøony Bascom, wszystkie odebrane (øaden nie zosta-
nie zgubiony) i†wyúwietlone na LCD, oczywiúcie jeúli nie zostanie przekroczona pojemnoúÊ zadeklarowanego bufora. Aby zobaczyÊ dzia³anie tego programu bez uøycia transmisji buforowej, naleøy wykasowaÊ z†programu instrukcjÍ konfiguracyjn¹ config serialin. Po tym zabiegu i†po za³adowaniu programu wysy³ane znaki przez terminal czÍúciej niø co sekundÍ bÍd¹ po prostu tracone i†nie do odzyskania. Aby mÛc np. odbieraÊ znaki ASCII od 0†do 255 (oczywiúcie w†przypadku buforowego odbierania znakÛw), moøna pos³uøyÊ siÍ dodatkowymi zmiennymi _RS_HEAD_PTR0 oraz _RS_TAIL_PTR0, ktÛre s¹ tworzone automatycznie podczas uøywania odbiorczej transmisji buforowej.
List. 2. Realizacja odbierania znaków przez RS232 z wykorzystaniem transmisji buforowej 'Przykład buforowego odbioru danych przez RS232 (w przerwaniu) 'predkosc transmisji 9600 bodow $regfile = „m8def.dat” $crystal = 8000000 $baud = 9600
'informuje kompilator o pliku dyrektyw 'wykorzystywanego mikrontrolera 'informuje kompilator o czestotliwosci rezonatora 'kwarcowego 'informuje kompilator o predkosci transmisji
Config Lcd = 16 * 2 'konfiguracja organizacji znakow wyswietlacza LCD Config Lcdpin = Pin, Db4 = Portc.3, Db5 = Portc.2, Db6 = Portc.1, Db7 = Portc.0, E = Portc.4, Rs = Portc.5 'konfiguracja pinow mikrokontrolara do ktorych dolaczone zostaly linie wyswietlacza Config Serialin = Buffered, Size = 50 'konfiguracja bufora wejsciowego Dim Znak As String * 1 Dim Poz As Byte
'definicja zmiennej znak typu string 'definicja zmiennej poz typu byte
Enable Interrupts
'odblokowanie przerwan globalnych
Cls Poz = 1
'czysc lcd 'wartosc poczatkowa zmiennej poz
Do Znak = Inkey() If Asc(znak) > 31 Then If Poz = 17 Then Cls Poz = 1 End If Lcd Znak Incr Poz End If Wait 1 Loop End
96
'nieskonczona petla do-loop 'odbierz znak z bufora wejsciowego 'jezeli wartosc ascii odebranego znaku wieksza niz 0 to 'jesli zmienna poz=17 to 'czysc lcd 'zapisz do poz wartosc 1 'wyswietl na lcd odczytany z bufora znak 'zwieksz o jeden wartosc zmiennej poz 'czekaj 1 sekunde 'koniec nieskonczonej petli 'koniec programu
Jeøeli wartoúci tych zmiennych s¹ rÛøne, to wiadomo, øe w†buforze odbiorczym znajduje siÍ nieodebrany znak/i. Natomiast gdy s¹ rÛwne, znaczy, øe w†buforze odbiorczym nie ma øadnych nieodebranych znakÛw. Realizacja nadawania przez UART/ USART z†wykorzystaniem bufora przebiega podobnie jak odbiÛr buforowy, tylko zamiast instrukcji config serialin naleøy wykorzystaÊ instrukcjÍ config serialout. W†przypadku bufora nadawczego takøe naleøy obowi¹zkowo odblokowaÊ globalny system przerwaÒ. Oczywiúcie jest moøliwe jednoczesne uøywanie bufora wejúciowego, jak i†wyjúciowego. Bascom prÛcz obs³ugi sprzÍtowej RS232 umoøliwia takøe realizacjÍ programow¹ interfejsu RS232. Programowy UART bÍdzie wykorzystywany zw³aszcza gdy mikrokontroler nie bÍdzie zawiera³ sprzÍtowego UART-u/ USART-u, a†bÍdzie potrzebny, lub gdy bÍdzie potrzebny drugi port RS232. Bascom posiada takøe instrukcje realizuj¹ce dynamiczny programowy UART, dziÍki czemu moøliwe jest dowolne wykorzystanie w†kaødej chwili koÒcÛwek mikrokontrolera do nadawania lub odbioru danych przez RS232. Dynamicznie moøna zmieniaÊ uøywane do transmisji koÒcÛwki mikrokontrolera oraz parametry transmisji. Jeúli bÍdzie zainteresowanie, zostanie poúwiÍcona czÍúÊ miejsca w†tej rubryce na zagadnienia zwi¹zane z†programowym UART-em. Oczywiúcie RS232 moøna nie tylko wykorzystywaÊ do komunikacji z†komputerem, ale takøe z†innymi mikrokontrolerami czy urz¹dzeniami wyposaøonymi w†taki port. Marcin Wi¹zania
[email protected] Artur Starz
[email protected]
Elektronika Praktyczna 11/2003
K U R S
Podstawy projektowania systemów mikroprocesorowych, część 9 Zgodnie z†zapowiedzi¹ sprzed miesi¹ca, w†tej czÍúci kursu przedstawiamy sposÛb wymiany danych pomiÍdzy mikrokontrolerem i†standardow¹ klawiatur¹ PC-AT. Zastosowanie takiej klawiatury to obecnie jeden z†najtaÒszych sposobÛw wyposaøenia systemu mikroprocesorowego w†interfejs umoøliwiaj¹cy wprowadzanie danych.
Na rys. 30 przedstawiono wyprowadzenia standardowych z³¹cz klawiatur PC. Najlepiej stosowaÊ nieprzerobione w†øaden sposÛb z³¹cza (dostosowaÊ w³asne urz¹dzenie do standardowego wtyku i†rozmieszczenia sygna³Ûw), choÊ w†razie koniecznoúci moøna zastosowaÊ dowolne inne po³¹czenia - traci siÍ jednak na kompatybilnoúci ze standardem, co moøe†utrudniÊ serwis w†razie awarii. Na rys. 31 przedstawiono przyk³adowy sposÛb do³¹czenia klawiatury do mikrokontrolera. Zastosowano tu po³¹czenie bezpoúrednie z†dodatkowymi rezystorami podci¹gaj¹cymi, daj¹cymi lepsz¹ odpornoúÊ transmisji na zak³Ûcenia. KlawiaturÍ naleøy zasilaÊ napiÍciem +5 V, najlepiej tym samym, ktÛre zasila wspÛ³pracuj¹cy z†ni¹ mikrokontroler. Podczas projektowania uk³adu zasilania naleøy uwzglÍdniÊ dodatkowy pobÛr pr¹du, ktÛry w†zaleønoúci od modelu klawiatury - moøe dochodziÊ do 300 mA. Jeøeli chodzi o†sposÛb komunikacji klawiatury z†otoczeniem, to g³Ûwn¹ jej cech¹ jest to, øe w†zaleønoúci
Rys. 30
Elektronika Praktyczna 11/2003
od†kierunku transmisji (z czy do klawiatury) przebiega ona w†nieco inny sposÛb, choÊ zawsze jest to transmisja synchroniczna w†takt sygna³u zegarowego generowanego na linii KBD Clock przez klawiaturÍ. Prostszym przypadkiem jest transmisja danych z†klawiatury do mikroprocesora (przebiegi na rys. 32): nastÍpuje tutaj przes³anie s³owa sk³adaj¹cego siÍ z†11 bitÛw: bitu startu (zawsze ì0î), oúmiu bitÛw danych (pocz¹wszy od najmniej znacz¹cego), nastÍpnie bitu parzystoúci (typu Odd - dope³nienie do parzystej liczby jedynek w†transmitowanym bajcie danych) oraz bit stopu, zawsze rÛwny ì1î. Zboczem taktuj¹cym jest opadaj¹ce zbocze sygna³u zegarowego. PrÍdkoúÊ transmisji nie jest zbyt duøa i†nie podlega øadnej dok³adnej standaryzacji czÍstotliwoúÊ przebiegu zegarowego zazwyczaj zawiera siÍ w†przedziale 20 do 30†kHz. WspÛ³pracuj¹cy mikrokontroler moøe sterowaÊ transmisj¹ z†klawiatury przez wymuszanie stanu niskiego na linii KBD Clock stan niski oznacza blokadÍ transmisji i†klawiatura rozpocznie transmitowanie ewentualnej danej dopiero po pojawieniu siÍ na tej linii stanu wysokiego (podczas braku aktywnoúci obydwie linie: KBD Clock i†KBD Data znajduj¹ si͆w†stanie wysokim). Nieco bardziej skomplikowana jest transmisja danych do klawiatury. Na rys. 33 przedstawiono przebiegi czasowe sygna³Ûw†podczas takiej transmisji. Inicjacja transmisji do klawiatury nastÍpuje przez wyzerowanie linii KBD Clock przez mikrokontroler (dok³adnie chodzi o†zbocze opadaj¹ce na tej linii). W†czasie trwania stanu niskiego generowanego na linii Clock (powinno to trwaÊ nie krÛcej niø 60 ms, co gwarantuje potraktowanie tego
sygna³u jako blokadÍ transmisji klawiatura nie zacznie transmitowaÊ do mikrokontrolera w†tym samym czasie) mikrokontroler zeruje liniÍ KBD Data, a†nastÍpnie ustawia stan wysoki na KBD Clock, co jest sygna³em rozpoczÍcia transmisji do klawiatury. Wtedy kontrolÍ nad lini¹ KBD Clock przejmuje klawiatura (w czasie do 10 ms) i†rozpoczyna generacjÍ sygna³u zegarowego. Transmisja danych przebiega podobnie jak wczeúniej, z†tym øe liniÍ KBD Data kontroluje mikrokontroler i†to on wystawia kolejno bity przeznaczone do transmisji oraz bit parzystoúci. Po przes³aniu bitu parzystoúci mikrokontroler zwalnia liniÍ KBD Data (stan wysoki), co jest interpretowane jako bit stopu - jeúli tego nie zrobi, to sygna³ na linii KBD Clock bÍdzie generowany tak d³ugo, jak d³ugo KBD Data bÍdzie pozostawaÊ w†stanie niskim. Po przes³aniu bitu stopu klawiatura generuje dodatkowy takt sygna³u zegarowego po³¹czony z†wyzerowaniem linii KBD Data, potwierdzaj¹c w†ten sposÛb zakoÒczenie transmisji. Dok³adny opis rozkazÛw steruj¹cych klawiatur¹ oraz sposoby wykorzystania wszystkich jej funkcji Czytelnik znajdzie w†literaturze poúwiÍconej komputerom PC (np. w†ksi¹øce Piotra Metzgera ìAnatomia PCî).
Rys. 31
97
K U R S
Rys. 32 Z†punktu widzenia konstruktora systemÛw mikroprocesorowych warto natomiast wspomnieÊ o†podstawowych cechach uøytkowych klawiatury PC. Jeøeli chodzi o†transmisjÍ z†klawiatury do mikrokontrolera z†ni¹ wspÛ³pracuj¹cego (najczÍúciej wykorzystywany przypadek), to nastÍpuje ona po kaødym zdarzeniu zwi¹zanym ze zmian¹ stanu klawiszy. Klawiatura przesy³a 8-bitowy kod naciúniÍtego klawisza w†momencie jego wciúniÍcia oraz ten sam kod powiÍkszony o†liczbÍ 128 (80H) w†momencie puszczenia tego klawisza. Istniej¹ takøe grupy klawiszy, ktÛrych naciskanie czy zwalnianie powoduje przes³anie wiÍkszej liczby bajtÛw informacji (np. klawisze funkcyjne F1...F12 i†inne) - dok³adny ich opis Czytelnik znajdzie we wspomnianej literaturze. Jeøeli chodzi o†transmisjÍ danych do klawiatury (nie zawsze istnieje potrzeba jej wykorzystywania), to mikrokontroler steruj¹cy przesy³a klawiaturze rozkazy steruj¹ce jej prac¹. Jest moøliwe m.in. sterowanie diodami úwiec¹cymi na klawiaturze, w³¹czanie i†wy³¹czanie klawiatury, zmiana prÍdkoúci autorepetycji oraz rÛøne funkcje kontrolne. NajczÍúciej chodzi nam o†moøliwoúÊ odczytywania stanu klawiatury (naciskanie klawiszy) - umoøliwia nam to poniøszy program (odpowiadaj¹cy po³¹czeniu klawiatury i†mikrokontrolera wed³ug rys. 31) - list. 12. Przedstawiony program w†bardzo prosty sposÛb odczytuje kolejne bity pojawiaj¹ce siÍ na linii P3.3 w†takt sygna³u zegarowego doprowadzonego do linii P3.2. Zosta³ on tak napisany, aby ³atwo moøna by³o zauwaøyÊ, ktÛre czÍúci procedury odbieraj¹cej dane s¹ wykonywane zgodnie z†kolejnoúci¹ odbieranych bitÛw. Opadaj¹ce zbocze sygna³u zegarowego wywo³uje procedurÍ obs³ugi przerwania odczytuj¹c¹ kolejno wszystkie bity transmitowane przez klawiaturÍ. Do zabezpieczenia programu przed ìutkniÍciemî na odbiorze ktÛregoú z†bitÛw (wskutek zak³ÛceÒ lub od³¹czenia klawiatury) wykorzystano licznik T1 zliczaj¹cy czas, w†ktÛ-
98
rym musi zmieúciÊ siÍ ca³a†transmisja. Jeøeli czas ten zostanie przekroczony, to zostaje wyzerowany licznik odbieranych bitÛw i†program oczekuje na rozpoczÍcie kolejnej transmisji. Procedura obs³ugi przerwania INT0 po zakoÒczeniu transmisji ustawia bit NOWY oznajmiaj¹cy odebranie nowego kodu, ktÛry jest do-
stÍpny w†zmiennej KOD, a†kontrolny bit parzystoúci jest zwracany w†zmiennej PAR - najczÍúciej nie istnieje potrzeba sprawdzania poprawnoúci (przek³amania zdarzaj¹ siÍ bardzo rzadko), jeúli zasz³aby jednak taka potrzeba, to naleøy pamiÍtaÊ, øe†bit parzystoúci transmitowany przez klawiaturÍ jest negacj¹ bitu parzystoúci dostÍpnego w†rejestrze PSW mikrokontrolera (po wpisaniu otrzymanej danej do akumulatora). Przystosowanie programu do transmisji w†stronÍ klawiatury jest stosunkowo proste: naleøy zadbaÊ o†wygenerowanie sygna³Ûw inicjuj¹cych na liniach zegara i†danych, a†nastÍpnie zamiast odczytywaÊ stan linii KBD Data, naleøy po kaødym zboczu opadaj¹cym sygna³u zegaro-
List. 12 ;KOD - zmienna bajtowa przechowująca odebrany kod klawisza ;PAR - zmienna bitowa przechowująca odebrany bit parzystości ;NR_BIT - zmienna bajtowa przechowująca numer odebranego bitu ;NOWY - zmienna bitowa przechowująca informację o odebraniu nowego kodu INCJALIZACJA: CLR NOWY CLR PAR MOV NR_BIT,#0 SETB P3.2 SETB P3.3 SETB SETB SETB SETB
;zerowanie zmiennych
EA ET1 EX0 IT0
;przerwanie od opadającego zbocza na INT0
MOV TMOD,#010H
;licznik 1 w trybie 1 (licznik 16-bitowy)
... ... ...
;(program główny)
PRZERWANIE_INT0: ;INT0 (P3.2) PUSH ACC PUSH PSW MOV A,NR_BIT JZ BIT_STARTU CJNE A,#1,NIE_1 CLR A MOV C,P3.3 MOV ACC.0,C SJMP ZAPAMIETAJ NIE_1: CJNE A,#2,NIE_2 MOV A,KOD MOV C,P3.3 MOV ACC.1,C SJMP ZAPAMIETAJ NIE_2: CJNE A,#3,NIE_3 MOV A,KOD MOV C,P3.3 MOV ACC.2,C SJMP ZAPAMIETAJ NIE_3: CJNE A,#4,NIE_4 MOV A,KOD MOV C,P3.3 MOV ACC.3,C SJMP ZAPAMIETAJ NIE_4: CJNE A,#5,NIE_5 MOV A,KOD MOV C,P3.3 MOV ACC.4,C SJMP ZAPAMIETAJ
;zaprogramowanie układu przerwań
;procedura obsługi przerwania zewnętrznego z linii ;zapamiętanie ;rejestrów na stosie ;jeżeli bit startu (nr 0), to zignoruj go ;odbiór pierwszego bitu ;zerowanie ;odczytanie bitu ;i wpisanie na najmłodszą pozycję akumulatora
;odbiór drugiego bitu ;odczytanie zapamiętanych już informacji ;odczytanie bitu ;i wpisanie na odpowiednią pozycję akumulatora
;odbiór trzeciego bitu
;odbiór czwartego bitu
:odbiór piątego bitu
Elektronika Praktyczna 11/2003
K U R S
Rys. 33 wego ustawiaÊ na niej stan nastÍpnego bitu przeznaczonego do transmisji. Naleøy rÛwnieø zwiÍkszyÊ o†1†liczbÍ moøliwych stanÛw licznika bitÛw w†zwi¹zku z†koniecznoúci¹
odebrania bitu potwierdzenia (nawet jeúli bit potwierdzenia bÍdzie ignorowany przez program). Pawe³ Hadam, AVT
[email protected]
List. 12 − cd. NIE_5: CJNE A,#6,NIE_6 MOV A,KOD MOV C,P3.3 MOV ACC.5,C SJMP ZAPAMIETAJ NIE_6: CJNE A,#7,NIE_7 MOV A,KOD MOV C,P3.3 MOV ACC.6,C SJMP ZAPAMIETAJ NIE_7: CJNE A,#8,NIE_8 MOV A,KOD MOV C,P3.3 MOV ACC.7,C SJMP ZAPAMIETAJ NIE_8: CJNE A,#9,NIE_9 MOV C,P3.3 MOV PAR,C SJMP KONIEC NIE_9: SETB NOWY MOV NR_BIT,#0 CLR TR1 SJMP KONIEC ZAPAMIETAJ: MOV KOD,A INC NR_BIT SJMP KONIEC
BIT_STARTU: INC NR_BIT CLR NOWY MOV TH1,#0 MOV TL1,#0 SETB TR1 KONIEC: POP PSW POP ACC RETI
PRZERWANIE_T1: CLR TR1 MOV NR_BIT,#0 RETI
;odbiór szóstego bitu
;odbiór siódmego bitu
;odbiór ósmego bitu
;odbiór bitu parzystości ;odczytanie bitu ;i zapamiętanie
;odebranie bitu stopu - ustawienie ;informacji o nowym kodzie ;wyzerowanie licznika bitów ;zatrzymanie licznika
;zapamiętanie kodu ;zwiększenie licznika bitów
;zwiększ nr bitu ;zeruj bit (bo nadchodzi nowy kod i informacja ;o starym zostanie zamazana) ;włączenie licznika zabezpieczającego (timeout) ;dla kwarcu 12MHz daje to czas opóźnienia ;około 65ms
;pobranie rejestrów ;ze stosu
;obsługa przerwania od licznika T1 ;zatrzymanie licznika ;wyzerowanie licznika bitów
Elektronika Praktyczna 11/2003
99
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.
Pokojowy regulator temperatury ze zdalnym sterowaniem, część 2 Pomys³ budowy urz¹dzenia powsta³, gdy ze wzglÍdu na nisk¹ temperaturÍ panuj¹c¹ w†pokoju, autor zmuszony by³ do korzystania z†dodatkowego ogrzewania elektrycznego. Uøytkowanie typowego ogrzewacza wnÍtrzowego (popularnej ìfarelkiî), oprÛcz wysokich kosztÛw zuøytej energii elektrycznej, mia³o powaøn¹ wadÍ: kaødorazowe w³¹czenie i†wy³¹czenie urz¹dzenia wymaga³o interwencji uøytkownika. A†przecieø jesteúmy tak leniwi...
Projekt
113
Obs³uga magistrali jednoprzewodowej Na list. 2 przedstawiono procedury asemblerowe realizuj¹ce fizyczn¹ komunikacjÍ z†urz¹dzeniami do³¹czonymi do magistrali jednoprzewodowej. Kaødorazowe rozpoczÍcie transmisji na magistrali jednoprzewodowej wymaga najpierw wys³ania tzw. impulsu zeruj¹cego przez nadrzÍdny uk³ad nadajnika (tutaj mikrokontroler). Jest to realizowane poprzez wymuszenie przez pewien czas (480...960µs) niskiego poziomu na magistrali, nastÍpnie zwolnienie magistrali (normalnie - gdy magistral¹ nie s¹ transmitowane øadne dane - na magistrali wystÍpuje poziom wysoki wymuszany rezystorem podci¹gaj¹cym), odczekanie okreúlonego czasu i†sprawdzenie stanu magistrali. Jeøeli wÛwczas magistrala znajduje siÍ w†stanie niskim, oznacza to obecnoúÊ jednego
Elektronika Praktyczna 11/2003
lub kilku uk³adÛw do³¹czonych do magistrali jednoprzewodowej. W†takim przypadku uk³ady te, po up³ywie okreúlonego czasu, zwalniaj¹ magistralÍ jednoprzewodow¹. Generowanie impulsu zeruj¹cego realizuje bezparametrowa procedura DSReset. Na pocz¹tku dodatkowo blokowane s¹ wszystkie przerwania z†wyj¹tkiem przerwania zewnÍtrznego - z†odbiornika zdalnego sterowania, nastÍpnie zerowany jest bit magistrali DSbit (tutaj P3.3) i†wywo³ywana jest procedura Delay5us realizuj¹ca opÛünienie bÍd¹ce wielokrotnoúci¹ 5µs. Pod adresem bezpoúrednim (zmienn¹) delay - parametrem procedury - umieszcza siÍ krotnoúÊ tego opÛünienia. Po wymuszeniu na magistrali poziomu niskiego procedura odczekuje ok. 600µs, po czym zwalnia magistralÍ (ustawia DSbit), czeka ok. 66µs i†sprawdza stan magistrali, po czym odczekuje jeszcze dodat-
kowo 300µs i†koÒczy swoje dzia³anie. Rejestr R7 zawiera rezultat wykonanej operacji. Jeøeli wyst¹pi³ impuls obecnoúci uk³adÛw do³¹czonych do magistrali jednoprzewodowej, w†tym rejestrze znajduje siÍ 0. W†przeciwnym przypadku wartoúÊ jest rÛøna od zera. Procedura _DSTx realizuje zapis 8†bitÛw danych do uk³adu do³¹czonego do magistrali jednoprzewodowej. Dane do zapisu powinny znajdowaÊ siÍ w†rejestrze R7 procesora. Zapis kaødego bitu na magistrali jednoprzewodowej rozpoczyna siÍ od wymuszenia, przez uk³ad nadrzÍdny, poziomu niskiego na magistrali trwaj¹cego, zgodnie ze specyfikacj¹, nie d³uøej niø 15µs (procedura czeka ok. 13µs). NastÍpnie jeøeli zapisywanym bitem jest ì1î - magistrala jest zwalniana (wystÍpuje poziom wysoki wymuszony rezystorem podci¹gaj¹cym), jeøeli zaú zapisywanym bitem jest ì0î, wÛwczas uk³ad podrzÍdny podtrzymuje stan niski na magistrali. Ca³kowita d³ugoúÊ szczeliny czasowej zapisu (od momentu wymuszenia poziomu niskiego na magistrali) nie powinna przekraczaÊ 120µs i†po tym czasie magistrala powinna byÊ zwolniona. Czas przerwy miÍdzy nadawaniem kolejnych bitÛw nie moøe byÊ krÛtszy niø 1µs. Procedura DSRx realizuje odczyt 8†bitÛw danych z†magistrali jednoprzewodowej.
101
PROJEKTY CZYTELNIKÓW List. 2. Procedury obsługi magistrali jednoprzewodowej Delay5us: nop nop nop djnz ret
delay,Delay5us
DSReset: mov r5,IE anl IE,#129 clr DSbit mov delay,#119 lcall Delay5us setb DSbit mov delay,#12 lcall Delay5us mov r7,#0 jnb DSbit,next1 mov r7,#1 next1: mov delay,#60 lcall Delay5us mov IE,r5 ret _DSTx: clr EA mov r6,#8 mov a,r7 Loop1: mov delay,#1 clr DSbit lcall Delay5us clr c rrc a jnc next2 setb DSbit next2: mov delay,#14 lcall Delay5us setb DSbit nop djnz r6,Loop1 setbEA ret DSRx: mov r6,#8 mov a,#0 clr EA Loop2: mov delay,#1 clr DSbit lcall Delay5us setb DSbit nop nop clr c jnb DSbit,next3 setb c next3: rrc a mov delay,#11 lcall Delay5us djnz r6,Loop2 mov r7,a setb EA ret _CRCupdate: mov a,r7 mov temp,a mov r6,#8 CRCLoop: xrl a,CRC rrc a mov a,CRC jnc ZERO xrl a,#18h ZERO: rrc a mov CRC,a mov a,temp rr a mov temp,a djnz r6,CRCLoop ret
102
Szczelina czasowa odczytu wygl¹da w†sposÛb analogiczny jak to opisano w†przypadku szczeliny czasowej zapisu. Odczyt poszczegÛlnych bitÛw†rÛwnieø rozpoczyna siÍ od wymuszenia poziomu niskiego na magistrali przez czas nie d³uøszy niø 15µs, nastÍpnie magistrala jest zwalniana, procedura odczekuje kilka mikrosekund i†prÛbkowany jest stan magistrali. Jeøeli w†wyniku prÛbkowania odczytano poziom wysoki, oznacza to, øe odczytanym bitem jest 1, w†przeciwnym przypadku odczytany bit to 0. Odczytany bajt danych znajduje siÍ w†rejestrze R7. Podczas dzia³ania obydwu procedur (_DSTx i†DSRx) zabronione jest przyjmowanie jakichkolwiek przerwaÒ (zerowana globalna flaga EA), ktÛre mog³yby spowodowaÊ zak³Ûcenia w†precyzyjnym odmierzaniu czasu, okreúlanego przez liczbÍ cykli maszynowych niezbÍdnych do wykonania poszczegÛlnych rozkazÛw. Procedura CRCupdate realizuje obliczanie wartoúci wielomianu kontrolnego CRC zgodnie z rÛwnaniem: x8+x5+x4+1. Aktualizowan¹ wartoúÊ wielomianu zawiera zmienna o†nazwie CRC. Oúmiobitowa dana wejúciowa, na podstawie ktÛrej dokonuje siÍ aktualizacja wartoúci wielomianu, znajduje siÍ w††rejestrze R7. Wyøej wymienione procedury (pe³ny listing programu w†asemblerze znajduje siÍ w†materia³ach udostÍpnionych na www.ep.com.pl i†p³ycie CD-EP11/2003B) zosta³y†skompilowane asemblerem A51 z†pakietu KEIL i†jako plik *.obj do³¹czone do listy plikÛw wejúciowych linkera L51. Przekazywanie parametrÛw z†poziomu jÍzyka C†do procedur asemblerowych odbywa siÍ poprzez rejestry mikroprocesora. Kaøda procedura asemblerowa odpowiada funkcji w†jÍzyku C. Jeøeli podprogram asemblerowy wymaga jednego 8-bitowego parametru, wÛwczas kompilator KEIL wartoúÊ argumentu funkcji (zmiennej typu char) w†jÍzyku C†zapisze do rejestru R7 mikroprocesora. Przekazanie 8-bitowej wartoúci z†programu w†asemblerze do funkcji w†jÍzyku C†(wartoúÊ zwracana przez funkcjÍ) rÛwnieø odbywa siÍ za poúrednictwem rejestru R7.
Odczyt temperatury z†termometru DS1820
Z†poziomu jÍzyka C†deklaracja funkcji realizuj¹cych wymienione wyøej operacje (definicja tych funkcji zawarta jest w†kodzie asemblerowym, jako wyøej wymienione procedury) wygl¹da nastÍpuj¹co:
Na list. 3 przedstawiono kod ürÛd³owy funkcji w†jÍzyku C†realizuj¹cej odczyt temperatury z†jednego lub kilku termometrÛw DS1820 do³¹czonych do magistrali jednoprzewodowej z†wykorzystaniem wczeúniej zdefiniowanych procedur. Funkcja ReadTemp() posiada dwa parametry. Pierwszy z†nich (dev) to wskaünik do tablicy zawieraj¹cej 8-bajtowy unikalny numer seryjny danego uk³adu DS1820 wraz z†wartoúci¹ CRC dla tych 8†bajtÛw (istotne w†przypadku do³¹czania do magistrali jednoprzewodowej wiÍcej niø jednego termometru, jeúli do magistrali do³¹czony jest tylko jeden uk³ad wÛwczas wystarczy ten argument zast¹piÊ sta³¹†NULL). Definicja tego parametru moøe wygl¹daÊ nastÍpuj¹co: code char dev1[]={0x10,0x3b,0xe1, 0x38,0x00,0x00,0x00,0xad};
uchar DSReset(void); void DSTx(uchar); uchar DSRx(void); void CRCupdate(uchar); void ResetCRC(void); uchar GetCRC(void); przy czym typ uchar zosta³ zdefiniowany nastÍpuj¹co: typedef unsigned char uchar;
Dodatkowo w†module asemblerowym zdefiniowano dwie procedury ResetCRC i†GetCRC. Pierwsza z†nich zeruje lokaln¹ zmienn¹ CRC przechowuj¹c¹ wartoúÊ wielomianu kontrolnego, a†druga procedura umoøliwia pobranie wartoúci tej zmiennej.
List. 3. Funkcja odczytu pamięci podręcznej układu DS1820 uchar ReadTemp (char *dev, char *buf) { char i; if (DSReset()) return 1; // impuls zerujący, jeśli brak odpowiedzi koniec funcji DSTx(0xcc); // Polecenie "przeskocz ROM", czyli transmisja do wszystkich układów // dołączonych do magistrali //DSTx(0x55); //for (i=0;i<8;i++)DSTx(dev[i]); //jeżeli chcemy nadawać do konkretnego układu (nie do wszystkich) //należy użyć powyższego kodu DSTx (0x44); // Polecenie "zmierz temperaturę" i=0; while (!DSRx())if (i++>10000) return 5; // oczekiwanie na zakończenie pomiaru if (DSReset()) return 1; // znów impuls zerujący if (dev!=NULL) { DSTx(0x55); for (i=0;i<8;i++) DSTx(dev[i]); // Polecenie "dopasuj ROM", czyli kolejne polecenia będą // akceptowane tylko przez ten układ, którego numer seryjny //znajduje się w tablicy dev } else DSTx(0xcc); // "przeskocz ROM" - jeśli jest tylko jeden układ DSTx(0xBE); //Polecenie "odczytaj pamięć podręczną" ResetCRC(); // zerowanie lokalnej zmiennej CRC for (i=0;i<8;i++) { buf[i]=DSRx(); CRCupdate(buf[i]); } // Odczyt kolejno 8 bajtów pamięci podręcznej, zapis każdego bajtu // do bufora buf i aktualizacja CRC buf[8]=DSRx(); // Dziewiąty transmitowany bajt to wartość CRC if (DSReset()) return 1; // Koniec operacji odczytu pamięci podręcznej - impuls zerujący if (GetCRC()!=buf[8]) return 2; return 0; // Jeżeli wartość CRC obliczona i odczytana z układu DS1820 // są zgodne funkcja zwraca 0 }
Elektronika Elektronika Praktyczna Praktyczna 11/2003 2/98
PROJEKTY CZYTELNIKÓW Poniewaø numer seryjny wraz z†wartoúci¹ CRC s¹ to sta³e, wiÍc moøna je umieúciÊ w†pamiÍci programu, oszczÍdzaj¹c pamiÍÊ danych. St¹d s³owo kluczowe code. Drugi parametr buf to wskaünik do 9-bajtowej tablicy, do ktÛrej zostan¹ skopiowane kolejne bajty pamiÍci podrÍcznej z†uk³adu DS1820 zawieraj¹ce m.in. zmierzon¹ wartoúÊ temperatury. Funkcja zwraca 0†jeøeli pomiar i†odczyt temperatury przebieg³y pomyúlnie i†wartoúÊ rÛøn¹ od zera w†przeciwnym przypadku. Odczyt temperatury z†dok³adnoúci¹ 0,1 o C, zgodnie z†dokumentacj¹, jest moøliwy po zastosowaniu wzoru: T = temp _ r − 0.25 +
buf [7] − buf [6] buf [7]
gdzie buf jest tablic¹ zawieraj¹c¹ (jak wyøej) kopiÍ zawartoúci pamiÍci podrÍcznej uk³adu DS1820, zaú temp_r jest wartoúci¹ buf[0], ktÛrej wszystkie bity zosta³y przesu-
Elektronika Praktyczna 11/2003
niÍte o†jeden w†prawo. Funkcjonalnie odpowiada to dzieleniu ca³kowitemu: temp _ r = buf [0] / 2
lub w†jÍzyku C, z†wykorzystaniem operatora przesuniÍcia bitowego: temp_r=buf[0]>>1. Implementacja powyøszego rÛwnania pozornie wymaga zastosowania arytmetyki zmiennoprzecinkowej (np. zmiennych typu float), poniewaø jednak wystarczaj¹ca jest dok³adnoúÊ na poziomie jednego miejsca po przecinku - moøna wykorzystaÊ zmienne ca³kowite z†odpowiednim przesuniÍciem zakresu (dziesi¹te czÍúci staj¹ siÍ jednostkami - czyli otrzymana wartoúÊ jest w†efekcie 10krotnie wiÍksza od wartoúci rzeczywistej). Tak¹ w³aúnie ideÍ realizuje funkcja przedstawiona na list. 4. Rzeczywist¹ wartoúÊ temperatury otrzymuje siÍ przez podzielenie wartoúci zwracanej przez funkcjÍ przez 10 (np. dla temperatury 21,3oC†funkcja zwrÛci wartoúÊ 213).
List. 4. Funkcja obliczająca temperaturę z rozdzielczością 0,1oC int GetTemp(char *buf) { int k,temp_r; temp_r=buf[0]; temp_r>>=1; // przesuniecie wszystkich bitow o jeden w prawo if(buf[1]&0x01) temp_r-=128; // jeżeli temperatura ujemna k=((buf[7]-buf[6])*100); // licznik ułamka pomnożony przez 100 k/=buf[7]; // realizacja ułamka k-=25; k/=10;
// odjęcie stałej 0.25 pomnożonej przez 100 // wystarczy dokładność 1 miejsce po przecinku
temp_r*=10; temp_r+=k; // temp_r zawiera wartosc temperatury 10-krotnie większą // od rzeczywistej return temp_r; }
Prezentowany uk³ad pokojowego regulatora temperatury moøna ³atwo wzbogaciÊ o†dodatkowe funkcje uøytkowe. Na przyk³ad poprzez niewielk¹ modyfikacjÍ oprogramowania i††dodanie drugiego termometru
DS1820 moøna uzyskaÊ pomiar temperatury panuj¹cej na zewn¹trz budynku. Moøna teø dodatkowo wprowadziÊ funkcjÍ kalkulacji kosztÛw zuøytej energii elektrycznej. Zbigniew Hajduk
103
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”. Przyjęliśmy szeroką skalę ocen, aby ułatwić Czytelnikom orientację w potencjalnej przydatności książki. Publikowane w EP recenzje książek można znaleźć w Internecie pod adresem biblioteka.ep.com.pl. Uwaga! Większość prezentowanych książek można zamówić w Dziale Handlowym AVT (patrz str. 133). Chcemy w ten sposób udostępnić je Czytelnikom EP.
Janusz Narkiewicz, „GPS − Globalny System Pozycyjny”, WKŁ 2003
Szczerze mÛwi¹c, zaniepokoi³ mnie tytu³ tej ksi¹øki. Przecieø Globalny System Pozycyjny to nie do koÒca jest to samo, co Globalny System Pozycjonowania (od ang. Global Positioning System), ale okaza³o siÍ jednak, øe chodzi o†ìtenî GPS. Drugi raz zaniepokoi³em siÍ, gdy okaza³o siÍ, øe co najmniej kilka rysunkÛw wziÍto najprawdopodobniej bezpoúrednio z†Internetu (na przyk³ad rysunek 3.1a to kopia rysunku dostÍpnego pod adresem http://www.colorado.edu/geography/ gcraft/notes/gps/gif/orbits.gif, rysunek 3.1b to kopia rysunku dostÍpnego pod adresem http://www.colorado.edu/geography/gcraft/notes/gps/gif/ oplanes.gif, a†rysunek R3.1 jest úcis³ym odpowiednikiem dostÍpnego pod adresem http://www.colorado.edu/geography/gcraft/notes/gps/gif/ bit.gif, a†w†ksi¹øce nie ma ani s³owa na temat internetowych ürÛde³, z†ktÛrych korzysta³ autor (poza podan¹ stron¹ www.p.dana.com, ktÛra niestety nie istnieje). Nie zak³adam
Aleksander Simon, Marcin Walczyk, ìSieci komÛrkowe GSM/GPRS - us³ugi i†bezpieczeÒstwoî, XYLAB 2002
Telefony komÛrkowe sta³y siÍ urz¹dzeniami bardziej powszechnymi od pralek automatycznych, ale wiedza o†dzia³aniu systemÛw telefonii komÛrkowych nie jest zbyt powszechna. Wynika to g³Ûwnie z†niewielkiej liczby publikacji technicznych poúwiÍconych
Elektronika Praktyczna 11/2003
tu z³ej woli autora, ale jakoúʆniektÛrych rysunkÛw i†zdjÍÊ zamieszczonych w†ksi¹øce nie jest najlepsza, a†konwersja kolorowych bitmap na czarno-bia³e spowodowa³a pogorszenie ich czytelnoúci i†Wydawnictwo mog³oby zadbaÊ o†ich jakoúÊ. No, poczepia³em siÍ trochÍ, a†teraz do rzeczy: ksi¹øka jest ze wszechmiar godna polecenia, zawiera bowiem wiele informacji przydatnych osobom, ktÛre chc¹ poznaÊ zasadÍ dzia³ania systemu GPS. Autor wiele miejsca poúwiÍci³ omÛwieniu zagadnieÒ, z†ktÛrych istnienia uøytkownicy systemy GPS nie zdaj¹ sobie sprawy, a†s¹ one niezwykle istotne dla dzia³ania systemu pozycjonowania i†mog¹ mieÊ wp³yw na jakoúÊ uzyskiwanych wynikÛw, co ma ogromne znaczenie zw³aszcza w†przypadku zastosowaÒ profesjonalnych. PrzystÍpnie zosta³y przedstawione przyczyny powstawania b³ÍdÛw†pozycjonowania i†moøliwoúci ich korygowania, sporo miejsca autor poúwiÍci³ takøe na wyjaúnienie sposobu kodowania sygna³u emitowanego przez satelity i†sposobÛw ekstrakcji z†nich niezbÍdnych danych. Takøe rozdzia³ poúwiÍcony dzia³aniu i†budowie odbiornikÛw GPS ucieszy swoj¹ zawartoúci¹ CzytelnikÛw, zw³aszcza tych, ktÛrym zaleøy na poznaniu systemu od úrodka - wszak odbiorniki GPS dotych-
temu tematowi. Jakiú czas temu lukÍ na rynku wydawniczym wype³ni³y WK£ (Ryszard Zienkiewicz, ìTelefony komÛrkowe systemÛw GSM i†DCSî), ale jedna pozycja, skupiona zreszt¹ na jednym z†wielu aspektÛw GSM, to zdecydowanie zbyt ma³o, aby dostarczyÊ choÊby podstawow¹ wiedzÍ na temat tego systemu. Prezentowana ksi¹øka jest pierwszym wydanym w†jÍzyku polskim znanym nam kompendium na temat cyfrowej telefonii GSM. Autorzy zawarli w†niej praktycznie komplet wiadomoúci niezbÍdnych osobom pragn¹cym poz-
czas traktowaliúmy (takøe w†EP) jak ìczarne skrzynkiî, z†ca³¹ pewnoúci¹ dzia³aj¹ce, tylko nie wiadomo jak... Zalet¹ ksi¹øki jest takøe zamieszczenie w†niej informacji o†systemach konkurencyjnych dla GPS (rosyjskim GLONASS i†europejskim Galileo), a†takøe przedstawienie historycznego pod³oøa powstania systemÛw nawigacji satelitarnej. Andrzej Gawryluk
naÊ architekturÍ, budowÍ i†zrozumieÊ zasadÍ dzia³ania sieci przesy³owej, regu³y wspÛ³pracy poszczegÛlnych jej elementÛw ze sob¹, a†takøe zaznajomiÊ siÍ z†dostÍpnymi w†jej ramach us³ugami. Niebagateln¹ zalet¹ ksi¹øki jest fakt, øe jej autorzy omÛwili podstawy transmisji danych (CSD, HSCDS i†GPRS) oraz protokÛ³ WAP w†rÛønych odmianach. Znaczn¹ czÍúÊ ksi¹øki poúwiÍcono zagadnieniom bezpieczeÒstwa danych przesy³anych w†sieci GSM, ktÛra - o†czym nie jest powszechnie wiadomo - nie jest wcale bezpiecznym medium komunikacyjnym.
131
B I B L I O T E K A
E P
Reasumuj¹c: doskonale (choÊ, ze wzglÍdu na objÍtoúÊ ksi¹øki, niezbyt g³Íboko) opracowany temat, piÍkne wydanie (ca³oúÊ na papierze kredowym, co znalaz³o - niestety - odbicie w†cenie ksi¹øki), a†takøe wyraüna dba³oúÊ autorÛw o†jÍzyk. Miko³aj Andrus
Jerzy Krajewski, ìG³oúniki i†zestawy g³oúnikowe budowa, dzia³anie, zastosowaniaî, WK£ 2003
Nareszcie coú dla fanÛw samodzielnej budowy zestawÛw g³oúnikowych. Takiej ksi¹øki nie by³o na rynku od co najmniej 12 lat! Moøna j¹ trakto-
waÊ niemaløe jak podrÍcznik, poniewaø autor prezentacjÍ zagadnieÒ praktycznych rozpocz¹³ od przedstawienia i†wyjaúnienia zjawisk fizycznych zwi¹zanych z†propagacj¹ düwiÍku (w tym podstawy akustyki fizycznej i†fizjologicznej oraz psychoakustyki). Bardzo rzetelnie zosta³y przygotowane rozdzia³y zwi¹zane z†budow¹ i†parametrami g³oúnikÛw dynamicznych, pewien niedosyt pozostawia natomiast rozdzia³ czwarty, w†ktÛrym przedstawiono takøe inne rodzaje g³oúnikÛw. Osobne rozdzia³y poúwiÍcono budowie pasywnych i†aktywnych zwrotnic g³oúnikowych, obudÛw rÛønego typu, przedstawiono takøe†metody pomiaru parametrÛw g³oúnikÛw i†zestawÛw g³oúnikowych. Sporo miejsca autor poúwiÍci³ przybliøeniu regu³ optymalnego ustawiania zestawÛw g³oúnikowych w†pomieszczeniach, w†zaleønoúci zastosowanego systemu nag³oúnienia, omÛwi³ takøe - temat jest czÍsto lekcewaøony nawet przez audiofilÛw - wp³yw akustyki pomieszczenia na jakoúÊ odtwarzanego düwiÍku (nawet najlepsze zestawy mog¹ nie ìzagraÊî†w†pokoju o†úcianach wykonanych z†kamienia). Ksi¹øka, bez cienie w¹tpliwoúci, jest warta polecenia. Jedynym moim zdaniem - jej mankamentem jest brak informacji o†narzÍdziach programowych, za pomoc¹ ktÛrych moøna miÍdzy innymi symulowaÊ dzia³anie projektowanych obudÛw, wspomagaÊ projektowanie pasywnych zwrotnic i†aktywnych filtrÛw, a†takøe poddawaÊ przybliøonej analizie dzia³anie zespo³Ûw g³oúnikowych z†rÛønymi g³oúnikami. Zas³uøone 4†lutownice! Miko³aj Andrus
ksi¹øka wybitna, polecamy!
ksi¹øka o†duøych walorach praktycznych, polecamy!
moøe siÍ przydaÊ
daleka od doskona³oúci
nie warto kupowaÊ
Scott Mueller, ìRozbudowa i†naprawa komputerÛw PCî, Helion 2003, ksi¹øka zawiera CD-ROM
Ksi¹øka doprawdy imponuj¹ca: zawiera blisko 1500 stron, na ktÛrych autor wraz z†zespo³em redaktorÛw zebra³ praktycznie wszystkie informacje, jaki mog¹ byÊ przydatne mniej i†bardziej zaangaøowanym w†przerÛbki swojego sprzÍtu uøytkownikom PC. Ta imponuj¹ca praca ma - z†punktu widzenia elektronika - jedn¹ wadÍ: praktycznie wszystkie prezentowane zagadnienia s¹ traktowane powierzchownie, co powoduje, øe nie przyda siÍ ona podczas projektowania urz¹dzeÒ wspÛ³pracuj¹cych z†PC. Co wiÍcej, ksi¹øka wbrew zapowiedziom nie zwiera aktualnych informacji, co jest spowodowa-
132
Legenda:
ne najprawdopodobniej czasem trwania cyklu wydawniczego. PrzyznajÍ, mia³em nie lada dylemat podczas oceniania ksi¹øki. Wydaje siÍ - wiekopomne dzie³o, ale niestety niepozbawione istotnych wad. OprÛcz niedoci¹gniÍÊ w†treúci ksi¹øki, potencjalni Czytelnicy musz¹ wzi¹Ê pod uwagÍ jej stosunkowo wysok¹ cenÍ 159 z³otych. Czy jest tego warta? Gdybym mia³ wybieraÊ, to siÍgn¹³bym raczej po ìAnatomiÍ PCî Piotra Metzgera, ktÛrej siÛdme wydanie ukaøe siÍ (juø siÍ ukaza³o?) w†listopadzie 2003. Tomasz Jastrun
Elektronika Praktyczna 11/2003
A U T O M A T Y K A
Przekaźniki uniwersalne i styczniki mocy Do produkcji przekaünikÛw, wbrew ich prostej ìna okoî budowie, zaangaøowane s¹ technologie, ktÛrych zaawansowanie z†niewielk¹ tylko przesad¹ moøna porÛwnaÊ z†technologiami wykorzystywanymi podczas produkcji pÛ³przewodnikÛw. Dzieje siÍ tak dlatego, øe wy-
Rys. 1. Krzywe obciążenia styków przekaźników z rodziny MM
Elektronika Praktyczna 11/2003
magania stawiane przekaünikom przez wspÛ³czesne aplikacje s¹ coraz ostrzejsze, co zmusza producentÛw do zwiÍkszania trwa³oúci stykÛw, zmniejszania ich rezystancji, a†takøe poprawÍ parametrÛw ³¹czeniowych podczas sterowania obci¹øeÒ indukcyjnych, ktÛre tradycyjnie sprawiaj¹ spore k³opoty. W†ofercie firmy Omron znajduje siÍ piÍÊ grup przekaünikÛw: - uniwersalne (najczÍúciej wykorzystywane w†aplikacjach przemys³owych), ktÛrej reprezentatami s¹ przekaüniki rodzin: MY, LY, G2A, G2RS oraz MK-I/S, - przekaüniki w†obudowach hermetycznych, przystosowanych do pracy w†szczegÛlnie trudnych warunkach otoczenia, np. G2A-4, - przekaüniki duøej mocy, reprezentowane przez rodziny: G4F, G4B, G7L i†G7J, - przekaüniki bistabilne (przerzutnikowe), prze³¹czane za pomoc¹ jednego lub dwÛch uzwojeÒ (rodziny MYK, G2AK, MMK, MKK),
Omron jest jednym z†najwiÍkszych na úwiecie producentÛw przekaünikÛw oraz stycznikÛw, umoøliwiaj¹cych sterowanie urz¹dzeniami ma³ej, úredniej i†duøej mocy. W†artykule przedstawiamy skrÛcony przegl¹d fragmentu oferty przekaünikÛw tej firmy, ktÛry jest najbardziej interesuj¹cy dla elektronikÛw i†automatykÛw. - bistabilne przekaüniki zapadkowe oraz bistabilne przekaüniki sekwencyjne (G4Q, G9B), ktÛrych dzia³anie przypomina (odpowiednio) przerzutniki RS i†licznik Johnsona (sterowane obci¹øenia s¹ w³¹czane sekwencyjnie). Styki przekaünikÛw, w†zaleønoúci od docelowej aplikacji, s¹ pokrywane:
135
A U T O M A T Y K A
Rys. 2. Najczęściej spotykane konfiguracje styków - w†przypadku wymaganej duøej odpornoúci na korozjÍ: stopem z³ota, platyny i†srebra. Takie pokrycie stosuje siÍ zazwyczaj w†przekaünikach niskopr¹dowych. - w†przypadku, gdy oprÛcz odpornoúci na korozjÍ, konieczna jest odpornoúÊ na pr¹dy o†wiÍkszym natÍøeniu: zwi¹zkami srebra z†palladem (AgPd). - czystym srebrem, gdy wymagana jest ma³a rezystancja styku. Przekaüniki z†takimi stykami zaleca siÍ do pracy z†wyøszymi napiÍciami i†pr¹dami. - zwi¹zkami srebra z†niklem (AgNi), kiedy niezbÍdna jest odpornoúÊ na ³uki elektryczne, ktÛre powstaj¹ zazwyczaj podczas sterowania obci¹øeÒ indukcyjnych. - stopem srebra, o³owiu i†indu, gdy szczegÛlnie duøe znaczenie odpornoúÊ na przetÍøenia o†duøej wartoúci. - zwi¹zkami wolframu i†srebra, szczegÛlnie w†przekaünikach pracuj¹cych w†ekstremalnych warunkach termicznych i†otoczeniu brudnym chemicznie, steruj¹cych obci¹øenia o†charakterze indukcyjnym. Warto tu zwrÛciÊ uwagÍ na fakt, øe zazwyczaj obci¹øalnoúÊ stykÛw podawana przez producenta dotyczy úciúle okreúlonych warunkÛw i†podczas dobierania ich do aplikacji naleøy kierowaÊ siÍ tzw. krzyw¹ obci¹øenia, inn¹ dla kaødego typu przekaünika. Przy-
k³ad rodziny takich krzywych dla rÛønych warunkÛw obci¹øenia pokazano na rys. 1. Zespo³y stykÛw mog¹ mieÊ rÛøn¹ konfiguracjÍ i†liczbÍ stykÛw. NajczÍúciej spotykane konfiguracje pokazano na rys. 2. WiÍkszoúÊ typÛw przekaünikÛw oferowanych przez firmÍ Omron moøna zamÛwiÊ w†wersjach dostosowanych do wymagaÒ aplikacji, dotyczy to zarÛwno stykÛw i†ich pokrycia, jak i†strony ìwejúciowejî, czyli cewki. Cewki przekaünikÛw s¹ standardowo przystosowane do zasilania napiÍciem: - zmiennym o†wartoúci 6†V, 12 V, 24 V, 48 V, 50 V, 100...120 V, a†takøe 200...240 V†(przy czÍstotliwoúci napiÍcia zasilaj¹cego 50 lub 60 Hz), - sta³ym o†wartoúci: 6†V, 12 V, 24 V, 48 V, 100...120 V, a†takøe 200...240 V. Poniewaø w†wyniku impulsowego sterowania cewek przekaünikÛw w†ich uzwojeniach indukuj¹ siÍ napiÍcia o†wartoúci mog¹cej uszkodziÊ elementy steruj¹ce, producent wyposaøa niektÛre z†produkowanych modeli w†wewnÍtrzne obwody zmniejszaj¹ce amplitudÍ przepiÍcia (obwody gasikowe RC) lub wrÍcz likwiduj¹ce szkodliwe impulsy†(diody prostownicze lub zestawy: dioda prostownicza + dioda Zenera). Nowoúci¹ wprowadzon¹ do nowych rodzin przekaünikÛw firmy Omron s¹ przyciski testowe (w†rÛønych kolorach, w†zaleønoúci od typu przekaünika), za pomoc¹ ktÛrych moøna rÍcznie sterowaÊ styki przekaünika oraz LED-owe wskaüniki ich zadzia³ania. Producent rozwija takøe przekaünikowe ìzapleczeî, oferuj¹c szerok¹ gamÍ rÛønorodnych podstawek pod
Fot. 3. Jeden z typów podstawek z automatycznymi zaciskami produkowanych przez firmę Omron przekaüniki, za pomoc¹ ktÛrych moøna je montowaÊ na p³ytkach drukowanych, szynach DIN, chassis urz¹dzenia, wybieraj¹c przy tym rÛønorodne moøliwoúci ich do³¹czania (za pomoc¹ zaciskÛw†úrubowych, samozaciskaj¹cych siÍ (fot. 3), po³¹czeÒ lutowanych, owijanych itp.). Prowadzone nieustannie prace rozwojowe i†udoskonalanie konstrukcji przekaünikÛw zaowocowa³y popraw¹ doúÊ waønego wspÛ³czeúnie parametru: niezawodnoúci pracy. Ma to o†tyle duøe znaczenie, øe ca³kiem niedawno przekaüniki elektromechaniczne uwaøane by³y za jedno z†najs³abszych ogniw urz¹dzeÒ. Omron gwarantuje poprawn¹ pracÍ swoich przekaünikÛw (trwa³oúÊ stykÛw) przez co najmniej 278 godzin w†morderczym i†rzadko spotykanym w†praktyce cyklu 1800 prze³¹czeÒ na godzinÍ (0,5 Hz) z†do³¹czonym maksymalnym dopuszczalnym obci¹øeniem. ØywotnoúÊ mechaniczna przekaünikÛw jest wiÍksza, bo wynosi aø 100000000 (sto milionÛw) cykli w†teúcie 18000 prze³¹czeÒ na godzinÍ (prze³¹czanie z†czÍstotliwoúci 5†Hz), co daje 5555 godzin katorøniczej pracy. Czyli konstruktorzy nadal maj¹ nad czym pracowaÊ. Andrzej Gawryluk, AVT Dodatkowe informacje Artyku³ powsta³ na podstawie materia³ów udostêpnionych przez firmê Omron, tel. (22) 645-78-60, www.omron.com.pl.
136
Elektronika Praktyczna 11/2003
P O D Z E S P O Ł Y
Modu³y bezpieczeñstwa firmy Schleicher Berliñska firma Schleicher Relais Werke zosta³a utworzona przez in¿yniera Otto Schleichera w 1937 roku. Pocz¹tkowo zak³ad zajmowa³ siê produkcj¹ prze³¹czników automatycznych, natomiast pierwsze przemys³owe urz¹dzenia elektroniczne produkowa³ od lat ‘50. Zaostrzenie norm dotycz¹cych bezpieczeñstwa w latach ‘90 otworzy³o przed firm¹ Schleicher mo¿liwoœæ rozwoju w nowym kierunku - w systemach bezpieczeñstwa. Ju¿ w latach ‘80 specjaliœci Schleichera stworzyli szereg rozwi¹zañ dotycz¹cych bezpieczeñstwa maszyn, a tak¿e stali siê wspó³twórcami aktualnych norm. Zgodnie z wytycznymi UE, od dnia 1 stycznia 1995 wymaga siê, aby wszystkie maszyny kierowane na rynek wspólnoty by³y oznakowane znakiem CE, natomiast wed³ug Rozporz¹dzenia Ministra Gospodarki, Pracy i Polityki Spo³ecznej z 10 kwietnia 2003 roku (Dz.U. Nr 91. poz. 857 i 858) obowi¹zek znakowania wyrobów znakiem CE obowi¹zuje w kraju z chwil¹ wejœcia Polski do UE. Jednostki kontrolne krajów cz³onkowskich UE maj¹ obowi¹zek sprawdzaæ dotrzymania postulatów dotycz¹cych bezpieczeñstwa i ochrony zdrowia zgodnie z zaleceniami Dyrektywy Maszynowej. Ka¿da maszyna, która ma byæ wprowadzona do pracy w UE podlega jej wytycznym. Jeœli wytyczne s¹ spe³nione, to mo¿na tak¹ maszynê oznaczyæ znakiem CE, o co producent musi zadbaæ we w³asnym zakresie i na w³asn¹ odpowiedzialnoœæ.
Rys. 1. Graf oceny ryzyka Producent, który nie spe³ni tych wymagañ wystawia siê na ryzyko wysokich kar oraz obowi¹zek wycofania produktów z rynku na w³asny koszt. Wobec akcesji Polski do struktur Unii Europejskiej, polscy producenci maszyn i urz¹dzeñ mog¹ a nawet powinni ju¿ teraz zadbaæ o spe³nienie odpowiednich norm i uzyskania prawa do nanoszenia znaku CE.
Tab. 1. Wymagania stawiane urządzeniom kwalifikowanym do poszczególnych kategorii bezpieczeństwa Kategoria
Podstawowe wymagania
Zachowanie siê systemu
Zasady osi¹gniêcia bezpieczeñstwa
B
Elementy steruj¹ce lub/i ochronne systemu zwi¹zane z bezpieczeñstwem jak równie¿ ich elementy sk³adowe musz¹ byæ zaprojektowane , skonstruowane, dobrane, po³¹czone zgodnie z obowi¹zuj¹cymi standardami, tak by by³y odporne na spodziewane dzia³ania zewnêtrzne.
W przypadku wyst¹pienia b³êdu istnieje prawdopodobieñstwo utraty funkcji bezpieczeñstwa.
G³ównie scharakteryzowane przez dobór komponentów
1
Wymagania klasy B musz¹ byæ spe³nione. Dodatkowo istnieje koniecznoœæ stosowania wypróbowanych komponentów i zasad bezpieczeñstwa.
Jak w kategorii B, z wiêkszym marginesem niezawodnoœci funkcji bezpieczeñstwa
2
Wymagania klasy B musz¹ byæ spe³nione. Dodatkowo istnieje koniecznoœæ stosowania wypróbowanych komponentów i zasad bezpieczeñstwa. System steruj¹cy musi kontrolowaæ funkcje bezpieczeñstwa w odpowiednich interwa³ach czasowych.
W przypadku wyst¹pienia usterki miedzy kontrolami, mo¿e dojœæ do utraty funkcji bezpieczeñstwa.
3
Wymagania klasy B musz¹ byæ spe³nione. Dodatkowo istnieje koniecznoœæ stosowania wypróbowanych komponentów i zasad bezpieczeñstwa. Pojedyncza usterka nie mo¿e prowadziæ do utraty funkcji bezpieczeñstwa.Jeœli to mo¿liwe, pojedyncza usterka powinna byæ wykrywana.
W przypadku wyst¹pienia usterki funkcja bezpieczeñstwa jest realizowana. W przypadku wyst¹pienia wiêkszej iloœci usterek mo¿e dojœæ do utraty funkcji bezpieczeñstwa. Niektóre usterki s¹ wykrywane.
4
Wymagania klasy B musz¹ byæ spe³nione. Dodatkowo istnieje koniecznoœæ stosowania wypróbowanych komponentów i zasad bezpieczeñstwa. Czêœci odpowiedzialne za bezpieczeñstwo musz¹ byæ zaprojektowane w nastêpuj¹cy sposób: - pojedyncza usterka nie mo¿e prowadziæ do utraty funkcji bezpieczeñstwa, - pojedyncza usterka powinna byæ wykrywana przed lub podczas kontroli funkcji bezpieczeñstwa, lub jeœli to niemo¿liwe, nagromadzenie siê usterek nie mo¿e prowadziæ do utraty funkcji bezpieczeñstwa.
W razie powstania jednej lub wiêcej usterek, funkcja bezpieczeñstwa bêdzie zachowana. Usterki musz¹ byæ wykrywane w takim czasie aby nie nast¹pi³a utrata funkcji bezpieczeñstwa.
138
G³ównie scharakteryzowane przez strukturê systemu
Elektronika Praktyczna 11/2003
P O D Z E S P O Ł Y Tab. 2. Kategorie zatrzymania określone w normie PN−EN 60204−1 Kategoria stopu
Funkcja
0
Zatrzymanie przez natychmiastowe od³¹czenie dop³ywu energii do napêdów urz¹dzenia (zatrzymanie niekontrolowane)
1
Sterowane doprowadzenie do stanu spoczynku, przy czym doprowadzenie energii zostanie od³¹czone dopiero w stanie spoczynku
2
Sterowane doprowadzenie do stanu spoczynku, przy którym utrzymywany jest dop³yw energii do napêdów
Tab. 3. Seria ekonomiczna 5000 (obudowa o szerokości 22,5mm) Typ
Opis
SNO 5001K
stop awaryjny, monitorowanie drzwi bezpieczeñstwa (1 styk i 1 alarm)
SNO 5001.1K
Fot. 2. Wersja „−A” z odłączanymi zaciskami
Jak SNO 5001K, bez blokady w³¹czenia i restartu oraz monitorowania przycisku reset
SNO 5002K
Stop awaryjny, monitorowanie drzwi bezpieczeñstwa (2 styki)
SNO 5002.1K
Jak SNO 5002K, bez blokady w³¹czenia i restartu oraz monitorowania przycisku reset
SNZ 5052K
Sterowanie dwurêczne i monitorowanie drzwi bezpieczeñstwa
Obowi¹zkiem producenta maszyny jest: - eliminowaæ lub minimalizowaæ niebezpieczeñstwo urazu we wszystkich fazach pracy i przez ca³y czas pracy maszyny, - uwzglêdniæ wytyczne zawarte w normach przy projektowaniu i konstrukcji nowych maszyn,
- w przypadku wystêpowania ryzyka uczyniæ kroki zwiêkszaj¹ce ochronê, poprawiæ konstrukcjê mechaniczn¹ maszyny i wyposa¿yæ system steruj¹cy w zaaprobowane przekaŸniki bezpieczeñstwa. Z odpowiednich norm wynika koniecznoœæ u¿ycia dla maszyn kategorii od 2 do 4 w obwodach natychmiastowego zatrzymania maszyny, - informowanie instytucji certyfikuj¹cej o zmianach w konstrukcji maszyny, które maj¹ wp³yw na bezpieczeñstwo, - informowaæ u¿ytkownika o mo¿liwym ryzyku u¿ytkowania, - razem z maszyn¹ dostarczaæ wyposa¿enie i urz¹dzenia zapewniaj¹ce bezpieczeñstwo, - dostarczyæ deklaracjê zgodnoœci ze znakiem CE.
Tab. 4. Przekaźniki do „stopu awaryjnego” i aplikacji drzwi bezpieczeństwa Typ
stop awaryjny
drzwi bezp.
stop stop detekcja wyjœcie opóŸnie- opóŸnie- monitoawaryj- awaryj- zwarcia tranzysnie nie rowanie ny 1-ka- ny 2-ka- poprzecz- torowe startu wy³¹cze- przyciski na³owy na³owy nego nia RESET
SNO 1002
X
X
X
X
X
X
3
1
1
SNO 1004
X
X
X
X
X
X
3
1
1
SNO 1005
X
X
X
X
X
3
1
SNO 2001-xx
X
X
X
X
X
X
2
SNO 2002-xx
X
X
X
X
X
X
3
SNO 2003-xx
X
X
X
X
X
2
45
SNO 2004-17
X
X
X
X
2
22,5
SNO 2005
X
X
X
X
X
SNO 2012
X
X
X
X
X
SNV 2020-17
X
X
X
X
SNO 4003K
X
X
X
X
SNO 4003K-A
X
X
X
X
SNO 4062K
X
X
X
X
monitorowanie jednoczesne
obwód styki styki sprzê¿e- bezpie- kontrolnia moni- czeñstwa ne torowania
X
X
X X
X
X
X
SNO 4062K-A
X
X
X
X
X
X
SNV 4063KL
X
X
X
X
X
X
X X X
X
styki wyjœcie szerokoœæ chwi- pó³prze- obudowy lowe wodnikowe 90 90 90 45
1
1
90
X
3
1
45
X
6
4
90
X
4
1
90
X
3
1
22,5
X
3
1
22,5
X
2
1
22,5
1
X
X
X
2
X
X
X
3
22,5 22,5
SNV 4063KL-A
X
X
X
X
X
X
X
X
X
3
SNV 4063KP
X
X
X
X
X
X
X
X
X
X
3
1
22,5
22,5
SNV 4063KP-A
X
X
X
X
X
X
X
X
X
X
3
1
22,5
Tab. 4 − cd. − przekaźniki do barier optycznych, aplikacji sterowania dwuręcznego i listew stykowych Typ
SNL 4062K
Kontrola Kontrola Listwy 1-kana³owy 2-kana³owy Detekcja Wyjœcie Monitoro- Monitoro- Obwód Styki Styki Styki Szerokoœæ stanu dwurêczna stykowe Stop Stop zwarcia pó³przewanie wanie sprzê¿enia bezpie- kontrol- chwi- obudowy bariery awaryjny awaryjny poprzecz- wodniko- przycisku jedno- monitoro- czeñstwa ne lowe optycznej nego we RESET czesne wania X
X
X
X
X
X
2
1
SNO 2005-xx
X X
X
X
X
X
X
X
X
3
1
SNO 4062KM
X
X
X
X
X
X
X
X
2
1
22,5
X
X
X
X
22,5
SNO 4062KM-A
22,5 1
45
X
X
X
X
2
1
SNZ 4052K
X
X
X
X
X
2
1
22,5
SNZ 4052K-A
X
X
X
X
X
2
1
22,5
140
Elektronika Praktyczna 11/2003
P O D Z E S P O Ł Y PrzekaŸniki bezpieczeñstwa firmy Schleicher
Fot. 3. Przekaźniki bezpieczeństwa serii 5000
Kategoria bezpieczeñstwa Kategoria bezpieczeñstwa maszyny charakteryzuje poziom ryzyka, który musi byæ uwzglêdniony przy konstrukcji maszyny, jej obwodów steruj¹cych i obwodów bezpieczeñstwa. Obejmuje równie¿ wymagane zachowanie czêœci systemu steruj¹cego odpowiedzialnej za bezpieczeñstwo z uwzglêdnieniem jego wytrzyma³oœci na awarie. Szczegó³owo problematyka ta jest zawarta w normach PN-EN 292-1, PN-EN 954-1 i PN-EN 1050. W tab. 1 podajemy opis wytycznych dla poszczególnych kategorii. W zale¿noœci od analizy ryzyka urazu i zastosowanych zabezpieczaj¹cych elementach maszyny (pokrywy zabezpieczaj¹ce, konstrukcja i ergonomia maszyny, inne elementy zabezpieczaj¹ce), konstruktor maszyny i systemu steruj¹cego powinien okreœliæ wymagan¹ kategoriê bezpieczeñstwa i wed³ug niej zaprojektowaæ obwody natychmiastowego zatrzymania i wy³¹czenia maszyny. Z zamieszczonej wytycznych na obwody bezpieczeñstwa wynika koniecznoœæ stosowania modu³ów bezpieczeñstwa od kategorii bezpieczeñstwa 2 i wy¿szej. Przy okreœlaniu kategorii nale¿y uwzglêdniæ sytuacjê przy usuniêciu mo¿liwych do usuniêcia pokryw, drzwiczek itp., tak¿e, gdy ich po³o¿enie jest kontrolowane za pomoc¹ ³¹czników krañcowych. W ocenie ryzyka (oprócz szczegó³owych norm) pomóc mo¿e graf oceny ryzyka (rys. 1).
Funkcje wy³¹czaj¹ce wed³ug PN-EN 60204-1 Sposób natychmiastowego wy³¹czenia maszyny zale¿y od konstrukcji i charakteru maszyny, momentu bezw³adnoœci czêœci ruchomych i miary ryzyka zranienia obs³ugi i uszkodzenia maszyny przy próbie natychmiastowego zatrzymania maszyny. Norma PNEN 60204-1 okreœla trzy kategorie zatrzymania (patrz tab. 2). Ka¿da maszyna powinna byæ wyposa¿ona w stop kategorii 0, a wy¿szy stopieñ nale¿y przewidzieæ, jeœli wymagania bezpieczeñstwa lub konstrukcji maszyny tego wymagaj¹, tj. gdy niebezpieczeñstwo przy natychmiastowym od³¹czeniu energii by³oby wiêksze ni¿ przy kontrolowanym zatrzymaniu. Stop kategorii 0 i 1 powinny byæ dzia³aæ niezale¿nie od stanu pracy maszyny, a stop kategorii 0 mieæ zawsze pierwszeñstwo. Wszystkie funkcje stopu powinny mieæ równie¿ pierwszeñstwo od funkcji startu. Dodatkowo nale¿y uwzglêdniæ fakt, ¿e maszyna wyposa¿ona w modu³ bezpieczeñstwa kategorii 4 i kategori¹ stopu 1, mo¿e byæ zaliczana co najwy¿ej do kategorii 3.
Jak wspomniano wczeœniej, w obwodach awaryjnego wy³¹czenia dla kategorii 2, 3 i 4 nale¿y stosowaæ modu³y (przekaŸniki) bezpieczeñstwa. Bezpieczeñstwo odpowiada specjalna konstrukcja przekaŸnika, która zapewnia spe³nienie odpowiedniej kategorii nawet w przypadku defektu w³asnego uk³adu stykowego (np. zgrzanie lub u³amanie zestyków), tote¿ nale¿y pamiêtaæ, ¿e nie mo¿na spe³niæ wymagañ normy za pomoc¹ zwyk³ych przekaŸników lub zwyk³ego programu steruj¹cego maszyny. Szeroki asortyment przekaŸników bezpieczeñstwa produkuje niemiecka firma Schleicher, która zajmuje siê systemami bezpieczeñstwa ju¿ od lat osiemdziesi¹tych. Tak d³ugie doœwiadczenie pozwala na zaoferowanie klientom szerokiego spektrum produktów o dobrych parametrach. W ofercie znajduj¹ siê nadal przekaŸniki w obudowach o szerokoœci 90 i 45 mm oraz nowe konstrukcje serii 4000 i 5000. Wspomniane serie 4000 i 5000 s¹ przekaŸnikami w nowych, niepalnych obudowach o szerokoœci 22,5 mm, wykonanych z poliwêglanu o wysokiej udarnoœci i sta³oœci kszta³tów do temperatury 120OC. Nadruki opisuj¹ce wyprowadzenia elektryczne s¹ wykonane technik¹ laserow¹, co zwiêksza wytrzyma³oœæ na œcieranie i zabrudzenie. Front obudowy jest wykonany w kolorze ¿ó³tym, pozwalaj¹cym bezb³êdnie odró¿niæ przekaŸniki obwodów bezpieczeñstwa od np. przekaŸników czasowych. Poniewa¿ w wielu przypadkach nale¿y zapewniæ ochronê maszyn pracuj¹cych w bardzo ostrych warunkach klimatycznych, przekaŸniki nowych serii mog¹ pracowaæ w temperaturach od -55 do +60OC. Tam gdzie to potrzebne mo¿na równie¿ zastosowaæ przekaŸniki z opcj¹ „-A” (fot. 2). PrzekaŸniki te wyposa¿ono w konektory przystosowane do szybkiej wymiany uszkodzonego elementu (bez dodatkowych narzêdzi). Wtyki s¹ kodowane mechanicznie co zapobiega omy³kowemu pod³¹czeniu koñcówek. PrzekaŸniki, w zale¿noœci od wersji i aplikacji nadaj¹ siê do monitorowania drzwi bezpieczeñstwa, barier optycznych, listew kontaktowych, stopu awaryjnego, obwodów sterowania dwurêcznego i s¹ wykonane dla kategorii bezpieczeñstwa 4 lub 3 (wed³ug PN-EN 954-1) i kategorii stopu 0 lub 1 (wed³ug PN-EN 60204-1). Seria 5000 (fot. 3) z za³o¿enia ma byæ seri¹ „ekonomiczn¹”. Obni¿enie ceny uzyskano m.in. dziêki ograniczeniu liczby urz¹dzeñ (tylko 5 modeli, kategoria bezpieczeñstwa 4, kategoria stopu 0) i zastosowaniu tej samej obudowy co w przekaŸnikach czasowych serii NGG. Mog¹ one pe³niæ funkcje: stop awaryjny, monitorowanie drzwi, barier optycznych i listew stykowych oraz obwodów sterowania dwurêcznego. Zalet¹ urz¹dzeñ tej serii jest du¿y wybór napiêæ zasilaj¹cych: 12 VDC, 24 VDC, 24 VAC, 115...120 VAC i 230 VAC, a obwody zasilania s¹ odizolowane podwójn¹ izolacj¹ od obwodów kontrolnych i sygna³owych (zgodnie z zaleceniami normy EN 50178), czego brak w przekaŸnikach innych serii. Podstawowe w³asnoœci przekaŸników bezpieczeñstwa zebrano w tab. 3 i 4. W przypadkach gdy liczba par styków jest niewystarczaj¹ca, mo¿na j¹ zwiêkszyæ za pomoc¹ modu³ów rozszerzaj¹cych wyszczególnionych w tab. 5. Tomasz Œliwakowski, Amtek spol. s r.o. Wiêcej informacji o produktach Schleicher: http://www.schleicher-de.com. Dystrybutorem firmy Schleicher jest Amtek spol. s r.o., tel. (22) 423 91 18,
[email protected], www.amtek.pl.
Tab. 5. Moduły rozszerzające Typ
1-kana³owy Stop awaryjny
2-kana³owy Stop awaryjny
SNE 4003
X
SNE 4004K
X
SNE 4004KV
X
X
SNO 3004-xx
X
X
Elektronika Praktyczna 11/2003
OpóŸnione wy³¹czenie Stop
Styki bezpieczeñstwa
Styki kontrolne
X
3
2
X
4
2
X
Styki sprzê¿enia
SzerokoϾ obudowy 22,5
1
22,5
4
1
22,5
3
1
45
141
A U T O M A T Y K A
Dzia³anie sterowników S7-200 - podstawy DziÍki wielu artyku³om na temat sterownikÛw PLC publikowanym dotychczas w†EP, ich moøliwoúci s¹ dobrze znane Czytelnikom. W†praktyce doúÊ istotne jest takøe zrozumienie sposobu ich dzia³ania. To w³aúnie zagadnienie jest tematem prezentowanego artyku³u. Rodzina sterownikÛw PLC SIMATIC S7-200 sk³ada siÍ z†piÍciu jednostek centralnych: CPU221, CPU222, CPU224, CPU226 i†CPU226XM. RÛøni¹ siÍ one miÍdzy sob¹†iloúci¹ dostÍpnej pamiÍci programu oraz pamiÍci danych, a†takøe liczb¹ zintegrowanych wejúÊ-wyjúÊ binarnych. Zasada pracy sterownika S7-200 polega na cyklicznym przetwarzaniu programu zapisanego w†nieulotnej pamiÍci programu typu EEPROM. Sterownik ma dwa rodzaje pamiÍci (rys. 1) wykorzystywanej do przechowywania, przenoszenia i†wykonywania programu. ZewnÍtrzna pamiÍÊ EEPROM s³uøy przenoszenia i†archiwizacji programÛw. Program z†zewnÍtrznej pamiÍci kopiowany jest po za³¹czeniu napiÍcia zasilaj¹cego do wewnÍtrznej pamiÍci EEPROM, gdzie jest zapamiÍtywany i†po wy³¹czeniu zasilania nie ulega zniszczeniu. System operacyjny sterownika po za³¹czeniu zasilania kopiuje program zapisany w†wewnÍtrznej pamiÍci EEPROM do pamiÍci RAM sterownika. Wykonywanie programu odbywa siÍ w†pamiÍci RAM. ZarÛwno zewnÍtrzna i†wewnÍtrzna pamiÍÊ EEPROM oraz pamiÍÊ RAM jest podzielona na obszary: - pamiÍci programu, - danych i†parametrÛw, - obszar danych z†podtrzymaniem.
Obszar danych z†podtrzymaniem jest wykorzystywany do zapamiÍtywania wartoúci zdeklarowanych zakresÛw danych, licznikÛw, zegarÛw, stanÛw i†wartoúci zmiennych po zaniku napiÍcia zasilaj¹cego. Podtrzymanie realizowane jest poprzez kondensator o†duøej pojemnoúci i†ma³ej up³ywnoúci. åredni czas podtrzymania danych wynosi 50 do 190 godzin. W†przypadku potrzeby uzyskania d³uøszych czasÛw podtrzymania zawartoúci pamiÍci stosuje siÍ opcjonaln¹ bateriÍ podtrzymuj¹c¹ dane. åredni czas podtrzymania danych wynosi oko³o 200 dni. Obszar pamiÍci w†sterowniku oznaczony jako OB1 jest wywo³ywany cyklicznie przez system operacyjny sterownika, jak to pokazano na rys. 2. Wykonywanie programu w†pÍtli OB1 koÒczy siÍ w†momencie natrafienia na instrukcjÍ MEND koÒcz¹c¹ wykonywanie programu, po czym system operacyjny zaczyna wykonywaÊ ponownie pierwsz¹ napotkan¹ instrukcjÍ na pocz¹tku bloku OB1. W†bloku tym mog¹ znajdowaÊ siÍ instrukcje wywo³aÒ podprogramÛw - SBR. Wydzielenie w†bloku OB1 podprogramÛw ma na celu taki podzia³ zadaÒ programu, aby moøna by³o np. utworzyÊ osobne programy np. do obs³ugi przekszta³tnika czÍstotliwoúci, komunikacji poprzez modemy (procedury inicjalizacji, odbioru i†nadawania) lub obs³ugi paneli operatorskich OP. W†kaødym podprogramie moøna wywo³aÊ kolejny podprogram. Maksymalna g³ÍbokoúÊ zagnieødøenia podprogramÛw wynosi 8. Podprogram koÒczy siÍ w†momencie wyst¹pienia instrukcji powrotu RET. OprÛcz obs³ugi podprogramÛw sterowniki S7-200 mog¹ obs³ugiwaÊ takøe przerwania. Dziel¹ siÍ one na: - procesowe, wywo³ywane poprzez narastaj¹ce lub opadaj¹ce zbocze sygna³u doprowadzonego do wejúÊ sterownika lub - czasowe, wywo³ywane poprzez odmierzenie przez wewnÍtrzne zegary okreúlonego czasu, po ktÛrym nastÍpuje wywo³anie programu obs³ugi przerwania.
DostÍpne s¹ rÛwnieø przerwania od portÛw komunikacyjnych. Zadaniem tych przerwaÒ jest obs³uga danych nadawanych i†odbieranych w†odpowiednich chwilach czasowych poprzez porty komunikacyjne sterownika. Przerwania maj¹ przydzielone priorytety. Program obs³ugi przerwania koÒczy siÍ w†momencie wyst¹pienia instrukcji RETI. ZarÛwno podprogramy jak i†programy obs³ugi przerwaÒ po ich zakoÒczeniu przekazuj¹ wykonywanie programu do instrukcji nastÍpuj¹cej po instrukcji wywo³uj¹cej podprogram lub przerwanie. Odpowiednie adresy powrotÛw zapamiÍtywane s¹ na stosie, przy czym za prawid³owe dzia³anie odpowiada system operacyjny sterownika. OprÛcz pamiÍci programu w†sterowniku S7-200 przewidziano obszar danych DB1. W†obszarze tym zapamiÍtywane s¹ wartoúci deklarowanych zmiennych, wyniki operacji matematycznych, wartoúci inicjalizuj¹ce, tabele, parametry. W†obszarze tym moøna zdeklarowaÊ zakres zmiennych ktÛre bÍd¹ podtrzymywane po zaniku zasilania. Obszar pamiÍci danych DB1 jest oznaczony liter¹ V†(Variable - zmienne). W†obszarze DB1 moøna przechowywaÊ dane w†dowolnym formacie, np. w†postaci bajtu (8 bitÛw), s³owa (16 bitÛw) lub podwÛjnego s³owa (32 bity) - rys. 3. OprÛcz obszaru DB1, pamiÍÊ danych sk³ada siÍ z†obszaru danych o†dostÍpie bitowym oznaczonym jako M (Merker znacznik) oraz obszaru wejúÊ procesu oznaczeniu ìEî (Eingange - wejúcia) i†wyjúÊ procesu A (Ausgange - wyjúcia). Do danych moøna odwo³ywaÊ siÍ w†sposÛb bezpoúredni, poprzez jawne po-
Rys. 1. Obszary pamięci RAM oraz EEPROM
142
Elektronika Praktyczna 11/2003
A U T O M A T Y K A mÛw. System operacyjny udostÍpnia szereg znacznikÛw†systemowych SM (System merker), ktÛre odpowiadaj¹ za rÛøne funkcje systemowe np. generacjÍ sygna³u 1†Hz lub s¹ aktywne tylko w†pierwszym cyklu sterownika. Opis wszystkich funkcji znajduje siÍ w†dokumentacji do sterownikÛw S7200 dostÍpnej w†Internecie pod adresem znajduj¹cym siÍ na koÒcu artyku³u. Rys. 2. Opis cyklu pracy sterownika S7−200 Sterownik S7-200 posiada rÛwnieø zintegrowane tzw. szybkie liczniki. S¹ to liczniki, ktÛre po danie adresu danej np. E3.4 (wejúcie bajt zainicjalizowaniu zaczynaj¹ zliczaÊ impul3, bit 4) lub w†sposÛb poúredni za pomosy doprowadzone do ustalonych wejúÊ c¹ wskaünika, np. &VW200, gdzie oznaczesterownika poza cyklem pracy sterownika. nie & oznacza wskaünik do danej VW200. Czas wykonywania i†liczba instrukcji proOprÛcz obszaru danych DB1, w†przegramowych nie ma wp³ywu na szybkoúÊ strzeni danych sterownika wydzielono i†pewnoúÊ zliczania szybkiego licznika. obszar lokalnych danych L. Dane lokalne Chc¹c odczytaÊ wartoúÊ szybkiego liczniprzyporz¹dkowane s¹ do danego podproka naleøy w†danym miejscu programu gramu i†s¹ widoczne tylko w†podprograumieúciÊ instrukcjÍ odczytuj¹c¹ chwilow¹ mie SBRx, w†ktÛrym zosta³y†zadeklarowawartoúÊ szybkiego licznika. Liczba szybne. Dane lokalne nie s¹ dostÍpne poza dakich licznikÛw w†zaleønoúci od CPU wynym podprogramem SBRx. Dane lokalne nosi od 4†do 6. Liczniki mog¹ zliczaÊ sygL, wykorzystuje siÍ aby przekazywaÊ warna³y o†czÍstotliwoúci do 30 kHz. OprÛcz toúci z†programu g³Ûwnego do podprogra-
szybkich licznikÛw dostÍpne s¹ rÛwnieø liczniki i†zegary wykorzystywane w†programie uøytkownika. Dodatkowo S7-200 wyposaøony jest w†wyjúcia PWM (modulacja szerokoúci impulsu) oraz PTO (modulacja czÍstotliwoúci), dziÍki czemu idealnie nadaje siÍ do sterowania silnikami krokowymi oraz†uk³adami pozycjonowania. System operacyjny S7-200 dba o†odpowiednie przydzielenie czasu na sprawdzenie wszystkich elementÛw systemu. System operacyjny sterownika nadzoruje wykonywanie programu, odpowiada za komunikacjÍ z†innymi zewnÍtrznymi urz¹dzeniami (sieci sterownikÛw†S7-200), dokonuje samokontroli pod k¹tem sprawnoúci systemÛw S7-200, zapisuje stany wyjúÊ do obrazu wyjúÊ procesu, ostatecznie odczytuje stany wejúÊ z†obrazu wejúÊ procesu. Obraz wejúÊ i†wyjúÊ procesu to obszar wydzielonej pamiÍci gdzie zapisywane s¹ stany sygna³Ûw dla wejúÊ i†wyjúÊ sterownika. ChwilÍ czasow¹ w†ktÛrej odczytywany jest stan sygna³u dla wejúÊ i†zapisu dla wyjúÊ dobiera automatycznie system operacyjny. Sygna³y analogowe odczytywane z†modu³Ûw wejúÊ i†zapisywane do wyjúÊ analogowych nie posiadaj¹ obrazu wejúÊ i†wyjúÊ procesu. W†zwi¹zku z†tym wartoúci przekazywane lub odczytywane z†modu³Ûw analogowych s¹ wartoúciami chwilowymi. Bardzo bogaty zbiÛr instrukcji w†tym instrukcji zmiennoprzecinkowych, komunikacyjnych, konwersji, regulacji PID pozwala na tworzenie w†oparciu o†sterowniki S7-200 bardzo z³oøonych programÛw dostÍpnych do tej pory tylko na duøych systemach sterownia. DziÍki zintegrowanemu konfigurowalnemu portowi komunikacyjnemu moøliwe jest tworzenie zdecentralizowanych struktur sterowania i†gromadzenia danych w†oparciu o†tryb swobodny portu ASCII. Micha³ Bereza, Siemens Dodatkowe informacje
Rys. 3. W obszarze pamięci danych DB1 można przechowywać dane w różnych formatach
144
Pe³na dokumentacja w jêzyku angielskim do sterownika S7-200 znajduje siê w Internecie pod adresem: www.siemens.pl/simatic w podkatalogu Katalogi>Instrukcje.
Elektronika Praktyczna 11/2003