Part Number:ADS8866
用软件控制时序,为调试方便,SCLK时钟频率较低,大概一个SCLK周期20US,是按照3线方式读数据的,输入信号2.7V左右,输出数据一直是0,用示波器观察数据线一直是低,读数期间有小脉冲,小脉冲电平高度0.5~1.1V左右,感觉不太正常,不知道是哪里有问题?请技术工程师帮忙解答,谢谢!附图如下:
mumingyin mu:
这是3线时序图,是按这个时序读取的
,
mumingyin mu:
电路上,DIN一直接高电平
示波器中:蓝色是CONVST,黄色线是SCLK,粉色线是DOUT
,
Amy Luo:
SCLK要一直有的,外部 SCLK 仅用于串行数据读取操作,数据在转换完成后以及设备处于下一个样品的采集阶段时读取。
看图中SCLK在CONVST下降沿后一段时间后才发出,这样应该不行,建议至少在CONVST下降沿之前发出SCLK信号。
修改这一点后,请再抓取波形看是否正常
,
mumingyin mu:
多谢了!!!已经改了软件,数据出来了,但是好像最后3位没读完,最后3位数据提前消失了,数据不完整,这是怎么回事呢?
另外,读数据应该在时钟高电平时读吧,规格书说时钟下降沿读,从图上看时钟下降沿数据是不稳的,
请帮忙分析一下,多谢!!!
,
mumingyin mu:
数据出来了,但是数据不完整,最后3位数据提前消失了,我增大或减小时钟频率,没有解决,加大转换间隔时间,也没解决问题,不知道哪里出问题了,帮忙分析一下,谢谢!
,
Amy Luo:
抱歉,我本来想点“回复”的,结果点到已解决了,不过没关系,我会继续回复您的
您可以在下降沿读取数据,也可以在上升沿,但是第一bit,是在CONVST下降沿后就输出了,看您的时序图,正好落在时钟信号的高电平期间,我想这很容易丢掉这一位,所以建议在选择上升沿读取数据时,将CONVST置低时选择在SCLK下降沿置低,这样输出的第一位就不会落下;
我不清楚DOUT最后几位为什么是这种变化,每次读数都这样吗?读取其他输出数据的时候也这样吗,比如说输出数据最后三位是0的时候?
,
mumingyin mu:
你看数据线最后3位已经浮空了,没有数据了
,
mumingyin mu:
我改了一下,CONVST下降沿落在时钟信号的低电平期间。
你看最后3位已经浮空了,没数据了,是数据提前输出了?还是输出位数不够?
,
mumingyin mu:
少数据位数
,
mumingyin mu:
你好!你说的方法有一定效果。
我现在在CONVST信号线串270欧或更大电阻,或者对地接几十到几百PF电容,有一定效果,但还是没解决问题,具体是这样:
当加的电阻或电容比较大时,比如电阻470欧或电容100PF以上,数据输出会达到18位,也就是会多出两位数据,随后才会变回3态,
当加的电阻电阻或电容比较小时,比如加120欧或10PF电容,数据输出会少于16位,也就是会少出1-2位数据,随后才会变回3态,
我反复调了电阻电容值大小,结果数据位不是多了就是少了,怎么芯片会对这个这么敏感吗?我现在搞蒙了,请高手指点迷津!!!
图片见下图:
黄色是SCLK,为了让数据全部输出,发了18个脉冲,最后两个宽脉冲是第17、18脉冲
,
Amy Luo:
我把这个帖子关了,如果有问题请在您另一个帖子回复,我会跟进您的另一个帖子