amobbs.com 阿莫电子论坛

 找回密码
 注册
密码必须由大写、小写、数字组成,三者缺一不可
搜索
bottom↓
回复: 13

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

[复制链接]
(32192234)

出0入0汤圆

发表于 2019-8-1 14:38:03 | 显示全部楼层 |阅读模式
     用DSP28335的ADC采样,单独电路板,模拟给一个输入电压到ADC口,采样时正常,接入到自己的数字电源产品中,

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

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

出0入10汤圆

发表于 2019-8-1 14:58:30 | 显示全部楼层
又是一年比赛啊。
贴硬件图和代码,这样别人没法帮你分析。
(32190150)

出0入0汤圆

 楼主| 发表于 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.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
(32189178)

出0入0汤圆

发表于 2019-8-1 15:28:59 | 显示全部楼层
阻抗不匹配
加个运放缓冲一下再驱动你的ADC就可以了
(32188966)

出0入0汤圆

 楼主| 发表于 2019-8-1 15:32:31 | 显示全部楼层
rclong 发表于 2019-8-1 15:28
阻抗不匹配
加个运放缓冲一下再驱动你的ADC就可以了

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

出0入0汤圆

发表于 2019-8-1 15:38:05 | 显示全部楼层
ADC输入前端有电容吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
(32188421)

出0入0汤圆

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

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

出0入0汤圆

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

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

出0入0汤圆

 楼主| 发表于 2019-8-1 15:44:51 | 显示全部楼层
pulan 发表于 2019-8-1 15:38
ADC输入前端有电容吗?

接了一个2.2NF的电容
(32187941)

出0入0汤圆

 楼主| 发表于 2019-8-1 15:49:36 | 显示全部楼层
rclong 发表于 2019-8-1 15:43
有运放的话驱动ADC不会有什么问题
看看ADC的ref电压量一下看看对不对

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

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

出0入0汤圆

发表于 2019-8-1 17:04:22 | 显示全部楼层
量AD口的电压,别用示波器,用万用表。示波器的带宽太大了,各种毛刺都算进去,万用表测量更接近AD采样值。
(32172482)

出0入0汤圆

发表于 2019-8-1 20:07:15 | 显示全部楼层
SARadc吧,应该是12bit的,buffer用的运放带宽要采样率带宽的100倍,用高速的缓冲用的opa吧
(31222100)

出0入0汤圆

 楼主| 发表于 2019-8-12 20:06:57 | 显示全部楼层
最终发现是单独这块电路板的个别问题,换一块电路板则没有这个现象,怀疑为芯片的AD口被静电损坏
(31222061)

出0入0汤圆

 楼主| 发表于 2019-8-12 20:07:36 | 显示全部楼层
本帖最后由 tianyaxtutianya 于 2019-8-12 20:11 编辑

28335的内部ADC采样仍然存在偏差
回帖提示: 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号-1 )

GMT+8, 2020-8-8 04:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表