8-bitowy przetwornik A/C i C/AKdo PC P R O J E T Y 8-bitowy przetwornik A/C i C/A do PC, część 2 kit AVT-444 Pierwsza czÍśĘ artykuÅ‚u zawieraÅ‚a opis konstrukcji elektrycznej karty przetwornika oraz procedurÍ montaÅ‚owÄ… i uruchomieniowÄ…. W drugiej czÍÅ›ci postaramy siÍ pokazaĘ Czytelnikom, w jaki sposÛb moÅ‚na stworzyĘ samodzielnie oprogramowanie do tej karty, ktÛra mimo niewielkiej liczby elementÛw, posiada duÅ‚e moÅ‚liwoÅ›ci funkcjonalne. Daje ona naprawdÍ szerokie pole do popisu dla programisty. montaÅ‚, a uniknie siÍ pÛüniej kÅ‚opotÛw z uruchamianiem urzÄ…- Jeszcze trochÍ dzenia. o montaÅ‚u Przed zainstalowaniem karty i uruchomieniu naleÅ‚y zwrÛciĘ uwagÍ czy nie ma Zapewne kaÅ‚dy, po zmonto- zwarĘ na zÅ‚Ä…czu krawÍdziowym waniu karty, z wielkimi emocja- (ze wzglÍdu na technologiÍ zÅ‚o- mi zainstaluje jÄ… w swoim kom- cenia zÅ‚Ä…cza jest to wielce praw- puterze. Po pierwszej chwili nie- dopodobne). JeÅ‚eli, po wÅ‚oÅ‚eniu pewnoÅ›ci (czy komputer wystar- karty, komputer nie uruchomiÅ‚ tuje, czy teÅ‚ nie da znaku Å‚ycia) siÍ, tzn. jego ekran pozostaÅ‚ czar- zwykle pojawi siÍ ekran starto- ny lub zatrzymaÅ‚ siÍ podczas wy komputera i system operacyj- procedur POST, moÅ‚emy stwier- ny zostanie zaÅ‚adowany. SÅ‚owo dziĘ, Å‚e zostaÅ‚ popeÅ‚niony bÅ‚Ä…d zwykle pojawiÅ‚o siÍ w poprzed- podczas montaÅ‚u karty lub pÅ‚ytka nim zdaniu nie bez powodu. drukowana jest uszkodzona. Na- Z doÅ›wiadczeÒ serwisu AVT wy- leÅ‚y pamiÍtaĘ, Å‚e zainstalowanie nika, Å‚e wiele osÛb prÛbuje üle zmontowanej karty w kompu- zmontowaĘ dosyĘ delikatnÄ… kon- terze moÅ‚e doprowadziĘ do jego strukcjÍ, jakÄ… z pewnoÅ›ciÄ… jest uszkodzenia! karta do komputera, nie posia- JeÅ‚eli komputer uruchomiÅ‚ siÍ dajÄ…c odpowiedniego sprzÍtu lub i system operacyjny zostaÅ‚ zaÅ‚ado- doÅ›wiadczenia w lutowaniu. wany, to moÅ‚na wykonaĘ proce- Konstrukcja karty, dziÍki zasto- durÍ testujÄ…cÄ… karty za pomocÄ… sowaniu wyrafinowanych ukÅ‚a- programu PTEST. Procedura ta dÛw scalonych, jest niezwykle zostaÅ‚a opisana w pierwszej czÍÅ›ci prosta i wystarczy poÅ›wiÍciĘ tro- artykuÅ‚u. Program PTEST pracuje chÍ wiÍcej czasu na dokÅ‚adny pod kontrolÄ… MS-DOS, tak wiÍc Elektronika Praktyczna 5/98 63 8-bitowy przetwornik A/C i C/A do PC wstÍpnego uruchomienia karty Druga za- moÅ‚na dokonaĘ na dowolnym kÅ‚adka umoÅ‚li- komputerze. Sytuacja jest idealna, wia przetesto- jeÅ‚eli do takich eksperymentÛw wanie karty posiadamy starÄ… pÅ‚ytÍ gÅ‚ÛwnÄ… (na pracujÄ…cej jako rynku wtÛrnym jest sporo pÅ‚yt przetwornik gÅ‚Ûwnych komputerÛw klasy AT AC. W trybie w cenie okoÅ‚o 30..40 zÅ‚). JeÅ‚eli tym rÛwnieÅ‚ diody bÍdÄ… Å›wieciĘ siÍ zgodnie jest moÅ‚liwe z opisem, to moÅ‚na stwierdziĘ zmienianie za- dwie rzeczy: kresu napiÍĘ Rys. 11. WyglÄ…d ekranu programu testowego 444_TEST - 1.karta prawdopodobnie jest wyjÅ›ciowych, zakÅ‚adka przetwornika AC. zmontowana prawidÅ‚owo; dodatkowo 2.dekoder adresowy (US2) jest moÅ‚na sterowaĘ wzmacniaczem ne tylko bity B2, B3, B4 i B5. sprawny i prawdopodobnie nie o programowalnym wzmocnieniu Pierwsze dwa ustawiajÄ… wzmoc- wystÍpuje konflikt adresÛw PGA103 (US5). Przetwornik US1 nienie wzmacniacza wyjÅ›ciowego z innymi urzÄ…dzeniami. jest odczytywany co 100 ms, zgodnie z tabelÄ… 2, natomiast B4 W tym momencie nie moÅ‚na a odczytywana wartośĘ jest wy- i B5 ustawiajÄ… zakresy przetwarza- jednak mieĘ pewnoÅ›ci czy prze- Å›wietlana w centralnej czÍÅ›ci ok- nia zgodnie z tabelÄ… 1. Znaczenie twornik AD7569 (US1) dziaÅ‚a pra- na (rys. 11). tych bitÛw byÅ‚o przedstawione widÅ‚owo. Aby siÍ o tym przeko- Karta, ktÛra pomyÅ›lnie prze- w pierwszej czÍÅ›ci artykuÅ‚u. Na naĘ moÅ‚na skorzystaĘ z programu jdzie wyÅ‚ej wymienione prÛby, listingu 1 zostaÅ‚a przedstawiona TEST_444 znajdujÄ…cego siÍ na jest sprawna. procedura reagujÄ…ca na zmianÍ dyskietce doÅ‚Ä…czanej do kitu. Pro- przycisku typu RadioButton gram ten pracuje pod kontrolÄ… PrzestrzeÒ adresowa w grupie przyciskÛw o nazwie Ra- Windows 95 i zawiera dwie za- Komunikacja z kartÄ… odbywa dioGroupWzmocnienie. Pod na- kÅ‚adki: siÍ poprzez dwa 8-bitowe porty zwÄ… Kbyte jest ukryty rejestr - do karty pracujÄ…cej jako prze- o adresach 31Eh i 31Fh. Pierwszy kontrolny. Procedura zostaÅ‚a twornik CA (rys. 10); z nich jest portem danych. Po- skompilowana przy pomocy kom- - do karty pracujÄ…cej jako prze- przez ten port odbywa siÍ odczyt pilatora Delphi firmy Borland, twornik AC (rys. 11). zmierzonych wartoÅ›ci z przetwor- a jej efektem jest zmiana wartoÅ›ci W pierwszym trybie, w central- nika AC oraz zapis wartoÅ›ci do wzmocnienia wzmacniacza wy- nej czÍÅ›ci okna programu jest przetwornika CA. NaleÅ‚y pamiÍ- jÅ›ciowego. AnalogicznÄ… procedurÍ umieszczony pionowy pasek prze- taĘ, Å‚e dla zakresÛw unipolarnych moÅ‚na napisaĘ do obsÅ‚ugi zdarze- wijania. PrzesuniÍcie tego paska dane sÄ… zapisywane/odczytywane nia zmiany zakresu przetwarza- powoduje zmianÍ napiÍcia na wy- w naturalnym kodzie binarnym nia. jÅ›ciu przetwornika. Po doÅ‚Ä…czeniu (NKB), a dla zakresÛw bipolar- OprÛcz dwÛch wymienionych do tego wyjÅ›cia woltomierza po- nych w kodzie uzupeÅ‚nieÒ do portÛw, do pracy karty jest nie- winien on mierzyĘ napiÍcie o war- dwÛch (U2). Drugi port jest re- zbÍdne zarezerwowanie portu toÅ›ci zgodnej z wyÅ›wietlanÄ… obok jestrem sterujÄ…cym pracÄ… karty. o adresie 31Dh. Port ten jest wy- paska przewijania wartoÅ›ciÄ… na- Podczas odczytu tego portu jedy- korzystywany przy odczycie war- piÍcia. Dodatkowo moÅ‚na zmie- nie bit piÄ…ty jest istotny. JeÅ‚eli toÅ›ci zmierzonej z przetwornika. niaĘ zakres napiÍĘ wyjÅ›ciowych jest on rÛwny ì0î, to przetwornik Przed kaÅ‚dym odczytaniem war- przeÅ‚Ä…czajÄ…c przycisk w grupie Za- zakoÒczyÅ‚ przetwarza- kres przetwarzania. Przy przeÅ‚Ä…- nie i moÅ‚na odczytaĘ Listing 1. czaniu pomiÍdzy napiÍciami uni- wynik pomiaru z por- procedure ZmianaWzmocnienia; polarnymi i bipolarnymi powinno tu danych. Podczas za- begin byĘ sÅ‚yszalne przeÅ‚Ä…czanie stykÛw pisu do rejestru steru- case RadioGroupWzmocnienie.ItemIndex of przekaünika. jÄ…cego sÄ… wykorzysta- 0 : {wzmocnienie 1/1 V } begin KByte := KByte and $f3; { 0 na D2 i D3 } end; { 1/1 V } 1 : {wzmocnienie 1/10 V } begin KByte := KByte and $f3; { 0 na D2 i D3 } KByte := KByte or $0b; { 0 na D2 i 1 na D3 } end; { 1/10 V } 2 : {wzmocnienie 1/100 V } begin KByte := KByte and $f3; { 0 na D2 i D3 } KByte := KByte or $07; { 1 na D2 i 0 na D3 } end; { 1/100 V } end; {case } asm { wysÅ‚anie bajtu kontrolnego } mov dx,Kport mov al,Kbyte out dx,al. end; { asm } Rys. 10. WyglÄ…d ekranu programu testowego 444_TEST - end; { zmiana wzmocnienia } zakÅ‚adka przetwornika CA. Elektronika Praktyczna 5/98 64 8-bitowy przetwornik A/C i C/A do PC Fragment programu odczytujÄ…- wczeÅ›niej, komponenty umoÅ‚li- Listing 2. cego wartośĘ zmierzonÄ… z prze- wiajÄ…ce zmianÍ zakresu przetwa- procedure ScrollBar1Change; twornika moÅ‚e wyglÄ…daĘ nastÍpu- rzania oraz wzmocnienia. W cen- begin jÄ…co: tralnej czÍÅ›ci jest umieszczone Dana := ScrollBar1.Position; mov dx,31dh rozwijane menu sÅ‚uÅ‚Ä…ce do wy- asm out dx,al. boru czÍstotliwoÅ›ci prÛbkowania. mov dx,DPort mov al,Dana ; zapis przypadkowej Do wyboru sÄ… nastÍpujÄ…ce wartoÅ›- out dx,al ; wartoÅ›ci do portu 31Dh ci: end; { asm } mov dx,Port - 0,01 Hz; end; { zmiana napiÄ™cia na wyjÅ›ciu CA } ; 31Eh lub 31Fh - 0,02 Hz; in al,dx - 0,05 Hz; toÅ›ci z przetwornika naleÅ‚y doko- ; odczyt portu - 0,1 Hz; naĘ wpisania dowolnej wartoÅ›ci mov Dana,al - 0,2 Hz; pod ten adres. ; dana 8-bitowa - 0,5 Hz; Na listingu 3 zostaÅ‚a przedsta- - 1 Hz; Zapis i odczyt rejestrÛw wiona procedura odczytujÄ…ca po- - 2 Hz; Zapis do portu danych prze- miar z przetwornika. ProcedurÍ tÄ… - 5 Hz; twornika i do rejestru sterujÄ…cego moÅ‚na uÅ‚ywaĘ do obsÅ‚ugi zdarze- - 10 Hz; odbywa siÍ w standardowy spo- nia OnTimer (wystÍpujÄ…cego co - 20 Hz; sÛb. Fragment programu w asem- zadanÄ… liczbÍ milisekund) kompo- - 50 Hz; blerze dokonujÄ…cego zapisu do nentu Timer lub moÅ‚na jÄ… wywo- - 100 Hz; portu jest umieszczony poniÅ‚ej: Å‚ywaĘ po naciÅ›niÍciu przycisku. - 200 Hz; ; zapis do portu karty WartośĘ odczytana z przetwornika - 500 Hz; mov dx,Port jest zapisywana w zmiennej Dana. - 1 kHz; ; 31Eh lub 31Fh - 2 kHz; mov al,Dana Program AVT444 - 5 kHz; ; dana 8-bitowa Dyskietka doÅ‚Ä…czana do pÅ‚ytki - 10 kHz; out dx,al. (AVT-444A) i kitu (AVT-444B) za- - 20 kHz; ; zapis do portu wiera, oprÛcz programu PTEST - 50 kHz; Na listingu 2 zostaÅ‚a przedsta- i 444_TEST, program o nazwie - 100 kHz. wiona procedura obsÅ‚ugujÄ…ca zda- AVT444. Jest to przykÅ‚adowa ap- Z prawej strony znajduje siÍ rzenie zmiany pozycji na kompo- likacja umoÅ‚liwiajÄ…ca wykorzysta- przyciski: OtwÛrz, Start/Stop, Za- nencie typu ScrollBar. Aby proce- nia karty przetwornika AC i CA pisz, Drukuj, Koniec. Po wciÅ›niÍ- dura dziaÅ‚aÅ‚a poprawnie naleÅ‚y jako prostego oscyloskopu z gene- ciu przycisku OtwÛrz jest moÅ‚li- ustawiĘ, dla ScrollBar1, wartoÅ›ci ratorem funkcyjnym. Program we wczytanie z dysku pliku z da- wÅ‚aÅ›ciwoÅ›ci Min i Max odpowied- AVT444, podobnie jak program nymi pomiarowymi. Dane te moÅ‚- nio na 0 i 255. Przy takich zaÅ‚o- testujÄ…cy, ma dwie zakÅ‚adki, dziÍ- na przeglÄ…daĘ lub drukowaĘ (przy- Å‚eniach przesuniÍcie paska bÍdzie ki ktÛrym jest moÅ‚liwe przeÅ‚Ä…cza- cisk Drukuj). Przycisk Zapisz powodowaÅ‚o zmianÍ napiÍcia wy- nie pomiÍdzy oscyloskopem a ge- umoÅ‚liwia zapisanie danych zare- jÅ›ciowego przetwornika CA. Nale- neratorem. jestrowanych przez przetwornik Å‚y zwrÛciĘ uwagÍ, Å‚e przytoczona Na rys. 12 pokazano wyglÄ…d na dysk. Przycisk Start/Stop procedura jest uproszczona, gdyÅ‚ okna oscyloskopu (przetwornik umoÅ‚liwia wÅ‚Ä…czenie/wyÅ‚Ä…czenie nie uwzglÍdnia faktu, Å‚e dla na- AC). W gÛrnej czÍÅ›ci okna jest rejestrowania danych. Dane te piÍĘ bipolarnych bajt danych po- wyÅ›wietlany wykres czasowy. Po- moÅ‚na pÛüniej przeglÄ…daĘ (posÅ‚u- winien byĘ zapisany w kodzie U2. niÅ‚ej wykresu jest umieszczony gujÄ…c siÍ poziomym paskiem prze- poziomy pasek wijania), nagraĘ na dysk, lub przewijania, wydrukowaĘ. Po naciÅ›niÍciu przy- ktÛry umoÅ‚li- cisku Koniec praca programu zo- wia przeglÄ…da- staje zakoÒczona. nie zarejestro- Na rys. 13 pokazano wyglÄ…d wanego w pa- okna generatora (przetwornik CA). miÍci kompu- W gÛrnej czÍÅ›ci okna jest wy- tera lub od- Å›wietlany wykres czasowy, poka- czytanego z dysku, wy- kresu pomia- Listing 3. rowego. Dolna procedure TimerTick; czÍśĘ okna za- begin asm wiera przycis- mov dx,$31d out dx,al ki sterujÄ…ce mov dx,DPort pracÄ… karty. in al,dx mov Dana,al Z lewej strony end; sÄ… umieszczo- Rys. 12. WyglÄ…d ekranu przykÅ‚adowego programu end; { Timer tick } ne, opisane AVT444 - zakÅ‚adka przetwornika AC. Elektronika Praktyczna 5/98 65 8-bitowy przetwornik A/C i C/A do PC zujÄ…cy przebieg, generowany przez m o Å‚ l i w e kartÍ przetwornika. Dolna czÍśĘ wygenerowanie okna zawiera elementy umoÅ‚li- przebiegu wiajÄ…ce sterowanie pracÄ… karty. opisanego Z lewej strony sÄ… umieszczone danymi z cztery przyciski, ktÛrymi moÅ‚na pliku wej- wybraĘ rodzaj sygnaÅ‚u na wyjÅ›ciu Å›ciowego przy przetwornika. Do wyboru mamy: zadanej czÍs- - napiÍcie staÅ‚e; totliwoÅ›ci. - przebieg prostokÄ…tny; JeÅ‚eli nie - przebieg sinusoidalny; bÍdzie to moÅ‚- - przebieg wg wzorca wczytanego liwe, zostanie z pliku. wyÅ›wietlony Po wybraniu pierwszego przy- odpowiedni cisku na wyjÅ›ciu przetwornika komunikat, w pojawia siÍ napiÍcie staÅ‚e o war- ktÛrym bÍdzie toÅ›ci regulowanej pionowym pas- p o d a n a Rys. 12. WyglÄ…d ekranu przykÅ‚adowego programu kiem przewijania z centralnej maksymalna AVT444 - zakÅ‚adka przetwornika CA. czÍÅ›ci okna. Przebiegi: prostokÄ…t- czÍstotliwośĘ, ny i sinusoidalny, nie wymagajÄ… z jakÄ… zadany przebieg moÅ‚na ty. Przy tak bogatych moÅ‚liwoÅ›- omÛwienia. CiekawÄ… wÅ‚aÅ›ciwoÅ›ciÄ… generowaĘ. ciach, jakie posiada omawiana programu jest czwarta moÅ‚liwośĘ, W centralnej czÍÅ›ci, oprÛcz karta, moÅ‚e ona znaleüĘ zastoso- czyli generowanie sygnaÅ‚u zgod- wspomnianego juÅ‚ paska do usta- wanie w nieskoÒczonej liczbie ap- nie z wzorcem uÅ‚ytkownika. Wzo- wiania napiÍcia staÅ‚ego, znajduje likacji. PrzykÅ‚adem moÅ‚e byĘ sys- rzec ten jest wczytywany po siÍ grupa przyciskÛw typu Radio- tem nadzorujÄ…cy jakiÅ› proces, naciÅ›niÍciu przycisku OtwÛrz, zna- Button umoÅ‚liwiajÄ…ca zmianÍ za- ktÛry monitoruje sygnaÅ‚ wejÅ›cio- jdujÄ…cego siÍ z prawej strony. Plik kresu przetwarzania. W centralnej wy (przetwornik AC) i po prze- taki moÅ‚na stworzyĘ za pomocÄ… czÍÅ›ci jest umieszczone rozwijane kroczeniu pewnej wartoÅ›ci gene- dowolnego edytora tekstu. Plik menu sÅ‚uÅ‚Ä…ce do wyboru czÍstot- ruje sygnaÅ‚ alarmowy (przetwor- tego typu musi speÅ‚niaĘ nastÍpu- liwoÅ›ci prÛbkowania (wartoÅ›ci nik CA). Karta moÅ‚e rÛwnieÅ‚ jÄ…ce warunki: czÍstotliwoÅ›ci prÛbkowania sÄ… ta- pracowaĘ jako oscyloskop dla - maksymalna dÅ‚ugośĘ pliku z kie same, jak dla przetwornika czÍstotliwoÅ›ci akustycznych, lub danymi: 5000 bajtÛw; AC). Z prawej strony znajdujÄ… siÍ jako ürÛdÅ‚o sygnaÅ‚u zegarowego. - dane muszÄ… byĘ zapisane w przyciski o znaczeniu analogicz- Przy konstruowaniu przystawek formacie heksadecymalnym; nym, jak dla przetwornika AC. wykonawczych naleÅ‚y pamiÍtaĘ, - w kaÅ‚dym wierszu moÅ‚e byĘ Å‚e ukÅ‚ad OPA633 (US4) nie jest podana tylko jedna wartośĘ. Podane wyÅ‚ej informacje sÄ… zabezpieczony przed przeciÄ…Å‚e- Po wczytaniu pliku z danymi, wystarczajÄ…ce, aby samodzielnie niem. program sprawdza czy jest stworzyĘ oprogramowanie do kar- PaweÅ‚ ZbysiÅ„ski Elektronika Praktyczna 5/98 66