汽车电子设备的软件更新方法和装置与流程

文档序号:18429214发布日期:2019-08-13 21:31阅读:473来源:国知局
汽车电子设备的软件更新方法和装置与流程

本发明涉及汽车技术领域,具体涉及一种汽车电子设备的软件更新方法和装置。



背景技术:

随着电子技术、微机技术和网络技术在汽车上的广泛应用,汽车已经成为与电脑某些功能类似的高科技设备。与电脑操作系统软件更新类似,汽车电子设备软件也需要通过更新来修补漏洞。

相关技术中,汽车电子设备的软件更新方式一般是通过无线网络将软件包下载到行车电脑或车载终端上,然后行车电脑或车载终端在将下载的软件文件通过CAN(Controller Area Network,控制器局域网络)总线写入到汽车电子设备中。

但是存在的问题是,不论是行车电脑还是车载终端都是运行在操作系统上的,都需要操作系统作为支持,才能进行设备的软件更新,软件更新条件高,而且带操作系统的车载终端和行车电脑成本较高。



技术实现要素:

本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种汽车电子设备的软件更新方法。该方法能够降低汽车电子设备软件的更新条件和成本。

本发明的第二个目的在于提出一种汽车电子设备的软件更新装置。

为达到上述目的,根据本发明第一方面实施例提出了一种汽车电子设备的软件更新方法,包括以下步骤:主控芯片获取更新数据,其中,所述更新数据包括下发数据包和应答数据包;所述主控芯片通过CAN总线将所述下发数据包下发至对应的汽车电子设备;所述主控芯片接收所述汽车电子设备发送的响应数据,其中,所述响应数据为所述汽车电子设备对接收的所述下发数据包做出相应响应而生成的数据;所述主控芯片将所述响应数据与所述应答数据包进行比对;以及如判断所述响应数据与所述应答数据包一致,则所述主控芯片判断烧写成功。

根据本发明实施例的汽车电子设备的软件更新方法,主控芯片可先获取更新数据,其中,更新数据包括下发数据包和应答数据包,之后,可通过CAN总线将下发数据包下发至对应的汽车电子设备,然后,可接收汽车电子设备发送的响应数据,其中,响应数据为汽车电子设备对接收的下发数据包做出相应响应而生成的数据,并将响应数据与应答数据包进行比对,如果判断响应数据与应答数据包一致,则可判断烧写成功,即通过普通的主控芯片即可实现汽车电子设备的软件更新,大大降低了软件更新成本,并且主控芯片无需依赖任何操作系统即可将更新数据烧写到汽车电子设备中,降低了软件更新条件。

为达到上述目的,根据本发明第二方面实施例提出了一种更新汽车电子设备软件低成本的装置,包括:获取模块、发送模块、接收模块、比对模块和判断模块。其中,获取模块,用于获取更新数据,所述更新数据包括下发数据包和应答数据包;发送模块,用于通过CAN总线将所述下发数据包下发至对应的汽车电子设备;接收模块,用于接收所述汽车电子设备发送的响应数据,其中,所述响应数据为所述汽车电子设备对接收的所述下发数据包做出相应响应而生成的数据;比对模块,用于将所述响应数据与所述应答数据包进行比对;判断模块,用于在判断所述响应数据与所述应答数据包一致时,判断烧写成功。

根据本发明实施例的汽车电子设备的软件更新装置,可通过获取模块获取更新数据,其中,更新数据包括下发数据包和应答数据包,发送模块通过CAN总线将下发数据包下发至对应的汽车电子设备,接收模块接收汽车电子设备发送的响应数据,其中,响应数据为汽车电子设备对接收的下发数据包做出相应响应而生成的数据,比对模块将响应数据与应答数据包进行比对,如果判断响应数据与应答数据包一致,则判断模块可判断烧写成功,即通过由上述模块集成的主控芯片即可实现汽车电子设备的软件更新,大大降低了软件更新成本,并且主控芯片无需依赖任何操作系统即可将更新数据烧写到汽车电子设备中,降低了软件更新条件。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明的一个实施例的汽车电子设备的软件更新方法的流程图;

图2是根据本发明的一个具体实施例的汽车电子设备的软件更新方法的流程图;

图3是根据本发明的一个实施例的汽车电子设备的软件更新装置的结构框图;

图4是根据本发明的另一个实施例的汽车电子设备的软件更新装置的结构框图;

图5是根据本发明的又一个实施例的汽车电子设备的软件更新装置的结构框图。

具体实施方式

下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的汽车电子设备的软件更新方法及装置。

图1是根据本发明一个实施例的汽车电子设备的软件更新方法的流程图。

如图1所示,该汽车电子设备的软件更新方法包括:

S101,主控芯片获取更新数据,其中,更新数据包括下发数据包和应答数据包。

其中,在本发明的实施例中,更新数据中的数据可为二进制文件。此外,可以理解,下发数据包和应答数据包可具有相应的顺序,也就是说,更新数据是由下发数据包与应答数据包按照更新流程组成的二进制文件。

