可能与之相关的人员、
我目前正在使用 SDFM 读取 ADC 5Ch。
我对此有疑问。
我通过将 SDFM (0~1)中的值乘以增益值来获得所需的值。
如果我检查表达式上乘法值的变量、该值会在第二个小数位处抖动。
(这表示存在某种故障)
因此、当我进行调试以检查 ADC 电路是否有任何问题时、
我发现当我更改要乘法的增益值时、表达式中显示的变量值在小数点后会非常轻微地抖动。 (这表示表达式中显示的值没有问题)
例如、
增益值6.32 -->显示的值非常清晰(值在小数点的第三位被改变0~2)
增益值6.28 -->被 shwon 的值剧烈移动(值在小数点的第二位被改变0~6)
在编码方面、我设置了乘法值和代码 asm (" ESTOP0")的范围。
如果表达式中显示的值为 true、则该操作必须停止、但仍在运行。
(如果我通过 ADC 调节输入电压、它会良好停止)
我使用的代码如下所示:
//我已将 PWM11用于中断例程,并以50kHz 的频率运行。
中断失效 pwm11_isr (void)
{
sdfm_data_read ();
MEAS_vinternal = sdfm_meas_vinternal * vint_gain;
if (((meas_vinternal >(float32) 5.01)||(meas_vinternal <(float32) 4.99))
{
MEM_1[0]= sdfm_meas_vinternal;
MEM_1[1]= meas_vinternal;
asm (" ESTOP0");//嵌入式断点
}
EPwm11Regs.ETCLR.bit.INT = 1;
PieCtrlRegs.PIEACK.all = PIEACK_Group3;
}
随附的图像文件显示了 SDFM 值乘以增益值(meas_vinternal)的表达式上显示的图形。
附加的 Excel 文件显示了"Value Read by SDFM"、"Gain Value"和"Value Dixed on DSP"的存储器转储。
我已经使用 SDFM 值和增益值计算了 DSP 上的最终值误差值。
经过这样的研究,我认为这是由于表达式的错误造成的。
我想知道这种错误发生在哪种情况下。
