[发明专利]基于独立运行模式的数据处理方法及客户端有效
申请号: | 201710666970.9 | 申请日: | 2017-08-07 |
公开(公告)号: | CN107590049B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 崔小甜;王少亮;夏君华 | 申请(专利权)人: | 硅谷数模半导体(北京)有限公司;硅谷数模国际有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵囡囡 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 独立 运行 模式 数据处理 方法 客户端 | ||
1.一种基于独立运行模式的数据处理方法,其特征在于,包括:
接收来自独立运行芯片的中断事件;
根据所述中断事件,检测所述独立运行芯片的状态信息,其中,所述状态信息包括所述独立运行芯片是否存储有功率输出PD消息数据;
在所述独立运行芯片存储有所述PD消息数据的情况下,获取所述PD消息数据;
解析并处理所述PD消息数据;
通过类扩展接口将处理后的所述PD消息数据上传至操作系统;
其中,所述状态信息还包括以下至少之一:
配置通道的状态、数据角色是否发生变化、电源角色是否发生变化,其中,所述配置通道的状态用于指示通用串行总线类型C接口USB Type-C上所插入的对象的类型,所述电源角色包括电源提供方和电源消耗方;
其中,所述解析并处理所述PD消息数据包括:
在解析出所述PD消息数据包括供电能力的情况下,调用第一函数处理所述供电能力;
在解析出所述PD消息数据包括请求数据对象RDO的情况下,调用第二函数和第三函数处理所述RDO;
在解析出所述PD消息数据包括数据角色转化的请求结果的情况下,调用第四函数处理所述数据角色转化的请求结果;
在解析出所述PD消息数据包括电源角色转化的请求结果的情况下,调用第五函数处理所述电源角色转化的请求结果。
2.根据权利要求1所述的方法,其特征在于,获取所述PD消息数据包括:
从所述独立运行芯片的第一数据寄存器中读取所述PD消息数据,其中,所述第一数据寄存器的数据格式包括数据头、数据内容及校验值,所述数据头包括所述数据内容的字节数、所述校验值的字节数及所述数据内容的类型。
3.根据权利要求2所述的方法,其特征在于,所述独立运行芯片包括三级缓存,其中,第一级缓存包括所述第一数据寄存器,第二级缓存和第三级缓存均包括至少一个静态栈数组,所述独立运行芯片需向所述第三级缓存写入新数据时,所述第三级缓存中存储的原数据传输至所述第二级缓存中,所述第二级缓存中存储的原数据传输至所述第一数据寄存器中。
4.根据权利要求1所述的方法,其特征在于,所述获取所述PD消息数据之后,根据所述PD消息数据的类型处理所述PD消息数据之前,还包括:
通过中断处理线程将所述PD消息数据存储在数据缓存中;
激活PD消息处理线程,并通过所述PD消息处理线程从所述数据缓存中读取所述PD消息。
5.根据权利要求4所述的方法,其特征在于,所述数据缓存包括九级缓存,每一级缓存包括一个连续的静态数据,所述九级缓存为循环队列。
6.根据权利要求1所述的方法,其特征在于,还包括:
在初始化时创建数据获取线程、创建定时器以及注册定时器回调函数;
在所述定时器计时到达预设时长后,检测是否获取到所述PD消息数据;
若未获取到所述PD消息数据,通过所述定时器回调函数激活所述数据获取线程;
通过所述数据获取线程获取所述PD消息数据。
7.根据权利要求6所述的方法,其特征在于,通过所述数据获取线程获取所述PD消息数据,包括:
在当前的电源角色是电源提供方的情况下,发送第一消息至所述独立运行芯片,接收所述独立运行芯片返回的RDO;
在当前的电源角色是电源消耗方的情况下,发送第二消息至所述独立运行芯片,接收所述独立运行芯片返回的对端供电能力;
其中,所述PD消息数据包括所述RDO和所述对端供电能力。
8.根据权利要求1所述的方法,其特征在于,所述基于独立运行模式的数据处理方法应用于客户端驱动,所述客户端驱动支持多个端口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于硅谷数模半导体(北京)有限公司;硅谷数模国际有限公司,未经硅谷数模半导体(北京)有限公司;硅谷数模国际有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710666970.9/1.html,转载请声明来源钻瓜专利网。