본문 바로가기

환영합니다~45

ADC(Analog-to-Digital Converter) 사용하기 - 4 ADC에 전원공급을 했으니 이제 타이밍 다이어그램을 참고하여 ADC를 이용하여 LCD에 출력할 수 있는 ADC_run()함수를 구현해보자. 위의 다이어그램은 특정 레지스터에 특정 값이 들어왔을 때 ADC_SR레지스터의 EOCx비트와 DRDY비트가 변화하는 것을 보여준다.좌측과 우측의 ①, ②, ③은 모두 동일하나 ④에서 다른 모습을 보여준다. ① ADC_CR의 START 비트를 1로 설정하면 ADC에서 값을 읽어오는 ② Conversion Time이 시작된다.Conversion Time이 완료되면 ③에서 처럼 ADC_SR레지스터의 EOCx와 DRDY비트가 HIGH로 설정되는데④ ADC_CDRx 레지스터를 읽을 경우 EOCx의 값은 LOW로 내려가지만 DRDY의 값은 변화가 없다.하지만 ④에서 처럼 ADC.. 2013. 5. 1.
ADC(Analog-to-Digital Converter) 사용하기 - 3 이번에는 ADC를 깨워주는 ADC_init()함수를 작성해보자.#define ADC_CR (*((volatile unsigned int *)0xFFFD8000))// Control Register :546P #define ADC_CHER (*((volatile unsigned int *)0xFFFD8010))// Channel Enable Register #define ADC_MR (*((volatile unsigned int *)0xFFFD8004))// Mode Register #define SWRST 0 // ADC_CR P.547 #define START 1 #define CH0 0 #define CH1 1 #define CH2 2 #define CH3 3 #define CH4 4 #define .. 2013. 5. 1.
ADC(Analog-to-Digital Converter) 사용하기 - 2 이제 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의 전원을 공급할 수 있다는걸 알 수 있다. #defin.. 2013. 5. 1.
ADC(Analog-to-Digital Converter) 사용하기 - 1 ADC란? Analog to Digital Converter의 약자로 아날로그 신호를 디지털 신호로 바꿔주는 장치를 말한다. 연속적인 아날로그 신호를 이산적인 디지털 신호로 바꾸는 것이다.이처럼 연속된 신호를 수치화된 신호(이산신호)로 나누는 것을 표본화 또는 샘플링(Sampling)이라 하고, 단위 시간동안의 샘플링 횟수를 나타낸 분해능은 샘플링 주파수(Sampling Rate 또는 Frequency)라 하며 단위는 Hz를 사용한다. 전압을 나눈 비트단위로 나눈 분해능을 해상도(Resolution)라 한다. 만약 10bit의 분해능을 가졌다고 한다면 2의 10승인 1024단계의 전압을 표현할 수 있다. 분해능과 주파수가 높을 수록 더욱 정밀한 데이터를 표현가능하다.. 2013. 4. 29.