w w w. e p . c o m . p l ELEKTRONIKA PRAKTYCZNA •
(w tym 7% VAT)
15 zł 50 gr ●
maj ● Miêdzynarodowy magazyn elektroników konstruktorów
5/2001
5/2001 • maj
Analizator magistrali 1Wire
▲
Coraz większą popularnością wśród elektroników cieszą się układy wyposażone w interfejs 1Wire. Urzą− dzenie opisane na str. 33 ułatwi diagnostykę magistrali z dołączonymi wieloma układami tego typu.
Alarm bagażowy ▲ Zdumienie może budzić fakt, że elektroniczne zabezpieczenie bagażu musi być tak skomplikowa− ne. My postawiliśmy na dużą skuteczność działania i łatwość stosowania alarmu. Szczegóły naszej propozycji przedstawiamy na str. 27.
Sygnalizator wstrząsów To prościutkie urządzenie można wykorzystać m.in. jako miniaturowy system alarmowy, zabezpieczający okna przed wybiciem. Str. 80.
▲
Joystick dla niepełnosprawnych
Jeżeli w Twojej duszy tkwi chociaż odrobina namiętności do hazardu − musisz spróbo− wać! Str. 37.
Na str. 41 kończymy opis konstrukcji joy− sticka dla niepełnosprawnych, który sporo radości może dostarczyć także całkowicie sprawnym użytkownikom komputerów.
▲
Syrena z układem ZSD100 ▲ Klasyczny “Miniprojekt”, w którym wszystkie “umiejętności” urządzenie zawdzięcza jednemu układowi scalonemu. Str. 79.
▲
▲
Gra zręcznościowa ▲
Regulator obrotów silników DC Tak wygodne w obsłudze regulatory obrotów do silników stałoprądowych są rzadkością na rynku: całą jego obsługę zapewnia pojedynczy nastawnik obrotowy, przypominający działa− niem standardowy poten− cjometr. Str. 21.
Zestaw ewaluacyjny dla układów MAX4135/6 Kolejna firma rozpoczyna prezentację swoich zestawów ewaluacyjnych na łamach EP. Zaczynamy od zestawu przygotowanego dla scalonych przełącz− ników sygnału wideo − MAX4135/6. Str. 76.
▲
▲ Programatory
▲
Czytnik linii papilarnych
Kolejny na łamach EP artykuł poświęcony biometrycznym syste− mom identyfikacji i kontroli dostę− pu. Str. 58.
Na str. 61 i 64 przedstawiamy dwa nowe na naszym rynku programatory uniwersalne. Jak widać konkurencja rośnie − ku naszemu pożytkowi − w siłę!
6
Elektronika Praktyczna 5/2001
Nr 5 (101) maj 2001
Projekty Wysokosprawny wzmacniacz audio 2x250W, część 1 ....... 14 Dwukierunkowy regulator obrotów silników DC .................. 21 Układ zabezpieczenia bagażu ............................................... 27
FPGA Starter Kit ▲ Atmel coraz łaskawiej patrzy na nasz rynek, w związku z czym poszerza ofertę swoich narzędzi ewaluacyjnych. Jedno z nich − dla układów FPGA − prezentujemy na str. 50.
Analizator magistrali 1WIRE, czyli porządkowanie bałaganu na linii jednoprzewodowej ................................... 33 Gra zręcznościowa .................................................................. 37 Joystick komputerowy dla osób niepełnosprawnych ........ 41
Miniprojekty Syrena z układem ZSD100 ....................................................... 79 Sygnalizator wstrząsów ............................................................ 80 Cyfrowa nagrywarka audio ................................................... 81
Automatyka Rejestratory danych ............................................................... 135 Inteligentny, miniaturowy, elegancki .................................. 139 Ciacho − miniaturowy PC firmy Advantech ....................... 145
Sprzęt
Układy CSoC ▲ Na str. 72 przedstawiamy rewolu− cyjną nowość: 8− i 32−bitowe układy System−on−a−Chip firmy Triscend.
eTrexLegend − nowy przenośny odbiornik GPS .................... 47 FPGA Starter Kit ......................................................................... 50 Czytnik linii papilarnych BioTouch .......................................... 58 Programator uniwersalny Micromaster LV48 ........................ 61 Nowe czasy, nowy Labtool ..................................................... 64 Promax 8+ − analizator sygnału telewizji kablowej .............. 68 Z183 − nowa propozycja ZiLOGa ............................................ 89
Programy Active−HDL − nowoczesne projektowanie układów FPGA/CPLD ............................................................... 77
Podzespoły 8− i 32−bitowe układy CSoC firmy Triscend ............................ 72
▲ Odbiornik GPS eTrexLegend Jeden z najnowszych przenośnych odbiorników firmy Garmin prezen− tujemy w artykule na str. 47.
Miniaturowe PC... ...są często nazywane − ze wzglę− du na wymiary − komputerami “ciasteczkowymi”. Jedną z takich “maszyn” przedstawiamy na str. 145.
Nowe Podzespoły ..................................................................... 87
Kurs ST6−Realizer − narysuj swój program! ...................................... 92
Projekty Czytelników Programator uniwersalny, część 2 ......................................... 95
Info Świat ......................................................................... 99 Info Kraj .......................................................................... 101 Kramik+Rynek .............................................................. 109
▲
Listy ................................................................................. 119 Ekspresowy Informator Elektroniczny ..................... 123 Wykaz reklamodawców ............................................ 134
Elektronika Praktyczna 5/2001
7
Wysokosprawny P R O J E K wzmacniacz T Y audio 2x250W
Wysokosprawny wzmacniacz audio 2x250W, część 1 AVT−5015
Na rynku uk³adÛw scalonych do wzmacniaczy audio d³ugo panowa³ zastÛj. W†ostatnich dwÛch latach nast¹pi³ rewolucyjny prze³om, ktÛry z†pewnym opÛünieniem dotar³ takøe do Polski: w†artykule przedstawiamy opis konstrukcji wzmacniacza audio wysokiej jakoúci, o†bardzo duøej mocy muzycznej (2x250W), ktÛry praktycznie nie wymaga ch³odzenia. Niewiarygodne? Zobaczcie sami!
Najważniejsze parametry i właściwości wzmacniacza AVT−5015: ✗ moc muzyczna: 2x250W (THD=1,2%, RL=4Ω), ✗ moc wyjściowa dla sygnału sinusoidalnego i THD=0,1% (RL=4Ω): 150W, ✗ pasmo przenoszenia: 17Hz..80kHz, ✗ odstęp sygnału od szumu: >99dB, ✗ separacja kanałów nie gorsza niż: −75dB (w całym pasmie), ✗ klasa pracy: T, ✗ sprawność (Pout=160W, RL=4Ω): 87%, ✗ wbudowane zabezpieczenia antyprzeciążeniowe.
14
Ojcem (matk¹?) sukcesu jest amerykaÒska firma Tripath, ktÛra po latach doúwiadczeÒ ze wzmacniaczami audio pracuj¹cymi w†klasie D (z cyfrow¹ modulacj¹ sygna³u audio metod¹ PWM) opracowa³a w³asn¹, zupe³nie now¹ klasÍ wzmacniaczy, ktÛr¹ nazwan¹ T. Podstawowa zasada dzia³ania wzmacniaczy pracuj¹cych w†klasie T jest podobna do klasycznych wzmacniaczy impulsowych, tzn. sygna³ wyjúciowy wzmacniacza jest ci¹giem impulsÛw o†modulowanym wype³nieniu i†- istotna nowoúÊ czÍstotliwoúci. To w³aúnie dziÍki modyfikowaniu czÍstotliwoúci noúnej PWM wzmacniacze pracuj¹ce w†impulsowej klasie T nie zniekszta³caj¹ sk³adowych sygna³u wyjúciowego o†czÍstotliwoúciach powyøej 1,5..2kHz jak dzieje siÍ to w†klasie D (rys. 1), w†zwi¹zku z†czym maj¹ pasmo przenoszenia porÛwnywalne (rys. 2) ze wzmacniaczami pracuj¹cymi w†klasie A lub AB. Tak dobry wynik osi¹gniÍto - niestety - doúÊ duøym kosztem, poniewaø sygna³ wejúciowy poddawany wzmacnianiu jest
poddawany dog³Íbnej analizie widmowej przez procesor sygna³owy wbudowany w†uk³ad steruj¹cy (rys. 3). Procesor ten odpowiada za dostosowanie czÍstotliwoúci noúnej do widma sygna³u wejúciowego, a†takøe - dziÍki rozbudowanym obwodom sprzÍøenia zwrotnego dostosowuje parametry sterowania wyjúciowych tranzystorÛw mocy do ich indywidualnych charakterystyk. DziÍki temu dobranie tranzystorÛw pracuj¹cych w†koÒcÛwkach mocy nie jest zbyt trudne. Wed³ug informacji udostÍpnionych przez producenta, czÍstotliwoúÊ noúnej PWM dla sygna³Ûw o†niewielkich amplitudach i†niskich czÍstotliwoúciach wynosi ok. 1,2MHz. Spada ona do ok. 200kHz dla sygna³Ûw o†bardzo duøych amplitudach. DziÍki uzaleønieniu czÍstotliwoúci sygna³u noúnego od amplitudy sygna³u wyjúciowego poszerzeniu ulega zakres liniowej pracy elementÛw indukcyjnych, ktÛre wykorzystano do filtracji sygna³u wyjúciowego. W†tym momencie wypada zadaÊ pytanie, po co inøynierowie
Elektronika Praktyczna 5/2001
Wysokosprawny wzmacniacz audio 2x250W
Rys. 1. Zniekształcenia w funkcji częstotliwości wzmacniacza pracującego w klasie D.
Rys. 4. Zawartość harmonicznych w sygnale wyjściowym przykładowego wzmacniacza pracującego w klasie D.
Rys. 2. Zniekształcenia w funkcji częstotliwości wzmacniacza pracującego w klasie T.
firmy Tripath tak bardzo skomplikowali wzmacnianie sygna³u audio? Odpowiedü jest bardzo prosta: ze wzglÍdÛw oszczÍdnoúciowych. Wzmacniacze pracuj¹ce w†klasie AB lub A charakteryzuj¹ siÍ doskona³ymi parametrami (ma³e zniekszta³cenia, duøe wzmocnienie, szerokie pasmo przenoszenia), lecz maj¹ ma³¹ a†nawet bardzo ma³¹ (zw³aszcza wzmacniacze pracuj¹ce w†klasie A) sprawnoúÊ energetyczn¹. Z†kolei wzmacniacze impulsowe pracuj¹ce w†klasie D maj¹ duø¹ sprawnoúÊ energetyczn¹ (nawet do 88%), ale wnosz¹ do wzmacnianego sygna³u doúÊ duøe zniekszta³cenia, ktÛre s¹ szczegÛlnie dokuczliwe dla sk³adowych sygna³u wyjúciowego o†wyøszych czÍstotliwoúciach (rys. 4). Odtwarzanie muzyki za pomoc¹ wzmacniacza o†tak duøych zniekszta³ceniach jest praktycznie niemoøliwe, w†zwi¹zku z†czym klasa D doskonale przyjͳa siÍ w†systemach kina domowego, gdzie energooszczÍdne wzmacniacze s¹ wykorzystywane do zasilania g³oúni-
Rys. 5. Zawartość harmonicznych w sygnale wyjściowym przykładowego wzmacniacza pracującego w klasie T.
kÛw subniskotonowych o†paúmie przenoszenia do 250..500Hz. Na rys. 5 pokazano charakterystykÍ ilustruj¹c¹ poziom zniekszta³ceÒ w†funkcji mocy wyjúciowej wzmacniacza klasy T. PrzyjÍto warunki pomiarowe identyczne, jak dla odpowiedniego uk³adu pracuj¹cego w†klasie D (charakterystyka z†rys. 4) - przedstawiony wykres nie oznacza, øe w†zbudowanym przez nas wzmacniaczu przy 10W mocy wyjúciowej poziom zniekszta³ceÒ osi¹ga 10%!
TA0102A - serce wzmacniacza Pierwsze prÛby ze wzmacniaczami pracuj¹cymi w†klasie T konstruktorzy firmy Tripath prowadzili buduj¹c je z†elementÛw dyskretnych. Okaza³o siÍ, øe zoptymalizowany projekt sterownika moøna umieúciÊ w†pojedynczej obudowie i†dostarczaÊ go w†postaci gotowych modu³Ûw hybrydowych, nie wymagaj¹cych praktycznie øadnego ìstrojeniaî. Jednym z†pierwszych uk³adÛw tego typu na rynku by³ TA0102A, sterownik wzmac-
niaczy o†mocy wyjúciowej (sinus) ok. 150W w†kaødym kanale. W³aúnie ten uk³ad zastosowaliúmy w†prezentowanym projekcie.
Opis uk³adu Prezentowany w artykule wzmacniacz powsta³ w†oparciu o†bardzo szczegÛ³owe zalecenia producenta uk³adu TA0102A. W†dokumentacji udostÍpnionej m.in. na stronie www.tripath.com znajduje siÍ tak wiele wytycznych, øe potencjalny wykonawca wzmacniacza ma stosunkowo niewiele do zrobienia: zaprojektowaÊ p³ytkÍ drukowan¹. Jak siÍ jednak okaza³o, nie jest to zadanie zbyt proste, poniewaø pr¹d przep³ywaj¹cy impulsowo przez kluczowane z†duø¹ szybkoúci¹ tranzystory mocy powoduje powstawanie doúÊ duøych zak³ÛceÒ, ìchÍtnieî wykorzystywanych przez wzmacniacz jako pretekst do wzbudzania siÍ. Schemat elektryczny najwaøniejszej czÍúci wzmacniacza pokazano na rys. 6. Jak ³atwo siÍ domyúleÊ, najwaøniejszym elementem wzmacniacza jest uk³ad scalony U1. Sygna³y wejúciowe IN_L i†IN_R s¹ Tab. 1. Wartość czasu “martwego” w zależności od położenia zworek JP1 i JP2.
Rys. 3. Schemat blokowy układu TA0102A.
Elektronika Praktyczna 5/2001
Zwarte styki JP1 1−2 1−2 2−3 2−3
Zwarte styki JP2 1−2 2−3 1−2 2−3
Czas “martwy” [ns] 145 105 65 25
15
Wysokosprawny wzmacniacz audio 2x250W
Rys. 6. Schemat elektryczny wzmacniacza.
16
wstÍpnie filtrowane za pomoc¹ pasywnych filtrÛw LC, a†sk³adowa sta³a, jaka moøe w†nich wyst¹piÊ jest separowana za przez kondensatory C35 i†C36. Do wejúÊ sygna³owych IN1 i†IN2 U1 do³¹czono dwa potencjometry R17 i†R18, za pomoc¹ ktÛrych ustala siÍ napiÍcie polaryzuj¹ce stopieÒ wejúciowy wzmacniacza. Na z³¹cze wejúciowe JP4 wyprowadzono takøe sygna³ wyciszania wzmacniacza MUTE. Jeøeli zostanie podany na to wejúcie sygna³ cyfrowy o†poziomie napiÍcia odpowiadaj¹cym logicznej ì1î wzmacniacz przestanie pracowaÊ. Po ok. 200 ms od chwili podania na to wejúcie logicznego ì0î wzmacniacz rozpoczyna normaln¹ pracÍ. Jeøeli wejúcie to nie bÍdzie wykorzystane moøna uaktywniÊ wzmacniacz ìna sta³eî, zwieraj¹c styki 2-3 jumpera JP3. Bardzo istotn¹ rolÍ, zw³aszcza dla bezpieczeÒstwa kosztownego uk³adu TA0102A, pe³ni impulsowy stabilizator napiÍcia U2. Jest to uk³ad z†rodziny SimpleSwitcher produkowanej przez National Semicondutors. Pracuje on w†swojej typowej aplikacji stabilizatora obniøaj¹cego napiÍcie wejúciowe, a†jego zadaniem jest utrzymanie 12-woltowego odstÍpu napiÍcia zasilaj¹cego wejúcie referencyjne VN12 U1 od ujemnego napiÍcia zasilania -45V. Poniewaø pod wp³ywem zmian obci¹øenia wartoúÊ ujemnego napiÍcia zasilaj¹cego moøe siÍ zmieniaÊ w†szerokich granicach, producent zaleca stosowanie schematu zasilania tego wejúcia jak pokazano na rys. 7. Teoretycznie moøliwy, prostszy w†realizacji wariant zasilania pokazany na rys. 8, nie zapewnia bezpieczeÒstwa pracy U1. Zastosowanie doúÊ kosztownego stabilizatora impulsowego wyniknͳo z†faktu, øe wiÍkszoúÊ klasycznych stabilizatorÛw 3-koÒcÛwkowych nie pracuje stabilnie w†przypadku wykorzystanie bieguna zasilania jako wejúcia referencyjnego (masy). Poniewaø na-
Elektronika Praktyczna 5/2001
Wysokosprawny wzmacniacz audio 2x250W WYKAZ ELEMENTÓW
Rys. 7. Zalecany sposób wytwarzania napięcia polaryzującego VN12.
Rys. 8. Nieprawidłowy sposób wytwarzania napięcia polaryzującego VN12.
piÍcie zasilaj¹ce U2 ma duø¹ wartoúÊ, niezbÍdnym okaza³o siÍ zastosowanie stabilizatora wysokonapiÍciowego (LM2594HV - High Voltage, moøe pracowaÊ przy napiÍciu wyjúciowym wynosz¹cym maksymalnie 57V), a†ze wzglÍdu na wygodÍ montaøu zdecydowano siÍ na uøycie uk³adu o†fabrycznie ustalonym napiÍciu wyjúciowym. Wbudowany w†U1 procesor steruj¹cy wyjúciowe tranzystory mocy moøna skonfigurowaÊ za pomoc¹ zworek JP1 i†JP2 w†taki sposÛb, aby zoptymalizowaÊ parametry sterowania pod k¹tem szybkoúci ich pracy.
Końcówka mocy Rezystory R1, R2: 20kΩ R3, R6, R11, R14: 0,01Ω/1W bezindukcyjne R4, R5, R9, R10: 5,6Ω/1W bezindukcyjne R7, R12: 33Ω/2W bezindukcyjne R8, R13: 1kΩ/1W bezindukcyjne R15: 1,5kΩ R16: 10kΩ R17, R18: 10kΩ potencjometry miniaturowe R19..R22: 1MΩ R30, R31: opcjonalnie według opisu w tekście Kondensatory C1..C7, C14, C16, C17: 100nF/100V C8, C13, C15, C27: 100µF/100V C9, C10, C34: 100nF/50V C11: 10µF/100V C12: 100µF/25V C18..C23: 10nF/100V C28, C29: 100µF/150V C30, C31: 220nF C32, C33: 47pF C35, C36: 1µF/25V C37..C40: 10nF/50V Półprzewodniki D1..D4: MUR120 D5: dowolna LED D8: MBR150 lub MBR160
Oznacza to, øe podczas prze³¹czania par tranzystorÛw T1, T3 i†T2, T4 procesor pomiÍdzy cyklami naprzemiennego w³¹czania tranzystorÛw wstawia czas ìmartwyî kiedy to obydwa tranzystory powinny byÊ
Rys. 9. Schemat elektryczny opcjonalnego bloku zabezpieczającego głośniki.
Elektronika Praktyczna 5/2001
T1..T4: STB19NB20 U1: TA0102A U2: LM2594HV−13 Różne L1, L2: 11µH/10A L3, L4: według opisu w tekście L5: 330µH/2A L6, L7: 1µH/10A JP1..JP3: goldpiny 1x3 z jumperami ARK2 2 szt. ARK3 2 szt. Listwa goldpin z 38 stykami (podstawka dla TA0102A) Radiator aluminiowy zgodnie z opisem w tekście Blok zabezpieczenia głośników (opcjonalny) Rezystory R23, R24: 1MΩ R25: 20kΩ R26, R27: 100kΩ R28: 220kΩ Kondensatory C24..C26: 1µF/50V Półprzewodniki D6: BAT83 D7: MBR150 lub MBR160 D9: 1N4148 Q5: BC557 Q6..Q9: BS170 Różne Przekaźnik np. Schrack RTE24−005
wy³¹czone. Funkcja ta naywa siÍ Break-Before-Make, a†jej zadaniem jest m.in. zminimalizowanie start energii w†przypadku zastosowania niezbyt szybkich tranzystorÛw wyjúciowych. W†tab. 1 zestawiono wartoúci czasu ìmartwegoî w†zaleønoúci od ustawienia zworek JP1 i†JP2. W†przypadku zastosowania sprawdzonych w†naszym laboratorium, w†zwi¹zku z†czym zalecanych tranzystorÛw STB19BN20 czas ìmartwyî powinien wynosiÊ 65ns. Konstrukcja stopni koÒcowych wzmacniacza jest niezbyt interesuj¹ca (czytaj: ma³o skomplikowana), lecz wymagania stawiane zastosowanym w†nich elementom s¹ bardzo wysokie. TwÛrcy uk³adu TA0102A wykazali siÍ ogromnym doúwiadczeniem, dziÍki czemu w†obydwu ga³Íziach stopni koÒcowych moøna zastosowaÊ tranzystory unipolarne z†kana³em N, zamiast najczÍúciej stosowanych par komplementarnych. Pomimo ci¹g³ego udoskonalania technologii, tranzystory mocy z†kana³em P†ci¹gle po-
17
Wysokosprawny wzmacniacz audio 2x250W zostaj¹ krok w†tyle (s¹ zazwyczaj wolniejsze) za swoimi odpowiednikami z†kana³em N. DziÍki temu unikamy koniecznoúci p³acenia wiÍcej lub ømudnego dobierania par podobnych tranzystorÛw, co zreszt¹ nie zawsze jest moøliwe. Uk³ad U1 jest wyposaøony w†system autodiagnostyki, ktÛrego stan jest sygnalizowany za pomo-
c¹ diody úwiec¹cej D5, sterowanej sygna³em z†wyjúcia HMUTE U1. åwiecenie tej diody oznacza poprawne warunki pracy uk³adu. W†przypadku wyst¹pienia przetÍøenia w†stopniu wyjúciowym dioda D5 gaúnie sygnalizuj¹c awariÍ. Ponowne w³¹czenie wzmacniacza wymaga zmiany stanu logicznego na wejúciu MUTE w†cyklu 0-1-0
lub wy³¹czenia i†w³¹czenia zasilania. W†przypadku zbyt niskiego lub zbyt wysokiego napiÍcia zasilania dioda D5 takøe gaúnie, a†powrÛt wzmacniacza do pracy jest moøliwy dopiero po podaniu napiÍcia zasilaj¹cego o†w³aúciwej wartoúci.
Dodatkowe bloki funkcjonalne Niezobowi¹zuj¹cym uzupe³nieniem prezentowanej konstrukcji jest blok zabezpieczenia g³oúnikÛw przed uszkodzeniem stopni wyjúciowych, ktÛry jednoczeúnie spe³nia rolÍ ich od³¹cznika, sterowanego sygna³em HMUTE. Schemat elektryczny tej czÍúci uk³adu pokazano na rys. 9. Jest to dok³adna kopia bloku zabezpieczaj¹cego opracowanego przez inøynierÛw firmy Tripath. Jego zalet¹ jest prostota uk³adowa i†odpornoúÊ na potencjalne uszkodzenia, lecz - jak pokaza³y doúwiadczenia prowadzone ze wzmacniaczem - jego stosowanie nie jest niezbÍdne. W†przypadku rezygnacji ze stosowania bloku zabezpieczaj¹cego naleøy zewrzeÊ za pomoc¹ grubego przewodu miedzianego styki przekaünika i†koniecznie zainstalowaÊ nastÍpuj¹ce elementy: L6, L7 i†C18..C23. Z†montaøu pozosta³ych elementÛw moøna zrezygnowaÊ. Piotr Zbysiñski, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/maj01.htm oraz na p³ycie CD-EP05/2001B w katalogu PCB.
18
Elektronika Praktyczna 5/2001
Dwukierunkowy regulator P obrotów R O J silników E K T DC Y
Dwukierunkowy regulator obrotów silników DC AVT−5011
Regulatory obrotÛw silnikÛw pr¹du sta³ego s¹ nieúmiertelnym tematem w†pismach przeznaczonych dla elektronikÛw, przede wszystkim ze wzglÍdu na wieloúÊ moøliwych aplikacji takich urz¹dzeÒ. Tym razem proponujemy mikroprocesorowy regulator obrotÛw, w†ktÛrym klasyczny potencjometr zast¹piono nastawnikiem impulsowym. Bardzo interesuj¹ce rozwi¹zanie!
Elektronika Praktyczna 5/2001
W†zasadzie sprawa jest prosta: wystarczy zbudowaÊ generator impulsÛw prostok¹tnych o†sta³ej czÍstotliwoúci i†zmiennym wype³nieniu (np. na NE555) i†do³¹czyÊ do jego wyjúcia tranzystor wykonawczy. Sprawa zaczyna siÍ jednak komplikowaÊ, jeøeli regulowaÊ mamy nie tylko pr¹d pobierany przez silnik, ale i†kierunek jego obrotÛw. Jeøeli do tego za³oøymy, øe zarÛwno prÍdkoúÊ obrotowa, jak i†kierunek obrotÛw maj¹ byÊ zmieniane za pomoc¹ jednego pokrÍt³a, z†zatrzymaniem silnika w†jego neutralnym po³oøeniu, to ca³oúÊ zaczyna siÍ komplikowaÊ. Tego nie da siÍ juø zrealizowaÊ na jednym typowym uk³adzie scalonym, szczegÛlnie jeøeli warunkiem jest stosowanie wy³¹cznie pÛ³przewodnikowych elementÛw prze³¹czaj¹cych, bez jakichkolwiek przekaünikÛw. Regulator obrotÛw silnikÛw pr¹du sta³ego znajdzie z†pewnoúci¹ zastosowanie przy zasilaniu silnikÛw ma³ych obrabiarek czy
wiertarek, stosowanych np. w†modelarstwie. Z†praktyki wiem, øe sterowanie takimi urz¹dzeniami wy³¹cznie za pomoc¹ potencjometru reguluj¹cego obroty silnika i†zatrzymuj¹cego jego ruch w†kraÒcowym po³oøeniu jest doúÊ k³opotliwe. Za kaødym bowiem razem, po ponownym uruchomieniu obrabiarki musimy ìodnajdywaÊî w³aúciw¹, uprzednio wystÍpuj¹c¹ prÍdkoúÊ obrotow¹ napÍdzaj¹cego silnika. A†zatem dobrze by³oby zapamiÍtywaÊ ostatnio ustalon¹ prÍdkoúÊ obrotow¹ i†powracaÊ do niej po powtÛrnym w³¹czeniu silnika. Dobrze by teø by³o, aby projektowany uk³ad mÛg³ pracowaÊ w†dwÛch trybach: jednym z†dok³adn¹ regulacj¹, powiedzmy z†krokiem 1%, i†w†drugim zgrubn¹, np. z†krokiem co 10%. Te wszystkie uwarunkowania spowodowa³y, øe do sterowania prac¹ regulatora postanowi³em zastosowaÊ procesor, ale procesor doúÊ nietypowy. Po raz kolejny postanowi³em skorzystaÊ
21
Dwukierunkowy regulator obrotów silników DC z†pomocy mojego faworyta: ìmaleÒkiegoî AT TINY, mikroprocesorka o†oúmiu wyprowadzeniach (piÍciu uniwerslanych), obywaj¹cego siÍ nawet bez zewnÍtrznego rezonatora kwarcowego. Niech jednak nikogo nie zmyli przydomek ìtinyî nadany przez producenta temu uk³adowi: jest to pe³nowartoúciowy procesor nie ustÍpuj¹cy w†niczym poza liczb¹ wyprowadzeÒ i†nieco zuboøonym wewnÍtrznym hardwarem, swoim braciom z†rodziny AVR. Proponowany uk³ad, g³Ûwnie dziÍki zastosowaniu procesora, jest banalne prosty i†³atwy do wykonania nawet dla zupe³nie pocz¹tkuj¹cego elektronika. Jego zalety praktyczne zosta³y przeze mnie potwierdzone podczas d³ugotrwa³ego uøywania regulatora do sterowania obrotami miniaturowej wiertarko-frezarki, stosowanej podczas budowy plastykowych modeli samolotÛw.
Opis dzia³ania Schemat elektryczny mikroprocesorowego regulatora obrotÛw silnikÛw DC pokazano na rys. 1. Sercem uk³adu jest tu zaprogramowany procesor typu AT TINY lub AT90S2313, do ktÛrego aktywnych wyprowadzeÒ do³¹czono proste uk³ady wykonawcze i†steruj¹ce. Jako elementy wykonaw-
cze, bezpoúrednio zasilaj¹ce do³¹czony do regulatora silnik, zastosowa³em cztery tranzystory MOSFET, pracuj¹ce w†uk³adzie mostka, w†ktÛrego przek¹tnej zosta³ w³¹czony silnik. Naleøy zauwaøyÊ, øe przewodzenie sterowanego przez procesor tranzystora T3 spowoduje jednoczesne w³¹czenie tranzystorÛw T1 i†T6 i†obrÛt silnika w†kierunku wskazÛwek zegara (oczywiúcie umownie!). Podobnie, wysterowanie bazy tranzystora T4 wywo³a w³¹czenie tranzystorÛw T2 i†T5 i†obrÛt silnika w†kierunku przeciwnym do ruchu wskazÛwek zegara. Lepiej nawet nie myúleÊ, jakie skutki wywo³a jednoczesne w³¹czenie tranzystorÛw T3 i†T4, ale ci Koledzy, ktÛrzy zechc¹ samodzielnie napisaÊ program steruj¹cy regulatorem, powinni zadbaÊ, aby taka sytuacja nigdy siÍ nie wydarzy³a. W†przeciwnym wypadku, jak mÛwi³ Grek Zorba, spotka nas ìpiÍkna katastrofaî. Czytelnicy, ktÛrzy obejrzeli juø zdjÍcia przedstawiaj¹ce model uk³adu regulatora z†pewnoúci¹ s¹ przekonani, øe nasz regulator bÍdzie sterowany za pomoc¹ potencjometru. Element umieszczony po prawej stronie p³ytki rzeczywiúcie do z³udzenia przypomina potencjometr, ale tak naprawdÍ nie ma z†tym powszechnie znanym elementem nic wspÛlne-
Tab. 1. Stany na wyjściach impulsatora w zależności od kierunku obracania ośki.
Krok1 Krok2 Krok3 Stop
Obrót w prawo Styk 1 Styk 2 1 0 1 1 0 1 0 0
Obrót w lewo Styk 1 Styk 2 0 1 1 1 1 0 0 0
go. S1 jest obrotowym impulsatorem mechanicznym (znanym juø z†projektÛw publikowanych w†Elektronice Praktycznej) produkowanym przez firmÍ Bourns, ktÛry podczas obracania jego oúk¹ generuje impulsy na dwÛch wyjúciach. Sekwencja tych impulsÛw (tab. 1) jest tak dobrana, øe do³¹czony do wyjúÊ impulsatora procesor moøe z†³atwoúci¹ nie tylko liczyÊ impulsy, ale takøe okreúliÊ kierunek obrotu oúki impulsatora. Zastosowanie impulsatora obrotowego zamiast zwykle uøywanych przyciskÛw znacznie zwiÍkszy³o komfort obs³ugi regulatora.
Rys. 1. Schemat elektryczny regulatora obrotów.
22
Elektronika Praktyczna 5/2001
Dwukierunkowy regulator obrotów silników DC Za pomoc¹ impulsatora nie tylko moøemy wygenerowaÊ dowoln¹ liczbÍ impulsÛw, ale ³atwo, intuicyjnie zwiÍkszaÊ lub zmniejszaÊ ich czÍstotliwoúÊ, przechodz¹c ze zgrubnej regulacji na precyzyjn¹. Pozosta³a czÍúÊ uk³adu to juø tylko typowy zasilacz, dostarczaj¹cy napiÍcia +5VDC, niezbÍdnego do zasilania procesora. Ze wzglÍdu na chÍÊ maksymalnego uproszczenia regulatora i zmniejszenia kosztÛw jego wykonania nie zastosowa³em w†nim typowego uk³adu zeruj¹cego procesor DS1813, a zast¹pi³em go prostym obwodem z†kondensatorem C5 i†rezystorem R10. To chyba wszystko, co moøna napisaÊ o†tak prostym hardware. Zajmijmy siÍ teraz steruj¹cym nim programem. Po wykonaniu typowych czynnoúci konfiguracyjnych, z†ktÛrych najwaøniejsz¹ jest okreúlenie sposobu pracy Timera0:
Do If Pinb.2 = 1 Then Exit Do 'zaczekaj w pętli aż do 'wykonania przez impulsator 'dalszej części obrotu Loop
Config Timer0 = Timer, Prescale = 8 Start Timer0 Enable Timer0 On Timer0 Tim_int
Podczas pracy programu w†pÍtli badana jest wartoúÊ zmiennej REGULATION_COUNTER. Naleøy tu zaznaczyÊ, øe zmienna ta zosta³a zadeklarowana jako INTEGER, czyli øe moøe przyjmowaÊ wartoúci ujemne, w†zakresie od -32768 do +32767. Jeøeli program wykryje, øe zmienna ta przyjͳa wartoúÊ 0, to:
oraz zbadanie stanu stykÛw przycisku S2 podczas w³¹czenia zasilania: Reset Portb.3 If Pinb.3 = 1 Then Step_flag = 1 Else Step_flag= 0 End If
program wchodzi w†pÍtlÍ podprogramu REGULATION, w†ktÛrej juø bÍdzie pracowa³ aø do wy³¹czenia zasilania. Pierwsz¹ czynnoúci¹ jaka zostanie wykonana w†pÍtli jest sprawdzanie stanu stykÛw impulsatora oraz przycisku S2: Sub Regulation Do Reset Portb.4: Reset Portb.2 'spróbuj ustawić stany niskie 'na wyjściach impulsatora If Pinb.4 = 1 And Pinb.2 = 0 Then 'jeżeli na wyjściu dołączonym 'do pinu 4 portu B pojawił się 'stan wysoki, czyli impulsator 'rozpoczął obrót w lewo, to:
Elektronika Praktyczna 5/2001
Do If Pinb.4 = 0 Then Exit Do 'następnie zaczekaj na 'wykonanie przez impulsator 'pełnego kroku Loop Incr Regulation_counter If Step_flag = 1 Then Regulation_counter = Regulation_counter + 9 'jeżeli układ pracuje w trybie 'regulacji zgrubnej to dodatkowo 'zwiększ wartość tej zmiennej 'o 9 If Regulation_counter > 100 Then Regulation_counter = 100 End If
If Regulation_counter = 0 Then Reset Portb.0: Reset Portb.1 'wyłącz tranzystory sterujące 'stopniem mocy End If
A†wiÍc, podczas pokrÍcania oúk¹ impulsatora i†zmniejszania obrotÛw silnika, obojÍtnie w†jakim kierunku pracowa³by, trafiamy w†pewnym momencie na ìpo³oøenie neutralneî, w†ktÛrym silnik zostaje wy³¹czony. Zmienna REGULATION_COUNTER badana jest takøe pod k¹tem jej wartoúci wzglÍdem zera: If Regulation_counter > 0 Then Direction_flag = 1 'wskaźnik kierunku obrotu 'ustawiany jest na 1 Else Direction_flag = 0 'wskaźnik kierunku obrotu 'ustawiany jest na 0 End If
If Regulation_counter <> 0 Then Regulation_flag = 1 'wskaźnik włączenia silnika 'ustawiany jest na 1 Enable Interrupts Else Regulation_flag = 0 'wskaźnik włączenia silnika 'ustawiany jest na zero Disable Interrupts End If
Waøn¹ rolÍ w†sterowaniu prac¹ uk³adu odgrywa przycisk S2, ktÛrego naciúniÍcie moøe powodowaÊ dwie odmienne reakcje programu: Reset Portb.3 'spróbuj ustawić stan niski 'na pinie 3 portu B If Pinb.3 = 1 And Regulation_flag = 1 Then 'jeżeli próba nieudana 'i wskaźnik włączenia silnika 'ustawiony jest na 1, to: Disable Interrupts Writeeeprom Regulation_counter,1 'zapisz w pamięci EEPROM 'aktualną wartość zmiennej 'REGULATION_COUNTER Reset Portb.0: Reset Portb.1 'wyłącz silnik Regulation_counter = 0 Regulation_flag = 0 'ustaw wskaźnik włączenia 'silnika na zero Wait 1 Enable Interrupts End If 'Dodatkowego komentarza wymaga 'powód zawieszania obsługi 'przerwania podczas wykonywania 'procedury zapisu lub odczytu 'danych z pamięci wewnętrznej 'EEPROM procesora. Niewyłącze'nie obsługi przerwania 'pochodzącego od timera może 'powodować błędy w operacjach 'dokonywanych na pamięci EEPROM Reset Portb.3 'spróbuj ustawić stan niski 'na pinie 3 portu B If Pinb.3 = 1 And Regulation_flag = 0 Then 'jeżeli próba nieudana 'i wskaźnik włączenia silnika 'ustawiony jest na 0, to: Disable Interrupts Readeeprom Temp2, 1 'odczytaj z pamięci EEPROM 'poprzednią wartość zmiennej
23
Dwukierunkowy regulator obrotów silników DC 'REGULATION_COUNTER If Temp2 > 0 Then Direction_flag = 1 'wskaźnik kierunku obrotów jest 'ustawiany na 1 Regulation_counter = 1 End If If Temp2 < 0 Then Direction_flag = 0 'wskaźnik kierunku obrotów jest 'ustawiany na 0 Regulation_counter = -1 End If Soft_start_flag = 1 'znacznik zezwolenia na 'realizację miękkiego startu 'jest ustawiany na 1 Regulation_flag = 1 'znacznik włączenia regulacji 'jest ustawiany na 1 Waitms 255 ‘zaczekaj 255 ms Enable Interrupts End If
Zastosowany w†uk³adzie procesor jest nieco uproszczony w†stosunku do innych, ìwiÍkszychî procesorÛw z†rodziny AVR. Wyposaøony jest tylko w†jeden timer, ktÛry nie dysponuje moøliwoúci¹ sprzÍtowej realizacji PWM. A†zatem musimy jej dokonaÊ programowo, a†w†pÍtli g³Ûwnej programu dokonywane s¹ wstÍpne obliczenia wartoúci zmiennych decyduj¹cych o†wspÛ³czynniku PWM. Regulation_value = Abs(regulation_counter) 'przeliczenie zmiennej 'REGULATION_COUNTER na jej 'wartość bezwzględną Regulation_value = Regulation_value * 2.5 'dostosowanie obliczonej 'wartości do pojemności 'rejestru timera0 Pw1 = Regulation_value 'obliczenie pierwszej 'wartości PWM Pw2 = 255 - Pw1 'obliczenie drugiej 'wartości PWM
Raptowne w³¹czanie zasilania nie jest ìzdroweî ani dla silni-
24
kÛw, ani dla zasilaj¹cych je ürÛde³ energii. Dlatego teø w†programie zosta³a zaimplementowana procedura miÍkkiego startu silnika, realizowana po naciúniÍciu przycisku S2 i†odczytaniu z†pamiÍci EEPROM zapisanego tam wspÛ³czynnika regulacji. If Soft_start_flag = 1 Then 'jeżeli wskaźnik aktywności 'miękkiego startu został 'ustawiony na 1, to: If Direction_flag = 1 Then Incr Regulation_counter 'jeżeli wskaźnik kierunku 'obrotów ustawiony jest na 1, 'to zwiększ o 1 wartość 'zmiennej REGULATION_COUNTER If Direction_flag = 0 Then Decr Regulation_counter If Regulation_counter = Temp2 Then Soft_start_flag = 0 'jeżeli zmienna REGULATION_ 'COUNTER osiągnęła wartość 'odczytaną z pamięci EEPROM, 'to koniec procedury 'miękkiego startu Waitms 10 End If
'zaczekaj 10 ms
Jak dot¹d, zadaniem wszystkich dzia³aÒ podejmowanych przez program steruj¹cy prac¹ uk³adu by³o jedynie przygotowanie danych, ktÛre zostan¹ wykorzystane do regulacji mocy silnika metod¹ PWM. To, co najistotniejsze dla dzia³ania uk³adu, rozgrywa siÍ w†ma³ym podprogramie TIM0_INT, wykonywanym po zg³oszeniu przerwania od Timera0.
Set Portb.0 'włącz tranzystor T4 Else Set Portb.1 'włącz tranzystor T3 End If Else Timer0 = Pw1 Reset Portb.0: Reset Portb.1 'wyłącz obydwa tranzystory 'sterujące End If Start Timer0 'uruchom TIMER0 Return
Montaø i†uruchomienie Na rys. 2 pokazano rozmieszczenie elementÛw na p³ytce obwodu drukowanego, wykonanego na laminacie dwustronnym z†metalizacj¹. Montaø tak prostego uk³adu w†zasadzie nie wymaga komentarza, ale chcia³bym poruszyÊ dwie istotne sprawy. Pierwsza dotyczy sposobu zamocowania impulsatora i†przycisku S2. Elementy te mog¹ zostaÊ przylutowane do p³ytki z†dowolnej strony, z†tym, øe zaleca³bym raczej zamontowanie ich od (umownej) strony úcieøek. Taki sposÛb montaøu u³atwi umieszczenie uk³adu w†obudowie, z†ktÛrej wyprowadzona zostanie oúka impulsatora i†koÒcÛwka przycisku S2.
Tim0_int: Stop Timer0 'zatrzymaj pracę Timera0 X = Not X 'zmienna pomocnicza X, 'deklarowana jako bit przyjmuje 'przeciwną wartość If X = 1 Then Timer0 = Pw2 'załaduj do rejestru Timera0 'obliczoną wartość PW2 If Direction_flag = 1 Then 'jeżeli silnik ma obracać się 'w prawo (umownie), to:
Rys. 2. Rozmieszczenie elementów na płytce drukowanej.
Elektronika Praktyczna 5/2001
Dwukierunkowy regulator obrotów silników DC
WYKAZ ELEMENTÓW Rezystory R1..R9: 1kΩ R10: 47kΩ R11..R14: 10kΩ Kondensatory C1: 100µF/10V C2, C3: 100nF C4: 1000µF/25V C5: 4,7µF/16V Półprzewodniki IC1: 7805 IC2: AT90S2343 T1, T2: IRF9540 T3, T4: BC548 T5, T6: BUZ11 Różne CON1, CON2: ARK2 (3,5mm) S1: impulsator obrotowy S2: przycisk microswitch (opcjonalnie)
Drugi problem dotyczy samego impulsatora. W†prototypie pokazanym na fotografii zastosowany
Elektronika Praktyczna 5/2001
zosta³ impulsator produkcji firmy Bourns o†doúÊ sporych wymiarach. Otrzyma³em ostatnio informacje, øe mog¹ wyst¹piÊ problemy z†zaopatrzeniem siÍ w†przysz³oúci w†taki w³aúnie typ impulsatora. Dlatego teø p³ytka obwodu drukowanego zosta³a przystosowana takøe do montaøu impulsatora innego typu (firmy Piher), ktÛry zawiera juø w†sobie takøe przycisk potrzebny do sterowania prac¹ uk³adu. Stosuj¹c drugi typ impulsatora, nie musimy montowaÊ przycisku S2. Jego rolÍ przejmie oúka impulsatora, ktÛra moøe byÊ nie tylko obracana, ale takøe naciskana. Zwiera wÛwczas wbudowane w†impulsator dodatkowe styki. Uk³ad zmontowany ze sprawdzonych elementÛw nie wymaga øadnej regulacji i†po w³oøeniu zaprogramowanego procesora w†podstawkÍ dzia³a natychmiast poprawnie. Jeøeli w†momencie w³¹czenia zasilania przytrzymamy przez chwilÍ przycisk S2, to
uk³ad rozpocznie pracÍ w†trybie regulacji zgrubnej, tj. ze skokiem co 10%. Podczas pracy regulatora kaøde naciúniÍcie przycisku S2 powoduje natychmiastowe zatrzymanie silnika i†zapamiÍtanie zarÛwno jego mocy, jak i†kierunku obrotÛw. Silnik moøna powtÛrnie uruchomiÊ dwoma sposobami: 1. Ponowne naciúniÍcie przycisku S2 spowoduje w³¹czenie silnika z†zapamiÍtanymi parametrami jego pracy. 2. Obracanie oúk¹ impulsatora spowoduje rozpoczÍcie pracy silnika z†parametrami zaleønymi od kierunku jej obrotu i†liczby wygenerowanych przez impulsator impulsÛw. Zbigniew Raabe, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/maj01.htm oraz na p³ycie CD-EP05/2001B w katalogu PCB.
25
Układ zabezpieczenia P R O J E bagażu K T Y
Układ zabezpieczenia bagażu AVT−5013
Chcia³bym zaproponowaÊ budowÍ kolejnego uk³adu alarmowego. BÍdzie to uk³ad bardzo nowoczesny, bo wyposaøony w†pilota radiowego realizuj¹cego takie funkcje, jak zdalne uzbrajanie i†rozbrajanie, PANIC (czyli zdalne w³¹czanie sygnalizacji alarmowej) oraz w†jeszcze jedn¹ opcjÍ, dot¹d nie spotykan¹ w†instalacjach alarmowych.
Elektronika Praktyczna 5/2001
CÛø to za nowoúÊ drogi autorze, zapytacie z†pewnoúci¹, przecieø takie systemy alarmowe juø budowaliúmy, a†i†ty sam masz juø kilka takich uk³adÛw na sumieniu! Nowoúci¹ jest przede wszystkim to, øe nasz uk³ad nie jest przeznaczony do zabezpieczania przed z³odziejami samochodu czy mieszkania, ale rÍcznego bagaøu, takiego jak walizka, teczka lub plecak. Zbudowanie takiego uk³adu ma, wobec stale wzrastaj¹cego w†naszym kraju zagroøenia kradzieøami, duøe uzasadnienie, szczegÛlnie jeøeli czÍsto podrÛøujemy kolej¹ lub autobusami. Nieustanne pilnowanie bagaøu nie jest bynajmniej spraw¹ prost¹, szczegÛlnie jeøeli jesteúmy sami w†przedziale kolejowym i†zaczyna nas morzyÊ sen. Na takie okazje tylko czekaj¹ kolejowi z³odzieje, ktÛrych pomimo wysi³kÛw policji jest coraz wiÍcej. Doskonale wiemy, øe nieraz wystarczy spuúciÊ nasz bagaø dos³ownie na kilka sekund z†oczu, aby uleg³ on natychmiastowej dematerializacji. Z³odzieje kolejowi nie s¹, podobnie jak ich koledzy ìpo
fachuî - kieszonkowcy, partaczami i†amatorami. To prawdziwi artyúci w†swoim nagannym ìrzemioúleî, stanowi¹cy zagroøenie dla naszego mienia. Drug¹ zupe³nie nietypow¹ funkcj¹, realizowan¹ przez uk³ad, jest w³¹czanie sygnalizacji alarmowej w†momencie, kiedy nasz bagaø ìdostanie nÛgî i†oddali siÍ od nas - a†w³aúciwie od nadajnika radiowego trzymanego w†kieszeni - na zbyt duø¹ odleg³oúÊ. Jest to oczywiúcie funkcja opcjonalna, w³¹czana osobnym przyciskiem w†pilocie. Jak ³atwo siÍ domyúliÊ, do jej realizacji wykorzystywane jest zjawisko ograniczonego zasiÍgu prostych nadajnikÛw radiowych o†niewielkiej mocy. Wad¹ tego rozwi¹zania jest uzaleønienie momentu zadzia³ania uk³adu od warunkÛw zewnÍtrznych. Oczywiste jest, øe zasiÍg nadajnika bÍdzie znacznie wiÍkszy na otwartej przestrzeni, niø np. w†poci¹gu, ktÛrego metalowa konstrukcja skutecznie ekranuje fale radiowe. Uk³ad moøna z†powodzeniem zastosowaÊ takøe jako alarm do roweru, oczywiúcie jako dodatkowe zabezpieczenie, bo trzeba jednak dogoniÊ z³odzieja.
27
Układ zabezpieczenia bagażu
Rys. 1. Schemat elektryczny nadajnika.
Proponowany uk³ad ma nieskomplikowan¹ budowÍ i†jego wykonanie nie powinno sprawiÊ nikomu wiÍkszych trudnoúci. Jedynie montaø nadajnika-pilota bÍdzie wymagaÊ sporej zrÍcznoúci i†zdolnoúci manualnych. Koszt wykonania uk³adu nie jest specjalnie wysoki, ale ze wzglÍdu na zastosowanie dwÛch modu³Ûw radiowych urz¹dzenie nie naleøy do najtaÒszych. I†tu pojawia siÍ odwieczny problem sensu inwestowania w†urz¹dzenia alarmowe. Jeøeli taki uk³ad nigdy nie okaøe siÍ potrzebny (czego wszystkim øyczÍ), to wydane na jego budowÍ lub zakup pieni¹dze zostan¹ zmarnowane. Jeøeli jednak nasz system alarmowy zadzia³a choÊby raz i†uchroni wartoúciowe przedmioty przed kradzieø¹, to zainwestowane w†niego pieni¹dze z†pewnoúci¹ zwrÛc¹ siÍ ze znacznym procentem.
Opis dzia³ania Schemat elektryczny nadajnika steruj¹cego prac¹ uk³adu pokazano na rys. 1, natomiast na rys. 2 przedstawiono schemat odbiornika i†bloku sygnalizacji (alarmowego). Sercem uk³adu nadajnika jest scalony koder typu HT12E, produkcji tajwaÒskiej firmy HOLTEK. Z†uk³adem tym, przeznaczonym w†zasadzie do sterowania samochodowymi systemami alarmowymi, mieliúmy juø okazjÍ siÍ zapoznaÊ i†dlatego przypomnÍ
28
tylko w†najwiÍkszym skrÛcie jego podstawowe parametry. Uk³ad HT12E jest scalonym koderem umoøliwiaj¹cym przes³anie zaszyfrowanej informacji sk³adaj¹cej siÍ z†jednego s³owa czterobitowego. Czterobitowe s³owo danych, ktÛre ma byÊ przekazane do odbiornika, jest ustawiane na wejúciach danych D1..D4, natomiast kod szyfru wprowadzamy przez wymuszanie odpowiednich, identycznych jak w†uk³adzie odbiorczym, stanÛw logicznych na wejúciach adresowych A0..A7. Praca kodera inicjowana jest podaniem stanu niskiego na jego wejúcie !TE. Podczas pracy nadajnika na wyjúcie DOUT IC1 jest nieustannie przekazywany kod (transmitowany szeregowo), zawieraj¹cy informacje o†ustawionym na wejúciach A0..A7 adresie i†stanie wejúÊ danych. Z†tego wyjúcia pobierany jest sygna³ kluczuj¹cy noún¹ nadajnika radiowego (modu³u RT1 Q2). Do sterowania prac¹ nadajnikapilota s³uø¹ cztery przyciski S1..S4. Jeøeli øaden z†nich nie jest naciúniÍty, to na wejúciu !TE uk³adu IC1 wystÍpuje stan wysoki (wymuszony wewnÍtrznym rezystorem) i†uk³ad ten znajduje siÍ w†stanie ìuúpieniaî, praktycznie nie pobieraj¹c pr¹du. Jeøeli ostatnio naciúniÍtym przyciskiem by³ S1, S2 lub S3, to na wyjúciu 4†przerzutnika RS zbudowanego z†bramek IC2A i†IC2B wystÍpuje
poziom niski, blokuj¹cy dzia³anie multiwibratora IC3. Poniewaø uk³ad ten wykonany jest w†technologii CMOS, takøe moøemy przyj¹Ê, øe nie pobiera on wÛwczas pr¹du. Rozpatrzmy teraz, jaka bÍdzie odpowiedü uk³adu na naciskanie kolejnych przyciskÛw: ARM (S1). NaciúniÍcie tego przycisku powoduje uzbrojenie systemu alarmowego znajduj¹cego siÍ w†strzeøonym obiekcie. Poziom niski z†tego przycisku zostaje przekazany za poúrednictwem diody D4 na wejúcie danych D1, a†za poúrednictwem diody D1 na wejúcie uaktywniania kodera (!TE). DISARM (S2). NaciúniÍcie tego przycisku powoduje rozbrojenie systemu alarmowego. Poziom niski z†tego przycisku zostaje przekazany za poúrednictwem diody D5 na wejúcie danych D2, a†za poúrednictwem diody D2 na wejúcie uaktywniania kodera (!TE). ALARM (S3). W³¹czanie funkcji bÍd¹cej odpowiednikiem ìPANICî w†samochodowym systemie alarmowym. Poziom niski z†tego przycisku zostaje przekazany za poúrednictwem diody D6 na wejúcie danych D3, a†za poúrednictwem diody D3 na wejúcie uaktywniania kodera (!TE). REMOTE (S4). W³¹czanie funkcji uruchamiania alarmu pod wp³y-
Elektronika Praktyczna 5/2001
Układ zabezpieczenia bagażu
Rys. 2. Schemat elektryczny odbiornika i bloku sygnalizacji.
wem nadmiernego odsuniÍcia nadajnika od odbiornika. NaciúniÍcie tego przycisku spowoduje wymuszenie niskiego poziomu na wejúciu ustawiaj¹cym przerzutnika RS zbudowanego na bramkach IC2A i†IC2B, a†w†konsekwencji powstanie poziomu wysokiego na wejúciu zeruj¹cym multiwibratora zbudowanego z†wykorzystaniem uk³adu NE555 - IC3. Multiwibrator rozpoczyna pracÍ generuj¹c impulsy prostok¹tne o†okresie trwania ok. 10s. Kaøde opadaj¹ce zbocze impulsu z†wyjúcia Q IC3 powoduje powstanie krÛtkiego (ok. 1s) impulsu ujemnego na wejúciu bramki IC2D. Impuls dodatni z†wyjúcia tej bramki, po zanegowaniu przez bramkÍ IC2C zostaje przekazany na wejúcie D4 IC1, a†za poúrednictwem diody D7 takøe na wejúcie !TE tego uk³adu. Naleøy zauwaøyÊ, øe kaøde wymuszenie stanu niskiego na wejúciu !TE IC1 powoduje jednoczeúnie spolaryzowanie bazy tranzystora T1 i†zasilenie uk³adu nadajnika radiowego Q1, ze wzglÍdu
Elektronika Praktyczna 5/2001
na konieczn¹ oszczÍdnoúÊ pr¹du zwykle wy³¹czonego. Podsumowuj¹c, naciúniÍcie przycisku ARM powoduje wyemitowanie przez nadajnik pilota kodu 1110, przycisku DISARM kodu 1101, przycisku ALARM kodu 1011. Natomiast naciúniÍcie przycisku REMOTE powoduje cykliczne emitowanie kodu 0111, ktÛre moøe byÊ zakoÒczone przez zmianÍ stanu przerzutnika RS, spowodowan¹ przez naciúniÍcie przycisku S1, S2 lub S3. Kaøda emisja sygnalizowana jest w³¹czeniem diody LED D8. Popatrzmy teraz na rys. 2 przedstawiaj¹cy schemat czÍúci odbiorczej naszego systemu alarmowego. Tu sercem uk³adu jest ìbratî HT12E - scalony dekoder typu HT12D IC1. Z†tym uk³adem mieliúmy juø do czynienia i†dlatego podajÍ teraz jedynie jego skrÛcon¹ charakterystykÍ. Zdemodulowany przez odbiornik Q1 sygna³ zawieraj¹cy informacjÍ wys³an¹ przez nadajnik jest podawany na wejúcie danych IC1 DIN (Data In). Dekoder dokonuje porÛwnania dwÛch kolejno odebranych transmisji i†jeøeli stwier-
dza ich identycznoúÊ, to na wyjúcia danych D1..D4 zostaje przekazane odebrane s³owo czterobitowe, a†na wyjúciu VT pojawia siÍ poziom wysoki. Rozpatrzmy teraz, jak bÍdzie siÍ zachowywa³ uk³ad odbiornika po odebraniu kaødego z†czterech kodÛw, ktÛre mog¹ byÊ wyemitowane przez nadajnik. Odebranie kodu 1110 (ARM) lub 1101 (DISARM) powoduje odpowiednio ustawianie lub wyzerowanie przerzutnika RS1 zbudowanego na bramkach IC2A i†IC2B. Po jego ustawieniu system alarmowy jest w†stanie oczekiwania na nastÍpne polecenia lub na sygna³ stanowi¹cy kryterium alarmu, czyli na zwarcie do masy poprzez z³¹cze CON1 wyprowadzenia 8†IC2C. Wyst¹pienie takiego zdarzenia spowoduje natychmiastowe ustawienie przerzutnika RS2. NastÍpstwem tego bÍdzie uruchomienie dwÛch generatorÛw: jednego wytwarzaj¹cego przebieg o†czÍstotliwoúci akustycznej ok. 1kHz (zbudowanego na bramce IC6A) kluczuj¹cego drugi generator (bramka IC6B). CzÍstotliwoúÊ pracy tego generatora moøemy
29
Układ zabezpieczenia bagażu
Rys. 3. Rozmieszczenie elementów na płytce drukowanej nadajnika.
zmieniaÊ w†szerokich granicach za pomoc¹ potencjometru montaøowego PR1, dostosowuj¹c j¹ do czÍstotliwoúci rezonansowej zastosowanego przetwornika piezo. Drugim sposobem w³¹czenia sygnalizacji alarmowej jest wys³anie do odbiornika kodu steruj¹cego 1011 (przycisk ALARM). Wyst¹pienie stanu niskiego na wyjúciu D3 IC1 spowoduje natychmiastowe ustawienie przerzutnika RS2 i†uruchomienie alarmu. Najbardziej interesuj¹c¹ jest funkcja REMOTE, uruchamiana zdalnie przez wys³anie kodu 0111. Wyst¹pienie poziomu niskiego na wyjúciu D4 IC1 spowoduje wyzerowanie trzeciego przerzutnika (RS3) i†w†konsekwencji zaprzestanie permanentnego zerowania licznika - generatora IC5. Po uruchomieniu funkcji REMOTE nadajnik emituje kod 0111 w†odstÍpach co ok. 10 s i†stan taki bÍdzie trwaÊ aø do chwili wy³¹czenia tej funkcji. Kaøde prawid³owe odebranie takiego kodu powoduje wystÍpowanie wysokiego poziomu na wyjúciu dekodera IC1. NapiÍcie to jest doprowadzone za poúrednictwem diody D3 na wejúcie RST licznika IC5, powoduj¹c jego okresowe zerowanie. CzÍstotliwoúÊ wytwarzana przez wewnÍtrzny genera-
Rys. 4. Rozmieszczenie elementów na płytce drukowanej odbiornika.
30
tor wbudowany w†uk³ad IC5 jest okreúlona wartoúci¹ rezystorÛw R5, R6 i†pojemnoúci¹ kondensatora C3, ktÛre zosta³y dobrane tak, øe licznik nigdy nie ìzd¹øyî policzyÊ takiej liczby impulsÛw, aby na jego wyjúciu Q14 pojawi³ siÍ stan wysoki. Zauwaømy teraz, co siÍ stanie jeøeli odbiornik przestanie odbieraÊ sygna³y kodu 0111 nadawane przez pilota, co moøe oznaczaÊ, øe nasz bagaø znalaz³ siÍ w†zbyt duøej odleg³oúci od nas, najprawdopodobniej porwany przez z³odzieja. Na wyjúciu Q14 licznika IC5 pojawi siÍ po jakimú czasie poziom wysoki, ktÛry po odwrÛceniu przez bramkÍ IC3C spowoduje w³¹czenie przerzutnika RS2, a†tym samym sygnalizacji alarmowej. Ostatnim fragmentem odbiornika, ktÛry naleøy omÛwiÊ jest uk³ad zasilania przetwornika piezo. Wysterowywany jest on z†wyjúÊ szeúciu pracuj¹cych jakby w†uk³adzie wzmacniacza BTL inwerterÛw zawartych w†uk³adzie IC4. Wejúcia inwerterÛw, po³¹czone po trzy, wysterowywane s¹ z†wyjúcia bramki IC6B oraz z†odwracaj¹cej fazÍ sygna³u bramki IC6D. Taki sposÛb zasilania przetwornika gwarantuje uzyskanie sygna³u akustycznego o†duøej g³oúnoúci, ktÛrego düwiÍk powinien przestraszyÊ z³odzieja i†sk³oniÊ go do porzucenia ³upu.
Montaø i†uruchomienie Schemat nadajnika wygl¹da na nieco rozbudowany, co moøe wzbudziÊ obawy, czy aby to wszystko zmieúci siÍ w†obudowie pilota od alarmu samochodowego. Bez obaw, zmieúci³o siÍ, a†nawet pozosta³o trochÍ wolnego miejsca, co nie zmienia faktu, øe trochÍ pomÍczy³em siÍ nad t¹ p³ytk¹. Montaø nadajnika-pilota rozpoczniemy od wykorzystania p³ytki obwodu drukowanego (schemat montaøowy na rys. 3) jako matrycy do zaznaczenia wewn¹trz obudowy punktÛw, ktÛre pos³uø¹ do wytrasowania otworÛw pod przyciski S1..S4. P³ytkÍ wk³adamy do obudowy ìtwarz¹ w†dÛ³î i†poprzez dodatkowe otwory pomiÍdzy punktami lutowniczymi przyciskÛw zaznaczamy na spodniej stronie obudowy cztery punkty,
WYKAZ ELEMENTÓW Nadajnik Rezystory R1, R5, R6: 1MΩ R2: 10kΩ R3, R4: 100kΩ R7: 5,6MΩ R8: 1kΩ Kondensatory C1: 560pF C2: 1µF/25V C3, C4: 100nF Półprzewodniki D1...D7: 1N4148 D8: LED φ3mm IC1: HT12E IC2: 4093 IC3: 7555 (555 w wersji CMOS) T1: BC557 Różne Q1: RT1 nadajnik 430MHz S1...S4: przycisk typu microswitch Obudowa pilota typu KM Odbiornik Rezystory PR1: 100kΩ potencjometr montażowy miniaturowy R1: 100Ω R2, R4, R5: 100kΩ R3: 1,2MΩ R6: 100kΩ (*) R7: 10kΩ R8: 470kΩ Kondensatory C1, C5: 100µF/10V C2, C4: 100nF C3: 4,7nF C6: 10nF Półprzewodniki D1...D4: 1N4148 IC1: HT12D IC2, IC3, IC6: 4093 IC4: 4069 IC5: 4060 Różne Q1: RR4 odbiornik radowy 430MHz Q2: przetwornik piezo PC110
ktÛre nastÍpnie przewiercamy wiert³em o†úrednicy 3,2mm. Montaø p³ytki wykonujemy typowo, tym razem zapominaj¹c nawet, øe istnieje coú takiego jak podstawki pod uk³ady scalone. NiektÛre elementy musimy zamocowaÊ do p³ytki od strony lutowania. S¹ to: rezystor R1 (pod uk³adem IC1), trzy diody, ktÛre raczej nie zmieszcz¹ siÍ pomiÍdzy przycis-
Elektronika Praktyczna 5/2001
Układ zabezpieczenia bagażu kami, rezystor R8 (pod modu³em nadajnika) i†kondensator C1 (takøe pod tym modu³em). Ze wzglÍdu na niewielkie wymiary p³ytki, na stronie opisowej nie umieszczono oznaczeÒ diod D1..D7, co jednak (ze wzglÍdu na identycznoúÊ tych elementÛw) nie ma najmniejszego znaczenia. Po zmontowaniu p³ytki pilota i†wywierceniu w†obudowie jeszcze jednego otworu o†úrednicy 3mm dla diody LED moøemy rozpocz¹Ê montaø odbiornika. Drug¹ p³ytkÍ montujemy (rys. 4) zgodnie z†przyjÍtymi zasadami, rozpoczynaj¹c od elementÛw o†najmniejszych gabarytach, a†koÒcz¹c na kondensatorach elektrolitycznych. Zastosowanie podstawek uzaleønione jest od typu i†wymiarÛw obudowy, w†ktÛrej umieúcimy zmontowany uk³ad. Zmontowany odbiornik nie wymaga uruchamiania, ale jedynie prostej regulacji polegaj¹cej na dostrojeniu czÍstotliwoúci generatora z†IC6B do czÍstotliwoúci rezonansowej zastosowanego przetwornika piezo. Strojenie to moøemy wykonaÊ na s³uch, po wymuszeniu poziomu wysokiego na wejúciu 5 bramki IC6B (moøna na czas regulacji zewrzeÊ poprzez rezystor 10kΩ wejúcia bramki IC6C do masy). Nadajnik powinien byÊ zasilany napiÍciem sta³ym o†wartoúci 6..12VDC, a†rodzaj ürÛd³a zasilania - bateria 12V - narzucony zosta³ przez typ zastosowanej obudowy. BateriÍ najlepiej po³¹czyÊ z†p³ytk¹ za pomoc¹ stykÛw wykonanych z†kawa³kÛw blachy fosforowej (np. ze stykÛw starego przekaünika). Do zasilania odbiornika napiÍciem nie przekraczaj¹cym 6V najlepiej wykorzystaÊ cztery bateryjki 1,5V typu R6 umieszczone w†koszyczku. Natomiast sposÛb obudowania nadajnika, umocowania przetwornika piezo i†wykonania styku w³¹czaj¹cego alarm zaleøy wy³¹cznie od rodzaju zabezpieczanego obiektu i†wyobraüni wykonawcy. MogÍ jedynie sugerowaÊ, øe jako styk w³¹czaj¹cy alarm moøna by³oby zastosowaÊ w³¹cznik rtÍciowy, zwieraj¹cy siÍ pod wp³ywem zmiany po³oøenia bagaøu. Moøna teø wykorzystaÊ czujniki wstrz¹sowe stosowane
Elektronika Praktyczna 5/2001
Układ zabezpieczenia bagażu
w†alarmowych instalacjach samochodowych lub wykonane we w³asnym zakresie. Andrzej Gawryluk, AVT Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/maj01.htm oraz na p³ycie CD-EP05/2001B w katalogu PCB.
31
Analizator P R magistrali O J E K 1WIRE T Y
Analizator magistrali 1WIRE, czyli porządkowanie bałaganu na linii jednoprzewodowej AVT−5012
Projektanci systemÛw mikroprocesorowych stosuj¹ w swoich projektach rÛønego rodzaju magistrale transmisyjne, za pomoc¹ ktÛrych moøna przesy³aÊ informacje do i†z†procesora. Jedn¹ z†nich jest opracowana przez firmÍ Dallas jednoprzewodowa magistrala 1WIRE, ktÛra jest coraz chÍtniej wykorzystywana.
Elektronika Praktyczna 5/2001
Rol¹ magistral jest umoøliwienie przesy³ania danych miÍdzy jednostk¹ centraln¹ systemu a†uk³adami peryferyjnymi. Projektanci magistrali zawsze d¹øyli do maksymalnego uproszczenia nie tylko protoko³Ûw transmisji danych, ale takøe do ograniczenia liczby przewodÛw potrzebnych do przes³ania danych. Moøna powiedzieÊ, øe w†tym d¹øeniu do doskona³oúci zosta³ juø nawet osi¹gniÍty kres: firma DALLAS zaprojektowa³a szeroko obecnie wykorzystywan¹ magistralÍ najprostsz¹ z†moøliwych: jednoprzewodow¹. No cÛø, tego juø nie da siÍ uproúciÊ, podobnie jak nie da siÍ uproúciÊ doskona³ej figury geometrycznej, czyli ko³a, czy teø idealnego systemu liczbowego dwÛjkowego.
Magistrala 1WIRE znalaz³a wielkie uznanie z†powodu kraÒcowego zminimalizowania liczby stosowanych przewodÛw oraz moøliwoúci przesy³ania danych na znaczne odleg³oúci, ale jedn¹ z†przyczyn by³ szeroki asortyment uk³adÛw sterowanych protoko³em 1WIRE, oferowanych przez firmÍ DALLAS. Moøna tu wymieniÊ s³ynne uk³ady iBUTTON, czyli ìmagiczne tabletkiî, termometry, prze³¹czniki i†wiele innych uk³adÛw, z†ktÛrych kaødy posiada swÛj w³asny, niepowtarzalny numer seryjny. Tu w³aúnie dochodzimy do chyba najwiÍkszej zalety magistrali 1WIRE: w†przeciwieÒstwie do np. magistrali I2C, liczba uk³adÛw jednoczeúnie do³¹czonych do systemu 1WIRE nie jest niczym ograniczona. Moøemy zatem wyobraziÊ sobie system mikroprocesorowy, w†ktÛrym z†jednego tylko wyprowadzenia procesora bÍdziemy sterowaÊ setkami urz¹dzeÒ wykonawczych do³¹czonych do uk³adÛw DS2405, badaÊ temperaturÍ
33
Analizator magistrali 1WIRE
Rys. 1. Schemat elektryczny analizatora magistrali 1WIRE.
w†setkach miejsc (uøywaj¹c termometrÛw DS1820) i†to wszystko za pomoc¹ tylko jednego przewodu sygna³owego. Jak juø wspomnieliúmy, kaødy uk³ad pracuj¹cy na magistrali 1WIRE posiada swÛj w³asny, niepowtarzalny numer seryjny. Jednak to, co umoøliwia do³¹czenie do jednej linii dowolnej liczby uk³adÛw moøe byÊ niejednokrotnie przyczyn¹ problemÛw, niekiedy trudnych do przezwyciÍøenia. Aby nawi¹zaÊ kontakt z†jakimkolwiek uk³adem 1WIRE, musimy najpierw poznaÊ jego numer seryjny, czyli adres, pod ktÛry bÍdziemy wysy³aÊ polecenia steruj¹ce prac¹ tego uk³adu. Numer seryjny kaødego z†uk³adÛw 1WIRE sk³ada siÍ z†oúmiu bajtÛw, z†ktÛrych najczÍúciej znamy tylko jeden: bajt pierwszy, okreúlaj¹cy typ uk³adu. Co wiÍc zrobiÊ, jeøeli mamy zamiar do³¹czyÊ system mikroprocesorowy do zmontowanej juø magistrali 1†WIRE, na ktÛrej ìwisiî, powiedzmy, kilkadziesi¹t termometrÛw DS1820? Procedury umoøliwiaj¹ce identyfikacjÍ kaødego z†uk³adÛw 1WI-
34
RE jednoczeúnie do³¹czonych do magistrali istniej¹ i†zosta³y nawet opublikowane przez firmÍ DALLAS. Jednak ich praktyczna realizacja programowa jest bardzo trudna, a†ponadto ze wzglÍdu na znaczny stopieÒ komplikacji, procedury te zajmuj¹ bardzo duøo miejsca w†pamiÍci programu procesora. Tak wiÍc s¹dzÍ, øe samodzielne urz¹dzenie umoøliwiaj¹ce identyfikacjÍ dowolnej liczby uk³adÛw 1WIRE mog³oby oddaÊ wielu konstruktorom nieocenione us³ugi. Urz¹dzenie takie zosta³o przeze mnie skonstruowane i†przetestowane. A†oto dane techniczne proponowanego analizatora: - umoøliwia okreúlenie liczby uk³adÛw do³¹czonych w†danym momencie do magistrali 1WIRE, - po okreúleniu liczby uk³adÛw, odnajduje ich numery seryjne. - maksymalna liczba uk³adÛw do³¹czonych do badanej magistrali wynosi 65536 i†moøe byÊ, po drobnej przerÛbce programu steruj¹cego prac¹ procesora, zwiÍkszona nawet do 4294967294,
- wszystkie te informacje s¹ przekazywane dwoma drogami: poprzez ³¹cze RS232 do terminala
Rys. 2. Rozmieszczenie elementów na płytce drukowanej.
Elektronika Praktyczna 5/2001
Analizator magistrali 1WIRE List. 1. Program sterujący pracą mikrokontrolera w analizatorze ' Program sterujący analizatorem linii 1WIRE ' Program napisany w języku MCS BASIC dla procesorów AVR ' $crystal = 8000000 'określenie częstotliwości pracy oscylatora procesora $baud = 9600 'określenie szybkości transmisji RS232 Config Lcd = 16 * 1a 'określenie typu wyświetlacza alfanumerycznego Config 1wire = Portb.0 'określenie pinu procesora, do którego zostanie dołączona 'magistrala 1WIRE Config Pind.6 = Input 'pin 6 portu D procesora będzie wykorzystywany jako wejście Dim Devices_number As Word 'zmienna określająca maksymalną liczbę badanych układów 1WIRE (65536) 'zadeklarowanie tej zmiennej jako SINGLE zwiększa tę wartość do 4294967294 Dim Register_number(8) As Byte 'tablica przechowująca informacje o odczytanych numerach seryjnych 'układów 1WIRE Dim Temp As Word 'zmienna pomocnicza Dim Temp2 As Byte 'zmienna pomocnicza Dim Name As Word 'zmienna określająca typ układu Const Const Const Const
T$1 T$2 T$3 T$4
Declare Declare Declare Declare Declare
= = = =
Sub Sub Sub Sub Sub
“SERIAL NUMBER” “S1-START TESTING” “ DEVICES” “DS” Main Testing Ds_identification Display_number Waiting
'deklaracje 'deklaracja 'deklaracja 'deklaracja 'deklaracja
utworzenia podprogramu pętli głównej programu podprogramu testowania magistrali 1WIRE podprogramu identyfikacji poszczególnych układów 1WIRE podprogramu wyświetlania numerów seryjnych podprogramu oczekiwania na naciśnięcie klawisza
Cls Cursor Off
'wyczyść ekran wyświetlacza 'wyłącz kursor
Sub Main Print Print T$2
'główna pętla programowa 'odstęp jednej linii na ekranie terminala 'wyślij do terminala komunikat S1-START TESTING, informujący, że po 'naciśnięciu klawisza S1 rozpocznie się testowanie magistrali 1WIRE 'wyświetl taki sam komunikat na ekranie LCD 'skok do podprogramu oczekiwania na naciśnięcie klawisza
Lcd T$2 Waiting End Sub
Sub Testing 'podprogram testowania magistrali 1WIRE Devices_number = 1wirecount() '1WIRECOUNT zwraca zmienną DEVICES_NUMBER określającą 'liczbę układów dołączonych do magistrali Cls Lcd T$3; “ “;; Devices_number 'wyświetl komunikat “DEVICES:” i podaj liczbę 'odnalezionych układów Print Devices_number; T$3 'wyślij te same informacje do terminala If Devices_number = 0 Then Main 'jeżeli do magistrali 1WIRE nie dołączono żadnych 'układów, to powróć do pętli głównej Waiting 'skok do podprogramu oczekiwania na naciśnięcie klawisza Cls Register_number(1) = 1wsearchfirst() '1WSEARCHFIRST zwraca numer seryjny pierwszego układu 'dołączonego do magistrali 1WIRE. Kolejne bajty są zapisywane w tablicy 'REGISTER_NUMBER(8) Ds_identification 'wezwij podprogram identyfikacji typu układu 1WIRE Waiting 'skok do podprogramu oczekiwania na naciśnięcie klawisza Cls Print T$1 'wyświetl tekst “SERIAL NUMBER:” Display_number 'skok do podprogramu wyświetlania numeru seryjnego układu Waiting 'skok do podprogramu oczekiwania na naciśnięcie klawisza For Temp = 2 To Devices_number
'wykonaj o jeden mniej razy niż stwierdzona liczba 'układów dołączonych do 1WIRE Register_number(1) = 1wsearchnext() '1WSEARCHNEXT zwraca numery seryjne kolejnych 'układów dołączonych do magistrali 1WIRE. Kolejne bajty są zapisywane 'w tablicy REGISTER_NUMBER(8) Cls Ds_identification 'skok do podprogramu identyfikacji typu układu 1WIRE Waiting 'skok do podprogramu oczekiwania na naciśnięcie klawisza Print T$1 'wyświetl tekst “SERIAL NUMBER:” Display_number 'skok do podprogramu wyświetlania numeru seryjnego układu Waiting 'skok do podprogramu oczekiwania na naciśnięcie klawisza Next Temp
Main End Sub
'podprogram identyfikacji typu układu 1WIRE 'wyświetl kolejny numer odnalezionego układu i tekst “: DS” 'wyślij te same komunikaty do terminala
Select Case Register_number(1)
Lcd Name Print Name End Sub
Opis dzia³ania Na rys. 1 pokazano schemat elektryczny uk³adu analizatora linii 1WIRE. Uk³ad zawiera zaledwie dwa uk³ady scalone, w†tym zaprogramowany procesor typu AT90S2313, bÍd¹cy jego ìsercemî. Drugi uk³ad scalony, dobrze wszystkim znany MAX232, umoøliwia przekazywanie informacji pozyskanych z†magistrali 1WIRE do komputera poprzez ³¹cze RS232. Do procesora do³¹czono takøe typowy wyúwietlacz alfanumeryczny LCD 16*1 znakÛw umoøliwiaj¹cy pos³ugiwanie siÍ analizatorem bez koniecznoúci do³¹czania go do komputera. ZarÛwno MAX232, jak i†wyúwietlacz alfanumeryczny mog¹ byÊ traktowane jako elementy opcjonalne: jeøeli mamy zamiar korzystaÊ wy³¹cznie z†uk³adu wspÛ³pracuj¹cego z†komputerem, to stosowanie wyúwietlacza jest zupe³nie zbÍdne. Z†kolei, jeøeli nie bÍdziemy korzystaÊ z†komputera, to uk³ad transmisji RS232 takøe jest zbÍdny. Dalsze omawianie tak prostego schematu nie ma chyba wiÍkszego sensu. Skupmy siÍ zatem na opisie programu steruj¹cego prac¹ analizatora. Poniewaø ten program jest rÛwnieø bardzo krÛtki, pozwalam sobie zaprezentowaÊ Czytelnikom jego pe³ny listing, opatrzony stosownymi komentarzami.
'powróć do pętli głównej programu
Sub Ds_identification Lcd Temp; “: “; T$4; Print Temp; “: “; T$4;
Case Case Case Case Case Case Case Case Case Case Case End Select
programowego komputera lub na do³¹czony do uk³adu wyúwietlacz alfanumeryczny LCD.
&H10: &H05: &H11: &H16: &H18: &H1A: &H14: &H91: &H89: &H0B: &H0F:
Name Name Name Name Name Name Name Name Name Name Name
= = = = = = = = = = =
1820 2405 1920 1954 1962 1963 1971 1981 1982 1985 1986
'w zależności od wartości pierwszego bajtu numeru 'seryjnego odnalezionego układu: 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu 'określ końcówkę nazwy tego układu
Montaø i†uruchomienie Na rys. 2 pokazano rozmieszczenie elementÛw na p³ytce drukowanej, wykonanej na laminacie dwustronnym z†metalizacj¹. Montaø uk³adu rozpoczniemy od wlu-
'wyświetl nazwę układu 1WIRE 'wyślij ten sam komunikat do terminala
Sub Display_number 'podprogram wyświetlania numeru seryjnego układu For Temp2 = 1 To 8 Lcd Hex(register_number(temp2)); 'wyświetl na ekranie LCD kolejne bajty numeru 'seryjnego danego układu. Dane wyświetlane będą w formacie HEX, 'z powodu ograniczonej ilości miejsca na ekranie bez odstępów. Print Hex(register_number(temp2)); “ “; 'wyślij te same dane do terminala Next Temp2 Print 'utwórz odstęp pomiędzy liniami tekstu na ekranie terminala End Sub Sub Waiting 'podprogram oczekiwania na naciśnięcie klawisza S1 Reset Portd.6 'ustaw stan niski na pinie 6 portu B Do If Pind.6 = 1 Then Exit Do 'powtarzaj pętlę aż na pinie PORTB.6 wsytąpi stan wysoki Loop End Sub
Elektronika Praktyczna 5/2001
Rys. 3. Widok ekranu terminala BASCOM−owego.
35
Analizator magistrali 1WIRE towania w†p³ytkÍ rezystorÛw i†podstawek pod uk³ady scalone, a†zakoÒczymy montuj¹c wyúwietlacz alfanumeryczny LCD, o†ile oczywiúcie zdecydujemy siÍ na jego uøycie. Dodatkowego komentarza wymaga jedynie montaø w³aúnie tego elementu oraz przyciskÛw S1..S4, ktÛre musz¹ byÊ przylutowane od strony úcieøek (umownej w†przypadku laminatu dwustronnego). Podczas montaøu wyúwietlacza zaleca³bym zastosowaÊ nastÍpuj¹c¹ kolejnoúÊ czynnoúci: 1. Do p³ytki naleøy przylutowaÊ rz¹d czternastu pojedynczych goldpinÛw. 2. Do wyúwietlacza lutujemy z³¹cze szufladkowe o†takiej samej liczbie otworÛw 3. Sk³adamy ca³oúÊ ìna wciskî, ewentualnie mocuj¹c dodatkowo wyúwietlacz za pomoc¹ czterech úrubek o úrednicy 3mm z†tulejkami dystansowymi. Uk³ad zmontowany ze sprawdzonych elementÛw dzia³a natychmiast po w³oøeniu zaprogramowanego procesora w†podstawkÍ i†wymaga tylko jednej regulacji: ustawienia kontrastu wyúwietlacza alfanumerycznego za pomoc¹ potencjometru montaøowego PR1. Jeøeli analizator bÍdzie wykorzystywany jako urz¹dzenie autonomiczne, nie po³¹czone z†komputerem, to natychmiast po zmontowaniu moøemy je eksploatowaÊ. Do uk³adu do³¹czamy stabilizowane napiÍcie zasilania o†wartoúci
36
+5VDC, a†nastÍpnie do z³¹cza CON1 przewody magistrali 1WIRE. Po naciúniÍciu przycisku S1 uk³ad rozpocznie przeszukiwanie magistrali, wyúwietlaj¹c stosowne komunikaty na ekranie wyúwietlacza LCD. Jeøeli jednak mamy zamiar wykorzystywaÊ nasz analizator w†po³¹czeniu z†komputerem, to bÍdziemy mieli jeszcze dwie czynnoúci do wykonania: przygotowanie odpowiedniego kabla i†programu umoøliwiaj¹cego odebranie nadawanych przez analizator danych. Analizator moøemy po³¹czyÊ z†komputerem za pomoc¹ dowolnego przewodu trÛjøy³owego zakoÒczonego øeÒskim wtykiem DB9. Z†drugiej strony kabel przy³¹czmy do z³¹cza CON3 wed³ug oznaczeÒ pokazanych na schemacie. Jako program wspÛ³pracuj¹cy z†monitorem linii moøemy wykorzystaÊ dowolny terminal RS232, np. terminal zawarty w†systemie WINDOWS, lub dowolny inny z†bogatej oferty freeware dostÍpnej w†Internecie. Ja jednak szczegÛlnie poleca³bym terminal ìzaszytyî w†pakietach BASCOM AVR i†8051, ktÛrego ekran pokazano na rys. 3. Pozostaje juø tylko wspomnieÊ o z³¹czu oznaczonym jako CON4, ktÛre widoczne jest na rysunku p³ytki PCB, a†ktÛrego na prÛøno szukaÊ na schemacie. Jest to z³¹cze ISP, ktÛre by³o wykorzystywane podczas pisania programu i†testowania prototypu analizatora. Nie usun¹³em go z†p³ytki po zakoÒ-
WYKAZ ELEMENTÓW Rezystory PR1: 1kΩ miniaturowy potencjo− metr montażowy R1: 4,7kΩ Kondensatory C1, C2: 27pF C3…C6: 4,7µF/25V C7: 100nF C8: 100µF/16V Półprzewodniki IC1: DS1813 IC2: zaprogramowany procesor AT90S2313 IC3: MAX232 Różne DP1: wyświetlacz alfanumeryczny LCD 16*1 Q1: rezonator kwarcowy 8MHz CON1, CON2: ARK2 (3,5mm) CON3: ARK3 (3,5mm) S1...S4: mikroprzełączniki wtyk DB9F + obudowa
czeniu pracy: nikomu ono tam nie przeszkadza, a†moøe okazaÊ siÍ uøyteczne dla tych CzytelnikÛw, ktÛrzy zechc¹ samodzielnie napisaÊ program obs³ugi analizatora lub zmodyfikowaÊ program napisany przeze mnie. Zbigniew Raabe, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/maj01.htm oraz na p³ycie CD-EP05/2001B w katalogu PCB.
Elektronika Praktyczna 5/2001
P Gra R Ozręcznościowa J E K T Y
Gra zręcznościowa AVT−5014
Nie sam¹ prac¹ cz³owiek øyje. Elektronik takøe nie zawsze zajmuje siÍ tylko konstruowaniem coraz to nowych uk³adÛw, czasami ma ochotÍ aby siÍ odprÍøyÊ i†pobawiÊ. Niniejszy projekt przewidziany zosta³ na takie w³aúnie okazje, chociaø nie pozbawiony jest takøe pewnych walorÛw praktycznych.
Elektronika Praktyczna 5/2001
Jak to pokazano na rys. 1 konstrukcja uk³adu jest bardzo prosta. W†projekcie wykorzystano procesor AT89C51 z†wewnÍtrzn¹ pamiÍci¹ programu o†pojemnoúci 4kB. Daje on do dyspozycji programisty 4†porty uniwersalne, ktÛre mog¹ byÊ zarÛwno wejúciami jak i†wyjúciami. Jak widaÊ port P3 w†ogÛle nie zosta³ wykorzystany. Porty P0 i†P2 pracuj¹ jako wyjúciowe, natomiast P1 jest w†ca³oúci wykorzystany jako port wejúciowy. Z†pewnym uproszczeniem uk³ad moøna podzieliÊ na dwie sekcje: wyúwietlaczy i†klawiatury. Do obs³ugi 7-segmentowych wyúwietlaczy (U1, U2, U2) oraz diod LED (D1..8) przeznaczono porty wyjúciowe natomiast obs³ug¹ klawiatury (SW1-8) zajmuje siÍ port wejúciowy. Elektroluminescencyjne wyúwietlacze 7-segmentowe ze wspÛln¹ anod¹ pracuj¹ na zasadzie multipleksowania. Znaczy to tyle, øe przez krÛtki moment úwieci siÍ wyúwietlacz U1, nastÍpnie jest gaszony i†zapala siÍ wyúwietlacz U2 itd. Na skutek bezw³adnoúci oka cz³owiekowi wydaje siÍ, øe wszystkie wyúwietlacze úwiec¹ siÍ jednoczeúnie choÊ nieco ciemniej niø gdyby by³y zapalone ca³y czas, natomiast uk³ad elektroniczny dziÍki takiemu rozwi¹zaniu bardzo siÍ upraszcza. W³¹czaniem
poszczegÛlnych wyúwietlaczy steruj¹ wyjúcia P2.0..2 portu P2 za poúrednictwem wtÛrnikÛw emiterowych T1, T2, T3. Informacja dla aktualnie zapalonego wyúwietlacza zatrzaskiwana jest w†rejestrze U5 sygna³em CLK generowanym przez wyjúcie P2.4. Uøycie rejestru zatrzaskowego jest konieczne poniewaø P0 zajmuj¹cy siÍ multipleksowaniem informacji na wyúwietlaczach 7-segmentowych obs³uguje jednoczeúnie diody LED. Diody te zapalane i†gaszone s¹ takøe za poúrednictwem wyjúÊ rejestru zatrzaskowego oznaczonego na schemacie symbolem U6. Sygna³ CLK dla tego rejestru pobierany jest z†portu P2.5. Zadaniem programu steruj¹cego zapisanego w†procesorze U4 jest zsynchronizowanie multipleksowania wyúwietlaczy z†zapalaniem diod LED tak aby uøytkownik odnosi³ wraøenie, øe wszystko dzieje siÍ jednoczeúnie. OprÛcz tego procesor musi synchronicznie czytaÊ stan przyciskÛw, ktÛrych naciskanie bÍdzie wp³ywa³o na stan wyúwietlanych informacji. Oporniki R1..16 s³uø¹ do ograniczenia pr¹du p³yn¹cego przez segmenty wyúwietlaczy oraz diody LED. Natomiast oporniki R17..32 s³uø¹ do podci¹gania poziomu napiÍcia do wartoúci +5V w†sytuacji gdy na portach procesora bÍdzie 1†logiczna. OprÛcz tych elementÛw do procesora do³¹czony jest obwÛd wytwarzaj¹cy impulsy taktuj¹ce (X1, C2,
37
Gra zręcznościowa VCC +6V
+6V
T1 BC547
C1 2µ2
U4
C2 X1 27p 12MHz
31 EA/VP 19 X1 18 X2
C3 27p
9 12 13 14 15 P1 P2 P3 P4 P5 P6 P7 P8
1 2 3 4 5 6 7 8
RESET INT0 INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 89C51
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
39 38 37 36 35 34 33 32
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7
21 22 23 24 25 26 27 28
RD WR PSEN ALE/P TXD RXD
17 16 29 30 11 10
2 3 4 5 6 7 8 9
D0 D1 D2 D3 D4 D5 D6 D7
D0 D1 D2 D3 D4 D5 D6 D7
U5 D1 D2 D3 D4 D5 D6 D7 D8
19 18 17 16 15 14 13 12
a b c d e f g h
19 18 17 16 15 14 13 12
L1 L2 L3 L4 L5 L6 L7 L8
Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8
U1 10 d 9 e 8 g 5 a 4 b 2 h 3 c 7 f
+6V
T2 BC547 U2 10 d 9e 8g 5a 4b 2h 3c 7f
1
6
T3 BC547 U3 10 d 9 e 8 g 5 a 4 b 2 h 3 c 7 f
1
6
1
6
11 CLK 1 OC 74HCT574 D0 D1 D2 D3 D4 D5 D6 D7
2 3 4 5 6 7 8 9
U5 D1 D2 D3 D4 D5 D6 D7 D8
Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8
R1 470 f
11 CLK 1 OC 74HCT574 L1
L2
R2 470 c
L3
R3 470
R4 470 b
h
L4
R5 470
R6 470 g
a
L5
L6
R7 470 e
L7
R8 470 d
L8
R9 470
R10 470
R11 470
R12 470
R13 470
R14 470
R15 470
R16 470
D1 LED
D2 LED
D3 LED
D4 LED
D5 LED
D6 LED
D7 LED
D8 LED
+5V D0 D1 D2 D3 D4 D5 D6 D7
R25 470 R26 470 R27 470 R28 470 +5V R29 470 R30 470 R17 10k
R31 470 R32 470
C4 100n
U7 7805 VI
D9
R20 10k
R21 10k
R22 10k
R23 10k
R24 10k
VO SW1
GND C5 1000µ
R19 10k
P1 P2 P3 P4 P5 P6 P7 P8
JP1 1 2
R18 10k
C6 100n
C7 100n
SW2
SW3
SW4
SW5
SW6
SW7
SW8
C8 100n
Rys. 1. Schemat elektryczny gry zręcznościowej.
C3) oraz kondensator C1 wytwarzaj¹cy impuls zeruj¹cy po w³¹czeniu napiÍcia zasilania. Zasilanie podawane jest na gniazdo JP1. NapiÍcie moøe mieÊ wartoúÊ 8..12V (polaryzacja bez znaczenia). Stabilizator U7 dostarcza napiÍcie +5V do uk³adÛw scalonych i†wyúwietlaczy. Po omÛwieniu budowy czas wreszcie przedstawiÊ zasady zabawy jak¹ oferuje prezentowany uk³ad. Istnieje moøliwoúÊ wybrania jednej z†trzech gier-testÛw zrÍcznoúciowych. Wyboru dokonuje siÍ naciskaj¹c klawisz SW1, na wyúwietlaczu U3 pojawia siÍ kolejna cyfra odpowiadaj¹ca danemu testowi. Start nastÍpuje po przyciúniÍciu klawisza SW8. Za kaødym razem rozpoczÍcie fazy gry poprzedzone jest zapaleniem na wyúwietlaczach cyfr 3, 2, 1†przygotowuj¹cych gracza do startu.
Gra1 W†tym teúcie chodzi o†zmierzenie szybkoúci reakcji zawodnika. Sygna³em jest zapalenie diody D5 na ktÛry zawodnik odpowiada na-
38
ciúniÍciem przycisku SW5. W†kaødej serii dioda zapala siÍ 10 razy. Czas reakcji moøe wynosiÊ od 0 do 999ms. Kolejne odczyty s¹ sumowane a†wyúwietlany na koÒcu wynik stanowi úredni¹ arytmetyczn¹. W†przypadku naciúniÍcia klawisza zanim zapali siÍ dioda, na konto zawodnika dopisywany jest karny czas 999ms, ktÛry oczywiúcie pogorszy wynik koÒcowy. ZakoÒczenie testu sygnalizuje napis ìEndî. W†przypadku gdy zawodnik uzyska³ najlepszy kolejny wynik gry na wyúwietlaczach pojawi siÍ graficzna owacja.
Gra2 Kiedy juø zmierzymy swÛj czas reakcji moøemy przyst¹piÊ do drugiego testu. BÍdzie on angaøowa³ juø wszystkie diody i†przyciski. Zasada gry jest prosta: w†momencie zapalenia diody naleøy nacisn¹Ê odpowiadaj¹cy jej przycisk. KolejnoúÊ zapalania diod jest losowa (w kaødym razie w†programie wykorzystano algorytm generuj¹cy ci¹gi zbliøone do losowych). Diody za-
palane s¹ na 0,2s. Øeby uatrakcyjniÊ grÍ, czas pomiÍdzy kolejnym zapaleniem LED moøe wynosiÊ 0,6s lub 0,3s. Wprowadzona zosta³a nastÍpuj¹ca punktacja: - naciúniÍcie odpowiedniego klawisza zanim zapali siÍ kolejny LED: 3†punkty, - zaznaczenie naciúniÍciem klawisza pozycji diody gdy úwieci siÍ juø nastÍpna: 1†punkt, - nie zaznaczenie zapalonej diody: -1 punkt karny, - naciúniÍcie b³Ídnego klawisza: -1 punkt karny. Gra sk³ada siÍ z†serii 60 zapaleÒ diod LED. Punkty s¹ sumowane i†jak moøna ³atwo obliczyÊ maksymalnie jest do zdobycia 180 punktÛw. Tak jak poprzednio na zakoÒczenie wyúwietla siÍ napis ìEndî lub owacja dla najlepszego wyniku w†serii.
Gra3 Gra3 jest mutacj¹ Gry 2. Co 0,6s zapalane s¹ wszystkie diody. NastÍpnie losowo gaszone s¹ kolejne. Zadaniem graj¹cego jest
Elektronika Praktyczna 5/2001
Gra zręcznościowa Z†moich doúwiadczeÒ wynika, øe najtaÒsze popularne przyciski membranowe nie wytrzymuj¹ d³ugo intensywnej pracy. Uk³ad nie wymaga øadnego uruchamiania, przed w³oøeniem do podstawek uk³adÛw scalonych warto jedynie sprawdziÊ czy stabilizator dostarcza napiÍcia +5V. Gdyby po zakoÒczeniu montaøu uk³ad nie chcia³ pracowaÊ moøna sprawdziÊ przy pomocy oscyloskopu czy procesor øyje. W†tym celu naleøy na wejúciach CLK uk³adÛw U5 i†U6 skontrolowaÊ czy w†odstÍpach 1ms pojawiaj¹ siÍ krÛtkie ujemne impulsy wpisuj¹ce dane do rejestrÛw zatrzaskowych. Dla uk³adu nie zosta³a przewidziana øadna obudowa. Warto natomiast wyposaøyÊ p³ytkÍ w†nÛøki, ktÛre zapobiegn¹ jej chybotaniu siÍ podczas gry. Uzyskane w†czasie testÛw wyniki autora nie okaza³y siÍ rewelacyjne. Najlepszy úredni czas reakcji wyniÛs³ 134ms natomiast osi¹gniÍte wyniki w†grach waha³y siÍ miÍdzy 90 a 120 punktÛw. Ciekaw jestem wynikÛw CzytelnikÛw. Ryszard Szymaniak, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/maj01.htm oraz na p³ycie CD-EP05/2001B w katalogu PCB.
WYKAZ ELEMENTÓW Rys. 2. Rozmieszczenie elementów na płytce drukowanej.
okreúlenie przy pomocy przycisku, ktÛra dioda zgas³a jako ostatnia. Punktacja jest podobna do poprzedniej: - naciúniÍcie odpowiedniego klawisza: 3†punkty, - zaznaczenie naciúniÍciem klawisza pozycji diody w†czasie nastÍpnej kolejki: 1†punkt, - nie zaznaczenie ostatniej zgaszonej diody: -1 punkt karny, - naciúniÍcie b³Ídnego klawisza: -1 punkt karny. Tak jak poprzednio gra sk³ada siÍ z†serii 60 zapaleÒ i†maksymalnie moøna zdobyÊ 180 punktÛw. PomiÍdzy kolejnymi testami moøna podejrzeÊ wynik ostatniego po naciúniÍciu klawisza SW6. Jeøeli chcemy zobaczyÊ najlepszy wynik w†serii naleøy nacisn¹Ê SW7.
Elektronika Praktyczna 5/2001
Montaø i†uruchomienie W†przypadku zgromadzenia wszystkich potrzebnych czÍúci montaø uk³adu nie bÍdzie trwa³ d³uøej niø pÛ³ godziny. Najpierw na jednostronnej p³ytce drukowanej (schemat montaøowy pokazano na rys. 2) naleøy poprowadziÊ kilkanaúcie zwor a†dopiero potem wlutowaÊ pozosta³e elementy. SzczegÛln¹ uwagÍ trzeba poúwiÍciÊ wyborowi odpowiednich klawiszy. Powinny zapewniaÊ pewny kontakt bez przypadkowego przerywania po naciúniÍciu. RÛwnie waøna jest ich trwa³oúÊ i†odpornoúÊ na gwa³towne naciúniÍcia. Wykorzystane w†prototypie plastikowe prostok¹tne prze³¹czniki mia³y dodatkow¹ zaletÍ w†postaci rÛønych kolorÛw ich obudÛw.
Rezystory R1..R16, R25..R32: 470Ω R17..R24: 10kΩ Kondensatory C1: 2,2µF/16V C2, C3: 27pF C4, C6..C8: 100nF C5: 1000µF/25V Półprzewodniki D1..D8: LED D9: mostek prostowniczy 1A/50V T1..T3: BC547 U1..U3: wyświetlacze wspólna anoda np.SA52−11HWA U4: 89C51 procesor zaprogramo− wany U5, U6: 74HCT574 U7: 7805 Różne JP1:złącze typu ARK2 SW1..SW8: przycisk X1: 12MHz
39
Joystick komputerowy dla osób P niepełnosprawnych R O J E K T Y
Joystick komputerowy dla osób niepełnosprawnych, część 2 AVT−5007
W†drugiej, zarazem ostatniej czÍúci artyku³u przedstawiamy opis programu steruj¹cego joystickiem oraz uwagi zwi¹zane z†jego montaøem mechanicznym i†uruchomieniem.
Oprogramowanie Program dla mikrokontrolera zosta³ napisany w jÍzyku C i skompilowany kompilatorem firmy ImageCraft, nosz¹cym nazwÍ ICCAVR. W†programie g³Ûwnym moøna wyrÛøniÊ cztery bloki. W†pierwszym nastÍpuje inicjalizacja procesora, zaú trzy kolejne bloki stanowi¹ g³Ûwn¹ pÍtlÍ programu. Dwa z†nich s¹ niemal identyczne i†realizuj¹ odczyt sygna³Ûw wyjúciowych akcelerometrÛw. Natomiast w ostatnim nastÍpuje interpretacja trÛjfazowego przebiegu na wyjúciu przetwornika UTI.
Elektronika Praktyczna 5/2001
Inicjalizacja polega na w³aúciwym skonfigurowaniu portÛw, timerÛw, przerwaÒ i†stosu oraz na nadaniu wartoúci pocz¹tkowych niektÛrym zmiennym. Kolejnym zadaniem programu jest odczyt sygna³Ûw z†akcelerometrÛw. Wyjúcia obu akcelerometrÛw s¹ pod³¹czone do wejúÊ przerwaÒ zewnÍtrznych INT0 (6U1) i†INT1 (7-U1). Najpierw jest ustawiane wejúcie INT0 jako czu³e na zbocze opadaj¹ce i†wykonywanie programu zostaje wstrzymane instrukcj¹ SLEEP. Gdy na wejúciu pojawi siÍ takie zbocze, procesor budzi siÍ i†przechodzi do obs³ugi przerwania. Ta i†wszystkie pozosta³e procedury obs³ugi przerwaÒ s¹ puste. DziÍki temu procesor szybko wraca do programu g³Ûwnego. Teraz jest uruchamiany wewnÍtrzny, 16-bitowy Timer1. Wejúcie INT0 uczulane jest na zbocze narastaj¹ce i†procesor jest ponownie usypiany. Zbocze koÒcz¹ce impuls z†akcelerometru ìbudziî procesor, ktÛry zatrzymuje Timer1 i†zapamiÍtuje jego
41
Joystick komputerowy dla osób niepełnosprawnych zawartoúÊ. W†ten sposÛb mierzony jest czas trwania ujemnego impulsu na wyjúciu oznaczonym przez producenta jako OUTX (10U2). W†naszym uk³adzie jest to akurat wyjúcie sygna³u zaleønego od pochylania akcelerometru do przodu i†do ty³u. Taki sam cykl powtarza siÍ dla wyjúcia OUTY (9-U2) pod³¹czonego do wejúcia INT1. RÛønica jest tylko taka, øe mierzony jest czas trwania impulsu dodatniego. Odchylanie czujnika od poziomu w†jedn¹ lub drug¹ stronÍ o†30 stopni powoduje zmianÍ wartoúci przyspieszenia od -0,5g do +0,5g. Sumaryczna zmiana przyspieszenia o 1g powoduje zmianÍ wspÛ³czynnika wype³nienia sygna³u wyjúciowego o†12,5%. Przy okresie ustalonym na 10,4ms, moment zmiany stanu na wyjúciu akcelerometru zmieni siÍ o†±650µs. Oznacza to, øe zawartoúÊ timera taktowanego sygna³em o czÍstotliwoúci 3,579545MHz zmieni siÍ od -2327 do +2326 impulsÛw w†stosunku do wartoúci odniesienia. Te liczby musimy jeszcze przeskalowaÊ na zakres 128..+127 i†przesun¹Ê do wartoúci 0..255. W†praktyce okaza³o siÍ, øe niezbÍdna jest zmiana charakterystyki czu³oúci w†funkcji k¹ta wychylenia. W†pobliøu pozycji spoczynkowej czu³oúÊ musi byÊ niewielka, natomiast w†miarÍ odchylania joysticka od poziomu czu³oúÊ powinna gwa³townie wzrastaÊ. Tak przetworzony wynik pomiaru naleøy przes³aÊ do potencjometru. Transmisja odbywa siÍ szeregowo. Najpierw procesor uaktywnia bloki steruj¹ce U4, ustawiaj¹c niski poziom na wyjúciu PD4 (8-U1), ktÛre jest po³¹czone z†wejúciem /CS (7-U4). NastÍpnie wystawia kolejne bity przesy³anego s³owa na pin PD0 (2-U1) po³¹czony z†wejúciem SDI (8-U4). Po wystawieniu kaødego bitu, procesor ustawia i†nastÍpnie kasuje
wyjúcie PD1 (3-U1). Narastaj¹ce zbocze tego impulsu, pojawiaj¹ce siÍ na wejúciu zegarowym CLK (9U4), powoduje zapis kolejnego bitu do rejestru szeregowego uk³adu U4. Po przes³aniu dziesi¹tego bitu linia PD4-/CS jest ustawiana, a†osiem m³odszych bitÛw trafia do jednego z†dwÛch rejestrÛw pamiÍtaj¹cych ustawienie suwakÛw potencjometrÛw. O†tym, do ktÛrego potencjometru zostanie zapisana nowa wartoúÊ decyduj¹ dwa najstarsze bity s³owa. Adres ì00î wskazuje RDAC#1 (12, 13, 14-U4), podczas gdy ì01î oznacza RDAC#2 (2, 3, 4-U4). Nieco bardziej rozbudowany jest podprogram odczytuj¹cy przebieg wyjúciowy z†przetwornika UTI. W tym przebiegu moøna wyrÛøniÊ trzy fazy. Jego kszta³t ilustruje rys. 5, a†fragment programu realizuj¹cy pomiar moøna przeúledziÊ na list. 1. Pierwsza faza, oznaczona jako Toff, wskazuje offset toru pomiarowego. Dla wyrÛønienia sk³ada siÍ ona z†dwÛch impulsÛw o†identycznym okresie. W†drugiej fazie - Tab jest mierzone napiÍcie zasilaj¹ce czujnik. Ostatnia, trzecia faza okreúla napiÍcie niezrÛwnowaøenia mostka pomiarowego i†jest oznaczona jako Tcd. Ze wzglÍdu na úciúle czasowy charakter przebiegu, tutaj rÛwnieø wykorzysta³em timer T1 z†tym, øe licznik zlicza impulsy bez zatrzymywania. Wyjúcie przetwornika UTI jest po³¹czone z wyprowadzeniem procesora o†nazwie ICP Input Capture Pin (11-U1). Przy odpowiednim skonfigurowaniu tego wejúcia, kaøde pojawiaj¹ce siÍ na nim narastaj¹ce zbocze powoduje wygenerowanie przerwania i†rÛwnoczesne przepisanie aktualnej zawartoúci licznika T1 do specjalnego rejestru ICR. Poprzednia zawartoúÊ licznika jest odejmowana od aktualnej i†ta rÛønica jest cyklicznie zapisywana do 4elementowego bufora. Po kaødym
Rys. 5. Kształt przebiegu na wyjściu przetwornika UTI.
42
List.1. Podprogram pomiaru ciśnienia. /****** Pomiar ciśnienia ****************/ do { TCCR1B = 0x41; TIFR = 0x08; TIMSK = 0x08; asm(“SLEEP”); asm(“NOP”); TIMSK = 0x00; stop = ICR1;
/* /* /* /*
capture przy 0->1, CK */ ICF1: zeruj */ TICIE1: włącz */ czekaj 0->1 na ICP */
/* TICIE1: wyłącz */ /* zapamiętaj koniec impulsu */ Toff1 = Toff2; /* Toff1 <- Toff2 */ Toff2 = Tab; /* Toff2 <- Tab */ Tab = Tcd; /* Tab <- Tcd */ Tcd = stop - start; /* Tcd <- czas impulsu */ start = stop; /* koniec tego to początek następnego */ }while( (Toff1 >= Tab) || /* powtarzaj */ (Toff1 >= Tcd) || /* aż trafisz */ (Toff2 >= Tab) || /* na początek */ (Toff2 >= Tcd) ); /* ramki */ cisnienie = (Tcd-Toff1-Toff2)/(Tab—Toff1— Toff2); if( cisnienie > (normP + DELTA) ) SW1_ON; /* dmuchnięcie */ else SW1_OFF; if( cisnienie < (normP - DELTA) ) SW2_ON; /* zassanie */ else SW2_OFF;
przerwaniu procesor sprawdza czy pierwsze dwa elementy spe³niaj¹ warunki na³oøone na fazÍ Toff. Jeúli tak, procesor moøe obliczyÊ wartoúÊ ciúnienia ze wzoru: P†= 1/32*(Tcd-Toff)/(Tab-Toff). W†naszym uk³adzie nie jest waøna bezwzglÍdna wartoúÊ ciúnienia. Wystarczy, jeúli bÍdziemy sprawdzaÊ czy nadciúnienie (lub podciúnienie) nie przekracza pewnej wartoúci. W†tym celu procesor musi znaÊ spoczynkow¹ wartoúÊ (normP). Taki wzorcowy pomiar jest dokonywany podczas kalibracji, a†wynik zostaje zapisany w†pamiÍci nieulotnej. Przy kolejnych pomiarach aktualna wartoúÊ ciúnienia jest porÛwnywana z†wartoúci¹ odniesienia. Jeúli obliczona wartoúÊ ciúnienia przekracza wartoúÊ minimaln¹, jest to interpretowane jako naciúniÍcie pierwszego przycisku joysticka i†procesor ustawia wyjúcie PD5. Jeúli natomiast w†czujniku pojawi siÍ podciúnienie o†odpowiednio duøej wartoúci, program przyjmie, øe naciúniÍto drugi przycisk i†mikrokontroler ustawi wyjúcie PB0. Stan przycisku USTAW (W1) jest sprawdzany na koÒcu kaødego obiegu g³Ûwnej pÍtli programu. Jeúli procesor stwierdzi zwarcie stykÛw, zapisuje aktualn¹ wartoúÊ ciúnienia i†przyspieszeÒ w†obu osiach do pamiÍci nieulotnej. Wykonywanie programu zostaje wstrzymane do czasu zwolnienia przycisku. Gdy to nast¹pi, procesor kontynuuje dzia³anie z†now¹ zawartoúci¹ pamiÍci EEPROM. Za-
Elektronika Praktyczna 5/2001
Joystick komputerowy dla osób niepełnosprawnych pamiÍtane w†ten sposÛb wartoúci s¹ wartoúciami odniesienia przy interpretowaniu nastÍpnych pomiarÛw.
Montaø Wszystkie podzespo³y joysticka montujemy na dwustronnej p³ytce drukowanej, ktÛrej mozaikÍ úcieøek moøna znaleüÊ na do³¹czonej p³ycie CD-EP lub na stronie internetowej EP w†dziale PCB. Rozmieszczenie elementÛw na p³ytce pokazano na rys. 6. Jako z³¹cza Z1, Z2, Z3, Z45, Z6 i†Z7 przewidzia³em ko³ki lutownicze. Dopiero do nich s¹ lutowane poszczegÛlne przewody kabla po³¹czeniowego. DziÍki temu pod³¹czanie jest ³atwe, a†w†przypadku uszkodzenia kabla w†czasie eksploatacji, jego wymiana jest bardzo u³atwiona. Montaø joysticka proponujÍ zacz¹Ê od ostroønego wbicia i†wlutowania tych szeúciu szpilek w†p³ytkÍ drukowan¹. NastÍpnie montujemy elementy w†kolejnoúci od najniøszych do najwyøszych. ProponujÍ wstrzymaÊ siÍ chwilowo z†montaøem kondensatorÛw C6 i†C7, czujnika S1 i†podstawki pod uk³ad U3, gdyø bÍd¹ one przeszkadzaÊ przy lutowaniu czujnika U2. Element ten jest w†obudowie do montaøu powierzchniowego, dlatego trzeba mu poúwiÍciÊ trochÍ wiÍcej uwagi. Oczywiúcie najlepsza by³aby lutownica na gor¹ce powietrze i†pasta lutownicza. W†amatorskich warunkach wystarczaj¹co dobre rezultaty moøna osi¹gn¹Ê stosuj¹c cynÍ w†postaci wielordzeniowego drutu o†úrednicy 1mm lub mniejszej i†lutownicÍ wyposaøon¹ w†ostro zakoÒczony grot. Lutujemy najpierw jeden pin i†dok³adnie pozycjonujemy uk³ad. NastÍpnie lutujemy przeciwleg³e wyprowadzenie i†ponownie sprawdzamy czy koÒcÛwki leø¹ dok³adnie na pocynowanych plackach miedzi. Jeúli tak jest, lutujemy pozosta³e piny uøywaj¹c przy tym jak najmniejszej iloúci cyny. Wiemy, øe podczas pracy z†uk³adami scalonymi naleøy stosowaÊ úrodki ostroønoúci zapobiegaj¹ce powstawaniu ³adunkÛw elektrycznoúci statycznej. W†praktyce rÛønie z†tym bywa. Chcia³bym ostrzec, øe uk³ady ADXL202 s¹ wraøliwe na elektrycznoúÊ sta-
Elektronika Praktyczna 5/2001
tyczn¹. Dlatego naleøy stosowaÊ uziemion¹ lutownicÍ i†przewodz¹c¹ opaskÍ na rÍkÍ, po³¹czon¹ z†ìziemi¹î przez rezystor 1MΩ. W†czujniku ciúnienia S1 ostroønie zaginamy wyprowadzenia w†odleg³oúci oko³o jednego milimetra od obudowy. KoÒcÛwka numer jeden jest pÛ³koliúcie naciÍta, dlatego nie powinno byÊ problemÛw z†jej identyfikacj¹. PrzykrÍcamy obudowÍ czujnika dwoma úrubkami φ3 i†dopiero teraz wyprowadzenia tak unieruchomionego czujnika lutujemy do p³ytki. Na koniec montujemy pozosta³e brakuj¹ce elementy pamiÍtaj¹c, øe pod procesor U1, przetwornik U3 i†potencjometr cyfrowy U4 naleøy zamontowaÊ podstawki. Teraz pozosta³o nam juø tylko wykonaÊ blaszkÍ z†dwoma otworami o†úrednicy 3mm odleg³ymi od siebie o†7,5mm. W†dwa otwory w†p³ytce drukowanej, ktÛre znajduj¹ siÍ miÍdzy z³¹czami Z1 i†Z8, wk³adamy úrubki φ3. PomiÍdzy úrubkami umieszczamy przewÛd po³¹czeniowy, na wierzch zak³adamy blaszkÍ i†ca³oúÊ dokrÍcamy dwoma nakrÍtkami. Takie rozwi¹zanie skutecznie zabezpieczy przewÛd przed wyrwaniem. Jeúli z³¹cza úrubowe Z8 i†Z9 wlutujemy w†taki sposÛb, aby kabel wchodzi³ do nich od úrodka p³ytki, to razem z†kablem ³¹cz¹cym joystick i†komputer bÍdziemy mogli docisn¹Ê przewody dodatkowych przyciskÛw. SzeúÊ przewodÛw kabla po³¹czeniowego lutujemy do ko³kÛw lutowniczych na p³ytce drukowanej. Z†drugiego koÒca kabla przewÛd do³¹czony do ko³ka Z1 ³¹czymy z†ig³¹ nr 1†wtyku DB15, przewÛd Z2 z†ig³¹ nr 2†i†tak dalej. MiÍdzy ig³ami 4†i†5 wykonujemy we wtyku mostek, ktÛry ³¹czymy z†przewodem przylutowanym do ko³ka Z45.
stÍpstwa dla naszego komputera. Uruchomienie jak zawsze rozpoczynamy od sprawdzenia poprawnoúci montaøu podzespo³Ûw na p³ytce drukowanej. Jeúli nie ma zwarÊ miÍdzy polami lutowniczymi i†elementy wydaj¹ siÍ byÊ obsadzone poprawnie, wyci¹gamy z†podstawek wszystkie uk³ady scalone i†pod³¹czamy zasilanie (masÍ do ig³y numer 4†wtyku DB15, a +5V do ig³y nr 1). Przy pierwszym w³¹czeniu najbezpieczniej bÍdzie skorzystaÊ z†zasilacza stabilizowanego. Teraz sprawdzamy obecnoúÊ i†polaryzacjÍ napiÍcia zasilaj¹cego, np. miÍdzy wyprowadzeniami GND (10-U1) i†VCC (20-U1). Jeúli wyniki pomiarÛw s¹ zgodne z†oczekiwaniami, wy³¹czamy zasilanie i†wk³adamy do podstawek procesor, przetwornik oraz potencjometry i†ponownie w³¹czamy zasilacz. Jeúli i†teraz napiÍcie zasilaj¹ce i†pobÛr pr¹du s¹ w†normie (5V±5%, ok. 10mA), pod³¹czamy omomierz miÍdzy wyprowadzenia W1(12U4) i†B1(14-U4) potencjometru cyfrowego. Przechylaj¹c p³ytkÍ drukowan¹ na boki powinniúmy obserwowaÊ zmianÍ rezystancji od prawie zera (przy przechyleniu w†lewo) do 70..130kΩ (przy przechyleniu w†prawo). Analogicznie, jeúli pod³¹czymy miernik do pinÛw W2(4-U4) i†B2(2-U4), a†nastÍpnie przechylimy p³ytkÍ do przodu, omomierz powinien wskazaÊ prawie zwarcie. Przechylenie w†przeciwnym kierunku powinno spowodowaÊ wzrost re-
Uruchomienie i†kalibracja Najpierw powinniúmy sprawdziÊ kabel ³¹cz¹cy nasz joystick z†komputerem. Wszelkie b³Ídy w†po³¹czeniach lub zwarcia miÍdzy øy³ami uniemoøliwi¹ uruchomienie joysticka. Niestaranne wykonanie po³¹czeÒ lub pozostawienie wtyku DB15 bez obudowy unieruchamiaj¹cej kabel, moøe mieÊ w†przysz³oúci przykre na-
Rys. 6. Rozmieszczenie elementów na płytce drukowanej.
43
Joystick komputerowy dla osób niepełnosprawnych zystancji do wartoúci maksymalnej. Tak przetestowany joystick moøemy pod³¹czyÊ do z³¹cza game portu. PamiÍtajmy przy tym, øe tego typu czynnoúci zawsze wykonujemy przy wy³¹czonym komputerze. Teraz dopiero przeprowadzamy kalibracjÍ akcelerometrÛw i†czujnika ciúnienia. W†tym celu w³¹czamy komputer, p³ytkÍ drukowan¹ k³adziemy poziomo, upewniamy siÍ, øe nikt nie dmucha w†rurkÍ czujnika i†naciskamy na chwilÍ przycisk USTAW (W1). Wynik kalibracji jest zapisywany w†pamiÍci nieulotnej, dlatego wystarczy wykonaÊ j¹ tylko raz. Od tego momentu joystick jest gotowy do ponownej kalibracji. CzynnoúÊ ta jest niezbÍdna za kaødym razem, gdy pod³¹czamy do komputera nowy kontroler gier. Wytrawni gracze zapewne znaj¹ tÍ procedurÍ, a dla pocz¹tkuj¹cych pokrÛtce j¹ opiszÍ. W†systemie operacyjnym Windows 9x wygl¹da ona nastÍpuj¹co:
44
1. Start -> Ustawienia -> Panel sterowania -> Kontrolery gry 2. Dodaj -> ì2-osiowy joystick z†dwoma przyciskamiî 3. W³aúciwoúci -> Kalibruj -> dalej postÍpujemy zgodnie z†pojawiaj¹cymi siÍ poleceniami. 4. Na koniec sprawdzamy dzia³anie joysticka otwieraj¹c zak³adkÍ Testuj.
Konstrukcja mechaniczna Zmontowan¹ i†uruchomion¹ p³ytkÍ z†elementami naleøy zamkn¹Ê w†niewielkiej obudowie z†tworzywa sztucznego. Z†obudowy powinny wystawaÊ oba krÛÊce czujnika ciúnienia. RurkÍ pod³¹czamy do tego, ktÛry znajduje siÍ bliøej p³ytki drukowanej. Joystick zosta³ zaprojektowany do sterowania g³ow¹, dlatego jako ìelement mocuj¹cyî dobrze jest wykorzystaÊ czapkÍ bejsbolÛwkÍ za³oøon¹ daszkiem do ty³u. W†niektÛrych przypadkach moøna wykorzystaÊ rÍkawiczkÍ i†wÛwczas sterujemy niewielkimi przechy³ami d³oni. Na gÛrze czapki lub rÍkawiczki naleøy przyszyÊ rzepy. Drug¹ czÍúÊ rzepÛw przyklejamy do spodu obudowy joysticka. W†daszku czapki moøna wykonaÊ kilka otworÛw. CzÍúÊ z†nich pos³uøy do zamocowania kabla po³¹czeniowego do komputera. Do pozosta³ych zamocujemy pa³¹k z†doúÊ twardego drutu. Pa³¹k przechodzi ko³o ucha i†koÒczy siÍ na wysokoúci ust sp³aszczonym oczkiem. W†to oczko bÍdzie wciúniÍty ustnik, ktÛry wykonamy ze zbiorniczka kroplÛwki. Podgrzany w†gor¹cej wodzie zbiorniczek musimy sp³aszczyÊ w†po³owie wysokoúci i†gwa³townie sch³odziÊ zanurzaj¹c w†zimnej wodzie. Po odciÍciu gÛrnej pokrywki powstanie ca³kiem zgrabny ustnik. Z†drugiej strony zbiorniczka wychodzi wÍøyk (skrÛcony do niezbÍdnej d³ugoúci) idealnie pasuj¹cy do czujnika ciúnienia. Czujnik ciúnienia jest w†duøym stopniu odporny na dzia³anie wilgoci. Mimo to ustnik i†rurkÍ po umyciu naleøy kaødorazowo przedmuchaÊ i†dok³adnie osuszyÊ. Joystick moøe s³uøyÊ nie tylko osobom niepe³nosprawnym. Jeúli do gÛrnej úcianki obudowy przymocujemy pionowy uchwyt, z†po-
wodzeniem bÍd¹ mog³y z†niego korzystaÊ osoby sprawne fizycznie. W†modelu wykorzysta³em do tego nak³adkÍ na kierownicÍ rowerow¹. Taka r¹czka jest pusta w†úrodku, dziÍki czemu ³atwo by³o w†niej zmieúciÊ dwa wy³¹czniki monostabilne. Jeden z†nich ma klawisz skierowany ku gÛrze i†ten obs³ugujemy kciukiem. Drugi przycisk jest skierowany do przodu i†znajduje siÍ dok³adnie na wysokoúci palca wskazuj¹cego. Otwory w†uchwycie wyci¹³em skalpelem, a†prze³¹czniki po osadzeniu zabezpieczy³em klejem. Tak przygotowan¹ r¹czkÍ wklei³em we wczeúniej wykonany otwÛr w†gÛrnej úciance obudowy. Przez ten sam otwÛr przechodz¹ przewody od wy³¹cznikÛw. GÛrny przycisk jest pod³¹czony do z³¹cza Z9. Przycisk obs³ugiwany palcem wskazuj¹cym jest pod³¹czony do z³¹cza Z8.
Moøliwoúci adaptacji Konstrukcja joysticka daje doúÊ duøe moøliwoúci adaptacji do indywidualnych potrzeb. Zacznijmy od czu³oúci. Przez zmianÍ wartoúci rezystora R4 moøemy wp³ywaÊ na okres sygna³u wyjúciowego z†akcelerometrÛw. Podnosz¹c jego wartoúÊ do 2MΩ uzyskujemy prawie dwukrotne zwiÍkszenie czu³oúci. Aby czu³oúÊ zmniejszyÊ, wystarczy zmniejszyÊ rezystancjÍ R4. Przy minimalnej dopuszczalnej rezystancji wynosz¹cej 125kΩ uzyskamy dziesiÍciokrotnie mniejsz¹ czu³oúÊ. W†modelu obs³uga przyciskÛw joysticka polega na dmuchaniu lub zasysaniu powietrza z†rurki pod³¹czonej do czujnika ciúnienia. DmuchniÍcie odpowiada pierwszemu, a†zassanie drugiemu przyciskowi. Dzia³anie moøemy w†prosty sposÛb odwrÛciÊ pod³¹czaj¹c rurkÍ do drugiego krÛÊca czujnika. Tomasz Gumny, AVT
[email protected] DziÍkujÍ firmie ALFINE z†Poznania za udostÍpnienie elementÛw firm Analog Devices i†Bourns. Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/maj01.htm oraz na p³ycie CDEP05/2001B w katalogu PCB.
Elektronika Praktyczna 5/2001
S P R Z Ę T
Garmin jest jednym z†najwiÍkszych producentÛw przenoúnych odbiornikÛw GPS przeznaczonych dla turystÛw, wojska i†szeregu innych celÛw profesjonalnych. Moøna takøe zaryzykowaÊ twierdzenie, øe Garmin jest jednym z†intelektualnych liderÛw tego rynku, poniewaø oferowane przez tÍ firmÍ urz¹dzenia wytyczaj¹ nowe kierunki rozwoju ca³ego rynku. W†artykule przedstawiamy jeden z†najnowszych produktÛw tej firmy: odbiornik turystyczny eTrexLegend.
Nowy przenośny odbiornik GPS eTrexLegend jest prawdziwym elektronicznym ìcackiemî, przy czym zachwycaj¹ca jest zarÛwno konstrukcja urz¹dzenia, jak i†jego moøliwoúci. Najbardziej niezwyk³¹ funkcj¹ odbiornika jest wbudowana w†jego pamiÍÊ scyfryzowana mapa úwiata, dziÍki ktÛrej moøna siÍ pewnie poruszaÊ po drogach oraz wiÍkszoúci ulic w†Warszawie. Wyt³umaczÍ tutaj swoje zachwyty: nie traktujÍ jako czegoú niezwyk³ego cyfrowej mapy úwiata, lecz jej umiejÍtne skompresowanie i†wyposaøenie odbiornika w†system szybkiego indeksowania i†wyszukiwania punktÛw na mapie. Ogromne s³owa uznania naleø¹ siÍ takøe konstruktorom odbiornika, ktÛry zasilany przez dwa ogniwa AA pracowa³ podczas testÛw blisko dwa tygodnie, przy czym doúÊ czÍsto by³o w³¹czane energoch³onne elektroluminescencyjne podúwietlanie wyúwietlacza. Wed³ug producenta dwa ogniwa wystarczaj¹ na 18 godzin ci¹g³ej pracy.
Elektronika Praktyczna 5/2001
Windows ponad wszystko Prezentowany odbiornik wyposaøono w†niezwykle wygodny interfejs uøytkownika, oparty na systemie rozwijanych okien. Jest to naj³atwiejszy w†obs³udze system sterowania i†konfiguracji (nie tylko) odbiornika, czego dowiod³o ogromne powodzenie systemu operacyjnego Windows w†komputerach osobistych. Przyk³adowe okna wyúwietlane na wyúwietlaczu odbiornika pokazano na rys. 1 i†2. Uøytkownicy komputerÛw zapytaj¹ z†pewnoúci¹: ìw jaki sposÛb moøna siÍ poruszaÊ po okienkowych menuî? Odpowiedü jest zaskakuj¹co prosta: odbior-
Rys. 1.
Rys. 2.
47
S P R Z Ę T
Rys. 3. nik wyposaøono w†miniaturowy joystick, ktÛry doskonale spe³nia rolÍ manipulatora funkcjonalnie zbliøonego do ìpa³eczkiî stosowanej w†notebookach lub komputerowej myszki. Producent odbiornika nazwa³ ten manipulator ClickStick, co wiernie oddaje sposÛb jego pracy - nie jest to bowiem klasyczny josytick analogowy, a†rolÍ czujnikÛw po³oøenia dr¹øka spe³niaj¹ mikroprze³¹czniki. Manipulator nad wyúwietlaczem graficznym odbiornika (fot. 3), dziÍki czemu obs³uga odbiornika jest moøliwa jedn¹ rÍk¹. Na fot. 3†opisa-
Rys. 4.
no tylko widoczne elementy odbiornika. Pozosta³e manipulad³a i†z³¹cza ulokowano z†drugiej strony odbiornika.
Moøliwoúci Odbiornik eTrexLegend jest przeznaczony dla uøytkownikÛw indywidualnych, przy czym jego moøliwoúci zoptymalizowano do zastosowaÒ turystycznych, nie zaleønie od tego w†jakich warunkach wyprawy siÍ odbywaj¹. Modu³ odbiorczy jest przystosowany do jednoczesnego odbioru sygna³Ûw z†maksimum 12 satelitÛw jednoczeúnie, dziÍki cze-
Rys. 5.
Rys. 6.
mu niezawodnoúÊ pracy i†szybkoúÊ ustalania pozycji s¹ bardzo duøe. W†zaleønoúci od wymagaÒ uøytkownika odbiornik moøe wyúwietlaÊ: - mapÍ otaczaj¹cego go terenu z†zaznaczon¹ przebyt¹ tras¹ (rys. 4), - trajektoriÍ ruchu odbiornika bez odnoszenia jej do mapy terenu (ktÛrej rozdzielczoúÊ jest z†przyczyn oczywistych ograniczona), - precyzyjny kompas dzia³aj¹cy podczas przebywania trasy (rys. 5), - tabelaryczne zestawienie wspÛ³rzÍdnych okreúlaj¹cych aktualne po³oøenie odbiornika. Prze³¹czanie pomiÍdzy wymienionymi trybami nie powoduje zamazania wynikÛw wyúwietlanych w†innych trybach, w†zwi¹zku z†czym tryb pracy odbiornika moøna dostosowywaÊ do chwilowych potrzeb. Poniewaø twÛrcy odbiornika eTrexLegend zdecydowali siÍ na graficzny interfejs uøytkownika, jego konfiguracjÍ umoøliwia przejrzyste menu z†efektownymi ikonami (rys. 6). Moøliwoúci konfigurowania odbiornika s¹ bardzo duøe, przy czym szczegÛlnie duøy nacisk konstruktorzy po³oøyli na u³atwienie øycia podrÛønikom, ktÛrzy chc¹ siÍ zabezpieczyÊ przed zab³¹dzeniem w†nieznanym terenie. OprÛcz bardzo bogatych moøliwoúci edycyjnych i†dokumentuj¹cych przebywan¹ trasÍ (rys. 7), odbiornik wyposaøono w†funkcjÍ wyszukiwania drogi do okreúlonego przez uøytkownika celu. Odbiornik GPS moøe wiÍc spe³niaÊ rolÍ XXI-wiecznej ìnitki Ariadnyî. Z†kolei funkcj¹ szczegÛlnie przydatn¹ dla rowerzystÛw i†turystÛw zmotoryzowanych jest komputer podrÛøny, ktÛry oblicza drogÍ przebyt¹ od chwili startu,
Rys. 7. czas podrÛøy, úrednie i†maksymaln¹ prÍdkoúci podrÛøy, pokazuje takøe aktualn¹ prÍdkoúÊ poruszania siÍ (rys. 8). TwÛrcy odbiornika eTrexLegend zadbali takøe o†fanÛw polowaÒ, wÍdkarzy i†osoby zainteresowane wschodami i†zachodami s³oÒca lub ksiÍøyca, a†takøe fazami ksiÍøyca. Odbiornik wylicza dla aktualnej pozycji geograficznej godziny wschodÛw i†zachodÛw s³oÒca i†ksiÍøyca w†dowolnie wybranym dniu (rys. 9), sugeruje takøe najlepsze pory na ³owienie ryb i†polowaÒ na dzik¹ zwierzynÍ. Interesuj¹cym uzupe³nieniem moøliwoúci odbiornika jest takøe ìwieczny kalendarzî.
Wyposaøenie Prezentowany w†artykule odbiornik wyposaøono w†interfejs szeregowy RS232C, ktÛry moøna wykorzystaÊ do odczytu danych GPS w†standardzie NMEA0183 2.3 lub GAR-
Tab. 1. Zestawienie podstawowych możliwości odbiorników serii eTrex. Parametr
eTrex Camo
eTrex Venture
eTrex Legend
eTrex Vista
eTrex Summit
Liczba odbieranych sygnałów GPS Liczba punktów referencyjnych trasy Liczba zapamiętanych tras/liczba punktów każdej z nich Pojemność wbudowanej pamięci Flash (na dodatkowe mapy szczegółowe) Czas pracy z jednym kompletem ogniw Wymiary wyświetlacza (pkt.)
12 500 10/50
12 500 20/50
12 500 20/50
12 500 20/50
12 500 20/50
brak
1MB
8MB
24MB
brak
22 h 64x128
20 h 160x288
18 h 160x288
12 h 160x288
16 h 64x128
48
Elektronika Praktyczna 5/2001
S P R Z Ę T Podsumowanie
Rys. 8. MIN, aktualizacji oprogramowania odbiornika lub do³¹czenia odbiornika rÛønicowego, ktÛry wysy³a dane w†formacie RTCM SC-104. Z³¹cze tego interfejsu nie jest standardowe, w†zwi¹zku z†czym producent dostarcza wraz z†odbiornikiem odpowiedni kabel. Styki z³¹cza szeregowego ukryto pod gumow¹ klapk¹, ktÛra zapobiega dostaniu siÍ wilgoci. OprÛcz widocznych na fot. 3†przyciskÛw steruj¹cych od-
Elektronika Praktyczna 5/2001
Rys. 9. biornik wyposaøono w†trzy dodatkowe przyciski, ulokowane na drugim jego boku. S¹ to przyciski do regulacji powiÍkszenia wyúwietlanego fragmentu mapy (zoom), oraz czÍsto stosowany przycisk otwieraj¹cy okno poszukiwania celu (Find).
Abstrahuj¹c od zachwytÛw nad zastosowanymi w†odbiorniku rozwi¹zaniami konstrukcyjnymi muszÍ stwierdziÊ, øe pos³ugiwanie siÍ odbiornikiem eTrexLegend jest niezwykle proste, a†przez to przyjemne. Prostota ta nie oznacza ograniczenia moøliwoúci odbiornika, ktÛrego funkcjonalnoúÊ (szczegÛlnie w†odniesieniu do rozwi¹zaÒ konkurencyjnych) jest bardzo wysoka. Prosty w†obs³udze interfejs graficzny zapewnia zaawansowanym uøytkownikom dostÍp takøe do funkcji wymagaj¹cych nieco specjalistycznej wiedzy, ale w†wiÍkszoúci przypadkÛw tego typu zaangaøowanie nie jest potrzebne. W†stosunku do testowanych kilkanaúcie miesiÍcy temu przez nasze laboratorium dwÛch odbiornikÛw starszej generacji (GPS II i†GPS III) eTrexLegend wprost tchnie nowoczesnoúci¹, w†najlepszym tego s³owa znaczeniu. Andrzej Gawryluk, AVT
Prezentowane w†artykule urz¹dzenie udostÍpni³a redakcji firma ATM Elektronika, tel. (0-22) 515-63-30, http:// www.atm.com.pl/elektro/ index1.html. DokumentacjÍ odbiornika eTrexLegend moøna znaleüÊ w†Internecie pod adresami: - http://www.garmin.com/products/eTrexLegend/index.html, - http://www.garmin.com/products/eTrexLegend/download.html, - http://www.garmin.com/products/eTrexLegend/manual.html, - http://www.garmin.com/products/eTrex/ (efektowne trÛjwymiarowe demo odbiornika), i†na p³ycie CD-EP4/2001B w†katalogu \GPS. Informacje o†systemie GPS moøna znaleüÊ pod adresami: - http://www.garmin.com/ aboutGPS/, - http://www.garmin.com/ manuals/gps4beg.pdf.
49
S P R Z Ę T
Uk³ady FPGA (ang. Field Programmable Gate Array) naleø¹ do jednej z†dwÛch szybko rozwijaj¹cych siÍ grup uk³adÛw programowalnych. SzczegÛlnie interesuj¹ce moøliwoúci oferuj¹ uøytkownikom uk³ady z†rodziny AT40K firmy Atmel - ich fragmenty moøna bowiem rekonfigurowaÊ podczas pracy pozosta³ej czÍúci struktury, dziÍki czemu budowanie urz¹dzeÒ z†samomodyfikuj¹cym siÍ sprzÍtem staje siÍ powoli moøliwe. W†artykule przedstawiamy architekturÍ uk³adÛw FPGA z†serii AT40K/KAL oraz doskona³e do ich poznania narzÍdzie - przygotowany przez firmÍ Kanda Systems zestaw FPGA Starter Kit.
50
Uk³ady rodzin AT40K oraz AT6000 s¹ obecnie - oprÛcz uk³adÛw Virtex II (produkowanych przez Xilinxa) jedynymi produko w a n y m i seryjnie uk³adami FPGA z†moøliwoúci¹ czÍúciowej rekonfiguracji struktury ìw locieî. Umoøliwiaj¹ wiÍc budowÍ modu³Ûw sprzÍtowych o†³atwo modyfikowalnych funkcjach, ktÛre moøna zmieniaÊ podczas pracy uk³adu. DziÍki temu wiele zadaÒ wymagaj¹cych znacznych zasobÛw logicznych moøna realizowaÊ w†stosunkowo niewielkich uk³adach (o mniejszych zasobach logicznych). Rekonfigurowalne modu³y sprzÍtowe zwykle wspomagaj¹ programowe wykonywanie jakichú zadaÒ. Projektowanie systemÛw, w†ktÛrych czeúÊ zadaÒ jest realizowana sprzÍtowo, a†czÍúÊ programowo nazywa siÍ projektowaniem sprzÍtowo-programowym (ang. hardware-software codesign).
Architektura uk³adÛw AT40K/KAL ArchitekturÍ uk³adÛw rodzin AT40K i†AT40KAL zoptymalizowano pod k¹tem ap-
Elektronika Praktyczna 5/2001
S P R Z Ę T
Rys. 1. likacji wymagaj¹cych czÍúciowej rekonfiguracji struktury uk³adu podczas jego pracy oraz aplikacji, w†ktÛrych s¹ realizowane sprzÍtowo algorytmy obliczeniowe, np. przy wspomaganiu obliczeÒ procesorÛw DSP. Szkic architektury uk³adÛw AT40K/40KAL, typowej dla klasycznych struktur FPGA, przedstawiono na rys. 1. Symetryczna matryca komÛrek logicznych, pogrupowanych po 16, jest pociÍta traktami po³¹czeniowymi pionowymi i†poziomymi, w†ktÛrych umieszczono takøe regeneratory (repeatery) przesy³anych sygna³Ûw. Kaødy trakt zawiera 15 linii (w piÍciu warstwach), w†tym 5 par linii ekspresowych oraz 5 linii lokalnych. Na skrzyøowaniach pionowych i†poziomych traktÛw po³¹czeniowych ulokowano bloki dwuportowych pamiÍci SRAM o†pojemnoúci 32x4 bity. KomÛrki logiczne uk³adÛw AT40K/40KAL mog¹ komunikowaÊ siÍ bezpoúrednio z†oúmioma s¹siaduj¹cymi komÛrkami logicznymi, a†takøe za poúrednictwem traktÛw po³¹czeniowych - z†dowolnymi innymi komÛrkami w†uk³adzie. Umoøliwiaj¹ to po³¹czenia komÛrek z†piÍcio-
ma poziomymi i†piÍcioma pionowymi lokalnymi liniami z†traktÛw po³¹czeniowych. BudowÍ komÛrki logicznej uk³adÛw AT40K/40KAL pokazano na rys. 2. Zawiera ona dwie 3-wejúciowe tablice wartoúci funkcji LUT (ang. Look-Up Table) z†jednym wyjúciem. Mog¹ byÊ do nich wpisane wartoúci dowolnej, zadanej przez projektanta funkcji logicznej sygna³Ûw podawanych bez-
poúrednio z†s¹siaduj¹cych komÛrek logicznych (do tego celu s¹ stosowane wejúcia i†wyjúcia o†nazwach odpowiadaj¹cych kierunkom geograficznym: N, E, S, W, NW, NE, SE, SW) lub z†traktÛw po³¹czeniowych (sygna³y wejúciowe: V1..5, H1..5 i†wyjúciowy L). KomÛrki logiczne, zaleønie od wymagaÒ aplikacji, mog¹ byÊ skonfigurowane do pracy w†jednym z†piÍciu trybÛw (rys. 3), w†tym jednym niespotykanym w†innych uk³adach programowalnych, gdy komÛrka logiczna realizuje funkcjÍ elementu mnoø¹cego z†wyjúciem kombinacyjnym lub rejestrowym (rys. 3c). Pozosta³e tryby pracy komÛrki logicznej moøna zaliczyÊ do standardowych: - syntetyczny (rys. 3a) - po³¹czone zasoby komÛrki tworz¹ 4-wejúciow¹ tablicÍ LUT, a†jej wyjúcie moøe byÊ rejestrowe lub kombinacyjne, - arytmetyczny (rys. 3b) komÛrka logiczna spe³nia rolÍ dwubitowego sumatora z†wejúciem i†wyjúciem przeniesienia oraz z†opcjonalnym przerzutnikiem na wyjúciu danych, - licznikowy (rys. 3d) - komÛrka logiczna jest konfigurowana jako 1-bitowy licznik z†wejúciem i†wyjúciem przeniesienia,
- multiplekserowo-trÛjstanowy (rys. 3e) - komÛrka logiczna jest konfigurowana jako 2-wejúciowy multiplekser z†wejúciem adresowym i†trÛjstanowym buforem na wyjúciu. Wbudowane w†strukturÍ uk³adÛw bloki pamiÍci (nazwane przez producenta FreeRAM) s¹ od siebie ca³kowicie niezaleøne, a†odczyt ich zawartoúci jest w†pe³ni asynchroniczny. Od strony wejúcia operacje na zwartoúci pamiÍci moøna synchronizowaÊ lokalnym sygna³em zegarowym. Na rys. 4 pokazano schemat blokowy pojedynczej pamiÍci wraz z†sygna³ami steruj¹cymi. Sygna³y wejúciowe i†wyjúciowe s¹ do³¹czone do rÛønych linii traktÛw po³¹czeniowych. Przyk³adowo, 5-bitow¹ magistralÍ adresow¹ do³¹czono do pionowych linii ekspresowych, zaú magistralÍ wejúciow¹ danych do³¹czono do lokalnych linii po³¹czeniowych w†trakcie leø¹cym w†pierwszej warstwie, natomiast magistralÍ wyjúciow¹ danych do³¹czono takøe do lokalnych linii po³¹czeniowych, ale w†trakcie leø¹cym w†drugiej warstwie. KomunikacjÍ uk³adu z†otoczeniem umoøliwiaj¹ komÛrki wejúciowo-wyjúciowe, ktÛrych budowa jest stosunkowo
Rys. 2.
52
Elektronika Praktyczna 5/2001
S P R Z Ę T Tab. 1. Zestawienie najważniejszych parametrów układów AT40K Typ układu
AT40K05 AT40K10 AT40K20/20AL AT40K40/40AL AT40K80AL
Rys. 3. ma³o skomplikowana. Zawieraj¹: wyjúciowy bufor trÛjstanowy i†wejúciowy bufor napiÍciowy, ktÛry moøna skonfigurowaÊ do wspÛ³pracy z†uk³adami o†poziomach sygna³Ûw TTL lub CMOS. Moøna takøe ìw³¹czyÊî histerezÍ charakterystyki przejúciowej (bufor pracuje jak przerzutnik Schmitta) oraz programowane opÛünienie. Niew¹tpliwym atutem uk³adÛw AT40K/40KAL jest zastosowanie w†nich niestandardowej architektury pamiÍci konfiguracji (CacheLogic), dziÍki ktÛrej jest moøliwa ca³kowita lub czÍúciowa rekonfiguracja dynamiczna (w locie) uk³adu. Innym atutem tych uk³adÛw jest duøa liczba dostÍpnych linii dla sygna³Ûw glo-
Rys. 4.
54
Liczba komórek logicznych
Maksymalna liczba przerzutników
Liczba bramek logicznych
256 576 1024 2304 4096
256 576 1024/1272 2304/2676 4468
5000 10000 20000 40000 80000
balnych, w†tym aø 8†niezaleønych sygna³Ûw zegarowych i†sygna³u Set/Reset (moøe pochodziÊ z†dowolnego wyprowadzenia uk³adu). Sygna³y te s¹ rozprowadzane po uk³adzie specjalnymi liniami wydzielonymi ze standardowych zasobÛw po³¹czeniowych. Atmel, wprowadzaj¹c do produkcji uk³ady rodzin AT40K/40KAL, chcia³ wykorzystaÊ ugruntowan¹ juø pozycjÍ firmy Xilinx, w†zwi¹zku z†czym rozmieszczenie wyprowadzeÒ tych uk³adÛw jest zgodne z†rozmieszczeniem wyprowadzeÒ uk³adÛw rodzin XC4000/XC5200.
FPGA Starter Kit Firma Kanda Systems opracowa³a dla Atmela doskona³y zestaw edukacyjno-inøynierski umoøliwiaj¹cy testowanie prostych aplikacji i†poznanie w†szybkim tempie moøliwoúci architektury uk³adÛw AT40K/KAL. Podstawowym elementem zestawu jest p³ytka drukowana wyposaøona w†6-cyfrowy wyúwietlacz ciek³okrystaliczny, uniwersalne pole wskaünikÛw LED, 9-przyciskow¹
klawiaturÍ, dwa gniazda interfejsu RS232 z†konwerterami napiÍciowymi, a†takøe podstawkÍ dla mikrokontrolera z†rodziny AVR AT90S8515 oraz cztery podstawki dla pamiÍci (lub innych uk³adÛw) z†interfejsem I 2C . N a p ³ y t c e b a z o w e j umieszczono takøe elementy: stabilizator napiÍcia zasilaj¹cego i†konwerter napiÍcia ujemnego dla wyúwietlacza LCD oraz szereg elementÛw pomocniczych, ktÛre moøna wykorzystaÊ jako peryferyjne dla uk³adu FPGA podczas budowania i†testowania aplikacji. WúrÛd nich szczegÛlnie interesuj¹ce s¹: - elementy umoøliwiaj¹ce zbudowanie przetwornika A/C i†C/A w†oparciu o†FPGA, - elementy interfejsu optycznego (nadajnik i†odbiornik podczerwieni), - piezoceramiczny przetwornik akustyczny. WiÍkszoúÊ testowanych na prezentowanym zestawie aplikacji bÍdzie wymaga³a sygna³Ûw zegarowych, ktÛrych piÍÊ ürÛde³ znajduje siÍ na p³ytce bazowej. DostÍpne s¹ sygna³y o kszta³cie prostok¹tnym o†czÍstotliwoúciach: 40MHz, 10MHz, 4,9512MHz, 32,768kHz. Sygna³ zegarowy moøna takøe dostarczaÊ z†zewn¹trz, ale moøna go rÛwnieø wytwarzaÊ ìrÍcznieî (za pomoc¹ jednego z†przyciskÛw). Do kaødego z†4†wybranych wejúÊ dla globalnych sygna³Ûw zegarowych uk³adu FPGA moøna przypisaÊ (za pomoc¹ jumperÛw) sygna³ z†jednego z†dwÛch ürÛde³. W†centralnym punkcie p³ytki bazowej przewidziano miejsce dla dodatkowej p³ytki drukowanej z†uk³adem FPGA, ktÛry jest ìser-
Pojemność wbudowanej pamięci SRAM [b] 2048 4096 8192 18342 32768
Maksymalna liczba I/O
128 192 256 384 384
cemî ca³ego zestawu. W†zestawie standardowo jest dostarczany uk³ad AT40K20 (1024 makrokomÛrki logiczne) wraz z†reprogramowaln¹ pamiÍci¹ konfiguracji AT17C512. ZawartoúÊ tej pamiÍci moøna modyfikowaÊ poprzez z³¹cze szeregowe ISP. W†przypadku koniecznoúci zastosowania innego uk³adu FPGA, jedynym elementem zestawu wymagaj¹cym modyfikacji jest niewielka p³ytka dodatkowa. OprÛcz modu³u sprzÍtowego producent w³¹czy³ w†sk³ad zestawu interfejsprogramator ISP (do³¹czany do portu Centronics) wraz z†programem steruj¹cym CPS (rys. 5), s³uø¹cym do programowania w†systemie pamiÍci konfiguruj¹cej. Ze wzglÍdu na zastosowanie stosunkowo d³ugich przewodÛw pomiÍdzy wyjúciem interfejsu i†z³¹czem p³ytki z†pamiÍci¹ konfiguruj¹c¹, twÛrcy tego programu przewidzieli moøliwoúÊ dostosowania czÍstotliwoúci sygna³u zegarowego do rzeczywistych warunkÛw pracy (rys. 5). Niezwykle atrakcyjnym uzupe³nieniem wyposaøenia zestawu jest pakiet projektowy dla uk³adÛw programowalnych IDS6.0. Jest to kompletny zestaw narzÍdzi pozwalaj¹cy wykonaÊ projekt w†jÍzyku VHDL (za pomoc¹ edytora i†modu³u syntezy logicznej WorkOffice, firmy
Rys. 5.
Elektronika Praktyczna 5/2001
S P R Z Ę T niegdyú ViewLogic, a obecnie Innoveda) oraz jego kompilacjÍ na wybrany uk³ad FPGA firmy Atmel. Pomimo doúÊ archaicznej konstrukcji (opartej na programie Figaro firmy Mentor Graphics z†1996 roku) IDS6.0 jest stabilnie pracuj¹cym narzÍdziem i†przy odrobinie cierpliwoúci umoøliwi realizacjÍ takøe bardzo duøych projektÛw. W†sk³ad wypoøyczonego do testÛw zestawu wchodzi takøe podrÍcznik dla pocz¹tkuj¹cych ìGet going with... FPGAsî, w†ktÛrym przystÍpnie wyjaúniono bu-
Elektronika Praktyczna 5/2001
dowÍ uk³adÛw FPGA, sposÛb pos³ugiwania siÍ pakietem IDS6.0, skrÛtowo opisano takøe kilka projektÛw przyk³adowych umoøliwiaj¹cych poznanie peryferii zainstalowanych na p³ytce bazowej.
Podsumowanie Uk³ady FPGA opracowane i†produkowane przez Atmela, pomimo stosunkowo niewielkiego wartoúciowego udzia³u tej firmy w†úwiatowym rynku FPGA, naleø¹ do ìpere³ekî w†swojej klasie. Pod tym wzglÍdem dorÛwnuje im prezentowany w†ar-
tykule zestaw. Jest to kompletnie wyposaøone (niestety bez zasilacza) narzÍdzie o†przemyúlanej i†dopracowanej konstrukcji, ktÛrej ìúwieøoúÊî podkreúlaj¹ drobne poprawki druku wykonane za pomoc¹ wiertarki i†kynaru. Gor¹co zachÍcam wszystkich mi³oúnikÛw uk³adÛw programowalnych do zaopatrzenia siÍ w†prezentowany zestaw! Piotr Zbysiñski, AVT
[email protected] Prezentowany w†artykule zestaw udostÍpni³a redakcji firma JM Elektronik, tel. (032) 339-69-00, www.jm.pl.
Informacje o†uk³adach FPGA firmy Atmel moøna znaleüÊ w†Internecie pod adresem: http://www.atmel.com/atmel/products/ prod3.htm. Informacje o†pamiÍciach konfiguruj¹cych uk³ady FPGA firmy Atmel moøna znaleüÊ w†Internecie pod adresem: http://www.atmel.com/atmel/ products/prod22.htm. Noty katalogowe uk³adÛw FPGA i†konfiguratorÛw znajduj¹ siÍ takøe na p³ycie CDEP5/2001B w†katalogu \Atmel.
55
S P R Z Ę T
BioTouch jest czytnikiem linii papilarnych wbudowanym w kartÍ PCMCIA. Instalacja czytnika jest bardzo ³atwa. Wystarczy w³oøyÊ kartÍ BioTouch do gniazda PCMCIA, w³¹czyÊ komputer i†zainstalowaÊ odpowiednie sterowniki oraz, po za³adowaniu systemu operacyjnego, zainstalowaÊ oprogramowanie uøytkowe BioLogon. Tak wygl¹da procedura instalacyjna w†komputerach z†systemem Windows 9x/Me. W†przypadku Windows NT/2000 instalacja jest nieco bardziej skomplikowana, ale postÍpuj¹c zgodnie z†do³¹czon¹ instrukcj¹, rÛwnieø zakoÒczy siÍ powodzeniem. W†trakcie instalacji naleøy wprowadziÊ nazwÍ i†has³o administratora oraz wskazaÊ czy czytnik linii papilarnych jest zainstalowany z†lewej czy z†prawej strony komputera (rys. 1). NastÍpnie, po przy³oøeniu palca do czytnika, zapamiÍtywany jest wzÛr linii papilarnych. Po ponownym uruchomieniu komputera zostaje wyúwietlone nowe okienko logowania (rys. 2), zachÍcaj¹ce do przy³oøenia palca do czytnika lub wprowadzenia has³a. Jako znak zachÍty czytnik linii papilarnych miga, gdy komputer
Rys. 1.
Rys. 2.
58
oczekuje na przy³oøenie do niego palca. Program klienta logowania (rys. 3) jest wyj¹tkowo dobrze napisany, gdyø w†systemie Windows 9x/Me nie da siÍ go ìobejúÊî naciskaj¹c klawisz ESC, co zdarza siÍ w†niektÛrych konkurencyjnych rozwi¹zaniach. W†trakcie pracy komputera na pasku zadaÒ jest wyúwietlana ikona Biologon Security. Dwukrotne klikniÍcie na niej powoduje zablokowanie komputera i†rozpoczÍcie procedury weryfikacji uøytkownika. Jest to wygodny sposÛb na szybkie blokowanie komputera, gdy zaistnieje koniecznoúÊ odejúcia od niego na chwilÍ. W³aúciwoúÊ ta jest rÛwnieø niezbÍdna dla uøytkownikÛw komputerÛw przenoúnych, ktÛrzy korzystaj¹ z†zaawansowanych funkcji zarz¹dzania energi¹, gdyø klient logowania nie uruchamia siÍ, gdy komputer przejdzie w†stan uúpienia. Po klikniÍciu prawym klawiszem na ikonie Biologon Security wyúwietlana jest lista, w†ktÛrej najciekawsz¹ pozycj¹ jest Properties. Za pomoc¹ tego programu moøna zmieniaÊ konfiguracjÍ pracy czytnika oraz przeprowadziÊ jego diagnostykÍ. Na rys.
Kradzieø danych, to obecnie proceder doúÊ powszechny. OprÛcz w³amaÒ ìkomputerowychî, czyli za poúrednictwem rÛønego rodzaju sieci komputerowych, pods³uchÛw linii telefonicznych itp., doúÊ czÍsto zdarzaj¹ siÍ przypadki ìtradycyjnejî kradzieøy dyskÛw twardych lub ca³ych komputerÛw. Z†oczywistych wzglÍdÛw komputery przenoúne s¹ szczegÛlnie naraøone na kradzieø i†dlatego o†zabezpieczeniu przed dostÍpem do danych przez nieuprawnione osoby naleøy pomyúleÊ wczeúniej. WúrÛd stosowanych metod ograniczania dostÍpu do komputera najskuteczniejsze s¹ biometryczne metody identyfikacji, a†wúrÛd nich najprostsze do zrealizowania s¹ czytniki linii papilarnych. Jeden z†takich czytnikÛw dostaliúmy do testÛw. 4†pokazano zak³adkÍ Fingerprint Reader, w†ktÛrej moøna ÊwiczyÊ przy³oøenie palca do czytnika (czÍúÊ palca dobrze przy³oøona do czytnika jest podawana w†procentach). W†zak³adce tej jest rÛwnieø moøliwoúÊ ustawienia jasnoúci podúwietlania. W†zak³adce Security (rys. 5) moøna wybraÊ jeden z†trzech poziomÛw bezpieczeÒstwa. Wydaje siÍ, øe najw³aúciwsze jest ustawienie najwyøszego stopnia bezpieczeÒstwa, ale w†praktyce okazuje siÍ to uci¹øliwe dla uøytkownika, gdyø czasem zachodzi koniecznoúÊ kilkukrotnego przyk³adania palca do czytnika. Wybranie úredniego stopnia bezpieczeÒstwa poskutkowa³o bezproblemow¹ prac¹ z†czytnikiem. W†zak³adce tej moøna rÛwnieø
wy³¹czyÊ moøliwoúÊ odblokowywania komputera has³em (domyúlnie komputer moøna odblokowaÊ za pomoc¹ czytnika lub has³em). W†zak³adce Audit moøna wybraÊ jak dok³adne dane maj¹ byÊ zapisywane w†pliku logÛw, natomiast zak³ad-
Rys. 3.
Elektronika Praktyczna 5/2001
S P R Z Ę T ka Components umoøliwia zweryfikowanie poprawnoúci zainstalowanych klientÛw logowania. W†zak³adce Providers s¹ wyúwietlone zainstalowane urz¹dzenia, wspÛ³pracuj¹ce z BioLogon 2.0 (oprogramowanie moøe wspÛ³pracowaÊ z†rÛønymi czytnikami) oraz moøna wyúwietliÊ w³aúciwoúci tych urz¹dzeÒ. Nieduøe wymagania sprzÍtowe (procesor 486, 12 MB pamiÍci RAM) sprawiaj¹, øe czytnik BioTouch moøna wykorzystaÊ rÛwnieø w†starszych notebookach. Karta jest wykonana zgodnie ze standardem PCMCIA II, a†sam czytnik jest wysuwany z†karty. Rozwi¹zanie takie powoduje, øe z†boku komputera nic nie wystaje, gdy czytnik nie jest wykorzystywany. Aktywna p³ytka czytnika ma wymiary 17x17mm, a†doúÊ wysoka rozdzielczoúÊ (H: 420 dpi, V: 380 dpi) gwarantuje wysok¹ jakoúÊ odczytywanych obrazÛw linii papilarnych. Naleøy jasno powiedzieÊ, øe nie ma skutecznej meto-
dy zabezpieczenia danych w†komputerach przenoúnych. Mimo duøej skutecznoúci metod biometrycznej identyfikacji, do ktÛrych naleøy identyfikacja za pomoc¹ linii papilarnych, chc¹c zapewniÊ bezpieczeÒstwo, nawet w†podstawowym zakresie, nie moøna ograniczyÊ siÍ do samego czytnika BioTouch. Wystarczy przecieø prze³oøyÊ dysk z†notebooka do innego komputera, aby uzyskaÊ dostÍp do wszystkich plikÛw zapisanych na dysku. Producent BioTouch oferuje oprogramowanie BioLogon 2.0 Security Pack, ktÛre wspÛ³pracuj¹c z†czytnikiem linii papilarnych umoøliwia szyfrowanie plikÛw i†katalogÛw oraz nadzoruje moøliwoúÊ uruchamiania przez rÛønych uøytkownikÛw aplikacji zainstalowanych na komputerze. Dopiero po³¹czenie czytnika BioTouch oraz BioLogon 2.0 Security Pack (z czytnikiem jest dostarczana wersja demonstracyjna tego oprogramowania) zapewnia minimalny poziom bezpieczeÒstwa danych na
Rys. 4.
Rys. 5.
Elektronika Praktyczna 5/2001
dysku komputera, dlatego dziwne jest, øe oprogramowanie to nie jest do³¹czane do czytnika, ale trzeba je oddzielnie kupiÊ. BioTouch bez tego oprogramowania jest co najwyøej efektownym gadøetem, ale z†pewnoúci¹ nie stanowi skutecznego zabezpieczenia danych. Pracuj¹c samodzielnie moøe jedynie zabezpieczyÊ komputer przed ciekawskim koleg¹ w†pracy, oferuj¹c poziom poufnoúci danych porÛwnywalny z wygaszaczem ekranu wy³¹czanym has³em. Pawe³ Zbysiñski
Czytnik BioTouch do testÛw w redakcji dostarczy³a firma ASTRON Advanced Technology Solutions, tel. (0-22) 52891-09, www.astrontech.pl.
59
S P R Z Ę T
Konkurencja rośnie Micromaster LV48 naleøy do rodziny programatorÛw produkowanych przez brytyjsk¹ firmÍ ICE Technology. Obok prezentowanego na zdjÍciu Micromastera LV48, producent oferuje takøe†dwa podobne programatory: Speedmaster LV48 oraz Epmaster LV48, ktÛre s¹ przeznaczone nie tylko do zastosowaÒ pÛ³przemys³owych, ale takøe dla odbiorcÛw prywatnych. Programatory rodziny master maj¹ identyczny wygl¹d zewnÍtrzny oraz interfejs uøytkownika w†programach steruj¹cych. RÛønice, bo takie oczywiúcie s¹, wynikaj¹ z†moøliwoúci poszczegÛlnych programatorÛw, przy czym Micromaster LV48 moøe siÍ tu poszczyciÊ najlepszymi ìosi¹gamiî.
Moøliwoúci Jeúli chodzi o†moøliwoúci, to tymi Micromaster LV48 niew¹tpliwie wyrÛønia siÍ spoúrÛd dostÍpnych na rynku programatorÛw. Nie chodzi tu jedynie o†liczbÍ uk³adÛw obs³ugiwanych, choÊ ta jest tu naprawdÍ imponuj¹ca, ale rÛwnieø o†inne bardzo uøyteczne funkcje, o†ktÛrych za chwilÍ. Wyposaøony w†48-nÛøkow¹ podstawkÍ Micromaster LV48 programuje w³aúciwie wszystko, pocz¹wszy od szerokiej gamy pamiÍci, poprzez mikrokontrolery, aø†do progra-
Tab. 1. Czas programowania wybranych układów Typ układu 27C512 28F400B3 28F128J3A PIC16C54 GAL16V8
Czas programowania [s] 11 6,5 285 2 2
Elektronika Praktyczna 5/2001
mowalnych uk³adÛw logicznych. Obs³uguje zarÛwno standardowe uk³ady o†napiÍciu zasilania 5V, jak rÛwnieø uk³ady niskonapiÍciowe 3,3V, 2,7V, 1,8V. Lista uk³adÛw obejmuje: - 8- i†16-bitowe pamiÍci: EPROM, szeregowe i†rÛwnoleg³e EEPROM, szeregowe EPROM i†FLASH do 128Mb, - pamiÍci NVRAM i†PROM, - programowalne uk³ady logiczne: PAL, GAL, PEEL, PALCE itd., - uk³ady CPLD firm: ALTERA, XILINX, VANTIS itd., - ponad 500 mikrokontrolerÛw, pocz¹wszy od podstawowych 87C48/51 do 89Cxxx, PIC, AVR, COP8, Z86, ST6, TMS370, H8 i†wiele innych. Naleøy dodaÊ, øe Micromaster LV48 zaprojektowano w†taki sposÛb, aby wyeliminowaÊ koniecznoúÊ stosowania dodatkowych adapterÛw dla uk³adÛw w†obudowach DIL do 48 nÛøek. Niew¹tpliw¹ zalet¹ tego programatora jest duøa szybkoúÊ programowania, ktÛra przy ci¹gle wzrostaj¹cej pojemnoúci uk³adÛw zaczyna byÊ czynnikiem bardzo istotnym. Czasy programowania wraz z†weryfikacj¹ dla przyk³adowych uk³adÛw zaprezentowano w tab. 1. Udogodnieniem funkcjonalnym wprowadzonym przez producenta do omawianego programatora jest moøliwoúÊ testowania uk³adÛw TTL, CMOS, DRAM i†SRAM. Opcjonalnie przewidziano rÛwnieø moøliwoúÊ wykorzystania go jako emulatora pamiÍci ROM/RAM.
Co mamy na myúli, mÛwi¹c ìprogramator uniwersalnyî? Czy w†dobie mnogoúci procesorÛw, EPROM-Ûw, pamiÍci Flash itp. chodzi tylko o†liczbÍ obs³ugiwanych uk³adÛw? Wydaje mi siÍ, øe lektura tego artyku³u zweryfikuje PaÒstwa pogl¹d na znaczenie s³owa ìuniwersalnyî w†odniesieniu do programatorÛw. Jak siÍ bowiem okazuje, pomys³owoúÊ producentÛw tych urz¹dzeÒ nie zosta³a jeszcze wyczerpana, czego przyk³adem moøe byÊ Micromaster LV48. 1kg), znajduje siÍ kabel do po³¹czenia go z†komputerem (port rÛwnoleg³y), zasilacz i†oczywiúcie CD z†oprogramowaniem. Na p³ycie czo³owej programatora umieszczono, oprÛcz podstawki ZIF, dwie diody LED sygnalizuj¹ce aktualny jego stan. Wszystkie gniazda, tj. wejúcie zasilania, z³¹cze Centronics i†opcjonalne z³¹cza emulatora usytuowano w†tylnej czÍúci programatora. Istotn¹ zalet¹ Micromaster LV48 jest moøliwoúÊ jego pracy z†zasilaniem bateryjnym. Zasobnik baterii znajduje siÍ pod spodem i†mieúci 8†szt. ogniw
SprzÍt W†zestawie dostarczanym przez producenta, oprÛcz samego programatora (wymiary 24x15x5cm, waga poniøej
Rys. 1.
61
S P R Z Ę T
Rys. 2. typu R6. W†przypadku stosowania akumulatorkÛw nie musimy siÍ martwiÊ o†ich ³adowanie, poniewaø ³adowarka jest wbudowana w†zasilacz urz¹dzenia. W programatorze Micromaster LV48 nie ma wy³¹cznika zasilania. Nie jest to oczywiúcie niedopatrzenie projektantÛw, a†jedynie dowÛd, øe producent bardzo powaønie podszed³ do problemÛw wynikaj¹cych z†ograniczonej pojemnoúci baterii, wyposaøaj¹c programator w†system inteligentnego w³¹czania programatora, wspÛ³pracuj¹cy z†programem steruj¹cym.
Oprogramowanie Oprogramowanie Micromaster LV48 zapewnia pe³ny zakres opcji programowania wynikaj¹cych ze specyfiki poszczegÛlnych uk³adÛw. Program steruj¹cy rozpoznaje nastÍpuj¹ce formaty danych: Intel HEX, Motorola S-Record, TekHex, Extended TekHex, ASCII, Raw Binary, Octal, MOSTech, Altera POF, Altera JAM itd. Oczywiúcie, jest dostÍpna funkcja rozpoznania formatu pliku wejúciowego. Przy ³adowaniu kodu do bufora jest dostÍpnych wiele opcji pozwalaj¹cych na jego zape³nienie w†oczekiwany przez uøytkownika sposÛb. Na przyk³ad moøliwe jest wybranie adresu pocz¹tkowego, od ktÛrego rozpocznie siÍ ³adowanie bufora, okreúlenie adresu koÒcowego itp. Ponadto oprogramowanie zapewnia edycjÍ bufora i†zapis jego zawartoúci na dysku komputera. عdany ci¹g bitÛw moøemy natychmiast odszukaÊ, wykorzystuj¹c funkcjÍ FIND, natomiast funkcja GO TO szybko ustawi kursor na wybranym przez uøytkownika adresie. Program wyposaøono w wiele usprawnieÒ, zdecydowanie u³atwiaj¹cych pracÍ z†aplikacj¹. Jednym z†nich jest funkcja FIND DEVICE, stosunkowo rzadko spotykana w†innych programatorach. W†Micromaster LV48 wystarczy wpisaÊ w†odpowiednim polu symbol (lub fragment symbolu) szukanego uk³adu, aby natychmiast uzyskaÊ listÍ ìpasuj¹cychî uk³adÛw (rys. 1). Oczywiúcie, programowany uk³ad moøemy wybraÊ takøe zwyczajnie, za pomoc¹ przejrzystego, hierarchicznego menu (rys. 2).
62
Poniewaø Micromaster LV48 moøe pracowaÊ jako tester, emulator (opcja) lub programator, dostÍpne uk³ady s¹ podzielone odpowiednio na trzy grupy: testera, emulatora i†programatora. W†przypadku programatora wybranie uk³adu powoduje wyúwietlenie g³Ûwnego okna programu przedstawiaj¹cego aktualn¹ zawartoúÊ bufora. Teraz wystarczy juø tylko za³adowaÊ plik z danym kodem i†rozpocz¹Ê programowanie. W†celu zabezpieczenia kodu znajduj¹cego si͆w†buforze przed przypadkow¹ modyfikacj¹ (lub przed jego zmian¹ przez osoby trzecie), moøemy uaktywniÊ blokadÍ bufora. Edycja danych jest w†tym przypadku moøliwa dopiero po podaniu ustalonego has³a. Program steruj¹cy umoøliwia stosowanie przez uøytkownika zaawansowanych opcji programowania, np. konfigurowania bitÛw zabezpieczeÒ czy ustalenie numeru seryjnego programowanego uk³adu. Dla tych, ktÛrzy chc¹ siÍgn¹Ê ìg³Íbiejî w†parametry programowania, przewidziano funkcjÍ PROGRAMMING OPTIONS. DziÍki niej uøytkownik moøe wp³ywaÊ m.in. na sposÛb obliczania sumy kontrolnej, sposÛb weryfikacji danych po zaprogramowaniu uk³adu itd. Oczywiúcie dostÍp do poszczegÛlnych opcji zaleøny jest od aktualnie wybranego uk³adu i†jego w³aúciwoúci. Ustawienia opcji dla danego uk³adu moøemy ponadto zachowaÊ na dysku, w celu pÛüniejszego wykorzystania. PrzywrÛcenie tych ustawieÒ podczas nastÍpnego programowania odbywa siÍ automatycznie i†nie zabiera uøytkownikowi czasu. W†zaleønoúci od rodzaju programowanego uk³adu, program steruj¹cy samoczynnie dostosowuje sposÛb wyúwietlania zawartoúci bufora. Przyk³adowo, podczas programowania uk³adÛw PLD zawartoúÊ bufora jest wyúwietlana jako JEDEC, VECTOR lub WAVEFORM. W†kaødym z†trybÛw moøliwa jest edycja danych. Uøyteczn¹ funkcj¹ udostÍpnian¹ przez Micromaster LV48 jest HANDS FREE. Polega ona na powtarzaniu zadanego przez uøytkownika ci¹gu czynnoúci, co u³atwia pracÍ w†przypadku programowania serii jednako-
Rys. 3.
wych uk³adÛw. Zadanie osoby obs³uguj¹cej programator ogranicza siÍ jedynie do umieszczenia kolejnego uk³adu w†podstawce i†jego wyjÍciu po zaprogramowaniu. Wszystkie operacje wykonywane s¹ automatycznie i†sygnalizowane odpowiednimi komunikatami. Licznik znajduj¹cy siÍ w†obszarze jednego z†okien programu steruj¹cego na bieø¹co informuje o†liczbie zaprogramowanych uk³adÛw. Licznik podaje rÛwnieø, ile z†uk³adÛw nie zosta³o zaprogramowanych poprawnie. Tester funkcjonalny jest standardow¹ funkcj¹ programatora Micromaster LV48. Wywo³anie okna testera (rys. 3) nastÍpuje natychmiast po wybraniu uk³adu z†grupy dostÍpnych do testowania uk³adÛw. Niezwykle wygodn¹ funkcj¹ testera jest funkcja autorozpoznania. W†przypadku, gdy nie znamy symbolu uk³adu wystarczy umieúciÊ go w†podstawce i†nacisn¹Ê odpowiedni¹ ikonÍ. O†ile uk³ad ten jest dostÍpny w†bibliotekach Micromaster LV48, na pewno zostanie rozpoznany. Projektanci oprogramowania steruj¹cego przewidzieli moøliwoúÊ samodzielnego rozbudowywania przez uøytkownika bibliotek obs³ugiwanych uk³adÛw. Funkcja emulatora, o†ktÛry moøna rozszerzyÊ moøliwoúci Micromaster LV48, jest opcjonalna. W†przypadku wyposaøenia programatora w†specjaln¹ kartÍ, moøe on emulowaÊ 8- i†16-bitowe uk³ady pamiÍci ROM/RAM. Wywo³anie czÍúci oprogramowania odpowiedzialnej za emulacjÍ nastÍpuje po wybraniu uk³adu z†listy dostÍpnych uk³adÛw emulowanych. W†niektÛrych sytuacjach moøe okazaÊ siÍ przydatna funkcja autotestu, zapewniaj¹ca pe³n¹ diagnozÍ poprawnoúci dzia³ania sprzÍtu i†oprogramowania.
Wnioski Zastanawiaj¹c siÍ nad zakupem programatora, na pewno warto wzi¹Ê pod uwagÍ Micromaster LV48. D³uga lista obs³ugiwanych uk³adÛw, funkcja testera i†opcjonalnie emulatora sprawiaj¹, øe prezentowane urz¹dzenie dorÛwnuje obecnym od lat na naszym rynku programatorom konkurencyjnym, jak choÊby LabTool 48. Warto zwrÛciÊ uwagÍ, øe oprogramowanie steruj¹ce wraz bibliotekami ulega ci¹g³emu rozwojowi. Najnowsze wersje oprogramowania s¹ bezp³atnie udostÍpniane na stronie WWW producenta. Producent zapewnia takøe pe³ny asortyment adapterÛw dla uk³adÛw w†obudowach innych niø DIP. RK Prezentowane urz¹dzenie udostÍpni³a redakcji firma RK-System, tel. (0-22) 724-30-39, www.rk-system.com.pl.
Elektronika Praktyczna 5/2001
S P R Z Ę T Producenci programatorÛw dos³ownie zasypuj¹ nimi nasz rynek. Niemal co miesi¹c przedstawiamy na ³amach EP nowe na naszym rynku programatory dostarczane nam przez firmy zajmuj¹ce siÍ ich dystrybucj¹. W tej sytuacji nawet najwiÍksze na tym rynku firmy s¹ zmuszone wprowadzaÊ do swojej oferty urz¹dzenia nieco taÒsze, aby podj¹Ê ìcenow¹ walkÍî z†konkurentami.
Wskutek cenowej wojny pomiÍdzy Advantechem i†ìreszt¹ úwiataî powsta³ programator LabTool 148C. Chociaø nadrzÍdnym celem konstruktorÛw tego programatora by³o obniøenie jego ceny, to od pierwszej chwili po wyjÍciu z†pude³ka urzeka jakoúci¹ wykonania i†zastosowanych elementÛw. Prawdziwe arcydzie³o za wzglÍdnie niewielkie pieni¹dze! ZewnÍtrznie LabTool 148C przypomina jeden z†najbardziej popularnych w†naszym kraju programatorÛw - LabTool 48, ktÛry sta³ siÍ prekursorem nowoczesnych programatorÛw. W†odrÛønieniu od pierwowzoru, do zasilania programatora Lab-
Rys. 1.
64
Tool 148C zastosowano zewnÍtrzny zasilacz impulsowy co powoduje, øe komfort korzystania z†programatora jest nieco mniejszy. Jest to jedyna widoczna i†istotna, oprÛcz nieco ograniczonej biblioteki (do 1200 elementÛw) obs³ugiwanych elementÛw, rÛønica pomiÍdzy programatorami LabTool 48 i†148C. Podobnie do pierwowzoru LabTool 148C wspÛ³pracuje z†PC poprzez z³¹cze rÛwnoleg³e Centronics. Poprawn¹ wspÛ³pracÍ zapewnia oprogramowanie pracuj¹ce w úrodowisku Windows 95/ 98/Me/2000. G³Ûwne okno programu pokazano na rys. 1. Podobnie jak ma to miejsce w†przypadku innych programatorÛw, oprogramowanie steruj¹ce umoøliwia wyszukiwanie programowanych elementÛw (rys. 2), zapewnia takøe obs³ugÍ programowania duøej liczby jednakowych uk³adÛw (tryb masowy). Podczas pracy w†tym trybie programator wykrywa w³oøenie uk³adu do podstawki i†po stwierdzeniu, øe zaciski podstawki ZIF poprawnie kontaktuj¹ z†wyprowadzeniami programowanego uk³adu (rys. 3) samoczynnie
rozpoczyna programowanie zgodnie z†wczeúniej ustalonymi opcjami (rys. 4). Interesuj¹c¹ moøliwoúci¹ oferowan¹ przez oprogramowanie steruj¹ce prac¹ programatora jest konfigurowalny blok obliczeÒ statystycznych z†funkcjami alarmÛw (np. po przekroczeniu zadanej liczby b³ÍdÛw podczas programowania) definiowanych przez uøytkownika (rys. 5). Pozosta³e moøliwoúci programu steruj¹cego nie odbiegaj¹ od dostÍpnych we wspÛ³czesnych programatorach. Dla programowanych uk³adÛw producent przewidzia³ 48-stykow¹ podstawkÍ ZIF (ang. Zero Insertion Force) typu DIL. DziÍki zastosowaniu specjalnych, wczeúniej sprawdzonych obwodÛw sterowania pinami programowanych uk³adÛw, liczba niezbÍdnych do programowania adapterÛw jest minimalna i w wiÍkszoúci przypadkÛw
Rys. 2.
Elektronika Praktyczna 5/2001
S P R Z Ę T i†weryfikacjÍ dokonanych wpisÛw przy napiÍciu zasilania wybranym z†przedzia³u 2..6,5V. Kilkudniowe testy w†redakcyjnym laboratorium wykaza³y, øe LabTool 148C jest urz¹dzeniem bardzo dopracowanym konstrukcyjnie, a†dostarczane wraz z†nim oprogramowanie steruj¹ce zaspokaja typowe wymagania konstruktorÛw. Urz¹dzenie pozbawiono wszelkich gadøetÛw, a†jego poprawn¹, d³u-
gotrwa³¹ pracÍ zapewniaj¹ mechanizmy autokalibracji inicjowane przez uøytkownika za pomoc¹ programu steruj¹cego. Andrzej Gawryluk, AVT
Rys. 3. moøliwa do wykonania we w³asnym zakresie. Producent programatora szczegÛlnie zadba³ o umoøliwienie programowania za pomoc¹ LabToola 148C nowoczesnych pamiÍci Flash i†EEPROM, w†zwi¹zku z†tym zastosowano w†nim ìinteligentneî algorytmy szybkiego programowania. Przyk³adowo kompletny cykl programowania 16Mb pamiÍci Flash (kontrola czystoúci, programowanie i†weryfikacja) trwa zaledwie 160 sekund. LabTool 148C umoøliwia takøe programowanie nowoczesnych uk³adÛw zasilanych napiÍciem 2,7V, 3V i†3,3V
66
Rys. 5.
Prezentowane w†artykule urz¹dzenie dostarczy³a redakcji firma Elmark Automatyka, tel. (0-22) 821-30-54, www.elmark.com.pl.
Rys, 4.
Dodatkowe informacje moøna znaleüÊ w†Internecie pod adresami: - http://www.aec.com.tw/products/ lt148c.htm, - http://www.aec.com.tw/service/update.htm (nowe wersje programÛw), oraz na p³ycie CD-EP5/2001B w†katalogu \LT148C.
Elektronika Praktyczna 5/2001
S P R Z Ę T
Dynamiczny rozwÛj sieci telewizji kablowych w†naszym kraju zachÍca firmy dystrybucyjne do wprowadzania do swojej oferty przyrz¹dÛw umoøliwiaj¹cych testowanie instalacji. Jednym z hitÛw w†tej grupie przyrz¹dÛw jest opracowany przez hiszpaÒsk¹ firmÍ Promax Electronica zintegrowany, przenoúny tester Promax 8+.
68
Przyrz¹d ten, pomimo niezbyt pokaünych wymiarÛw, integruje w†sobie moøliwoúci funkcjonalne aø szeúciu standardowych przyrz¹dÛw pomiarowych. Zakres czÍstotliwoúci wejúciowych jest na tyle szeroki (5..862MHz), øe przyrz¹d moøna zastosowaÊ takøe do pomiarÛw standardowych sygna³Ûw TV i†radiowych, przesy³anych liniami kablowymi. Za pomoc¹ Promax'a 8+ moøna zmierzyÊ niemal w†pe³ni automatycznie nastÍpuj¹ce parametry sygna³u TvC: - poziom noúnej wideo, - odstÍp noúnej od szumu, - odstÍp poziomu sygna³u wideo od sygna³u audio, - poziom zniekszta³ceÒ intermodulacyjnych przesy³anego sygna³u,
- poziom mocy w†kanale (przy cyfrowej transmisji DVB, DAB), - odstÍp noúnej od szumu (przy cyfrowej transmisji DVB, DAB). Przyrz¹d moøna dostroiÊ do wybranego kana³u poprzez wybranie jego numeru lub podanie czÍstotliwoúci. Rozmieszczenie kana³Ûw w†funkcji czÍstotliwoúci moøna zaprojektowaÊ samodzielnie (do 10 rÛønych wariantÛw, w†kaødym do 140 kana³Ûw), moøna takøe wykorzystaÊ standardowe plany kana³Ûw zgodne z†zaleceniami CCIR, EIA, OIRT, JAP2, UK, FCC, ST2L lub AUST. Wyniki pomiarÛw prezentowane s¹ na podúwietlanym wyúwietlaczu graficznym LCD. DziÍki niemu znaczna czÍúÊ wynikÛw jest przedstawiana w†postaci graficznej, co doskonale
Rys. 1.
Rys. 2.
Elektronika Praktyczna 5/2001
S P R Z Ę T W skład zestawu wchodzą: ✓ przyrząd pomiarowy Promax 8+ w osłonie antyudarowej, ✓ ładowarka akumulatorów, ✓ zasilacz sieciowy, ✓ akumulator NiCd, ✓ adapter do zasilania ładowarki z instalacji samochodowej 12V, ✓ kabel pomiarowy z konwerterem M/F, ✓ pasek, ✓ przelotka koncentryczna F/F, ✓ walizka z tworzywa sztucznego, ✓ instrukcja w językach: hiszpańskim, angiels− kim, francuskim i polskim. wp³ywa na ich percepcjÍ przez uøytkownika. Na rys. 1 pokazano wyúwietlane przez przyrz¹d wyniki pomiaru odstÍpu poziomu sygna³Ûw noúnych od szumu, a†na rys. 2 efektowny widok spektrum badanego sygna³u. W†przypadku koniecznoúci prowadzenia d³ugotrwa³ych pomiarÛw moøna uaktywniÊ wbudowany w†przyrz¹d rejestrator danych, ktÛry moøna skonfigurowaÊ w†taki sposÛb, aby automatycznie gromadzi³ okreúlone w†czasie wyniki pomiarÛw. Analizator wyposaøono w†demodulator sygna³u audio, ktÛry steruje wbudowany w†przyrz¹d wzmacniacz mocy. Zdemodulowany sygna³ moøna ods³uchi-
70
waÊ za pomoc¹ wbudowanego g³oúnika lub s³uchawek do³¹czanych do odpowiedniego gniazda. Pos³ugiwanie siÍ przyrz¹dem nie powinno sprawiaÊ wiÍkszych trudnoúci takøe mniej doúwiadczonym uøytkownikom, co jest zas³ug¹ przemyúlanego uk³adu menu i†prostego interfejsu uøytkownika. Sk³ada siÍ on bowiem z†7 przyciskÛw membranowych (w tym w³¹cznik) oraz pokrÍt³a zintegrowanego z†przyciskiem potwierdzaj¹cym. Zadaniem tego pokrÍt³a jest m.in. p³ynna regulacja szerokoúci pasma sygna³u poddawanego analizie. Przyrz¹d wyposaøono takøe w†interfejs szeregowy RS232 umoøliwiaj¹cy przes³anie informacji zgromadzonych w†pamiÍci pomiarÛw do komputera lub bezpoúrednio na drukarkÍ. Wykorzystanie wbudowanego interfejsu wymaga zastosowania specjalnego adaptera, dostarczanego przez producenta na øyczenie. Prezentowany przyrz¹d moøe spe³niaÊ rolÍ urz¹dzenia laboratoryjnego, lecz podstawowym obszarem jego stosowania s¹ pomiary w†terenie. Z†tego powodu jego standardowym wyposaøeniem jest akumulator NiCd z†³adowark¹ sieciow¹ oraz kabel umoøliwiaj¹cy do³¹czenie ³adowarki
do samochodoweej instalacji elektrycznej. D³ug¹ øywotnoúÊ akumulatora zapewni wbudowany w†³adowarkÍ system jego roz³adowywania przed powtÛrnym ³adowaniem. Stosowanie analizatora w†terenie u³atwia niewielki jego ciÍøar, porÍczna obudowa, ktÛr¹ dodatkowo chroni holster wykonany z†grubej gumy oraz estetyczna walizka z†tworzywa sztucznego, w†ktÛrej mieszcz¹ siÍ wszystkie istotne dla pomiarÛw elementy zestawu. KrÛtkie testy, jakim poddaliúmy przyrz¹d wykaza³y, øe pos³ugiwanie siÍ nim jest intuicyjne, a†jakoúÊ wykonywanych pomiarÛw by³a porÛwnywalna z†przyrz¹dami referencyjnymi firmy RohdeSchwarz. Tomasz Janik Prezentowany w†artykule przyrz¹d udostÍpni³a redakcji firma NDN, tel. (0-22) 641-15-47, www.ndn.com.pl. WiÍcej informacji na temat przyrz¹dÛw pomiarowych produkowanych przez firmÍ Promax Electronica moøna znaleüÊ w†Internecie pod adresem (w jÍzyku polskim) http://www.ndn.com.pl/ katalog/promax/promax.html oraz (w innych jÍzykach) www.promax.es.
Elektronika Praktyczna 5/2001
S P R Z Ę T Jeøeli jesteú dynamiczny, lubisz sporty ekstremalne, nie boisz siÍ ryzyka i†nie przeraøaj¹ CiÍ niepewne losy odkrywcy, mamy dla Ciebie atrakcyjn¹ propozycjÍ: wykorzystaj fakt pojawienia siÍ w†Polsce uk³adÛw firmy Triscend. Wykorzystaj nieograniczone moøliwoúci uk³adÛw CSoC, ktÛrych funkcjonalnoúci nie da siÍ porÛwnaÊ z†øadnymi dotychczas dostÍpnymi uk³adami.
Co siÍ kryje pod tyleø ostatnio modnym, co nierozumianym akronimem CSoC (ang. Configurable System on Chip)? Mikrokontrolery podbÛj úwiata rozpoczͳy w†koÒcu lat 70., czego efekty s¹ powszechnie odczuwalne: wiÍkszoúÊ otaczaj¹cych nas urz¹dzeÒ jest na wskroú zelektronizowana, a†obecnoúÊ w†nich procesorÛw jest tak oczywista, øe øaden producent nie umieszcza na obudowie dumnych napisÛw in-
Rys. 1.
72
formuj¹cych o†obecnoúci sterownika mikroprocesorowego. W†cieniu dynamicznej kariery mikrokontrolerÛw wzrasta³a komplementarna do nich grupa uk³adÛw, powszechnie nazywanych uk³adami programowalnymi (ang. PLD Programmable Logic Devices), ktÛrych ewolucja zaowocowa³a podzia³em na FPGA (ang. Field Programmable Logic Devices) i†uk³ady o†architekturach pochodnych klasycznym PAL
i†PLA, okreúlanych mianem CPLD (ang. Complex Programmable Logic Devices). Juø na pocz¹tku lat 90. okaza³o siÍ, øe w†wyniku po³¹czenia ze sob¹ mikrokontrolerÛw z†blokiem programowalnych komÛrek logicznych powstaj¹ uk³ady umoøliwiaj¹ce realizacjÍ zupe³nie nowych zadaÒ, trudnych do wykonania z†wykorzystaniem klasycznych rozwi¹zaÒ. Jednym z†najbardziej spektakularnych s¹ inteligentne, rekonfigurowalne modu³y peryferyjne, ktÛrych przyk³adem moøe byÊ wykorzystywany m.in. w†niektÛrych
modelach telefonÛw komÛrkowych firmy Motorola sprzÍtowy koder-dekoder transmisji, ktÛrego struktura sprzÍtowa jest dostosowywana do wykorzystywanego w†danej chwili protoko³u transmisji. Ze wzglÍdu na moøliwoúÊ zbudowania w†oparciu o†pojedynczy uk³ad bardzo skomplikowanych strukturalnie blokÛw, uk³ady integruj¹ce w†jednej strukturze mikrokontroler i†blok logiki konfigurowalnej s¹ nazywane System-on-aChip, co jednoznacznie sugeruje ich ogromne moøliwoúci.
Rys. 2.
Elektronika Praktyczna 5/2001
S P R Z Ę T
Rys. 3.
CSoC od úrodka Czy przyd³ugi wstÍp zabrzmia³ przeraøaj¹co? Mam nadziejÍ, øe nie zw³aszcza, øe budowa uk³adÛw oferowanych przez firmÍ Triscend jest bardzo przejrzysta i†³atwa do opanowania. Mi³oúnikÛw klasycznych rozwi¹zaÒ powinien zachÍciÊ takøe fakt zastosowania w†8-bitowych uk³adach CSoC (rodzina oznaczona symbolem E5) mikrokontrolera 8032. Z†kolei uk³ady rodziny E7 wyposaøono w†32-bitowy procesor RISC ARM7TDMI, ktÛry jest jednym z†najpopularniejszych na rynku uk³adÛw programowalnych, 32-bitowych rdzeni procesorÛw. Na rys. 1 pokazano schemat blokowy uk³adÛw rodziny E5. Jak widaÊ, we wnÍtrzu tych uk³adÛw oprÛcz przyspieszonego mikrokontrolera 8032 (10MIPS/40MHz) ze standardowymi peryferiami znajduje siÍ kilka blokÛw pomocniczych (m.in. kontroler DMA, arbiter dostÍpu do magistral) oraz blok konfigurowalnych komÛrek logicz-
Rys. 3.
74
nych o†pojemnoúci zaleønej od wersji uk³adu (tab. 1). Mikrokontroler i†blok logiki konfigurowalnej CSL (ang. Configurable System Logic) wspÛ³pracuj¹ ze sob¹ za poúrednictwem wewnÍtrznych szyn: danych i†adresowej. KomÛrki logiczne tworz¹ce blok logiki programowalnej CSL oraz wewnÍtrzne zasoby po³¹czeniowe, swoj¹ budow¹ nawi¹zuj¹ do klasycznych rozwi¹zaÒ stosowanych w†uk³adach FPGA. PamiÍÊ konfiguracji CSL jest typu SRAM w†zwi¹zku z†czym po kaødorazowym w³¹czeniu zasilania naleøy j¹ zainicjowaÊ. Funkcja realizowana przez kaød¹ z†komÛrek lo-
gicznych zaleøy od konfiguracji tablicy LUT (rys. 3). Dojrza³oúÊ konstrukcji matrycy programowalnej zastosowanej w†uk³adach serii E5 podkreúla fakt, øe tablice LUT moøna skonfigurowaÊ takøe jako jedno lub dwuportow¹ pamiÍÊ SRAM, pamiÍÊ ROM lub programowany rejestr przesuwaj¹cy. Takøe komÛrki wejúciowowyjúciowe, ktÛre zapewniaj¹ komunikacjÍ wewnÍtrznych blokÛw uk³adu z†otoczeniem s¹ konfigurowalne. Ze wzglÍdu na ich doskona³¹ konstrukcjÍ (rys. 4) projektant znaczn¹ czÍúÊ prostych zadaÒ (np. typu ìzatrzaúniÍcieî sygna³u wejúciowego lub wyjúciowego) moøe przerzuciÊ na te pozornie ma³o istotne bloki funkcjonalne. Atutami rozwi¹zaÒ zastosowanych przez Triscenda s¹: - zastosowanie bufora wejúciowego z†programowan¹ histerez¹, - moøliwoúÊ pracy z†sygna³ami wejúciowymi i†wyjúciowymi CMOS i†TTL przy
zasilaniu napiÍciem 3,3V, - zastosowanie trÛjstanowego bufora wyjúciowego, - do³¹czenie do wyprowadzenia uk³adu programowanego bloku podtrzymania stanu logicznego na wejúciu, nazwanego przez producenta BusMinder. Niemal identyczne rozwi¹zania producent zastosowa³ w†blokach CSL uk³adÛw serii A7 (tab. 2). Najpowaøniejsz¹ rÛønic¹ pomiÍdzy uk³adami rodzin E5 i†A7 jest typ wbudowanego w†strukturÍ mikrokontrolera i†jego otoczenia. Tak wiÍc uk³ady serii A7 moøna potraktowaÊ jako funkcjonalny odpowiednik uk³adÛw E5 z†tym, øe przeznaczonych do aplikacji wymagaj¹cych duøej wydajnoúci obliczeniowej.
Projektowanie CSoC Przebieg procesu projektowania uk³adÛw CSoC jest nieco inny niø w†przypadku klasycznych architektur PLD lub mikrokontrolerÛw. Triscend opracowa³ w³asny pakiet programowy FastChip, ktÛrego zadaniem jest po³¹czenie pliku konfiguracyjnego dla matrycy logiki CSL z†programem
Tab. 1. Podstawowe parametry układów rodziny E5. Typ układu
Liczba komórek logicznych SLC
Pojemność wewnętrznej pamięci SRAM
Liczba programowanych komórek I/O
Obudowy
TE502S08 TE505S16
256 512
8kB 16kB
92 124
TE512S32
1152
32kB
188
TE520S40
2048
40kB
252
TE532S64
3200
64kB
316
LQFP128 LQFP128, QFP208 LQFP128, QFP208 QFP208, BGA484 QFP208, BGA484
Rys. 4.
Elektronika Praktyczna 5/2001
S P R Z Ę T Tab. 2. Podstawowe parametry ukłądów rodziny E7. Typ układu
Liczba komórek logicznych SLC
TA7S05 TA7S12 TA7S20 TA7S32
512 1152 2048 3200
Pojemność Liczba Liczba wewnętrznej sektorów programowanych pamięci adresowych komórek SRAM CSI I/O 4096 4096 4096 4096
x 32b x 32b x 32b x 32b
jej elementÛw. Projektowanie uk³adÛw SoC umoøliwia takøe skrÛcenie czasu powstania uk³adu (rys. 6), co na wspÛ³czesnym rynku ma bardzo duøe znaczenie. Piotr Zbysiñski, AVT
[email protected] Rys. 5. dla mikrokontrolera. We wspÛ³czesnej nomenklaturze takie oprogramowanie jest okreúlane mianem hardwaresoftware codesign tool. Z†wykorzystaniem programu FastChip projektowanie przebiega w†sposÛb pokazany na rys. 5. Producent do projektowania matrycy logicznej zaleca stosowaÊ narzÍdzia renomowanych producentÛw (Innoveda, OrCAD, Synopsys, Synplicity, Mentor Graphics). Po symulacji projektu naleøy wygenerowaÊ listÍ po³¹czeÒ w†formacie EDIF, ktÛry jest standardem w†îúwiecieî PLD. Niezaleønie, w†pewnym stopniu rÛwnolegle do projektu czÍúci programowalnej, moøna tworzyÊ program dla procesora zintegrowanego w†uk³adzie. Takøe w†tym przypadku Triscend zaleca stosowanie narzÍdzi innych firm. O†ile w†przypadku uk³adÛw E5 z†wbudowanym mikrokontrolerem 8032 wybÛr narzÍdzi (zarÛwno kompilatorÛw asemblera, jaki i†Pascala, Basica, czy C) jest ogromny, to w†przypadku stosowania uk³adÛw z†serii A7 (z ARM7TDMI) wybÛr narzÍdzi
32 72 128 200
124 188 252 316
WiÍcej informacji o†uk³adach i†narzÍdziach EDA firmy Triscend moøna znaleüÊ w†Internecie pod adresami: - http://www.triscend.com/ products/IndexE5.html, - http://www.triscend.com/ products/indexA7.html, - http://www.triscend.com/ products/IndexRdmap.html. - http://www.triscend.com/ products/indexdeve5.html, - http://www.triscend.com/ products/indexdeva7.html, oraz na p³ycie CD-EP5/ 2001B w†katalogu \Triscend.
jest zdecydowanie mniejszy (Keil, IAR i†WindRiver ARM). Projektowanie struktur programowalnych u³atwiaj¹ gotowe modu³y biblioteczne (soft IP module library), wúrÛd ktÛrych dostÍpne s¹ zarÛwno rÛønego typu interfejsy (UART, SPI, I2C, IrDA, USB, HDLC, LCD, VGA-display), bloki logiczne i†arytmetyczne (bloki pamiÍci, liczniki, dekodery, sumatory, multiplikatory, stos IP, PWM), a†takøe kompletne modu³y funkcjonalne (jak np. szyfratory DES, Idea, RSA, dekodery MPEG, kodery telekomunikacyjne). DziÍki zastosowaniu takiego sposobu projektowania, twÛrca uk³adu moøe siÍ skupiÊ na rozwi¹zywaniu problemÛw istotnych z†punktu widzenia aplikacji, a†nie
Rys. 6.
Elektronika Praktyczna 5/2001
75
S P R Z Ę T
Maxim jest jedn¹ z†firm produkuj¹cych zestawy ewaluacyjne do oferowanych przez siebie uk³adÛw. Niewiele ryzykuj¹c moøna stwierdziÊ, øe ok. 40% oferowanych przez tÍ firmÍ uk³adÛw ma zapewnione dobrze przygotowane ìzapleczeî w†postaci rÛønego rodzaju zestawÛw, przy czym producent dba nie tylko o†uk³ady tak spektakularne jak MAX038 (generator przebiegÛw funkcyjnych), lecz takøe o†pozosta³e uk³ady znajduj¹ce siÍ w†ofercie. Jeden z†takich zestawÛw przedstawiamy w†artykule.
Zestaw ewaluacyjny dla scalonych przełączników wideo MAX4135/6 Uk³ady MAX4135 i†MAX4136 s¹ funkcjonalnie niezbyt skomplikowane: w†ich wnÍtrzu zintegrowano bowiem 7†wzmacniaczy szerokopasmowych, przystosowanych takøe do przenoszenia impulsÛw prostok¹tnych o†szybko narastaj¹cych zboczach (SVR=1000V/µs), poúrÛd ktÛrych szeúÊ moøna w³¹czaÊ i†wy³¹czaÊ zewnÍtrznym sygna³em cyfrowym. Tak wiÍc podaj¹c sygna³ wideo na wejúcie
Rys. 1.
76
uk³adu, moøna go rozsy³aÊ praktycznie bez utraty jakoúci i†ryzyka powstania jakiegokolwiek niedopasowania na dowoln¹ kombinacjÍ wyjúÊ uk³adu, ktÛrych jest 6. Schemat blokowy uk³adÛw MAX4135/6 pokazano na rys. 1. RÛøni¹ siÍ one miÍdzy sob¹ konfiguracj¹ stopnia wejúciowego: w†uk³adzie MAX4135 jego wzmocnienie ustawiono fabrycznie i†wynosi 2V/V, a w†uk³adzie MAX4136 uøytkownik moøe je dobraÊ samodzielnie do potrzeb aplikacji. Prostota budowy uk³adÛw nie odzwierciedla oczywiúcie zaawansowanej technologii ich produkcji. Wystarczy bowiem stwierdziÊ, øe pasmo przenoszenia kaødego z†torÛw przesy³owych wynosi 185MHz (w MAX4135) przy amplitudzie sygna³u wyjúciowego 2Vpp, wydajnoúÊ pr¹dowa wzmacniaczy separuj¹cych (na wyjúciach) wynosi aø 65mA, a†sam uk³ad pobiera w†najgorszym przypadku pr¹d o†natÍøeniu 80mA. Konstrukcja zestawu ewaluacyjnego przygotowanego dla uk³adÛw MAX4135/6 (a po niewielkich modyfikacjach takøe dla uk³adÛw MAX4137/8) jest niezwykle prosta, poniewaø oprÛcz uk³adu scalonego w†obudowie SOP24, 7†gniazd koncentrycznych i†6-pozycyjnego DIPswitcha na p³ytce znajduje siÍ zaledwie kilka miniaturowych elementÛw biernych. Tak wiÍc, do rozpoczÍcia
pracy z†zestawem trzeba zaopatrzyÊ siÍ w†kable koncentryczne z†wtykami mikrofalowymi RG, ürÛd³o i†odbiorniki sygna³Ûw oraz stabilizowany zasilacz z†symetrycznym napiÍciem wyjúciowym ±5V. O†ile konstrukcja zestawu nie moøe wzbudzaÊ øadnych emocji, to sposÛb poprowadzenia úcieøek sygna³owych na p³ytce dowodzi duøego doúwiadczenia projektanta druku i†moøe stanowiÊ wzÛr nie tylko dla pocz¹tkuj¹cych inøynierÛw. NaprawdÍ warto zobaczyÊ! Do zestawu producent do³¹czy³ dokumentacjÍ w†postaci dwÛch broszurek, z†ktÛrych jedna to kompletna nota katalogowa uk³adÛw MAX4135/6, natomiast druga jest uproszczon¹ instrukcj¹-dokumentacj¹ zestawu. Tomasz Paszkiewicz, AVT Nota katalogowa zestawu MAX4135EV jest dostÍpna w†Internecie pod adresem: http://pdfserv.maximic.com/arpdf/1529.pdf. Nota katalogowa uk³adÛw MAX4135/6 jest dostÍpna w†Internecie pod adresem: http://pdfserv.maxim-ic.com/arpdf/1439.pdf. Prezentowany w†artykule zestaw udostÍpni³a redakcji firma SE Spezial-Electronic Sp. z o.o., tel. 0-800-160-039.
Elektronika Praktyczna 5/2001
P R O G R A M Y
część 3 W†pakiecie Active-HDL zintegrowano dwa narzÍdzia symulacyjne, za pomoc¹ ktÛrych moøna sprawdziÊ budowany uk³ad pod k¹tem jego poprawnoúci funkcjonalnej oraz pod k¹tem jego parametrÛw czasowych. Weryfikacja zgodnoúci zachowania uk³adu w†stosunku do zamierzeÒ projektanta polega na zbudowaniu przez program symulacyjny wirtualnego bloku logicznego, ktÛrego struktura wewnÍtrzna odpowiada zminimalizowanemu wed³ug zadanych kryteriÛw opisowi logicznemu przygotowanemu przez projektanta (w dowolnym edytorze wejúciowym lub - w†przypadku projektÛw hierarchicznych ich dowolnej kombinacji). Poniewaø testowanie na tym etapie nie wymaga øadnych odniesieÒ do architektury uk³adu docelowego, pakiet Active-HDL symulacjÍ wykonuje samodzielnie, bez koniecznoúci stosowania øadnych dodatkowych narzÍdzi programowych. Na rys. 1†pokazano przyk³adowe efekty symulacji prostego bloku funk-
Rys. 1.
cjonalnego o†7†wejúciach (w tym 4†tworz¹cych magistralÍ) i†jednym wyjúciu. Ewaluacyjna wersja Active-HDL ma nieco ograniczone moøliwoúci funkcjonalne, poniewaø ograniczono liczÍ moøliwych do przetestowania wektorÛw. Ograniczenie to nie jest szczegÛlnie dokuczliwe podczas zabawy z†oprogramowaniem zw³aszcza, øe producent przewidzia³ moøliwoúÊ udostÍpnienia dodatkowej 10-dniowej licencji likwiduj¹cej to i†wiÍkszoúÊ pozosta³ych ograniczeÒ. Po przeprowadzeniu weryfikacji funkcjonalnej projektu moøemy zdecydowaÊ jaki uk³ad programowalny wykorzystamy jako docelow¹ platformÍ dla niego. Etap ten jest nazywany implementacj¹ (rys. 2), a†do jej przeprowadzenia jest niezbÍdny zewnÍtrzny syntezer logiczny i†kompilator odpowiadaj¹cy za roz³oøenie projektu w†strukturze uk³adu docelowego. W†pakiecie Active-HDL uøytkownik moøe samodzielnie okreúliÊ jakie narzÍdzia chce (a przede wszystkim moøe,
TwÛrcy pakietu Active-HDL przygotowali dla uøytkownikÛw systemu projektowego zestaw narzÍdzi do symulacji funkcjonalnej i†czasowej realizowanych projektÛw. DziÍki temu liczbÍ prÛb uruchomieniowych i†zwi¹zany z†tym czas projektowania znacznie siÍ skraca, a†dziÍki temu radykalnemu obniøeniu ulegaj¹ takøe koszty ca³ego projektu. W†artykule przedstawiamy podstawowe moøliwoúci symulatorÛw wbudowanych w†Active-HDL.
Rys. 2. bo wczeúniej trzeba je kupiÊ!) wykorzystaÊ do tego celu (rys. 3). Czytelnikom zainteresowanym przetestowaniem takøe tej czÍúci Active-HDL polecam wykorzystanie narzÍdzi udostÍpnianych bezp³atnie przez firmy Altera i†Xilinx na ich
Elektronika Praktyczna 5/2001
77
P R O G R A M Y
Rys. 3. stronach internetowych. Wyniki symulacji czasowej (w wersji statycznej i†dynamicznej) s¹ prezentowane w†postaci graficznej oraz tekstowej, ktÛr¹ moøna wykorzystaÊ jako wiarygodn¹ dokumentacjÍ projektu.
Podsumowanie Prezentowany w†trzyczÍúciowym artykule pakiet do realizacji projektÛw dla uk³adÛw programowalnych Active-HDL jest nowoczes-
78
nym narzÍdziem, znacznie u³atwiaj¹cym tworzenie hierarchicznych projektÛw z†wykorzystaniem wszystkich standardowych, wykorzystywanych wspÛ³czeúnie metod opisu. Niebagateln¹ zalet¹ ActiveHDL jest wbudowany kompilator jÍzykÛw VHDL i†Verilog, w†zwi¹zku z†czym (oczywiúcie po wykupieniu odpowiedniej licencji) projektant moøe tworzyÊ projekty ìmieszaneî, sk³adaj¹ce siÍ z†blokÛw opisanych jednym z†tych jÍzykÛw. Active-HDL dopuszcza takøe przygotowywanie projektÛw opisanych czÍúciowo graficznie, czÍúciowo tekstowo, moøna takøe wykorzystywaÊ modu³y IP (ang. Intelectual Property), ktÛre s¹ coraz powszechniej stosowane podczas realizacji duøych projektÛw dla uk³adÛw programowalnych. Reasumuj¹c: wszystkich CzytelnikÛw zainteresowanych nowoczesnymi metodami projektowania uk³adÛw PLD gor¹co zachÍcam
Rys. 4. do wyprÛbowania moøliwoúci Active-HDL. Piotr Zbysiñski, AVT
[email protected] Ewaluacyjna wersja programu Active-HDL oraz skrÛcony kurs pos³ugiwania siÍ programem zamieúciliúmy na p³ycie CD-EP4/2001B w†katalogu \Aldec.
Elektronika Praktyczna 5/2001
M I N I P R O J E K T Y Wspólną cechą układów opisywanych w dziale "Miniprojekty" jest łatwość ich praktycznej realizacji. Zmontowanie układu nie zabiera zwykle więcej niż dwa, trzy kwadranse, a z jego uruchomieniem można poradzić sobie w ciągu kilkunastu minut. "Miniprojekty" mogą być układami stosunkowo skomplikowanymi funkcjonalnie, lecz prostymi w montażu i uruchamianiu, gdyż ich złożoność i inteligencja jest zawarta w układach scalonych. Wszystkie projekty opisywane w tej rubryce są wykonywane i badane w laboratorium AVT. Większość z nich wchodzi do oferty kitów AVT jako wyodrębniona seria “Miniprojekty” o numeracji zaczynającej się od 1000.
Syrena z układem ZSD100 Elektroniczne syreny uøywane s¹ zazwyczaj w†systemach ochrony mienia lub jako elementy sygnalizacyjne, ostrzegawcze itd. Zbudowanie odpowiednio g³oúnej, a†przy tym niezawodnej syreny nie jest zadaniem zbyt prostym, w†zwi¹zku z†czym firma Zetex opracowa³a specjaliowany uk³ad steruj¹cy, ktÛry minimalizuje problemy, na jakie mog¹ napotykaÊ konstruktorzy.
Najlepiej, aby syrena spe³nia³a wszystkie z†wymienionych poniøej warunkÛw: - generowa³a düwiÍk o†duøym natÍøeniu i†zwracaj¹cej uwagÍ tonacji, - by³a ³atwa w budowie i†tania w†wykonaniu, - pobiera³a ma³o pr¹du w czasie czuwania. Syrena, ktÛrej schemat ideowy pokazano na rys. 1, spe³nia wymienione warunki. Dzieje siÍ tak dlatego, øe zosta³a zbudowana z†uøyciem uk³adu ZSD100 zaprojektowanego specjalnie do takich zastosowaÒ. Schemat blokowy uk³adu pokazano na rys. 2. Wynika z†niego, øe g³Ûwn¹ rolÍ w†pracy syreny odgrywaj¹ dwa generatory. Jeden z†nich (VCO) jest odpowiedzialny za wytworzenie tonu podstawowego. Natomiast drugi moduluje ton podstawowy, dziÍki czemu düwiÍk
bardziej zwraca uwagÍ. OprÛcz tego wewn¹trz uk³adu znajduje siÍ jeszcze blok wzmacniaczy wyjúciowych formuj¹cych dwa sygna³y wyjúciowe o†fazie przesuniÍtej o†180 o. To pozwala w†³atwy sposÛb do³¹czaÊ do uk³adu zewnÍtrzne wzmacniacze rÛønicowe mocy. CzÍstotliwoúÊ kaødego z†generatorÛw dobierana jest za pomoc¹ tylko jednego elementu - zewnÍtrznego kon-
densatora. Kondensator Cout, o†zalecanej pojemnoúci 1..100nF, zmienia czÍstotliwoúÊ tonu podstawowego. Kondensator Cmod, o†pojemnoúci od 0,1µF do 100µF, wp³ywa na czÍstotliwoúÊ modulacji tonu podstawowego. DziÍki wyprowadzeniu Rt moøna dodatkowo modulowaÊ ton podstawowy. Jednak g³Ûwnym zadaniem tego wyprowadzenia jest w³¹czanie i†wy³¹czanie uk³adu. Wyprowadzenie Rt nie pod³¹czone nigdzie lub poprzez dodatkowy opornik po³¹czone z†napiÍciem zasilania wy³¹cza uk³ad, minimalizuj¹c pobÛr
WYKAZ ELEMENTÓW Rezystory R1: 100kΩ Kondensatory C1: 10µF/16V C2: 22nF Półprzewodniki D1: 1N4004 T1: BC547 T2: BD135 U1: ZSD100 Różne G1: przetwornik piezo−syrena S1: przycisk wyzwalający TR1: transformator np. ED3715 firmy SEJIN
Rys. 1.
P³ytka drukowana wraz z kompletem elementÛw jest dostÍpna w AVT - oznaczenie AVT-1304.
Rys. 2.
Elektronika Praktyczna 5/2001
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/?pdf/ maj01.htm oraz na p³ycie CDEP05/2001 w katalogu PCB.
79
M I N I P R O J E K T Y
Rys. 3.
pr¹du. Zwarcie tego wyprowadzenia do masy zezwala na generacjÍ sygna³u. Wyprowadzenie SAW s³uøy do wy-
80
boru rodzaju modulacji tonu podstawowego. Pozostawienie tej nÛøki uk³adu scalonego nie pod³¹czonej spowoduje, øe sygna³ moduluj¹cy bÍdzie trÛjk¹tny, natomiast po³¹czenie jej z†wyprowadzeniem Cmod zmieni kszta³t tego sygna³u na pi³okszta³tny. Tolerancja zasilania uk³adu ZSD100 jest duøa i†mieúci siÍ w†przedziale od 4V do 18V. Poniewaø w†czasie czuwania (Rt po³¹czone z†zasilaniem) pobÛr pr¹du wynosi tylko 1µA, syrena moøe byÊ stosowana w†urz¹dzeniach zasilanych z†baterii. W†czasie generowania düwiÍku sam uk³ad pobiera do 25mA.
Schemat syreny wykorzystuje opisane powyøej w³aúciwoúci uk³adu scalonego. Jako stopieÒ wyjúciowy mocy zastosowany zosta³ uk³ad Darlingtona. Zadaniem transformatora TR1 jest podwyøszenie amplitudy sygna³u podawanego na przetwornik piezoceramiczny. Z†tego powodu typ transformatora jest w³aúciwie obojÍtny, natomiast istotna jest jego wielkoúÊ (jak najmniejszy) i†przek³adnia, czyli stosunek liczby zwojÛw. Stosunek liczby zwojÛw uzwojenia pierwotnego do wtÛrnego moøe wynosiÊ od 1:3 do 1:7. Syrena, tak jak i†uk³ad ZSD100, moøe byÊ zasilana
napiÍciem 4-18V. Jednak przy zasilaniu napiÍciem o wartoúci niøszej od 6V naleøy skorygowaÊ wartoúÊ do³¹czonych do uk³adu pojemnoúci. Moøna takøe inaczej wykorzystaÊ wyjúcie SAW (patrz tekst powyøej). Dioda D1 zabezpiecza uk³ad przed omy³kow¹ zmian¹ polaryzacji napiÍcia zasilaj¹cego. W†modelu jako element wykonawczy zastosowany zosta³ piezoelement w†plastikowej obudowie w†formie syreny. Przy zasilaniu napiÍciem 8V uk³ad pobiera³ pr¹d 100mA, a†düwiÍk by³ czysty i†bardzo g³oúny. Ryszard Szymaniak, AVT
[email protected]
Elektronika Praktyczna 5/2001
M I N I P R O J E K T Y
Sygnalizator wstrząsów Prezentowany w†artykule uk³ad sygnalizatora moøe znaleüÊ zastosowanie jako jeden z†elementÛw zabezpieczenia roweru, samochodu lub jako sygnalizator zdarzeÒ, z†ktÛrymi zwi¹zane s¹ wibracje. Uk³ad jest tak prosty, øe, maj¹c pod rÍk¹ potrzebne elementy, moøna go zmontowaÊ i†uruchomiÊ w†ci¹gu 10 minut.
Najistotniejsz¹ czÍúci¹ uk³adu jest oczywiúcie element, ktÛry pe³ni rolÍ detektora wstrz¹sÛw. åwietnie nadawa³yby siÍ do tego czujniki przyúpieszenia firmy Analog Devices, gdyby ich cena nie by³a tak wysoka jak obecnie. Ale mniej wyrafinowany czujnik wibracji moøna skonstruowaÊ samemu, dos³ownie za grosze. Pos³uøy do tego zwyk³y przetwornik piezoceramiczny wykonany w†kszta³cie metalowego kr¹øka o†úrednicy ok. 25mm. Przetworniki takie wykorzystywane s¹ jako ürÛd³o düwiÍku w†sygnalizatorach lub syrenach ostrzegawczych. Elementy te dzia³aj¹ na podobnej zasadzie jak rezonator kwarcowy: przy³oøone napiÍcie powoduje mechaniczne odkszta³cenia elementu. O†ile jednak rezonatory kwarcowe drgaj¹ z†czÍstotliwoúciami setek i†milionÛw hercÛw, to przetworniki wibruj¹ z†czÍstotliwoúciami s³yszalnymi dla ludzkiego ucha i†s¹ wykorzystywane jako ürÛd³a wysokiego ostrzegawczego düwiÍku. Jednak elementy
kwarcowe i†piezoelementy maj¹ tÍ ciekaw¹ w³aúciwoúÊ, øe nie tylko przekszta³caj¹ energiÍ elektryczn¹ w†mechaniczn¹, ale i†na odwrÛt. Podczas wyginania odpowiednio spreparowanego elementu na jego wyprowadzeniach moøe gromadziÊ siÍ spory ³adunek elektryczny. W³aúciwoúÊ tÍ wykorzystano np. w†zapalniczkach, w ktÛrych do wytworzenia iskry uøywa siÍ elementu piezoceramicznego. Podobne zjawisko moøna wykorzystaÊ do budowy czujnika wibracji. Jeøeli jeden koniec wspomnianej blaszki przetworni-
ka obci¹øymy jak¹ú mas¹ a†drugi zamocujemy sztywno do pod³oøa, to wstrz¹sy na skutek bezw³adnoúci obci¹øaj¹cej masy doprowadz¹ do odkszta³ceÒ przetwornika i†pojawienia siÍ na jego ok³adkach ³adunkÛw elektrycznych. Dalej jest juø ³atwo. Poniewaø impulsy s¹ dosyÊ s³abe, naleøy je wzmocniÊ, a†potem wyzwalaÊ za ich pomoc¹ element sygnalizacyjny. Taka jest zasada dzia³ania uk³adu pokazanego na rys. 1.
Rys. 1.
80
Elektronika Praktyczna 5/2001
M I N I P R O J E K T Y
Rys. 2.
Impulsy z†czujnika podawane s¹ poprzez potencjometr PR1 i†kondensator sprzÍgaj¹cy C1 na zwyk³y, jednostopniowy wzmacniacz tranzystorowy. Punkt pracy wzmacniacza ustala dzielnik rezystorowy R2, R5. W†momencie, kiedy czujnik wibracji wytworzy impulsy o†odpowiedniej amplitudzie, na kolektorze tranzystora T2 chwilowo pojawi siÍ niski potencja³ wyzwalaj¹cy syrenÍ zbudowan¹ na uk³adzie HT2812 firmy HOLTEK. Zaleønie od wykonania, HT2812 moøe generowaÊ rÛøne düwiÍki. W†projekcie wy-
Elektronika Praktyczna 5/2001
brano sygna³ syreny. Zalet¹ uk³adu jest ma³a liczba zewnÍtrznych elementÛw, ktÛre trzeba do niego do³¹czyÊ. WysokoúÊ tonu syreny regulowana jest opornikiem R1. Dioda LED D1 úwieci siÍ, gdy syrena generuje sygna³ o czÍstotliwoúci akustycznej (jeøeli sygnalizacja wizualna jest niepotrzebna, moøna zrezygnowaÊ z†montaøu zarÛwno diody, jak i†opornika R4). Sygna³ z†wyjúcia OUT jest podawany na wtÛrnik emiterowy, w†obwodzie ktÛrego w³¹czono g³oúnik. Uk³ad moøe byÊ zasilany napiÍciem sta³ym o†wartoúci od 2,7V do 4,5V, chociaø zmiana poziomu zasilania w†czasie pracy wi¹øe siÍ ze zmian¹ tonu i†g³oúnoúci¹ generowanego przez syrenÍ sygna³u. W†czasie czuwania uk³ad pobiera pr¹d o†wartoúci jedynie 18µA, ktÛry podczas generacji alarmu zwiÍksza siÍ do 180mA. Czujnik wibracji moøna wykonaÊ w†nastÍpuj¹cy sposÛb. MasÍ obci¹øaj¹c¹ naleøy przykleiÊ, np. klejem, do me-
talu na jednym kraÒcu blaszki przetwornika. Obci¹øeniem moøe byÊ np. nakrÍtka M4 lub wiÍksza. Na przeciwleg³ym kraÒcu blaszki naleøy wywierciÊ ma³y otwÛr. Pos³uøy on do mocowania blaszki ze sztywnym wspornikiem. Moøe to byÊ gruba srebrzanka lub kawa³ek miedzianego drutu. Wspornik o†d³ugoúci ok. 10mm ³¹czymy z†blaszk¹ lutuj¹c go, a drugi koniec drutu-wspornika wlutowujemy do p³ytki drukowanej. BÍdzie to po³¹czenie czujnika z†mas¹ uk³adu. Do zewnÍtrznej ok³adziny przetwornika naleøy teraz przylutowaÊ cienki, sprÍøysty przewÛd, ktÛry po³¹czy j¹ z†wyprowadzeniem potencjometru PR1. Uwaga, nie naleøy przegrzewaÊ zewnÍtrznej ok³adziny przetwornika, gdyø jest ona delikatna i†moøe ulec zniszczeniu. Czujnik naleøy oczywiúcie zamontowaÊ na koÒcu, gdyø jego usytuowanie ponad p³ytk¹ moøe utrudniÊ dostÍp do innych czÍúci. Regulacja sprowadza siÍ jedynie do sprawdzenia pun-
WYKAZ ELEMENTÓW Rezystory R1: 390kΩ R2: 680kΩ R3, R4: 100Ω R5, PR1: 100kΩ R6: 12kΩ Kondensatory C1, C2: 220nF Półprzewodniki D1: LED T1, T2: BC547 U1: HT2812 Różne G1: GŁOŚNIK 8..35Ω X1: PIEZO (patrz tekst)
ktu pracy wzmacniacza tranzystorowego T2. Przy zasilaniu uk³adu napiÍciem +4,5V wartoúÊ napiÍcia na kolektorze tranzystora powinna siÍ mieúciÊ miÍdzy 4V a†4,4V. Ewentualnej korekty moøna dokonaÊ, zmieniaj¹c wartoúÊ rezystora R2. Czu³oúÊ uk³adu reguluje siÍ potencjometrem PR1. Ryszard Szymaniak, AVT
[email protected]
81
M I N I P R O J E K T Y
Cyfrowa nagrywarka audio Przedstawiamy projekt niezwykle prostego rejestratora sygna³Ûw analogowych, ktÛry moøna wykorzystaÊ np. do nagrywania w†postaci cyfrowej audycji radiowych lub kopiowania nagraÒ z†kaset lub p³yt winylowych...
Rys. 1.
Elektronika Praktyczna 5/2001
...a to wszystko z†rozdzielczoúci¹ 18 bitÛw na kana³ przy czÍstotliwoúci prÛbkowania do 48kHz. Ca³kiem nieüle? A†jak prosto - wystarczy spojrzeÊ na schemat elektryczny pokazany na rys. 1. Tak dobra parametry moøna by³o uzyskaÊ dziÍki zastosowaniu miniaturowego scalonego przetwornika A/C CS5331A, ktÛrego producentem jest s³ynna firma Crystal. Maksymalna amplituda sygna³u wejúciowego nie powinna przekraczaÊ 4Vpp, co zapewni ograniczenie poziomu zniekszta³ceÒ do ok. 0,003%. DziÍki zbudowaniu w†tor konwersji A/C (we wnÍtrzu uk³adu CS5331A) uk³adu prÛbkuj¹co-pamiÍtaj¹cego i†filtru dolnoprzepustowego na ze-
wn¹trz uk³adu nie trzeba stosowaÊ øadnych dodatkowych elementÛw. Przetworzony sygna³ jest wysy³any przez uk³ad na postaÊ szeregow¹ I2S. Uk³ad US1 pracuje jako Master linii, ale do poprawnej pracy potrzebuje zewnÍtrznego sygna³u zegarowego MCLK o†czÍstotliwoúci rÛwnej: 12,288MHz (fp=48kHz), 11,2896MHz (fp=44,1kHz) lub 8,192MHz (fp=48kHz).
Schemat montaøowy nagrywarki pokazano na rys. 2. Zaprojektowano dwustronn¹ p³ytkÍ drukowan¹, na ktÛrej ze wzglÍdu na ograniczenie jej rozmiarÛw rezystory s¹ montowane pionowo. KJ
WYKAZ ELEMENTÓW Rezystory R1..R6: 470Ω R7: 47kΩ Kondensatory C1, C2: 10µF/10V C3: 47µF/10V C4: 100nF C5, C6: 10nF Półprzewodniki US1: CS5331A
P³ytka drukowana wraz z kompletem elementÛw jest dostÍpna w AVT - oznaczenie AVT-1305.
Rys. 2.
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/?pdf/ maj01.htm oraz na p³ycie CDEP05/2001 w katalogu PCB.
81
N O W E
P O D Z E S P O Ł Y
Nowy wzmacniacz audio dużej mocy Tripath jest twÛrc¹ nowej klasy pracy wzmacniaczy audio. W†nomenklaturze firmowej oznaczono j¹ jako klasÍ T, ktÛra jest w†praktyce zmodyfikowan¹ klas¹ D. DziÍki zastosowaniu tej nowoczesnej techniki wzmacniania sygna³Ûw audio, scalone wzmacniacze oferowane przez firmÍ Tripath charakteryzuje wysoka jakoúÊ wzmacnianego düwiÍku (zbliøona do klasy AB) i†wysoka sprawnoúÊ energetyczna (zbliøona do klasy D).
Nowy uk³ad steruj¹cy opracowany przez Tripatha - TA0104A - umoøliwia zbudowanie stereofonicznego wzmacniacza audio o†mocy dla sygna³u sinusoidalnego 500W w†kaødym kanale przy zniekszta³ceniach nie przekraczaj¹cych 0,1%. Stopnie wyjúciowe moøna takøe po³¹czyÊ w†taki sposÛb, aby uzyskaÊ wzmacniacz mostkowy o†moc ponad 1kW. Schemat aplikacyjny uk³adu TA0104A pokazano na rys. 1. http://www.tripath.com/downloads/ TA0104A.pdf
Rys. 1.
Nowy układ LPLD Clear Logic wprowadzi³ do produkcji nowe uk³ady, tym razem bÍd¹ce odpowiednikami oferowanych przez AlterÍ uk³adÛw MAX7512AE. Clear logic specjalizuje siÍ w†produkcji taÒszych w†produkcji wersji uk³adÛw bÍd¹cych odpowiednikami programowanych w†systemie uk³adÛw CPLD firmy Altera. Obniøenie ceny uzyskano dziÍki zastosowaniu programowanej laserem matrycy prze³¹cznikÛw konfiguruj¹cych uk³ad, w†miejsce pamiÍci EEPROM stosowanej w†pierwowzorach. http://www.clear-logic.com/literature/ specs.html Przedstawicielem firmy Clear Logic w†Polsce jest firma ACTE NC Poland (tel. (0-22) 631-46-
Elektronika Praktyczna 5/2001
87
N O W E
P O D Z E S P O Ł Y
Specjalna wersja DS1073 W†ofercie Dallasía od dawna wystÍpuj¹ generatory przebiegÛw prostok¹tnych o†programowanych czÍstotliwoúciach sygna³Ûw wyjúciowych. Kolejny uk³ad z†tej grupy DS1073 - jest rÛøni siÍ od poprzednio oferowanych wersji tym, øe jest programowany przez producenta. Uk³ad ma dwa wyjúcia sygna³Ûw, w†tym jedno wyjúcie aktywizowane zewnÍtrznym sygna³em OE. Sygna³ ten jest wewnÍtrznie synchronizowany z†przebiegiem wyjúciowym, dziÍki czemu na wyjúciu OUT2 wystÍpuj¹ zawsze pe³ne okresy generowanego przebiegu. Uk³ad DS1073 nie potrzebuje do pracy øadnych dodatkowych elementÛw. StabilnoúÊ czÍstotliwoúci generowanego sygna³u wynosi 1% (maksymalna wartoúÊ, zaleøna od napiÍcia zasilaj¹cego i†temperatury w†przedziale
0..+70oC), a†dok³adnoúÊ ok. 0,5%. Zakres czÍstotliwoúci przebiegu wyjúciowego mieúci siÍ w†przedziale 29,2kHz..110MHz. Uk³ad DS1073 moøe byÊ zasilany napiÍciem o†wartoúci 2,7..5V. Wbudowany
Rys. 2.
w†uk³ad modu³ ograniczania poboru mocy w†stanie spoczynku powoduje, øe pobierany przez uk³ad pr¹d nie przekracza wartoúci 800nA. Podczas pracy pobÛr pr¹du nie przekracza 40µA. Uk³ady DS1073 s¹ dostÍpne w†dwÛch wersjach obudÛw: DIL8 i†SOIC8. http://www.dalsemi.com/datasheets/pdfs/ 1073_special.pdf Przedstawicielami Dallasa w†Polsce s¹ firmy: Soyter (tel. (0-22) 685-30-04) oraz WGElectronics (tel. (0-22) 621-77-04).
Nowe mikrokontrolery w rodznie PIC16 Rodzina mikrokontrolerÛw PIC16 poszerzy³a siÍ o†dwa nowe uk³ady (PIC16C925/ 926), w†ktÛrych najwaøniejsz¹ nowoúci¹ jest wbudowany autonomiczny sterownik wyúwietlacza LCD o†32 segmentach i†czterech
elektrodach pod³oøowych, wyposaøony we w³asn¹ pamiÍÊ RAM. OprÛcz sterownika LCD w†mikrokontroler wbudowano konfigurowalny interfejs szeregowy SPI/I 2C, pamiÍÊ programu OTP o†pojemnoúci 4096 lub 8192 s³Ûw
14-bitowych, 5-kana³owy, 10-bitowy przetwornik A/C i†przetwornik PWM. PamiÍÊ danych RAM wbudowana w†mikrokontrolery ma stosunkowo duø¹ pojemnoúÊ: 176B (w C925) i†336B (w C926). Obydwa nowe mikrokontrolery mog¹ byÊ zasilane napiÍciem z†przedzia³u 2,6..6V i†mog¹ byÊ taktowane z†maksymaln¹ szybkoúci¹ 20MHz. DostÍpne s¹ dwie wersje obudÛw tych uk³adÛw: PLCC68 i†TQFP64. http://www.microchip.com/Download/lit/ pline/picmicro/families/16c9xx/devices/ 16c925/39544a.pdf http://www.microchip.com/Download/lit/ pline/picmicro/families/16c9xx/devices/ 16c926/39544a.pdf Przedstawicielami Microchipa w†Polsce s¹ firmy: Future (tel. (0-22) 618-92-02), Gamma (tel. (0-22) 663-83-76) i Unique (tel. (0-32) 238-05-60).
Sterownik wyświetlaczy LED zintegrowany z licznikami AmerykaÒska firma e-Lab wprowadzi³a do sprzedaøy nowe uk³ady interfejsowe EDE707, tym razem umoøliwiaj¹ce zliczanie i†jednoczeúnie sterowanie maksymalnie oúmioma 7-segmentowymi wyúwietlaczami LED na ktÛrych jest wyúwietlany wynik zliczania. Kierunek zliczania, podobnie jak i†inne w³aúciwoúci zliczania, moøna ustaliÊ sprzÍtowo za pomoc¹ 4-bitowego s³owa konfiguruj¹cego. Ten sam 4-bitowy port moøna wykorzystaÊ do wpisania do licznikÛw sta-
88
nÛw pocz¹tkowych. Liczniki mog¹ zliczaÊ w†trybie BCD lub w†pe³nym zakresie 4-bitowym. Sterowanie segmentami wyúwietlaczy odbywa siÍ metod¹ multipleksow¹, w†zwi¹zku z†czym uk³ad ma zaledwie 28 wyprowadzeÒ. Do sterowania segmentami A..F oraz wspÛlnymi elektrodami wyúwietlaczy niezbÍdne s¹ zewnÍtrzne wzmacniacze pr¹dowe, za pomoc¹ ktÛrych moøna sterowaÊ zarÛwno wyúwietlacze ze wspÛln¹ anod¹ jak i†katod¹. Niestety w†materia³ach
katalogowych nie zawarto informacji o†maksymalnej czÍstotliwoúci taktowania licznikÛw, ale bior¹c pod uwagÍ, øe s¹ to liczniki realizowane programowo w†mikrokontrolerze rodziny PIC16, moøe ona wynosiÊ do maks. 2MHz. http://www.elabinc.com/ede707.htm Przedstawicielem firmy e-lab w†Polsce jest firma Micros (tel. (0-12) 636-95-66).
Elektronika Praktyczna 5/2001
S P R Z Ę T Wielu osobom bÍd¹cym pod wraøeniem ìwyúciguî, ktÛry odbywa siÍ na rynku komputerÛw osobistych i†multimediÛw, wydaÊ siÍ moøe, øe tworzenie nowych mikroprocesorÛw 8-bitowych pozbawione jest wiÍkszego sensu. Tymczasem ch³odne i†obiektywne wyniki badaÒ rynkowych potwierdzaj¹, øe 8-bitowce maj¹ siÍ dobrze i†nie ust¹pi¹ szybko pola uk³adom 16- czy teø 32-bitowym.
Nowa propozycja ZiLOGa Oczywiúcie, nie s¹ one i†nie bÍd¹ juø stosowane w†komputerach osobistych, ale znajduj¹ swoje miejsce we wszelkich rozwi¹zaniach ìembeddedî. Ich atuty, ktÛrymi z powodzeniem walcz¹ z†wiÍkszymi uk³adami to: - niska cena, i†to zarÛwno samego mikroprocesora jak i†ca³ego uk³adu, - ³atwoúÊ stworzenia nowego projektu, - niski pobÛr mocy. Wystarczy tylko pomyúleÊ o†projekcie p³ytki, na ktÛrej trzeba po³¹czyÊ 16-bitowy procesor np. z†pamiÍci¹ RAM (przewaønie w†organizacji 8-bitowej), aby wyobraziÊ sobie ile to zajmie miejsca, warstw druku, pracy projektanta i†ile bÍdzie trwa³o przygotowanie takiego projektu. Nie wspomnieliúmy jeszcze o†kosztach narzÍdzi uruchomieniowych oraz szkoleniach dla konstruktorÛw, ktÛre to koszty w†przypadku uk³adÛw 16-bitowych s¹ wyøsze niø dla znacznie prostszych ìÛsemekî. To wszystko przek³ada siÍ na koÒcow¹ cenÍ produktu, ktÛra czÍsto warunkuje powodzenie projektu na rynku. Nie powinno wiÍc nas dziwiÊ, øe tam gdzie tylko moøna stosuje siÍ nadal uk³ady 8-bitowe.
Propozycja ZiLOGa Jednym z†najbardziej doúwiadczonych producentÛw uk³adÛw 8-bitowych jest ZiLOG. To jego s³ynny Z80 sta³ siÍ najpopularniejszym 8-bitowym mikroprocesorem na úwiecie. Moøna zaryzykowaÊ stwierdzenie, øe w†duøej mierze przyczyni³ siÍ on do rewolucji mikroprocesorowej lat 80-tych. Poniewaø jednak wymagania odbiorcÛw ros³y, z†Z80 wyroúli jego nastÍpcy: Z180 i†eZ80. W†niniejszym artykule opiszemy procesor Z183 bÍd¹cy rozwiniÍciem Z180, natomiast eZ80 poúwiÍcony bÍdzie osobny artyku³.
J¹dro Z183 J¹dro Z183 jest rozwiniÍciem j¹dra Z80 (rys. 1). Zachowuj¹c pe³n¹ zgodnoúÊ z†Z80 dodano ponad dziesiÍÊ nowych instrukcji, na przyk³ad mnoøenie, zwiÍkszaj¹cych wydajnoúÊ procesora. Dodatkowo, szybkoúÊ przetwarzania danych w†porÛwnaniu z†Z80 zwiÍksza to, øe w†Z183 na jeden cykl maszynowy sk³adaj¹ siÍ 3, a†nie 4 jak dla Z80, cykle zegarowe. Poniewaø nie wszyscy znaj¹ architekturÍ Z80, sprÛbujemy j¹ tutaj krÛ-
Elektronika Praktyczna 5/2001
tko przypomnieÊ. Uøytkownik Z183 ma do dyspozycji dwa identyczne zestawy 8-bitowych rejestrÛw roboczych i†jeden zestaw rejestrÛw specjalnych (rys. 2). Rejestry robocze to akumulator (oznaczony jako A), szeúÊ rejestrÛw ogÛlnego przeznaczenia (oznaczonych jako: B, C, D, E, H i†L) oraz rejestr znacznikÛw (F). Rejestry ogÛlnego przeznaczenia mog¹ byÊ ³¹czone w†pary (BC, DE i†HL) i†traktowane jako rejestry 16bitowe. Nazwy rejestrÛw z†drugiego zestawu wyrÛønione s¹ znakiem ì'î, na przyk³ad A'. Maj¹c do dyspozycji dwa zestawy rejestrÛw moøna bardzo szybko prze³¹czaÊ siÍ miÍdzy rÛønymi zadaniami, co jest przydatne miÍdzy innymi przy obs³udze przerwaÒ. Rejestry specjalne s¹ zarÛwno 16-bitowe (licznik programu - PC, wskaünik stosu - SP oraz dwa rejestry indeksowe - IX i†IY) jak i†8-bitowe (wektor przerwaÒ - I i†licznik - R). PrzestrzeÒ adresowa Z183 obejmuje 64kB. Taki rozmiar pamiÍci jest dla wielu zastosowaÒ niewystarczaj¹cy. Chc¹c omin¹Ê to ograniczenie konstruktorzy uøywaj¹cy Z80 bardzo czÍsto projektowali uk³ady z†prze³¹czanymi bankami pamiÍci. Aby ich uwolniÊ od tego ograniczenia, w†Z180 ZiLOG zainstalowa³ MMU (ang. Memory Management Unit), ktÛry konwertuje 16bitowe adresy logiczne na 20-bitowe adresy fizyczne (1MB przestrzeni adresowej). Trzy rejestry steruj¹ce pozwalaj¹ programiúcie w†pe³ni kontrolowaÊ mapÍ pamiÍci. Dla leniwych (lub niecierpliwych) stworzono oprogramowanie, ktÛre przejmuje kontrolÍ nad tymi rejestrami i†symuluje 1MB ci¹g³ej przestrzeni adresowej. Naleøy przy tym pamiÍtaÊ, øe Z183 zbudowany jest wed³ug klasycznej architektury von Neumana, to znaczy, øe nie ma osobnych obszarÛw pamiÍci danych i†programu.
sz¹ce (RAMReaD, RAMWRite, ROMReaD, ROMWRite) pozwalaj¹ na bardzo ³atwe do³¹czanie uk³adÛw pamiÍci. Zaskakuj¹ce moøe wydawaÊ siÍ wprowadzenie sygna³u ROMWR, ale wszystko staje siÍ jasne, jeøeli weümiemy pod uwagÍ moøliwoúÊ do³¹czenia do procesora pamiÍci Flash. Jeøeli chcemy korzystaÊ z†wolnych uk³adÛw zewnÍtrznych, bez problemu moøemy dodaÊ cykle oczekiwania.
WewnÍtrzna pamiÍÊ RAM i†ROM ìboot loaderî Procesor Z183 wyposaøono w†2kB pamiÍci RAM. PamiÍÊ ta moøe byÊ wykorzystywana jako pamiÍÊ ogÛlnego przeznaczenia na dane lub program. W†zaleønoúci o†ustawienia bitÛw kontrolnych, moøna wewnÍtrzn¹ pamiÍÊ SRAM: - wy³¹czyÊ, - uaktywniÊ pod adresem FF800h do FFFFFh (w gÛrnym obszarze adresowym), - uaktywniÊ pod adresem xF800h do xFFFFh - czyli tak jak wyøej, ale bez dekodowania linii A19 (w gÛrnej czÍúci kaødej 64kB-strony). Wszystkie procesory Z183, oprÛcz pamiÍci RAM, maj¹ takøe 1kB ROM. Normalnie pamiÍÊ ta nie jest aktywna i†nie zajmuje miejsca w†przestrzeni adresowej. Wystarczy jednak podaÊ sygna³ wysoki na wyprowadzenie OPMODE1, aby po wyzerowaniu procesora wykonywanie programu rozpoczͳo siÍ w³aúnie od kodu zawartego w†ROMie. Zestaw procedur zawartych w†tej pamiÍci pozwala miÍdzy innymi na: - programowanie zewnÍtrznej pamiÍci FLASH, - wpisywanie parametrÛw do zewnÍtrznej pamiÍci FLASH, - wpisywanie i†uruchamianie programÛw z†wewnÍtrznej pamiÍci RAM diagnostyka i†testowanie,
Magistrala danych i†adresowa Z183 nie posiada wewnÍtrznej pamiÍci programu (rys. 3). W†zwi¹zku z†tym na zewn¹trz wyprowadzono pe³n¹ magistralÍ adresow¹ (20 linii) i†danych (8 linii). Wszystkie linie maj¹ przypisane sobie wyprowadzenia, tak wiÍc nie ma koniecznoúci stosowania pomocniczych uk³adÛw zewnÍtrznych, typowych dla rozwi¹zaÒ z†multipleksowanymi magistralami. Sygna³y towarzy-
Rys. 1.
89
S P R Z Ę T tryb pracy moøe byÊ ustawiony niezaleønie dla kaødego portu.
Przetwornik A/C
Rys. 2. - wpisywanie i†uruchamianie programÛw z†zewnÍtrznej pamiÍci RAM diagnostyka i†testowanie, - zdalne usuwanie b³ÍdÛw programu (debugging). Do przesy³ania danych wykorzystuje siÍ jeden z†kana³Ûw transmisji szeregowej, ktÛry moøe pracowaÊ z†maksymaln¹ szybkoúci¹ 115200bd. Standardowe szybkoúci transmisji uzyskuje siÍ przy pracy procesora z†zegarem 18,432MHz. Producent udostÍpnia pe³n¹ dokumentacjÍ programu ìboot loaderî, ³¹cznie z†jego kodem ürÛd³owym.
Uniwersalne porty I/O Uøytkownik Z183 ma do dyspozycji 32 linie wejúcia/wyjúcia (ang. GPIO General Purpose I/O). Zgrupowane s¹ one w†cztery 8-bitowe porty oznaczone jako A, B, C†i†D. Podstawowe moøliwoúci wszystkich portÛw s¹ takie same - kaøda z†linii moøe byÊ niezaleønie ustawiona jako wyjúcie lub wejúcie. Jeøeli linia bÍdzie pracowaÊ jako wyjúcie to moøna wybraÊ jeden z†nastÍpuj¹cych trybÛw pracy: - otwarty dren z†aktywnym rezystorem podci¹gaj¹cym, - otwarty dren bez rezystora podci¹gaj¹cego, - totem pole. OprÛcz podstawowych funkcji wejúcia i†wyjúcia kaødy z†portÛw moøe realizowaÊ funkcje specjalne: - port A†- wejúcia sygna³Ûw przerwaÒ, - port B†- sygna³y transmisji szeregowej, - port C†- wyjúcia z†programowanego generatora sygna³Ûw wyjúciowych, - port D†- wejúcia sygna³Ûw przerwaÒ lub wejúcia sygna³Ûw analogowych do przetwornika A/C. Ciekaw¹ funkcj¹ jest moøliwoúÊ zmniejszenia wydajnoúci pr¹dowej portÛw do 25% wartoúci nominalnej, co wi¹øe siÍ z†wyd³uøeniem czasÛw prze³¹czania. DziÍki temu uzyskuje siÍ spadek poboru pr¹du i†generowanych zak³ÛceÒ elektromagnetycznych. Taki
90
Mikroprocesor Z183 zawiera 10-bitowy przetwornik analogowo-cyfrowy. Dzia³a on na zasadzie kolejnych przybliøeÒ i†do wykonania pe³nej konwersji potrzebuje 64 taktÛw zegara. Odpowiada to czÍstotliwoúci prÛbkowania 515kHz przy zegarze 33MHz. Oczywiúcie, razem z†przetwornikiem A/C zintegrowany jest uk³ad prÛbkuj¹co-pamiÍtaj¹cy niezbÍdny do poprawnej pracy z†sygna³ami szybkozmiennymi. FunkcjonalnoúÊ przetwornika znacznie zwiÍksza 8-kana³owy multiplekser analogowy na wejúciu. W†celu poprawienia parametrÛw pracy, uk³ady zasilania czÍúci analogowej i†cyfrowej s¹ rozdzielone. Jako napiÍcie odniesienia moøna wybraÊ jedno z†dwÛch wewnÍtrznych napiÍÊ odniesienia (4,2V lub 2,6V) lub pobieraÊ je z†zewn¹trz przez bit 0†portu A. Jeøeli przetwornik nie jest wykorzystywany, to moøna go po prostu wy³¹czyÊ. DziÍki temu zmniejsza siÍ pobÛr pr¹du, co ma szczegÛlne znaczenie w†trybach uúpienia. KonwersjÍ wyzwala ustawieniu bitu w†odpowiednim rejestrze kontrolnym. ZakoÒczenie procesu konwersji moøna sprawdzaÊ w†odpowiednim rejestrze lub czekaÊ na zg³oszenie przerwania A/D Complete.
Przetwornik cyfrowo-analogowy Jednokana³owy, 10-bitowy przetwornik cyfrowo-analogowy z†wyjúciem napiÍciowym, to standardowe wyposaøenie Z183. Moøe byÊ wykorzystywany np. do generowania sygna³Ûw audio, dowolnych przebiegÛw wyjúciowych lub analogowej transmisji danych. Czas konwersji wynosi 1µs, co pozwala na generowanie przebiegÛw o†czÍstotliwoúci do 500kHz. ZarÛwno dla przetwornika A/C jak i†dla przetwornika C/A moøna wybraÊ ürÛd³o napiÍcia odniesienia (wewnÍtrzne 4,2V lub 2,6V lub pobieraÊ je z†zewn¹trz przez bit 0 portu A)
siÍ bardziej interesuj¹ce, bÍdzie wygenerowane przerwanie. Do stabilizacji sygna³u zegarowego moøna wykorzystaÊ typowy kwarc ìzegarkowyî 32,768kHz lub sygna³ sieci 50/60Hz. Dok³adnoúÊ zegara czasu rzeczywistego jest warunkowana wy³¹cznie stabilnoúci¹ sygna³u zegarowego. Jeøeli zegar czasu rzeczywistego wykorzystuje popularny kwarc ìzegarkowyî 32,768kHz, to moøemy zrezygnowaÊ z†drugiego kwarcu generuj¹cego zegar dla j¹dra procesora. Naleøy tylko uaktywniÊ uk³ad powielania czÍstotliwoúci (wewnÍtrzna pÍtla FLL), aby uzyskaÊ sygna³ zegarowy 16,450 MHz (mnoønik 502) lub 32,899 MHz (mnoønik 1004).
Programowany generator sygna³Ûw wyjúciowych POG Programowany generator sygna³Ûw wyjúciowych, to dosyÊ nietypowy blok funkcjonalny. Pozwala na realizacjÍ uk³adu sekwencyjnego dzia³aj¹cego niezaleønie od procesora. Jeøeli zdecydujemy siÍ na wykorzystanie POG, to 2kB pamiÍci wewnÍtrznej pamiÍci RAM zostanie uszczuplone o†256 bajtÛw. Te 256 bajtÛw podzielone jest na 64 identyczne struktury, w†ktÛrych zapisane s¹ nastÍpuj¹ce informacje: - opÛünienie wyraøone w†taktach zegara POG (14 lub 16 bitÛw), - realizowana funkcja (2 bity), - dane (8 lub 10 bitÛw), - adres nastÍpnej struktury (6 bitÛw). DziÍki temu, øe ca³a tablica POG znajduje siÍ w†pamiÍci dostÍpnej dla procesora, nie ma najmniejszego k³opotu z†wpisywaniem do niej danych przez program uøytkownika, nawet wtedy gdy POG jest w³¹czony. Jedynym ograniczeniem jest to, aby nie modyfikowaÊ danych w†tej strukturze, ktÛra jest aktualnie wykorzystywana przez POG. SprawdziÊ to moøna odczytuj¹c rejestr POGAT, w†ktÛrym znajduje siÍ
Zegar czasu rzeczywistego Kolejnym modu³em u³atwiaj¹cym stosowanie Z183 w†aplikacjach pracuj¹cych w†czasie rzeczywistym jest wbudowany zegar czasu rzeczywistego razem z†kalendarzem. Obs³uga zegara jest wyj¹tkowo ³atwa. DostÍpne s¹ rejestry: sekund, minut, godzin oraz dnia tygodnia, dnia miesi¹ca, miesi¹ca, roku i†wieku. Kalendarz uwzglÍdnia wszystkie lata przestÍpne i†jest zgodny z†rokiem 3000. Tak jak w kaødym porz¹dnym zegarku, tak i†w†tym moøna ustawiÊ alarm (trzy rejestry - godziny, minuty i†sekundy). W³¹czenie alarmu nastÍpuje przez ustawienie odpowiedniego bitu w†rejestrze kontrolnym zegara lub, co wydaje
Rys. 3.
Elektronika Praktyczna 5/2001
S P R Z Ę T numer aktywnej struktury. DostÍpny jest takøe aktualny stan licznika generuj¹cego opÛünienie. Do taktowania POG wykorzystywany jest sygna³ zegarowy j¹dra procesora. Jeøeli jednak potrzebne s¹ wiÍksze odstÍpy czasowe, to moøna go podzieliÊ przez 256, 1024 lub 4096. Tak wiÍc, nawet przy najszybszym zegarze (33MHz) moøna w†najgorszym przypadku (14-bitowy licznik) uzyskaÊ ponad 2-sekundowe opÛünienie. W†zaleønoúci od funkcji realizowanych przez POG, dane wpisuje siÍ w†nastÍpuj¹cy sposÛb: - wys³anie danych do portu C†- 8 bitÛw w†bajcie danych, - konwersja A/C - 3†najm³odsze bity w†bajcie danych s³uø¹ do wyboru kana³u, pozosta³e bity danych nie s¹ wykorzystywane, a wynik konwersji dostÍpny jest w†rejestrach przetwornika A/C, - konwersja C/A - 10-bitow¹ dan¹ do przetwornika C/A naleøy zapisaÊ w†nastÍpuj¹cy sposÛb: bity 9-2 w†bajcie danych, a†bity 0-1 jako bity 7-6 w†starszym bajcie opÛünienia, w†tym trybie opÛünienie moøe mieÊ co najwyøej 14 bitÛw, - wywo³anie przerwania - bajt danych nie jest wykorzystywany.
ZDI - emulator na pok³adzie Z183 jest pierwszym z†uk³adÛw ZiLOGa wyposaøonym w†ZDI. DziÍki umieszczeniu w†strukturze mikroprocesora dodatkowych uk³adÛw realizuje on takøe podstawowe funkcje emulatora. DostÍp to tych funkcji umoøliwia dwuprzewodowe ³¹cze, dziÍki ktÛremu moøna przej¹Ê pe³n¹ kontrolÍ nad mikroprocesorem zamontowanym w†uk³adzie. Najwaøniejsze funkcje ZDI to: - podgl¹d i†zmiana zawartoúci rejestrÛw procesora, - podgl¹d i†zmienia zawartoúci pamiÍci, - uruchamianie i†zatrzymywanie programu, - ustawianie pu³apek, - wykonywanie programu w†trybie pracy krokowej, - wpisywanie kodu/danych do SRAM. Naleøy podkreúliÊ, øe pu³apki realizowane s¹ na drodze sprzÍtowej, co wymaga³o zaimple-
mentowania w†strukturze procesora dodatkowych rejestrÛw do przechowywania adresu oraz uk³adÛw porÛwnuj¹cych zawartoúÊ tych rejestrÛw z†sygna³ami na magistrali. Do po³¹czenia ZDI ze z³¹czem RS232 lub USB konieczny jest odpowiedni interfejs ZPAK (fot. 1). Dok³adny jego opis moøna znaleüÊ w†EP12/2000.
Czy to juø wszystko? Oczywiúcie, øe nie. Niestety brak miejsca nie pozwala na opisanie wszystkich blokÛw Z183. A†s¹ tam jeszcze: - dwa szybkie UART-y z†w³asnymi rejestrami FIFO, liniami do wspÛ³pracy z†modemem i†niezaleønymi generatorami sygna³Ûw taktuj¹cych, - jedno szybkie ³¹cze szeregowe dedykowane do komunikacji miÍdzy procesorami lub z†pamiÍciami szeregowymi, - dwa 16-bitowe liczniki ogÛlnego przeznaczenia, - dwa zaawansowane uk³ady DMA, - uk³ad nadzoru - watchdog, - rozbudowany uk³ad kontroli przerwaÒ, - 8-poziomowy system usypiania procesora, dziÍki ktÛremu pobÛr pr¹du moøna ograniczyÊ do zaledwie 40µA w†trybie pe³nego uúpienia (ale z†dzia³aj¹cym zegarem czasu rzeczywistego!).
Obudowa Zmuszeni do wyprowadzenia na zewn¹trz uk³adu aø 100 sygna³Ûw konstruktorzy Z183 zdecydowali siÍ zamkn¹Ê go w†obudowie typu VQFP. Uzyskali dziÍki temu szereg korzyúci, z†ktÛrych najwaøniejsze to ma³e wymiary oraz niska cena. Oczywiúcie odleg³oúÊ miÍdzy wyprowadzeniami wynosz¹ca zaledwie 0,5mm stawia pewne wymagania przed liniami montaøowymi, ale obecnie nie jest to niczym niezwyk³ym. Przy konstrukcjach prototypowych lub amatorskich moøna przy
odrobinie sprytu przylutowaÊ Z183 do p³ytki rÍcznie, co autor niniejszego artyku³u sprawdzi³ osobiúcie.
Oprogramowanie Zgodnie z†przyjÍt¹ przez ZiLOGa strategi¹, oprogramowanie dla Z183, tak jak i†dla wszystkich innych procesorÛw zosta³o w³¹czone w†sk³ad ZiLOG Developer Studio (ZDS). Jest to kompletne úrodowisko programistyczne w†sk³ad ktÛrego wchodzi: edytor, asembler, linker, debugger i†symulator. Ca³oúÊ pracuje na komputerach PC w†úrodowisku Windows i†nie stawia przed sprzÍtem wysokich wymagaÒ. Najnowsz¹ wersjÍ moøna úci¹gn¹Ê bezp³atnie ze strony ZiLOGa - www.zilog.com, przy czym naleøy podkreúliÊ, øe jest wersja pe³na, bez jakichkolwiek ograniczeÒ. DostÍpny jest takøe kompilator C generuj¹cy kod na wszystkie procesory serii Z180. TraktowaÊ go moøna jako narzÍdzie samodzielne lub zintegrowane z†ZDS. SzczegÛlnie atrakcyjna jest ta druga moøliwoúÊ, znacznie podnosz¹ca komfort pracy nad programem. Jedn¹ z†opcji tego kompilatora jest obs³uga MMU. DziÍki temu programista nie musi siÍ martwiÊ bankowaniem pamiÍci. Przy tak duøej popularnoúci procesorÛw Z180 naturaln¹ rzecz¹ jest to, øe powsta³o wiele innych programÛw dedykowanych Z180, a†firmowanych przez firmy od ZiLOGa niezaleøne. Wiele z†nich moøna znaleüÊ pod adresem: http://www.zilog.com/support/ z80_z185.html, http://www.geocities.com/SiliconValley/Peaks/3938/ z80_home.htm lub http://users.iafrica.com/r/ra/rainier. Naleøy takøe przypomnieÊ, øe pracuj¹c z†Z180 moøna skorzystaÊ ze starszych programÛw stworzonych z†myúl¹ o†Z80.
Co dalej? Dalej pozostaje juø tylko liczyÊ na inwencjÍ i†wyobraüniÍ konstruktorÛw, zarÛwno ìzawodowcÛwî jak i†îamatorÛwî. To od nich zaleøy jak wykorzystaj¹ moøliwoúci zawarte w†Z183. A†øe nie s¹ one ma³e niech úwiadczy to, øe juø nied³ugo oprogramowanie oferowane przez ZiLOGa wzbogaci siÍ o†w†pe³ni funkcjonalny stos TCP/IP, dziÍki ktÛremu bÍdzie moøna Z183 zamieniÊ w†miniaturowy ìweb-serwerî. Tak wiÍc mimo, øe czasy ìSpectrumî, ìCommodoreî czy teø ìAtariî minͳy bezpowrotnie, 8-bitowe procesory trzymaj¹ siÍ mocno i†na pewno jeszcze d³ugo bÍd¹ nam towarzyszyÊ. Witold Barycki, Eurodis Materia³y katalogowe zwi¹zane z†procesorem Z183 s¹ dostÍpne na p³ycie CD-EP05/2001B w†katalogu \Zilog.
Elektronika Praktyczna 5/2001
91
K U R S
ST6−Realizer Narysuj swój program!
część 4 W†poprzednich czÍúciach kursu poznaliúmy program ST6-Realizer, stworzyliúmy
Zanim jednak zabierzemy siÍ do utworzenia swojego elementu bibliotecznego musimy zdecydowaÊ o†tym, jak nowy element ma dzia³aÊ i†jaki ma mieÊ wygl¹d. Przyjmijmy, øe bÍdzie to sterownik wyúwietlacza alfanumerycznego LCD. Dzia³ania tego elementu na razie nie bÍdziemy definiowaÊ, poniewaø sterowanie wy-
Rys. 1.
Rys. 2.
Aby rozpocz¹Ê pracÍ nad nowym symbolem najlepiej jest utworzyÊ nowy projekt. Po uruchomieniu programu ST-Realizer w†menu File wybieramy New project. Jako miejsce utworzenia nowego projektu wybierzmy (na przyk³ad) folder C:\realst\LIB, w†ktÛrym umieszczono wszystkie biblioteki. Taka lokalizacja projektu pozwoli na korzystanie z†naszej biblioteki w†kaødym projekcie bez øadnych problemÛw. Tu uwaga: plik project.ini nie zostanie za³adowany do folderu o†podanej úcieøce system utworzy oddzielny folder o†podobnej nazwie. Z†tego w³aúnie folderu kopiujemy plik .ini do folderu LIB, a†folder utworzony automatycznie przez system usuwamy do kosza. NastÍpnie ponownie uruchamiamy program, tworzymy nowy plik schematu, ktÛry bÍdzie opisywa³ budowÍ tworzonego elementu bibliotecznego. W†menu Edit wybieramy Symbol, co powoduje uruchomienie programu ST-SymbolEditor (rys. 1). NastÍpnie klikamy ikonÍ New, co powoduje otwarcie okna New symbol (rys. 2), w†ktÛrego prawej czÍúci wpisujemy nazwÍ symbolu np. LCD i†klikamy OK. Otworzy siÍ czysta strona, na ktÛrej zaznaczony jest obszar do graficznej edycji symbolu w†kszta³cie prostok¹ta (rys. 3). Przed przyst¹pieniem do rysowania nowego symbolu zapoznajmy siÍ z†tym co mamy do dyspozycji w†menu i†na pasku narzÍdziowym. OprÛcz standardowych przyciskÛw i†opcji wykorzystywanych we wszystkich pro-
úwietlaczem LCD bÍdzie tematem jednej z†nastÍpnych czÍúci kursu Realizera. Skupimy siÍ na samym przebiegu procesu definiowania elementu.
Rys. 4.
Rys. 3.
Rys. 5.
92
pierwszy projekt i†przeprowadziliúmy jego symulacjÍ. Obecnie poznamy inne zalety ST6-Realizera. Jedn¹ z†nich jest moøliwoúÊ edycji swoich elementÛw bibliotecznych, co pozwala tworzyÊ w³asne biblioteki najczÍúciej stosowanych elementÛw. gramach pakietu istniej¹†opcje wykorzystywane tylko w†Edytorze SchematÛw. Do takich naleø¹ przyciski do rysowania elementÛw bibliotecznych (rys. 4). Pozosta³e przyciski spe³niaj¹ takie same funkcje jak w†innych programach pakietu. W†menu Object mamy do dyspozycji cztery opcje pozwalaj¹ce nadawaÊ i†modyfikowaÊ atrybuty nowego symbolu oraz rysowaÊ proste symbole graficzne (ko³a, prostok¹ty i†wyprowadzenia). Podczas dodawania nowego wyprowadzenia do tworzonego symbolu projektant moøe okreúliÊ jego nastÍpuj¹ce parametry (rys. 5): nazwÍ, numer wyprowadzenia, kolor, rodzaj wyprowadzenia (wejúciowe lub wyjúciowe) oraz jego typ (long, word, signed int itp.). Kaødemu elementowi bibliotecznemu moøna ponadto przypisaÊ komentarz, ktÛry moøe zawieraÊ np. opis jego funkcji, co u³atwia dokumentowanie projektu. Teraz powrÛcimy do omÛwienia przebiegu procesu tworzenia elementu bibliotecznego. Jak wspomnieliúmy, na pustym arkuszu pojawia siÍ niewielki prostok¹t, w†ktÛrego obszarze moøemy tworzyÊ no-
Rys. 6.
Rys. 7.
Elektronika Praktyczna 5/2001
K U R S
Rys. 8.
Rys. 9.
wy element (rys. 6). Modyfikacja rozmiarÛw tego prostok¹ta jest moøliwa po najechaniu kursorem na jeden z†jego gÛrnych rogÛw i†przeci¹gniÍcie go do momentu uzyskania wymaganego rozmiaru. Po kaødej operacji zwiÍkszania powierzchni program pyta, czy powiÍkszyÊ elementy rysowanego symbolu. Jeøeli operator wyrazi zgodÍ na tÍ operacjÍ, to oprÛcz powiÍkszenia powierzchni, powiÍkszeniu ulegn¹ rÛwnieø wszystkie elementÛw rysowanego symbolu. Tak wiÍc tworzenie nowego elementu bibliotecznego przebiega w†nastÍpuj¹cy sposÛb: - dobieramy odpowiedni¹ wielkoúÊ pola do edycji elementu, - za pomoc¹ narzÍdzia Rectangle rysujemy prostok¹t (rys. 6), ktÛry bÍdzie jego ìobudow¹î, - w†menu Object wybieramy Pin i†dodajemy do elementu wyprowadzenia (rys. 7) okreúlaj¹c jego w³aúciwoúci w†oknie Create a†pin (rys. 5). - podczas edycji nadajemy nastÍpuj¹ce parametry wyprowadzeniom, ktÛre skonfigurujemy jako wyjúcia (rys. 8): Label D0,D1,D2,D3,D4,D5,D6,D7, RW,RS,E Number 0,1,2,3,4,5,6,7,8,9,10,11 Input/Output Output Type Bit Color dowolny - w†menu Object ponownie wybieramy Pin i†edytujemy wejúcie nadaj¹c nastÍpuj¹ce parametry: Label In Number 12 Input/Output Input Type Word Color dowolny SprÛbujmy umieúciÊ wejúcie In po stronie przeciwnej, w†stosunku do
wyjúÊ edytowanego elementu. W†tym celu naleøy wyprowadzenie wejúciowe obrÛciÊ uøywaj¹c polecenia ROTATE. Tak zaprojektowany symbol graficzny elementu wygl¹da jak pokazano na rys. 9. Teraz pozosta³o nam jeszcze nadanie atrybutÛw nowemu elementowi, co wymaga wybrania w†menu Object opcji Attribute, przy ktÛrej odpowiednim polom nadawane s¹ nastÍpuj¹ce opisy: Tag TXT Value LCD Visibility tag nie zaznaczony Value tak Reszta ustawieÒ domyúlna. NastÍpnie ponownie w†menu Object wybieramy Attribute i†w†pola wpisujemy: Tag scheme Value úcieøka dostÍpu do schematu bÍd¹cego zawartoúci¹ symbolu np. C:\REALST\LIB\LCD (rys. 10) Visibility tag i†Value nie zaznaczamy Reszta ustawieÒ domyúlna. Po nadaniu atrybutÛw symbol mamy juø gotowy i moøemy rozpocz¹Ê rysowanie jego ìwnÍtrzaî. PowrÛcimy teraz do tworzenia pliku schematowego. Rysuj¹c schemat, opisuj¹cy dzia³anie modu³u reprezentowanego przez symbol, musimy pamiÍtaÊ o†tym, øeby liczba wejúÊ i†wyjúÊ w†schemacie by³a identyczna z†liczb¹ odpowiednich wyprowadzeÒ we wczeúniej zaprojektowanym symbolu. Wszystkie wejúcia i†wyjúcia musz¹ mieÊ rÛwnieø takie same nazwy.
Rys. 11.
Rys. 12.
Symbole biblioteczne ³¹cz¹ce wejúcia (portin) i†wyjúcia (portout) zdefiniowane w†schemacie z†wyprowadzeniami elementu bibliotecznego pokazano na rys. 11 i†12. Gdy mamy gotowe wszystkie elementy symbolu, moøemy przyst¹piÊ do utworzenia w³asnej biblioteki, w†ktÛrej umieúcimy symbol. Robimy to w†sposÛb nastÍpuj¹cy: - W†menu Object wybieramy Local library symbol, co powoduje otwarcie okna, w†ktÛrym wskazujemy nowy symbol i†umieszczamy go na planszy schematowej (tworz¹c ìpodschematî). - Tworzymy nowy schemat (np. wyslcd.sch), z†wczeúniej utworzonego ìpodschematuî kopiujemy symbol i†umieszczamy w†wyslcd.sch. - W†podschemacie symbol usuwamy. Mamy teraz dwa pliki schematowe: LCD.sch zawieraj¹cy symbol oraz wyslcd.sch z†nowym elementem. Plik wyslcd.sch pos³uøy nam do utworzenia nowej, w³asnej biblioteki. NiektÛrzy z†CzytelnikÛw mog¹ zapytaÊ: dlaczego od razu z†pliku LCD.sch nie tworzymy biblioteki? Dzieje siÍ tak dlatego, øe utworzona biblioteka zawieraÊ bÍdzie - oprÛcz naszego elementu - wszystkie inne, co najmniej raz uøyte do edycji schematu LCD.sch. Aby tego unikn¹Ê i†øeby biblioteka zawiera³a tylko nowe, utworzone przez nas elementy,
Rys. 10.
Elektronika Praktyczna 5/2001
93
K U R S
Rys. 13. naleøa³o post¹piÊ w†opisany powyøej sposÛb. Zapiszemy do pliku efekty naszej pracy i†nastÍpnie uruchamiamy program konwertuj¹cy Sch2Lib Converter. Otworzy siÍ okno g³Ûwne programu oraz okno wyboru pliku Select a†scheme (rys. 13), w†ktÛrym wybieramy plik ürÛd³owy ze schematem do konwersji (w naszym przypadku bÍdzie to plik wyslcd.sch). NastÍpnie otwiera siÍ okno Convert to library (rys. 14), w†ktÛrym podajemy nazwÍ nowej biblioteki (np.
94
Rys. 14. LCD.lib). Od tego momentu program rozpoczyna tworzenie biblioteki, co jest sygnalizowane odpowiednimi komunikatami. Jeøeli bÍdziemy chcieli do samodzielnie utworzonej biblioteki do³¹czyÊ nowy symbol, naleøy kolejne tworzone elementy wklejaÊ w†schemat bazowy, z†ktÛrego jest tworzona biblioteka. Po wklejeniu nowego elementu naleøy kaødorazowo przeprowadziÊ konwersjÍ. Krzysztof Górski, AVT
[email protected]
Element biblioteczny sterownika wyúwietlacza alfanumerycznego LCD wykonany zgodnie z†opisem zamieszczonym w†artykule zamieszczamy na p³ycie CD-EP5/2001B. Na p³ycie CD-EP2/2001B opublikowaliúmy ST6-Realizera w†pe³nej wersji. Jest on takøe dostÍpny (wraz z†katalogiem procesorÛw ST62) na p³ycie CD-EP2.
Elektronika Praktyczna 5/2001
PROJEKTY CZYTELNIKÓW Dział "Projekty Czytelników" zawiera opisy projektów nadesłanych do redakcji EP przez Czytelników. Redakcja nie bierze odpowiedzialności za prawidłowe działanie opisywanych układów, gdyż nie testujemy ich laboratoryjnie, chociaż sprawdzamy poprawność konstrukcji. Prosimy o nadsyłanie własnych projektów z modelami (do zwrotu). Do artykułu należy dołączyć podpisane oświadczenie, że artykuł jest własnym opracowaniem autora i nie był dotychczas nigdzie publikowany. Honorarium za publikację w tym dziale wynosi 250,− zł (brutto) za 1 stronę w EP. Przysyłanych tekstów nie zwracamy. Redakcja zastrzega sobie prawo do dokonywania skrótów.
Programator uniwersalny, część 2 W†drugiej, ostatniej czÍúci artyku³u konstruktor programatora opisuje konstrukcje adapterÛw umoøliwiaj¹cych programowanie uk³adÛw rÛønych rodzin oraz oprogramowanie steruj¹ce prac¹ programatora.
Adaptery Programowane uk³ady s¹ pod³¹czane do programatora za pomoc¹ adapterÛw. S¹ to proste uk³ady zawieraj¹ce podstawki pod uk³ady scalone i†kilka dodatkowych elementÛw dopasowuj¹cych. Takie rozwi¹zanie pozwoli³o zmniejszyÊ do minimum liczbÍ elementÛw prze³¹czaj¹cych przez co zwiÍkszono niezawodnoúÊ programatora - chodzi tu szczegÛlnie o†prze³¹czanie wzglÍdnie wysokiego napiÍcia programuj¹cego. Adapter dla wybranych mikrokontrolerÛw firm: Atmel, Microchip i†pamiÍci EEPROM z†interfejsem szeregowym Schemat tego adaptera przedstawiono na rys. 2. Jest to prosty uk³ad zawieraj¹cy 4†podstawki pod uk³ady scalone. Umoøliwia programowanie uk³adÛw ATMEL w†obudowach 20-nÛøkowych (zarÛwno MCS-51 i†AVR),
Rys. 2.
Elektronika Praktyczna 5/2001
PIC16x8x, pamiÍci EEPROM z†interfejsem szeregowym typu 93Cxx oraz 24Cxx. Adapter dla procesorÛw AVR firmy Atmel Schemat adaptera przedstawiono na rys. 3. Jest to prosty uk³ad zawieraj¹cy 1†podstawkÍ 40-nÛøkow¹. Umoøliwia programowanie uk³adÛw†ATMEL AVR w†obudowach z†40 wyprowadzeniami (np. AT90S4414, AT90S8515). Adapter dla procesorÛw MCS-51 Schemat adaptera przedstawiono na rys. 4 (zawiera 1 podstawkÍ 40-nÛøkow¹). Za jego pomoc¹ moøna programowaÊ uk³ady MCS-51 w†obudowach 40-nÛøkowych z†pamiÍci¹ Flash (AT89C51, AT89C52, AT89C55, AT89S8252). Z†powodu podawania adresu w†sposÛb rÛwnoleg³y, p³ytkÍ uzupe³niono o†12-bitowe liczniki 4040 (U2, U3), ktÛre spe³niaj¹ funkcj͆licznika adresu.
Projekt
084 Montaø i†uruchomienie Przed rozpoczÍciem montaøu naleøy dok³adnie sprawdziÊ wszystkie p³ytki drukowane, czy przypadkiem nie ma zwarÊ miÍdzy úcieøkami lub sprawdziÊ czy nie ma przerw w†úcieøkach - naleøy to wykonaÊ omomierzem. Nawet szerokie úcieøki, wygl¹daj¹ce ìna okoî na sprawne, mog¹ byÊ przetrawione. Po tej ømudnej, ale koniecznej czynnoúci moøna przyst¹piÊ do dalszej pracy. Programator naleøy zmontowaÊ na p³ytce drukowanej, w†ktÛr¹ wczeúniej naleøy wlutowaÊ podstawki pod uk³ady scalone. U³atwi to uruchamianie uk³adu i†jego pÛüniejsze modyfikacje. Podobnie naleøy post¹piÊ z†p³ytkami adapterÛw. Montaø naleøy rozpocz¹Ê od elementÛw najmniejszych gabarytowo (rezystory, kondensatory, diody, tranzystory). NastÍpnie naleøy wlutowaÊ podstawki pod uk³ady scalone, stabilizatory U1 i†U2, gniazda J1, J2, J3. Po³¹czenie g³Ûwnego modu³u programatora z†adapterami jest wykonane za pomoc¹ przewodu ze z³¹czem 40-szpilkowym (tzw. ìtaúmaî - takie samo jak w†twardych dyskach IDE). Naleøy zwrÛciÊ uwagÍ na d³ugoúÊ tego przewodu - obowi¹zuje generalna zasada: im krÛtszy przewÛd tym lepiej. Naleøy jednak zapewniÊ moøliwoúÊ swobodnej wymiany adapterÛw, dlatego nie naleøy przesadzaÊ ze zbytnim jego skracaniem (egzemplarz modelowy posiada³†przewÛd d³ugoúci ok. 10cm). Po montaøu nastÍpuje zawsze najciekawszy moment: uruchomienie. Przy wyjÍtych z†podstawek uk³a-
95
PROJEKTY CZYTELNIKÓW
Rys. 3.
dach U3 i†U4 pod³¹czamy zasilanie (najlepiej o†wartoúci ok. 26V, ale moøe byÊ niøsze). Powyøej 14V nie uzyskamy jedynie wyøszych napiÍÊ programuj¹cych - obecna wersja jeszcze nie pozwala na programowanie uk³adÛw EPROM i†GAL, wiÍc napiÍcie 14V w†zupe³noúci wystarcza. Dioda D3 powinna úwieciÊ. Mierzymy napiÍcia miÍdzy wyprowadzeniami 14 i†7†uk³adu U3 oraz 40 i†20 uk³adu U4 - powinno wynosiÊ ok. 5V. Sprawdzamy napiÍcie na wyjúciu stabilizatora U1 (koÒcÛwka 3) - tu powinno byÊ 12V. Jeúli coú jest nie tak, naleøy poszukaÊ b³Ídu. W†przeciwnym przypadku wy³¹czamy zasilanie, wk³adamy do podstawek uk³ady U3 i†U4. Pod³¹czamy programator do dowolnego portu COM komputera PC za pomoc¹ przewodu zakoÒczonego z†obu stron wtyczkami ìøeÒskimiî. Naleøy zwrÛciÊ uwagÍ na ìskrzyøowanieî sygna³Ûw RXD i†TXD w†kablu (typowy kabel tzw. ìmodem zerowyî). Na komputerze PC uruchamiamy dowolny program terminalowy np. HyperTerminal znajduj¹cy siÍ w†kaødym pakiecie Windows 95, 98 czy NT. W†terminalu
96
naleøy skonfigurowaÊ port szeregowy, do ktÛrego jest pod³¹czony programator (COM1 do 4) na 19200 bodÛw, 8†bitÛw danych, 1†bit stopu, bez parzystoúci, sprzÍtowe sterowanie przep³ywem. W³¹czamy zasilanie progra-
matora. Jeúli wszystko zosta³o dobrze skonfigurowane i†pod³¹czone, to w†okienku terminala powinien siÍ zg³osiÊ znak zachÍty nastÍpuj¹cej postaci: RKProg>. NaciúniÍcie klawisza ENTER powoduje kolejne wyúwietlanie znaku zachÍty. Teraz przysz³a pora na sprawdzenie napiÍÊ programuj¹cych : p o d ³ ¹ c z a m y woltomierz miÍdzy masÍ a†koÒcÛwk͆40 z³¹cza J2, w†oknie terminala wydajemy komendÍ T1
. W†odpowiedzi powinniúmy otrzymaÊ napis 5V i takie napiÍcie powinien wskazywaÊ takøe woltomierz. NaciúniÍcie klawisza powoduje wy³¹czenie napiÍcia programuj¹cego. Wydaj¹c komendy od T2 do T5 sprawdzamy napiÍcia od 12 do 25V. Jeúli powyøsze czynnoúci zosta³y wykonane prawid³owo i†wszystko dzia³a poprawnie, moøna przyst¹piÊ do prÛby generalnej. Zamykamy program terminalowy (øeby nie blokowa³ portu szeregowego komputera PC). Przy wy³¹czonym zasilaniu pod³¹czamy adapter uk³adÛw ATMEL, PIC i†EEPROM. Za³¹czamy zasilanie programatora. Na komputerze PC uruchamiamy program RKProg32.exe (Win95, 98, NT - rys. 5) lub RKProg16.exe (Windows 3.1x). W†przypadku, gdy program powita nas komunikatem o†braku odpo-
wiedzi z†programatora, naleøy wybraÊ z†menu Port pozycjÍ odpowiadaj¹c¹ portowi szeregowemu, do ktÛrego jest pod³¹czony programator. Jeøeli ponownie pojawi siÍ ten komunikat, naleøy postÍpowaÊ zgodnie ze wskazÛwkami zawartymi w†tym oknie. Po poprawnym zainicjowaniu komunikacji pomiÍdzy programem steruj¹cym a†programatorem naleøy umieúciÊ w†odpowiedniej podstawce programowany uk³ad (np. pamiÍÊ 24C02) wybraÊ z†menu Typ wybrany uk³ad (tu Typ -> EEPROM -> 24Cxx -> 24C02). Podpowiedü, gdzie naleøy umieúciÊ dany uk³ad jest wyúwietlana przez program po wybraniu polecenia z†menu Pomoc -> Po³oøenie uk³adu . NastÍpnie moøna przejúÊ do odczytania zawartoúci uk³adu (menu Uk³ad > Czytaj). Pozosta³e polecenia obs³uguje siÍ podobnie. Teraz pozostaje tylko poznanie obs³ugi programu, i†moøna wykorzystywaÊ programator do realizacji dowolnych projektÛw zawieraj¹cych mikrokontrolery czy pamiÍci nieulotne.
Zestaw komend steruj¹cych programatorem Dla osÛb chc¹cych samodzielnie napisaÊ program steruj¹cy prac¹ programatora zamieszczam spis wszystkich komend:
Rys. 4.
Elektronika Elektronika Praktyczna Praktyczna 5/2001 2/98
PROJEKTY CZYTELNIKÓW sumÍ kontroln¹ - jest ona wyliczana wed³ug nastÍpuj¹cego algorytmu zapisanego w†jÍzyku C: #define BL_LEN 64; /* długość bloku danych */ unsigned char BUFFER[BL_LEN+1]; /* bufor z danymi */ suma_kontrolna=0; /* inicjalizacja sumy kontrolnej */ unsigned char i;
for(i=0; i
suma_kontrolna=~suma_kontrolna+1; /* uzupełnienie do 2 */
Jeøeli wyliczona suma kontrolna zgadza siÍ z†odebran¹, to moøna odczytaÊ nastÍpne dane poprzez wys³anie do programatora komendy 'N'. W†odpowiedzi otrzymamy kolejn¹ porcjÍ danych. W†przeciwnym przypadku moøna wys³aÊ do programatora komendÍ 'R' - proúbÍ o†powtÛrzenie danych. Proces ten moøna przerwaÊ wysy³aj¹c komendÍ 'Q'. Robert Krysztof
Rys. 5.
Pierwszy znak - rodzina uk³adu: 'A' - uk³ady firmy Atmel serii MCS-51 typu AT89C; '2' - szeregowe pamiÍci EEPROM z†interfejsem I 2C typu 24Cxx; '3' - szeregowe pamiÍci EEPROM z†interfejsem Microwire typu 93Cxx; '7' - rÛwnoleg³e pamiÍci EPROM typu 27xx; 'G' - uk³ady GAL; 'P' - uk³ady f-my Microchip serii PIC16x8x; 'V' - uk³ady f-my Atmel serii AVR typu AT90Sxxxx; 'T' - testowanie uk³adu programatora (sprawdzanie napiÍÊ programuj¹cych). Drugi znak - komenda do wykonania: 'R' - odczyt pamiÍci; 'W' - programowanie pamiÍci; 'E' - kasowanie uk³adu; 'S' - odczyt sygnatury; 'B' - test ìczystoúciî pamiÍci; 'F' - zapis bitÛw konfiguracji (czasem zabezpieczenia) uk³adu; 'G' - odczyt bitÛw konfiguracji (czasem zabezpieczenia) uk³adu; 'O' - odczyt pamiÍci EEPROM niektÛrych procesorÛw; 'P' - zapis jw.; 'Q' - przerwanie aktualnie wykonywanej czynnoúci. Trzeci znak (opcjonalnie)typ uk³adu w†ramach rodziny okreúlonej pierwszym znakiem polecenia: - dla pierwszego znaku '2': '2' - 24C01A; '3' - 24C02; '4' - 24C04; '5' - 24C08; '6' - 24C16; - dla pierwszego znaku '3': '1' - 93C06; '2' - 93C46; '3' - 93C56;
Elektronika Praktyczna 5/2001
'4' - 93C57; '5' - 93C66; - dla pierwszego znaku '1' - AT89C1051; '2' - AT89C2051; '3' - AT89C4051; '4' - AT89C51; '5' - AT89C52; - dla pierwszego znaku '1' - AT90S1200; '2' - AT90S2313; - dla pierwszego znaku '1' - PIC16F83; '2' - PIC16F84; - dla pierwszego znaku '1' - 2716 z†Upp=25V; '2' - 2732 z†Upp=21V; '3' - 2732 z†Upp=25V; '4' - 2764 z†Upp=12V; '5' - 2764 z†Upp=21V; '6' - 27128 z†Upp=12V; '7' - 27128 z†Upp=21V; '8' - 27256 z†Upp=12V; '9' - 27256 z†Upp=21V; 'A' - 27512 z†Upp=12V; 'B' - 27010 z†Upp=12V; 'C' - 27020 z†Upp=12V; 'D' - 27040 z†Upp=12V; 'E' - 27080 z†Upp=12V; - dla pierwszego znaku '1' - GAL16V8; '2' - GAL20V8; '3' - GAL18V10; '4' - GAL22V10.
'A':
'V':
'P':
'7':
'G':
Komunikaty synchronizuj¹ce transmisjÍ danych, wysy³ane przez programator i†do programatora: 'N' - proúba o†nastÍpne dane; 'R' - proúba o†powtÛrzenie danych; 'E' - b³¹d. Przyk³ad: Aby odczytaÊ pamiÍÊ programu uk³adu AT90S1200 naleøy wys³aÊ komendÍ 'VR1'. W†odpowiedzi otrzymamy paczkÍ 65 bajtÛw (64 bajty danych oraz bajt sumy kontrolnej). Po ich otrzymaniu naleøy sprawdziÊ
97
A U T O M A T Y K A Rejestratory danych znajduj¹ szerokie zastosowanie we wszystkich dziedzinach przemys³u. Firma Simex proponuje trzy systemy rejestracji danych, ktÛre s¹ szczegÛlnie przydatne tam, gdzie rejestracja parametrÛw procesu ma kluczowe znaczenie dla jakoúci produktu. RÛønice w†budowie, zasilaniu oraz funkcjonalnoúci sprawiaj¹, iø znajduj¹ one zastosowanie w†odmiennych warunkach pomiarowych. Cyfrowe rejestratory typu MicroLog (popularnie zwane ìpastylkamiî) ciesz¹ siÍ szczegÛlnym zainteresowaniem wúrÛd firm transportuj¹cych i†magazynuj¹cych øywnoúÊ. DostÍpne s¹ w†dwÛch wykonaniach: jako rejestratory temperatury oraz rejestratory temperatury i†wilgotnoúci. Oba rejestratory tego rodzaju posiadaj¹ wbudowane czujniki, dla-
tego ich zakres zastosowaÒ ogranicza siÍ tylko do analizy parametrÛw powietrza. Posiadaj¹ one w³asne zasilanie (wewnÍtrzna bateria litowa - 1/2 AA o†napiÍciu 3,6V). ìPastylkÍî wyposaøono w†wyúwietlacz LCD umoøliwiaj¹cy od-
Rys. 1.
Elektronika Praktyczna 5/2001
Rejestratory danych czyt wartoúci maksymalnej i†minimalnej úledzonych parametrÛw. Podgl¹d obejmuje zarÛwno wartoúci zarejestrowane w†ci¹gu ostatnich godzin (od 1†do 24 h), jak i†ostatnich dni (od 1 do 30 dni). Wyniki rejestracji zapisane zostaj¹ w†nieulotnej pamiÍci o†pojemnoúci 16000 pomiarÛw. Dane zabezpieczone s¹ przed utrat¹ na wypadek wyczerpania siÍ lub usuniÍcia baterii. Rejestratory s¹ programowane za pomoc¹ komputera PC. Oprogramowanie dzia³aj¹ce w†úrodowisku Windows dostarczane jest wraz z†rejestratorami. Umoøliwia nastawÍ czasu rozpoczÍcia rejestracji oraz przerw pomiÍdzy kolejnymi prÛbkami. Zarejestrowane dane mog¹ byÊ wyúwietlane w†postaci graficznej (rys. 1) lub tabelarycznej i†przesy³ane bezpoúrednio do drukarki lub zapisane w†formacie Excela. Rejestratory wyposaøono w†z³¹cza: RS232 (do pod³¹czenia komputera) oraz IrDA (do bezprzewodowego do³¹czenia drukarki). W†tab. 1 zawarto najwaøniejsze parametry rejestratora MicroLog.
Kolejnym urz¹dzeniem proponowanym przez Simex do rejestracji sygna³Ûw wolnozmiennych jest rejestrator danych RD-50. DostÍpny w†obudowie tablicowej moøe dokonywaÊ jednoczesnej rejestracji z†4†niezaleønych miejsc pomiarowych. Urz¹dzenie wspÛ³pracuje z†zewnÍtrznymi czujnikami typu Pt100 (na zamÛwienie takøe Pt500, Pt1000), termoparowymi J, K, S†oraz przetwornikami z†wyjúciami pr¹dowymi (0...20mA, 4...20mA) lub napiÍciowymi (0...5V, 0...10V). Rejestrator RD-50 wyposaøono w†oúmiodekadowy wyúwietlacz typu
LED umoøliwiaj¹cy wskazanie wartoúci wykonanego aktualnie pomiaru. WewnÍtrzna bateria podtrzymuje zaprogramowane i†zgromadzone dane na wypadek zaniku zasilania. PojemnoúÊ pamiÍci dla wersji jednokana³owej wystarcza na 2924 pomiary, a†czterokana³owej na 1398 pomiarÛw na kana³. Zarejestrowane dane mog¹ byÊ wydrukowane na drukarce wyposaøonej w†z³¹cze szeregowe lub odczytane na komputerze (rys. 2). Podczas transmisji rejestrator wykorzystuje sygna³ CTS ³¹cza szeregowego, ktÛry zapewnia synchronizacjÍ transmisji.
Rys. 2.
135
A U T O M A T Y K A
Rys. 3. Odczyt i†prezentacjÍ danych umoøliwia program rd50pc.exe. Zgromadzone za jego pomoc¹ dane moøna zapisaÊ w†pliku tekstowym z†separatorami rekordÛw w†postaci znakÛw tabulacji. Tak przygotowane dane moøna bez trudu odczytaÊ za pomoc¹ programu Microsoft Excel, co u³atwia ich dalsz¹ ìobrÛbkÍî w dowolny sposÛb. Rejestrator RD-50 umoøliwia parametryzowanie wielu funkcji, co daje moøliwoúÊ optymalnego wykorzystania urz¹dzenia w†rÛønych aplikacjach. W†celu zabezpieczenia programu rejestratora przed dostÍpem osÛb postronnych, producent wprowadzi³ funkcjÍ indywidualnego has³a dostÍpowego. Jedn¹ z†parametryzowanych funkcji rejestratora RD50 jest programowany przez
uøytkownika wspÛ³czynnik filtracji sygna³u wejúciowego. Wszelkie szybkozmienne wahania sygna³u zostaj¹ sprowadzone do wartoúci úredniej, wyliczanej na podstawie odpowiednio dobranego wzoru. Dane rejestrowane w†odstÍpach od 1†minuty do 24 godzin mog¹ byÊ gromadzone w†trzech trybach: - po zape³nieniu pamiÍci kasowane s¹ najstarsze dane (tzw. funkcja nadpisu), - zape³nienie pamiÍci rejestratora powoduje zaprzestanie zapisu danych, - brak rejestracji danych, wyniki wykonanego pomiaru urz¹dzenie automatycznie wysy³a do drukarki. Istnieje ponadto funkcja umoøliwiaj¹ca skasowanie wszystkich zapisanych do tej pory danych. W†celu ograni-
Tab. 1. Podstawowe parametry rejestratora Microlog wyświetlacz ........................................................................... LCD, 2 cyfry zasilanie ........................................................... wewnętrzna bateria litowa 1/2AA, 3,6 V (żywotność baterii ok. 2 lata) pojemność pamięci ........................................................ 16000 pomiarów programowany czas próbkowania .......................................... od 10s...2h wbudowane czujniki: temperatury .......................................................... zakres: −30oC...+50oC rozdzielczość: ....................................................................... 0,5oC dokładność: ....................................................................... ±0,6oC wilgotności ................................................................. zakres: 0...100 % rozdzielczość: ....................................................................... 0,5% dokładność: ........................................................................... ±3% zewnętrzny czujnik (opcja) zakres pomiarowy ................................................. −50oC...+100oC wejście napięciowe ............................................... zakres: 0...10V dokładność: ......................................................................... ±0,1V wyjścia ................................... złącze RS−232 do podłączenia komputera, interfejs drukarkowy IrDA software ...................................................................................... MicroLab stopień ochrony ................................................................................ IP 65 wymiary ........................................................................... 72mmx22,9mm
136
czenia zuøycia energii rejestrator wykorzystuje funkcjÍ ìuúpieniaî. W†trybie tym urz¹dzenie ma wygaszone diody i†wyúwietlacz. Po ìobudzeniuî w†przypadku braku operacji na klawiaturze przez 1 minutÍ urz¹dzenie ponownie ìusypiaî. W†tab. 2 zawarto najwaøniejsze dane techniczne rejestratora RD-50. Trzecim systemem rejestracji, proponowanym przez Simex, jest system oparty na zdalnej akwizycji danych (rys. 3). Taki system, budowany w†oparciu o†magistralÍ Modbus RTU, umoøliwia jednoczesne gromadzenie danych z†wielu punktÛw pomiarowych. Sk³ada siÍ zazwyczaj z†lokalnych modu³Ûw przetwornikÛw pomiarowych, modu³u rejestruj¹cego oraz stacji operatorskiej-komputera PC.
Rejestrowane dane mog¹ byÊ archiwizowane na dysku komputera i†udostÍpniane innym programom komputerowym. Odpowiednia konfiguracja programu umoøliwia wykonanie i†drukowanie raportÛw o†okreúlonych porach dnia lub na ø¹danie operatora. Modu³y pomiarowe przetwarzaj¹ analogowe sygna³y elektryczne na sygna³ cyfrowy, przesy³any w†standardzie Modbus RTU z†wykorzystaniem ³¹cza szeregowego RS485. Modu³y rÛøni¹ siÍ miÍdzy sob¹ budow¹ obwodÛw wejúciowych i†s¹ wykorzystywane do pomiarÛw odmiennych wielkoúci elektrycznych. Aktualnie dostÍpne modu³y (na øyczenie z†optoizolacj¹) mog¹ wspÛ³pracowaÊ z†oporowymi czujnikami temperatury (Pt100), termoelektrycznymi (J, K, S), czujnikami z†wyjúciem napiÍciowym oraz pr¹dowym. Na uwagÍ zas³uguje fakt, øe w†jednej sieci moøna pod³¹czyÊ do 128 przetwornikÛw bez koniecznoúci stosowania wzmacniaczy buforowych. Na rys. 3 pokazano przyk³ad systemu rejestruj¹cego rozproszone dane zbudowanego w oparciu o urz¹dzenia opisane w artykule. Czytelnikom zainteresowanym moøliwoúciami i†budow¹ systemÛw przesy³u danych proponujÍ lekturÍ artyku³u poúwiÍconego zdalnej akwizycji danych, opublikowanego w†EP3/2001. Dariusz Kocerba, Simex Artyku³ powsta³ w†oparciu o†materia³y udostÍpnione przez firmÍ Simex, tel. (0-58) 342-14-26...28, www.simex.com.pl.
Tab. 2. Podstawowe parametry rejestratora RD−50 wyświetlacz ........................................... LED, 8 dekad, wysokość 13 mm rozdzielczość ..................................................................................... 0,1% dokładność ........................................................................................ 0,5% zakres pomiarowy ............................................................ −50 C...+1600 C pojemność pamięci wersja 1−kanałowa ............................................... 2924 pomiarów wersja 2−kanałowa ..................................... 2144 pomiarów/kanał wersja 4−kanałowa ..................................... 1398 pomiarów/kanał czas między rejestr. ............................................... od 1 min do 24 godzin zegar czasu rzeczywist. ...................... dopuszczalny błąd ±3 min/miesiąc podtrzymanie danych i czasu ....................... bateryjne około 12 miesięcy wejścia maks. 4: .............................. Pt100 (Pt500, Pt1000 − na zamów.), termopary typu J, K, S lub analogowe: ....... 0...20mA, 4...20mA, 0...5V, 0...10V interfejs komunikacyjny .............. RS232, dyskietka z oprogramowaniem zasilanie ................................................ 230VAC, 115V, 24V/8VA, 24VDC stopień ochrony .............................................................. IP65 (od frontu) temp. pracy ............................................................................. 0oC...+50oC temp. składowania .............................................................. −10oC...+70oC obudowa ..................................................................................... tablicowa wymiary obudowy ........................................................... 144x72x124mm
Elektronika Praktyczna 5/2001
A U T O M A T Y K A
Inteligentny, miniaturowy, elegancki Po raz trzeci siÍgamy po miniaturowe urz¹dzenie panelowe o†niewiarygodnych wymiarach p³yty czo³owej: 48x24mm (1/32 standardu DIN). Tym razem jest to inteligentny regulator temperatury o†duøej odpornoúci na zak³Ûcenia zewnÍtrzne - E5GN.
Zintegrowane regulatory temperatury serii E5GN wchodz¹ w†sk³ad niezwykle rozbudowanej rodziny E5_N. W†jej ramach s¹ dostÍpne zarÛwno regulatory miniaturowe, jak i†wiele identycznych funkcjonalnie regulatorÛw w†obudowach z†p³yt¹ czo³ow¹ o†wymiarach 1/16, 1/8 i†1/4DIN. Znaczne zminiaturyzowanie modu³u elektroniki osi¹gniÍto dla regulatora E5GN, ktÛrego p³yta czo³owa ma wymiary 48x24mm.
Jak jest zbudowany? Budowa regulatorÛw serii E5_N jest niezbyt skomplikowana, a†to dziÍki zastosowaniu w†jednostce centralnej szybkiego mikrokontrolera. Uproszczony schemat blokowy regulatorÛw tej rodziny przedstawiono na rys. 1. W†zaleønoúci od wersji regulatory E5GN mog¹ wspÛ³pracowaÊ z†czujnikami temperatury nastÍpuj¹cych rodzajÛw: - termoparowymi K, J, T, E, L, U, N, R, S, B, - platynowymi czujnikami Pt100 i jPt100, - dowolnymi czujnikami z†wyjúciem napiÍciowym (napiÍcie wejúciowe powinno siÍ mieúciÊ w†przedziale 0..50mV). Regulator moøe byÊ wyposaøony w interfejs komunikacyjny RS485, za pomoc¹ ktÛrego moøna przesy³aÊ dane z†modu³u regulacyjnego do komputera PC z†zainstalowanym programem SYS-Config lub do innego urz¹dzenia nadrzÍdnego, np.†PLC. Maksymalna szybkoúÊ transmisji wynosi 19,2kbd, a†wszystkie parametry transmisji uøytkownik moøe samodzielnie ustalaÊ. RolÍ elementu wykonawczego spe³nia przekaünik elektromechaniczny o†obci¹øalnoúci 2A przy obci¹øeniu rezystancyjnym zasilanym napiÍciem 220VAC. Za pomoc¹ tego przekaünika moøna sterowaÊ np. styczni-
Rys. 1.
Elektronika Praktyczna 5/2001
kiem w³¹czaj¹cym grza³kÍ lub element ch³odz¹cy. NiektÛre modele regulatorÛw wyposaøono takøe w†wyjúcie napiÍciowe do sterowania SSR (tranzystor PNP z†otwartym kolektorem), ktÛre moøna wykorzystaÊ do monitorowania sygna³u z†czujnika temperatury. Wyjúcie to nie jest odizolowane od uk³adu regulatora, w†zwi¹zku z†czym naleøy ostroønie korzystaÊ z†wystÍpuj¹cego na nim sygna³u. Regulatory mog¹ byÊ wyposaøone takøe w†przekaünikowe wyj-
Podstawowe właściwości regulatora E5GN: ✓ miniaturowe wymiary płyty czołowej: 1/32DIN, ✓ dwa wyświetlacze 4−cyfrowe o programowa− nych funkcjach, ✓ współpraca z 11 rodzajami czujników temperatury, ✓ przekaźnikowe lub napięciowe wyjście regulatora, ✓ opcjonalne wyjście alarmowe o programo− wanych funkcjach, ✓ wbudowany interfejs komunikacyjny RS485 (protokół CompoWay/F), ✓ samoczynne lub ręczne dostosowywanie parametrów regulatora PID do nadzorowane− go obiektu, ✓ jednostka sterująca w logice rozmytej (Fuzzy Logic), ✓ duże możliwości arytmetycznej obróbki wyników pomiaru.
Rys. 2.
139
A U T O M A T Y K A úcie alarmowe, ktÛrego funkcjÍ moøna swobodnie zaprogramowaÊ. Standardowym wyposaøeniem regulatora jest takøe wbudowany zasilacz, ktÛry wystÍpuje w†trzech wersjach przystosowanych do napiÍÊ: 24VAC, 24VDC lub 230VAC, zabezpieczony kasowalnymi bezpiecznikami polimerowymi.
Rys. 3.
140
Co potrafi? BudowÍ regulatora E5GN zoptymalizowano pod k¹tem zapewnienia precyzyjnej regulacji temperatury, ktÛra jest realizowana jednym z†dwÛch sposobÛw: - za pomoc¹ sterowania impulsowego PWM, - za pomoc¹ regulatora PID (zastosowano jego zmodyfikowan¹ wersjÍ,
nazwan¹ 2-PID) wspomaganego zrealizowanym w oparciu o algorytmy logiki rozmytej. Zastosowanie w†regulatorze sterownika w logice rozmytej umoøliwia automatyczne dostosowanie parametrÛw regulacji do charakterystyki termicznej nadzorowanego obiektu. Oczywiúcie, na øyczenie operatora moøliwe jest takøe rÍczne ìdostrajanieî parametrÛw regulacji, co z†pewnoúci¹ doceni¹ najbardziej doúwiadczeni uøytkownicy. Na rys. 2 pokazano przyk³ady wp³ywu zmian parametrÛw regulacji PID na odpowiadaj¹ce im fragmenty charakterystyki regulacji. £atwo zauwaøyÊ, øe sposÛb zdefiniowania poszczegÛlnych etapÛw regulacji ma ogromne znaczenie dla ìjakoúciî stabilizacji temperatury, ktÛr¹ radykalnie poprawia mechanizm samoczynnego dostrajania. Poniewaø charakterystyki czujnikÛw temperatury oraz nadzorowanych obiektÛw s¹ zazwyczaj dalekie od idealnych, konstruktorzy prezentowanego regulatora przewi-
Elektronika Praktyczna 5/2001
A U T O M A T Y K A
Rys. 5. Rys. 4. dzieli moøliwoúÊ konwertowania bezpoúrednich wynikÛw pomiarÛw do postaci preferowanej przez operatora. Do tego celu s³uøy mechanizm zmiany k¹ta nachylenia prostej przetwarzania (rys. 3) oraz moøliwoúÊ dodania sk³adowej sta³ej (offsetu) do wyúwietlanego wyniku (rys. 4). Niebagatelnym u³atwieniem w†automatyzacji z³oøonych procesÛw regulacji temperatury jest fun-
Elektronika Praktyczna 5/2001
kcja samoczynnego modyfikowania zadanego punktu regulacji w†okreúlonym przez operatora czasie (ang. Set Point Ramp Function). Operator moøe sam okreúliÊ czas docho dzenia temperatury do wartoúci zadanej. Wszystkie nastawy przechowywane w†pamiÍci regulatora moøna zabezpieczyÊ przed przypadkowymi zmianami wprowadzonymi z†klawiatury.
Obs³uga Najprostszym sposobem konfigurowania (programowania) regulatora jest wykorzystanie do tego celu klawiatury i†wyúwietlacza, ulokowanych na p³ycie czo³owej. Jej widok pokazano na rys. 6. Wszystkie komunikaty sygnalizuj¹ce stan regulatora oraz kolejne pozycje menu konfiguracji s¹ wyúwietlane na kolorowym wyúwietlaczu LCD (2x4 cyfry dziesÍtne). Charakte-
141
A U T O M A T Y K A
Rys. 6. rystyczne stany pracy regulatora s¹ sygnalizowane za pomoc¹ czterech wskaünikÛw punktowych przypisanych nastÍpuj¹cym zdarzeniom: - przekroczeniu zadanego stanu alarmowego, - uaktywnieniu wyjúcia regulatora, - komunikacji z†jednostk¹ nadrzÍdn¹, - zatrzymaniu sterownika. DostÍp do funkcji konfiguruj¹cych oraz zmian wartoúci parametrÛw regulacji umoøliwia 4-przyciskowa klawiatura foliowa, ktÛrej trzy przyciski wystarczaj¹ do zapewnienia bieø¹cej obs³ugi najwaøniejszych funkcji regulatora. PoszczegÛlne parametry regu-
142
latora s¹ ustawiane poprzez intuicyjne menu umoøliwiaj¹ce takøe blokowanie dostÍpu do poszczegÛlnych poziomÛw podmenu, co jest dobrym sposobem na unikniÍcie nieautoryzowanych zmian. Pewnego rodzaju ciekawostk¹ moøe byÊ fakt, øe przeprowadzone w†redakcyjnym laboratorium testy funkcjonalne wykaza³y doskona³¹ przedatnoúÊ regulatora E5GN jako sterownika dmuchawy grza³ki elektrycznej w†maszynie do foliowania (czÍúÊ kitÛw w†kwietniu zapakowaliúmy za pomoc¹ E5GN) oraz jako regulatora temperatury w†wannie z†cy-
n¹. Naleøy jednak podkreúliÊ, øe dziÍki ³atwej obs³udze oraz wbudowanej funkcji samodostrajania, moøliwoúci zastosowania E5GN s¹ znacznie wiÍksze. Tomasz Paszkiewicz
Artyku³ powsta³ w†oparciu o†materia³y firmy Omron, tel. (0-22) 645-78-60, www.omron.com.pl. SzczegÛ³owe informacje na temat regulatorÛw serii E5_N s¹ dostÍpne w†Internecie pod adresem: http:// omron.netcast.com/Dynamic/ 3_0_index.asp.
Elektronika Praktyczna 5/2001
A U T O M A T Y K A Komputery PC jednoznacznie kojarz¹ siÍ z†wielkimi, g³oúnymi pud³ami, nad ktÛrymi nikt w†pe³ni nie jest w†stanie zapanowaÊ. UdostÍpniony redakcji do testÛw komputer ìciasteczkowyî (ang.
Fot. 1.
biscuit PC) zaprzecza takim potocznym opiniom: kompletny, dobrze wyposaøony PC-et wygl¹da bardzo ìniewinnieî, ale podczas pracy spisuje siÍ profesjonalnie!
Miniaturowy PC firmy Advantech Podstawowe właściwości modułu PCM5820: ✦ pełna kompatybilność z zaleceniami PC99, ✦ niewielkie wymiary: 145x122mm, ✦ pamięć programu o pojemności 128MB, ✦ wbudowany sterownik grafiki LCD/CRT 1024x768/1280x1024px, ✦ wbudowane sterowniki HDD i FDD, ✦ wbudowany interfejs Ethernet 10/100, ✦ wbudowany podwójny interfejs RS232/422/485, ✦ wbudowany interfejs USB 1.0 (2 kanały), ✦ wbudowany interfejs PC/104, ✦ wbudowane złącze PS2 do klawiatury lub myszy, ✦ wbudowany interfejs optyczny IrDA, ✦ wbudowany interfejs kart pamięciowych CompactFlash, ✦ wbudowany interfejs LVDS, ✦ rozbudowane funkcje oszczędzania energii, ✦ zasilanie +5V/1,5A, ✦ BIOS Plug&Play, ✦ wbudowany watchdog (1,6 sekundy), ✦ wbudowany blok konwersji sygnałów audio (“karta” muzyczna) zgodny z AC97, ✦ system konfigurowany zworkami i poprzez BIOS.
Elektronika Praktyczna 5/2001
Modu³ PCM5820 (fot. 1) jest jedn¹ z†trzech wersji modu³Ûw PC oferowanych przez Advantecha w†ramach rodziny 582_. Pomimo niewielkich wymiarÛw, na p³ytce zintegrowano wszystkie bloki standardowego PC, tzn.: - kontrolery dyskÛw twardych (UDMA33) i†stacji dyskietek, - pamiÍÊ DRAM o†pojemnoúci 128MB, - interfejsy: szeregowy (z opcjami: IrDA, RS485, RS422), rÛwnoleg³y i†USB, - sterownik graficzny VGA z†opcjonalnym wyjúciem na kolorowy panel LCD z†interfesjem VGA lub LVDS, - interfejs sieciowy Ethernet 10/100, - z³¹cze w†przemys³owym standardzie PC/104, - z³¹cze do karty z†pamiÍci¹ Flash, - system audio zintegrowany ze wzmacniaczem mocy. Funkcjonalnie budowa modu³u PCM8520 jest zbliøona do budowy standardowych PC-tÛw. Wyj¹tkiem jest centralny procesor: energooszczÍdny procesor Geode firmy National Semiconductors, ktÛra po wielu nieudanych prÛbach znalaz³a wreszcie swoje miejsce na rynku elementÛw do PC.
Niewielkie wymiary p³ytki drukowanej wymusi³y na konstruktorach modu³u zastosowanie miniaturowych z³¹cz, ktÛrych dostosowanie do obowi¹zuj¹cych standardÛw zapewniaj¹ odpowiednie kable wchodz¹ce w†sk³ad zestawu. W†zestawie dostarczane s¹ takøe: kabel do klawiatury, ìúledüî z†gniazdami USB, kable audio i†przed³uøacze do RS232/RS422/RS485. W†modu³ach tworz¹cych rodzinÍ PCM582_ (tab. 1) zastosowano procesory o†wewnÍtrznej czÍstotliwoúci taktowania 200 lub 233MHz. KonstrukcjÍ modu³Ûw wyposaøonych w†szybszy procesor zoptymalizowano pod k¹tem zastosowaÒ wymagaj¹cych duøej wydajnoúci. W†aplikacjach wymagaj¹cych optymalizacji poboru mocy lepiej jest stosowaÊ modu³y z†wolniejszymi procesorami, poniewaø producent wyposaøy³ je w†szereg zaawansowanych mechanizmÛw oszczÍdzania energii. Przeprowadzone przez nas krÛtkie testy modu³u PCM5820 wykaza³y, øe moøna go traktowaÊ jak pe³nowartoúciowy PC i†to o†doúÊ przyzwoitej wydajnoúci. Bez øadnych k³opotÛw uda³o siÍ zainstalowaÊ na do³¹czonym do komputera dysku twardym system ope-
145
A U T O M A T Y K A racyjny Windows ME. Jedynym istotnym k³opotem by³o zdobycie stabilizowanego zasilacza o†mocy ok. 10W i†napiÍciu wyjúciowym 5V, poniewaø w†zestawie go nie ma. W†przypadku korzystania ze standardowych dyskÛw twardych, wymagaj¹cych dwÛch napiÍÊ zasilania: +5V i†+12V, naleøy zastosowaÊ zasilacz o†mocy co najmniej 35W. Producent u³atwia nieco uøytkowanie komputerÛw dostarczanych w†postaci modu³Ûw podobnych do prezentowanego w†artykule, dostarczaj¹c miniaturowe obudowy z†zasilaczem (fot. 2), ktÛrego wydajnoúÊ jest wystarczaj¹ca dla potrzeb miniaturowego komputera. Niebagateln¹ zalet¹ modu³Ûw PCM582_ s¹ takøe zainstalowane ìna pok³adzieî z³¹cza standardu PC/104, dziÍki ktÛrym bezpoúrednio do komputera moøna do³¹czyÊ
Fot. 2. szereg specjalizowanych modu³Ûw stosowanych w†systemach automatyki. Andrzej Gawryluk, AVT
Tab. 1. Zestawienie dostępnych wersji komputerów PCM582_. Oznaczenie PCM5820 PCM5820L PCM5820E PCM5822
146 146
Procesor Procesor GXM233 GXM200 + + + +
Wbudowana karta sieciowa + + +
Wbudowany Wyjście TV Sterownik interfejs LVDS panelu LCD + + + + + + + +
Prezentowane w†artykule urz¹dzenie dostarczy³a redakcji firma Elmark Automatyka, tel. (0-22) 821-3054, www.elmark.com.pl. WiÍcej informacji na temat komputerÛw ìciasteczkowychî moøna znaleüÊ w†Internecie pod adresem: http://www.advantech.com/epc/.
Elektronika Elektronika Praktyczna Praktyczna 5/2001 5/2001