[发明专利]一种基于RapidIO的高速传输实现方法有效
申请号: | 201710769906.3 | 申请日: | 2017-08-31 |
公开(公告)号: | CN107729281B | 公开(公告)日: | 2019-11-15 |
发明(设计)人: | 杜默;谭智敏;钟松岩 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 11011 中国兵器工业集团公司专利中心 | 代理人: | 张然<国际申请>=<国际公布>=<进入国 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 rapidio 高速 传输 实现 方法 | ||
1.一种基于RapidIO的高速传输实现方法,其特征在于,包括:
进行RapidIO驱动模块加载;
进行主设备驱动加载;
进行从设备驱动加载;
进行高速传输驱动模块加载;
进行高速传输驱动模块加载之后,进行设备打开,包括:
在接收端的驱动中注册一个doorbell响应请求函数,当设备接收到一个含有指定门铃号码的doorbell信号后,本地设备进行响应,执行doorbell响应请求函数中的行为;
在接收端的驱动中注册一个message入邮箱响应请求函数,当设备接收到message信号后,本地设备进行响应,执行message入邮箱响应请求函数中的行为;
在接收端的驱动中注册一个message出邮箱响应请求函数,当设备接收到message信号后,本地设备进行响应,执行message出邮箱响应请求函数中的行为;
进行message发送队列初始化;
申请DMA通道;
进行虚拟地址到物理地址的映射;
将RapidIO地址映射到物理地址;进行主从设备间的通信,包括:
发送数据采集指令;
发送DMA数据包;
通知接收设备DMA数据已发送;
接收DMA数据;
重复发送DMA数据包、通知接收设备DMA数据已发送以及接收DMA数据步骤,直到全部数据发送完毕;
发送停止命令。
2.如权利要求1所述的基于RapidIO的高速传输实现方法,其特征在于,发送停止命令进一步包括:
发送端将停止命令放入发送缓冲区,并给定发送缓冲区长度,将数据发送给接收端设备;接收端当收到message信号后读取邮箱中的数据,将邮箱中读取到的数据复制到message队列中,执行停止数据采集功能,清空数据接收队列,以便接受新的message数据。
3.如权利要求1所述的基于RapidIO的高速传输实现方法,其特征在于,全部数据发送完成后,主设备通过message功能发送停止指令,通知从设备结束数据采集工作。
4.如权利要求1所述的基于RapidIO的高速传输实现方法,其特征在于,发送数据采集指令包括:发送端将数据采集指令放入发送缓冲区,并给定发送缓冲区长度,将数据发送给接收端设备;接收端当收到message信号后读取邮箱中的数据,将邮箱中读取到的数据复制到message队列中,执行数据采集功能,清空数据接收队列,以便接受新的message数据。
5.如权利要求1所述的基于RapidIO的高速传输实现方法,其特征在于,发送DMA数据包包括:发送端定义DMA发送端描述符,定义DMA的传输方向,申请DMA通道,绑定待发送缓冲区,给定目的地址,配置发送端RapidIO的DMA数据,获取DMA描述符,确定数据已经完全发送完成,重置DMA应答标识位。
6.如权利要求1所述的基于RapidIO的高速传输实现方法,其特征在于,接收DMA数据包括:接收端收到一个doorbell后,得知在映射好的物理地址上已经收到数据,从设备读取映射好的DMA缓冲区中的数据并保存至本地。
7.如权利要求1所述的基于RapidIO的高速传输实现方法,其特征在于,主设备驱动加载的步骤,包括:
(1)、加载“rapidio.ko”驱动,在加载时传入参数hdid,配置参数hdid为0;
(2)、加载“tsi721_mport.ko”驱动;
(3)、加载“rio-scan.ko”驱动,在加载时传入参数scan,配置参数scan为1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710769906.3/1.html,转载请声明来源钻瓜专利网。