使用tca9555时存在一些问题如下:
第一,默认状态极性翻转应该是缺省无效的,为什么现在读取数据时发现数据反向
第二,芯片输入端口的引脚电平发生了改变,但是输入寄存器值还是没有变化,要么处于全1,要么处于全0
以上2个问题均是以逻辑分析仪进行i2c时序逻辑实测时发现的,写入tca9555时操作很方便,读取时变得不可控
请问以上问题是怎么造成的,要如何读取tca9555的输入数据。
i2c的主机是一块28335
user151383853:
从数据手册看, 是完全遵照 I2C 协议的. 检查一下总线的外部上拉电阻, 仔细验证一下时序吧.
读端口和读寄存器的时序是不同的, 也要注意一下.
xun qinglai:
回复 user151383853:
时序应该是没有问题的,这个是通过逻辑分析仪完全读出来后看到的结果
从输出的结果看tca9555可以输出低电平和高电平,这是不是说明驱动能力没有问题,是别的东西产生了影响
另外就是tca9555的寄存器,有什么办法检查寄存器值?
xun qinglai:
回复 xun qinglai:
今天更换了芯片,反复查了,仍然觉得没有问题,单最终的结果是数据似乎不能进入芯片的寄存器,全部输入数据均为1了,读出的数据还是为0
以上是逻辑分析仪的结果,很明显两次读取数据均为0x00
xun qinglai:
回复 Kailyn Chen:
图上有读命令的电平,见图
后面的波形就没有数据了,这个和硬件有关系吗,或者有没有别的思路,从波形上看,逻辑是完全正确的
xun qinglai:
回复 xun qinglai:
问题仍然没有解决,操作tca9555的时候仍然读不出引脚的电平,每次读出的数据为全“0”,或者全“1”。
碰巧今天刚到了铁电的FRAM遂拿来试试,很顺利的实现了读写操作,通过逻辑分析仪的波形来看,完全与I2C协议吻合。
回过头来仍想解决tca9555的怪现象,还有什么值得注意的吗?
xun qinglai:
回复 Kailyn Chen:
上张清楚的时序
图上可以明显的看出地址为0x20,数据全为1,实际上当前默认的电平应该全为0
另外有一个不明白的地方是中断输出,中断输出似乎只对一两个低8位输入引脚起作用,其他输入均无反应
中断输出引脚会影响系统输入引脚工作吗