基于FPGA的IEEE 1394b高速数据传输系统
摘要:介绍了IEEE 1394h串行总线的特点,并以FPGA嵌入式处理器Nios II为控制核心,设计实现了一种1394b高速数据传输系统。阐述了该系统的硬件设计和软件工作流程。实验表明,该系统可靠性高、实时性好、具有广泛的应用价值。
关键词:IEEE 1394b;串行总线;FPGA;Nios II
随着信息技术的迅速发展,计算机的速度不断提高,外部设备的速度也随之提高。常用串行总线,如USB2.0总线最高速率为480 Mb·s-1,IEEE 1394a总线最高速率为400 Mb·s-1,但在有些情况下难以满足高带宽和实时性的要求,成为系统性能进一步提升的瓶颈。IEEE 1394 b-2002正是在这种情况下应运而生,它最高支持800 Mb·s-1的总线传输速率,最多可支持63个节点,最大传输距离100 m,支持即插即用、等时和异步传输,并且向下完全兼容IEEE 1394a的设备。1394b串行总线可以应用在众多的领域中,无论是在视频传输还是计算机外设、网络互连等方面都有着巨大的市场潜力。具有相同功能的1394b产品,比普通计算机配套设备便宜,具有更好的可扩展性和竞争力。
1 系统的硬件设计及仿真
系统硬件设计框图如图1所示。根据用户需求,该系统以FPGA为单板控制核心,外部慢设备的控制或状态信号通过RS-232总线发送到FP-GA内部的相应接收模块。这些慢设备发送的数据信息量不大,但要求准确无误的传送到主机端显示,所以这些数据在1394b总线上采用了异步传输的方式。除慢设备外,系统单板还通过RS-422差分接收器接收两路压缩后的DVD视频图像数据。这些图像数据通过等时传输的方式不间断的发送到主机上,经过解压缩进行实时播放。系统单板上还留有一些扩展接口,用于功能扩展。
综合考虑系统的功能需求及实现的复杂度,FPGA采用了Altera公司Cyclone II系列的EP2C70F67216。这款FPGA具有68 416个逻辑单元,422个用户I/O管脚,I/O标准支持3.3 V PCI,可以通过IP核实现主从模式的PCI接口。在系统中FPGA主要完成:(1)异步与等时数据的接收。(2)数据拼接与数据缓存。(3)外部SRAM的控制,实现大量数据的片外缓存。(4)与链路层控制器间的PCI接口时序控制。(5)与Nios II软核之间的接口模块。
链路层控制器TSB82AA2通过PCI总线与FPGA相连,PCI接口的时序较复杂,本设计采用了FPGA内部的IP核PCI_Compiler来实现PCI主从传输模式。链路层控制器与FPGA的连接关系如图2所示。在SOPC Builder开发环境中,只需要设置相应的参数,就可以实现PCI总线与FPGA内部Av-alon总线之间的数据交换。需要注意的是,在生成硬件网表前需要加入IP核有关文件中提供的PCI约束信息,并按照约束文件的要求锁定管脚。
![](http://m.amcfsurvey.com/webstorage/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码