Számítógép-vezérelt potenciosztát bemeneti fokozatának építése speciális és rutinszerű elektrokémiai mérésekhez

Hasonló dokumentumok
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar. Témavezető: Tihanyi Attila Külső konzulens: Vesztergom Soma

Nagy Gergely április 4.

2. Elméleti összefoglaló

D/A konverter statikus hibáinak mérése

Az interrupt Benesóczky Zoltán 2004

A/D és D/A konverterek vezérlése számítógéppel

Villamos jelek mintavételezése, feldolgozása. LabVIEW 7.1

Programozási segédlet DS89C450 Fejlesztőpanelhez

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

BEMENETI FOKOZAT ÉPÍTÉSE SZÁMÍTÓGÉP-

USB adatgyűjtő eszközök és programozásuk Mérő- és adatgyűjtő rendszerek

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

Az operációs rendszer szerkezete, szolgáltatásai

Analóg-digitális átalakítás. Rencz Márta/ Ress S. Elektronikus Eszközök Tanszék

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD

Villamos jelek mintavételezése, feldolgozása. LabVIEW előadás

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Analóg-digitál átalakítók (A/D konverterek)

Iványi László ARM programozás. Szabó Béla 6. Óra ADC és DAC elmélete és használata

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Elektronika laboratóriumi mérőpanel elab panel NEM VÉGLEGES VÁLTOZAT! Óbudai Egyetem

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Számítógépek felépítése, alapfogalmak

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Mérési jegyzőkönyv. az ötödik méréshez

Digitális technika (VIMIAA01) Laboratórium 9

Roger UT-2. Kommunikációs interfész V3.0

Új kompakt X20 vezérlő integrált I/O pontokkal

XII. PÁRHUZAMOS ÉS A SOROS ADATÁTVITEL

A/D és D/A átalakítók gyakorlat

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

ÖNÁLLÓ LABOR Mérésadatgyűjtő rendszer tervezése és implementációja

Számítógép Architektúrák

Mintavételezés tanulmányozása. AD - konverzió. Soros kommunikáció

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Yottacontrol I/O modulok beállítási segédlet

Digitális technika (VIMIAA01) Laboratórium 9

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz

Digitális rendszerek. Digitális logika szintje

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

Számítógép felépítése

OPERÁCIÓS RENDSZEREK. Elmélet

PWM elve, mikroszervó motor vezérlése MiniRISC processzoron

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

Programozó- készülék Kezelőkozol RT óra (pl. PC) Digitális bemenetek ROM memória Digitális kimenetek RAM memória Analóg bemenet Analóg kimenet

Bepillantás a gépházba

Villamos jelek mintavételezése, feldolgozása. Mérésadatgyűjtés, jelfeldolgozás 9. előadás

Kommunikáció az EuroProt-IED multifunkcionális készülékekkel

Mérés, Vezérlés. mérésadat rögzítés CMC - 99 CMC kis és nagytestvér

IoT alapú mezőgazdasági adatgyűjtő prototípus fejlesztési tapasztalatok

Az I2C egy soros, 8 bit-es, kétirányú kommunikációs protokoll, amelynek sebessége normál üzemmódban 100kbit/s, gyors üzemmódban 400kbit/s.

Mérési jegyzőkönyv a 5. mérés A/D és D/A átalakító vizsgálata című laboratóriumi gyakorlatról

X. ANALÓG JELEK ILLESZTÉSE DIGITÁLIS ESZKÖZÖKHÖZ

Digitális tárolós oszcilloszkópok

Első sor az érdekes, IBM PC ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat

I 2 C, RS-232 és USB. Informatikai eszközök fizikai alapjai. Oláh Tamás István

Labor gyakorlat Mikrovezérlők

Mûveleti erõsítõk I.

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Mechatronika és mikroszámítógépek. 2016/2017 I. félév. Analóg-digitális átalakítás ADC, DAC

Jelfeldolgozás a közlekedésben. 2017/2018 II. félév. Analóg-digitális átalakítás ADC, DAC

Analóg elektronika - laboratóriumi gyakorlatok

Multi-20 modul. Felhasználói dokumentáció 1.1. Készítette: Parrag László. Jóváhagyta: Rubin Informatikai Zrt.

LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ november 8. Verzió

BEÁGYAZOTT RENDSZEREK TERVEZÉSE UDP csomag küldése és fogadása beágyazott rendszerrel példa

AGSMHÁLÓZATA TOVÁBBFEJLESZTÉSE A NAGYOBB

TM TM TM-77203

Autóipari beágyazott rendszerek CAN hardver

MaxiCont. MOM690 Mikroohm mérő

USB. Az USB. Írta: Luli Zoltán Gyızı Szak: mérnök-informatikus EHA: LUZOABT.SZE Dátum: /5

Digitális eszközök típusai

A mikroprocesszor felépítése és működése

SZENZORMODUL ILLESZTÉSE LEGO NXT PLATFORMHOZ. Készítette: Horváth András MSc Önálló laboratórium 2 Konzulens: Orosz György

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Labor gyakorlat Mikrovezérlők

Mintavételes szabályozás mikrovezérlő segítségével

Irányítástechnika Elıadás. PLC rendszerek konfigurálása

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Billentyűzet. Csatlakozók: A billentyűzetet kétféle csatlakozóval szerelhetik. 5 pólusú DIN (AT vagy XT billentyűzet csatlakozó),

Digitális technika VIMIAA01 9. hét

elektronikus adattárolást memóriacím

Architektúra, megszakítási rendszerek

A Számítógépek hardver elemei

