FCAE1553B结构.docx
《FCAE1553B结构.docx》由会员分享,可在线阅读,更多相关《FCAE1553B结构.docx(17页珍藏版)》请在三一办公上搜索。
1、FCAE1553B结构FC-AE-1553B软件结构 n 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
2、相关的设备功能。以下列出了各模块的具体功能: 1FC-AE-1553 底层硬件: (1) 以 DMA 方式从主机内存中读数据,进行 8B/10B 编码后转换为串行数据进行发送; (2) 接收通过光纤传送的数据,进行光电转换,将接收到的串行数据转换为并行数据并进行 10B/8B 解码; (3) 进行帧解析,形成帧描述符; (4) 将接收数据以 DMA 方式写到主机内存。 2FC-AE-1553 驱动层: (1) 硬件设备的识别和初始化; (2) 数据的收发处理; (3) 向上层提供相应的应用访问接口。 3FC-AE-1553 上层应用程序 (1) N 端口的登录; (2) NC 处理功能; (3
3、) NT 处理功能。 n FC-AE-553协议总体设计与实现 FC-AE-1553协议桥系统功能模块划分如图41所示。 SEEDES接口主要功能是提供数据的高速物理接口,实现数据的高速收发功能。软硬件部分通过Power PC接口实现信息交互。系统软件部分在Power PC核内部实现,主要分FC2、FC4两大层次,FC2层由接收端、发送端、注册注销模块组成,FC4层由NC模式管理、NT模式管理,协议格式转换模块构成。FC2数据传输层通过FC2服务接口向FC4映射层提供服务。FC4服务接口是系统与外部上层应用的服务接口,通过配置服务原语发起数据传输。 n 系统内外部接口定义与描述 系统为上层应用
4、提供数据传输服务,因此必须首先设计一个良好的服务接口。上层应用使用这些接口请求交换,系统通过服务接口响应上层应用,发起交换并报告交换完成情况。按照OSI标准模型中规定服务原语类型来定义服务接口,则外部接口提供的服务原语有: (1)FC-4_exchange.request (2)FC-4_exchange.reply 1.FC-4_exchange.request FC-4_exchange.request:请求发起交换。当上层应用有数据需传输时,使用该原语请求系统发起数据传输交换,按此格式填好相关信息即可。 FC-4_exchange.request( flag NC-NTc onversi
5、on original flag Type Class_of_Service Respond_ID Source_ID Continue_Sequence_Condition Exchange_ErrorPolicy DadaA_ddress Data_Length Broadcast Mode Bridge NT Burst size request and Delayed NT Burst size request Receive RDMA and Transmit RDMA Suppress status NT-to-NT transfer andTR* NC monitor for N
6、T-to.NT Transfer Multicast Subaddress_mode Databyte_or_mode_code Other_Port_ID Other_subaddress ) FC-4_exchange.request原语给出了发起交换必需的信息,包括发起者、响应者端口地址,交换使用的错误策略、传输类型,抑制状态、突发状态、RDMA设置,是否过桥,是否为多播,多播地址,发送的数据块地址以及数据块大小等。设置在NCNT模式下的软件根据交换请求原语申请资源,进行数据传输。 2. FC-4_exchange.reply FC-4_exchangereply是系统对FC-4_exc
7、hangerequest原语作出的响应,当这个交换成功发送完毕或者异常终止的时候,使用该原语向上层应用报告交换完成情况。其格式如下: FC-4_exchange.reply( flag Type Respond_ID Source_ID Data_Address Data_Length NC-NT conversion success_exchange Nused_ULP Sequence initiative error Sequence transmit lost Transmission configure conflict Fc_header_error No response by
8、MIL-STD-1 553 RT MIL-STD-1553 format error Port login required Busy Message error Service request Broadcast cmd received Subsystem flag Dynamic network control Teminal flag ) 节点在每次交换完成后,使用交换应答原语FC-4_exchange.reply对交换完成情况进行报告,报告包括为交换分配的交换号,交换中NT节点状态,交换是否正常完成,若交换非正常终止,其引起终止的错误原因,若有数据递交,还需包含数据块存放地址,和数据
9、块大小等。 n 系统内部服务接口定义与描述 系统内部为发送接收序列定义了服务接口,使用接口原语可顺利向上层提交接收到的序列数据块,亦可通知底层读取上层待传输的数据块,提供良好的端到端数据传输服务。依旧按照OSI标准模型中规定服务原语类型来定义服务接口,FC-2提供的服务原语有: (1)FC-2_SEQUENCE.request (2)FC-2_SEQUENCE_TAG_indication (3)FC-2_SEQUENCE.indication 1. FC-2_ SEQUENCErequest 这个服务接口向上层提供端到端的数据传输服务,当上层需要传输数据时,只需要按照这个接口规定的参数类型填
10、好请求命令即可。该服务原语的格式如下: FC-2_SEQUENCErequest( Type Exchange_Tag Sequence_Tag Class_of-Service R_CTL D_JD S_ID First_Sequence Last_Sequence Priority Sequence_Initiative Continue_Sequence_Condition Exchange Error Policy Dada_Address Data_Length ) 上面所示即这个服务请求的格式,当上层请求FC-2传送数据时必须提供上面列出的参数,因为这都与特定的上层应用有关,包括要
11、发起的序列的服务类型,序列类型:是命令序列,状态序列还是数据序列,序列优先级,序列发送完毕后是否转让序列发起权,序列在交换中的位置等。FC2发送端模块根据FC_2 SEQUENCErequest提供的信息,分割序列数据块,发送光纤通道帧。 2.FC-2_SEQUENCE.indication FC-2使用这个服务原语向上层交付接收到的序列,除了纯粹的数据之外,还包含一些附加的信息,格式如下: FC-2_SEQUENCE.indication( Exchange_Tag Class_of_Service Type R_CTL D_ID S_ID Sequence_Initiative Data_
12、Address Data_Length ) FC2层接收端模块在完整接收一个序列数据块后,将序列类型,发送接收序列的端口地址,序列发起权,数据大小和存放地址放入序列递交原语,通知FC4层模块读取。 3.FC-2_SEQUENCE_TAG.indication 这个参数是用来响应前面上层发出的FC-2_SEQUENCE.request原语的,格式如下: FC-2_SEQUENCE_TAG_indication ( Exchange_Tag Sequence_Tag ) 这个原语向上层返回两个标识符,用来标识当前这个序列,当这个序列成功发送完毕或者异常终止的时候,FC-2使用这两个标识符向上层报告
13、这个序列发送是否成功。 n 软硬件接口定义与描述 PowerPC接口与硬件和上层软件连接框图如图4.2所示。为了满足FC-AE-1553传输的实时性等要求,减少数据延迟。在该芯片设计中,采用PLB总线与底层硬件代码相连接。PLB总线是Power PC的高带宽总线,64位数据总线宽度,分离的地址、读写数据总线,具备分别传输的能力。同时执行的读写传输能最有效利用总线,在单周期内可传输两个数据;此外,PLB总线地址通道能叠加一个新的写请求到一个正在执行的写操作上,以及最多3个读请求到正在执行的读操作上,从而减少总线反映时间。 (一)控制寄存器设计 43个控制寄存器主要完成产生底层硬件需要的一些控制信
14、号,状态信息,以及软硬件握手等功能: 1)发送接收缓存信息。用来控制写入对应的空闲RAM或者读取对应的接收RAM。如帧长度,CRC正确与错误,等等信息,软件通过这些信息来进行帧处理,这些处理包括接收当前帧,解析当前帧信息,丢弃当前帧,发送特定原语进行端口控制等等。 2)一些用于测试的控制寄存器,里面包括了发送原语测试,设定硬件初始状 态寄存器等功能。 3)读取错误统计信息。PPC通过软硬件接口读取硬件一些错误的统计信息,可以得到整个传输的整体信息。为上层软件中协议处理提供信息。 (二)发送接收缓存设计 在FC-AE-1553协议桥设计中,接收和发送分别采用一个RAM作为缓存,在设计中,每一个F
15、C帧长度为2148字节。数据总线宽度选择为32位。因此每个RAM的缓存深度为537。考虑到Power PC的处理速度,每个发送和接收采用8个缓存。则每个大小为537X8,对应的地址总线为13位。在底层考虑方便读取数据,在RAM部分,设计采用双端口RAM的控制。 在发送状态时,Power PC将要发送的数据发送到发送缓存RAM中,并且更新发送数据控制寄存器之中的信息,底层发送模块通过读取软硬件接口中相应寄存器的信息来判断是否有数据需要发送,如果有数据发送,则读取发送缓存RAM之中数据,并将数据进行发送。 接收状态时,底层接收数据并依次写入对应的RAM中。并更新对应的控制寄存器,PowerPC判断
16、对应的寄存标志,读取RAM中的数据。 Power PC405 IP核通过接口控制寄存器与发送接收缓存实现软硬件的数据交互。 n 软件模块划分与设计思路 协议算法软件进行功能模块划分,主要包括以下几部分: (1)FC4层NC模式协议管理模块:完成NC协议管理功能 (2)FC4层NT模式协议管理模块:完成NT协议管理功能 (3)协议转换模块:完成过桥传输帧与消息字转换功能 (4)FC2层接收端模块:完成交换管理、序列接收管理功能 (5)FC2层发送端模块:完成交换管理、序列发送管理功能 (6)FC2层注册、注销模块:实现服务参数的确立 各层问通过内部服务接口原语进行信息交互。 交换级FC4层软件模
17、块划分与实现 FC-AE-1553映射层实现FC-AE-1553协议功能,完成FC-AE-1553的 10种传输类型。分为NC、NT2种模式工作,NC模式下安排整个网络中的传输过程,NT模式下响应各类数据传输。 1.NC模式管理模块 图43描述了NC模式管理模块的设计框图,上层应用通过FC-4接口原语FC-4_exchangerequest请求FC-4层发起交换,NC分析该原语,协调发起交换所需的各类资源。 TYPE上层应用分析,这里确定为0x48,FC-AE-1553应用,进入FC-AE-1553处理。 广播多播单播判断分类; 进程注册分析:判断交换2端口间是否已完成进程注册,若未完成,则首
18、先进行进程注册,已完成,则继续判断; 突发模式判断:普通模式,突发模式一,突发模式二共三种,不同模式下进行的传输类型相应的传输过程有所不同; 传输类型判断:主要分为NC-NT(s),NT-NC,NT-NT(s)3大类,按各自特点分别进行; 根据各类传输类型,填FC-2接口原语FC-2_SEQUENCE.request,请求发起序列; 等待FC-2_SEQUENCE_TAG.indication,为新交换新序列分配交换号与序列号; 根据序列发送结果进行下一步骤:序列发送失败,则填FC4接口原语FC-4_exchange.reply向上层应用报告交换失败原因;序列发送成功则根据传输类型和剩余数据大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FCAE1553B 结构
链接地址:https://www.31ppt.com/p-3156925.html