技术领域
[0001] 本实用新型涉及固件升级技术领域,尤其涉及一种固件升级系统。
相关背景技术
[0002] 随着电子信息技术的发展,电子产品及电子化设备在我们生活中发挥出越来越大的作用。而随着产品迭代的速度加快,大量的电子产品及设备都有了固件升级的需求。而电子产品及设备的使用工况复杂,比如车载控制器安装在汽车里,空调控制器安装在空调外机及内机内。
[0003] 对这些复杂工况的电子化设备进行固件升级时,如果使用芯片厂家提供的烧写器,需要拆开电路板,这个过程操作复杂且工作量大。实用新型内容
[0004] 本实用新型提供了一种固件升级系统,以解决使用芯片厂家提供的烧写器时需要拆开电路板而存在的操作复杂且工作量大的问题。
[0005] 本实用新型提供了一种固件升级系统,包括上位机、域控制单元、多个子设备、CAN总线和RS485总线,
[0006] 所述上位机与所述域控制单元连接,所述上位机存储有用于固件升级的烧录文件;
[0007] 所述域控制单元设置有CAN通讯接口和RS485通讯接口,所述CAN总线从所述CAN通讯接口引出,所述RS485总线从所述RS485通讯接口引出;
[0008] 所述子设备分别连接到CAN总线或RS485总线。
[0009] 可选的,所述域控制单元、所述子设备中包括微控制器,所述微控制器的存储器分为引导程序区域、参数区域以及app区域。
[0010] 可选的,所述上位机和所述域控制单元均设置有RS232通讯接口,所述上位机和所述域控制单元上的RS232通讯接口互相连接。
[0011] 可选的,所述域控制单元设置有RS232通讯接口,所述上位机设置有目标通讯接口和接口转换器,所述目标通讯接口与所述RS232通讯接口通过所述接口转换器进行数据双向转换。
[0012] 可选的,所述CAN总线上的CAN通讯节点的数量上限为128个。
[0013] 可选的,所述RS485总线上的RS485通讯节点的数量上限为256个。
[0014] 可选的,所述上位机包括人机交互界面。
[0015] 可选的,所述烧录文件包括多帧子升级文件,所述上位机每次发出一帧所述子升级文件。
[0016] 可选的,所述子升级文件的内容大小为1024Byte。
[0017] 可选的,所述子设备为机器人系统的执行机构或信号采集装置。
[0018] 本实用新型实施例一种固件升级系统,包括上位机、域控制单元、多个子设备、CAN总线和RS485总线,上位机与域控制单元连接,上位机存储有用于固件升级的烧录文件,域控制单元设置有CAN通讯接口和RS485通讯接口,CAN总线从CAN通讯接口引出,RS485总线从RS485通讯接口引出,子设备分别连接到CAN总线或RS485总线,则不仅域控制单元可以与上位机连接,每个子设备还可以通过CAN总线或RS485总线以及域控制单元与上位机连接,即子设备可以与上位机之间可以通信,则上位机可以将烧录文件发送到各个子设备或域控制单元中进行固件升级,不需要拆开电路板,固件升级过程操作简单,大大减少了工作量,也提升了固件升级的效率。
[0019] 应当理解,本部分所描述的内容并非旨在标识本实用新型的实施例的关键或重要特征,也不用于限制本实用新型的范围。本实用新型的其它特征将通过以下的说明书而变得容易理解。
具体实施方式
[0023] 为了使本技术领域的人员更好地理解本实用新型方案,下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分的实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本实用新型保护的范围。
[0024] 图1为本实施例提供的一种固件升级系统的结构示意图,包括上位机1、域控制单元2、多个子设备3、CAN总线4和RS485总线5。
[0025] 上位机1与域控制单元2连接,上位机1存储有用于固件升级的烧录文件,域控制单元2设置有CAN通讯接口和RS485通讯接口,CAN总线4从CAN通讯接口引出,RS485总线5从RS485通讯接口引出,子设备3分别连接到CAN总线4或RS485总线5。
[0026] 上位机1与域控制单元2连接,即设置了上位机1到域控制单元2的通信通道。子设备3分别连接到CAN总线4或RS485总线5,则每个子设备3可以与域控制单元2进行通信,而域控制单元2可以与上位机1通信,域控制单元2可以作为子设备3与上位机1之间的信息交换机,相当于建立了子设备3与上位机1的通信通道。当固件升级的烧录对象是域控制单元2时,上位机1与域控制单元2互相通信,当固件升级的烧录对象是子设备3时,上位机1与子设备3通过域控制单元2进行通信,此时域控制单元2用于对通信数据进行协议转换。
[0027] 其中,上位机1运行在操作系统中,例如linux、windows、macos、andriod或ios操作系统。子设备3可以包括电源控制单元、电机控制单元等。在上位机1、域控制单元2和子设备3处于“域”模式下,本实施例中域控制单元2即可以负责上位机1和子设备2之间的验证工作,域控制单元2中包含了属于这个域的账号、密码等信息构成的数据库。
[0028] 需要说明的是,各个子设备3一般是不同的,不同的子设备3因节点功能不同,因而对应的固件也不同,一般不可同时进行升级,需要单独针对一个子设备3进行升级。
[0029] 具体地,烧录文件可以是从其他系统传输到上位机1中的,也可以是从网上数据系统下载得到的,本实用新型对烧录文件的获取方式不加以限定。
[0030] 本实用新型实施例一种固件升级系统,包括上位机、域控制单元、多个子设备、CAN总线和RS485总线,上位机与域控制单元连接,上位机存储有用于固件升级的烧录文件,域控制单元设置有CAN通讯接口和RS485通讯接口,CAN总线从CAN通讯接口引出,RS485总线从RS485通讯接口引出,子设备分别连接到CAN总线或RS485总线,则不仅域控制单元可以与上位机连接,每个子设备还可以通过CAN总线或RS485总线以及域控制单元与上位机连接,即子设备可以与上位机之间可以通信,则上位机可以将烧录文件发送到各个子设备或域控制单元中进行固件升级,不需要拆开电路板,固件升级过程操作简单,大大减少了工作量,也提升了固件升级的效率。
[0031] 在一个可选实施例中,所述域控制单元2、所述子设备3中包括微控制器。所述微控制器是一种单片机,也是内部集成了微处理器、存储器、I/O口和定时器等功能模块的芯片,因此,微处理器具有控制、数据处理、通信、定时等功能。
[0032] 单片机flash是指单片机中的一种非易失性存储器。它可以用来存储程序代码、数据和配置信息等,以便单片机在掉电后仍能保持这些信息。微控制器(单片机)将Flash区分为应用程序区和数据存储区,应用程序区是用来存储单片机的主程序,也就是程序的代码。这个区域是只读的,程序只能从这个区域中读取指令,不能修改。当需要更新程序时,可以将新的程序代码写入另一个可以修改的区域,然后通过特定的方式将新程序代码复制到应用程序区中,从而更新程序。数据存储区是用来存储单片机的数据,例如变量、配置参数等等。这个区域可以读取和修改,可以在程序运行时随时读取和修改其中存储的数据。
[0033] 所述微控制器的存储器(flash)分为引导程序区域(Bootloader区域)、参数区域以及app区域,图2是本实用新型实施例提供的一种微控制器的存储器的结构示意图,其在flash中的分布图如图2所示,其中,引导程序区域21用来存放bootloader(升级引导程序),又称为boot,boot的作用为引导app程序启动以及实现app固件的升级。参数区域22用来存放app固件的硬件版本、软件版本、固件大小以及app固件的校验信息,参数区域22为app程序启动提供校验信息以及为升级提供软硬件版本信息。app区域23用来存放app固件,该区域是app程序能正常运行的关键。
[0034] 在一个可选实施例中,所述上位机1和所述域控制单元2均设置有RS232通讯接口,所述上位机1和所述域控制单元2上的RS232通讯接口互相连接。
[0035] 在一个可选实施例中,所述域控制单元2设置有RS232通讯接口,所述上位机1设置有目标通讯接口和接口转换器,所述目标通讯接口与所述RS232通讯接口通过所述接口转换器进行数据双向转换。
[0036] 接口转换器也称协议转换器,接口转换器也就是网桥,它能使处于通信网上采用不同物理层协议的主机仍然互相合作,完成各种分布式应用,当域控制单元2的通讯接口与上位机1的通讯接口不一致时,则上位机1可以通过接口转换器转为RS232通讯接口,以与域控制单元2通信。示例性地,目标通讯接口可以为USB通讯接口。
[0037] 在一个可选实施例中,所述CAN总线4上的CAN通讯节点的数量上限为128个。需要说明的是,在图1中,每个子设备3与CAN总线4的交接点即为CAN通讯节点,CAN通讯节点的数量大于或等于与之连接的子设备3的数量,则与CAN通讯节点连接的子设备3的数量上限为128个,图1中仅以3个与CAN通讯节点连接的子设备3作为示例。
[0038] 在一个可选实施例中,所述RS485总线5上的RS485通讯节点的数量上限为256个。需要说明的是,在图1中,每个子设备3与RS485总线5的交接点即为RS485通讯节点,RS485通讯节点的数量大于或等于与之连接的子设备3的数量,则与RS485通讯节点连接的子设备3的数量上限为256个。图1中仅以3个与RS485通讯节点的子设备3作为示例。
[0039] 在一个可选实施例中,所述上位机1包括人机交互界面,即上位机1具有图形交互功能,人机交互界面中可以显示当前的固件升级情况,例如,可以显示各个子设备3的固件升级情况,已升级子设备3的图标显示为绿色,正在进行固件升级的子设备3的图标显示为黄色,未升级的子设备3的图标显示为红色。
[0040] 在一个可选实施例中,所述烧录文件包括多帧子升级文件,所述上位机1每次发出一帧所述子升级文件。
[0041] 在一个可选实施例中,所述子升级文件的内容大小为1024Byte。
[0042] 在一个可选实施例中,所述子设备3为机器人系统的执行机构或信号采集装置。示例性地,比如在一种服务机器人系统中,包括导航工控机(对应上位机)、域控制单元和多个节点A‑F,上位机为导航工控机,节点A为电源控制板,节点B为遥控板,节点C为雨量传感器检测板,节点D为光照传感器检测板,节点E为电流检测板,节点F为电机控制板。则导航工控机可以对域控制单元、节点A‑F进行固件升级。
[0043] 为了清楚地说明本实用新型的固件升级系统能够在不拆开部件的情况下完成固件升级,现结合以下示例对固件升级的过程进行说明。
[0044] 示例一
[0045] 固件升级的对象为域控制单元,固件升级过程具体如下:
[0046] S101、上位机选择烧录对象为域控制单元,并导入烧录文件;
[0047] S102、上位机对烧录文件及烧录对象进行匹配;
[0048] S103、匹配成功后,上位机发送获取设备信息指令,域控制单元收到信息后,返回软硬件版本等设备信息;
[0049] S104、上位机软硬件版本匹配成功后,发送设置域控制单元进入boot模式指令,域控制单元收到指令后,向上位机返回设置成功,并跳转至引导程序区域中运行;
[0050] S105、上位机接收到设置成功指令后,发送查询域控制单元工作模式指令,域控制单元返回工作模式为boot模式;
[0051] S106、上位机发送第一帧升级数据内容,内容大小为1024Byte,域控制单元接收到之后,擦除片内flash中app区域及参数区域的内容,然后检查擦除区域擦除成功,将数据内容写入对应app区域,成功后给上位机返回发送成功应答;
[0052] S107、上位机收到发送成功指令后,发送第二帧数据内容,内容大小为1024Byte,域控制单元接收到之后,将第二帧数据写入指定flash区域内;
[0053] S108、上位机继续发送升级内容,直至将所有升级内容发送完成;
[0054] S109、上位机发送固件校验信息,域控制单元接收到校验信息后,与烧录的信息进行核对,核对通过后,将校验信息写入信息区,并给上位机反馈校验成功,否则反馈校验失败;
[0055] S110、上位机收到校验成功指令后,发送设置域控制单元工作模式为app模式,域控制单元收到指令后,返回设置成功,并跳转至app程序中运行;
[0056] S111、上位机收到设置app模式成功后,发送查询域控制单元工作模式指令,域控制单元返回工作模式为app模式,则为升级成功,升级过程结束;否则升级失败。
[0057] 示例二
[0058] 固件升级的对象为子设备中的节点A,固件升级过程具体如下:
[0059] S201、上位机选择烧录对象为子设备,并导入烧录文件;
[0060] S202、上位机对烧录文件及烧录对象进行匹配;
[0061] S203、匹配成功后,上位机发送获取设备信息指令,域控制单元收到信息后,通过CAN接口将数据转发至节点A。(后续步骤中的上位机与节点A的交互均通过域控制单元进行转发,不再对此过程进行重复描述),节点A收到信息后,返回软硬件版本等设备信息;
[0062] S204、上位机软硬件版本匹配成功后,发送设置节点A进入boot模式指令,节点A收到指令后,向上位机返回设置成功,并跳转至bootloader中运行;
[0063] S205、上位机接收到设置成功指令后,发送查询节点A工作模式指令,域控制单元接收到指令后,进入静默模式,屏蔽除升级包以外的所有通讯数据包,节点A返回工作模式为boot模式;
[0064] S206、上位机发送第一帧升级数据内容,内容大小为1024Byte,节点A接收到之后,擦除片内flash中app区域及参数区域的内容,然后检查擦除区域擦除成功,将数据内容写入对应flash区域,成功后给上位机返回发送成功应答;
[0065] S207、上位机收到发送成功指令后,发送第二帧数据内容,内容大小为1024Byte,节点接收到之后,将第二帧数据写入对应flash区域内;
[0066] S208、上位机继续发送升级内容,直至将所有升级内容发送完成;
[0067] S209、上位机发送固件校验信息,节点A接收到校验信息后,与烧录的信息进行核对,核对通过后,将校验信息写入信息区,并给上位机反馈校验成功,否则反馈校验失败;
[0068] S210、上位机收到校验成功指令后,发送设置节点A工作模式为app模式,此时,域控制单元退出静默模式,恢复正常通讯,节点A收到指令后,返回设置成功,并跳转至app程序中运行;
[0069] S211、上位机收到设置app模式成功后,发送查询节点A工作模式指令,域控制单元返回工作模式为app模式,则为升级成功,升级过程结束;否则升级失败。
[0070] 这里需要说明的是,域控制单元升级时,域控制单元运行在boot模式,boot模式中,域控制单元无业务相关的数据包,因此无需进入静默模式;节点升级时,域控制单元运行在app模式,此时CAN或者RS485总线上有很多业务数据,一方面影响升级效率,另一方面还可能造成数据干扰,所以此时域控制单元进入静默模式,可以使整个升级过程更可靠。
[0071] 通过上述两个示例可知,基于本实用新型的固件升级系统,可以通过上位机、域控制单元、子设备之间互相通信来实现固件自动化升级,无需拆开部件,固件升级过程操作简单,大大减少了工作量,也提升了固件升级的效率。
[0072] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本实用新型中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本实用新型的技术方案所期望的结果,本文在此不进行限制。
[0073] 上述具体实施方式,并不构成对本实用新型保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本实用新型的精神和原则之内所作的修改、等同替换和改进等,均应包含在本实用新型保护范围之内。