通用串行总线的命令传输方法及相关装置制造方法及图纸

技术编号:8562917 阅读:143 留言:0更新日期:2013-04-11 04:33
本发明专利技术实施例公开了一种通用串行总线的命令传输方法及相关装置,用于在下位机未执行完成上位机命令而断电的情况下,仍旧能够在下次上电后继续执行未完成操作。本发明专利技术实施例方法包括:上位机向第一下位机发送第一命令包;每隔预置时长读取所述第一下位机的命令交互区,若所述读取失败,则生成并存储操作中断日志,所述操作中断日志包括:所述第一下位机的身份标识和所述第一命令包的标识;若检测到有第二下位机接入,则识别所述第二下位机的身份标识,若存有所述第二下位机的身份标识对应的操作中断日志,则触发所述第二下位机继续执行所述第二下位机对应的操作中断日志中标记的第二命令包的操作。

【技术实现步骤摘要】

本专利技术涉及数据传输领域,尤其涉及一种通用串行总线的命令传输方法及相关装置
技术介绍
传统通用串行总线(USB, Universal Serial BUS Mass Storage)大容量存储器 (Mass Storage)的设备俗称U盘,是即插即用装置,使用现有的“标准”设备驱动程序,无需 安装任何设备驱动即可用于所以系统行。当操作系统检查到USB装置插入时,就会自动询 问该装置相关参数以了解其能力和要求,并自动将适合的驱动程序加载到操作系统中,用 户就可以正常使用该设备。到USB装置从计算机的USB接口拨出时,计算机的操作系统就 会自动停止该设备的使用以及卸载其驱动程序。USB装置与其内部存储的软件(固件)一 起销售,用于控制数据存储端(即下位机)的运行,其一般采用通用的标准驱动程序,只对 计算机端(即上位机)下发的读取、写入、擦除等相关标准命令作出响应。现有技术中,提出了一种将命令包与该命令对应执行的数据包等打包成普通USB 读写数据的方式传递给下位机,而下位机在接受到了数据包后,按约定方式解包,取出其中 的命令包及数据信息来执行,对于下位机的执行结果,也是通过上位机写入一个读取命令, 下位机便会将上次命令执行的结果即响应的数据包返回给上位机从而实现了整个命令的 执行过程。现有技术通过数据包来发送扩展命令的做法实现了通过标准USB设备传输扩展 命令的功能,但是,上位机和下位机之间应答的交互关系在下位机拨出、意外断电的情况下 是不能够正确执行完成的,整个命令执行过程会被中断,不利于命令执行的可靠性。而下位 机本身就支持热插拔,存在用户不按照正常操作流程将下位机拨出的可能性,而很多关键 命令,如格式化、删除U盘内用户保密资料、U盘固件升级等操作如果未正确的执行完成就 被用户意外断电,则可能会导致用户的数据丢失。
技术实现思路
本专利技术实施例提供了 一种通用串行总线的命令传输方法及相关装置,用于在下位 机未执行完成上位机命令而断电的情况下,仍旧能够在下次上电后继续执行未完成操作。本专利技术提供的通用串行总线的命令传输方法,包括上位机向第一下位机发送第 一命令包,使得所述第一下位机存储并执行所述第一命令包;所述上位机每隔预置时长读 取所述第一下位机的命令交互区,若所述读取失败,则生成并存储操作中断日志,所述操作 中断日志包括所述第一下位机的身份标识和所述第一命令包的标识;若所述上位机检测 到有第二下位机接入,则识别所述第二下位机的身份标识,若所述上位机存有所述第二下 位机的身份标识对应的操作中断日志,则触发所述第二下位机继续执行所述第二下位机对 应的操作中断日志中标记的第二命令包的操作。本专利技术提供的通用串行总线的命令传输方法,包括下位机接收上位机发送的命令包;所述下位机将所述命令包存入所述下位机的命令交互区,并根据所述命令包执行相 应的操作;若在所述命令包的操作完成之前,所述下位机与所述上位机中断连接后再次接 入,则所述下位机接收所述上位机的触发指令,并根据所述触发指令继续执行所述命令包 的操作;或,所述下位机检测所述命令交互区存储的所述命令包,并执行所述命令包的操作。本专利技术提供的通用串行总线的命令传输装置,包括命令发送单元,用于向第一下 位机发送第一命令包,使得所述第一下位机存储并执行所述第一命令包;监控单元,用于每 隔预置时长读取所述第一下位机的命令交互区,若所述读取失败,则触发中断日志生成单 元;中断日志生成单元,用于生成并存储操作中断日志,所述操作中断日志包括所述第一 下位机的身份标识和所述第一命令包的标识;标识匹配单元,用于当检测到有第二下位机 接入时,识别所述第二下位机的身份标识,若所述上位机存有所述第二下位机的身份标识 对应的操作中断日志,则触发续执行单元;续执行单元,用于触发所述第二下位机继续执行 所述第二下位机对应的操作中断日志中标记的第二命令包的操作。本专利技术提供的通用串行 总线的命令传输装置,包括命令接收单元,用于接收上位机发送的命令包;命令交互区, 用于存储所述命令包;命令执行单元,用于根据所述命令包的指示执行相应的操作;指令 接收单元,用于若在所述命令包的操作完成之前,与所述上位机中断连接后再次接入,则接 收所述上位机的触发指令,并触发所述命令执行单元继续完成操作。检测单元,用于检测所 述命令交互区存储的所述命令包,并触发所述命令执行单元继续完成操作。从以上技术方案可以看出,本专利技术实施例具有以下优点本专利技术的上位机在读取 下位机的命令交互区失败后,确认与下位机断开连接,此时,会生成并存储操作中断日志, 使得该下位机再次与上位机相连接时,可以继续完成该操作中断日志中对于的命令包的操 作。附图说明图1是本专利技术实施例通用串行总线的命令传输方法的一个流程示意图2是本专利技术实施例通用串行总线的命令传输方法的另一个流程示意图3是本专利技术实施例通用串行总线的命令传输方法的另一个流程示意图4是本专利技术实施例通用串行总线的命令传输装置的一个结构示意图5是本专利技术实施例通用串行总线的命令传输装置的另一个结构示意图。具体实施方式本专利技术实施例提供了一种通用串行总线的命令传输方法及相关装置,用于在下位 机未执行完成上位机命令而断电的情况下,仍旧能够在下次上电后继续执行未完成操作。请参阅图1,本专利技术实施例中通用串行总线的命令传输方法的一个实施例包括101、上位机向第一下位机发送第一命令包;上位机与下位机相连接后,上位机向第一下位机发送第一命令包,使得第一下位 机存储并执行第一命令包。命令包为上位机向下位机下发的操作指令,具体操作可以包括格式化(或删除) 数据,软件升级以及读写数据。上位机向下位机发送的命令包及数据包均封装成为USB标准写入数据包格式(命 令包及数据包作为USB标准写入数据包的数据部分),具体的,命令包写入地址为下位机的 命令交互区,数据包的写入地址为数据交互区。上述第一下位机在接收到该第一命令包之后,在第一下位机的命令交互区上存储 给第一命令包,然后再执行该第一命令包所指示的操作,当第一命令包所指示的操作完成 后,该第一命令包会被替换为第一命令包对应的完成响应包,以通知上位机第一命令包所 指示的操作已经完成。在本专利技术实施例中,上位机的操作可以由计算机终端来完成,而下位机则可以为 USB的大容量数据存储装置或其他支持USB标准传输方式的USB设备。102、上位机每隔预置时长读取第一下位机的命令交互区;上位机每隔预置时长读取第一下位机的命令交互区,这是上位机对下位机的任务 监控操作,当读取到该命令交互区存储的仍是上述第一命令包时,则说明第一下位机还在 执行第一命令包所指示的操作;当读取到该命令交互区存储的是上述第一命令包对应的完 成响应包时,则说明第一下位机已经完成了第一命令包所指示的操作;当读取失败时,则说 明上位机与下位机已经断开连接。若上位机无法读取第一下位机的命令交互区,则触发步骤103。103、读取失败,上位机生成并存储操作中断日志;在上述第一命令包所指示的操作未完成之前,当上位机确认与下位机已经断开连 接,则上位机会生成与该第一命令包对应的操作中断日志,该操作中断日志中标记有第一 下位机的身份标识和第一命令包的标识。104、上位机识别第二下位机的身份标识;当上位机新接入有第二下位机,则先本文档来自技高网
...

