ZHCU663A April 2019 – February 2021
前台进程包括 MSP432 硬件和软件的初始设置,以及器件复位后立即进行的 ADS131M04 寄存器设置。图 2-14 显示了此进程的流程图。
图 2-14 前台进程初始化例程涉及以下方面的设置:MSP432 通用输入/输出 (GPIO) 端口引脚和相关的端口映射控制器、MSP432 时钟系统、MSP432 USCI_A0(用于 UART 功能)、MSP432 RTC 模块(用于时钟功能)、MSP432 LCD、MSP432 DMA、ADS131M04 寄存器以及 MSP432 计量变量。
硬件设置完成后,从 GUI 接收到的任何帧都会被处理。如果选择了 RS-485 与 PC GUI 进行通信,THVD1500 器件必须驱动 RE 和 DE 引脚信号,在适当的时间启用接收器和驱动器,以接收来自 PC GUI 的数据包并将响应发送回 GUI。任何数据包从 MSP432 MCU 发送到 PC GUI 后,前台进程负责在数据包完全从 MSP432 MCU 发出之后、GUI 发送下一数据包之前,将 RE 和 DE 引脚置为有效。
随后,前台进程检查后台进程是否已通知其以计算新的计量参数。该通知是在存在可处理的数据帧时通过使“PHASE_STATUS_NEW_LOG”状态标志有效来完成的。数据帧包含在后台进程中处理后累积约一秒的点积。这相当于累积了与输入电压信号同步的 50 或 60 个数据周期。此外,采样计数器会跟踪在此帧周期内累积的样本数。此计数会随着软件与传入的市电频率同步而变化。
处理的点积包括 VRMS、IRMS、有功功率和无功功率。前台进程使用这些点积来计算以实际单位表示的相应计量读数。经过处理的电压点积、电流点积、有功电能点积和无功电能点积累积在单独的 64 位寄存器中,供进一步处理和获取 RMS 与平均值。使用前台进程的有功功率和无功功率计算值,可计算出视在功率。还可使用节 2.3.2.3.2.1中的公式,根据由后台进程计算出的参数值,计算出频率 (Hz) 和功率因数。
前台进程也会更新 LCD。LCD 显示项每两秒钟更改一次。有关 LCD 上不同显示项的详细信息,请参阅节 2.4.2.1.4.1。
前台进程同样负责触发 MSP432 MCU 控制 ADS131M04 器件进入或退出电流检测模式。在本设计中,标有 LED1 的 LED 用于显示系统在特定时间段内是否曾检测到篡改行为,该时间段是从 TPS7A78 器件发出电源故障指示开始,到其再次发出电源正常指示为止。此外,还有一个变量用于记录在同一时间内,ADS131M04 器件因检测到篡改事件而向 MSP432 发出告警的次数。
如果 MSP432 根据来自 TPS7A78 器件的电源故障指示而收到进入电流检测模式的触发信号,则篡改计数变量会被清零,使其仅统计自上一次电源故障以来检测到的篡改次数,而不是自 MSP432 MCU 上次复位以来检测到的篡改总次数。在清除篡改计数变量后,如果篡改 LED 此前已被点亮,则系统会将其关闭。随后,系统进入电流检测模式。
如果 MSP432 根据来自 TPS7A78 器件发出的电源正常信号而收到退出电流检测模式的触发信号,系统会检查篡改计数变量,以判断 ADS131M04 器件是否检测到超过两次的篡改事件。如果 ADS131M04 检测到两次以上的篡改事件,篡改 LED 将被点亮,用以指示系统已检测到篡改行为。之所以将“篡改事件”定义为 ADS131M04 检测到超过两次的篡改事件,是为了避免系统在以下两种情况下误报篡改:(1) 首次断电时,尽管系统已收到电源故障信号,但由于电流尚未降到电流检测模式阈值以下,系统仍会触发进入电流检测模式;(2) 当电表正在恢复电源时,检测到的电流已经高于电流检测模式的阈值,而系统尚未来得及退出电流检测模式,因此会被误判为篡改事件。
在确认篡改计数变量是否大于 2 并在条件成立时点亮篡改 LED 后,系统将退出电流检测模式。然后,返回前台循环的起始处,再次检查来自 PC GUI 的新消息。