IEEE1394论文

2024-05-21

IEEE1394论文(精选3篇)

IEEE1394论文 篇1

1引言

随着航空电子综合化技术的发展, 机载设备的智能化、自动化功能得到了很大增强。在航空机载视频系统中, 大容量的实时视频数据传输对系统数据码速率有了更高的要求[1]。IEEE-1394b总线作为一种标准的外部高速串行总线, 能够满足机载系统大容量数据实时传输的需求。本系统设计的目的旨在利用IEEE-1394b总线实时传输高速视频数据, 以期突破因老式低速率总线而导致机载系统实时传输能力不强的瓶颈, 提高系统的整体性能。

IEEE-1394b[2]高速串行总线为对等总线, 具有高传输速率、宽带宽、低延迟等特点。其拓朴结构分为底板环境和线缆环境。在1394协议中定义了三个协议层:事务层, 链路层和物理层, 用于在请求者和响应者之间的数据传输过程中完成相关服务。1394b总线支持异步传输模式和等时传输模式, 可以同时支持对实时性要求较高的高速大容量等时数据传输和对可靠性要求较高而对延迟不敏感的异步数据传输, 可热插拔, 使用方便灵活[3]。将IEEE-1394b总线的优越性能应用到机载电子统一网络中, 是比较理想的解决高速数据传输的手段。

2系统总体设计

为保证系统的可靠性, 本系统采用模块化设计。

各个模块的功能独立, 模块与模块之间采用标准接口。整个硬件系统分四个主要模块进行设计:①DSP (Digital Signal Processor) 模块, 负责等时数据传输信道和带宽申请。②FPGA (Field Programmable Gate Array) 模块, 负责接收来自SPI口的数据并将需要的数据送往SPI口输出、根据需要缓存数据、与1394接口进行通信和与DSP接口进行通信等。③视频采集模块, 负责视频图像的采集。④电源模块, 负责产生各芯片的工作电压。整个系统的框图如图1所示。

2.1DSP的数据和程序存储器扩展设计

本系统选用TI公司的C6000系列浮点DSP:TMS320C6713B。这款DSP的最高主频为300MHz。它采用了VelociTI甚长指令字 (VLIW) 结构, 每个指令字包括多个字段, 字段之间相互独立, 各自控制一个功能单元, 可以单周期发射多条指令, 有很高的指令级并行效率。在200MHz时钟下, 可达到1200MFLOPS的运算能力。

TMS320C6713B内带64KB的RAM, 但是远不够处理超大信息量的应用, 必须外接RAM作为数据存储区, 而应用SDRAM是最佳选择。SDRAM的结构和操作比其他类型的RAM更复杂。它以接受外部命令的形式工作, 包括:激活和刷新。而且TI的C6000系列DSP[4]都集成了SDRAM控制器, 不需用户过多干预, 应用非常方便, 成本比使用SRAM低很多。

本系统使用一片128Mbit (4M×32bit) 的SDRAM-HY57V283220-55, 其时钟频率最高可达183MHz。TMS320C6713B与HY57V283220的接口如图2所示。

此处DSP的EA15和EA14作为HY57V283220-55的块选择信号, 每一块大小为1M×32bit, 可存储13幅640×480的灰度图像, 一片HY57V283220共可存储52幅图像, 足够进行图像处理。

TMS320C6713B不自带FlashRom, 需外加一片FLASH来存储DSP程序, 使DSP在Boot-Load时能将程序加载到内部RAM中, 提高运行速度。C6713B的EMIF接口支持8位、16位和32位宽度的ROM访问模式, 这个模式通过设置EMIF-CE控制寄存器的MTYPE域实现。在读取窄数据宽度的存储器时, EMIF会自动根据宽度读取若干次, 并将数据拼成32位, 方便用户使用, 具体操作如下:

1.读操作每次读取32位, 但是只是留下有效的8位或16位 (ROM宽度) , 如果宽度是8位, DSP自动读取4次, 然后组织成32位数据。

2.地址自动移出, 如读取16位时地址自动移1位, 读取8位时自动移2位。

3.写操作时, 和写32位一样, 地址不会自动调整。

本系统使用一片AMD公司的FLASH:AM29LV800, 存储空间为128K×16bit, 足以存放DSP程序。FLASH 与DSP的接法如图3所示。

2.2FPGA芯片的配置模式