【技术保护点】
一种通用串行总线的命令传输方法,其特征在于,包括:上位机向第一下位机发送第一命令包,使得所述第一下位机存储并执行所述第一命令包;所述上位机每隔预置时长读取所述第一下位机的命令交互区,若所述读取失败,则生成并存储操作中断日志,所述操作中断日志包括:所述第一下位机的身份标识和所述第一命令包的标识;若所述上位机检测到有第二下位机接入,则识别所述第二下位机的身份标识,若所述上位机存有所述第二下位机的身份标识对应的操作中断日志,则触发所述第二下位机继续执行所述第二下位机对应的操作中断日志中标记的第二命令包的操作。

【技术特征摘要】
1.一种通用串行总线的命令传输方法,其特征在于,包括 上位机向第一下位机发送第一命令包,使得所述第一下位机存储并执行所述第一命令包; 所述上位机每隔预置时长读取所述第一下位机的命令交互区,若所述读取失败,则生成并存储操作中断日志,所述操作中断日志包括所述第一下位机的身份标识和所述第一命令包的标识; 若所述上位机检测到有第二下位机接入,则识别所述第二下位机的身份标识,若所述上位机存有所述第二下位机的身份标识对应的操作中断日志,则触发所述第二下位机继续执行所述第二下位机对应的操作中断日志中标记的第二命令包的操作。2.根据权利要求1所述的方法,其特征在于,所述触发第二下位机继续执行所述第二下位机对应的操作中断日志中标记的第二命令包的操作,包括 提示用户是否继续执行所述第二命令包的操作,若是,则向所述第二下位机发送触发指令,使得所述第二下位机继续执行所述第二命令包的操作; 或, 向下位机发送触发指令,使得所述第二下位机继续执行所述第二命令包的操作。3.根据权利要求1或2所述的方法,其特征在于,所述触发第二下位机继续执行所述第二下位机对应的操作中断日志中标记的第二命令包的操作之前,包括 读取所述第二下位机的命令交互区; 若所述命令交互区存储有所述第二命令包,则触发第二下位机继续执行所述第二下位机对应的操作中断日志中标记的第二命令包的操作; 若所述命令交互区存储有所述第二命令包对应的完成响应包,则获取所述完成响应包以及响应数据,结束所述第二命令包的执行流程。4.根据权利要求3所述的方法,其特征在于,若所述第二下位机的命令交互区存储有所述第二命令包,所述触发第二下位机继续执行所述第二下位机对应的操作中断日志中标记的第二命令包的操作之前,包括 核对所述第二下位机存储的命令包和数据信息是否与所述第二下位机对应的操作中断日志中记录的命令包和数据信息相匹配,若是则触发第二下位机继续执行所述第二下位机对应的操作中断日志中标记的第二命令包的操作,若否,则重新向所述第二下位机发送第二命令包。5.根据权利要求1或2所述的方法,其特征在于,若所述第一命令包为需要向所述下位机发送数据的命令,则所述上位机向第一下位机发送第一命令包之前,包括 上位机向第一下位机的数据交互区发送数据信息。6.根据权利要求3所述的方法,其特征在于,若所述命令交互区存储有所述第二命令包对应的完成响应包,则所述获取完成响应包以及响应数据之后,包括 检测所述完成响应包是否正确,若正确,则结束所述第二命令包的操作流程;若不正确,则再次向所述第二下位机发送第二命令包。7.根据权利要求1或2所述的方法,其特征在于,所述命令包包括 执行码、命令执行起始地址和命令执行长度。8.一种通用串行总线的命令传输方法,其特征在于,包括下位机接收上位机发送的命令包; 所述下位机将所述命令包存入所述下位机的命令交互区,并根据所述命令包执行相应的操作;若在所述命令包的操作完成之前,所述下位机与所述上位机中断连接后再次接入,则所述下位机接收所述上位机的触发指令,并根据所述触发指令继续执行所述命令包的操作;或,所述下位机检测所述命令交互区存储的所述命令包,并执行所述命令包的操作。9.根据权利要求8所述的方法,其特征在于,所述根据触发指令继续执行所述命令包的操作,包括 读取所述命令包中的执行码、命令执行起始地址和命令执行长度; 根据所述执行码、命令执行起始地址和命令执行长度执行命令。10.根...

【专利技术属性】
技术研发人员:曹湧林毅
申请(专利权)人:重庆重邮信科通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1