问题:读取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值,难以理解。
目前卡在这里,希望得到些启发~



