打印

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

[复制链接]
2873|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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时序的情况。

使用特权

评论回复
5
athlon64fx| | 2011-3-20 23:50 | 只看该作者
ACK只在第9个clock之前有效,第9个clock之后,SDA电平取决于下一个要传输的字节。
没记错的话应该是上升沿输入,下降沿输出。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

101

主题

356

帖子

0

粉丝