如何处理时钟拉伸大师?

时间:2016-10-23 19:23:49

标签: verilog fpga i2c master

如何在I ^ 2C协议(和读取输入)中为SCL提供时钟?由于时钟延长,我必须等待发送数据,直到SCL为高。

然而,从机可能会影响这一点。如何将其与实际时钟协调?如果从机保持时间过长,它会跳过时钟脉冲吗?或者我应该在SCL上使用代码触发器而不是系统时钟吗?

现在,我有一个状态机,可以在每个正时钟脉冲上改变状态。

在下一个状态逻辑中:

always @(*) begin
....
STATE_2: begin
    if (COUNT == 7) begin     
      COUNT = 0;
      NextState = STATE_3;
    end else begin
      COUNT = COUNT + 1;
    end
  end
....

然后,在分配输出时,我总是@ *,然后如果state_2它输出8位地址的一位(因此计数器)。

0 个答案:

没有答案