Part Number:ADS1110
使用STM32F4系列的芯片驱动ADS1110做电压采样,配置寄存器设置为0x8C,但是读出的寄存器值时0XFF,但是数据寄存器读出的值很小,大概在500一下,麻烦大佬指导一下
Amy Luo:
您好,
您的I2C地址是什么?配置寄存器默认值是0x8C,您可以按照数据手册Figure 2. Timing Diagram for Reading From the ADS1110中的时序图再读一下,同时用示波器抓出I2C波形,附上来吗?我看下您的读取时序是否正确,配置寄存器返回的值是否正确
,
zhu lihua:
我使用的是ED1 ,那么地址就是0x92和0x93.时序我是直接使用了AT24C的驱动IIC时序,AT24C是可以正常使用的。至于波形我现在抓一下,然后附上来吧
,
zhu lihua:
图片怎么附上来??
,
Amy Luo:
因为论坛最近刚做了升级,应该可以直接把图片拖进来
另外,回复对会话框下方有“插入”菜单,可以插入图像/视频/文件
,
zhu lihua:
这是写时序
,
zhu lihua:
读时序第一部分
读时序第二部分
整个读时序
,
zhu lihua:
使用的电路图
,
Amy Luo:
您的读时序好像不对,看下面数据手册截图,整个读时序需要4*9=36个CLK,一共有4个ACK位,在第3个ACK位,没有给出低电平的应答位,这可能与CLK信号上存在很大的毛刺有关系,建议串接22欧姆或几十欧姆的电阻看是否改善。另外,您发出的总的CLK数好像是大于36。
,
zhu lihua:
感谢大佬,确实是在读数据后多了一个ACK。没有注意
,
zhu lihua:
现在还有一个问题是,我写入其他的配置寄存器都可以正确读出,但是我写入的如果是0x8C,读出来的就不对,实际读出0x0C。这样是正常的吗?
,
Amy Luo:
您是说仅ST/DRDY这一位不对吗?请注意,该位的读取值与写入该位的值无关。具体请查看数据手册11页Bit 7: ST/DRDY部分
,
zhu lihua:
好的 谢谢