本系统的FPGA选用ALTERA公司的EP20K600EBC652-2X[5]。它采用全铜互联技术, 基于LUT (查找表) 结构, 典型可用门数为60万门。外接了IS61LV51216和EPCS4芯片作为数据和程序存储器的扩展。

ALTERA公司的APEX20K系列FPGA有多种配置模式:使用配置器件;PS被动串行下载;PPS被动并行同步下载;PPA被动并行异步;PSA被动串行异步;JTAG方式。

本系统可提供两种配置模式:使用处理器的PS方式和使用Byte Blaster并口下载电缆下载的JTAG方式。这样设计的好处是在调试时, 可以使用JTAG方式下载配置文件, 方便快捷。而脱机时, 则可以使用微处理器来配置。考虑到以后的功能扩展, 配置电路以可重构性为设计导向。使用处理器的PS方式配置APEX器件的电路框图如图4所示。

2.3视频采集模块设计

视频图像采集是系统传输和处理的源头。本系统的视频采集选用Philips公司的SAA7111A彩色视频输入处理器。它是Philips公司推出的一片应用广泛的彩色视频输入处理器。在本设计中, 采用自动控制增益方式, 输出数字视频格式采用YUV4:2:2 (16-bit) 格式, 对SAA7111A的配置和启动通过操作其I2C总线实现, DSP通过该控制器将指令写入SAA7111A中。

2.4电源模块设计

1394规范中允许节点由线缆或本地电源供电。不管本地是否有电源, 节点必须能够转发电源和事务。因此, 线缆必须能够提供足够大的功率对所有的节点供电。在本设计中要用到三种电压:5V、3.3V和1.8V。系统从IEEE-1394总线上获取电源。而IEEE-1394协议规定节点向外供电的电压范围为8-40V (一般为12V) 。设计一个好的电源模块, 应该做到输出功率大, 电压纹波小, 转换效率高, 对其它部件不会造成有害干扰等。目前流行的电源设计有两种方案:使用线性稳压器和使用DC-DC电压变换器。这里采用两种设计相结合的方法, 使用DC-DC来提高转换效率, 再加一级LDO (LOW-DROPOUT VOLTAGE REGULATORS) 减少电源噪声。电源模块如图5所示。

3链路层芯片与DSP、FPGA的接口互连

设计1394芯片的著名公司有TI公司、RICOH公司和VIA公司等。本系统的1394套片选用TI公司的链路层芯片TSB12LV32[6]和物理层芯片TSB41AB3[7], 可实现异步和等时传输, 支持100Mb/s、200Mb/s、400Mb/s传输速率。链路层控制芯片TSB12LV32提供主机接口和物理层接口, 实现CRC校验以及同步服务。在芯片中集成了中断寄存器、传送/接收FIFO和DMA通道。TSB12LV32芯片完成1394总线协议中的物理层功能, 实现仲裁机制, 对收发信号进行编码/解码。链路层芯片与DSP、FPGA的接口互连框图如图6所示。

4链路层芯片与物理层芯片的连接设计

链路层控制芯片TSB12LV32提供主机接口和物理层接口, 实现CRC校验以及同步服务。在芯片中集成了中断寄存器、传送/接收FIFO。TSB12LV32芯片完成1394总线协议中的物理层功能, 实现仲裁机制。TSB12LV32链路层芯片和TSB41AB3物理层芯片之间的连接关系如图7所示。

5系统的数据传输

在本系统中, 等时数据收发和异步数据收发均采用FIFO方式。数据传输主要有两个方向。一是从1394总线到SPI接口的数据流方向。在这个过程中, 首先DSP接收来自1394MCU接口的数据包, 将数据包发往FPGA内部RAM。然后SPI发送电路根据FIFO的情况取出数据发送至相应端口。二是从SPI接口到1394总线数据流方向。在这个过程中, SPI接口将接收的数据存到FPGA内部的RAM。读写仲裁电路进行读写仲裁, 在合适的时隙内把写FIFO中的数据存到SRAM中。接着读写仲裁电路根据检测到的读FIFO的状态, 在合适的时隙内从SRAM中取出数据放到读FIFO中。接口转换电路在DSP的EMIF (外部存储接口) 和链路层的MCU接口之间建立连接关系, DSP接收来自主机的读请求包并做包解析, 响应读请求指示1394等时接口控制电路做数据传输。1394等时接口控制电路检测读FIFO的状态, 指示DSP做等时传输工作, DSP完成等时信道和带宽申请、插入包头操作后, 指示FPGA开始等时数据传输。系统的数据流程如图8所示。

