This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] 【分享】使用定时器模块触发ADC转换


在许多应用中,通常需要定期进行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转换的时间点。