配置 ADC 模块的采集窗口宽度
什么是采集窗口?
ADC 模块接收来自模拟信号源的信号,并用数字设备对其进行测量。数字设备不是进行连续测量,而是进行一系列离散测量,这些测量之间的间隔足够小,以达到所需的精度来近似源信号。

数字测量本身并不是一个瞬时过程,而是一个测量窗口,信号在该窗口中被采集和测量,如下图所示。

理想情况下,当测量窗口打开时,实际传入的信号应该能够被完美地测量出来。实际上,信号并不会立即达到其全部幅度。测量过程可以用类似于下图所示的电路来建模,该电路用于 F2812 eZdsp 上的 ADC。

其中测量电路具有一定的电容特性。在上图中,当开关关闭时,测量开始。在这个以电容为特征的电路中,接收到的信号不是像理想测量那样呈阶跃函数形式,而是逐渐上升到真实信号幅度。下图显示了当采样器开关关闭且接收到待测量信号时信号会发生什么情况。

由于信号采集不是瞬时的,因此设置足够宽的采集窗口非常重要,以便信号在测量之前能够逐渐增强到最大强度。如果窗口太窄,测量是在信号达到其最大幅度之前进行的,从而导致数据错误。如果窗口过宽,源信号本身可能会发生变化,采样频率可能过低,无法反映实际值,从而导致数据错误。您必须根据特定电路的电阻和电容的电路特性来计算采集窗口的宽度。然后,利用下一节中描述的 ADC 参数,您可以配置采集窗口宽度。
配置 ADC 参数以设置采集窗口宽度
访问 ADC 参数
ADC 参数可以在目标硬件资源选项卡的 Peripherals tab 中进行设置。
您可以将 ACQ_PS(采集预分频器)设置为 0 到 15 之间的值。要获得实际值,请将设置值加 1。此增量产生的实际范围为 1 到 16。
您可以将 ADCLKPS(AD 时钟预分频器)设置为 0 到 15 之间的值。要获得实际值,请将设置值加 1。此增量产生的实际范围为 1 到 16。
您可以将 CPS(时钟预分频器)设置为 0 到 1 之间的值。要获得实际值,请将设置值加 1。此增量产生的实际范围为 1 到 2。

这三个预分频器用于降低时钟速度并设置采集窗口宽度。下图展示了这些预分频器的使用方法。

在上图中,接收高速外设时钟频率,然后由 ADCLKPS 分频。降低后的时钟频率再除以 CPS。由此得到的频率就是 ADCCLK 信号。ACQ_PS 的值决定了多少个 ADCCLK 滴答构成一个 S/H(采样保持)周期,或者换句话说,决定了采集窗口的长度。
使用 ADC 参数配置采集窗口宽度
以下示例展示了如何使用 ADC 参数来配置采集窗口宽度:
示例 1:
如果 HISPCLK = 30 MHz,ADCLKPS = 1(即值为 2),则结果为 15 MHz。
如果 CPS = 1(即值为 2),则 ADCCLK = 7.5 MHz。
如果 ACQ_PS = 0(即值为 1),则采样/保持周期为 1 个 ADCCLK 时钟周期,或 0.1333 微秒。
示例 2:
如果 HISPCLK = 30 MHz,ADCLKPS = 1(即值为 2),则结果为 15 MHz。
如果 CPS = 1(即值为 2),则 ADCCLK = 7.5 MHz。
如果 ACQ_PS = 15(即值为 16),则采样/保持周期为 16 个 ADCCLK 时钟周期,或 2.1333 微秒。
注意
HISPCLK 会自动为用户设置,无法更改速率。有关详细信息,请参阅高速外设时钟