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

比如器件A和器件B,A的时钟是50Mhz,B的时钟是10Mhz,他们之间采用单线串行通信,只有一根线,那B如何接收A传过来的数据呢?... 比如器件A和器件B,A的时钟是50Mhz,B的时钟是10Mhz,他们之间采用单线串行通信,只有一根线,那B如何接收A传过来的数据呢? 展开
 我来答
besurezhang01
推荐于2018-04-12 · TA获得超过3326个赞
知道大有可为答主
回答量:2134
采纳率:66%
帮助的人:1795万
展开全部
解决的办法是缓存。在它们之间必须有一个存储器,A进来的数据写进去,B再都出来送出去。由于A快,到的数据量大,缓存还要有溢出警告功能,缓存满了要送中端信号给处理器,通知暂缓发数据,不然会丢包。
追问
但是这里只有一根线 没办法建立FIFO啊 那该怎么解决呢
追答
单线串行通信需要说明是什么协议的通信,一般串行的通信协议也是需要几根线的,比如JTAG就需要TCK/TDI/TDO/TMS四根线,SPI也是四根线。一根线只是走数据一根线,这个时候缓存就需要先串并转换,转成8位的数据再写进FIFO或者RAM,读出来的时候在并串转换成串行数据出去。
master2master
2013-06-05
知道答主
回答量:18
采纳率:0%
帮助的人:3.7万
展开全部
如果A的数据是1个周期一个,那B是 一定 接不住的。必须几个周期传一个数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c5bf415bd
2013-06-05 · TA获得超过263个赞
知道小有建树答主
回答量:449
采纳率:100%
帮助的人:90.2万
展开全部
降低A的发送频率到10MHz
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9d80b6bac
2013-06-05 · TA获得超过1031个赞
知道小有建树答主
回答量:692
采纳率:66%
帮助的人:358万
展开全部
就一条线中间是无法加fifo的,这种只能数据单向传输,而且是慢的给快的;快的给慢的一根线是无法完成的;你为什么不用两条线呢?像IIC一样的传数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式