Transcript avr_adc
Analog to Digital Converter(Atmega128) KyungHee Univ. 2-0 Analog to Digital Converter Features 10-bit Resolution 13 - 260 μs Conversion Time 8 Multiplexed Single Ended Input Channels 7 Differential Input Channels 2 Differential Input Channels with Optional Gain of 10x and 200x Optional Left Adjustment for ADC Result Readout 0 - VCC ADC Input Voltage Range Selectable 2.56 V ADC Reference Voltage Free Running or Single Conversion Mode Interrupt on ADC Conversion Complete KyungHee Univ. 1-1 ATmega128 ADC 8채널 아날로그 입력은 PORT F를 통해 입력되며, Analog Multiplexer에 의해 A/D 변환기에 연결된다. 변환 기간 동안 아날로그 입력전압을 일정하게 하는 Sample/Hold회로를 내장 하고 있다. 기준전압 VREF는 A/D 변환되는 전압의 범위를 나타 내며, 단 극성 모드에서 VREF는 0x3FF로 변환된다. VREF는 AVCC, 내부 2.56V, 외부 AREF 단자에 공급 되는 전압 중에서 선택 한다. 단 극성인 경우 0~ VREF의 입력전압이 공급되어 x000~0x3FF(0~1023)의 디지털 값으로 변환되며, 차동입력의 경우 차동 입력전압이 2의 보수 0x200~0x1FF(-512~511)로 변환된다. 변환결과는 16비트 A/D변환기 데이터 레지스터에 좌 측 또는 우측으로 정렬되어 저장 KyungHee Univ. 1-2 Analog to Digital Converter Block Schematic KyungHee Univ. 2-3 ADC Prescaler KyungHee Univ. 2-4 ADC Conversion Time ADC Conversion Result Single Ended Conversion ADC = (Vin *1024) / VREF Differential Channel Conversion ADC = ((Vpos – VNEG) * Gain * 512) / VREF KyungHee Univ. 2-5 ATmega128 ADC 레지스터 ADCMUX (ADC Multiplexer Selection Register) ADC 기준전압(reference voltage) 선택 ADC 변환 값 정렬 방법 지정 ADC 입력채널 지정 (ADCSRA)ADC Control and Status Register ADC ADC ADC ADC ADC ADC Enable/Disable Start Conversion Free Running Select Interrupt Flag Interrupt Enable/Disable Clock Division Factor ADCL, ADCH ( ADC Data Register) KyungHee Univ. 1-6 Register Description ADMUX - ADC Multiplexer Selection Register A/D 변환기의 아날로그 입력채널 선택, A/D 변환의 기준 전 압을 설정하거나 변환결과의 저장 형식을 지정 Bit 7:6 – REFS1:0: Reference Selection Bits ADC 기준 전압을 설정하는 비트, 만약 이 Bit(7:6) 값들이 ADC 변환 도중에 변경된다면, 그 변환이 끝난 이후부터 변경된 값이 적용된다. KyungHee Univ. 1-7 Register Description Bit 5 – ADLAR: ADC Left Adjust Result A/D 변환결과를 ADCH:ADCL에 저장하는 형식을 지정 0:하위부터 10비트를 사용, 1: 상위부터 10비트를 사용 Bits 4:0 – MUX4:0: Analog Channel and Gain Selection Bits KyungHee Univ. 1-8 Bits 4:0 – MUX4:0: Analog Channel and Gain Selection Bits KyungHee Univ. 1-9 Bits 4:0 – MUX4:0: Analog Channel and Gain Selection Bits (1)은 offset calibration에 사용 한다. KyungHee Univ. 1-10 ADC Control and Status Register A Bit 7 – ADEN: ADC Enable ADEN = 1 ; ADC Enables ADEN = 0 ; ADC Disables Bit 6 – ADSC: ADC Start Conversion Single Conversion mode 일 경우 ADSC에 1을 Write ; A/D 변환이 시작,변환완료 시 0로 Reset ADSC에 0을 Write ; No effect Free Running mode 일 경우 ADSC에 1을 Write ; Start the first conversion KyungHee Univ. 1-11 ADC Control and Status Register A Bit 5 – ADFR: ADC Free Running Select Bit 4 – ADIF: ADC Interrupt Flag Bit 3 - ADIE: ADC Interrupt Enable Bits 2:0 – ADPS2:0: ADC Prescaler Select Bits XTAL frequency 과 ADC Input clock의 division factor KyungHee Univ. 1-12 ADC Control and Status Register A Bit 4 – ADIF: ADC Interrupt Flag Bit 3 - ADIE: ADC Interrupt Enable Bits 2:0 – ADPS2:0: ADC Prescaler Select Bits XTAL frequency 과 ADC Input clock의 division factor KyungHee Univ. 1-13 ADC Register Right Adjusted Mode: ADLAR = 0 Left Adjusted Mode: ADLAR = 1 KyungHee Univ. 1-14 ATmega128 ADC 프로그램 예 cho_adc_basic_lcd 참고 요 KyungHee Univ. 2-15