请教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,那主机也定义两根,一出一进吗?
请问那个网站注册是不是要交钱哦?我咋没注册成功呢?
