我们一套设备包含3片MSP430做数据采集(这3片分别叫ABC),都使用到了LEA做FFT运算。
在对现场设备陆续升级过程中,发现有一套设备,其中A计算的基波有效值是正确的,B和C计算的基波有效值在随机跳动。
fftParams.length = HIGH_SAMPLES; fftParams.bitReverse = 1; fftParams.twiddleTable = msp_cmplx_twiddle_table_256_q15; MAP_msp_fft_auto_q15(&fftParams, (_q15*)gIplSamples2 , &leaIplShift);
上面是我们使用的LEA函数,我们远程定位到,B和C在运行到MSP LEA VALID ADDRESS的时候提前返回了。
我们继续跟踪MSP_LEA_BOTTOM、MSP_LEA_TOP和每次做FFT计算的数组gIplSamples2的地址,结果如下:
三片MSP430中数组gIplSamples2地址都为0x3400,是正确定位到LEA地址中的;
但是B和C读出来的LEAMB和LEAMT值就不对了。
我们固件已经在现场经上万片MSP430长时间运行验证过了,软件用法应该没有什么问题。
但是在这套设备里面同时出现2片都有问题,是芯片本身的问题吗?