Számítógép Architektúrák

A számítógép fő részei

Számítógépes hálózatok

Mikrorendszerek tervezése

Mikrorendszerek tervezése

Fizikai mérések Arduino-val

2. rész PC alapú mérőrendszer esetén hogyan történhet az adatok kezelése? Írjon pár 2-2 jellemző is az egyes esetekhez.

MPLC-06-MIO 1 analóg és 3 digitális bemeneti állapotot átjelző interfész. Műszaki leírás

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

RUBICON Serial IO kártya

PCS-1000I Szigetelt kimenetű nagy pontosságú áram sönt mérő

WAGO PLC-vel vezérelt hő- és füstelvezetés

Átírás:

Számítógép-vezérelt potenciosztát bemeneti fokozatának építése speciális és rutinszerű elektrokémiai mérésekhez Mérnöki tervezés beszámoló Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Mérnök Informatikus MSc Vinis Ádám Lajos Témavezető: Tihanyi Attila Külső konzulens: Vesztergom Soma 2011.

Tartalomjegyzék Ábrajegyzék...3 1. Absztrakt...4 2. Potenciosztát...6 2.1. Nagysebességű jel digitalizálása...9 2.2. Rendszerterv... 10 3. Mintavételezés... 12 3.1. Mintavételezés számítógépen... 12 3.2. Mintavételezés saját eszközön... 14 3.2.1. USB kapcsolat... 14 3.2.2. Microchip PIC 32 mikrokontroller... 16 4. Adatátvitel a mikrokontroller és az A/D átalakító között... 21 4.1. SPI Serial Peripherial Interface... 21 4.2. A/D átalakító kiválasztása... 24 5. A mikrokontroller sebesség vizsgálata... 25 5.1. Polling és interrupt... 25 5.2. DMA... 28 5.3. FPGA... 30 5.4. Következtetés... 31 6. Összefoglalás és kitekintés... 32 Irodalomjegyzék... 33 2

Ábrajegyzék 1. ábra A komplett mérőrendszer terve...5 2. ábra Standard háromelektródos cella...7 3. ábra Piacon kapható potenciosztátok...8 4. ábra A/D konverter...9 5. ábra - Kezdeti rendszerterv... 11 6. ábra Egy kereskedelmi forgalomban kapható hangkártya... 13 7. ábra USB driver... 15 8. ábra PIC32MX795F512L mikrokontroller... 17 9. ábra PIC32 mikrokontroller a fejlesztőkártyán... 18 10. ábra A választott PIC32 mikrokontroller paraméterei... 19 11. ábra A bejövő adatforgalom sebességének tesztelésére írt LabVIEW program... 20 12. ábra SPI kommunikáció... 22 13. ábra Az SPIx modulok blokkvázlata... 23 14. ábra Az LTC1865ACMS A/D konverter főbb adatai... 24 15. ábra Interrupt prologue... 27 16. ábra Interrupt epilogue... 27 17. ábra A kialakult megvalósítási terv... 32 3

1. Absztrakt Elektrokémiai mérésekkel az ipar, a környezetvédelem és a korrózióvédelem számos területén találkozhatunk. Az elektrokémiai méréseket kisméretű, egyszerű műszerek segítségével könnyen, gyorsan és olcsón el lehet végezni. Az elektrokémiai mérések egyik legalapvetőbb, legáltalánosabb, gyakorlatilag primer műszere a potenciosztát. Ilyen eszköz szinte minden elektronikai mérőeszközt gyártó vállalatnál fellelhető. A piacon is kapható potenciosztát segítségével az elektrokémiai vizsgálatok, alapkutatások alapvető kísérleteit könnyedén elvégezhetjük. Ezeket a méréseket kezdetben analóg műszerekkel végezték, amelyet mára felváltottak a digitális műszerek. A digitalizált mérésnek köszönhetően ahol a műszert összekapcsolták egy személyi számítógéppel egyszerűen szoftveresen megoldott a mérés vezérlése és az adatok gyűjtése, megjelenítése a számítógépen. Az így elvégzett mérések alkalmasak az iparban, a gyakorlatban alkalmazott elektrokémiai mérések elvégzéséhez. Ez azonban gyakran nem elegendő, ha már az alapkutatáshoz szeretnénk felhasználni egy gyártótól rendelt potenciosztátot. A potenciosztát és az azt vezérlő szoftver már nem elégíti ki az alapkutatásokat végző kísérletező elektrokémikus igényeit. Ugyanis az alapkutatások feltétele, hogy a mérőeszköz ne csak valamely ismert kísérleti technikával történő mérés elvégzésére legyen alkalmas, hanem újszerű mérések elvégzéséhez, új méréséi módszerek kidolgozásához is alkalmazható legyen. Ezt azonban a legtöbb gyártó nem veszi figyelembe, így az eszközeik, csak a standard, ismert alapmérések elvégzéséhez alkalmazhatók. Ezen megszorítások következhetnek hardveres és szoftveres korlátokból, korlátozásokból is. Az ELTE Elektrokémiai és Elektroanalitikai Laboratóriumában történt fejlesztések ezeket a megszorításokat igyekeztek feloldani az elmúlt évek során. Főként szoftveres fejlesztések történtek, amelynek célja egy olyan mérőrendszer kiépítése volt, amely eleget tesz az alapkutatások nyújtotta követelményeknek. Ilyen fontos követelmény, hogy az elektrokémiai rendszert hosszú idejű jelekkel perturbálva tudjuk vizsgálni. Tovább, hogy az ilyen mérések eredményeit a számítógépen tárolni, majd később feldolgozni lehessen. Az ELTE-n LabVIEW fejlesztői környezetben készült szoftver a National Instruments PCI-6014-es és PCI-4461 adatgyűjtő kártyáit használja régebbi, és újabb típusú piacon kapható potenciosztátok vezérléséhez. E fejlesztésnek köszönhetően új tudományos eredmények is születtek. Az alapkutatásokhoz azonban nem elegendőek az ismert pl. háromszögjel, négyszögjel, fűrészfogjel kimenetek, amelyeket a potenciosztát kimenetére tudunk kapcsolni. 4

