TI中文支持网
TI专业的中文技术问题搜集分享网站

自制ADS1282样板,读取不到正确的转换结果

问题:读取AD转换结果为0x7FFFFF,MFLAG指示始终为高,似乎为输入信号超量程的结果。

自制的ADS1282样板,并通过DSP的SPI接口驱动。已经完成驱动程序,经验证可正常读写各种寄存器(可读到各寄存器默认值,改写后回读正确)。但在读取AD转换结果(连续读数、RDATA指令读数两种方式都试过)时,始终为上述结果。

硬件方面:ADS1282供电DVDD=+3.3V, AVDD/AVSS=±2.5V, VREFP/VREFN=±2.5V,CLK为4.096MHz有源晶振,两路差分输入都用BAT54S钳位,SYNC/nPWDN/nRESET均上拉,未用的M0/M1/MCLK均下拉。

不解之一,按照手册,只有当输入电压超过参考电压时,MFLAG才会置高。但实际上电测试,即使不跟DSP连接,MFLAG始终为高。在VIN=0(AINN1、AINP1短接),或VIN为很小的输入电压,或设置MUX=010b(输入内部短接测试)等各种条件下,结果都一样。

目前同一批样板做了两块板子并反复测试,应该可以排除硬件连接问题。

不解之二,按手册流程执行零偏和增益自动校正,然后读取寄存器,结果为OFC=0x20012C,FSC=0x3FFFFF。并且按照手册,在执行在OFSCAL和GANCAL命令前应分别接零输入和满量程输入,但实际发现不管输入怎么接,回读结果都一样,可见芯片内部也没读到正确的转换结果。尤其是OFC值,难以理解。

目前卡在这里,希望得到些启发~

maidong:

简单看下时序。输入短接,上电测试。释放RESET,此时MFLAG即变高,经过~63ms后DRDY指示出现有效数据。

急啊,继续求解答。。

Luke Sun:

Hi maidong,

      你可以检查下各个输入端口和电源的DC电压值是否正确,时钟信号是否有正确接入,模拟输入信号的电压值如果不在AVSS + 0.7~AVDD – 1.25之内也会引起转换不正确。

maidong:

回复 Luke Sun:

多谢回复。

这些都是仔细检查过的。4.096Mhz时针正常,DVDD、AVDD、AVSS供电正常,VREFP、VREFN、CAPP、CAPN可测到参考电压,BYPASS为1.8V,两路差分输入分别短接并可测到为0V,RESET、PWDN、SYNC等各控制引脚上拉均正常。读写时DRDY时序正确,就是MFLAG不知道为什么一直为高。。没辙了。

pan pan1:

回复 Luke Sun:

你好,问下那个ADS1282的RESET,PWEN,M1和SYNC引脚必须要上拉吗?

赞(0)
未经允许不得转载:TI中文支持网 » 自制ADS1282样板,读取不到正确的转换结果
分享到: 更多 (0)