最近在使用ADS1255过程中,在初始化ADS1255的时候,总是不能正确配置寄存器。查看数据手册后,我的操作是这样的:
1、写寄存器:第一个命令写地址(0x50+寄存器地址),第二个命令写要写的字节数量(写0x01,即写一个寄存器),第三个是要配置的数据(写一个Byte)。
在这里,手册上(第36页)没有说明第一个命令和第二个命令之间是否要延时一定的时间?然而在手册上(第6页)t11说明读写寄存器、读数据,两个命令之间要间隔至少4个7.68MHz的时钟周期,这两者有点不明白?
还有写命令和写数据之间,所否也要有一定的延时时间?
上面的写寄存器操作所否正确?还有个疑问,就是读写寄存器的时候,所否一定要在ADS1255的一次转换结束ready拉低后,才可以配置?
2、在写SYNC命令的时候,是否也一定要在一次转换结束ready拉低后,才进行写?写SYNC命令后,是否要延时一段时间,才写WAKEUP命令,这时间需要多长?
3、写SELFCAL等校准命令的时候,是否也要在一次转换结束,ready拉低后进行?
4、在读取转换结果的时候,ready拉低,发送一个读命令0x01,按手册上第6页上的t6描述,需至少延时50个7.68MHz的时钟周期时间,才进行读取数据,发送第一个WAKEUP命令读取24Bit中的高8位即一个Byte,再发送一个WAKEUP命令读取一个Byte,直至读取完3个Byte。在读取一个Byte后,是否需要延时一段时间,再发送命令读取数据呢?
5、还有就所WAKEUP命令与其它命令之间所否需要延时?该延时多长时间?
我设的串行时钟频率为500KHz,在操作ADS1255的过程中,经常配置寄存器不成功,读取数据也是错误的。不知道问题出现在哪。望各位大牛,给予指点、解答。给个正确的操作步骤的驱动程序例子。谢谢!
zhuang:
TI公司的技术支持人员,你们怎么不给回复一下呢?恳请你们能给予帮助!!!
ruijin hu:
哥们,你的问题解决了没有?我现在也是遇到寄存器读取不正确的问题