FC-AE-1553B结构

  • 格式:docx
  • 大小:925.84 KB
  • 文档页数:23

FC-AE-1553B软件结构FC-AE-1553 整体架构及模块划分1.软硬件平台FC-AE-1553 设备卡选用 Xilinx 公司的 PCI-Express 接口 ML555 FPGA 进行开发,该 FPGA 提供 2 个全双工的光纤接口,如图 4-1 所示。

图 4-1 硬件平台2.整体架构FC-AE-1553 节点的整体架构如图 4-2 所示。

图 4-2 整体架构FC-AE-1553 设备节点的设计从整体上可分为三个层次:硬件层、驱动层和应用层。

硬件层主要实现数据的收发和处理,驱动层实现设备的管理及数据的传送,应用层实现 FC-AE-1553 相关的设备功能。

以下列出了各模块的具体功能:1.FC-AE-1553 底层硬件:(1) 以 DMA 方式从主机内存中读数据,进行 8B/10B 编码后转换为串行数据进行发送;(2) 接收通过光纤传送的数据,进行光电转换,将接收到的串行数据转换为并行数据并进行 10B/8B 解码;(3) 进行帧解析,形成帧描述符;(4) 将接收数据以 DMA 方式写到主机内存。

2.FC-AE-1553 驱动层:(1) 硬件设备的识别和初始化;(2) 数据的收发处理;(3) 向上层提供相应的应用访问接口。

3.FC-AE-1553 上层应用程序(1) N 端口的登录;(2) NC 处理功能;(3) NT 处理功能。

FC-AE-553协议总体设计与实现FC-AE-1553协议桥系统功能模块划分如图4—1所示。

SEEDES接口主要功能是提供数据的高速物理接口,实现数据的高速收发功能。

软硬件部分通过Power PC接口实现信息交互。

系统软件部分在Power PC 核内部实现,主要分FC2、FC4两大层次,FC2层由接收端、发送端、注册/注销模块组成,FC4层由NC模式管理、NT模式管理,协议格式转换模块构成。

FC2数据传输层通过FC2服务接口向FC4映射层提供服务。

FC4服务接口是系统与外部上层应用的服务接口,通过配置服务原语发起数据传输。

系统内外部接口定义与描述系统为上层应用提供数据传输服务,因此必须首先设计一个良好的服务接口。

上层应用使用这些接口请求交换,系统通过服务接口响应上层应用,发起交换并报告交换完成情况。

按照OSI标准模型中规定服务原语类型来定义服务接口,则外部接口提供的服务原语有:(1)FC-4_exchange.request(2)FC-4_exchange.reply1.FC-4_exchange.requestFC-4_exchange.request:请求发起交换。

当上层应用有数据需传输时,使用该原语请求系统发起数据传输交换,按此格式填好相关信息即可。

FC-4_exchange.request(flagNC-NTconversionoriginal flagTypeClass_of_ServiceRespond_IDSource_IDContinue_Sequence_ConditionExchange_ErrorPolicyDadaA_ddressData_LengthBroadcastBridgeNT Burst sizerequestandDelayedNT Burst sizerequestReceive RDMA and Transmit RDMASuppressstatusNT-to-NT transfer andT/R*NC monitor for NT-to.NT TransferMulticastSubaddress_modeDatabyte_or_mode_codeOther_Port_IDOther_subaddress)FC-4_exchange.request原语给出了发起交换必需的信息,包括发起者、响应者端口地址,交换使用的错误策略、传输类型,抑制状态、突发状态、RDMA 设置,是否过桥,是否为多播,多播地址,发送的数据块地址以及数据块大小等。

设置在NC/NT模式下的软件根据交换请求原语申请资源,进行数据传输。

2.FC-4_exchange.replyFC-4_exchange.reply是系统对FC-4_exchange.request原语作出的响应,当这个交换成功发送完毕或者异常终止的时候,使用该原语向上层应用报告交换完成情况。

其格式如下:FC-4_exchange.reply(flagRespond_IDSource_IDData_AddressData_LengthNC-NT conversionsuccess_exchangeNused_ULPSequence initiative errorSequence transmit lostTransmission configure conflictFc_header_errorNo response by MIL-STD-1 553 RTMIL-STD-1553 format errorPort login requiredBusyMessage errorService requestBroadcast cmd receivedSubsystem flagDynamic network controlTeminal flag)节点在每次交换完成后,使用交换应答原语FC-4_exchange.reply对交换完成情况进行报告,报告包括为交换分配的交换号,交换中NT节点状态,交换是否正常完成,若交换非正常终止,其引起终止的错误原因,若有数据递交,还需包含数据块存放地址,和数据块大小等。

系统内部服务接口定义与描述系统内部为发送/接收序列定义了服务接口,使用接口原语可顺利向上层提交接收到的序列数据块,亦可通知底层读取上层待传输的数据块,提供良好的端到端数据传输服务。

