FCAE1553B结构Word格式文档下载.docx
《FCAE1553B结构Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《FCAE1553B结构Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
![FCAE1553B结构Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-11/16/ba8f9679-2950-4319-b5aa-ea2dbddfd0e2/ba8f9679-2950-4319-b5aa-ea2dbddfd0e21.gif)
(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接口主要功能是提供数据的高速物理接口,实现数据的高速收发功能。
软硬件部分通过PowerPC接口实现信息交互。
系统软件部分在PowerPC核内部实现,主要分FC2、FC4两大层次,FC2层由接收端、发送端、注册/注销模块组成,FC4层由NC模式管理、NT模式管理,协议格式转换模块构成。
FC2数据传输层通过FC2服务接口向FC4映射层提供服务。
FC4服务接口是系统与外部上层应用的服务接口,通过配置服务原语发起数据传输。
⏹系统内外部接口定义与描述
系统为上层应用提供数据传输服务,因此必须首先设计一个良好的服务接口。
上层应用使用这些接口请求交换,系统通过服务接口响应上层应用,发起交换并报告交换完成情况。
按照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
onversion
originalflag
Type
Class_of_Service
Respond_ID
Source_ID
Continue_Sequence_Condition
Exchange_ErrorPolicy
DadaA_ddress
Data_Length
Broadcast
Mode
Bridge
NTBurstsize
request
and
Delayed
ReceiveRDMAandTransmitRDMA
Suppress
status
NT-to-NTtransferandT/R*
NCmonitorforNT-to.NTTransfer
Multicast
Subaddress_mode
Databyte_or_mode_code
Other_Port_ID
Other_subaddress
)
FC-4_exchange.request原语给出了发起交换必需的信息,包括发起者、响应者端口地址,交换使用的错误策略、传输类型,抑制状态、突发状态、RDMA设置,是否过桥,是否为多播,多播地址,发送的数据块地址以及数据块大小等。
设置在NC/NT模式下的软件根据交换请求原语申请资源,进行数据传输。
2.FC-4_exchange.reply
FC-4_exchange.reply是系统对FC-4_exchange.request原语作出的响应,当这个交换成功发送完毕或者异常终止的时候,使用该原语向上层应用报告交换完成情况。
其格式如下:
FC-4_exchange.reply(
Data_Address
NC-NTconversion
success_exchange
Nused_ULP
Sequenceinitiativeerror
Sequencetransmitlost
Transmissionconfigureconflict
Fc_header_error
NoresponsebyMIL-STD-1553RT
MIL-STD-1553formaterror
Portloginrequired
Busy
Messageerror
Servicerequest
Broadcastcmdreceived
Subsystemflag
Dynamicnetworkcontrol
Teminalflag
节点在每次交换完成后,使用交换应答原语FC-4_exchange.reply对交换完成情况进行报告,报告包括为交换分配的交换号,交换中NT节点状态,交换是否正常完成,若交换非正常终止,其引起终止的错误原因,若有数据递交,还需包含数据块存放地址,和数据块大小等。
⏹系统内部服务接口定义与描述
系统内部为发送/接收序列定义了服务接口,使用接口原语可顺利向上层提交接收到的序列数据块,亦可通知底层读取上层待传输的数据块,提供良好的端到端数据传输服务。
依旧按照OSI标准模型中规定服务原语类型来定义服务接口,FC-2提供的服务原语有:
(1)FC-2_SEQUENCE.request
(2)FC-2_SEQUENCE_TAG_indication
(3)FC-2_SEQUENCE.indication
1.FC-2_SEQUENCE.request
这个服务接口向上层提供端到端的数据传输服务,当上层需要传输数据时,只需要按照这个接口规定的参数类型填好请求命令即可。
该服务原语的格式如下:
FC-2_SEQUENCE.request(
Exchange_Tag
Sequence_Tag
Class_of-Service
R_CTL
D_JD
S_ID
First_Sequence
Last_Sequence
Priority
Sequence_Initiative
ExchangeErrorPolicy
Dada_Address
上面所示即这个服务请求的格式,当上层请求FC-2传送数据时必须提供上面列出的参数,因为这都与特定的上层应用有关,包括要发起的序列的服务类型,序列类型:
是命令序列,状态序列还是数据序列,序列优先级,序列发送完毕后是否转让序列发起权,序列在交换中的位置等。
FC2发送端模块根据FC_2SEQUENCE.request提供的信息,分割序列数据块,发送光纤通道帧。
2.FC-2_SEQUENCE.indication
FC-2使用这个服务原语向上层交付接收到的序列,除了纯粹的数据之外,还包含一些附加的信息,格式如下:
FC-2_SEQUENCE.indication(
D_ID
FC2层接收端模块在完整接收一个序列数据块后,将序列类型,发送接收序列的端口地址,序列发起权,数据大小和存放地址放入序列递交原语,通知FC4层模块读取。
3.FC-2_SEQUENCE_TAG.indication
这个参数是用来响应前面上层发出的FC-2_SEQUENCE.request原语的,格式如下:
FC-2_SEQUENCE_TAG_indication(
这个原语向上层返回两个标识符,用来标识当前这个序列,当这个序列成功发送完毕或者异常终止的时候,FC-2使用这两个标识符向上层报告这个序列发送是否成功。
⏹软硬件接口定义与描述
PowerPC接口与硬件和上层软件连接框图如图4.2所示。
为了满足FC-AE-1553传输的实时性等要求,减少数据延迟。
在该芯片设计中,采用PLB总线与底层硬件代码相连接。
PLB总线是PowerPC的高带宽总线,64位数据总线宽度,分离的地址、读写数据总线,具备分别传输的能力。
同时执行的读写传输能最有效利用总线,在单周期内可传输两个数据;
此外,PLB总线地址通道能叠加一个新的写请求到一个正在执行的写操作上,以及最多3个读请求到正在执行的读操作上,从而减少总线反映时间。
(一)控制寄存器设计
43个控制寄存器主要完成产生底层硬件需要的一些控制信号,状态信息,以及软硬件握手等功能:
1)发送/接收缓存信息。
用来控制写入对应的空闲RAM或者读取对应的接收RAM。
如帧长度,CRC正确与错误,等等信息,软件通过这些信息来进行帧处理,这些处理包括接收当前帧,解析当前帧信息,丢弃当前帧,发送特定原语进行端口控制等等。
2)一些用于测试的控制寄存器,里面包括了发送原语测试,设定硬件初始状
态寄存器等功能。
3)读取错误统计信息。
PPC通过软硬件接口读取硬件一些错误的统计信息,可以得到整个传输的整体信息。
为上层软件中协议处理提供信息。
(二)发送/接收缓存设计
在FC-AE-1553协议桥设计中,接收和发送分别采用一个RAM作为缓存,在设计中,每一个FC帧长度为2148字节。
数据总线宽度选择为32位。
因此每个RAM的缓存深度为537。
考虑到PowerPC的处理速度,每个发送和接收采用8个缓存。
则每个大小为537X8,对应的地址总线为13位。
在底层考虑方便读取数据,在RAM部分,设计采用双端口RAM的控制。
在发送状态时,PowerPC将要发送的数据发送到发送缓存RAM中,并且更新发送数据控制寄存器之中的信息,底层发送模块通过读取软硬件接口中相应寄存器的信息来判断是否有数据需要发送,如果有数据发送,则读取发送缓存RAM之中数据,并将数据进行发送。
接收状态时,底层接收数据并依次写入对应的RAM中。
并更新对应的控制寄存器,PowerPC判断对应的寄存标志,读取RAM中的数据。
PowerPC405IP核通过接口控制寄存器与发送接收缓存实现软硬件的数据交互。
⏹软件模块划分与设计思路
协议算法软件进行功能模块划分,主要包括以下几部分:
(1)FC4层NC模式协议管理模块:
完成NC协议管理功能
(2)FC4层NT模式协议管理模块:
完成NT协议管理功能
(3)协议转换模块:
完成过桥传输帧与消息字转换功能
(4)FC2层接收端模块:
完成交换管理、序列接收管理功能
(5)FC2层发送端模块:
完成交换管理、序列发送管理功能
(6)FC2层注册、注销模块:
实现服务参数的确立
各层问通过内部服务接口原语进行信息交互。
✧交换级FC4层软件模块划分与实现
FC