DSP F28P65X—ADC调试问题

ADC采用的是库函数版本配置,P65x与377在AD的库函数ADC_setupSOC()没有差异,可直接搬运使用。但由于P65x少了个AD模块,AD口数量反而增多,也就是说每个模块的AD数量变多了。

通过开发板,测试ADCIN5通道采样情况(对3V进行采样,采用外部电压参考,精度为12位。采样的结果放在result13寄存器。)

从仿真结果来看,该端口并无数值。

调试思路:第一步:先检查中断是否产生

每个ADC模块有4个可配置的ADC中断。这些中断可以由16个EOC信号中的任何一个触发。可以直接读取每个ADCINT的标志位,以确定相关联的SOC是否完成或者中断是否可以传递到PIE。每个ADCINT标志还具有相应的ADCINTxRESULT标志。

从以上两图可以看到中断是正常产生的。

第二步:由于是EPWM6SOCA触发采样,检查触发源是否正常

检查触发源可通过ETFLG寄存器查看。

可以看到触发源也是正常的,已经产生了触发脉冲。

整个流程没问题,那么可能是在采样口出了问题。翻看技术手册GPIO口时发现:

相较于之前的377,采样除了固有的AIO类型口,在p65x上又多了一种AGPIO的功能口。AIO口指的是只能输入,不能输出,默认是AD口。AGPIO指的是既能输入又能输出的口,但默认没有连接,若用到端口,需要配置。

因此在采样时,若是采样口也可配置为GPIO口的话,那么这个采样口就需要配置GPIO的属性,例如A7采样口,可用函数GPIO_setAnalogMode配置,否则端口没有采样的功能。同理,若是采样口只有采样功能,例如A1口,这样的口就不需要配置,芯片默认是采样口。

从上图也可以发现,ADCIN5采样口(即C5)是具有AGPIO功能,因此需要配置此口。

但也为了作对比,先对A4口(结果寄存器15)进行采样,因为从上图可以看出,A4口是默认的采样口,不用配置在理论上也能采出数据。

确实,4095对应3V,采样正确!

       现在对AGPIO口进行配置,通过函数PinMux_init();进行配置,这个函数是通过TISysconfig生成的。

此时再测ADCIN5通道的数据,数据正常。因此,在具有AGPIO的芯片上要加上相应的配置函数。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值