可以理解,在本发明的一个实施例中,主控芯片可通过无线通信方式从服务器(或移动终端)上获取更新数据。举例而言,主控芯片可定期或在接收到用户的更新查询指令时向服务器(或移动终端)发送查询请求,该查询请求可包括汽车电子设备的标识和该汽车电子设备的软件的当前版本,服务器(或移动终端)可根据该请求将该电子设备软件的最新版本文件发送给主控芯片,从而该主控芯片可得到该电子设备软件的最新更新数据。其中,在本发明的实施例中,上述无线通信方式可为移动通信2G、3G、4G等,还可为WiFi(Wireless Fidelity,无线保真)、蓝牙等方式。

在本发明的另一个实施例中,主控芯片可通过汽车中的USB(Universal Serial Bus,通用串行总线)接口获取外部存储设备发送的更新数据。例如,以外部存储设备为移动终端为例,用户可将移动终端通过USB接口连接到汽车,使得主控芯片可得到移动终端中存储的更新数据。

S102,主控芯片通过CAN总线将下发数据包下发至对应的汽车电子设备。

进一步的,在本发明的实施例中,在主控芯片将下发数据包发送至汽车电子设备之后,该软件更新方法还可包括:主控芯片对汽车电子设备进行烧写。也就是说,主控芯片在将下发数据包发送到汽车电子设备之后,可控制汽车电子设备根据该下发数据包进行烧写,以使得该汽车电子设备根据下发数据包进行软件更新。

S103,主控芯片接收汽车电子设备发送的响应数据。

其中,响应数据为汽车电子设备对接收的下发数据包做出相应响应而生成的数据。

具体地,在主控芯片对汽车电子设备进行烧写的过程中,主控芯片可接收汽车电子设备通过CAN总线所发送的针对烧写操作的响应数据。

S104,主控芯片将响应数据与应答数据包进行比对。

S105,如果判断响应数据与应答数据包一致,则主控芯片判断烧写成功。

具体地,当主控芯片判断响应数据与应答数据包一致时,可认为下发的下发数据包已经正常的传输给汽车电子设备,此时主控芯片可认为此次烧写成功。

需要说明的是,在本发明的实施例中,如果判断响应数据与应答数据包不一致,则主控芯片可判断烧写失败,并向服务器反馈烧写失败信息。由此,可以使得服务器能够了解到汽车电子设备的软件更新情况。

还需要说明的是,在本发明的一个实施例中,如果在预设时间内未接收到汽车电子设备的响应数据,则主控芯片可判断烧写失败。例如,如果在限定的300ms内没有收到电子设备的响应数据,则主控芯片可认为数据传输出现问题,并结束本次烧写。

为了使得主控芯片能够随时对汽车电子设备进行软件更新,主控芯片可将获取到的更新数据进行存储。具体地,在本发明的一个实施例中,该软件更新方法还可包括:主控芯片将更新数据存储在主控芯片外挂的存储芯片中。其中,在本发明的实施例中,存储芯片可为Flash存储芯片(即闪存存储芯片)。

可以理解,在本发明的实施例中,通过采用主控芯片+Flash存储芯片的方式,可以有利于Flash存储芯片的扩展,并且在具有相同大小存储空间的情况下,主控芯片+Flash存储芯片的方式的总价格低于带有存储空间的主控芯片的价格,由此节省了成本。

根据本发明实施例的汽车电子设备的软件更新方法,主控芯片可先获取更新数据,其中,更新数据包括下发数据包和应答数据包,之后,可通过CAN总线将下发数据包下发至对应的汽车电子设备,然后,可接收汽车电子设备发送的响应数据,其中,响应数据为汽车电子设备对接收的下发数据包做出相应响应而生成的数据,并将响应数据与应答数据包进行比对,如果判断响应数据与应答数据包一致,则可判断烧写成功,即通过普通的主控芯片即可实现汽车电子设备的软件更新,大大降低了软件更新成本,并且主控芯片无需依赖任何操作系统即可将更新数据烧写到汽车电子设备中,降低了软件更新条件。

为了使得本领域的技术人员能够更加清楚地了解本发明,下面可结合图2进行详细描述。

如图2所示,首先,汽车电子设备的软件版本维护管理人员可预先将该汽车电子设备的软件更新包进行解析和转换,并将下发的数据和电子设备应该应答的数据按照次序转成二进制文件,以作为更新数据(S201),并将该更新数据上传到服务器(S202)。当主控芯片向服务器发送该汽车电子设备的软件更新请求时,主控芯片可下载该更新数据,并将下载的更新数据存储于外挂的Flash存储芯片中(S203)。之后,主控芯片可读取该更新数据(S204),并对其进行解析,并根据数据类型来判断解析出来的数据是下发给电子设备的数据还是电子设备应该应答的数据(S205),如果是下发的数据,则主控芯片通过CAN总线将该下发数据传输给电子设备(S206);如果是电子设备应该应答的数据,则主控芯片可接收通过CAN总线传输过来的电子设备应答的数据(即上述的响应数据)(S207),并将接收到的应答数据与更新数据中读到的应答数据进行比对并判断是否相同(S208),如果相同则表示上一个下发数据已经传输给电子设备,此时可返回步骤S204,即主控芯片继续读取并解析更新数据中的数据;如果接收到的应答数据与更新数据中读到的应答数据不相同,或者在限定的300ms内主控芯片没有接收到电子设备的应答数据,则主控芯片可认为数据传输出现问题,结束本次烧写,即更新失败(S209),此时,主控芯片可将更新失败结果上传给服务器(S212)。其中,主控芯片在读取更新数据的过程中,还需判断此次更新数据是否读取结束(S210),如果是,则可认为更新成功(S211),并将更新成功结果上传至服务器(S212);如果否,则可说明更新数据未读取完,则返回步骤S204,继续读取更新数据中的下一个数据。

