有人用HDL做I2C通信吗?

2019-03-25 10:40发布

学习板上的PCF8563睡了几个月觉了。准备练练它。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
shinexqq
2019-03-27 01:52

感谢你在两边都作了详细的回答,既然是这边的网友,咱就在这讨论好了。 我的第一个问题的意思是,程序发数据用的是case (SD_COUNTER)这个语句来执行发数的,下面的case只有0-32,而SD_COUNTER的计数是到6'b111111(即63)了才重新从0开始计的。这样应该在33-63计数器在空跑的,不知道是什么意思

 

二、对于从机应答我看懂了。还有点不明白的是:结合这句 6'd12 : begin SDO=SD[15]; ACK1=I2C_SDAT; end ,于是ack1就等于之前一个周期的i2c_sdat的输入值,也就是状态‘ 11’6'd11 : SDO=1'b1。。。。。

 

我原来理解是:在这里他用的是“=”号,ACK1读到的是SD[15]的值,如果这样写6'd12 : begin ACK1=I2C_SDAT;  SDO=SD[15];end 我能理解。。。为什么说“ack1就等于之前一个周期的i2c_sdat的输入值”呢?

[ 本帖最后由 shinexqq 于 2010-10-13 11:04 编辑 ]

一周热门 更多>