FPGA的IEEE-1394b双向数据传输系统设计_第1页
FPGA的IEEE-1394b双向数据传输系统设计_第2页
FPGA的IEEE-1394b双向数据传输系统设计_第3页
FPGA的IEEE-1394b双向数据传输系统设计_第4页
FPGA的IEEE-1394b双向数据传输系统设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【Word版本下载可任意编辑】 FPGA的IEEE-1394b双向数据传输系统设计 随着IEEE Std 1394-1995技术的高速发展,IEEE 1394已经成为众多电子设备基本的外部接口。然而,要进一步扩展它的适用领域,就必须克服其接口被限制工作在较短距离以及不适用于较高数据传输率的缺陷。IEEE Std 1394b-20*作为其修订版本支持800 Mbs-1传输速率,且中继距离长达100m。它将原来的DS(Data-Strobe)编码方式改良为8B10B编码方式,这对于1394性能的改良起着决定性作用。同时,1394b是向下兼容的,也就是说同一个电路既可以选择使用DS编码也可以选择使用

2、8B10B编码。 现在符合1394b标准的链路层和物理层控制芯片都遵循1394 OHCI(开放式主机控制接口协议),它的主要功能是实现总线的链路层协议。本系统通过NIOSII处理器,根据1394 OHCI,对FPGA以及1394套片开展控制,实现了双向数据传输。其主要功能是将外部视频数据打包,按照1394b协议,传输到主机端开展实时显示,并实现与主机的相互通信。 1 1394 OHCI的特点 支持事务层和总线管理层,而且带有一个PCI主机总线接口,以及高速率数据传输所需要的DMA引擎。支持两种数据传输:异步传输和等时传输。 异步传输:1394 OHCI可以发送和接收所有1394所定义的数据包格

3、式。无论是从主机存储器中读出发送数据包,还是将接收到的数据包写入主机存储器,都是通过DMA来实现的。在向主机总线存储空间读和写时,1394 OHCI也可以通过直接执行1394读和写请求而作为主机总线和1394之间的总线桥。 等时传输:1394 OHCI可以执行循环控制器的功能。也就是说它包含了一个循环计时器和计数器,可以在8 kHz时钟的每个上升沿后安排一个循环开始包的传输。1394 OHCI可以产生内部时钟。当它不是循环控制器时,1394 OHCI根据循环开始包,通过更正其循环计时器来保持它的内部时钟与主节点的周期同步。1394 OHCI为等时发送和等时接收各提供了一个DMA控制器。每个DM

4、A控制器支持高达32个不同的DMA上下文(context)。等时发送DMA控制器可以在每个周期,从每个上下文发送数据。而每个上下文只能从的等时信道发送数据。等时接收DMA控制器可以在每个周期,从每个上下文接收数据。但是每个上下文既可以从的等时信道接收数据,也可以从多个等时信道接收数据。 2 硬件构造 以FPGA内嵌的NIOSII处理器为开发平台,控制实现数据的双向传输。其硬件构造框图如图1所示。主要由NIOSII系统模块、SPI口的数据输入输出模块、1394套片模块、SRAM模块、串口(UART)通信模块、电源管理模块、EPCS模块和Flash模块组成。其中,FPGA芯片为主控芯片,选择Ahe

5、ra公司Cyclone II系列的EP2C70F672C8N;Flash芯片用于存储NIOSII嵌入式处理器的代码和数据,FPGA上电后从中读取;SRAM芯片一个用于对外部大量视频数据开展缓存,另一个作为C代码的运行空间。串口主要用以产生异步数据,外部视频数据则主要通过SPI口开展等时传输。 图1 系统的硬件构造框图 3 软件工作流程 在NIOSII IDE集成环境下,根据1394 OHCI协议,使NIOSII处理器实现对总线的初始化,以及管理,并通过DMA方式实现等时和异步数据传输。其中等时数据传输仅考虑将外部视频数据打包发送到主机,而异步数据传输分为主机发起的异步传输和1394设备发起的异

6、步传输。 3.1 系统的自举 主要为系统初始化、检测电缆以及根节点确实定。系统初始化主要是配置链路层芯片存放器,使其工作在需要的状态下。分为对PCI存放器的初始化和对OHCI存放器的初始化。对PCI存放器的初始化包括对TSB82AA2设备ID和PCI厂商ID的验证,OHCI基地址存放器的设置以及对指令状态存放器的配置。而对OHCI存放器的初始化则包括对各个中断存放器和DMA上下文的设置,以及控制存放器的配置。检测电缆是否插入是通过读取物理层芯片某存放器的相应位来判断的。电缆插入后,通过检查和配置Node ID存放器,强制设置本节点为子节点,主机为根节点,直到成功为止。 3.2 数据的传输 在1

7、394 OHCI中,不管是等时传输,还是异步传输,都是通过DMA方式实现的,而且每个DMA都有一个FIFO,用于暂时存放数据。其中各FIFO的存储容量为:异步发送(AT)FIFO为5 kB,异步接收(AR)F7FO为2 kB,等时发送(IT)fIFO为2 kB,等时接收(IR)FIFO为2 kB。无论是物理层接收到的还是要发送出去的数据包,都被暂时存放在相应的FIFO中,由1394套片的内部逻辑控制将其传送到1394总线上。 (1)主机发起的异步传输。 主机发起的异步传输即由主机发出异步传输请求,1394设备开展响应,因此在这一部分,主要是异步请求包的接收以及异步响应包的发送。其工作流程如图2

8、所示。1394设备接收到主机发来的异步请求包后,就会产生异步接收请求中断,这可由链路层芯片中断存放器的RQPkt位表征。当一个数据包传送完毕后,数据包的一个指令描述符的xferStatus字段将被重置,这时数据包已被成功传送到AT响应FIFO中。 图2 主机发起的异步传输工作流程 (2)1394设备发起的异步传输。 同样,由1394设备发起的异步传输即由1394设备发出异步传输请求,主机开展响应。因此,这一部分主要是异步请求包的发送以及异步响应包的接收,其工作流程如图3所示。这时会产生异步请求输出DMA中断,这可由链路层芯片中断存放器的reqTxComplete位表征。1394设备接收到主机发

9、来的异步响应包后,会产生异步接收响应中断,这可通过链路层芯片中断存放器得知。另外,发送出去的请求包也将被暂时存放在内存中,以便与返回的响应包对应。 图3 1394设备发起的异步传输的工作流程 (3)等时传输。 等时传输主要实现的功能是通过1394设备将外部的视频数据等时传输到主机开展实时显示。外部视频数据与FPGA的SPI接口相连,FPGA把接收到的数据缓存在SRAM中,等时传输时,FPGA读取SRAM中的数据,生成等时数据包。这一部分的主要工作就是等时数据包的发送,其工作流程如图4所示。 图4 等时传输的工作流程 4 测试结果分析 为了测试系统性能,开展了快传输速度测试。设置总线传输速度为800Mbs-1,根据1394总线协议的规定,每个数据包为4 096 bit。理论上一个传输周期125s传送一个数据包,因此每秒多传输数据31.25 Mb,转换为比特率,传输速度为250 Mbs-1。实测的快传输速度可达227 Mbs-1,相对于1394a理论上的速度125 Mbs-1提高了较多,因此该系统在传输速度上具有较大优势。同时,主机端实时显示的视频实时性和可靠性也较好。 5 结束语 本系统,采用800 Mbs-1的总线传输速率,利用FPGA内嵌的NIOSII处理器作为控制,实现了双向传输,用异步传输方式传输主机端指令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论