Szeretnénk saját egyedileg zárt matematikai formában definiált függvényeket is a kimenetre helyezni. Elérkeztünk, tehát az igényhez, amely a meglévő LabVIEW szoftverrel vezérelhető saját potenciosztát építése. A műszerfejlesztési munka az Eötvös Lóránd Tudományegyetem Kémiai Intézete Elektrokémiai és Elektroanalitikai Laboratóriumának kezdeményezésére kezdődött el. A külső konzulensem Vesztergom Soma az Elektrokémiai és Elektroanalitikai Laboratóriumának PhD hallgatója. A jelenleg is folyó LabVIEW-s szoftver fejlesztését teljes egészében az ELTE Elektrokémiai és Elektroanalitikai laboratóriuma végzi. A műszerfejlesztés mérnöki mivolta miatt kapcsolódott be a munkába a PPKE-ITK Elektronikus Mérőlaborja Tihanyi Attila tanár úr konzulensi vezetésével. A munkát Taróczy-Tóth Zsigmond diáktársam kezdte meg a tavalyi évben, amikor is önálló laboratórium dolgozat keretében kezdett foglalkozni a témával. Én a mérnöki tervezés feladatválasztáskor kapcsolódtam be a munkába. Zsigmond foglalkozott az USB kapcsolat kiépítésével a fejlesztendő eszköz és a számítógép között, illetve a kimeneti fokozat építésével, azaz a számítógép generált jelek eszközre való küldésével. Az én feladatom pedig a bemeneti fokozat fejlesztése, azaz a mért adatok A/D konverziója és átküldése a számítógépre. A végső cél az 1. ábrán látható működőképes mérőrendszer kiépítése. Ezen munkálatok egy fejezetével, az analóg-digitális konverzióval, és a jelek számítógépre való továbbításával foglalkozik ez a dolgozat. 1. ábra A komplett mérőrendszer terve 5

2. Potenciosztát A potenciosztát egy olyan műszer, ami nem mindennap kerül elő az mérnök informatikai, sőt még a villamosmérnöki gyakorlatban sem. A potenciosztát az elektrokémiában használt mérőműszer. Az ELTE Elektrokémiai és Elektroanalitikai laboratóriumában például elektrokémiai kutatásokhoz használt eszköz. Az eszköz azon méréseknek primer műszere, ahol egy első fajú vezető (jellemzően egy fémdarab) és egy másodfajú vezető (jellemzően egy elektrolitos oldat) fázis határfelületén végbemenő reakció (úgynevezett elektródreakció) kinetikáját tanulmányozzák [1]. A potenciosztát tehát egy elektromos eszköz, melynek feladata egy 3 elektródos cella vezérlése és elektroanalitikai kísérletek futtatása. Felhasználva a 3 elektródos rendszert vizsgálhatjuk a reakciómechanizmust különféle elektrokémiai jelenségeknél. A bipotenciosztát és a polypotenciosztát olyan potenciosztát, amelyek képesek kettő, illetve több munkaelektródot vezérelni. A mi rendszerünk esetében csak egy munkaelektróddal dolgozunk. A három elektród a munkaelektród, referenciaelektród és a segédelektród. Az elsőfajú vezető a vizsgálat szempontjából lényeges munkaelektród. Ezen elektród referencia elektróddal szemben értelmezett potenciáljának beállítását és az ehhez szükséges áramerősség mérését végezzük a potenciosztáttal. Ezeknek a fizikai mennyiségeknek, tehát a beállított feszültség és a mért áramerősség értékének nagyságából következtethetünk a lejátszódó folyamat kinetikájára. A potenciál a reakciók aktiválási energiáját befolyásolja, a mért áramerősségből pedig a lejátszódó folyamat sebességére következtethetünk [2]. Jelen összefoglalás nem kíván mélyebben megismerkedni a potenciosztát működésének kémiai hátterével, az eszközt csupán elektronikai, méréstechnikai működése szempontjából kívánjuk megvizsgálni. Az elektródpotenciál beállítása csak akkor történhet többé-kevésbé pontosan, ha az alkalmazott referencia elektród potenciálja stabil. A referencia elektród stabilitásának az a feltétele, hogy azon áram nem, vagy csak igen kis mértékben folyhat át. A munkaelektród potenciáljának megváltoztatása a legtöbb esetben csak akkor valósítható meg, ha alkalmazunk egy harmadik, úgynevezett segédelektródát is. A potenciosztát ilyenkor éppen annyi áramot képes átfolyatni a segédelektród-munkaelektród ágon, hogy a munkaelektród és a referencia-elektród között a kívánt potenciálkülönbség jelenjen meg. Ezt a gyakorlatban is így alkalmazzák, és ezzel megkaptuk a standard háromelektródos elektrokémiai cellát, amelyet az 2. ábrán láthatunk. 6

