一种采用DMA链实现的1394异步流传输的方法与流程

文档序号:15281581发布日期:2018-08-28 23:36阅读:652来源:国知局

本发明属于机载网络总线技术领域,基于1394ohci协议实现的一种采用dma控制器描述符链实现的1394异步流数据传输的方法。



背景技术:

综合任务处理机(imp)是航空电子系统的核心基础平台,具备数据、图形/图像和视频的综合处理能力以及系统存储能力。输入输出模块简称iom模块,是imp的组成部分,是保障飞行作战任务实施的核心支持模块。输入输出模块负责系统管理、非光纤接口数据接收/发送,内外协议转换和时间服务。

综合任务处理机中的iom模块配置了专门的1394b接口,采用双余度备份形式与c链路端机及ku/ka卫星链路端机进行通信,满足系统遥测及侦查、监视信息实时传输的需要。1394b拓扑关系如图1所示,其中iom1、iom2、ku/ka链端机及c链端机各包含2路独立的1394b总线接口,每路1394b接口包含3个port,iom1、iom2位于imp内部,互为备份。1394b总线接口采用s400beta工作模式,传输速率为400mbps。

航空电子系统中任务系统采用异步流数据包与c链路端机及ku/ka卫星链路端机进行通信,完成视频图像数据的下传,基于1394ohci协议,利用dma控制器描述符链,实现异步流数据的发送和接收,能够有效的解决航空电子系统视频等大数据传输速度慢的问题,满足任务系统对视频图像数据下传的要求。



技术实现要素:

一种采用dma链实现的1394异步流传输的方法,1394ohci协议支持多种类型的dma控制器,每种类型的dma控制器都有自己独立的寄存器空间,支持至少一种dma控制器描述符。

表1dma控制器和描述符关系对应表

本方法利用异步传输请求和等时接收的dma控制器实现异步流数据包的发送和接收,采用dma控制器描述符链来描述dma控制器对环形缓冲区的操作。每个dma控制器描述符对应一个可dma缓冲区,dma缓冲区描述符描述缓冲区的基本信息、设置硬件使用该缓冲区的方式信息;包括以下步骤:

1.设备初始化阶段:

1)1394ohci设备硬件初始化;

2)异步传输请求dma控制器描述符链和等时接收dma控制器描述符链的初始化,包括缓冲区的基本信息、设置硬件使用该缓冲区的方式等信息;

3)设置dma控制器描述符的指针;

4)设置dma控制器参数,启动dma控制器;

5)使能1394ohci设备发送和接收中断,使能主机中断;

2.数据传输阶段

1)在异步流数据发送阶段,注册给硬件的缓冲区采用环形缓冲区方式管理,软件依次选择环形缓冲区中可用的缓冲区添加发送的dma控制器描述符链尾,在发送完成时释放已经完成发送的缓冲区,更新dma控制器描述符链头,实现环形缓冲区的切换,异步流数据发送详细过程如图2所示。

2)在异步流数据接收阶段,注册给硬件的缓冲区采用环形缓冲区方式管理,基于该方案,在接收完成时更新dma控制器描述符链尾,用户读取数据后更新dma控制器描述符链头,完成环形缓冲区的切换,异步流数据接收详细过程如图3所示。

本发明基于1394ohci规范提出了一种采用dma控制器描述符链实现的1394异步流数据传输的方法,该方法可推广到异步数据和等时数据传输的实现。其特点是实现方法简单,使用灵活,能够有效的解决航空电子系统视频等大数据传输速度慢的问题,目前已经应用在某型无人机的综合任务处理机中,满足任务系统对视频图像数据下传的要求。

其主要优点如下:

1.环形缓冲区的采用,使得dma控制器的效率得到了显著的提高;

2.环形缓冲区的大小可依据应用的需求和实际的硬件环境进行动态的配置;

3.异步流数据传输采用的dma控制器描述符链的方式,可以推广至1394协议定义的其他类型数据。

附图说明

图1为1394拓扑图。

图2为异步流数据发送过程图;

图3为异步流数据接收过程图。

具体实施方式

在初始化阶段,初始化异步传输请求dma控制器描述符链和等时接收dma控制器描述符链所需的资源,设置dma控制器参数,启动dma控制器。

在数据传输阶段,异步传输请求dma控制器描述符链和等时接收dma控制器描述符链均以环形缓冲区的方式进行动态切换。

本方案实施步骤如下:

1.设备初始化阶段:

1)主机接口(pci)初始化,1394ohci设备硬件初始化;

2)缓冲区资源申请,异步传输请求和等时接收dma控制器描述符链资源的初始化,包括缓冲区的基本信息、设置硬件使用该缓冲区的方式信息;

3)初始化dma控制器指针为发送和接收对应的描述符链的第一个描述符;

4)异步传输请求和等时接收dma控制器参数设置,启动dma控制器;

5)使能1394ohci设备发送和接收中断,主机中断使能;

2.数据传输阶段

1)异步流数据发送,完成参数合法性的检查之后,需要对设备进行互斥保护操作,检查设备异步传输请求dma控制器的发送状态是否可用,如果正常,软件依次选择环形缓冲区中可用的缓冲区添加发送的dma控制器描述符链尾,在发送完成时释放已经完成发送的缓冲区,更新dma控制器描述符链头,实现环形缓冲区的切换,异步流数据发送详细过程如图2所示;否则,退出发送流程。

2)异步流数据接收,数据的接收通过中断方式完成,在接收中断处理中更新dma控制器描述符链尾,如果用户注册了中断回调接口,直接接收到数据的基址返回给用户;上层用户通过读取数据接口读取数据时,更新dma控制器描述符链头,完成环形缓冲区的切换,异步流数据接收详细过程如图3所示。

符号说明:

imp:综合任务处理机;

iom:输入输出模块;

ohci:开放主机控制接口;

dma:直接存储器访问。



技术特征:

技术总结
本发明属于机载网络总线技术领域,基于1394 Open Host Controller Interface(OHCI)规范提出了一种采用DMA控制器描述符链实现的1394异步流数据传输的方法,该方法可推广到异步数据和等时数据传输的实现。本发明的设计方案核心是DMA控制器描述符链的使用方法。基于1394 OHCI协议,利用DMA控制器的描述符控制器和描述符指针,实现异步流数据的发送和接收。

技术研发人员:吴姣;牟明;张利洲;崔西宁;郝玉锴;范祥辉
受保护的技术使用者:中国航空工业集团公司西安航空计算技术研究所
技术研发日:2016.12.12
技术公布日:2018.08.28
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1