依旧按照OSI标准模型中规定服务原语类型来定义服务接口,FC-2提供的服务原语有:(1)FC-2_SEQUENCE.request(2)FC-2_SEQUENCE_TAG_indication(3)FC-2_SEQUENCE.indication1. FC-2_ SEQUENCE.request这个服务接口向上层提供端到端的数据传输服务,当上层需要传输数据时,只需要按照这个接口规定的参数类型填好请求命令即可。

该服务原语的格式如下:FC-2_SEQUENCE.request(TypeExchange_TagSequence_TagClass_of-ServiceR_CTLD_JDS_IDFirst_SequenceLast_SequencePrioritySequence_InitiativeContinue_Sequence_ConditionExchange Error PolicyDada_AddressData_Length)上面所示即这个服务请求的格式,当上层请求FC-2传送数据时必须提供上面列出的参数,因为这都与特定的上层应用有关,包括要发起的序列的服务类型,序列类型:是命令序列,状态序列还是数据序列,序列优先级,序列发送完毕后是否转让序列发起权,序列在交换中的位置等。

FC2发送端模块根据FC_2 SEQUENCE.request提供的信息,分割序列数据块,发送光纤通道帧。

2.FC-2_SEQUENCE.indicationFC-2使用这个服务原语向上层交付接收到的序列,除了纯粹的数据之外,还包含一些附加的信息,格式如下:FC-2_SEQUENCE.indication(Exchange_TagClass_of_ServiceTypeR_CTLD_IDS_IDSequence_InitiativeData_AddressData_Length)FC2层接收端模块在完整接收一个序列数据块后,将序列类型,发送接收序列的端口地址,序列发起权,数据大小和存放地址放入序列递交原语,通知FC4层模块读取。

3.FC-2_SEQUENCE_TAG.indication这个参数是用来响应前面上层发出的FC-2_SEQUENCE.request原语的,格式如下:FC-2_SEQUENCE_TAG_indication (Exchange_TagSequence_Tag)这个原语向上层返回两个标识符,用来标识当前这个序列,当这个序列成功发送完毕或者异常终止的时候,FC-2使用这两个标识符向上层报告这个序列发送是否成功。

软硬件接口定义与描述PowerPC接口与硬件和上层软件连接框图如图 4.2所示。

为了满足FC-AE-1553传输的实时性等要求,减少数据延迟。

在该芯片设计中,采用PLB 总线与底层硬件代码相连接。

PLB总线是Power PC的高带宽总线,64位数据总线宽度,分离的地址、读写数据总线,具备分别传输的能力。

同时执行的读写传输能最有效利用总线,在单周期内可传输两个数据;此外,PLB总线地址通道能叠加一个新的写请求到一个正在执行的写操作上,以及最多3个读请求到正在执行的读操作上,从而减少总线反映时间。

(一)控制寄存器设计43个控制寄存器主要完成产生底层硬件需要的一些控制信号,状态信息,以及软硬件握手等功能:1)发送/接收缓存信息。

用来控制写入对应的空闲RAM或者读取对应的接收RAM。

如帧长度,CRC正确与错误,等等信息,软件通过这些信息来进行帧处理,这些处理包括接收当前帧,解析当前帧信息,丢弃当前帧,发送特定原语进行端口控制等等。

2)一些用于测试的控制寄存器,里面包括了发送原语测试,设定硬件初始状态寄存器等功能。

3)读取错误统计信息。

PPC通过软硬件接口读取硬件一些错误的统计信息,可以得到整个传输的整体信息。

为上层软件中协议处理提供信息。

(二)发送/接收缓存设计在FC-AE-1553协议桥设计中,接收和发送分别采用一个RAM作为缓存,在设计中,每一个FC帧长度为2148字节。

数据总线宽度选择为32位。

因此每个RAM的缓存深度为537。

考虑到Power PC的处理速度,每个发送和接收采用8个缓存。

则每个大小为537X8,对应的地址总线为13位。

在底层考虑方便读取数据,在RAM部分,设计采用双端口RAM的控制。

在发送状态时,Power PC将要发送的数据发送到发送缓存RAM中,并且更新发送数据控制寄存器之中的信息,底层发送模块通过读取软硬件接口中相应寄存器的信息来判断是否有数据需要发送,如果有数据发送,则读取发送缓存RAM 之中数据,并将数据进行发送。

接收状态时,底层接收数据并依次写入对应的RAM中。

并更新对应的控制寄存器,PowerPC判断对应的寄存标志,读取RAM中的数据。

Power PC405 IP核通过接口控制寄存器与发送接收缓存实现软硬件的数据交互。

⏹软件模块划分与设计思路协议算法软件进行功能模块划分,主要包括以下几部分:(1)FC4层NC模式协议管理模块:完成NC协议管理功能(2)FC4层NT模式协议管理模块:完成NT协议管理功能(3)协议转换模块:完成过桥传输帧与消息字转换功能(4)FC2层接收端模块:完成交换管理、序列接收管理功能(5)FC2层发送端模块:完成交换管理、序列发送管理功能(6)FC2层注册、注销模块:实现服务参数的确立各层问通过内部服务接口原语进行信息交互。