Embedded 실습/AT91SAM7S256

ADC(Analog-to-Digital Converter) 사용하기 - 2

중동콜링 2013. 5. 1. 19:40

이제 ADC를 ARM칩의 DATA SHEET에 맞춰 코딩을 해본다.

우선 ADC의 BLOCK DIAGRAM을 살펴보자.


ADC를 우선 사용하려면 전원공급부터 해야 한다.

PMC는 Power Management Controller 의 약자로 전원을 공급하는 유닛이다.


PMC의 레지스터를 살펴보자.



PMC_PCER이 각 주변장치(Peripheral)에 클럭을 공급해주는 레지스터임을 확인할 수 있다.

그런데 PMC_PCER에는 주변장치의 ID를 입력해주어야 한다.


ADC의 ID는 데이터 시트 10장 Peripheral에서 찾을 수 있다.

ADC의 ID는 4인걸 알 수 있다. 


이로써 PMC_PCER레지스터에 ADC에 해당하는 4번째 비트에 1을 대입해주면 ADC의 전원을 공급할 수 있다는걸

알 수 있다.


#define PMC_PCER (*((volatile unsigned int *)0xFFFFFC10))
#define ADC_ID 4

PMC_PCER = 1 << ADC_ID; // 전원공급


위 코드와 같이 PMC_PCER 레지스터의 주소를 찾아 define해주고

ADC의 ID만큼 시프트 연산을 해준뒤 대입하면 ADC의 전원공급이 가능해진다.