Paměťový osciloskop z PC nejen pro fyzikální praktikum.
Spojení počítače se vstupně-výstupními moduly představuje výrazné rozšíření jeho aplikačních možností. Čidlo-převodník-počítač, to je standardní uspořádaní pro stále častěji se objevující řešení počítačového měření a následného zpracování různých fyzikálních velčin. Příspěvek se zabývá co nejjednodušší konstrukcí paměťového osciloskopu, řešeného jako A/D převodník připojený k paralelnímu portu počítače PC. Popisované zařízení slouží jako paměťový osciloskop pro načítání střídavého signálu o maximální frekvenci 20 kHz a amplitudě 1–100 mV.
Popis zapojení.
Celý modul paměťového osciloskopu byl navržen tak, aby jej bylo možno napájet školním zdrojem BK 126, tedy napětími ±12 V a +5 V. Modul lze rozdělit na dvě základní funkční části. První částí je vstupní zesilovač, který zesiluje vstupní signál na potřebnou úroveň A/D převodníku (viz schéma). Na vstupu zesilovače je oddělovací kondenzátor C1. Oddělená střídavá složka vstupního signálu je zesílena operačním zesilovačem OZ I. Zesílení prvního stupně lze měnit velikostí odporu záporné zpětné vazby R4. Další část vstupního zesilovače je tvořena druhým operačním zesilovačem OZ II, který je zapojen jako dolní frekvenční propust (kritická frekvence dána R7 a C2). Pomocí rezistoru R9 nastavujeme offset výstupního signálu. Ke stavbě vstupního zesilovače dostatečně postačil dvojitý operační zesilovač LM747, napájený symetrickým napětím ±12 V. Zesílený výstupní signál má tedy maximální amplitudu přibližně 11 V.
Druhou část modulu paměťového osciloskopu tvoří A/D převodník. V zapojení byl použit 8-bitový paralelní převodník ZN449 (nebo ZN448). Tomuto převodníku zatím nebylo věnováno mnoho příspěvků, proto si zde dovolím uvést alespoň stručný popis. Pro ty, kteří se o obvodu chtějí dozvědět více, odkazuji na [1].
Popis A/D převodníku ZN449.
Odvod ZN449 (resp. ZN448) je osmibitový paralelní převodník pracující metodou postupné aproximace. Obvod je napájen napětím +5 V. Všechny jeho vstupně-výstupní signály jsou TTL kompatibilní, což umožnilo připojit jej k paralelnímu portu počítače PC. Obvod má vlastní zdroj referenčního napětí 2.55 V nebo lze použít vnější zdroj referenčního napětí. Zdroj hodinové frekvence lze také použít vnitřní nebo vnější. Linearita převodníku ZN449 je 1 LSB (u převodníku ZN448 je 0.5 LSB). Obvod se velmi podobá staršímu obvodu ZN427 nebo i ještě staršímu hybidnímu převodníku WSH570. Převodník ZN449 lze použít pro unipolární i bipolární převod (blíže opět v [1]). Všechny parametry včetně rychlosti převodu (9 μs) a ceny (nižší než 200 Kč) z něho činí obvod, který si zaslouží pozornost.
Převodník ZN449 má dva vstupní řídicí signály (RD a WR) a jeden výstupní stavový (BUSY). Osm výstupních datových linek je zakončeno třístavovým buffrem. Je-li signál RD na úrovni logické 1, jsou datové výstupy ve třetím stavu, při logické 0 představují převedenou hodnotu v binární podobě. Převod je startován sestupným pulzem na vstupu WR. V průběhu převodu nastaví převodník signál BUSY na log. 0, po ukončení převodu zpět na hodnotu na log. 1. Převedená hodnota zůstává na výstupech do startu dalšího převodu. Průběhy řídicích signálů vidíme na obr č.2.
Zapojení ZN 449 v modulu osciloskopu.
V modulu paměťového osciloskopu je obvod zapojen s využitím vnitřní reference (UREF=2,55 V) a vnitřním zdrojem hodinové frekvence, která je stanovena kondenzátorem C3 (v našem případě 120 pF odpovídá frekvenci 0,8 MHz). Obvod je zapojen pro bipolární převod vstupního napětí (dle [1]). Je použita vnitřní napěťová reference, proto je vývod 8 propojen s vývodem 7. Rezistor R15 stanovuje proud 6.4 mA protékající Zenerovou diodou vnitřního zdroje referenčního napětí. Paralelně ktomuto zdroji referenčního napětí je připojen stabilizační kondenzátor C4 (cca 5 μF). Odporový dělič na vstupu převodníku (R10– R13) a rezistor R14 mezi analogovým vstupem obvodu 6 a referenčním napětím 8 jsou stanoveny pro bipolární převod podle následujících vzorců (viz [1]):
Celý dělič je sestaven z pevných rezistorů (R10 a R13) a víceotáčkových trimrů (R11 a R12), které slouží k prvotnímu nastavení převodníku (max. a min. hodnota). Rezistor R17 (180 kΩ, připojený k zápornému napětí a vývodu 5, určuje proud 25-150 μA pro komparátor převodníku. Rezistor R16 mezi napájecím napětím a vývodem 2 (RD) slouží k držení tohoto vstupu na úrovni log. 1, tím jsou drženy datové výstupy ve třetím stavu, dokud si počítač data nevyžádá.
Připojení modulu k počítači PC.
Hlavní ideou návrhu a stavby celého zařízení bylo vytvoření modulu připojitelného k počítači PC bez jakéhokoliv hardwarového zásahu. Díky dříve zmíněnému byl nakonec zvolen pro připojení oboustranný paralelní tiskárnový port. Jedinou hardwarovou podmínkou je to, aby paralelní port počítače umožňoval oboustrannou komunikaci po datových linkách. Z hlediska nastavení počítače se jedná o volbu „Bi-directional parallel port“ v SETUPu počítače (pokud je paralelní port přímo zaintegrován v základní desce počítače) nebo o nastavení této volby na desce příslušného řadiče (pokud to lze - musí být na desce k tomu určený swich či jumper). Z hlediska programové obsluhy se tato modifikace projevuje jen jediným bitem v řídicím registru paralelního portu (pátý bit), který v původním programovém modelu nebyl využit. Je-li nastaven na log. 0, datové linky jsou jen výstupní, při opačné hodnotě jsou obousměrné. [2]
Hardwarové připojení a tedy i následný komunikační protokol byly zvoleny následujícím způsobem: Datové výstupy A/D převodníku byly připojeny k datovým vodičům obousměrného paralelního portu, řídicí signály převodníku k řídicím vodičům portu (viz obr. 1 či 2).
Softwarové ovládání převodníku. [3,4,5,6]
Modul osciloskopu je ovládán podle již zobrazeného časového diagramu řídicích signálů (obr.–2). Bude-li modul připojen k prvnímu paralelnímu portu, budeme jej řídit pomocí registrů $378–$37A.
Pro načítání experimentálních hodnot v pravidelných časových intervalech (30 μs) jsem zvolil metodu přestavení rychlosti systémového časovače a nahrazení rutiny přerušení č. 8. Připojený ukázkový program představuje procedury a funkce pro ovládání modulu. V hlavním programu je jen načteno 5000 vzorků v pravidelných intervalech (30.02 μs), které poté nalezneme v poli ExpHodnota. Program pro následné zpracování a vykreslení těchto hodnot již záleží na konkrétním požadavku uživatele.
Závěr
Cílem popisované konstrukce není snaha konkurovat profesionálním zařízením. Spíše jsem chtěl představit jedno z mnoha možných využití levného a na našem trhu dostupného A/D převodníku, který lze bez velkých problémů připojit k paralelnímu portu PC. Modul je využit jako paměťový osciloskop ve studentském fyzikálním praktiku pro sledování, měření a zpracování rychle se měnících fyzikáních veličin. Převodník lze použít i pro jiná načítání a uchování analogových signálů např. digitalizaci zvuku. Předkládané zapojení dobře vyhoví řadě použití v laboratoři, při výuce ve škole či „jen tak“ doma.
Návrh a osazení DPS.
Výpis demonstračního programu:
Řídicí program vytvořený v programovacím jazyku Borland Pascal si můžete stáhnout a upravit pro své vlastní aplikace.
Autor článku: Miroslav Panoš
Literatura:
[1] | kol. autorů: ZN448/ZN449 - 8-bit microprocessor compatible A/D converter, GEC Plessey Semiconductors 1994, Publication No. DS3013 Issue No. 2.2, February 1994 |
[2] | Šnorek M., Richta K.: Připojování periférií k PC, GRADA Publishing, Praha 1996 |
[3] | Kadlec Z.: Průvodce nitrem BIOSu, GRADA Publishing, Praha1996 |
[4] | Zápalka J.: Anatomie IBM PC, GRADA Publishing, Praha1993 |
[5] | Panoš S.: Vstupní a výstupní komunikace počítače PC, dipl. práce MFF UK, Praha 1996 |
[6] | příspěvky k hardwarové problematice počítačů PC na internetových stránkách WeboPaedia a Hardware World. |