ZHCU663A April 2019 – February 2021
图 2-19 展示了 per_sample_dsp() 函数的流程图。per_sample_dsp() 函数用于计算中间点积结果,这些结果会馈送到前台进程以计算计量读数。电压样本和电流样本均在专用 64 位寄存器中进行处理和累积。有功功率和无功功率也在 64 位寄存器中累积。
图 2-19 per_sample_dsp 函数累积足够的样本(大约 1 秒)后,将会触发前台函数以计算 VRMS、IRMS、有功/无功和视在功率、有功/无功和视在电能、频率以及功率因数的最终值。在测试软件中,一个相位有两组点积:在任何给定的时间,一组供前台用于计算,另一组供后台用作工作集。当后台进程获得足够的采样点后,它会交换两个点积,使前台使用后台刚计算出的新点积,而后台使用新的空样本集计算下一组点积。每当电压通道上出现前沿过零(− 到 + 电压转换)时,per_sample_dsp() 函数还负责更新相位的相应频率(以每周期样本数为单位)。
以下部分介绍 per_sample_dsp() 函数中的各个电量测量元素。