공부/AVR 2012. 11. 9. 17:05

 

10.ADC

10.1 특징 및 기능

아날로그 디지털 변환기(A/D 컨버터)는 센서와 같은 소자에서 들어오는 아날로그 값을 디지털 값으로 변경하는 기능을 말합니다. Atmega128의 경우 10비트 축차 근사형의 A/D 컨버터를 1개 내장하고 있다. 입력 받을 수 있는 PIN 이 8개가 있습니다. 내부에 가지고 있는 MUX를 이용하여 채널을 바꿔가며 8개의 PIN중 사용용도에 따라 아날로그 신호선택적으로 입력받을 수 있습니다.A/D 컨버터를 제어하기 위한 레지스터로는 아날로그 디지털 멀티플렉서 선택 제지스터(ADMUX)와 아날로그 디지털 컨버터 제어 상태 레지스터(ADCSR)를 가지고 있습니다.

 

특징

8채널의 입력포트

10비트 분해능

축차 비교형

내부 아날로그 멀티플렉서 탑재

샘플/홀드회로 탑재로 인하여 A/D 동작동안 전압 고정화

단극성 아날로그 입력 및 차동입력 선택 가능

포트F는 아날로그 입력 및 아날로그 비교기 기능으로도 사용 가능

변환시간(13us~260us – 50KHz~200KHz)

ADC 정확도 성능 향상을 위한 독립 전원 구성 가능

입력 전압의 범위는 일반일력에서 0V~Vref 또는 차동입력에서 -Vref ~ Vref 까지 가능

Vref는 VCC전압 또는 내부 레퍼런스 전압(약 2.56V) 또는 외부 레퍼런스 사용가능

 

아날로그 값을 디지털 값으로 변환시 에는 디지털 값의 표현 한계로 인한 양자화 오차 라는 것이 있습니다. 이 오차는 분해능이 높은 ADC 사용으로 극복할 수 있 수 있습니다. 외부적인 노이즈 등의 의한 오차일 경우에는 ADC 변경으로 인해도 그 오차를 잡을수 없습니다. 이때는 입력단에 필터 회로를 넣고 ADC 변환값을 일정 횟수 평균값을 취하여 오차를 줄일수도 있습니다. 또한 AVCC 와 AGND 단에 안정한 전원을 연결하고Vref 단자에 정밀한 외부 레퍼런스를 입력하여 그 오차를 줄일수도 있습니다.

 

1) 레지스터

- ADMUX(ADC Multiplexer Selection Register)

Bit 7, 6 , REFS1~0(Reference Selection Register) : 레퍼런스를 설정한다.

Bit 5, ADLAR(ADC Left Adjust Result) : ADC변경값에 읽는 방식을 설정한다.

Bit 4~0, MUX4~0(Analog Channel and Selection Bit) : 입력 PIN에 대한 설정을 한다.

- ADCSRA(ADC Control and Status Register A)

Bit 7 – ADEN(ADC Enable) : ADC 동작 Enable

Bit 6 – ADSR(ADC Start Conversion) : ADC Conversion 시작 설정

Bit 5 – ADFR(ADC Free Running Select) : ADC를 계속해서 또는 한번만 변환할지 설정

ADFR=1 : 프리런닝모드, ADFR=0 : 단일변환모드

Bit 4 – ADIF(ADC Interrupt Flag) : 인터럽트 발생을 알림

Bit 3 – ADIE(ADC Interrupt Enable) : 인터럽트 발생 설정

Bit 2,1,0 – ADPS2~0(ADC Prescaler Select Bit) : ADC 동작설정

- ADCH/L(ADC Data Register)

ADC 측정한 후 그 값을 저장 합니다. 저장 방식은 두가지며 ADLAR bit 설정에 따라 달라집니다.

 

 

 

 

 

 

'공부 > AVR' 카테고리의 다른 글

Atmel 신규(?) 디버거 Jtagice3  (0) 2013.04.24
[ATMEGA128] 11. EEPROM  (0) 2012.11.09
[ATMEGA128] 10. ADC  (0) 2012.11.09
[ATMEGA128] 9. TWI (I2C)  (0) 2012.11.09
[ATMEGA128] 8.SPI  (0) 2012.11.09
[ATMEGA128] 7.USART  (0) 2012.11.09
posted by 큰파도

댓글을 달아 주세요