tianyaxtutianya 发表于 2019-8-1 14:38:03

DSP28335 ADC采样单独电路板正常,接入到电源系统中,采样...

   用DSP28335的ADC采样,单独电路板,模拟给一个输入电压到ADC口,采样时正常,接入到自己的数字电源产品中,

ADC采用口用示波器能够测试到输入电压超过2V(正常应该大于ADC值2730),但是ADC寄存器中显示采样值无法超过2200的值。

   各位有没有遇到过类似问题的,可能是什么原因导致的?

sunfulong 发表于 2019-8-1 14:58:30

又是一年比赛啊。
贴硬件图和代码,这样别人没法帮你分析。

tianyaxtutianya 发表于 2019-8-1 15:12:47

初始化代码如下:
   InitAdc();// For this example, init the ADC
   
   // Configure ADC
   AdcRegs.ADCTRL3.bit.SMODE_SEL = 1;   //0顺序采样模式,1同步采样
   AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;      //采样级联方式,SEQ采用16状态排序器
   AdcRegs.ADCTRL1.bit.CONT_RUN = 0;      //禁止连续运行位
   AdcRegs.ADCTRL1.bit.SEQ_OVRD = 1;      //允许覆盖
   
   AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 1;// 1:SEQ1可以由EPWMA触发启动信号;0:不使能
   AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0;    // 1:使能转换结束中断;0:不使能中断

   //设置采用通道
   AdcRegs.ADCMAXCONV.all = 0x5;            // Setup 1 conv's on SEQ1
   AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0;   // Setup ADCINA0 as 0 SEQ1 conv.
   AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1;   // Setup ADCINA1 as 1 SEQ1 conv.
   AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x2;   // Setup ADCINA2 as 2 SEQ1 conv.
   AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x3;   // Setup ADCINA3 as 3 SEQ1 conv.
   AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x4;   // Setup ADCINA4 as 4 SEQ2 conv.
   AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x5;   // Setup ADCINA5 as 5 SEQ2 conv.

rclong 发表于 2019-8-1 15:28:59

阻抗不匹配
加个运放缓冲一下再驱动你的ADC就可以了

tianyaxtutianya 发表于 2019-8-1 15:32:31

rclong 发表于 2019-8-1 15:28
阻抗不匹配
加个运放缓冲一下再驱动你的ADC就可以了

接入到ADC之前中间加了一个51欧姆的电阻,用于做阻抗匹配,在电阻前级都采用了运放电路。一般这个地方阻抗匹配应该设置多少?

pulan 发表于 2019-8-1 15:38:05

ADC输入前端有电容吗?

electricdream 发表于 2019-8-1 15:41:36

tianyaxtutianya 发表于 2019-8-1 15:32
接入到ADC之前中间加了一个51欧姆的电阻,用于做阻抗匹配,在电阻前级都采用了运放电路。一般这个地 ...

对于Delta型的ADC,输入必须接保持电容,或者对ADC的驱动运放来说,为了保持稳定需要在输出后面接一个大于某一固定时间常数的RC电路。

rclong 发表于 2019-8-1 15:43:29

tianyaxtutianya 发表于 2019-8-1 15:32
接入到ADC之前中间加了一个51欧姆的电阻,用于做阻抗匹配,在电阻前级都采用了运放电路。一般这个地 ...

有运放的话驱动ADC不会有什么问题
看看ADC的ref电压量一下看看对不对

tianyaxtutianya 发表于 2019-8-1 15:44:51

pulan 发表于 2019-8-1 15:38
ADC输入前端有电容吗?

接了一个2.2NF的电容

tianyaxtutianya 发表于 2019-8-1 15:49:36

rclong 发表于 2019-8-1 15:43
有运放的话驱动ADC不会有什么问题
看看ADC的ref电压量一下看看对不对

测试过了,我采用的是内部ADC基准,ADCREFP和ADCREFM输出电压值是对的但是存在类似开关周期的开关纹波。

这个开关周期的纹波无论在AD口是小于1.6V,还是大于1.6V。这个开关纹波都存在,且没有太大变化,感觉这个纹波是GND上带来的

liansh2002 发表于 2019-8-1 17:04:22

量AD口的电压,别用示波器,用万用表。示波器的带宽太大了,各种毛刺都算进去,万用表测量更接近AD采样值。

Earthman 发表于 2019-8-1 20:07:15

SARadc吧,应该是12bit的,buffer用的运放带宽要采样率带宽的100倍,用高速的缓冲用的opa吧

tianyaxtutianya 发表于 2019-8-12 20:06:57

最终发现是单独这块电路板的个别问题,换一块电路板则没有这个现象,怀疑为芯片的AD口被静电损坏

tianyaxtutianya 发表于 2019-8-12 20:07:36

本帖最后由 tianyaxtutianya 于 2019-8-12 20:11 编辑

28335的内部ADC采样仍然存在偏差
页: [1]
查看完整版本: DSP28335 ADC采样单独电路板正常,接入到电源系统中,采样...