2. ábra Standard háromelektródos cella Az 2. ábrán láthatjuk tehát a standard háromelektródos cellát a hozzá kapcsolt potenciosztát elvi vázlatával. Az elektrokémiai cella alkotói az M jelzésű munkaelektród, az R jelzésű referencia elektród és az S jelzésű segédelektród. A két elkülönülő térrészt azaz a bal oldali referenciaelektród-teret és a jobb oldali munkaelektród-teret az L jelzésű Lugginkapilláris kapcsolja össze. A kapilláris vékonyra húzott vége a munkaelektród közelében, oly módon helyezkedik el, hogy a fellépő ohmikus potenciálesést csökkentse. A két térrész azonos elektrolit oldattal van feltöltve, amely a másodfajú vezető szerepét tölti be, és amely az elektrokémiai vizsgálatok tárgyát képezi. A potenciosztátra kiküldjük az általunk beállítani kívánt munka- és referenciaelektród közötti U PR feszültség értéket. Ez érkezhet például egy függvénygenerátorról, vagy egy D/A konverter által előállított analóg jel alkalmazásával. A potenciosztát méri a munka- és referenciaelektród között fellépő tényleges U feszültséget, majd a műveleti erősítő képzi ezek különbségét, és az így kapott hibajelet felerősíti. Ezután a potenciosztát éppen annyi áramot hajt át a munka- és segédelektród között, hogy a feszültségkülönbség zérus értékű legyen. Így a munkaelektródot pont olyan mértékben polarizálja, ahogy azt elvárjuk, az U feszültségérték megegyezik az általunk választott U PR értékkel. Ez a kapcsolás a 2. ábrán felül látható. A szükséges áramerősséget és a tényleges feszültségértéket a műszer kijelzőjén, 7

mutatóján olvashatjuk le, vagy a hozzá kapcsolt XY-rekorder rögzíti, illetve A/D konverterek alkalmazásával digitalizálhatjuk. Az 3. ábrán néhány laboratóriumban használt potenciosztátot láthatunk. Van közöttük igen csak régi készülékek (például 3. ábra bal felső kép), amelyek szinte minden eszköztől függetlenül tudtak működni (személyi számítógépet legalábbis nem igényel a működése). A bemenetein szükség van egy klasszikus függvénygenerátorra, a kimenetüket általában gráfpapíros rekorderre kapcsolták. Ezeket is lehet automatizálni, úgy, hogy a bemeneteket D/A konverter által biztosítjuk, a méréseket pedig A/D konverzióval végezzük. De az automatizálás igen korlátozott, ugyanis a kézzel használt kapcsolókat, potmétereket nem tudjuk kiváltani automatizálással. A modern potenciosztátok (például 3. ábra alsó kép) úgy lettek tervezve, hogy kapcsolódni tudjanak egy személyi számítógéphez és egy dedikált szoftvercsomagon keresztül üzemeltethetők. Az ilyen eszközök akár teljes mértékben automatizáltak, viszont ez sajnos nem biztos, hogy minden esetben előnyt jelent. Nem egyszer maga az a szoftver, ami az eszközön fut, illetve az a szoftver, ami ezen eszközöket kiszolgáló számítógépen fut nem adja meg nekünk azokat a lehetőségeket, hogy például tetszőleges jelalakkal perturbáljuk a rendszerünket. Ezáltal bizonyos esetekben az ilyen automatizált eszközökkel még annyit sem tudunk elérni, mint a régiekkel. 3. ábra Piacon kapható potenciosztátok 8

2.1. Nagysebességű jel digitalizálása Célunk egy teljesen számítógép-vezérelt potenciosztát építése, ezért az analóg jelgenerálást valamiféle digitális-analóg konverzióval kell megoldani, a gyűjtendő adatot pedig analógdigitális konverzió után tudjuk tárolni, utófeldolgozni. Az analóg- digitális átalakító (angolul: ADC Analog to Digital Converter) feladata, hogy a bemenetre érkező A analóg jelnek megfelelő D digitális jelet állítson elő a kimeneten (4. ábra). A működéshez szükséges egy R referencia (általában egy U R referenciafeszültség), amelyhez az A/D átalakítók az A analóg mennyiséget viszonyítják ( D = k*a/r ) és amely a kimeneti feszültség maximális értékét is meghatározza. 4. ábra A/D konverter Az analóg jelet vagyis a 0 R tartomány minden pontjában értelmezett jelet (feszültséget) egyenlő részekre kell osztani és minden egyes szakaszhoz egy-egy számot (digitális mennyiséget) kell rendelni a lehető legkisebb hibával. Az analóg jel tengelyének egyegy elemi szakasza (ΔA), amelyhez ugyanaz a digitális kód tartozik, a kvantum. Egy analóg jel annál pontosabban ábrázolható digitális értékekkel, minél kisebb egy elemi lépcső, vagy kvantum nagyság. Az analóg jelábrázolással ellentétben, ahol a mérendő mennyiségeket folyamatos mérő jelé alakítják át, a digitális mérési jel ábrázolásánál csak diszkrét mérőjelek fordulnak elő, amelyeket mintavételezéssel, kvantálással és kódolással állítanak elő. A kvantálásnál elkerülhetetlen az információvesztéség. Az ésszerű kvantálás a fizikai mérőjel fajtájától és az elő irányzott alkalmazásától függ. Az A/D átalakítók bemeneti jele a legritkább esetben egyenfeszültség. Az átalakítandó jel, attól függően, hogy milyen forrásból származik, lassan vagy gyorsan változhat az idő függvényében. Az időben változó analóg jelek esetén- ahhoz, hogy a jelből képzett digitális információt megfelelő legyen meghatározott időközönként a jelből mintát kell venni. A mintavételezés gyakoriságát annál gyorsabban kell venni, minél gyorsabban 9

