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.

F28M36 ADC转换问题

Other Parts Discussed in Thread: ADS1118

好!

      最近在测试F28M36的一个控制板(原理和PCB君自己设计),发现ADC1INA0和ADC1INB0的输入信号无法被ADC模块采样。B通道没有问题。请大神帮忙指点!

  • 你A通道和B通道的配置一样吗?

    看看你程序设置对不

  • 无法被ADC模块采样 指的是什么?采样值错误还是采集不到数据?还是无法读取寄存器?

  • 你的ADC有没有配置正确的触发模式?

  • 如果两个通道初始化代码一致,你需要检查一下硬件连接和Reference设置。并且可以通过定时软件强制触发SOC的方式来验证是否可以正常工作

  • 1、程序配置是否一致?

    2、硬件方面是否一致?是否配置的电阻参数不对应。

    3、可先参考F28M36的原厂设计,假如有demo板的话,先在上面跑跑程序,看看是否能够正常工作。

  • B通道没有问题是指A通道采集不到数据?外部信号变化,读出来的数据没有变化?

    ADC硬件上直接相连应该没有问题,最大可能的问题就是配置或者主程序读取的问题,A和B按照手册上说的,应该是不会出现差异的。

    手册3.5.1 和3.5.2

  • 遇到这种问题 你先测量通道输入的模拟电压有没有问题,没有数据 指的是什么?是数据不对,还是都是零。最后在看看寄存器的配置对不对,你可以在线仿真,看看寄存器的值 就知道了。如果都对的话,那只有两个方向,一个是你程序 在这里数据的时候搞错了,另外一个 就是这个通道真的坏了

  • 改变输入电压,每次采样值都一样不变化吗?

    建议先从硬件入手!芯片引脚是否虚焊?模拟电源引脚是否全部连接?

     

  • 程序的设置问题,或者定义,没有抓到数据

  • 应该是寄存器配置不对,好好看一下手册操作

  • 是不是在采样的时候又干扰信号过来

  • 这个问题楼主没有说清楚,不好回答,如果能发原理图出来,那就好分析了。

  • 可以先检查一下硬件问题,然后对于一下和B通道的配置,有可能因为马虎大意出问题了,哈哈,不行的话换个板子试试?

  • 第一感觉是寄存器配置问题,对比一下A与B通道的相关程序有什么不同。

  • 是不是线路没有连通的呀

  • 应该是配置问题吧。看看官方初始化例程,检查配置是不是有问题吧。

  • 你的ADC采样选择是单通道模式还是多通道轮流转换模式,看看模式是不是设置正确,还有转换顺序合理吗?

  • 采集信号频率太高?虽然是最简单的,可能正是被你忽略的。

  • 无法被ADC模块采样,无法采样,是什么情况,读不到数据,还是得到的数据不正确?先把这个搞清楚。

    可以先分析,软件配置是否正确。既然一个通道的是好的,就根据好的配置,去分析不正常的结果的配置,分析软件设置有没有可疑的地方。验证,若没有发现。可以去读寄存器的值。看看是否配置成adc,能否得到数据,如果得到,是什么。

    如果以上没有发现,检查硬件。自己画的板子,可能出现硬件问题。这个要根据之前的结果。到底有没有数据,数据是什么。根据这个区查硬件。短路,断路,虚焊。看看波形,阻抗什么。

  • 如果不涉及公司保密的话,可以把pcb图和原理图传上来,估计pcb走线有干扰,或者电路设计不完善,谢谢

  • 首先,要排除硬件上的错误,保证硬件接口什么的没有错误,芯片是完好的

    其次,看一下软件上面,寄存器配置是否正确(之前我自己调ads1118就出现过这样的问题)

    最后,检查一下,是不是两个通道同时采样?若同时采样,根据手册,看一下多通道同时采样时的间隔时间是不是满足

    否则可能出现不同通道之间数据混淆,或者某个通道的数据无法采样到正确值

  • 首先,要排除硬件上的错误,保证硬件接口什么的没有错误,芯片是完好的

    其次,看一下软件上面,寄存器配置是否正确(之前我自己调ads1118就出现过这样的问题)

    最后,检查一下,是不是两个通道同时采样?若同时采样,根据手册,看一下多通道同时采样时的间隔时间是不是满足

    否则可能出现不同通道之间数据混淆,或者某个通道的数据无法采样到正确值