ADucM360 24bit ADC 테스트
ADucM360 은 Cortex-M3코어에 24bit 정밀 ADC를 내장한 MCU이다.
가장 강점이 24비트 ADC테스트를 간단히 진행해 보았다.
ADucM360 ADC블록도
입력 임피던스를 위한 Rail-To-Rail 버퍼와 128 PGA 및 필터가 내장되어 있다.
ADucM360 ADC 레지스터
ADCxCON 레지스터가 가장 중점 적으로 봐야할 레지스터 인것 같다.
ADC0CON (ADuCM360 Only)
ADC1CON (ADuCM360 and ADuCM361)
레퍼런스 설정 및 채널 설정등을 할 수 있다.
레퍼런스 제어 레지스터
REFCTRL
REFPD
Power-down reference. This bit must be cleared for the ADCs to work, regardless of if an external
reference is selected.
0: Enable internal reference block.
1: Power down internal reference block.
ADucM360 ADC초기화 함수
void ADC1INIT(void)
{
// 인터럽트 사용
AdcMski(pADI_ADC1,ADCMSKI_RDY,1);
// ADC filter set for 3.75Hz update rate with chop on enabled
AdcFlt(pADI_ADC1,124,14,FLT_NORMAL|ADCFLT_NOTCH2|ADCFLT_CHOP);
// 내부레퍼런스 , Gain of 1, Signed integer output
//AdcRng(pADI_ADC1,ADCCON_ADCREF_INTREF,ADCMDE_PGA_G1,ADCCON_ADCCODE_INT);
// AVDD레퍼런스 , Gain of 1, Unsigned integer output
AdcRng(pADI_ADC1,ADCCON_ADCREF_AVDDREF,ADCMDE_PGA_G1,ADCCON_ADCCODE_UINT);
// Turn off input buffers to ADC and external reference
AdcBuf(pADI_ADC1,ADCCFG_EXTBUF_OFF,ADCCON_BUFBYPN|ADCCON_BUFBYPP|ADCCON_BUFPOWP|ADCCON_BUFPOWN);
// 채널 선택 AIN1 - negative input, AIN0 - postive input
AdcPin(pADI_ADC1, ADCCON_ADCCN_AIN1, ADCCON_ADCCP_AIN0);
}
ADC 인터럽트 핸들러 함수
void ADC1_Int_Handler ()
{
// read ADC result register
ulADC1Result = AdcRd(pADI_ADC1);
}
ADucM360 24bit ADC테스트 동영상