《一种USB设备的软件系统升级方法.pdf》由会员分享,可在线阅读,更多相关《一种USB设备的软件系统升级方法.pdf(12页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN101989205A43申请公布日20110323CN101989205ACN101989205A21申请号200910101065422申请日20090803G06F9/445200601G06F13/3820060171申请人杭州国芯科技股份有限公司地址310012浙江省杭州市文三路90号东部软件园创新大厦A座56层72发明人陈科锋刘建华陆斌54发明名称一种USB设备的软件系统升级方法57摘要本发明提出了一种USB设备的软件系统升级方法,支持与PC机互联进行软件系统升级,支持直接从非易失性存储设备读取升级文件进行升级,特别是支持两台设备间自动进行软件系统升级。步骤包括初始。
2、化USB控制器后进入USB升级;USB设备枚举和控制器角色配置;根据USB设备枚举和控制器角色配置的结果选择进入以下流程之一USB文件升级方式、设备模式下的被动升级模式、OTG主机模式下的主动升级。本发明适用于对市场上电子设备的快速、大规模升级,特别是在产品进入流通领域后,用户之间可通过相互连接所购买的不同软件版本的电子产品,自动进行设备软件系统的升级,节省了对旧软件版本的设备进行升级所带来的人力和物力开支。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书5页附图5页CN101989205A1/1页21一种USB设备的软件系统升级方法,支持与PC机互联进行软件。
3、系统升级,支持直接从非易失性存储设备读取升级文件进行升级,其特征在于支持两台设备间自动进行软件系统升级。2如权利要求1所述的一种USB设备的软件系统升级方法,其特征在于步骤包括初始化USB控制器后进入USB升级;USB设备枚举和控制器角色配置;根据USB设备枚举和控制器角色配置的结果选择进入以下流程之一USB文件升级方式、设备模式下的被动升级模式、OTG主机模式下的主动升级。3如权利要求2所述的一种USB设备的软件系统升级方法,进一步包括以下步骤S1初始化USB双角色控制器,对USB端口进行超时检测;S2检测到USB端口有设备或主机连接后,进入USB枚举阶段,然后进行控制角色配置如果连接的是一。
4、般的主机端口,则进入S3设备模式下的被动升级模式;如果连接的是相同的OTG设备,则进入S4OTG主机模式下的主动升级;如果连接的是USB存储类设备,则进入S5USB文件升级方式;S3进入USB设备模式升级阶段主机判断从设备读取的系统版本号是否可以升级,如果可以升级,则向设备传输升级代码;S4进入OTG角色协商和配置阶段,默认主机A主机方先从设备B设备读取系统软件版本号,判断软件版本是否比对方高,如果版本高于对方则对其进行系统升级S3;如果低于对方,则进行OTG角色转换,默认主机A主机方变为设备A设备,对方B设备变成B主机,B设备重新对设备进行枚举,进入S2阶段;S5进入USB文件升级方式,先对。
5、USB存储设备进行SCSI初始化,分析磁盘结构,访问支持的文件系统,并从中查找是否存在升级文件,如果存在该文件,读取文件版本号,并依次判断是否需要升级,如果版本高于系统内的版本则读取该文件,升级系统。4如权利要求1所述的一种USB设备的软件系统升级方法中,所述的USB设备指具有USBOTG功能的各种电子设备,其结构包括USB双角色控制器、OTG协商和版本识别程序、以及PC机升级驱动和软件,其特征在于所述USB双角色控制器用于符合USBOTG标准规范,并具备可切换的主机和设备模式;所述OTG协商和版本识别程,是将系统版本比较与USBOTG协商算法结合的程序,即判别系统版本,依照升级角色需要进行O。
6、TG协商的程序;所属PC机升级驱动和软件,是指在利用PC主机对符合本发明所描述升级协议的设备进行识别、升级的程序;所述的USB设备之间通过USB端口进行相互连接。权利要求书CN101989205A1/5页3一种USB设备的软件系统升级方法技术领域0001本方法属于软件领域,特别涉及一种USB设备的软件系统升级方法。背景技术0002随着电子设备功能的增加和技术的丰富,越来越多的电子设备面临着软件系统升级的问题。0003目前常见的电子设备的软件升级方式主要有三种0004一种通过网络连接对固件进行升级。不适用于不具备网络接口的MP3、MP4、PMP播放设备,原因在于这些设备不具备较高的网络硬件配置。。
7、0005另一种通过常见的PC数据端口对设备进行升级,即非网络的升级方式。如通过串口、并口、USB端口、IEEE1394端口等外设接口对设备下载升级固件。但是这种方式需要有升级主机的存在,并安装升级软件才能对设备实施升级。0006第三种方式是将带升级软件的载体插入设备,所述带升级软件的载体可以是光盘、U盘、带升级软件的USB存储设备、SD、MMC、TF卡等,对比文件1中国发明专利申请号2007101248983公布了一种使用USB存储设备实现版本升级和备份的方法将升级数据文件拷贝到USB存储设备,通过升级设备的USB主机功能读取存储设备中的升级文件,更新自身的固件。这种升级方式需要用额外的专用U。
8、SB存储设备来中转主机上的升级程序,产品进入市场后普通消费者难以得到此类升级软件。0007USB是一种在消费类电子设备中应用普遍的技术,其接口具有小巧便利并易于拓扑连接的特点,目前多数消费类电子产品均具有USB接口,可通过USB接口和电脑进行数据传输。0008USBOTGONTHEGO技术是用于增强USB设备互联性的技术,目前具有USBOTG功能的嵌入式消费类电子产品及其技术,仅能实现设备之间的文件交互,无法实现两个USB设备连接后,自动相互进行软件系统升级。例如两个MP3、MP4、PMP、手机之间通过USBOTG进行歌曲、图片、视频或其它文件的互相拷贝,无法实现两个MP3、MP4、PMP、手。
9、机通过USB接口相互连接后,自动将系统软件版本较低的个体升级为系统软件版本较高的个体。发明内容0009针对现有技术的不足,本发明目的在于提出一种USB设备的软件系统升级方法,适用于对市场上电子设备的快速、大规模升级。0010一种USB设备的软件系统升级方法,支持与PC机互联进行软件系统升级,支持直接从非易失性存储设备读取升级文件进行升级,特别是支持两台设备间自动进行软件系统升级。0011一种USB设备的软件系统升级方法,包括初始化USB控制器后进入USB升级;USB设备枚举和控制器角色配置;根据USB设备枚举和控制器角色配置的结果选择进入以下流程之一USB文件升级方式、设备模式下的被动升级模式。
10、、OTG主机模式下的主动升级。说明书CN101989205A2/5页40012所述USB设备的软件系统升级方法,进一步包括以下步骤0013S1初始化USB双角色控制器,对USB端口进行超时检测;0014S2检测到USB端口有设备或主机连接后,进入USB枚举阶段,然后进行控制角色配置如果连接的是一般的主机端口,则进入S3设备模式下的被动升级模式;如果连接的是相同的OTG设备,则进入S4OTG主机模式下的主动升级;如果连接的是USB存储类设备,则进入S5USB文件升级方式;0015S3进入USB设备模式升级阶段主机判断从设备读取的系统版本号是否可以升级,如果可以升级,则向设备传输升级代码;0016。
11、S4进入OTG角色协商和配置阶段,默认主机A主机方先从设备B设备读取系统软件版本号,判断软件版本是否比对方高,如果版本高于对方则对其进行系统升级S3;如果低于对方,则进行OTG角色转换,默认主机A主机方变为设备A设备,对方B设备变成B主机,B设备重新对设备进行枚举,进入S2阶段;0017S5进入USB文件升级方式,先对USB存储设备进行SCSI初始化,分析磁盘结构,访问支持的文件系统,并从中查找是否存在升级文件,如果存在该文件,读取文件版本号,并依次判断是否需要升级,如果版本高于系统内的版本则读取该文件,升级系统。0018本发明所述的USB设备指具有USBOTG功能的各种电子设备,其结构包括U。
12、SB双角色控制器、OTG协商和版本识别程序、以及PC机升级驱动和软件,其特征在于所述USB双角色控制器用于符合USBOTG标准规范,并具备可切换的主机和设备模式;所述OTG协商和版本识别程,是将系统版本比较与USBOTG协商算法结合的程序,即判别系统版本,依照升级角色需要进行OTG协商的程序;所属PC机升级驱动和软件,是指在利用PC主机对符合本发明所描述升级协议的设备进行识别、升级的程序;所述的USB设备之间通过USB端口进行相互连接。0019本发明在支持上述两种USB通用软件系统升级方式上,实现了设备间的机对机升级方式,可以减少设备端口配置,降低成本,弥补了原有技术的不足,适用于对市场上电子。
13、设备的快速、大规模升级,特别是在产品进入流通领域后,普通用户之间可通过相互连接所购买的不同软件版本的MP3/MP4/PMP/手机等产品,自动进行设备软件系统的升级,厂商无需专门下载升级软件、推广新的软件版本,节省了对旧的软件版本的设备进行升级所带来的人力和物力开支。附图说明0020图1USB设备的升级程序总体流程图。0021图2USB设备的升级程序具体流程图。0022图3OTG协商和版本识别程序。0023图4处于设备模式下的升级程序流程图。0024图5设备处于主机模式下的升级程序流程图。0025图6通过U盘文件进行升级的流程图。具体实施方式0026以下结合具体实施例,对本发明的一种USB设备的。
14、软件系统升级方法做进一步解说明书CN101989205A3/5页5释。0027本发明所述的USB设备,指具有USBOTG功能的各种电子设备,包括但不限于具有USB接口和USBOTG控制器的数码音乐/视频播放装置如MP3/MP4/PMP/移动电视等、移动通信装置如手机、PDA等、数码相机/摄像机、非易失性存储装置如U盘等、以及扫描仪、传真机、打印机等。0028本发明首先初始化USB控制器后进入USB升级;USB设备枚举和控制器角色配置;根据USB设备枚举和控制器角色配置的结果选择进入以下流程之一USB文件升级方式、设备模式下的被动升级模式、OTG主机模式下的主动升级。0029图1是本发明具体实施。
15、的总框图,包括以下步骤0030S1初始化USB双角色控制器,对USB端口进行超时检测;0031S2检测到USB端口有设备或主机连接后,进入USB枚举阶段,然后进行控制角色配置如果连接的是一般的主机端口,则进入S3设备模式下的被动升级模式;如果连接的是相同的OTG设备,则进入S4OTG主机模式下的主动升级;如果连接的是USB存储类设备,则进入S5USB文件升级方式;0032S3进入USB设备模式升级阶段主机判断从设备读取的系统版本号是否可以升级,如果可以升级,则向设备传输升级代码;0033S4进入OTG角色协商和配置阶段,默认主机A主机方先从设备B设备读取系统版本号,判断版本是否比对方高,如果版。
16、本高于对方则对其进行系统升级S3;如果低于对方,则进行OTG角色转换,默认主机A主机方变为设备A设备,对方B设备变成B主机,B设备重新对设备进行枚举,进入S2阶段;0034S5进入USB文件升级方式,先对USB存储设备进行SCSI初始化,分析磁盘结构,访问支持的文件系统,并从中查找是否存在升级文件,如果存在该文件,读取文件版本号,并依次判断是否需要升级,如果版本高于当前系统的版本,则读取该文件,并升级系统。0035图2是本发明的具体流程图。设备启动执行初始化USB硬件101,并开启对USB总线状态的检测,也就是对USBOTG的状态判断102,如果OTGID是0,则进入A主机模式103;如果ID。
17、为1,则进入B设备模式。如果设备处于A主机模式,此时USB双角色控制作为USB主机可以向设备进行枚举操作,通过从设备读取的相关描述符,判断设备是否具备本发明所描述的几种升级功能104,如果不能支持,则断开USB设备114,结束USB升级程序,并返回升级失败;如果设备支持升级功能,则判断设备的类别105,如果该设备属于OTG升级方式的设备,则进入OTG角色协商程序107,进行USB主设之间的角色协商;如果该设备属于USB存储类设备,则进入USB文件升级模式109;如果该设备既不属于OTG升级方式设备,也不属于USB存储类设备,那么说明它不支持本发明所涉及的升级方式,断开该设备114,结束USB升。
18、级,并返回升级失败。在判断OTGID102后,如果设备处于B设备模式,此时对方主机在枚举本设备后,支持OTG升级模式106,则进入OTG角色协商程序107;如果对方是普通主机,不支持OTG升级模式,则本设备将进入设备模式下的升级模式110。在OTG角色协商107后,程序将会判断USB控制器是否处于主机模式108,如果是主机模式,则进入OTG主机升级模式114来执行升级操作;如果不是主机模式112,如果是A设备,则需要切换USB控制器的角色111,接着进入设备模式下的升级方式110,如果不是A设备,则直接进入设备模式下的升级方式110。完成在设备模式下的升级110后,或者完成在OTG主机升级模式。
19、说明书CN101989205A4/5页6113,或者完成USB文件升级模式109后,则会断开设备114,结束USB升级程序,并根据升级结果返回错误值。0036图3OTG角色协商程序是将USB双角色控制器的OTG的功能和升级版本识别程序的结合。如图所示,左右两侧分别是两种OTG模式下的情况。在进入OTG角色协商程序201后,A主机端读取B设备系统版本号202,与设备本身的软件系统版本号进行比较203,如果对方系统版本比本地系统版本新,则进入主机模式下的升级模式205,如果比对方的版本旧,则进入与B设备进行OTG角色转换过程在主机端,配置OTG相关寄存器,使能USBSRP和HNP请求206,这个操。
20、作会导致USB总线挂起,交出USB总线控制权,当B设备检测到总线挂起210之后,配置OTG寄存器,向主机发出SRP请求211;当主机检测到SRP请求之后,接着等待设备HNP请求208,此时设备发出HNP212,主机进入A设备模式209,设备进入B主机模式213。此时A/B设备间的角色转换完成,A设备进入设备模式下的升级,B设备则进入OTG主机模式下的升级。0037图4如果设备与PC主机连接,设备则会直接进入设备模式下的升级程序;如果连接的是同样支持升级功能的OTG设备,通过一定的协商,可以处于设备模式进行升级。设备模式下的升级方式是一种被动升级的状态。进入设备模式下的升级方式301之后,主机就。
21、会对设备进行枚举302,之后请求设备的系统版本信息,接着配置设备的升级参数303,如需要下载的升级程序的大小、在设备内存SDRAM中的基地址等信息。设备将会对这些参数进行判断是否正确304,如果参数不正确,则会设置USB通信端点挂起STALL309,返回参数出错311。如果判断主机配置的参数正确,则进入数据传输阶段,开始接收主机的升级数据305,传输结束后,判断传输过程中是否出错306,如果传输出错,则设置端点挂起309,返回传输出错311;如果传输没有出错,则开始对数据进行校验307,判断检验是否通过308,如果校验通过,则说明本次升级成功,返回升级参数310;如果校验不通过,则设置端点ST。
22、ALL309,返回校验错误311。0038图5主机模式下的OTG设备可能是A设备或者B设备。进入主机模式下的升级401后,主机开始对设备进行枚举402,获取设备的系统版本信息,确认一下版本信息如果是普通主机如PC则需要判别一下是否可以对该版本的设备进行升级,如果不可以则需要放弃升级。随后配置设备的升级参数403,判断参数是否设置成功404,如果发现设备通信端点已经挂起STALL,则说明设备不接受这些配置的参数,返回参数配置有误的错误408;如果配置成功,则开始从本地ROM中读取升级程序下载到设备中405,在下载过程中查询端点是否STALL406,如遇到端点STALL,说明下载失败,返回数据传输。
23、不成功的错误409。下载完成后,开始查询设备对下载数据的校验结果407,如果不通过则返回程序校验不通过错误410;如果校验通过,则说明下载成功411。0039图6如果连接的是一个USB存储类设备,如U盘、移动硬盘等,则会进入USB文件升级方式501。由于之前已经对设备进行枚举过,此时开始初始化SCSI设备502注USB大容量存储类属于SCSI协议规范,即需要调用SCSI主机接口。SCSI初始化完毕之后,开始识别磁盘上的分区503,判断是否是可以支持的分区504,如果不支持,则返回分区不支持错误508;如果支持该分区,则开始查找升级文件505,如果没有找到该文件,则返回查找文件失败错误509;如。
24、果找到该文件,则读取文件版本信息,判断版本信息是否可以支持升级506,如果不支持则返回版本不支持错误510;如果支持升级,则开始读取该升级文件507,说明书CN101989205A5/5页7如果在读取过程未出现错误,则说明升级完成510,返回升级信息;如果出现错误则返回文件读取错误。0040应当指出,以上所述仅为本发明的一个实施例,并非本发明的限制范围,对于本领域的普通技术人员来说,凡是本发明的精神和原则之内所做的任何修改、等同替换或改进,均应包含在本发明的保护范围之内。说明书CN101989205A1/5页8图1说明书附图CN101989205A2/5页9图2说明书附图CN101989205A3/5页10图3图4说明书附图CN101989205A4/5页11图5说明书附图CN101989205A5/5页12图6说明书附图。