Presentation is loading. Please wait.

Presentation is loading. Please wait.

ADC and DAC Data Converter

Similar presentations


Presentation on theme: "ADC and DAC Data Converter"— Presentation transcript:

1 ADC and DAC Data Converter
Explain the introduction to ADC, ADC characteristics, Programming ADC using PIC18, Introduction to DAC and DAC interfacing with PIC18. ADC and DAC Data Converter

2 Objectives Discuss the ADC of the PIC18
Explain the process of data acquisition using ADC Program the PIC18’s ADC in assembly Describe the basic operation of DAC Interface a DAC chip to the PIC18

3 Introduction to ADC Digital Computer: Binary (discrete) values
Physical World: Analog (continuous) values Example: Temperature, Humidity, Pressure Output: Voltage or Current Microcontroller? -----> Digital Therefore, ADC is needed to translate (convert) the analog signals to digital numbers

4 Introduction to ADC (Cont’d)
Microcontroller Connection to Sensor via ADC

5 ADC Resolution n-bit No. of steps Step size (mV) 8 28 = 256
5/256 = 19.53 10 210 = 1024 5/1024 = 4.88 12 212 = 4096 5/4096 = 1.2 Assuming VREF = 5V * Step Size (Resolution): is the smallest change that can be discerned by an ADC

6 ADC Reference Voltage (Vref)
Vref: Input voltage used for the reference voltage The voltage connected to this pin , with the resolution of the ADC chip, dictate the step size Example: If we need the analog input to be 0 to 4 volts, Vref is connected to 4 volts Digital data output: 8-bit (D0-D7), 10-bit (D0-D9)

7 ADC Reference Voltage (Vref) (Cont’d)
Vref (V) Vin (V) Step size (mV) 5.00 0 to 5 5/1024 = 4.88 4.096 0 to 4.096 4.096/1024 = 4 3.0 0 to 3 3/1024 = 2.93 2.56 0 to 2.56 2.56/1024 = 2.5 2.048 0 to 2.048 2.048/1024 = 2 Vref Relation to Vin Range for an 10-bit ADC

8 ADC Digital Data Output
Dout = Vin / Step Size Analog Input Voltage Digital data output (in decimal): 8-bit (D0-D7)= 256 10-bit (D0-D9) = 1024 Example: Vref = 2.56, Vin = 1.7V. Calculate the Do-D9 output? Solution: Step Size = 2.56/1024 = 2.5mV Dout = 1.7/2.5mV = 680 (Decimal) D0-D9 =

9 Parallel versus Serial ADC

10 PIC18F4580 ADC Features

11 PIC18F4580 ADC Features (cont’d)
It has 11 analog input channels (AN0 – AN10) 10-bit ADC Converted values are stored in ADRESH:ADRESL registers

12 ADC: Important Registers
A/D Control Register 0 (ADCON0) Controls the operation of the A/D module A/D Control Register 1 (ADCON1) Configures the functions of the port pins A/D Control Register 2 (ADCON2) Configures the A/D clock source, programmed acquisition time and justification

13 A/D Control Register 0 (ADCON0)
Example: ADCON0 = Different from the Book!

14 A/D Control Register 1 (ADCON1)
* Different from the Book!

15 ADC PCFGs Example: ADCON1 = * Different from the Book!

16 A/D Control Register 2 (ADCON2)
Example: ADCON2 = * Different from the Book!

17 ADFM Bit and ADRESx Registers
ADC ADFM Bit ADFM Bit and ADRESx Registers

18 Example 1 For a PIC18-based system, we have Vref = Vdd = 5V. Find a) The step size and b) The ADCON1 value if we need 3 channels. The step size = 5/1024 = 4,8mV ADCON1 =

19 ADC Conversion Time Define in term of Tad (Conversion time per bit)
To calculate: FOSC/2, FOSC/4, FOSC/8, FOSC/16, FOSC/32 or FOSC/64

20 Steps in Programming the ADC using Pooling
TURN ON the ADC module (BSF ADCON0, ADON) Make the ADC channel pin as input pin Select voltage reference and ADC channel Select the conversion speed Wait for the required acquisition time Activate the start conversion bit of GO/DONE Wait for the conversion to be completed by pooling the end-of-conversion GO/DONE bit After the GO/DONE bit has gone LOW, read the ADRESL and ADRESH register

21 Example 2 OV ER CALL DELAY ORG 0000H BSF ADCON0, GO CLRF TRISC
BACK BTFS ADCON0, GONE BRA BACK MOVFF ADRESL, PORTC MOVFF ADRESH, PORTD CALL QSEC_DELAY BRA OVER END ORG 0000H CLRF TRISC CLRF TRISD BSF TRISA, 0 MOVLW 0x00 MOVWF ADCON0 MOVLW 0x0E MOVWF ADCON1 MOVLW 0xBE MOVWF ADCON2

22 Programming ADC using Interrupts
Flag Bit Register Enable Bit ADIF (ADC) ADIF PIR1 ADIE PIE1 ADC Interrupt Flag Bits and Associated Registers * Please see Program 13-2 page 514

23 Introduction to DAC Covert digital pulses to analog pulses
DAC0808 chip: Use R/2R method, 8-bit DAC Block Diagram

24 DAC Application

25 Iref = Generally set to 2.0mA
DAC 0808 The digital inputs are converted to current (Iout) Connecting a resistor to the Iout pin, we convert the result to voltage This will course inaccuracy because the Resistance will affect the reading Iout = Iref (D7/2 + D6/4 + D5/8 + D4/16 + D3/32 + D2/64 + D1/128 + D0/256) Iref = Generally set to 2.0mA

26 PIC18 Connection to DAC0808 and Op-Amp
Example: Binary input: Iout = 2mA (153/256) = 1.195mA and Vout = 1.195mA x 5K = 5.975V

27 ADC Sensor Interfacing
Gas Sensor Sonar Sensor Humidity Sensor Temperature Sensor

28 ADC Sensor Interfacing (Cont’d)
Characteristic: Precision integrated-circuit Output voltage is linearly proportional to the Celcius Requires no external calibration (Internally calibration) Output: 10mV for each degree

29 ADC Sensor Interfacing (Cont’d)
10mV = 1 degree (Minimum) 20mV = 2 degree 30mV = 3 degree . 1000mV = 100 degree (Maximum) How to set Vref?? 5V Step Size = 4.8mV Vin (max) = 5V Which one suitable? Vref = ??? 1.024 Step Size = 1mV Vin (max) = 1.024V

30 ADC Sensor Interfacing (Cont’d)
To overcome any fluctuations in power supply. * Please see Program 13-4 page 524

31 “Things are only impossible until they're not”
End of Chapter


Download ppt "ADC and DAC Data Converter"

Similar presentations


Ads by Google