fpga_asic-基于fpga的数据缓存与转发系统设计

fpga_asic-基于fpga的数据缓存与转发系统设计

ID:34480896

大小:370.96 KB

页数:5页

时间:2019-03-06

fpga_asic-基于fpga的数据缓存与转发系统设计_第1页
fpga_asic-基于fpga的数据缓存与转发系统设计_第2页
fpga_asic-基于fpga的数据缓存与转发系统设计_第3页
fpga_asic-基于fpga的数据缓存与转发系统设计_第4页
fpga_asic-基于fpga的数据缓存与转发系统设计_第5页
资源描述:

《fpga_asic-基于fpga的数据缓存与转发系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于FPGA的数据缓存与转发系统设计TheDesignofDataStorageBufferringandTransmissionSystemBasedonFPGA1,22(1.中国科学院研究生院;2.中国科学院空间科学与应用研究中心)薛国凤张健XUEGUOFENGZHANGJIAN摘要:本文主要论述在设计某主板测试系统数据缓存和转发过程中所遇到的问题以及相应的解决的方法。提出了分割较大的状态机为若干个相对较小状态机的方法,以简化状态机个数,使得状态机能够稳定工作。结合实例分析了乒乓操作能够很好地解决异步时钟域带来的问题,并且能够较好地完成数据的无缝缓冲和处理。关键词:FPG

2、A;状态机;乒乓操作;ST16C2552Abstract:ThispaperfocusesontheproblemsandtheirsolutionsduringthedesignofDataStorageBufferringandTransmissionSystemBasedonFPGA.Itgivesamethodofdividingthelargerstatemachineintoseveralsmallerones,whichcansimplifythewholestatemachineandmakeitworksteadily.Also,thePingPangOpe

3、rationwhichcanbeusedasapipelineisanalyzedthroughanexampleinthispaper.Keywords:FPGA;StateMachine;Pipeline;ST16C2552中图分类号:TP302文献标识码:B1引言在基于FPGA的数字设计中,有限状态机是使用最为广泛的逻辑结构,它使得控制更加灵活,高效。因而有限状态机的稳定性成为能够发挥其作用的关键。在文献[1],[2],[3]中详细论述了关于有限状态机的分类以及优化的方法。本文着重结合实例提出分割大的状态机为较小状态机的方法以及共享状态来简化有限状态机的状态数目,为其稳

4、定工作奠定基础。本文涉及到串口扩展芯片ST16C2552(以下简称2552)的使用。该芯片是EXAR公司生产的异步通信扩展芯片,可扩展两路串口,其最高速率可达4Mbps。文献[5],[6]中详细介绍了该类芯片的工作原理及工作模式,可作为参考。2系统工作原理该设计作为本实验室某项目的地面检测设备。要求模拟时序控制板产生主板所需中断信号并实时转发主机传输的数据。主机向地检设备FIFO中写入两路帧头数据(前视帧头和后视帧头),每一路帧头数据的速率分别为2Kframe/s,每帧96bits。地检设备使用FPGA实现并控制接收数据,存入FIFO中,再通过低速通信口RS232发送至PC机

5、,最终在PC机上对数据进行分析处理。系统原理如图1所示。其中接口控制逻辑,FIFOA,FIFOB,发送控制状态机全部使用FPGA实现。发送控制状态机部分负责从FPGA的FIFO中读取主机写入的两路数据,处理后送入串口发送出去。它是本设计的关键部分。3遇到的主要问题(1)状态机工作不稳定,容易进入无效状态。(2)数据传输不正确。表现为间隔传输几组数据后部分数据丢失。(3)异步时钟域问题。数据被写入和读出所用的时钟不同步,也可能导致数据丢失。图1系统原理框图4系统的实现与问题的解决(1)状态机的实现发送控制状态机首先完成对2552的配置(设置14个寄存器的值),然后读取两路FIF

6、O中的数据并写入2552进行发送。初次划分后总计30个状态。由于状态繁多,使得整个状态机在编码过程中存在太多无效状态,为状态机进入无效状态留下隐患,状态机工作不稳定。为了使其稳定工作采取以下措施:1)使用“one-hot”编码;2)采用三段式描述方法;2)精简状态的个数。而简化状态的数目具体表现为两方面。首先是分割大的状态机为相对独立的若干个较小状态机。仔细分析发现,配置2552仅在上电复位后执行。即,上电后只执行一次配置工作。那么就可以将整个状态机分割为两个相互独立的状态机,达到简化状态机的目的。简化后的状态转移图如图2所示。其中配置状态机由16个状态组成。两个状态机之间通

7、过信号INITIAL连接。上电复位后,配置状态机开始运行时INITIAL为‘0’。发送状态机停留在idle状态。配置完毕后信号INITIAL被置为’1’。当处于idle状态的发送状态机检测到INITIAL为’1’后才开始下一步动作。在这里INITIAL具有使能发送状态机的作用。通过将较大的状态机分割为两个相对较小的状态机后,大大简化了状态机的数目,为状态机稳定运行奠定了基础。图2发送状态机状态转移图其次是使用共享状态。本设计中,配置状态机产生配置2552内部寄存器所需的读写、地址和数据信号。例如写数据时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。