220 likes | 805 Views
ATmega128 의 A/D 컨버터 제어. Robotics_LAB 발표자 : 유 홍 선. A/D 컨버터 제어. A/D 컨버터의 개요 A/D 컨버터란 ? 연속적인 신호인 아날로그 신호를 디지털 신호로 변환하는 일을 하는 기계장치를 아날로그 디지털 변환기 (AD Convertor) 라고 한다. A/D 컨버터 제어. A/D 컨버터의 개요 A/D 컨버터의 특징 8 채널 10 비트 분해능 축차 비교형 내부 아날로그 멀티플렉서 탑재 샘플 / 홀드회로 탑재로 인하여 A/D 동작동안 전압 고정화
E N D
ATmega128의 A/D 컨버터 제어 Robotics_LAB 발표자 : 유 홍 선
A/D 컨버터 제어 • A/D 컨버터의 개요 • A/D 컨버터란? • 연속적인 신호인 아날로그 신호를 디지털 신호로 변환하는 일을 하는 기계장치를 아날로그 디지털 변환기(AD Convertor)라고 한다.
A/D 컨버터 제어 • A/D 컨버터의 개요 • A/D 컨버터의 특징 • 8채널 • 10비트 분해능 • 축차 비교형 • 내부 아날로그 멀티플렉서 탑재 • 샘플/홀드회로 탑재로 인하여 A/D 동작동안 전압 고정화 • 단극성 아날로그 입력/차동입력 선택 • 포트F는 아날로그 비교기 기능으로도 사용 가능 • 변환시간(13us~260us – 50KHz~200KHz)
A/D 컨버터 제어 • A/D 컨버터의 개요 • A/D 컨버터의 구성 • 범용 PORTF의 특수 기능 • ADC0 ~ 7 : 8채널 10Bit A/D컨버터의 아날로그 입력단자 • ADC 정확도 성능 향상을 위한 독립 전원 구성 • AVCC : Analog Supply Voltage • AGND : Analog Ground(반드시 GND와 연결) • AREF : Analog Reference Voltage • 입력 전압의 범위 • 일반 모드 입력전압의 범위(0V~Vref) • 차동입력 모드 입력전압의 범위(-Vref ~ Vref) • Vref의 범위 • 전원전압 VCC를 초과할 수 없다.(VREF=VGND~VCC, 내부기준전압 2.56V)
A/D 컨버터 제어 • A/D 컨버터의 동작 • 레지스터의 사용 • A/D 컨버터를 제어하기 위해서는 ADC 관련 레지스터(ADMUX, ADCSRA, ADCH/L)의 사용법을 알아야 한다. • ADMUX –아날로그 입력 채널 선택, 기준전압 소스 선택, 변환결과 저장 형식을 지정하는 기능을 수행 • ADCSRA – A/D 컨버터의 동작 설정 및 동작 상태를 표시 • ADCH/L – ADC의 변환결과를 저장
A/D 컨버터 제어 • A/D 컨버터의 동작 • 레지스터의 사용 • ADMUX(ADC Multiplexer Selection Register) • Bit 7, 6 – REFS1~0(Reference Selection Register) • Bit 5 – ADLAR(ADC Left Adjust Result) • Bit 4~0 – MUX4~0(Analog Channel and Selection Bit)
A/D 컨버터 제어 • A/D 컨버터의 동작 • 레지스터의 사용 • ADCSRA(ADC Control and Status Register A) • Bit 7 – ADEN(ADC Enable) • Bit 6 – ADSR(ADC Start Conversion) • Bit 5 – ADFR(ADC Free Running Select) • 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)
A/D 컨버터 제어 • A/D 컨버터의 동작 • 레지스터의 사용 • ADCH/L(ADC Data Register)
A/D 컨버터 제어 • A/D 컨버터의 동작 • ADC 활성화(ADEN=1) • ADC 클럭설정(ADPS 2~0) • ADC 기준전압설정(REF 1~0) • ADC 입력채널설정(MUX 4~0) • ADC 동작모드설정(ADFR) • ADC 변환 완료 인터럽트 활성화(ADIE) A/D 컨버터 초기화 설정 A/D 변환 완료 인터럽트 요청 A/D 컨버터 스타트 (ADC 시작신호:ADSC) ADC 상태플래그 셋 (AIDF = 1) A/D 변환 ADC 다음 동작 결정 (단일/연속동작) A/D 변환 완료 (변환값을 ADCH/L에 저장)
A/D 컨버터 제어 • A/D 컨버터의 동작 • A/D 변환 오차 • 양자화 오차(Quantization error) • 아날로그 값을 디지털 값으로 변환하면서 생기는 변환의 한계 • 대처방안 : 분해능이 높은 ADC사용으로 극복 • 오프셋 오차(Offset error) • 변환 결과가 이상적인 디지털 값에서 일정한 양만큼 벗어난 상태 • 대처방안 : 변환된 디지털 값에서 일정치 값을 더하거나 빼서 교정 • 이득 오차(Gain error) • 변환 결과가 이상적인 디지털 값에서 일정한 비율만큼 벗어난 상태 • 대처방안 : 변환된 디지털 값에서 일정치 값을 곱하거나 나누어서 교정 • 비선형 오차(Integral non-linearity error) • 차동 비선형 오차(Differential non-linearity error)
A/D 컨버터 제어 • A/D 컨버터의 동작 • 잡음 제거 방법 • AVCC = 독립적인 아날로그 회로 전원 단자 • AREF = 기준 전원 입력 단자 • AGND = 아날로그 회로 접지 단자 • 아날로그 입력은 최소한으로 짧게 하고 잡음의 영향이 없도록 회로를 구성한다. • 아날로그 전원단자 AVCC에 VCC를 인가할때는 LC필터를 거쳐 안정화 시킨다. • 아날로그 회로의 모든 접지는 AGND에 접지하여 한 포인트에서만 GND와 접속한다. • ADC 동작중에는 병렬 I/O포트의 논리상태를 스위칭하지 않는다. • 잡음에 민감한 아날로그 소자의 ADC의 경우에는 ADC Noise Reduction mode를 사용한다. • 잡음이 심하여 결과값의 변동이 심하면 디지털 필터를 사용하거나 평균치를 구하여 사용한다.
A/D 컨버터 제어 • A/D 컨버터의 예제
A/D 컨버터 제어 • A/D 컨버터의 동작 결과
아날로그 비교기 제어 • 아날로그 비교기의 기본구조
아날로그 비교기 제어 • 아날로그 비교기의 레지스터 사용 • Bit 3 – ACME(Analog Comparator Multiplexer Enable) • 아날로그 비교기의 음극성 입력에 A/D컨버터의 입력 신호가 사용될 수 있도록 허용
아날로그 비교기 제어 • 아날로그 비교기의 레지스터 사용 • Bit 7 – ACD (Analog Comparator Disable) • 아날로그 비교기의 동작을 금지 시키는 비트 • Bit 6 – ACBG (Analog Comparator Bandgap Select) • 아날로그 비교기의 양극성 입력에 인가되는 전압을 선택 • Bit 5 – ACO (Analog Comparator Output) • 아날로그 비교기의 출력값으로서 클럭과 동기 되어 발생 • Bit 4 – ACI (Analog Comparator Interrupt Flag) • Bit 3 – ACIE (Analog Comparator Interrupt Enable) • Bit 2 – ACIC (Analog Comparator Input Capture Enable) • Bit 1~0 – ACIS1~0 (Analog Comparator Interrupt Mode Select)
아날로그 비교기 제어 • 아날로그 비교기의 예제
아날로그 비교기 제어 • 아날로그 비교기의 동작결과
Thank You http://cafe.naver.com/roboticslab.cafe