I2C 传输未结束第九个时钟后SDA的电平有要求没?

[复制链接]
 楼主| zyboy 发表于 2011-2-18 10:24 | 显示全部楼层 |阅读模式
我在编写I2c从设置,观察波形,第九个时钟后SDA应答后,SDA电平是被拉高(硬件实现),看到有的编写的I2C从设备,第九个时钟SDA应答后,SDA电平时低电平。

我看了下I2C协议规范,对这空闲的时间(例如两个字节之间,SDA的电平好像没有特殊要求)

我猜想,对方主IC2由于判断第九个时钟低电平,判断不好,有延时,导致,和别的I2C从设备是通的,和我的通信不正常。

我用示波器抓的波形,发现第九个时钟,我确实回应了低电平,之后主再没发。我解释是它主的时序没搞好,可对方一口咬定和别人是好的,你有问题。。。

痛苦呀!!!!我这是寄存器硬件实现,想拉低拉不了,怎么办呀
ayb_ice 发表于 2011-2-18 10:49 | 显示全部楼层
第九个是应答信号
一方释放SDA,一方控制SDA(OK拉低,NO OK拉高)
仔细看手册吧
 楼主| zyboy 发表于 2011-2-18 10:55 | 显示全部楼层
这我当然知道呀,大哥,我是说第九个时钟之后呀
twz8858877 发表于 2011-2-18 11:08 | 显示全部楼层
我认为:传输还未结束应保持为低,等待主机确认,否则会造成高速器件与低速器件连接不成功,特别是主机采用模拟I2C时序的情况。
athlon64fx 发表于 2011-3-20 23:50 | 显示全部楼层
ACK只在第9个clock之前有效,第9个clock之后,SDA电平取决于下一个要传输的字节。
没记错的话应该是上升沿输入,下降沿输出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:学海无涯,回头是岸!

101

主题

356

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:学海无涯,回头是岸!

101

主题

356

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部