This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好,
背景:
我有合适的OPAMP和RC电路输入,建议用于ADC输入信号。
问题描述:
每当我收到CAN消息(CAN中断)时,模拟输入信号就会出现骤降。 初始模拟输入正确,但过一段时间后,信号将会出现骤降。导致此骤降的原因是什么。 大约160毫秒,信号正常。 稍后的信号将会下降。
例如:假设输入电压为0.8V,则表示初始电压将约为0.79V,之后将约为0.73V。
测试:
为了确认这不是由外部信号引起的,上述测试是通过为模拟输入提供0V来完成的,然后观察到 在收到CAN消息时出现-0.3V左右的骤降(ADC未初始化,在此测试期间ADC没有时钟)
结论:
因此,由于微控制器的内部电路,会产生一些噪音。 它可能是CAN或其他东西。
由于此骤降,ADC读数不准确。
问题:
观察到骤降的原因是什么? 如何避免输入信号出现此骤降?
您好Devin
感谢您的回复。 发布后我做了几次测试。
我禁用了CAN (我指的是CAN初始化和CAN中断),然后根据带OUT CAN的定时发出命令。
观察到骤降。 因此不会产生影响。
我使用的是TMS320F2.8335万,而不是TMS320F2.8332万。
AM共享我的ADC配置,同时还共享模拟输入处的示波器图片:
仅使用6条ADC线路,其它线路保持打开状态。 (我也会试着将它们拉下来。)
我尝试只读ADCINB7 (pin53)以下是我的配置。
EALLOW;
SysCtrlRegs.HISPPCP.bit.HSPCLK = ADC_MODCLK;// HSPCLK = SYSCLKOUT/ADC_MODCLK
EDIS;
InitAdc();
AdcRegs.ADCTRL1.bit.ACQ_PS =1;//ADC_SHCLK;
AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS;
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; // 1 级联模式
AdcRegs.ADCMAXCONV.ALL = 0x0F;
AdcRegs.ADCCHSELSEQ4.bit.CONV15 = 0xF;
AdcRegs.ADCTRL1.bit.con_run =1;//设置连续运行
AdcRegs.ADCTRL2.all = 0x2000;
在ADCINB7 (引脚53)处观察ADC输入,如下所示