Analóg-digitális átalakítás

Slides:



Advertisements
Hasonló előadás
Elektronika A/D és D/A átalakítók.
Advertisements

1 Számítógépek felépítése 9. előadás I/O rendszerek.
TWS ALAP. TWS Ticker beírása.
Jeltárolás.
Soros kommunikáció. •Üzenet–>Kódolás (bináris kód) •A bitek átküldése a vezetéken időben egymás után (soros) •Dekódolás–>Üzenet GND
Kvantum számítógépek és hálózatok
Az analóg jelek digitalizálása, az ADC-k típusai működésük.
Az adatábrázolás, adattárolás módja a számítógépekben
Hálózat összeállítási feladat 2
Elektromos mennyiségek mérése
PARTNEREK: Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem.
Az LCD kijelző programozása
Mérés és adatgyűjtés laboratóriumi gyakorlat Virtuális méréstechnika levelező Mingesz Róbert 5. Óra MA-DAQ – Műszer vezérlése November 26.
2009 Bevezetés a programozásba Krankovits Melinda.
A mikrovezérlők Áttekintő előadás.
ATMEL AVR mikrokontroller család hardver-felépítése
PIC mikrovezérlők.
A/D és D/A kovnverterek
Bevezetés a tárgyakhoz Tárgyak  Objects are the containers for values of a specified type  Objects are either signals, variables or constants  Once.
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Kovács Tamás & Mingesz Róbert 2. óra február 13., 16.
Elektronikai Áramkörök Tervezése és Megvalósítása
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Kovács Tamás & Mingesz Róbert 4. óra március 1.
Elektronikai Áramkörök Tervezése és Megvalósítása
Mérés és adatgyűjtés Kincses Zoltán, Mingesz Róbert, Vadai Gergely 10. Óra MA-DAQ – Műszer vezérlése November 12., 15. v
Mikrovezérlők, perifériák laboratóriumi gyakorlat
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Kovács Tamás & Mingesz Róbert 4. óra február 25.
Virtuális méréstechnika MA-DAQ műszer vezérlése 1 Mingesz Róbert V
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat A/D konverter Makan Gergely, Mellár János, Mingesz Róbert, Boros Péter, Zana Roland Makan Gergely,
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Mikrovezérlők alkalmazástechnikája levelező laboratóriumi gyakorlat A/D konverter Kovács Tamás, Mingesz Róbert, Balogh Krisztián, Boros Péter, Zana Roland.
DS1620 és FPGA segítségével
Prototípuskészítés Verilog nyelven Screen Saver Készítette: Mészáros Péter.
A verem működése fpga-n
Speciális tranzisztorok, FET, Hőmodell
A mikrovezérlők világa
Alapfogalmak I. Adat: fogalmak, tények, jelenségek olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas.
Atmega128 mikrokontroller programozása
Mikrokontroller (MCU, mikroC)
Integrált áramkörök tesztelése (minőségellenőrzés)
Balaton Marcell Balázs
Hyper Text Markup Language
Honlap készítés 4. óra.
Egy első generációs gép (az IAS) felépítése
Kísérletezés virtuális méréstechnika segítségével 2010 március
Hangszerkesztés elmélet
Kommunikációs Rendszerek
Táblázatok.
Feladatok. Óra A mikrokontrollerből egy órát kell kialakítani. Az óra rendelkezhet speciális funkciókkal: –Másodpercek kijelzése számokkal –Riasztás ledek.
Mérés és adatgyűjtés laboratóriumi gyakorlat – levelező NI adatgyűjtők programozása 1 Mingesz Róbert V
Írja fel a tizes számrendszerbeli
Az információ (vázlat)
Analóg jel, digitális jel
ADC alapú ultrahangos spirometriai mérési rendszer tervezése
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat A/D konverter Makan Gergely, Markella Máté, Mellár János, Mingesz Róbert
00. GYAKORLAT Bevezető.
Programozott vezérlések Mitsubishi PLC programozás
Elágazások a programban – IF utasítás
Alhálózat számítás Osztályok Kezdő Kezdete Vége Alapértelmezett CIDR bitek alhálózati maszk megfelelője A /8 B
02. GYAKORLAT Soros monitor.
Periféria (vezérlő) áramkörök
Szekvenciális hálózatok
09. GYAKORLAT Beeper.
Szervó motor helyzetének vezérlése potenciométer segítségével
Átváltás a számrendszerek között
A/D konverter (ADC) A/D átalakító
Grosz Imre f. doc. Sorrendi áramkörök
Villogó delay függvény használata nélkül
Túlfeszültség védelem a hálózaton
Jeltárolás.
Quine-McCluskey Módszer
Előadás másolata:

