[发明专利]一种软件实现usb主机控制器方法、系统及存储介质有效
申请号: | 202011314506.1 | 申请日: | 2020-11-20 |
公开(公告)号: | CN112306931B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 操冬华;胡胜发 | 申请(专利权)人: | 广州安凯微电子股份有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F13/40 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510555 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 实现 usb 主机 控制器 方法 系统 存储 介质 | ||
1.一种软件实现usb主机控制器方法,其特征在于,包括:
根据usb主机层分配的usb主机端点模型结构体建立urb的管理链表;其中,所述urb为usb请求块,所述urb的管理链表为双向链表;
建立主机控制器端点的模型结构体,将usb主机端点与usb外接设备的端点进行绑定,以实现usb底层和从机设备之间的数据通信传输;
建立主机控制器的模型结构体;其中,所述主机控制器的模型结构体包括:异步调度端点链表及异步调度执行激活工作端点数组;所述异步调度端点链表用于管理当前上层urb请求的所述主机控制器端点调度链表;所述异步调度执行激活工作端点数组用于记录管理当前正在调度执行的usb数据传输工作的所述主机控制器端点及其工作状态;
通过所述主机控制器端点的模型结构体和所述主机控制器的模型结构体对所述主机控制器端点进行管理。
2.根据权利要求1所述的一种软件实现usb主机控制器方法,其特征在于,所述主机控制器端点的模型结构体包括usb标准协议的端点描述符信息。
3.根据权利要求1所述的一种软件实现usb主机控制器方法,其特征在于,所述通过所述主机控制器端点的模型结构体和所述主机控制器的模型结构体对所述主机控制器端点进行管理,包括执行所述主机控制器端点的初始化流程,具体地:
进行主机控制器的底层通讯端点的使能和初始化;
根据usb标准协议中的端点描述符信息,获取每个所述usb主机端点的序列号、执行传输方向;
判断所述usb主机端点的所述执行传输方向是输入还是输出;
若是输出则初始化所述usb主机端点输出端点数组;
若是输入则初始化所述usb主机端点输入端点数组。
4.根据权利要求1所述的一种软件实现usb主机控制器方法,其特征在于,所述通过所述主机控制器端点的模型结构体和所述主机控制器的模型结构体对所述主机控制器端点进行管理,包括执行所述urb主机端点和所述主机控制器端点的分配和管理,具体地:
获取所述urb主机端点;
将urb添加到所述urb主机端点的所述urb的管理链表;
判断所述urb主机端点的私有主机控制器端点元素是否有值;
若有则正常获取所述主机控制器端点;
若否则重新构建一个所述主机控制器端点,并把它放在当前的所述urb主机端点的所述私有主机控制器端点元素中;
判断当前所述主机控制器端点是否在调度中;
若否,则将所述主机控制器端点加入到所述主机控制器的的模型结构体的所述异步调度端点链表中;
进入urb的正常传输流程。
5.根据权利要求1所述的一种软件实现usb主机控制器方法,其特征在于,所述通过所述主机控制器端点的模型结构体和所述主机控制器的模型结构体对所述主机控制器端点进行管理,包括执行所述主机控制器端点的异步调度管理;具体地:
urb传输阶段中,在判断当前usb主机控制器的通讯管道端点处于工作状态时,启动所述通讯管道端点的传输;
在判断所述异步调度端点链表为空时,获取所述异步调度端点链表的端点号;
在判断当前所述主机控制器的所述usb主机端点的管理链表不为空时,获取所述usb主机端点的管理链表的urb;
根据获取到的urb,启动urb的usb dma传输;
将获取到的所述异步调度端点链表的端点添加至所述异步调度执行激活工作端点数组中;
完成所述usb dma传输,产生usb中断,并进入usb中断处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州安凯微电子股份有限公司,未经广州安凯微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011314506.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:集成式密封离心泵
- 下一篇:玻璃基板传送装置及玻璃基板清洗装置