változik az analóg jel. Az analóg jel mintavételezési gyakoriságának legalább kétszer akkorának kell lennie, mint a jel változásának legnagyobb frekvenciája. Analóg-digitális átalakítók jellemzői: - felbontás: A/D átalakító felbontása kifejezhető egy kimeneti egységnek megfelelő bemeneti lépcsővel is. - a bemeneti feszültség változásának tartománya: A/D átalakító bemenetén jelentkező analóg mennyiség változásának maximális tartományát képviseli. - nemlinearitási hiba: A/D átalakító valós karakterisztikájának ideális karakterisztikától való maximális eltérését fejezi ki: A nemlinearitási hiba mértékegysége az LSB. - átalakítási sebesség: az időintervallumot adja meg, amely egy átalakításhoz szükséges. Mértékegysége: (µs) vagy (ms). - offszet hiba: Átviteli karakterisztikának a kedvezőponthoz viszonyított elérése. Mértékegysége: LSB [3] A mi A/D konverterünkkel szemben támasztott követelményeink (a megfelelő pontosságon és alacsony zajszinten túlmenően)a kétcsatornás működés, a legalább 100 ksample/s-os mintavételezési frekvencia, illetve legalább 16 bites felbontás (természetesen a megfelelő feszültségtartományokon értve.) 2.2. Rendszerterv A feladat a rendszer potenciosztátként való működtetése. A potenciosztáttal közöljük az általunk beállítani kívánt feszültségértéket a munkaelektródon, és mérjük a munka- és referencia elektród között fellépő U feszültségkülönbséget. A potenciosztát ekkor szabályoz, és csak annyi I áramot hajt át a munka- és segédelektróda között, hogy e különbség zérus értékű legyen. Az ehhez szükséges I áramerősséget és az eszközön ténylegesen megjelenő feszültségkülönbséget mérjük, és a mi esetünkben A/D konverterek segítségével digitalizáljuk. Az általunk az analóg potenciosztát áramkörrel szemben támasztott követelményeink a következőek: - az átfolyó áram nagysága legyen legalább ±2 A, a műszer legyen képes az áramot több méréshatáron mérni, a legkisebb méréshatáron legalább 0,1 na pontossággal 10

- a beállítható feszültség érték maximuma legyen legalább ±4 V a referencia elektróddal szemben - a nyílthurkú erősítési tényező az 1 mhz 100 khz tartományon ne essen 10 5 nagyságrend alá - az egységnyi erősítés határfrekvenciája legyen nagyobb, mint 10 MHz - Heaviside jellegű bemeneti jel esetén az erősítő kimenenti fokozatának maximális változási sebessége (az úgynevezett slew rate) legyen legalább 50 V/μs - a potenciosztát beállási ideje legyen legalább 5 μs-nál alacsonyabb Az rendszer építőkövei az elektrokémiai cella, két darab A/D átalakító (ami a gyakorlatban egy darab kétcsatornás konverter), és a személyi számítógép. Ezeket a részegységeket kell összeköttetésbe hoznunk egymással. Tehát az elektrokémiai cellában található elektródokról érkező analóg feszültség és áramerősség értékeket kell A/D konverter segítségével digitalizálnunk. A fordított irányú kapcsolat, azaz a digitális-analóg átalakítás, illetve a küldött és fogadott adatok számítógépes feldolgozása nem része a dolgozatnak. A rendszerterv az 5. ábrán látható. 5. ábra - Kezdeti rendszerterv A következő fejezetek a rendszer magvalósításának lépéseit tárgyalják. 11

3. Mintavételezés Az A/D konvertálással kapcsolatos általános követelményünk a 100 ksample/s szimbólumsebességű 16 bites minták digitalizálása két csatornán. A mintavételezésre többféle stratégia is kínálkozik. Egyik legegyszerűbb módja, ha valahogyan a PC-nk adta lehetőségeket kihasználva szeretnénk mintát venni, digitalizálni. Erre a célra léteznek kimondott célkártyák, illetve kihasználhatjuk a számítógép adta alapvető beviteli egységeket, mint például a hangkártyát. Például a hang is analóg formában kerül rögzítésre, amelyet aztán a hangkártya digitalizál. A másik elterjedt lehetőség, hogy különálló A/D konverter chip segítségével végezzük el a feladatot. Itt szükségünk lesz valamiféle vezérlő, adatátvitelt kezelő egység közbeiktatására, hiszen maga a konverter közvetlenül nem kapcsolható össze egy számítógéppel. Ezeket a megoldási módszeretek fogjuk részletesebben áttekinteni. 3.1. Mintavételezés számítógépen Az mérendő adatokat tehát digitalizálni kell és eljuttatni egy személyi számítógépre. Erre a feladatra sokkféle megoldás kínálkozik. Az egyik legegyszerűbb és így legkézenfekvőbb választás lenne, ha a PC-nk egy beépített interfészét, vagy egy bővítőkártyát használnánk erre a célra. A multimédiás ki- és bemeneti egységek áttekintésével érdemes elkezdeni a vizsgálódást. Napjainkban egyre elterjedtebbek a multimédiás alkalmazások, melyek használata elképzelhetetlen lenne speciális ki- és bemeneti egységek nélkül. Ezek közül egyik legegyszerűbb eszköz a hangkártya (6. ábra), amely manapság minden számítógépben megtalálható. A hangkártyák általában legalább négy funkciót töltenek be: - Szintetizátorhoz hasonlatos módon hangot generálnak. (Szintetizátor) - Egy hullámtábla segítségével MIDI-formátumban megírt fájlokból zenei hangokat állítanak elő. Ekkor a hangkártya fejlettségétől függően életszerűbb zenei hangokat generálnak. (MIDI interfész) - Mikrofonból vagy más analóg hangforrásból jövő jelet digitalizálnak. (A/D konverter) 12

