AD konverter ADC AD talakt ADC A mikrovezrl
- Slides: 22
A/D konverter (ADC) A/D átalakító
ADC • A mikrovezérlő csak digitális adatokat képes kezelni (0 és 1). • A valós világ jelei nagyrészt analóg jelek (szonzorok): hőmérséklet, nyomás, nedvesség. • Ahhoz hogy a mikrovezérlő fel tudja dolgozni a bemeneti analóg adatokat, digitálissá kell hogy alakítsa őket. Erre szolgál az A/D átalakító.
Digitalizálás példa • Az analóg jel időben és amplitúdóban is folytonos. • Mind a két érték diszkretizálásával nyerjük a digitális jelet.
A jel fogadása • Általános esetben, a jel (adat) fogadása egy 3 lépésből álló folyamat. 1. Egy fizikai mennyiségtől függően, a szenzor a kimenetén analóg elektromos feszültséget ad. 2. Az egyszerűbb feldolgozás miatt, az analóg jelet digitálissá alakítjuk analóg-digitális átalakító (ADC) segítségével. 3. A digitális jelet feldolgozás céljából a mikrovezérlőnek továbbítjuk.
A jel fogadása és feldolgozása
Analóg bemenetek • A korszerű mikrovezérlők a bemenetükön beépített ADC-vel rendelkeznek, ezért külső áramkör hozzáadása nem szükséges.
Az ADC jellemzői • Működési elv: szukcesszív approkszimáció • 6 kanális (multiplekszált), • 10 bit-es rezolóció (eredmény: 0 -1023 között)
ADC • Referens feszültség 5 V, az összes analóg feszültséget az ekvivalens ADC értékre alakítjuk. • A (0 V-5 V) tartományt 210 = 1024 lépésre osztjuk. • A bemeneti 0 V-ból 0 lesz, a bemeneti 5 Vból 1023 lesz, a bemeneti 2. 5 V-ból 523 lesz, stb.
ADC típusok • Szukcesszív approkszimáció, • Flash konverter (nagy sebesség, alacsony rezolúció mivel sok komparátorra van szükség). A 8 -bites átalakítóhoz 256 komparátor szükséges. • Fontos fogalmak: ADC előosztó (prescaler), ADC regiszterek.
ADC prescaler • Az ADC periodikus időintervallumokban alakítja át az analóg jelet. • Ezt az intervallumot az oszcillátor frekvenciája határozza meg. • Az ADC 50 k. Hz-200 k. Hz tarományban működik. • A CPU órajel sokkal nagyobb, ezért szükséges az osztás. • Az ADC frekvenciáját úgy nyerjük, hogy a CPU frekvenciáját elosztjuk az előosztó értékével.
ADC prescaler • Az osztási arányok előre meg vannak határozva: 2, 4, 8, 16, 32, 64 és 128. • Ha például prescaler = 64: F_ADC = F_CPU/64 F_CPU = 16 MHz, F_ADC = 16 M/64 = 250 k. Hz • A kérdés hogy melyik frekvenciát válasszuk?
ADC prescaler • A frekvencia meg a pontosság között kompromisszumot kell kötni. • A nagyobb frekvecnia kisebb pontosságot jelent, és fordítva.
ADC regiszterek ADMUX – ADC Multiplexer Selection Register Bits 7 -6 : Referens feszültség kiválasztása
Referens feszültség • Az ADC-nek referens feszültség szükséges, amelyik az AREF, AVCC és GND-vel van meghatározva. • A VCC ingadozhat!
ADC registri • ADLAR – ADC left adjust result • “ 1”: az eredmény balra van igazítva • Bit 4 -0: ADC kanálisának meghatározása • ADCSRA – ADC Control and Status Register A
ADCSRA • Bit 7 – ADEN – ADC Enable – As the name says, it enables the ADC feature. Unless this is enabled, ADC operations cannot take place across PORTA i. e. PORTA will behave as GPIO pins. • Bit 6 – ADSC – ADC Start Conversion – Write this to ‘ 1’ before starting any conversion. This 1 is written as long as the conversion is in progress, after which it returns to zero. Normally it takes 13 ADC clock pulses for this operation. But when you call it for the first time, it takes 25 as it performs the initialization together with it. • Bit 5 – ADATE – ADC Auto Trigger Enable – Setting it to ‘ 1’ enables auto-triggering of ADC is triggered automatically at every rising edge of clock pulse. View the SFIOR register for more details.
ADCSRA • Bit 4 – ADIF – ADC Interrupt Flag – Whenever a conversion is finished and the registers are updated, this bit is set to ‘ 1’ automatically. Thus, this is used to check whether the conversion is complete or not. • Bit 3 – ADIE – ADC Interrupt Enable – When this bit is set to ‘ 1’, the ADC interrupt is enabled. This is used in the case of interrupt-driven ADC. • Bits 2: 0 – ADPS 2: 0 – ADC Prescaler Select Bits – The prescaler (division factor between XTAL frequency and the ADC clock frequency) is determined by selecting the proper combination from the following.
ADC prescaler
ADCL és ADCH ADC adatregiszterek • qw
ADC init void adc_init() { // AREF = AVcc ADMUX = (1<<REFS 0); // ADC Enable and prescaler of 128 // 16000000/128 = 125000 ADCSRA = (1<<ADEN)|(1<<ADPS 2)|(1<<ADPS 1)|(1<<ADPS 0); }
ADC read uint 16_t adc_read(uint 8_t ch) { // select the corresponding channel 0~7 // ANDing with ’ 7′ will always keep the value // of ‘ch’ between 0 and 7 ch &= 0 b 00000111; // AND operation with 7 ADMUX = (ADMUX & 0 x. F 8)|ch; // clears the bottom 3 bits before //ORing // start single convertion // write ’ 1′ to ADSC ADCSRA |= (1<<ADSC); // wait for conversion to complete // ADSC becomes ’ 0′ again // till then, run loop continuously while(ADCSRA & (1<<ADSC)); return (ADC); }
Feszültségosztó
- A/d átalakító
- Flyback converter
- Flyback transformator
- Kalkulationer på buffet
- Wan optimization gartner 2018
- Adc+
- Avaya adc
- Dac inl dnl calculation
- Shadin fuel flow transducer
- Rangkaian adc
- Stepper motor interfacing with 8086
- Interfacing adc with 8085
- Adc circuit
- Subranging adc
- Interfacing adc with 8086
- Adc in embedded system
- Apa kepanjangan dari adc ?
- Interpolating adc
- Upset adc
- How to solve this problem
- Who is this
- Dual-slope adc
- Difusion y mapa adc