Analóg-digitális átalakítás

Mit jelent? Analóg jel: folyamatosan változik az időben, elvileg bármilyen értéket felvehet. feszültség (V) idő (s)

Digitális jel: csak meghatározott értékeket vehet fel Digitális jel: csak meghatározott értékeket vehet fel. Például 0V vagy 5V. Példa:

Ha a digitális jel sok lehetséges értéket vehet fel, jól megközelítheti az analóg jelet. Például egy tíz bites ADC 10 biten 210 különböző lehetséges digitális értékkel közelíti az analóg jelet. 0-5V analóg jel esetén ez kb 0.005 V-os ugrásokat jelent. Az átalakítás menete: Az átalakító adott időnként (mintavételi idő) mintát vesz a bementén levő analóg jelből és azt a hozzá legközelebb álló digitális értékkel helyettesíti.

Bemenetek: Single ended: A láb fölhöz képesti feszültsége az átalakítandó jel, (F-port 8 lába) Differenciális bemenet: A két láb feszültsége közti különbség az átalakítandó jel (ADC1,ADC0 és ADC3, ADC2 lábak). Ezeken a bemeneteken 1x,10x,200x előerősítést (gain) lehet beállítani.

Működési mód Egyetlen konverziót hajtson végre Folyamatosan konvertáljon Az átalakításhoz használt referencia feszültség beállítása