- Digitális jelekből (fájlokból) állítanak elő analóg hangokat. (D/A konverter) 6. ábra Egy kereskedelmi forgalomban kapható hangkártya Számunkra a négy funkcióból egyedül a 3. pont érdekes, azaz a mikrofonból vagy más analóg hangforrásból jövő jelet digitalizálnak. Itt nem kell feltétlenül csak hangforrásra korlátozni a digitalizálást, egy megfelelő szoftverrel a hangkártya analóg line-in bemenetén más jellegű bemeneti jelet is digitalizálhatunk, az eszközt A/D konverterként használhatjuk. Ahhoz, hogy a kártyát így tudjuk használni, teljesítenie kellene az A/D konverterünkkel szemben támasztott követelményeket, azaz kétcsatornás, legalább 100 ksample/s fogadására képes, 16 bites konvertálás szükséges. Hangkártya esetén teljesül a kétcsatornás bemenet, hiszen a line-in bemeneten a legtöbb ma kapható kártya két csatornát tud fogadni. A legtöbb ma kapható hangkártya 16 biten képes adatokat fogadni, így ez a feltétel is teljesül. A 100 ksample/s 16 bites minta esetén 100*16=1600 kbit/s-os mintavételezési sebességre lenne szükség. A ma kapható jobb hangkártyák is csak 96 kbit/sos sebességgel képesek mintát venni. Látható, hogy az eltérés nagyságrendbeli. Ezen problémán felül, egy másik probléma az ilyen kártyák használatánál, hogy az egyenáramú komponenst nem tudok átvinni rajta, mert alsó határfrekvenciája van, tehát statikus mérésre alkalmatlan. Lehetne ugyan még keresgélni különféle fejlettebb PC-be építhető digitalizáló kártyák között, de be kell látnunk, hogy egyik sem lenne alkalmas. Látható tehát, hogy ezek a kártyák nem alkalmasak a feladat ellátására. Ilyen sebesség mellett már szükséges egy jó minőségű, nagysebességű dedikált A/D chipet választanunk. Ez azért is hasznos, mert nagysebességű D/A konverziót is kell végeznünk a jelek generálásához, és ott szintén ésszerű választás lehet egy dedikált D/A chip alkalmazása. 13

Ehhez azonban már szükségünk lesz egy saját kis eszközre(processzorra), ami összeköti a PCnket az A/D chippel. 3.2. Mintavételezés saját eszközön Kell tehát találnunk egy megoldást arra, hogy egy A/D konvertert össze tudjuk kötni a számítógépünkkel. Mivel nagy sebességű (várhatóan több mint 1600 kbit/s = 200 kbyte/s) adatátvitelre lesz szükségünk, illetve ellenkező irányban hasonló sebességű kommunikációra lesz szükségünk, ezért nagysebességű adatátviteli módot kell választanunk. Adatátvitelhez használhatnánk egy PC-be illeszthető kártyát, de ez korlátozná az eszköz univerzális felhasználhatóságát. Praktikusabb úgy választanunk a kommunikációs csatornát, hogy egy minél elterjedtebb szabvány szerinti kapcsolatunk legyen. Adódik tehát egy kézenfekvő választás: az igen elterjedt szabvány, az USB. 3.2.1. USB kapcsolat Először szükséges megvizsgálni, hogy az USB kapcsolat eleget tesz-e a várakozásainknak. Az USB felépítését érdemes először áttekinteni. Minden USB rendszer egy hierarchikusan kialakított un. fa-struktúrájú és csillag topológiájú rendszer, melynek középpontjában a PC áll. A PC tartalmazza a fő-vezérlőt (Host Controller) és a kiindulási pontot (Root Hub). Ehhez további eszközök és/vagy Hub-ok csatlakoztathatók. Az eszközök számára, a hálózat kialakítására nincsen különösebb megkötés, adatátviteli sebességkorlátai azonban vannak. Ez USB 1.0 illetve 1.1 esetén Low Speed módban 1,5 Mbit/s, Full Speed módban 12 Mbit/s (1,5 MB/s) sebességet jelent. Ez még kissé kevésnek tűnhet, de USB 2.0 szabvány esetén 480 Mbit/s (60 MB/s) névleges átviteli sebességet érhetünk el, ami USB 3.0 esetén egészen 5 Gbit/sec-ra (640 MB/s) nőtt [4]. A távtáplálást használó eszközök maximum 100mA-t vehetnek fel összesen és a terhelési csúcs nem haladhatja meg az 500mA-t. Ez egy kicsit szigorúnak hat, de ha nagyobb teljesítményre van szükségünk, használjunk külön tápegységet. Az alkalmazott eszközöknek ez a kis teljesítmény is elegendő [5]. Az USB szoftvere egy kicsit bonyolult, hiszen az alkalmazások, a csatlakoztatott eszközök is egyre bonyolultabbak. A PC-ben futó szoftver két fő részből áll. Az egyik a Host controller amely az operációs rendszer részeként vezérli és ütemezi az egész USB 14

