微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教I2C

请教I2C

时间:10-02 整理:3721RD 点击:
我想请教下I2C主机如何检测从机是否响应。用verilog语言实现。我想要个具体的思路。请哪位高手指点下。

你应该也看过协议,简单点说就是检测电平,如果被从机拉低即为响应。
       如果你想看具体的实现,一个方法是看IP(如Synopsysy的),这个估计你没有条件。还有一个方法是你可以看一下开源的代码,在 http://opencores.org/projects这个网站有开源的,你可以下载下来看看,参考一下。

slaver每接收一个byte,就会产生一个ACK

slaver每接收一个byte数据,就会产生一个响应ACK
ACK=1,表示不响应,master结束本次传输
ACK=0,表示接收到数据,master继续发送数据
也就是个简单的握手



    好的,谢谢



    这个我知道,但是在具体实现时,我就不知道咋弄了。从机响应位也在SDA上,而主机发数据也在SDA上,相当于SDA即发送也接收,可定议为inout型,一个IC工程师说在单个模块里,不能使用inout,只有在顶层模块里。所以我的从机,就定义一个输入sdi,一个输入sdo,那主机也定义两根,一出一进吗?



    请问那个网站注册是不是要交钱哦?我咋没注册成功呢?

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

网站地图

Top