- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                基于异步FIFO实现的FPGA与ARM处理机的数据通信.pdf
                    
 2010年第 1期                          大 众 科 技                           No.1。2010 
  (总第 125期 )                      DAZHONG KEJ                   (CumulativelyNo.125) 
 基于异步FlF0实现的FPGA与ARM                                                        l1 
                                    芦会群 
                      (桂林电子科技大学,广西 桂林 541004) 
     【摘 要】在现代电路设计 中,一个系统往往包含了多个时钟,如何在异步时钟间传递数据成为一个很突出的问题,而异 
 步FIFO采用先进先出的设计方法,可以有效解决两个不同时钟系统之间的数据传输问题。文章介绍基于FPGA的异步FIFO设 
 计,成功地在两个不同时钟域的FPGA数据采集电路和ARNI处理机之间进行数据通信。 
     【关键词】FIFO (先进先出);FPAG;ARM 处理机 
     【中图分类号】TP311.1         【文献标识码】A           【文章编号】1008—1151(2010)01—0020—02 
                (一)前言                    芯 片 。FIFO 分 两 类 :SCFIFO(single—clock FIFO)和 
   本文涉及到两个电路板:一个为利用FPGA实现的数据采           DCFIFO(dual—clockFIFO)。I)CFIFO(即异步FIFO)用于存储、 
 集 电路;一个为基于 ARM的处理机。这两个部分处于不同的          缓冲在两个独立的时钟之间的数据。本文用 OuartusII软件例 
 时钟域中,将FPGA采集到的数据准确无误的传递给后端ARM          化DCFIFO。图2给出了例化DCFIFO的模块图。 
 处理机成为该系统的一个关键 问题。利用 FPGA实现的异步 
 FIFO是一种先进先出型的数据缓存结构,可以用来实现该两 
 个电路板之间的数据通信,简单易于操作。所用的FIFO模块 
 是ALTERA公司提供的IP核。经过充分测试和优化,系统运 
 行稳定且 占用FPGA内部资源也比较少。 
              (二)FIF0介绍 
   FIFO(FirstInFirstOut,先入先出队列)存储器是 
一 种双端 口数据存储器,一个端 口用于将数据写入 FIFO,另 
一 个端口用于将数据从FIFO中读出。通常采用的是基于带2 
 个指针的环形FIFO结构。要写入数据的存储地址放在写指针 
 中,存储单元中要读出数据的地址放在读指针中。其基本结                         图2 DCFIFO模 块图 
 构包括双端 口存储单元、状态标志产生逻辑和扩展逻辑,且 
                                        对模块中各信号进行简要说明: 
 允许同时对存储单元的 2个端 口 (读端 口和写端 口)进行存 
                                        左端 : 
取 。 
                                        wrclk:写时钟; 
   FIFO常用于数据的缓存和容纳异步信号的频率或相位的 
                                        rdclk:读时钟: 
差异。FIFO通常是利用双 口RAM和读、写地址产生模块来实 
                                        wrreq:写请求信号,用作写有效信号,同步于写时钟; 
现。图1给出了FIFO的内部结构。 
                                        rdreq:读请求信号,用作读有效信号,同步于读时钟: 
                                        data[7..0]:写入DCFIFO的数据信号,位宽可以自定义设置, 
                                                wrreq有效时写入DCFIFO数据有效,同步于写 
                                              
                 原创力文档
原创力文档 
                        

文档评论(0)