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

CPLD实现I2C透传

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    cpld/FPGA实现I2C的透传,使用三态门,那么SDA的方向应向该如何确定?
    ; D' a: ]* ?1 p& X9 Eassign SCL_OUT = SCL_IN;
    7 M5 H( d! ^" x! }8 j  ]0 @; o6 e9 c! ^
    wire mid;
    ) C$ Q" t/ y2 F, ?" o1 z# E5 q& uassign mid = dir?1'bz:SDA_IN;  //dir为0的时候,SDA_IN) B/ \% u  {$ U" z
    wire mid1;; \- ^, H2 c# J3 d$ C) W! \
    assign mid1 = dir?SDA_OUT:1'bz;  //为1的时候,SDA_OUT
    ' Q* y+ Q) d  A) ^
    / L8 @( R- }# d0 G2 x: massign SDA_IN = mid1;; Z2 x* [4 W! \2 b4 @1 F- y
    assign SDA_OUT = mid;
    , }" z+ c% w# D5 ]
    3 K+ [1 T3 f  c" u6 @# W- D  m7 _
      j" ]6 |4 b$ i* j) O( N. i) {那个dir如何确定呢?
    0 q5 y" R$ ~$ h# L0 |0 h  H
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

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

    该用户从未签到

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

    该用户从未签到

    4#
    发表于 2023-2-3 13:19 | 只看该作者
    i2c只输出0,不输出1,1由外部上拉电阻实现
    5 c. _+ p- K7 ^: V. x两面都作为输入,3 ^2 @; n" s6 Q/ f% L
    当哪面先接到0时,对面做输出0
    0 X9 Z( n. O) L7 v2 W收到0的那一端收到了1时,两面都恢复为输入
    4 a. b+ h1 B( x# E0 L延时一段时间再进行判断
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-5 12:34 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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