i2c总线从机会产生停止位吗

[复制链接]
4343|17
 楼主| JIANG_E8E 发表于 2013-3-9 09:27 | 显示全部楼层 |阅读模式
有一个I2C器件,其读取数据时序如图,有一事百思不得其解,一般的I2C读写最后的停止位是由主机发出的,总线释放,可按照这个时序,主机给出读多少字节的指令,主机只要读就可以了,读完后,产生停止位。按照这个时序,停止位应该是从机产生的,可从机怎么产生的,怎么读哇?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
NE5532 发表于 2013-3-9 09:31 | 显示全部楼层
只有主机能发送停止位,另外从这个波形,你怎么知道是从机发的?
ayb_ice 发表于 2013-3-9 09:38 | 显示全部楼层
时钟永远是主机发出,从机可以发数据
 楼主| JIANG_E8E 发表于 2013-3-9 09:39 | 显示全部楼层
如果是主机发出的,主机根本不用发读命令字、开始地址、地址步长、读取数目等,读多少就是主机控制就好了,用不着这么麻烦呀,我想还是有地方没有理解这个芯片。
 楼主| JIANG_E8E 发表于 2013-3-9 09:47 | 显示全部楼层
一般的I2C程序,主机发出从地址(子地址)然后就可以写或读了,写多少、读多少由主机控制,读、写完后,发生停止位释放总线,可这个时序理解就是把主机的工作由从机去做了。
 楼主| JIANG_E8E 发表于 2013-3-9 09:58 | 显示全部楼层
能不能是从机接受完数据后,发送一个NACK信号,然后主机发出停止位。可我试了主机检测不到NACK信号。
refee 发表于 2013-3-9 15:06 | 显示全部楼层
话说碰到过没有应答位的IC,这时需要修正一下软件的应答检测……
sysdriver 发表于 2013-3-9 20:40 | 显示全部楼层
如果是单片机和24CXX器件的情形,单片机可以不发nack,单片机写数据完之后读24CXX的应答确认写进去就行了,读完数据之后直接停止通信。

如果是单片机和单片机通过I2C通信的情形,可以完全按照协议来弄
 楼主| JIANG_E8E 发表于 2013-3-9 21:03 | 显示全部楼层
这个期间太特殊了,各位还需开动脑筋
NE5532 发表于 2013-3-9 22:24 | 显示全部楼层
JIANG_E8E 发表于 2013-3-9 21:03
这个期间太特殊了,各位还需开动脑筋

我还是没有看懂你想问什么,主机在任何时候都可以发停止位,楼主这个波形没有任何理由说是从机发出了停止位。
明月小厨 发表于 2013-3-9 23:42 | 显示全部楼层
建议看周立功的有关I2C介绍,说的非常明白;
江枫渔火 发表于 2013-3-10 01:43 | 显示全部楼层
这还是结合具体的器件来讨论比较实际。为什么发那些数据到从机,这根这个器件的内部逻辑原理密切相关。
明月小厨 发表于 2013-3-10 06:01 | 显示全部楼层
主机:控制时钟,产生起始信号,产生停止信号,检测从机的应答;当然有些非标I2C器件不产生应答信号;
从机:监测起始信号,监测停止信号,发送应答信号(受控的);
数据谁发送?都可以发送,但一开始通常是主机发送数据(含地址和指令);协议可以自定;
I2C一环扣一环,错一个都不行;
明月小厨 发表于 2013-3-10 06:03 | 显示全部楼层
24CXX器件就是标准的从器件;
 楼主| JIANG_E8E 发表于 2013-3-10 07:58 | 显示全部楼层
NE5532 发表于 2013-3-9 22:24
我还是没有看懂你想问什么,主机在任何时候都可以发停止位,楼主这个波形没有任何理由说是从机发出了停止 ...

主机读的字节数是主机告诉从机的,从机控制的是否读完,那么主机什么时候知道读完所有数据了?
NE5532 发表于 2013-3-11 08:23 | 显示全部楼层
JIANG_E8E 发表于 2013-3-10 07:58
主机读的字节数是主机告诉从机的,从机控制的是否读完,那么主机什么时候知道读完所有数据了? ...

这要看协议是谁写的,如果从机是固定的器件,手册里肯定会给你说如何知道数据达到末尾,如果协议是你自己写的,想办法让主机知道,比如发特殊的数据,或者发NACK。

另外如果楼主是在读存储器,主机怎么可能不知道读到了数据末尾?数据格式是你自己定义的啊!
apple 发表于 2013-3-11 08:37 | 显示全部楼层
估计是你的理解不对
 楼主| JIANG_E8E 发表于 2013-3-12 18:11 | 显示全部楼层
NE5532 发表于 2013-3-11 08:23
这要看协议是谁写的,如果从机是固定的器件,手册里肯定会给你说如何知道数据达到末尾,如果协议是你自己 ...

版主,能留个EMAIL吗?我把资料邮给你,帮忙给看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

15

帖子

0

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