Did you know that you can navigate the posts by swiping left and right?

ADC 설명

22 Jan 2018 . category: tech . Comments
#atmega128 #mechatronics #science knowledge

ADC 즉 아날로그 디지털 컨버터는 외부의 아날로그적 신호를 디지털 신호로 변환해 받아서 어떠한 조건을 수행하는 개념이다. 우리가 쓰고있는 atmega128에는 10비트의 분해능을 가지고 있고 단극성과 차동입력이라는 두가지 사용법이 있는데 단극성은 가장 일반적인 입력 방법으로 접지와의 전위차를 사용하여 신호원의 전압을 측정하는 방법입니다. 하나의 신호 소스에 두줄만 사용하는 이점이 있습니다. (직접 1:1로 연결된다고 생각하면 될 것 같다.) 차동입력은 두개의 입력포트로 각 신호가 들어가게되고, 입력신호가 두 신호의 전압차로 주어지는 개념입니다. A/D 에 대한 기준접압은 A/D 변환되는 접압의 범위를 나타내며 최대치를 내가 어디로 정해줄건지에 따라 그 전압의 범위가 정해진다. A/D에 관련 레지스터는 ADMUX와 ADCSRA 그리고 ADCH, ADCL이 있는데 우선 MUX의 개념을 살펴보면 mux로 받는 입력 핀 여러개가 주어진다고 가정했을때 코드적으로 그것을 선택해 출력할 수 있는 소스를 만들어 전송할 수 있도록 해주는 장치이다. 이렇게 ADMUX는 아날로그 입력채널 선택, 기준접압 소스 선택, 변환결과의 저장형식을 지정한다. ADCSRA는 A/D 변환기의 동작을 제어하거나 상태를 표시하는 기능을 가지는데 비트마다 각 특성이 저장되어 있다. 간략히 소개를 하자면 7비트는->동작여부 6비트는->변환시작 5비트는->프리러닝 4비트는->변환완료, 즉 ADC interrupt 가능하게 설정 3비트는->인터럽트 에이블 0~2비트는-> 분주비의 특성을 가집니다. 다음으로 ADCH와 ADCL은 변환된 결과를 저장하는 레지스터인데 ADMUX의 5비트의 ADLAR이 1일때와 0일때 어디부터 읽혀지는지 유의해야한다. 16비트 레지스터를 읽을 때는 반드시 하위 바이트부터 읽도록 해야한다.


Me

github를 이용해 만들어본 블로그입니다.