Hogyan kell beállítani a működési módot, a bemeneti csatornát, a gain-t, hogyan kell kiolvasni a konvertált értéket stb A megfelelő regiszterek megfelelő bitjeit kell beállítani, illetve kiolvasni. Pl: Az eredmény 10 bitje az ADCH illetve ADCL regiszterekben van, eredetileg jobbra igazítva. Analog input channel and differencial gain: MUX bitek az ADMUX regiszterben. ADMUX=0xED (ADC3-ADC2, 10xgain, 2.56V reference, left adjusted result, a táblázatból derül ki! ADMUX bitjei (h-l):REFS1,REFS0,ADLAR,MUX4,2,1,0 0 0 : internal Vref ADLAR bit: 0-jobbra igazítás az eredménynél 1-balra igazítás MUX4:0 00000 –ADC0 single ended input 01001 -ADC1,ADC0 differencial input 10x gain –>TB!

ADCSRA –regiszter bitjei: A konverzió kezdete, vége ADCSRA –regiszter bitjei: A konverzió kezdete, vége. (kezdet: ADEN bit 1, vége ADEN bit 0) Az átalakító képes az átalakításhoz kapcsolódó megszakításokat is kezelni! (köv alk) FELADAT: feladatlap kitöltése Mintaproject beüzemelése Az adc.c megértése stb

Ha kész a konverzió elindít egyeljárást: interrupt Kontrol , státusz ADCSRA ADCH,ADCL a konvertált érték bemenetválasztás bemenetek Maga a konverter és a vezérlő áramkör Gain választás: MUX dekóderből Műveleti erősítő

A konverzió akkor kezdődik amikor az ADSC bitet egyre állítjuk. Amikor vége a konverziónak lenullázódik. Ekkor az ADCR regiszterben van az eredmény. Folyamatos üzemmódban újra és újra konvertál. Ehhez az ADFR bitet az ADCSRA-ban 1-re kell állítani, utána kell indítani a konverziót. A folyamatos konvertálást úgy kell leállítani, hogy az ADCIF –et nullára húzzuk. A konverzió sebességét az órajel frekvencia valahanyad részére lehet beállítani. The prescaling is set by the ADPS bits in ADCSRA. The prescaler starts counting from the moment the ADC is switched on by setting the ADEN bit in ADCSRA. The prescaler keeps running for as long as the ADEN bit is set, and is continuously reset when ADEN is low.

Az F-porthoz van kötve! F 0-7, ADC 0-7 The reference voltage for the ADC (VREF) indicates the conversion range for the ADC. Single ended channels that exceed VREF will result in codes close to 0x3FF. VREF can be selected as either AVCC, internal 2.56V reference, or external AREF pin. Az F-porthoz van kötve! F 0-7, ADC 0-7

Melyik mód van beállítva? void ADC_init(void) { unsigned int test_conversion; //A MUXn bitekkel allitjuk be az ADC csatornat ADMUX |= _BV(MUX0) | _BV(MUX1); /MUX0,MUX1 1, ADMUX |= (1 << REFS0) /*| (1 << REFS1)*/;//belso AVcc hasznalatanak engedelyezese //Az ADC engedelyezese es frekvencia osztasanak beallitasa, 8 MHz / 128 = 62.5 kHz ADCSRA |= (1 << ADEN); ADCSRA |= (1 << ADPS0) | (1 << ADPS1) | (1 << ADPS2); // ADCSRA &= ~_BV(ADFR);//Egyetlen egy konverzio, jobbra igazitas ADCSRA &= ~(_BV(ADFR));//Egyetlen egy konverzio, jobbra igazitas //Egyetlen egy beolvasast vegzunk, hogy a tobbi konvertalas pontos es gyorsabb legyen test_conversion = ADC_read(); }

int ADC_read(void) { unsigned char i; int ADC_temp; unsigned int ADCr = 0; ADCSRA |= _BV(ADEN); //Engedelyezzuk az ADC-t //Egy beolvasast vegzunk ADCSRA |= (1 << ADSC); //Egyetlen atalakitas while(!(ADCSRA & (1 << ADIF))); //Varakozunk mig a konverzio befejezodik, az ADIF jelzobit aktiv for (i=0;i<8;i++) //8-szor vegezzuk az ADC atalakitast, hogy pontosabb eredmenyt kapjunk { ADCSRA |= (1 << ADSC); //Egyetlen konverziot csinalunk while(!(ADCSRA & (1 << ADIF))); //Varunk mig az atalakitas be nem fejezodik. Az ADIF flag aktiv ADC_temp = ADCL; //Kiolvassuk az ADCL regisztert ADC_temp |= (ADCH << 8); //Kiolvassuk az ADCH regisztert ADCr += ADC_temp; //Az eredmeny (8 minta alapjan) osszegyujtese a tovabbi atlagolashoz } ADCr = ADCr >> 3; //8 minta kozeperteke ADCSRA &= ~_BV(ADEN); //Letiltjuk az ADC-t return ADCr;

adc.c, adc.h –t beinkludolni! adc_init() adc_read() Használati példa: getvolt eljárás az adc.c-ben! void getVolt(void) { unsigned char volt[6]; unsigned int ADCresult = 0; ADCresult = ADC_read(); //előtte inicializálni kell! //Egy valos valtozot sztringge alakitjuk at dtostrf(3.27 * ADCresult / 1024, 5, 3, volt); //A PC-be kuldjuk a feszultseg erteket //ehhez soros kommunikáció is kell sendString("A beolvasas eredmenye: "); sendString(volt); sendString(" volt.\r"); }

adc.c,adc.h,uart.c,uart.h, uartinit,adcinit és a főprogram: main.c