buszt. Ehhez csatlakoznak az USB device driver-ek, melyek az eszközt szoftver oldalról kezelik. Az USB feladata csak annyi, hogy továbbítsa az adatokat az eszköz és drivere között (7. ábra). A másik oldalról pedig az eszközök is tartalmaznak valamilyen szoftvert, ami rendszerint egy mikrokontrollerben futó program. A Host foglal tehát csak erőforrást a PC-nkben, az eszközöket azután a host kezeli. Ez alapvetően eltér az eddigi gyakorlattól (hagyományos soros portok) és érthetővé teszi, hogy miért nem ütköznek az interruptok. Az egész hasonlatos egy szerver kliens rendszerhez, ami igen hatékonyan képes működni. 7. ábra USB driver A kommunikációnak többféle fajtája van USB-n. A sokféle eszköz sokféle adatátviteli módot is igényel. Négy különféle és tipikus adatátviteli módszert honosítottak meg Control, Isochronous, Bulk és Interrupt elnevezéssel. A kommunikáció alapvetően csomagkapcsolt szisztémával működik, de az egyes módok között jelentős eltérés van. Control adatátviteli mód: Ez az alapmód, amit minden USB eszköznek ismernie kell. Ezzel a módszerrel kommunikál egymással az eszköz és a host a csatlakoztatást követően. Ha szükséges, akkor később váltanak. Teljesen normál csomagkapcsolt üzemmód. Tartalmaz CRC ellenőrzést és garantált az adatátvitel hibamentessége. Minden esetben kétirányú. Isochronous adatátviteli mód: Ezt az adatátviteli módszert video és audió jelek átvitelére fejlesztették ki. Valós idejű átvitelt támogat. Nincs CRC ellenőrzés az adatok ömlesztve közlekednek. Mindkét irányban kialakítható. Bulk adatátviteli mód: Ezt is nagy mennyiségű adat átvitelére fejlesztették ki, azonban ez tartalmaz ellenőrzést és garanciát az adatok integritását illetően. Cserébe a valósidejűségről kell lemondanunk. Mindkét irányt tudja. 15

Interrupt adatátviteli mód: Nem a megszokott értelembe vett interruptról van itt szó. Ezt kifejezetten kis adatmennyiség rendszeres átvitelére fejlesztették ki. A Host ciklikusan lekérdezi az eszközt, és ha van adat, akkor azt interruptszerűen átviszi. Legfontosabb jellemzője, hogy nem foglal jelentős sávszélességet és az adatátvitel egyirányú, mégpedig mindig az eszköztől a PC felé [6]. Látható tehát, hogy az igen elterjedt USB 2.0 szabvány bőven elegendő a mi adatátviteli sebesség igényeinkhez. A külső tápellátás amennyiben szükséges könnyedén megoldható, és Bulk adatátviteli módban, pedig az adatok integritása is garantált, ami a mérés hitelessége szempontjából fontos. Az USB kapcsolat és az A/D konverter közé azonban szükséges egy eszköz, ami ezt a kapcsolatot kezeli. Választanunk kell tehát egy olyan USB-s eszközt, ami képes biztosítani a szükséges adatátviteli sebességet USB-n, összeköthető A/D és D/A konverterekkel és alapvető vezérlési feladatok biztosítására képes. Úgy találtunk, hogy az ilyen jellegű adatátviteli és irányítási feladatokra a legalkalmasabb eszköz egy mikrokontroller. 3.2.2. Microchip PIC 32 mikrokontroller A mikrokontroller egyetlen lapkára integrált, általában vezérlési feladatokra optimalizált számítógép. Ez az eszköz költséghatékonyan képes ellátni egyszerű, kis számítási teljesítményt és operatív tárat igénylő műveleteket. Már a tervezésnél arra törekednek, hogy minél kevesebb járulékos alkatrésszel lehessen megoldani minél szélesebb skálájú feladatokat. Az eszköz fogyasztását, méretét és költségét megpróbálják minimalizálni, amit például a lábak többszörös felhasználásával és beépített perifériákkal érnek el. A Microchip Technology mikrokontrollerei a fejlesztők között széles körben ismertek és közkedveltek. A laboratóriumban viszonylag sok tapasztalat gyűlt már össze e termékcsalád bizonyos tagjainak beágyazott rendszerekbe történő fejlesztése során. Ezért kézenfekvő választás volt, hogy a feladatunkhoz is egy ilyen mikrokontrollert válasszunk. A mi választásunk a PIC32MX795F512L mikrokontrollerre esett (8. ábra) [7]. 16

8. ábra PIC32MX795F512L mikrokontroller A PIC32 mikrokontrollerek MIPS architektúrájúak, így szükséges megismerkedni vele, hogy ez milyen előnyökkel, hátrányokkal jár. A MIPS (az angol Microprocessor without Interlocked Pipeline Stages rövidítése) egy 32/64 bites RISC utasításkészlet-architektúra, amelyet a MIPS Computer Systems (jelenleg MIPS Technologies) cég fejlesztett ki az 1980-as évek elején. Eredetileg a MIPS architektúra 32-bites volt, a 64-bites felépítés későbbi fejlesztés eredménye. A MIPS utasításkészletnek több változata létezik, ezek a következők: MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS32, és MIPS64. Jelenleg a MIPS32 és MIPS64 revíziókat használják a 32- és 64-bites rendszerekhez, ezek a regiszterkészletet is meghatározzák az utasításkészlet mellett [8]. A MIPS fő tervezési szempontja az volt, hogy minden egyes utasítás-fázis, a gyorsítótár-hozzáférést is beleértve, egy ciklus alatt végrehajtható legyen, megszüntetve az összefonódó zárolásokat és lehetővé téve az egyciklusos utasítás-végrehajtást. Bár a tervezés során kihagytak néhány hasznos utasítást, mint pl. a szorzást és osztást, mégis érezhető volt, hogy egy ilyen rendszer összteljesítménye drámaian megnövekszik, mert lehetővé teszi magasabb órajelen működő chipek előállítását. A sebességnövekedést nehéz lett volna a központi zárolás megtartásával elérni, mivel a zárolás kezeléséhez szükséges idő éppen úgy függ az áramkör lapkaméretétől, mit az órajeltől. Egy fontos különbség a MIPS és a konkurens Berkeley RISC felépítés között a szubrutinhívások kezelése. A RISC architektúra ún. regiszterablakokat használ erre az igen gyakori feladatra, azonban ez korlátozza többszintű hívások esetén az elérhető hívási 17

