在许多应用中,通常需要定期进行ADC转换。此文章描述了如何使用MSP430微控制器上的计时器模块触发ADC转换(在这里以ADC12_A为例 )。
一 SHI信号输入选择
在某些MSP430x5xx6xx器件上可用的ADC12_A模块上,可以使用定时器输入来触发ADC转换。这由ADC12CTL1寄存器的ADC12SHSx位的设置控制,如下所示:
如上所示,ADC12SHSx位从ADC12CTL0寄存器的ADC12SC位和来自定时器模块的其他三个信号中选择SHI(采样和保持输入)信号的输入源。如有必要,还可以通过使用ADC12CTL1寄存器的ADC12ISSH位来反转输入信号。根据《 MSP430x5xx/6xx User's Guide》,模数转换是在SHI信号的上升沿启动的。
二 定时器输出信号
有关从定时器模块触发的ADC转换的信号的相关信息,可在设备特定的数据表中找到(在“ Peripherals”部分下,描述了设备上可用外设的设备特定信息)。以下示例来自MSP430F543xA和MSP430F541xA数据表:
如上所示,在MSP430F54xxA器件上选择ADC12SHSx位时,如下所示:
- 1 -SHI触发输入将取自TA0.CCR0输出信号
- 2 -SHI触发输入将取自TB0.CCR0输出信号
- 3 -SHI触发输入将取自TB0.CCR1输出信号
如上所述,ADC转换在SHI信号的上升沿触发。因此,TAxCCTLn,TBxCCTLn的OUTMOD位以及ADC12ISSH位(用于反转输入信号)的配置,决定了触发ADC转换的时间点。