[发明专利]一种基于数字电路的FC网络序列发送控制系统及方法有效
申请号: | 201611140892.0 | 申请日: | 2016-12-12 |
公开(公告)号: | CN108616329B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 蒲恺;张利洲;田园;李大鹏;李玉发;刘军伟 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
主分类号: | H04L1/00 | 分类号: | H04L1/00 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 郭平 |
地址: | 710000 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数字电路 fc 网络 序列 发送 控制系统 方法 | ||
1.一种基于数字电路的FC网络序列发送控制系统,其特征在于:包括配置寄存器组、本地缓存、数据请求状态机、数据发送状态机和发送超时计数单元五部分;其中,
配置寄存器组包括:
1)、由主机填写数字电路读取的S_ID寄存器、D_ID寄存器、帧长度寄存器、起始地址寄存器、长度寄存器、超时值寄存器和超时处理方式寄存器;其中,
a、S_ID寄存器存储FC帧头中S_ID字段的用户设置值;
b、D_ID寄存器存储FC帧头中D_ID字段的用户设置值;
c、帧长度寄存器存储FC帧数据负载长度的用户设置值;
d、起始地址寄存器存储用户数据在主机内存中的起始地址,对该寄存器的写操作是启动数字电路进行发送的触发条件,必须最后设置;
e、长度寄存器存储用户数据的字节长度;
f、超时值寄存器存储用户数据可以占用发送通道的时间值;
g、超时处理方式寄存器存储用户数据的发送时间超过超时值寄存器设定值后的处理方式,包括超时续传和超时中止两种方式;
2)、由数字电路填写主机读取的发送完成地址寄存器和超时地址寄存器;其中,
a、发送完成地址寄存器存储发送完成的用户数据在内存中的起始地址;
b、超时地址寄存器存储占用发送通道时间超过超时值寄存器设定值的用户数据在内存中的起始地址;
本地缓存包括若干个大小为2112B的缓存单元和一个参数FIFO,参数FIFO的深度与缓存单元个数相同,缓存单元个数由用户确定;其中,缓存单元由主机接口写入并更新写指针,由数据发送状态机读出并更新读指针;参数FIFO由数据请求状态机写入,由数据发送状态机清除;
数据请求状态机根据主机配置和本地缓存的空闲状态请求主机接口将一帧数据负载从内存读入缓存单元中,并将该帧数据的相关信息写入参数FIFO;所述相关信息包括起始地址、最末帧指示标志、数据长度、S_ID、D_ID、OX_ID、SEQ_ID和SEQ_CNT;
数据发送状态机根据参数FIFO传递过来的相关信息,将本地缓存单元的数据读出并组织成完整的FC帧发出;
发送超时计数单元包括超时计数器、超时计数地址寄存器和超时计数方式寄存器,其中,超时计数器为自减计数器,超时计数地址寄存器用于记录当前超时计数的序列在内存中的起始地址,超时计数方式寄存器用于记录当前超时计数的序列在超时后的处理方式;
配置寄存器组中的S_ID寄存器、D_ID寄存器、帧长度寄存器、起始地址寄存器、长度寄存器、超时值寄存器和超时处理方式寄存器均输出给数据请求状态机;本地缓存从主机接口和数据请求状态机输入数据,向数据发送状态机和发送超时计数单元输出数据;数据请求状态机写本地缓存中的参数FIFO,清除配置寄存器组中S_ID寄存器、D_ID寄存器、帧长度寄存器、起始地址寄存器、长度寄存器、超时值寄存器和超时处理方式寄存器的当前值;数据发送状态机从本地缓存的参数FIFO获取参数,从缓存单元获取数据,向配置寄存器组中的发送完成地址寄存器写入值;发送超时计数单元从本地缓存的参数FIFO获取参数,向数据请求状态机和数据发送状态机输出超时指示信号及超时计数地址寄存器和超时计数方式寄存器的值,并向配置寄存器组中的超时地址寄存器和发送完成地址寄存器写入值。
2.如权利要求1所述的一种基于数字电路的FC网络序列发送控制系统,其特征在于:所述的由主机填写数字电路读取的S_ID寄存器、D_ID寄存器、帧长度寄存器、起始地址寄存器、长度寄存器、超时值寄存器和超时处理方式寄存器,都采用FIFO实现,FIFO深度由用户确定,它们之间为一一对应关系。
3.如权利要求1所述的一种基于数字电路的FC网络序列发送控制系统,其特征在于:所述的由数字电路填写主机读取的发送完成地址寄存器和超时地址寄存器,都采用FIFO实现,FIFO深度由用户确定。
4.如权利要求1所述的一种基于数字电路的FC网络序列发送控制系统,其特征在于:数据请求状态机中,该帧数据的相关信息包括起始地址、最末帧指示标志、数据长度、S_ID、D_ID、OX_ID、SEQ_ID和SEQ_CNT。
5.一种基于数字电路的FC网络序列发送控制方法,其特征在于,包括以下步骤:
第1步、主机准备好待发送数据;
第2步、主机将配置数据写入配置寄存器组中除起始地址寄存器外的其它寄存器;
第3步、主机将待发送数据在内存中的起始地址写入起始地址寄存器;
第4步、数据请求状态机、数据发送状态机和发送超时计数单元并行工作;其中,
1)、数据请求状态机包括S0、S1、S2、S3和S4五种状态,其特征在于:
a、状态机初始状态为S0状态;
b、当处于S0状态时,若起始地址寄存器非空,则初始化待发送数据长度和相关信息,所述相关信息包括起始地址、最末帧指示标志、数据长度、S_ID、D_ID、OX_ID、SEQ_ID和SEQ_CNT,其中,
a)、待发送数据长度初始化为长度寄存器的值;
b)、起始地址初始化为起始地址寄存器的值;
c)、最末帧指示标志初始化时比较帧长度寄存器和长度寄存器是否相等,若相等则初始化为1,否则初始化为0;
d)、数据长度初始化时判断是否为最后一帧,若是则初始化为发送长度寄存器的值,否则初始化为帧长度寄存器的值;
e)、S_ID初始化为S_ID寄存器的值;
f)、D_ID初始化为D_ID寄存器的值;
g)、OX_ID的初始化由用户根据交换策略设定;
h)、SEQ_ID的初始化由用户设定;
i)、SEQ_CNT初始化为0;
跳转到S1状态,否则保持S0状态;
c、当处于S1状态时,
若检测到超时指示信号,则比较起始地址寄存器的值是否与超时计数地址寄存器的输出值相等,若相等则根据超时计数方式寄存器的值选择处理方式,当为超时中止时跳转到S3状态;
否则,若本地缓存未满,则将相关信息写入参数FIFO,判断待发送的数据长度是否与帧长度寄存器相等,若相等跳转到S3状态;
否则,跳转到S2状态;
d、当处于S2状态时,更新待发送数据长度和相关信息,其中,
a)、待发送数据长度更新为当前值减去帧长度寄存器的值;
b)、最末帧指示标志更新时判断下次发送是否为最后一帧,若是则更新为1,否则更新为0;
c)、数据长度更新时判断下次发送是否为最后一帧,若是则更新为待发送数据长度当前值减去帧长度寄存器的值,否则仍然为帧长度寄存器的值;
d)、起始地址、S_ID、D_ID、OX_ID和SEQ_ID不更新;
e)、SEQ_CNT更新为当前值加1;
跳转到S1状态;
e、当处于S3状态时,清除S_ID寄存器、D_ID寄存器、帧长度寄存器、起始地址寄存器、长度寄存器、超时值寄存器和超时处理方式寄存器的当前值,跳转到S4状态;
f、当处于S4状态时,跳转到S0状态;
2)、数据发送状态机包括S0、S1、S2和S3四种状态,其特征在于:
a、状态机初始状态为S0状态;
b、当处于S0状态时,
若缓存单元为空则保持S0状态;
否则,读取参数FIFO的相关信息,若为序列的第一帧或未检测到超时指示信号则跳转到S1状态;
否则,跳转到S2状态;
c、当处于S1状态时,将负载数据读出并组帧发送,待发送完成后判断是否为序列的最后一帧,若是则将参数FIFO中的起始地址写入发送完成地址寄存器,跳转到S2状态,若不是则仅跳转到S2状态;
d、当处于S2状态时,更新缓存单元读指针,清除参数FIFO的当前值,跳转到S3状态;
e、当处于S3状态时,跳转到S0状态;
3)、发送超时计数单元的工作流程其特征在于:
a、判断数据发送状态机当前处理的是否为第一帧或最后一帧;
b、若是第一帧,则无效超时指示信号,超时计数器从参数FIFO加载超时值并开始自减计数,超时计数地址寄存器从参数FIFO获取地址信息并保存,超时计数方式寄存器从参数FIFO获取超时处理方式并保存;
c、当超时计数器减为0时,产生超时指示信号,将超时计数地址寄存器的值写入超时地址寄存器并输出,输出超时计数方式寄存器的值,并判断超时后处理方式;
d、若超时计数方式寄存器的值表明超时处理方式为超时中止则将超时计数地址寄存器的值写入发送完成寄存器;
e、若是最后一帧,则超时计数器停止计数,无效超时指示信号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611140892.0/1.html,转载请声明来源钻瓜专利网。