Part Number:ADS8866
在使用ADS8866验证输入端短接REF电压,MCU获取输出读数时,出现两种结果:一是读数接近65535,二是读数接近32767。数据当然是接近65535更符合期望,但从示波器波形上来说,DOUT的波形有所差异,因此在CLK下降沿附近读数的话就会产生这种差别。
问题:
1、哪种是器件正常应该产生的波形?
2、MCU操作时序是否需要改进,则能达到正确识别?
波形情况描述:
说明1:波形图黄线:CONVST;紫线:SCLK;蓝线:DOUT
说明2:两块板子使用的同样的程序,器件对调后,波形跟随器件发生变化。有去掉过DOUT的10K上拉,结果没什么区别,这里可以用来观察DOUT释放情况。器件可能是2个批次的;
说明3:波形差别点:
a)测试板1,DOUT波形在CONVST下拉之后,马上就转换为高;而测试板2,DOUT波形在CONVST下拉之后,还故意被拉低并保持一段,因此它们的MSB位读数就是0和1的区别;
b)测试板1,在第16个SCLK下降沿就被释放掉,而测试板2,第16个SCLK下降沿后,还被刻意拉高并保持半个周期;
因此感觉测试板2中DOUT波形如果往左偏移一定时间,则MCU读出的数据就比较接近真实值,然而DOUT不是直接受MCU控制的,可以怎样修改操作时序;
说明4:已知的疑点1)SCLK的占空比,有点超过要求的±10%;2)SCLK没在CONVST下降沿之前就给出;3)器件批次可能有区别;
测试板1:
测试板2:
Amy Luo:
您好,
shun zhang said:因此在CLK下降沿附近读数的话就会产生这种差别。
需要在SCLK的上升沿读取DOUT数据,您可以看datasheet中 Figure 1、Figure 2、Figure 3 三种通信方式都是在SCLK的下降沿改变DOUT,因此主控端需要在SCLK的上升沿读取DOUT输出数据,这样读到的数据才是准确的,因为此时DOUT数据已稳定。
您是使用3线CS通信方式吗?看下面读取时序说明,在CONVST下降沿输出转换数据的最高位,因此在CONVST下降沿后第一个SCLK就需要读取转换数据了。
看波形测试板1的波形是正常的,您说明的两点差异确实异常,您检查下测试板2的芯片丝印,它和测试板1是同一个型号的芯片吗?
,
Amy Luo:
对了,最大采样率是100KSPS,CONVST信号的周期是多少?最小只能是10us。
,
shun zhang:
1、从描述来看,上升沿读取是可以的。问题是我的数据值还是这么个结果,首位为0或者首位为1,它会让我最高位判断出现区别,2种读数种,输入已经给到5V,所以最高位读出成1才是合理的,然而上升沿读出不改变这个结果,除非有其他必需操作,比如CONVST拉下之前,就已经吧SCLK给加入几个脉冲给到器件;
2、Convst信号周期是1ms左右量级,拉低宽度见图,也就55us的样子。
,
Amy Luo:
您检查下测试板2的芯片丝印,它和测试板1是同一个型号的芯片吗?我现在怀疑它们不是同一种芯片。
发生测试板2现象的概率是多少?它们是一个批次的吗?都是从TI store或TI授权代理商处购买的吗?