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

fpga跨时钟域通信时 慢时钟如何读取快时钟发送过来的数据?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-1 15:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
比如器件A和器件B,A的时钟是50Mhz,B的时钟是10Mhz,他们之间采用单线串行通信,只有一根线,那B如何接收A传过来的数据呢?
/ X. @, p4 q7 V; U0 A

该用户从未签到

2#
发表于 2022-9-1 16:00 | 只看该作者
解决的办法是缓存。在它们之间必须有一个存储器,A进来的数据写进去,B再都出来送出去。由于A快,到的数据量大,缓存还要有溢出警告功能,缓存满了要送中端信号给处理器,通知暂缓发数据,不然会丢包。

该用户从未签到

3#
 楼主| 发表于 2022-9-1 16:12 | 只看该作者
但是这里只有一根线 没办法建立FIFO啊 那该怎么解决呢
  • TA的每日心情
    开心
    2022-1-24 15:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2022-9-1 16:33 | 只看该作者
    单线串行通信需要说明是什么协议的通信,一般串行的通信协议也是需要几根线的,比如JTAG就需要TCK/TDI/TDO/TMS四根线,SPI也是四根线。一根线只是走数据一根线,这个时候缓存就需要先串并转换,转成8位的数据再写进FIFO或者RAM,读出来的时候在并串转换成串行数据出去。

    该用户从未签到

    5#
    发表于 2022-9-1 20:27 | 只看该作者
    如果A的数据是1个周期一个,那B是 一定 接不住的。必须几个周期传一个数据。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-6 03:26 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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