微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > i2c_slave起始条件和结束条件

i2c_slave起始条件和结束条件

时间:10-02 整理:3721RD 点击:

设计i2c slave时一般会选用一个快的时钟来采sda和scl信号,借此来产生一个起始条件和结束条件,但若系统中没有快的时钟,该怎么设计呢?如果直接让数据当时钟,异步设计让设计很不可靠。

一般都有一个快一点的时钟吧,SCL的速度很慢的啊



   scl最快是400khz,,  没有办法么?

最高400K也很低速了啊,最慢100K呢。什么系统的时钟会低于100K?

额,,那就假设没有比scl快的时钟

如果你的时钟低于400K,不可能产生小编需要的信号

小编就是假设没有比400k快的时钟啊

不论你是主还是从,没有更快的时钟意味着你所有的相关逻辑都必须在一个SCL内完成

scl是又master产生的,你没有比scl快的时钟··怎么产生scl呢?



   master是我通讯的对象,slave才是我的设计本身啊

使用SDA做时钟,SCL做数据,就可以了
I2C协议对Tsu:sta、Thd:sta和Tsu:sto都是有要求的



    你没有比scl更快的时钟,怎么踩点?你想用scl触发吗?这样的设计是不行的!



   怎么看待11楼的解答呢

可以 很早很早 以前的老人是這樣做的
always@(negedge SDA)
  START <= SCL;
always@(posedge SDA)
  END <= SCL;



    代码跑仿真可以,但是综合性可行不?一般都要求异步信号同步化!

SCL 快的都20M了 用同步

用slave的时钟做同步

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

网站地图

Top