基于PCI Express的双路IEEE 1394b接口卡的设计与实现_第1页
基于PCI Express的双路IEEE 1394b接口卡的设计与实现_第2页
基于PCI Express的双路IEEE 1394b接口卡的设计与实现_第3页
基于PCI Express的双路IEEE 1394b接口卡的设计与实现_第4页
基于PCI Express的双路IEEE 1394b接口卡的设计与实现_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

基于PCIExpress的双路IEEE1394b接口卡的设计与实现摘要:在此选用PLX公司的桥芯片PEX8114,设计并实现基于PCIe架构的双路1394b总线接口卡的硬件平台。在该平台上进展基于VxWorks操作系统的1349b驱动开发和主机PCIe接口驱动开发。经过与1394总线测试设备的验证测试,两路1394b总线接口可以实现400Mb/s的高速数据实时传输,证明了该模块系统应用的可行性和可靠性,对其他通信系统的设计具有参考价值。关键词:IEEE1394b;OHCI;PCIExpress;高速串行总线;PowerPC处理器0引言随着嵌入式控制领域对大容量、高速、实时数据传输需求的不断增长,以IEEE1349b总线为代表的新一代串行总线应运而生,在工业控制、汽车和航空航天等领域应用越来越广。同时由于总线速率和处理器主频的不断增强,要实现外部高速总线数据的传输和处理,还必须选择与之匹配的主机接口来实现外部总线协议逻辑与处理器的高速互联。采用传统的PCI总线的并行数据传输接口已经无法满足芯片级互连对带宽、本钱、灵敏性及可靠性的要求。串行点对点的PCIExpress〔简称PCIe〕总线抑制了PCI总线在系统带宽、可靠性和可扩展性等方面的固有缺陷。本文针对PCIe的技术优势,采用PCIe?PCI桥芯片〔PEX8114〕,实现了双路IEEE1394b总线接口卡。1394链路层接口以高速DMA方式将数据传输到主机,以满足高速实时采集的应用需求。1IEEE1394b总线网络简介IEEE1394b通信系统的层次构造见图1。1394节点由主机和1394接口两局部组成。其中驱动和应用软件驻留在主机上,驱动软件以一组标准API函数形式提供给应用程序,应用程序通过调用驱动软件完成对1394b模块功能的使用、管理与控制。1394b接口模块主要实现了3个协议层:事务层〔Transactionlayer〕、链路层〔LLC〕和物理层〔PHY〕。1394b通信可以同时支持等时和异步传输模型和效劳,可以满足不同应用的要求。异步传输是一种确认的传输方式,用于对数据传输的可靠性要求较高的场合。等时传输是一种无应答的传输方式,强调数据的实时性,特别适宜大容量图像和视频数据的传输。由于IEEE1394b总线高带宽、低延迟、支持独立于主机的点对点传输、良好的可扩展性和晋级才能等特点,使其可以作为航空航天领域设备的互联总线。特别是随着航空电子设备智能化、自动化功能的增强,使基于图像识别、跟踪和测量变得日益重要,大容量高速传输图像数据成为航空电子系统的一个重要特点。所以充分利用IEEE1394b总线的这些优越性能,适时地将其应用到航空电子统一网络中,可视为解决通信问题的明智选择。2系统硬件设计2.1PCIe主机接口的实现实现通用PCIe总线接口主要有以下两种方式:〔2〕可编程逻辑设计方案。现阶段,主流的FPGA和DSP厂商都在其产品中集成了基于PCIe协议的IP核,其优点在于高度集成,节省PCB资源,具有灵敏的可编程性,但开发难度比较大,开发周期比较长。2.2根本硬件配置链路层芯片TSB82AA2提供了PCI主机接口和与物理层连接接口,实现CRC校验以及同步效劳,该芯片中集成了中断存放器、发送/接收FIFO和DMA通道控制器。物理层芯片完成物理层功能,实现仲裁机制,对收发信号进展编码/解码。1394b的链路层?物理层接口交联信号包括PCLK、LCLK_PMC、CTL0?CTL1、D0?D7、LREQ、PINT、LPS以及S5_LKON,详细连接方式如图3所示。2.4高速电路与PCB设计1394b接口卡的PCB设计遵循高速信号布线和信号完好性的要求。PCIe?1394b接口卡主要包括PCIe接口和1394b总线接口两局部高速电路设计。模块设计时主要考虑了以下几点:〔1〕元器件布局合理,应尽量保持1394物理/链路层接口接近,PCIe桥芯片与主机连接器接近,以减少噪声耦合和信号的损耗;〔2〕电源变换芯片的位置应远离晶振、1394物理层、高速信号等敏感区域,并且耦合电容应尽量靠近各芯片的电源管脚,以减少噪声耦合的时机;〔3〕1394物理端口应设计端接网络以实现与线缆传输线的阻抗匹配,并且端接网络尽量靠近物理层芯片的TP管脚;〔4〕1394和PCIe总线都采用差分信号,差分信号对在走线时要求同一组内的差分信号严格等长,组和组之间的信号长度尽量一致,以保证信号编码的对称性;〔6〕其他减少电磁干扰的措施还包括:保证地线回路与信号通路尽量接近,防止地线回路不连续,布线时不使用90°拐角的信号线等。3VxWorks环境下驱动的开发在本文中与该1394b接口卡适配的主机采用飞思卡尔公司的PowerPC8640处理器,移植嵌入式实时操作系统VxWorks5.5,在Tornado环境下开发系统驱动。驱动软件作为应用程序与硬件通信的桥梁,对系统性能有着重要影响,可靠的驱动软件是硬件稳定运行的保证。PCIe?1394b接口卡驱动软件构造图如图4所示,驱动软件主要由主机PCIe接口驱动和IEEE1394b总线驱动组成。3.1主机PCIe接口驱动开发系统上电后,主机PCIe接口驱动软件对PowerPC8640的PCIe总线控制器和桥芯片PEX8114进展配置,配置完成后,主机就可以访问1394设备。配置流程如图5所示。首先初始化PowerPC8640的基地址和空间大小。PowerPC8640在内部定义了多个局部存取窗口,按照优先级选取一个窗口作为PCIe的配置窗口,可设置窗口的基地址和窗口大小。然后扫描PCIe链路上的PCIe设备,这时能扫描到PowerPC8640的PCIe设备,通过查看ID号可断定。在扫描到PowerPC8640的PCIe设备后进展PCIe链路训练,查询训练状态。假设状态为0x16,训练通过,PCIe链路正常,可以进展下一步设置;假设不是,那么需要检查链路上的异常,出现异常一般需要看物理链接、时钟、以及PCB走线等。训练通过后进展PowerPC8640的PCIEe设备存放器设置,需要把PowerPC8640的PCIe设备配置为主设备,设置PowerPC8640的PCIe设备为BUS0,点对点连接的设备〔PEX8114〕为BUS1。3.2IEEE1394b总线驱动设计3.2.11394OHCI协议本文基于1394OHCI协议的驱动程序设计。1394OHCI是专门针对主机端开发的协议,也是IEEE1394串行总线链路层协议的一种详细实现方式,并附带一些支持事务层和总线管理层的特性。1394OHCI还包含高性能DMA数据传输和一个主机总线接口。该接口既可作为主机总线上的主设备,又可作为从设备。作为一个从设备,它译码并响应主机对1394OHCI内部存放器的访问。作为一个主设备,采用DMA方式发送〔ATDMA〕和接收〔ARDMA〕所有在IEEE1394协议中规定的数据包,实现1394的异步传输和等时传输。如图6所示,1394接口卡通过PCI总线把1394OHCI的存放器映射到内存,并且内存和1394卡上都有FIFO存储空间作为传输数据的缓存,这样所有对1394存放器的操作和数据收发都转变成对内存的操作。所有收发数据都驻留在CPU端内存空间中所创立的1394FIFOs中,当启动发送或接收时,1394链路层芯片的DMA控制器会自动的读取或写入内存中1394FIFOs中的数据,从而在不需CPU直接参与的情况下,实现了CPU和1394设备之间的数据流搬移,减少软件开销。3.2.2设备管理〔2〕物理层操作。物理层操作的驱动程序可以实现对物理层芯片的所有存放器的读/写访问,从而获取相关总线信息。物理层存放器的访问是通过一系列的链路层存放器访问来实现。通过访问物理层存放器,可以控制和获知总线状态,如发起总线复位,强迫根结点等。〔3〕总线操作。所有与总线信息相关的驱动都包含在总线操作的驱动程序中,包括总线拓扑图的生成,速度图的生成,等时带宽资源的获取、分配以及释放,等时通道资源的获取、分配以及释放,总线管理器ID的获取和强迫总线复位发起。3.2.3通信管理通信管理提供异步流的发送和接收,等时接收功能。另外通过异步4B数据包读/写,异步块数据包读/写的驱动功能完成异步传输。异步包的特点是保证数据的正确到达,他是一种点对点的数据包。异步流包和异步包不同,异步流包采用等时数据包格式,但是在异步周期里发送,这样做的优点是保证数据包的正确传递,同时支持一对多通信。〔1〕异步流包发送。由主机通知链路层芯片该消息数据准备好,根据数据包发送条件判断出该数据包具备发送条件后,配置异步流发送上下文,启动DMA,链路层芯片从主机内存中指定的数据包地址中将数据搬移到链路层芯片的FIFO缓冲中,然后启动并完成异步流的发送。异步流包发送流程如图8所示。〔2〕异步流包接收。设备在接收到消息之前,首先在设备的初始化时,初始化主机内存中的缓冲区,配置异步流的接收上下文链,启动接收,当设备检测到数据包到达时,物理层芯片根据接收的上下文配置,将和配置的通道号匹配的异步流包上传链路层,链路层启动DMA将接收到的数据直接放在接收上下文指定的主机缓冲区内,然后更新接收的上下文,自动切换到下一个缓冲区对应的上下文。〔3〕等时包发送和接收。OHCI协议规定了至少有8个DMA通道可以用来发送等时数据,每个等时通道在每个等时周期只能发送一个数据包。等时包的发送流程与异步流包的发送路程类似,这里不再赘述。等时包的接收流程,如图9所示。3.2.4中断管理中断管理接口用于实现中断回调接口的注册和注销等功能。任何一次DMA传输完成或退出,芯片都会产生一个中断通知主机,主机通过读取中断事件存放器来判断发生了何种中断。根据初始化时已经配置好的中断屏蔽存放器,针对其中使能的每一种中断原因编写相应的中断效劳例程,由中断管理接口完成中断例程的挂接。4IEEE1394b总线通信测试图10IEEE1394b总线通信的测试环境5结语本文从航空电子系统大容量信息传输的需求出发,提出航空电子系统基于IEEE1394b高速串行总线实现数据传输的设想。借助成熟的PCIe互联技术,在板卡上构建了两路1394b通信接口,以PowerPC8640为主机,开发了基于VxWorks操作系统的

温馨提示

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

评论

0/150

提交评论