msp430fr5969 AD采样一个通道输入饱和和会影响其他通道采样,求解答,急急急!

芯片型号:MSP430FR5969

问题:当磁场通道的输入饱和后(例如用强磁干扰),X加速度的采样值会变大,Y、Z加速度正常。取消强磁干扰后X加速度会恢复为正常值,不知道是为什么?

 

 采样通道分布如下:

AD通道

通道模式

采样信号

采样方式

采样次数

A8

单端

X加速度

重复单通道采样

70

A9

单端

Y加速度

重复单通道采样

70

A10

单端

温度

重复单通道采样

22

A11

单端

Z加速度

重复单通道采样

70

A12

差分

Y磁场

重复单通道采样

135

A13

差分

A14

差分

X磁场

重复单通道采样

135

A15

差分

A6

差分

Z磁场

 

135

A7

差分

 

 

AD初始化的主要配置如下:

ADC12CTL0|=ADC12ON+ADC12MSC+ADC12SHT10+ADC12SHT00;//采保时间8个时钟周期

ADC12CTL1|=ADC12SSEL1+ADC12SSEL0+ADC12SHP+ADC12CONSEQ1+ADC12DIV2+ADC12DIV1;//SMCLK=12MHz  采样信号由采样定时器提供  重复单通道转换   时钟7分频

ADC12CTL3=ADC12CSTARTADD3;//转换的起始地址

ADC12MCTL8=ADC12INCH3+ADC12VRSEL1+ ADC12VRSEL2+ ADC12VRSEL3;//输入通道选择 VR+ = VeREF+, VR- = VeREF-

 

采样顺序描述:

AD采样的结果通过DMA获取,在DMA中断中对采样结果进行平均,并启动下一个通道的AD采样。所有通道都采完后AD停止。下一轮的采样由定时器启动。采样周期为20ms。

 

自己排查过程:

1当磁场输入饱和时通过仿真器查看了一下ADC12MEM8的值,这个值就已经不对了,因此可以排除DMA搬运的问题。

2用安捷伦的电压表量了一下x加速度的模拟信号,这个值和磁场干扰前一样,并没有增大,但是AD采样的值却变大了。

3. ADC12MCTL8=ADC12INCH3+ADC12VRSEL1+ ADC12VRSEL2+ ADC12VRSEL3+ ADC12VRSEL0;

将所有通道的参考电压改为VR+ = VeREF+ buffered, VR- = VeREF-结果仍旧是这样。

请高手指点一下。

 

6 个回复