mélységet. Minden szubrutinhívásnál külön regiszterkészletre van szükség, ami növeli a processzor területigényét, ezzel együtt a kialakítás bonyolultságát is. Egy 'figyelmes' compiler mindig talál szabad regisztereket, mielőtt hardveres megvalósításhoz kellene fordulni, és a regiszterek számának egyszerű növelése nemcsak hogy leegyszerűsíti ezt a feladatot, hanem még növeli is a teljesítményt. Más tekintetben a MIPS egy tipikus RISC típusú konstrukció. Az utasításkódok lerövidítése érdekében a RISC kialakításokban csökkentették a kódolandó utasítások számát. A MIPS esetében a 32 bites utasításszóból 6 bitet foglal el az utasítás kódja (opkód), a maradék 26 bit tartalmazhat egy ugrási címet, vagy 4 db 5-bites mezőn 3 regisztercímet, egy eltolási értéket és az utasításkód másik 6 bitjét. Egy másik formátum a sok egyéb közül meghatározhat 2 regisztert és egy 16 bites értéket, stb. Ez az utasításkód-kialakítás lehetővé teszi, hogy a processzor egy órajel-ciklus alatt beolvassa a művelet kódját és a hozzá tartozó adatokat; ellentétben a korábbi, nem-risc kialakítású processzorokkal: pl. a MOS Technology 6502 külön órajel-ciklusok alatt olvasta be az opkódot és az adatokat. Ez az egyik legjelentősebb teljesítménynövelő tényező a RISC kialakítások esetén. Újabban a nem-risc kialakítású processzorok is képesek hasonló sebességet elérni, más módszerek használatával. Az általunk választott PIC32MX795F512L mikrokontrollert egy Microchip Explorer 16 fejlesztőpanelbe ültettük [9]. Ez a panel lehetőséget ad arra, hogy sajátkészítésű kiegészítő eszközöket illesszünk hozzá. Az fejlesztőpanelbe ültetett mikrokontroller látható a 9. ábrán. 9. ábra PIC32 mikrokontroller a fejlesztőkártyán A mikrokontroller paraméterei pedig a 10. ábrán olvashatók. 18

Paraméter Érték Termékcsalád PIC32MX7xx Architektúra 32 bit Órajel 80 MHz Programmemória 512 kbyte RAM 128 kbyte Tápfeszültség 2,3 3,6 V DMA csatornák száma 8 db SPI vonalak száma 4 db USB v2.0 (host és OTG is) Belső A/D csatornák száma 16 db Digitális időzítők 5 db (16 bit) Komparátorok 2 db Belső oszcillátorok 8 Mhz, 32 khz Digitális I/O vonalak 85 db Lábak 100 db 10. ábra A választott PIC32 mikrokontroller paraméterei A mikrokontroller programozása a Microchip MPLAB Integrated Development Environment szoftverével lehetséges [10]. Van tehát egy mikrokontrollerünk egy fejlesztőpanelen, amelyhez egy USB framework Taróczy-Tóth Zsigmond a csapat másik tagja fejlesztette ez előző félévben. A hozzá kapcsolódó LabVIEW programot pedig, amely a PC-n fut Veszergom Soma a külső konzulensem készítette az ELTE-n. Méréseket végeztünk a bejövő adatforgalomról, hogy meghatározzuk a kapcsolat maximális sebességét. Egy tesztelésre szolgáló stringet folyamatosan küldtünk a mikrokontrollerről a gép felé, és a tesztelést végző LabVIEW program kiszámította az időegység alatt érkező adatmennyiséget, amely a 11. ábrán látható. 19

11. ábra A bejövő adatforgalom sebességének tesztelésére írt LabVIEW program Az átvitel 1 Mbyte/s sebességgel még biztosan zajlik akkor is, ha a fogadással párhuzamosan nagysebességű adatküldést végzünk. Ezek az eredmények meggyőző bizonyítékai annak, hogy az eszköz alkalmas a megfelelő adatátviteli sebességű USB kommunikációra, hiszen az elvárt átviteli sebesség várhatóan egy csatorna esetén 200 kbyte/s körül alakul, ami két csatorna esetén is csak 400 kbyte/s, amely alatta marad az 1 Mbyte/s-os mért átviteli sebességnek. Még vizsgálatra szorul a processzor terheltsége folyamatos nagysebességű USB átvitel mellett. Meg kell majd mérnünk, hogy ilyen adatküldési sebességek mellett, a processzor mennyire van leterhelve, a processzor teljes munkaidejének hány százalékát viszi el a folyamatos adatátvitel. Tehát folyamatos kétirányú a specifikációban meghatározott adatátviteli sebesség mellett, mekkora a processzor terheltsége. A maradék processzoridővel fogjuk tudni majd az A/D konverziót vezérelni, irányítani. Ez a mérés a következő beszámoló idejére el fog készülni. 20