怎么检测I2C的开始条件和结束条件?
做I2C接口时一般大家是怎样检测其开始条件和结束条件的呢?在没有其他时钟可用的情况下,以下异步设计可以接受吗?
always@ (negedge scl_i or negedge sda_i)
if(!scl_i) //采用了SCL作为复位端
start<= 1'b0;
else if(scl_i)
start<= 1'b1;
always@ (negedge scl_i or posedge sda_i)
if(!scl_i) //采用了SCL作为复位端
stop<= 1'b0;
else if(scl_i)
stop<= 1'b1;
一般规范的I2C设计是不是要SCL的倍频时钟呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>