ZHCU663A April 2019 – February 2021
图 2-13 展示了用于初始化 ADS131M04 的过程。当 MSP432 MCU 复位后首次设置 ADS131M04 器件以及每次执行校准时均遵循此流程。
图 2-13 ADC 初始化和同步过程在设置 ADS131M04 器件之前,测试代码会禁用 ADS131M04 调制器时钟,以防止 ADS131M04 在尝试设置时生成新样本。该代码通过禁用 MSP432 MCU 的 SMCLK 输出来禁用调制器时钟,该输出会被馈送到 ADS131M04 器件的 CLKIN 引脚。只需在校准后而不是在 MSP432 MCU 复位事件后禁用 SMCLK 输出即可,因为 MSP432 MCU 复位后会自动停止输出 SMCLK 时钟。
SMCLK 输出禁用后,配置 MSP432 MCU 的 EUSCIB0 SPI 模块,以便与 ADS131M04 器件进行通信。EUSCIB0 SPI 模块专门配置为使用 3 线模式的主器件(片选信号在测试软件中手动置位为高电平和低电平,而不是使用 SPI 模块的片选功能)并具有源自 8.192MHz SMCLK 时钟的 8.192MHz SPI 时钟。设置 SPI 后,所有中断均被禁用,并且复位命令通过 SPI 从 MSP432 MCU 发送到 ADS131M04。然后重新启用中断,并且 MSP432 MCU 向 ADS131M04 发送命令以配置其寄存器。
此时,请注意,调制时钟尚未由 MSP432 MCU 输出,这意味着采样尚未开始。通过向 ADS131M04 发送命令以初始化 ADS131M04 寄存器,可以针对以下条件配置 ADS131M04:
在初始化寄存器之前,使用 PC GUI 确定每个电流通道的 ADC 偏移估算值(以 ADC 为单位)。然后,使用相应的偏移更新电流通道的偏移校准寄存器,从两个电流通道中减去大部分 ADC 偏移。进行此失调电压校准是为了在火线和零线 ADC 通道之间实现更好的匹配,由于这些通道上使用了不同的增益,ADC 偏移明显存在差异。通过在火线和零线 ADC 通道之间实现更好的匹配,可以使火线和零线电流通道在对电表施加几乎相同的火线与零线电流时触发电流检测模式。为了实现触发电流检测模式所需的火线电流和零线电流之间更精确的匹配,也可以修改两个电流通道上的增益寄存器;但是,对于此设计,无需修改 ADS131M04 器件的增益校准寄存器就已经获得了足够好的 ADC 匹配,因此这些寄存器未修改。
在此设计中,CD_LEN=256,这样可在超过 4 个市电周期的 ADC 采样范围内执行电流检测。CD_LEN 时间决定了器件返回待机模式之前电流检测模式下所花费的最长时间。减小 CD_LEN 的值会减少电流检测模式的持续时间,从而降低交流电源故障后 ADS131M04 器件的平均电流消耗。
ADS131M04 寄存器正确初始化后,MSP432 MCU 配置为在 DRDY 出现下降沿时触发端口中断,该下降沿表示 ADS131M04 器件有新采样数据可用。接下来,MSP432 MCU 将 SMCLK 时钟输出到 ADS131M04,从而开始电压和电流采样。
ADS131M04 调制器时钟源自 CLKIN 引脚输入的时钟,该时钟由 MSP432 MCU 的 SMCLK 输出提供。馈送到 ADS131M04 器件 CLKIN 引脚的时钟在内部进行二分频后,即可生成 ADS131M04 调制器时钟。因此,ADS131M04 的采样频率如下所示:
其中
在此设计中,馈送到 ADS131M04 CLKIN 引脚的 MSP432 MCU SMCLK 时钟频率为 8.192MHz。所选的过采样率为 512。因此,ADS131M04 调制器时钟设置为 4.096MHz,采样率设置为 8000 个样本/秒。
在此设计中,使用了以下 ADS131M04 通道映射: