Analog Signal 의 PWM 출력

Download Report

Transcript Analog Signal 의 PWM 출력

Analog Signal 의 PWM 출력
By hyaoo
I.




기본배경
음성 및 가변저항(Analog Signal)을 디지털 데이터로
변환 후 PWM의 듀얼비 조절하여 스피커에 출력한다.
사람의 음성 주파수 300~3400hz
3400hz대까지 보존하려면 최소 6400hz으로샘플링
– //대략 약간의 마진을 두어 8Khz
샘플로 나누어 각 샘플마다 진폭값을 부여하는
것으로, 이를 펼스진폭변조(Pulse Amplitude
Modulation)방식이라고도 한다.
II.
환경설정
III.

ADC (Analog-to-Digital Converter)
sampling time?
–
아날로그 신호의 시간 축으로 조밀한 간격으로
디지털 값으로 변화시킬 것인가 결정하는 단위.
–
샘플링 시간은 변환하고자 하는 아날로그 신호에
있는 가장 빠른 주파수보다 최소 2배 이상 빠른
주파수로 샘플링 시간을 결정해야 함.
–
2407은 2.6MHz[375ns]까지 샘플링 시간결정.
IV.

ADC (Analog-to-Digital Converter)
양자화 단위
–
아날로그 신호의 신호 크기 축으로 얼마나 조밀한
간격으로 디지털 값을 바꿀 것인가를 결정하는
단위.
–
2407에서는 10비트 양자화 단계 제공

210 = 1024 단계 0~1023
V.

ADC (Analog-to-Digital Converter)
2407에서의 기능
–
–
–
16개의 채널제공
각 채널에 대한 A/D 변환 버퍼 레지스터제공
사용자가 각 채널의 순서를 지정변환

–
(auto-sequencing capability)
8개씩 2개로 나누어 독립적으로 순서 설정

(daul sequencer mode)
VI. PWM (Pulse Width Modulation)

Duty cycle
–
전체 주기에서 하이 레벨의 펄스 폭의 %
VII. PWM (Pulse Width Modulation)

PWM신호는 아날로그
신호레벨을 디지털
신호로 묘사하는데
매우 유용
–
PWM의 듀티는 아날로그
신호의 에너지 의미
VIII. Programming (ADC)
void c_int2(void)
// EVA의 timer1 인터럽트 서비스 루틴
{
DI;
..
AD0 = (RESULT0>>6)&0x03FF;
ADCTRL2 |= 0x4200;
PADATDIR = 0xff00 | AD0;
PEDATDIR = 0xff00 | ((AD0 >> 8)&0x0003);
..
EI;
}
IX. Programming (ADC)
void main(void)
{
// Timer interrupt setting
..
EVA_ENABLE;
GPTCONA |= 0x0100;
T1DISABLE;
T1CON = 0x5700; // continue_up_cnt, x/128, internal_clk
T1PR = 62499;
// 5Hz
T1CNT = 0;
T1ENABLE; ..
SET(EVAIMRA,T1PINT_ENA); // Timer1 Period Int.를 사용
..
X.
Programming (ADC)
..
// ADC setting
ADC_ENABLE;
ADCTRL1 = 0x4000;
NOP;
// delay
ADCTRL1 = 0x2092;
MAXCONV= 0x0003; // 4 channels
CHSELSEQ1 = 0x0000; // 0,0,0,0 순서로 변환
ADCTRL2 |= 0x4700;
SET(IMR,INT2_MASK|INT1_MASK);
EI;
..
XI. Programming (PWM)
SET_PWM1;
ACTRA = 0x0009;
T1PR = (CPU_clk / PWM_PERIOD);
// PWM_PERIOD = ADC_PERIOD;
CMPR1 = (unsigned int) (T1PR * AD_DATA);
– // AD_DATA = (AD0/1024)*100;
COMCONA = 0xc200;
T1CON = 0xD040;
XII. 예상결과



일상의 모든 신호들을 digital data화시켜 여럿
일상DATA를 활용 가능함
각종 센서를 이용 사물을 측정하여 얻어낸
데이터 값으로 활용하여 비교 분석
Ex)
–
–
온도센서이용 온도가 점점 올라갈수록 선풍기의
모터를 점점 빠르게 한다.
조도센서를 이용 밝기에 비례하여 전구의 밝기를
제어한다.