- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA_ASIC-基于FPGA的数据缓存与转发系统设计.pdf
基于FPGA的数据缓存与转发系统设计
The Design of Data Storage Bufferring and Transmission
System Based on FPGA
(1.中国科学院研究生院;2. 中国科学院空间科学与应用研究中心)薛国凤 1,2 张健 2
XUE GUOFENG ZHANGJIAN
摘要:本文主要论述在设计某主板测试系统数据缓存和转发过程中所遇到的问题以及相应的
解决的方法。提出了分割较大的状态机为若干个相对较小状态机的方法,以简化状态机个数,
使得状态机能够稳定工作。结合实例分析了乒乓操作能够很好地解决异步时钟域带来的问
题,并且能够较好地完成数据的无缝缓冲和处理。
关键词: FPGA ;状态机; 乒乓操作;ST16C2552
Abstract: This paper focuses on the problems and their solutions during the design of Data
Storage Bufferring and Transmission System Based on FPGA. It gives a method of dividing the
larger state machine into several smaller ones, which can simplify the whole state machine and
make it work steadily. Also, the Ping Pang Operation which can be used as a pipeline is analyzed
through an example in this paper.
Key words: FPGA; State Machine; Pipeline; ST16C2552
中图分类号:TP302 文献标识码:B
1 引言
在基于 FPGA 的数字设计中,有限状态机是使用最为广泛的逻辑结构,它使得控制更加
灵活,高效。因而有限状态机的稳定性成为能够发挥其作用的关键。在文献[1],[2],[3]中详细
论述了关于有限状态机的分类以及优化的方法。本文着重结合实例提出分割大的状态机为较
小状态机的方法以及共享状态来简化有限状态机的状态数目,为其稳定工作奠定基础。
本文涉及到串口扩展芯片 ST16C2552 (以下简称2552 )的使用。该芯片是 EXAR 公司
生产的异步通信扩展芯片,可扩展两路串口,其最高速率可达 4Mbps 。文献[5],[6]中详细
介绍了该类芯片的工作原理及工作模式,可作为参考。
2 系统工作原理
该设计作为本实验室某项目的地面检测设备。要求模拟时序控制板产生主板所需中断信
号并实时转发主机传输的数据。主机向地检设备 FIFO 中写入两路帧头数据(前视帧头和后
视帧头),每一路帧头数据的速率分别为2K frame/s ,每帧 96bits 。地检设备使用FPGA 实现
并控制接收数据,存入 FIFO 中,再通过低速通信口RS232 发送至 PC 机,最终在 PC 机上
对数据进行分析处理。系统原理如图 1 所示。其中接口控制逻辑,FIFO A ,FIFO B ,发送
控制状态机全部使用 FPGA 实现。发送控制状态机部分负责从 FPGA 的FIFO 中读取主机写
入的两路数据,处理后送入串口发送出去。它是本设计的关键部分。
3 遇到的主要问题
(1)状态机工作不稳定,容易进入无效状态。
(2 )数据传输不正确。表现为间隔传输几组数据后部分数据丢失。
(3 )异步时钟域问题。数据被写入和读出所用的时钟不同步,也可能导致数据丢失。
图 1 系统原理框图
4 系统的实现与问题的解决
(1) 状态机的实现
发送控制状态机首先完成对 2552 的配置(设置 14 个寄存器的值),然后读取两路FIFO
中的数据并写入2552 进行发送。初次划分后总计 30 个状态。由于状态繁多,使得整个状态
机在编码过程中存在太多无效状态,为状态机进入无效状态留下隐患,状态机工作不稳定。
文档评论(0)