Presentation is loading. Please wait.

Presentation is loading. Please wait.

ATmega128 기초와 응용 A/D 변환기.

Similar presentations


Presentation on theme: "ATmega128 기초와 응용 A/D 변환기."— Presentation transcript:

1 ATmega128 기초와 응용 A/D 변환기

2 A/D 변환기 A/D 변환기 A/D 변환기는 센서 등에서 출력되는 아날로그 값을 컴퓨터와 같은 디지털 시스템에서 사용 가능한 디지털 값으로 변환해 주는 기능을 갖는 장치이다. 즉, 컴퓨터에서는 두 가지 상태를 나타내는 0과 1로 구성된 디지털 값만 취급할수 있으므로, 0과 1이외의 연속적인 값을 출력하는 센서와 직접 연결하여 사용할 수 없다. 따라서, 디지털 값만 취급할수 있는 컴퓨터와 아날로그 값을 출력하는 센서를 연결하기 위해서는 A/D변환기가 필요하다. < Atmega128의 A/D변환기 특징 > 10비트의 분해능을 가지고 있다. 8개의 단극성 입력 채널 22종류의 차동 입력 아날로그 입력 신호 10배 또는 200배 (차동입력만 가능, 싱글 엔드(단극성)는 없음) 선택 가능한 2.56V 내부 기준전압

3 A/D 변환기 Atmega128에서 신호를 입력받는 방법은 2가지 이다. 1. Single-ended
2. Differential 차동입력 - 차동입력은 두개의 입력포트로 신호가 각 신호가 들어가게되고, 입력신호는 두 신 호의 전압 차로 주어진다. 차동입력이 싱글엔드 입력에 비해서 잡음에 강한 특성을 가진다. 싱글엔드 입력에 잡음이 들어오게 되면 그 잡음또한 그대로 입력되는 특성이 있으 나,차동 입력은 두 신호선에 잡음이 공통으로 나타나게 되면 두 신호의 차에는 잡음이 제거된다. 이 때 두 신호선에 공통으로 나타나는 잡음을 공통모드잡음(Common Mode Noise) 라고 한다. 그러나 잡음이 공통모드가 아닐시에는 차동입력또한 잡음을 제거하지 못한다. 

4 A/D 변환기 관련 레지스터 ■ ADMUX(ADC Multiplexer Selection Register) : A/D변환기 멀티플렉서 선택레지스터 - bit 7,6 – REFS1,REFS0 (Reference Selection Bits) 기준전압을 선택하는 비트 - bit 5 – ADLAR (ADC Left Adjust Result) 0으로 설정 시 하위부터 10비트를, 1이면 상위부터 10비트를 저장한다. (페이지 8 참조)

5 A/D 변환기 관련 레지스터 ■ ADMUX(ADC Multiplexer Selection Register) : A/D변환기 멀티플렉서 선택레지스터 - bit 4~0 – (Analog Channel and Gain Selection Bits) 아날로그 입력채널과 차동 입력 채널을 선택하는 비트

6 A/D 변환기 관련 레지스터 ■ ADCSRA(ADC Contral and Status Register A) : A/D변환기 제어 및 상태 레지스터 A - bit 7 – ADEN (ADC Enable) 이 비트가 1이면 A/D변화기의 동작이 허용되고, 0이면 동작이 정지된다. - bit 6 – ADSC (ADC Start Conversion) [ 단일모드 ] - 이 비트를 1로 하면 A/D변환이 시작된다. [ 프리 러닝 모드] - 이 비트를 1로 하면 첫번째 변환에서는 25개의 클럭이 필요 - 그 다음부터는 13개의 클럭이 소요 된다. Ex) (16mHz / 분주기(프리스케일러)) / 13클럭 - bit 5 – ADFR (ADC Free Running Select) 이 비트를 1로 하면 프리러닝모드로 동작하며 반복적으로 A/D 변환을 수행한다.

7 A/D 변환기 관련 레지스터 ■ ADCSRA(ADC Contral and Status Register A) : A/D변환기 제어 및 상태 레지스터 A - bit 4 – ADIF (ADC Interrupt Flag) A/D변환이 완료되어 A/D변환기 데이터 레지스터의 값이 갱신되면 셋이 된다. 만약 이 레지스트와 SREG레지스터의 I비트가 1이되면 인터럽트 서비스루틴이 요구된다. - bit 3 – ADIE (ADC Interrupt Enable) SREG 레지스터의 I비트와 함께 1이면 인터럽트가 인에이블 된다, - bit 2~0 – ADPS2~0 (ADC Prescaler Select Bits) 클럭에 따라 빨리 할 능력도 없는데 빠르면 못따라가기 때문에 일부로 늦쳐준다.

8 A/D 변환기 관련 레지스터 ■ ADCH, ADCL (ADC Date Register) – A/D 변환기 데이터 레지스터
- 변환하면 저장되는 레지스터 -> 오른쪽 정렬, 싱글엔드 변환일때만 쓴다. 이유(왼쪽 정렬을 하면 응수 인지 양수인지 모른다.) - > 왼쪽정렬 ※ 변환결과는 ADCL,ADCH 순으로 읽어도 되지만, <mega128.h>에 비트 레지스터명 ADCW로 선언되어있어서 이를 사용해도된다.

9 A/D 변환기 실험 ADC6에 입력되는 전압을 7-segment에 표시하기 bit 7 – ADEN (ADC Enable)
- bit 6 – ADSC (ADC Start Conversion) [ 단일모드 ] - 이 비트를 1로 하면 A/D변환이 시작된다.

10 A/D 변환기 실험 따라서, 전압 결과값은 2.1xV가 나오고 이 기준으로 0과 1로 디지털신호로 바꾼다.


Download ppt "ATmega128 기초와 응용 A/D 변환기."

Similar presentations


Ads by Google