微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 弱问I2C master读数据时,时钟是由谁产生的?

弱问I2C master读数据时,时钟是由谁产生的?

时间:10-02 整理:3721RD 点击:
弱问I2C master读数据时,时钟是由谁产生的? 谢谢啦

器件本身有时钟,总线SCK也当做数据处理,不过这个数据是作为接收SDA的时序依据

你自己看看IIC的IP core的代码就清楚了

I2C master is in charge of generating the clock. All clock devices can send data based on a smiple protocol.



   圣诞快乐,呵,我看到协议了,只是有点不清楚,时钟总线SCK是双向的,对于交换总线的控制权的细节不是很清楚,slave如何知道master端release总线,slave何时把时钟总线拉低,何时释放总线,master何时重新拥有总线控制权?
同样的事情发生在SDA总线上,slave或master发出ACK相应的过程中,交换控制权的细节是怎么的?



   圣诞快乐,呵,我看协议不是很清楚,时钟总线SCK是双向的,对于交换总线的控制权的细节不是很清楚,slave如何知道master端release总线,slave何时把时钟总线拉低,何时释放总线,master何时重新拥有总线控制权?
同样的事情发生在SDA总线上,slave或master发出ACK相应的过程中,交换控制权的细节是怎么的?



   还有,slave是在SCK的上升沿采数的是么?麻烦啦?

Yes, or you can capture data at clock high period..
Please refer to I2C protocol about "Data validity".



   恩,看过了,没有说的很明确,提到了data validity的范围。
还要请教一个multi master 的问题,如何避免在一个master传输数据过程中,另一个master启动,如何仲裁?


在上图的红线标记出,master2如何知道该总线是free状态还是busy状态,假如说SCK1和SDA1同时为1

哦啦啦了拉拉,我误入歧途了。

还有一个问题不是很清楚,multi-master在竞争的时候,如果竞争失败,那么数据就丢失了,丢了就丢了是吧?

IIC时钟由主机从机共同控制,但主要由主机控制,从机通过stretch功能拉低时钟,要求主机等待从机的内部操作


请教I2C的SDA三态门。enable端口可以 always 等于0么?


任何时候都是主机产生时钟

关注。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top