MSPM0는 저렴함을 강조하고있는데 아날로그 기능도 다양하다. 그중에서 이번에는 DAC 기능을 테스트 해보자.
1$ 이하 MCU에서 DAC를 찾아보기 힘든데 MSPM0는 1$이하이지만 DAC 기능이 탑재 되어 있다.
다만 MSPM0L 시리즈는 8bit DAC인 것이 약간 아쉽지만 MSPM0G 시리즈는 1$이하에서도 12bit DAC가 있다.
DAC블록은 아래와 같고 다양한 옵션으로 DAC를 설정할 수 있다.
MSPM01306에서 가장 간단하게 DAC를 테스트 해자.
syscfg 를 이용해서 OPA를 추가 하고 OPA의 +채널을 DAC8 out로 설정하면 OPA를 통해 DAC출력이 가능하다.
DAC출력이 OPA를 통해 출력되기 때문에 다양한 옵션으로 버퍼, 레퍼런스 및 게인값 등을 설정 할 수 있다.
DAC출력은 OPA를 통해 출력이 가능하다. MSPM0L1306 SSM 보드는 OPA0(PA22)는 UART에 할당되어 있기 때문에 OPA1에 할당 하였다.
DAC출력은 PA16 LED에 할당되어 있기 때문에 DAC값을 LED로 확인 할 수 있다.
MSPM0L1306 DAC출력으로 LED가 서서히 밝아 지는 코드를 작성해 DAC동작을 확인 할 수 있다.
int main(void)
{
unsigned int cnt = 0;
SYSCFG_DL_init();
DL_COMP_setDACCode0(COMP_0_INST, dacValue);
DL_COMP_enable(COMP_0_INST);
DL_OPA_enable(OPA_0_INST);
while (1) {
//__WFI();
if(cnt>255)cnt = 0;
DL_COMP_setDACCode0(COMP_0_INST, cnt++);
}
}
반응형