找回密码
 注册
关于网站域名变更的通知
查看: 407|回复: 3
打印 上一主题 下一主题

CPLD实现I2C透传

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2023-2-3 11:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    cpld/FPGA实现I2C的透传,使用三态门,那么SDA的方向应向该如何确定?# @6 S! r/ Z# {
    assign SCL_OUT = SCL_IN;
    8 A3 E5 L+ y# Q' N3 b0 Q( y* L. v- @9 M
    wire mid;/ e3 w, O( I! S. w+ h4 K
    assign mid = dir?1'bz:SDA_IN;  //dir为0的时候,SDA_IN$ E9 `: N- Q0 y
    wire mid1;2 I1 C' o. T  B$ ^* F
    assign mid1 = dir?SDA_OUT:1'bz;  //为1的时候,SDA_OUT
    0 a& T$ p4 H- p: q" T: `5 _
    0 _0 C  s: t' ^3 C6 P, \* a2 r$ hassign SDA_IN = mid1;- O. ^& c6 L& n: }
    assign SDA_OUT = mid;! r; w# ?% F' ]

    . Z; l4 x+ l3 G! m- p% T- i( x& B( D% o  r% J: N; H! S
    那个dir如何确定呢?
    . L5 K4 m# C( M& ?) \  [$ {1 s
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2023-2-3 13:09 | 只看该作者
    监听i2c通讯,这样你就知道什么时候是输入,什么时候是输出

    该用户从未签到

    3#
    发表于 2023-2-3 13:12 | 只看该作者
    第一种方法的成帧,解析frame的前提是master完全按照协议来,而且不考虑复杂的情况。这个不建议用。+ }, S8 C; ~9 E  z: f: `0 q
    然后第二种方法,收发转换的时候,源端输出0,目的端也输出0,源端撤销了,目的端的0仍然在,然后才开始转发目的端到源端。因为中间必须流出300ns左右的时间,所以这个转发的时间会变长。

    该用户从未签到

    4#
    发表于 2023-2-3 13:19 | 只看该作者
    i2c只输出0,不输出1,1由外部上拉电阻实现, J( {0 C+ b. Y$ }
    两面都作为输入,! U6 R- |6 s, _+ `6 T3 l2 t
    当哪面先接到0时,对面做输出0
    5 B; x% {2 E& H5 @" q. Q收到0的那一端收到了1时,两面都恢复为输入
    ( d: ]1 W2 t, [延时一段时间再进行判断
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-21 11:09 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表