为了实现上述实施例,本发明还提出了一个汽车电子设备的软件更新装置。

图3是根据本发明一个汽车电子设备的软件更新装置的结构框图。

如图3所示,该汽车电子设备的软件更新装置包括:获取模块10、发送模块20、接收模块30、比对模块40和判断模块50。

具体地,获取模块10可用于获取更新数据,其中,更新数据包括下发数据包和应答数据包。

其中,在本发明的实施例中,更新数据中的数据可为二进制文件。此外,可以理解,下发数据包和应答数据包可具有相应的顺序,也就是说,更新数据是由下发数据包与应答数据包按照更新流程组成的二进制文件。

可以理解,在本发明的一个实施例中,获取模块10可通过无线通信方式从服务器(或移动终端)上获取更新数据。举例而言,获取模块10可定期或在接收到用户的更新查询指令时向服务器(或移动终端)发送查询请求,该查询请求可包括汽车电子设备的标识和该汽车电子设备的软件的当前版本,服务器(或移动终端)可根据该请求将该电子设备软件的最新版本文件发送给获取模块10,从而该获取模块10可得到该电子设备软件的最新更新数据。其中,在本发明的实施例中,上述无线通信方式可为移动通信2G、3G、4G等,还可为WiFi、蓝牙等方式。

在本发明的另一个实施例中,获取模块10可通过汽车中的USB接口获取外部存储设备发送的更新数据。例如,以外部存储设备为移动终端为例,用户可将移动终端通过USB接口连接到汽车,使得获取模块10可得到移动终端中存储的更新数据。

发送模块20可用于通过CAN总线将下发数据包下发至对应的汽车电子设备。

进一步的,在本发明的一个实施例中,如图4所示,该汽车电子设备的软件更新装置还可包括烧写模块60,烧写模块60可用于在发送模块20将下发数据包发送至汽车电子设备之后,对汽车电子设备进行烧写。也就是说,在发送模块20将下发数据包发送到汽车电子设备之后,烧写模块60可控制汽车电子设备根据该下发数据包进行烧写,以使得该汽车电子设备根据下发数据包进行软件更新。

接收模块30可用于接收汽车电子设备发送的响应数据。其中,响应数据为汽车电子设备对接收的下发数据包做出相应响应而生成的数据。更具体地,在烧写模块60对汽车电子设备进行烧写的过程中,接收模块30可接收汽车电子设备通过CAN总线所发送的针对烧写操作的响应数据。

比对模块40可用于将响应数据与应答数据包进行比对。

判断模块50可用于在判断响应数据与应答数据包一致时,判断烧写成功。更具体地,当比对模块40判断响应数据与应答数据包一致时,判断模块50可认为发送模块20下发的下发数据包已经正常的传输给汽车电子设备,此时可认为此次烧写成功。

需要说明的是,在本发明的实施例中,判断模块50还可用于:在判断响应数据与应答数据包不一致,可判断烧写失败,并向服务器反馈烧写失败信息。由此,可以使得服务器能够了解到汽车电子设备的软件更新情况。

还需要说明的是,在本发明的一个实施例中,如果在预设时间内未接收到汽车电子设备的响应数据,则判断模块50可判断烧写失败。例如,如果在限定的300ms内没有收到电子设备的响应数据,则主控芯片可认为数据传输出现问题,并结束本次烧写。

根据本发明实施例的汽车电子设备的软件更新装置,可通过获取模块获取更新数据,其中,更新数据包括下发数据包和应答数据包,发送模块通过CAN总线将下发数据包下发至对应的汽车电子设备,接收模块接收汽车电子设备发送的响应数据,其中,响应数据为汽车电子设备对接收的下发数据包做出相应响应而生成的数据,比对模块将响应数据与应答数据包进行比对,如果判断响应数据与应答数据包一致,则判断模块可判断烧写成功,即通过由上述模块集成的主控芯片即可实现汽车电子设备的软件更新,大大降低了软件更新成本,并且主控芯片无需依赖任何操作系统即可将更新数据烧写到汽车电子设备中,降低了软件更新条件。

为了使得主控芯片能够随时对汽车电子设备进行软件更新,主控芯片可将获取到的更新数据进行存储。具体地,在本发明的一个实施例中,如图5所示,该汽车电子设备的软件更新装置还可包括存储模块70。存储模块70可用于将更新数据存储在主控芯片外挂的存储芯片中。其中,在本发明的实施例中,存储芯片可为Flash存储芯片(即闪存存储芯片)。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和 变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1