6结束语

IEEE-1394b作为一种新型的串行通信协议标准, 以其传输速度高、兼容性好、可靠性高等特点在未来航空航天领域的发展前景十分乐观。本文从航空电子系统大容量信息传输的需求出发, 设计了基于IEEE-1394b串行总线标准的机载高速视频传输系统。本系统设计具有如下特点:①遵循IEEE-1394b协议规范, 因此通用性好;②DSP实现1394芯片配置及控制, 编程灵活, 易于调试;③数据传输由FPGA来完成, 实现了较高的传输速率。

参考文献

[1]田方正皇甫大宏沙永忠.新一代机载数据采集系统的发展综述.北京:测控技术, 2007, (03) :

[2] IEEE standard 1394-1995 IEEE Standard for a high performance Serial Bus美国电气和电子工程师协会, 1995.

[3]张大朴王晓张大为.IEEE-1394协议及接口设计.西安:西安电子科技大学, 2004.

[4]李方慧王飞等.TMS320C6000系列DSPs原理与应用.北京:电子工业出版社, 2003.

[5]任爱锋初秀琴.基于FPGA的嵌入式系统设计.西安:西安电子科技大学出版社, 2004.

[6] Texas Instruments Inc.TSB12LV32-EP, IEEE 1394-1995 and P1394a Compliant General-Purpose Link-Layer Controller, October 2004.

[7] Texas Instruments Inc.TSB41AB3, IEEE1394a-2000 Three-Port Cable Transceiver/Arbiter, October 2003.

IEEE1394论文 篇2

实时性[1,2,3]是实时信息处理系统中评价总线的重要性能指标。但是随着越来越多的密集数据主要包括音视频数据的需求远远超出现有总线的数据承载能力。根据光纤数据总线的优点,充分利用IEEE 1394b[4,5]的优越性能,将IEEE 1394b光纤数据总线应用到电子综合化系统中,是解决实时性的选择之一。IEEE 1394b光纤总线不仅在工业和测控领域被广泛应用,而且已经逐步深入到航空航天领域。它的空间应用能充分利用网络节点的智能,更好地实现实时传输和分布式控制。

综合电子系统从集中式结构发展到分布式结构,信息运算处理能力不断增强,运算速度和系统总线带宽不断提高,系统地实时性得到了很大的改善。然而,如何精确地掌握系统的实时性,改进和完善互连系统设计,是目前迫切需要解决的问题。消息在队列中的平均等待时间是排队论中衡量系统性能的重要指标。为实现网络的实时传输特性,寻求合理、正确的关键参数的数学表达式是近年来网络实时性研究关注的焦点之一。

1 IEEE—1394b的实时性特点

在实时性方面,IEEE—1394b的特点主要在于IEEE—1394b的介质访问控制协议采用仲裁的方式,包括等时仲裁和异步仲裁。图1所示为IEEE—1394b协议在一个周期内的数据传输。

并且IEEE—1394b协议保证了周期性数据传输以等时模式进行,同时协议规定了在没有等时数据传输时,异步数据将占有总线资源。因此IEEE—1394协议适合于实时应用的场合,传输模式采用同步时分复用帧结构。每一帧被分为固定和可移动的两部分,主要用于两种不同类型数据传输的动态资源分配[6]。

2 IEEE—1394b的静态传输模型

假设在IEEE—1394b的每一个周期内存在确定的时间段用于传输等时数据,据此建立等时传输模型。该模型可以用于长时间等时数据传输的应用场合。IEEE—1394b的静态传输模型是基于一个离散时间队列。

模型引入两个变量:Yn表示第n个周期开始时,缓存中异步包的数目,Ynh(h=1,…,N)表示第n个周期的第h个时间片结束时缓存中异步包的数目,YnhYn的表示如图2所示。Anh(h=1,…,N)表示第n个周期的第h个时间片期间到达的异步包的数目,根据假设,Anh服从参数为λADT的泊松分布。

该系统的数学模型为:

Ynh={Anh+Ynh-1h=1,,Κ,Anh+[Ynh-1-1]+h=Κ+1,,Ν,(1)

式(1)中[y]+:=max(0,y)。并且有Yn0:=Yn,Yn+1=YnΝ,n=0,1,2,…。

式(1)中的Ynh由两部分组成,第一部分表示在第n个周期的第h个时间片时间段内到达的异步数据包;第二部分表示第h个时间片的整个时间段内一直驻留在缓存中的异步数据包。序列{Yn,n=1,2,…}组成了离散时间马尔可夫链。

3 IEEE—1394b的动态传输模型

IEEE—1394b的动态传输模型适用于同时需要考虑等时与异步数据的场合,即每个周期用于传输等时数据的时间段都存在差异。

3.1 等时传输模式模型

首先用连续周期内用于传输等时数据的时间片数目构成马尔可夫链。再基于异步包队列构造另一个马尔可夫链。

该模型研究的是在连续周期内发生的同步传输行为。令Xn为在第n个周期用于传输同步数据的时间片数目。因为等时传输过程的保持时间服从同一参数的指数分布,因此对每一个周期而言,单独一次等时传输服务结束的概率是相同的:

p=1-e-IDT

显然,队列{Xn,n=1,2,…}构成了一个马尔可夫链。

根据损失制模型的假设,状态转移概率qij=P(Xn=j|Xn-1=i),i=0,…,M,j=0,…,M可以表示为:

qij={k=[i-j]+iB(i,k)C(j+k-i)j=0,,Μ-1k=0iB(i,k)l=Μ+k-iC(l)j=Μ(2)

式(2)中B(i,k)为伯努利概率,C(k)为泊松概率,分别定义为:

式(2)表明当j=0,…,M-1时,假定在第n个周期有k个等时传输过程结束。对于第n+1个周期内j个等时传输过程,需要在第n个周期内有j+k-i个同步传输请求到达。qij由变量k对应的所有可能事件的概率累加而得到。当j=M时,需要在第n个周期至少有M+k-i个等时传输请求到达,qiM可以用类似的过程求得。

将变量i-k置换为k,则重新改写qij为:

qij={k=0min(i,j)B(i,i-k)C(j-k),j=0,,Μ-1k=0iB(i,i-k)l=Μ-kC(l),j=Μ(4)

(M+1)×(M+1)阶矩阵Q=[qij]给出了马尔可夫链{Xn}的状态转移矩阵。

3.2 异步传输模式模型

用一个二维离散事件马尔可夫链来对异步传输的队列过程进行建模。可以得到。

假定当n→∞时,系统进入稳态,可以得到矩阵方程:

Y(z)=(z-1)V(z)A(z)F*(z)|F(z)|(6)

式(6)中F(z)=zNIM+1-A(z),IM+1为(M+1)×(M+1)阶单位矩阵,A(z)=eADT(z-1)diag{1,z,…,zM}Q,向量V(z)=[V0(z),…,VM(z)],F*(z)为矩阵F(z)的伴随阵。

函数Y(z)在开域内是可解析的和连续的。而V(z)、A(z)和F(z)在整个复平面上是可解析的,因此Y(z)是在闭域内的邻域解析。可得:

F′(1)1M+1=N1M+1-ADT1M+1-u (7)

又因πu=∑i=0Μi=E[X],此处的数学期望表示每个周期内用于传输同步数据的时间片的平均数目。对式(7)左乘π并进行变换求得未知变量:

i=0Μj=iΝ-1Ρj(0;i)=N-ADT-E[X] (8)

式(8)中的累加必须为正,因此可得:

ΝλADΤ<Ν-[X](9)

即每个周期内异步传输的平均负载必须小于能够支持异步传输的最大时间片的数目。式(9)是异步包队列稳定的充分条件。

4 仿真分析

从上述的分析过程可以看出,对IEEE 1394传输进行数学建模并求异步数据包的平均等待时间是个复杂且繁琐的过程,在工程实践中如果对每次传输过程都进行实际分析是不现实也是没有必要的,因此不妨对该模型进行大致分析。整个数学模型的核心就是分析式(10)所描述的方程组,并求出IEEE 1394b异步数据包的平均等待时间W

当取传输时间间隔N=5,分别对等时传输的时间间隔的数量K和异步数据包的到达率λADT为不同值时,IEEE—1394b异步数据包的平均等待时间W¯进行曲线拟合,如图3。很明显,异步传输的平均等待时间W¯随着等时传输的时间间隔的数量K和异步数据包的到达率λADT的增加而增加。也就是说如果总线系统等时传输业务越大,将导致异步传输平均等待时间增加。因为IEEE—1394b总线带宽是确定的,当等时业务较大时,因为等时传输具有较高的优先级,因为总线将尽可能地先满足其传输带宽要求,这样也就必然致使异步传输带宽减小,造成异步传输的平均等待时间增加。同时,当异步数据量在某个时间段上,传输数据量很大时也将造成其平均等待时间变长。

5 结束语

本文从关键参数消息平均等待时间,对互连系统的实时特性进行了研究,重点对IEEE—1394b互连系统的静态等时传输模型和动态等时和异步传输模型进行了详细研究和分析,分别得到了上述两个模型下消息的平均等待时间的数学表达式,指出了IEEE—1394b互连系统中影响实时特性的因素。并对分析结果进行了仿真。

本文推导出了基于IEEE—1394b互联系统的实时性关键参数的表达式。通过仿真结果分析看,等时传输业务量大时将影响异步传输的平均等待时间,同时当异步数据量在某个时间段上很大时也将造成其平均等待时间变长,这为实时传输处理提供了依据。随着实际应用复杂性的不断提高,实时性能的处理能力对互连技术变得越为重要。

参考文献

[1]袁由光.实时系统中的可靠性技术.北京:清华大学出版社,1995

[2] Huang C Y,Kuo T W,Pang A C.QoS Support for IEEE—1394 Re-quests.SAC'06,2006;(4):23—27

[3] Chaaban K,Shawky M,Crubille P.A distributed framework for real-time in-vehicle applications.Proceedings of the 8th InternationalIEEE Conferance on Intelligent Transportation Systems,2005:925—929

[4] IEEE standard for spaceborne fiber-optic data bus.IEEE Std,1999:1393—1999

[5] IEEE Std.1394b—2002 IEEE standard for a high-performance serialbus-amendment 2.IEEE Std 1394b—2002(Amendment to IEEEStd 1394—1995),2002:1—369

IEEE1394论文 篇3

随着嵌入式控制领域对大容量、高速、实时数据传输需求的不断增长,以IEEE 1349b总线为代表的新一代串行总线应运而生,在工业控制、汽车和航空航天等领域应用越来越广。同时由于总线速率和处理器主频的不断增强,要实现外部高速总线数据的传输和处理,还必须选择与之匹配的主机接口来实现外部总线协议逻辑与处理器的高速互联。采用传统的PCI总线的并行数据传输接口已经无法满足芯片级互连对带宽、成本、灵活性及可靠性的要求。串行点对点的PCI Express(简称PCIe)总线克服了PCI总线在系统带宽、可靠性和可扩展性等方面的固有缺陷。

本文针对PCIe的技术优势,采用PCIe-PCI桥芯片(PEX8114),实现了双路IEEE 1394b总线接口卡。1394链路层接口以高速DMA方式将数据传输到主机,以满足高速实时采集的应用需求。

1 IEEE 1394b总线网络简介

IEEE 1394b通信系统的层次结构见图1。1394节点由主机和1394接口两部分组成。其中驱动和应用软件驻留在主机上,驱动软件以一组标准API函数形式提供给应用程序,应用程序通过调用驱动软件完成对1394b模块功能的使用、管理与控制。1394b接口模块主要实现了3个协议层:事务层(Transaction layer)、链路层(LLC)和物理层(PHY)。

1394b通信可以同时支持等时和异步传输模型和服务,可以满足不同应用的要求。异步传输是一种确认的传输方式,用于对数据传输的可靠性要求较高的场合。等时传输是一种无应答的传输方式,强调数据的实时性,特别适合大容量图像和视频数据的传输。

由于IEEE 1394b总线高带宽、低延迟、支持独立于主机的点对点传输、良好的可扩展性和升级能力等特点,使其可以作为航空航天领域设备的互联总线。特别是随着航空电子设备智能化、自动化功能的增强,使基于图像识别、跟踪和测量变得日益重要,大容量高速传输图像数据成为航空电子系统的一个重要特点。所以充分利用IEEE 1394b总线的这些优越性能,适时地将其应用到航空电子统一网络中,可视为解决通信问题的明智选择。

2 系统硬件设计

PCIe-1394b接口卡实现基于IEEE 1394b协议的总线收发功能。主机通过PCIe总线接口来访问1394b的链路层寄存器和数据缓冲区,从而实现主机对1394b接口卡的配置和数据收发功能。1394b的物理层芯片的一端与链路层芯片的物理层和链路层接口相连,另一端为收发传输、仲裁提供电气接口。1394b的物理层端口和模块连接器之间采用有源变压器进行隔离耦合,以保证总线的信号品质和有效通信距离。其功能架构图如图2所示。

在本文中,主机作为1394b节点的控制器,系统加电后,主机通过PCIe接口对1394b链路层芯片进行初始化,包括初始化寄存器、设置各个FIFO的大小、使能中断、设置工作方式等。主机在本地SRAM中分别开辟了发送和接收缓冲区,1394链路层芯片TSB82AA2工作于异步DMA传输方式。主机将需要发送的数据写入发送缓冲区后,然后启动链路层芯片发送通道DMA控制器,链路层芯片从主机的发送缓冲区中将数据搬移到链路层芯片内的FIFO中,最后由链路层芯片完成FIFO数据的发送。数据接收时,当接收节点的物理层芯片TSB41BA3D检测到数据包到达时,物理层芯片根据接收的上下文配置,将匹配成功的数据包上传链路层接收FIFO中,链路层启动接收通道DMA控制器将接收FIFO中的数据直接搬移到主机的接收缓冲区中,完成数据的接收。

2.1 PCIe主机接口的实现

实现通用PCIe总线接口主要有以下两种方式:

(1)专用桥接口芯片。专用桥接口芯片可以实现完整的PCIe主控模块和目标模块接口功能,将复杂的PCIe总线转换为相对简单的本地总线。这样用户可以集中精力于应用方面的开发,而不是费力调试PCIe总线接口。而且此类接口芯片有完整的参考电路可以借鉴,降低了开发难度,提高了开发的效率。目前,PLX公司已推出了此类功能芯片有PEX8112和PEX8114等。

(2)可编程逻辑设计方案。现阶段,主流的FPGA和DSP厂商都在其产品中集成了基于PCIe协议的IP核,其优点在于高度集成,节省PCB资源,具有灵活的可编程性,但开发难度比较大,开发周期比较长。

2.2 基本硬件配置

PCIe-1394b接口卡1394的链路层芯片选用TI公司的TSB82AA2,该芯片带有独立的PCI控制器,内部带有多个DMA发送通道和接收通道。物理层选用TI公司支持S400β传输模式,并提供3个端口的物理层芯片TSB41BA3。选用PULSE生产的1394b专用有源变压器实现1394b物理层端口和模块连接器之间隔离耦合。采用PLX公司的桥芯片PEX8114实现主机PCIe接口到1394链路层芯片PCI接口的协议转换。

如图2所示,PCIe-1394b接口卡硬件电路包括:电源电路、时钟电路、链路层电路、物理层电路和主机接口电路。

2.3 1394b接口电路的实现

链路层芯片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总线都采用差分信号,差分信号对在走线时要求同一组内的差分信号严格等长,组和组之间的信号长度尽量一致,以保证信号编码的对称性;

(5)时钟信号是敏感信号,PCIe总线接口的100 MHz差分时钟,1394b物理层的49.152 MHz,以及物理层链路层接口的98.304 MHz的时钟信号。这些时钟信号线应尽量少打过孔,避免与其他信号线并行走线,避开电源,对时钟线进行必要的保护,将其放在单独的层中,适当增加线间距,周围流出额外的间隙等;

(6)其他减少电磁干扰的措施还包括:保证地线回路与信号通路尽量接近,避免地线回路不连续,布线时不使用90°拐角的信号线等。

3 VxWorks环境下驱动的开发

在本文中与该1394b接口卡适配的主机采用飞思卡尔公司的PowerPC8640处理器,移植嵌入式实时操作系统VxWorks5.5,在Tornado环境下开发系统驱动。驱动软件作为应用程序与硬件通信的桥梁,对系统性能有着重要影响,可靠的驱动软件是硬件稳定运行的保证。

PCIe-1394b接口卡驱动软件结构图如图4所示,驱动软件主要由主机PCIe接口驱动和IEEE 1394b总线驱动组成。

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。

配置完PowerPC8640的PCIe设备后再次扫描PCIe链路,查找链路上的桥芯片PEX8114,PEX8114的总线号是BUS1,找到后再按照类型1配置桥芯片的头标区,配置原级总线号、次级总线号寄存器,并配置下游设备的PCI空间基址和大小。配置完PEX8114桥芯片后再次扫描PCIe链路,这时就可以找到要访问的1394设备的ID号,然后再配置这2路1394设备各自的PCI配置空间。主机PCIe接口的初始化是整个模块能够正常工作的前提,在完成上述流程后,主机就可以访问到1394设备,为下一步调用1394b总线驱动奠定了基础。

3.2 IEEE 1394b总线驱动设计

3.2.1 1394 OHCI协议

本文基于1394 OHCI协议的驱动程序设计。1394OHCI是专门针对主机端开发的协议,也是IEEE 1394串行总线链路层协议的一种具体实现方式,并附带一些支持事务层和总线管理层的特性。1394 OHCI还包含高性能DMA数据传输和一个主机总线接口。该接口既可作为主机总线上的主设备,又可作为从设备。作为一个从设备,它译码并响应主机对1394 OHCI内部寄存器的访问。作为一个主设备,采用DMA方式发送(AT DMA)和接收(AR DMA)所有在IEEE 1394协议中规定的数据包,实现1394的异步传输和等时传输。

如图6所示,1394接口卡通过PCI总线把1394OHCI的寄存器映射到内存,并且内存和1394卡上都有FIFO存储空间作为传输数据的缓存,这样所有对1394寄存器的操作和数据收发都转变成对内存的操作。所有收发数据都驻留在CPU端内存空间中所创建的1394FIFOs中,当启动发送或接收时,1394链路层芯片的DMA控制器会自动的读取或写入内存中1394 FIFOs中的数据,从而在不需CPU直接参与的情况下,实现了CPU和1394设备之间的数据流搬移,减少软件开销。

3.2.2 设备管理

设备管理提供1394b设备管理和控制,实现设备打开、设备关闭、复位总线、设备强制根节点、禁止设备端口、查看设备端口状态等功能。用户可以通过这些接口实现对1394设备工作状态的管理、查询和判断。主要包括初始化、物理层操作、总线操作。

(1)初始化。1394设备的初始化需要完成打开设备、分配资源、加载设备配置、挂接中断、使能中断等功能。其流程图见图7。初始化工作的核心是对链路层芯片TSB82AA2内部配置寄存器的初始化,主要包括控制寄存器、中断寄存器、中断屏蔽寄存器、FIFO控制寄存器等。通过等时接收通道配置,中断配置,异步请求接收配置,异步响应接收配置等,为等时和异步包的发送和接收做好准备。在完成这一系列配置后,使能链路层,最后触发总线物理复位。1394的初始化过程必须遵守一定的顺序,并且每次发生总线复位后,都需要对1394的链路层、物理层进行重新配置,初始化。

(2)物理层操作。物理层操作的驱动程序可以实现对物理层芯片的所有寄存器的读/写访问,从而获取相关总线信息。物理层寄存器的访问是通过一系列的链路层寄存器访问来实现。通过访问物理层寄存器,可以控制和获知总线状态,如发起总线复位,强制根结点等。

(3)总线操作。所有与总线信息相关的驱动都包含在总线操作的驱动程序中,包括总线拓扑图的生成,速度图的生成,等时带宽资源的获取、分配以及释放,等时通道资源的获取、分配以及释放,总线管理器ID的获取和强制总线复位发起。

3.2.3 通信管理

通信管理提供异步流的发送和接收,等时接收功能。另外通过异步4 B数据包读/写,异步块数据包读/写的驱动功能完成异步传输。异步包的特点是保证数据的正确到达,他是一种点对点的数据包。异步流包和异步包不同,异步流包采用等时数据包格式,但是在异步周期里发送,这样做的优点是保证数据包的正确传递,同时支持一对多通信。

(1)异步流包发送。由主机通知链路层芯片该消息数据准备好,根据数据包发送条件判断出该数据包具备发送条件后,配置异步流发送上下文,启动DMA,链路层芯片从主机内存中指定的数据包地址中将数据搬移到链路层芯片的FIFO缓冲中,然后启动并完成异步流的发送。异步流包发送流程如图8所示。

(2)异步流包接收。设备在接收到消息之前,首先在设备的初始化时,初始化主机内存中的缓冲区,配置异步流的接收上下文链,启动接收,当设备检测到数据包到达时,物理层芯片根据接收的上下文配置,将和配置的通道号匹配的异步流包上传链路层,链路层启动DMA将接收到的数据直接放在接收上下文指定的主机缓冲区内,然后更新接收的上下文,自动切换到下一个缓冲区对应的上下文。

(3)等时包发送和接收。OHCI协议规定了至少有8个DMA通道可以用来发送等时数据,每个等时通道在每个等时周期只能发送一个数据包。等时包的发送流程与异步流包的发送路程类似,这里不再赘述。等时包的接收流程,如图9所示。

3.2.4 中断管理

中断管理接口用于实现中断回调接口的注册和注销等功能。任何一次DMA传输完成或退出,芯片都会产生一个中断通知主机,主机通过读取中断事件寄存器来判断发生了何种中断。根据初始化时已经配置好的中断屏蔽寄存器,针对其中使能的每一种中断原因编写相应的中断服务例程,由中断管理接口完成中断例程的挂接。

4 IEEE 1394b总线通信测试

为了验证设计的正确性和实时性,构造了IEEE1394b总线通信的测试环境,如图10所示。在PC机上使用TI公司的PCI-1394卡作为总线上的节点A,配合操作界面,启动1394b数据包的发送和接收功能。主机PowerPC8640和双路PCIe-1394b接口卡整体作为被测对象,其内部的两个节点分别标记为节点B和C。系统中节点A、B、C都具有3个端口。节点B和节点C分别与节点A的0和2号端口连接,这样节点A就可以向节点B和C之间进行数据通信。

为了监控和分析总线上的数据和物理层信号品质,本文采用1394总线数据分析仪和信号质量测试仪,它们作为两个独立的叶子节点,分别与被测对象中节点B的1和2号端口连接。其中1394总线数据分析仪用来分析总线的网络拓扑、包格式、包速率、包内容和包间隔等参数;信号质量测试仪主要测试信号完整性,包括差分幅度、上升下降时间、眼图、抖动、差分延迟、共模电压、误码率等。通信实验中,包的发送分为单次发送和连续发送,测试结果表明:发送和接收数据正确,不丢包,误码率≤10-10,模块中两路1394b接口通信稳定,实时性较好。

5 结语

本文从航空电子系统大容量信息传输的需求出发,提出航空电子系统基于IEEE 1394b高速串行总线实现数据传输的设想。借助成熟的PCIe互联技术,在板卡上构建了两路1394b通信接口,以PowerPC8640为主机,开发了基于VxWorks操作系统的1349b驱动程序和主机PCIe接口驱动程序。经过实际的通信测试,证明将这种高速串行总线技术应用到航空电子系统中的图像数据通信是可行的。

参考文献

[1]BUDRUK Ravi,ANDERSON Don,SHANLEY Tom.PCIExpress系统体系结构标准教材[M].北京:电子工业出版社,2005.

[2]王齐.PCIExpress体系结构导读[M].北京:机械工业出版社,2011.

[3]张大朴,王晓,张大为,等.IEEE 1394协议及接口设计[M].西安:西安电子科技大学出版社,2004.

[4]李世平,戴凡,汪旭东.IEEE 1394(Fire Wire)系统原理与应用技术[M].西安:西安电子科技大学出版社,2004.

[5]王苗苗,张春熹,史洁琴.IEEE 1394应用于航空电子系统图像通信的研究[J].微计算机信息,2006,22(4):225-227.

[6]PLXTechnology,Inc.Express Lane PEX8114BA,PCIExpress-toPCI/PCI-XBridge Data Book[EB/OL].[2007-03-11].http://www.plxtech.com.

[7]张伟栋,刘志敏.基于Power PC8640的PCI-E总线接口设计[J].航空计算技术,2011(3):119-121.

[8]梁青,罗金生.基于Rapid IO的双路IEEE 1394b串行总线控制器的实现[J].测控技术,2013,32(5):67-71.

[9]马晨,陈彦萍.基于PCIexpress总线1394b网络传输系统WDM驱动设计[J].测控技术,2013,32(3):94-97.

【IEEE1394论文】推荐阅读:

IEEE802.11论文05-21

1394协议05-15

上一篇:少子化下一篇:老龄党员

本站热搜

    相关推荐