CN112286566B - 一种基于usb传输的汽车仪表差分升级方法 - Google Patents
一种基于usb传输的汽车仪表差分升级方法 Download PDFInfo
- Publication number
- CN112286566B CN112286566B CN202011599535.7A CN202011599535A CN112286566B CN 112286566 B CN112286566 B CN 112286566B CN 202011599535 A CN202011599535 A CN 202011599535A CN 112286566 B CN112286566 B CN 112286566B
- Authority
- CN
- China
- Prior art keywords
- data
- usb
- upper computer
- spi
- check
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于USB传输的汽车仪表差分升级方法,本发明涉及汽车仪表电子技术领域,本发明通过上位机连接到设备的USB接口,在MCU段通过读取SPI特殊功能口的数据进行数据的收集和传输,在通过MCU中的FBL程序驱动Norflash,并将数据刷入Norflash中,并且在不同Norflash分区增加数据完整性校验区域,通过上位机连接USB接口进行升级,USB通讯速率为10Mbit/s,速度可提升5倍以上,并且在通讯中断时,可选择刷写失败的区域,继续刷写,不需要重新开始,大大降低了刷写失败后的等待时间,同时对HMI更新的部分做完整性校验,减少整体校验时间。
Description
技术领域
本发明涉及汽车仪表电子技术领域,特别涉及一种基于USB传输的汽车仪表差分升级方法。
背景技术
随着汽车仪表的快速迭代,仪表的显示效果越来越多,图片元素,主题资源也随之增长。然而市面上大多数的汽车仪表,尤其是12寸以下的仪表还是使用传统的CAN升级,升级速度慢,升级过程中一旦通讯失去,又需要等待几个小时的升级过程。为了打破这种局面,顺应厂家和用户的需求,现在急需一种可以实现快速升级的方法,当前市场中,12寸以下汽车仪表(7寸,8寸或10寸)仪表,均采用Norflash做HMI显示资源的存储,资源更新均通过CAN的方式,CAN通讯速率为500kbits/s,当前刷写HMI显示资源,均为整体更新,整体更新时间较长,为1h以上,对HMI所有内容做完整性校验,整体校验的时间约为1min,开发前期客户需要频繁更新HMI显示资源进行调试,刷写时间长,研发效率降低。
目前的解决方案存在以下劣势:一是只能通过OBD接口进行升级,且CAN通讯传输速率是在500kbit/s,速度慢,二是一旦通讯失去,则需要重新开始刷写,需要再次等待1-2小时,三是无法通过中控对仪表进行升级。
发明内容
为了解决上述技术问题,本发明提供了一种基于USB传输的汽车仪表差分升级方法,所述方法包括以下步骤:
步骤1),在MCU端增加一个USB转SPI的芯片,并在PCBA板上增加一个USB接口;
步骤2),通过上位机连接到设备的USB接口,USB转SPI芯片将数据流转换为SPI格式,在上位机中载入刷写的hex文件格式Norflash数据,由上位机对hex文件进行解析;
步骤3),MCU端通过读取SPI特殊功能口的数据,进行数据的传输和收集,再经过FBI程序驱动Norflash,并将图片资源数据分块刷入至Norflash中;
步骤4),将Norflash中的图片资源进行分区管理,针对不同功能模块对图片资源进行划分,并且在不同Norflash分区增加数据完整性校验区域。
作为本发明的一种改进,所述步骤2)中在上位机中导入USB转SPI芯片动态链接库(DLL)文件,上位机调用DLL库中的驱动接口,外发数据流,且上位机集成与下位机相适配的协议传输数据。
作为本发明的一种改进,所述步骤2)中并将抓取到的信息填充至库函数的参数中,触发USB底层驱动对数据进行传输。
作为本发明的一种改进,所述刷写的NorFlash数据需要转换为hex文件,并在上位机中载入,上位机对hex文件中的数据信息、数据长度以及数据地址进行解析。
作为本发明的一种改进,所述步骤3)中在MCU端集成SPI驱动,USB转SPI芯片做主机,MCU的SPI接口做从机,上位机按照预先定义的协议,对数据流编码,通过USB接口传输给MCU进行解析。
作为本发明的一种改进,所述步骤3)按照对数据流的解析和对刷写地址的范围判断,进行不同存储空间的数据刷写。
作为本发明的一种改进,所述步骤4)中在Norflash中根据不同功能块对图片资源进行划分,其中第一方区为开机动画,第二分区为背景、行车电脑、设置以及导航,第三分区为报警弹窗、信息中心、ADAS以及报警灯。
作为本发明的一种改进,所述步骤4)中,针对第一分区、第二分区以及第三分区增加数据完整性校验的区域,对本块区域的数据进行回读并进行校验,并增加版本号和升级日期。
作为本发明的一种改进,所述步骤4)中,校验区域针对每个分区的校验位检验是否和预期校验位相同,若不相同,则对当前检验的分区重新升级,若相同,则检验是否符合需要升级的版本和时间,若符合,则采用最新分区文件升级,若不符合,则结束检验。
本发明的有益效果是:通过本技术方案,7寸/8寸/10寸仪表的HMI显示资源更新,不仅可以通过OBD接口进行升级,还可以通过上位机连接USB接口进行升级,USB通讯速率为10Mbit/s,速度可提升5倍以上,通过本方案可修改仪表部分主体皮肤或报警图片,无需对整篇Norflash进行刷写,一旦通讯失去,可选择刷写失败的区域,继续刷写,不需要重新开始,大大降低了刷写失败后的等待时间,当前刷写HMI显示资源,根据更新的图片种类,只更新需要替换HMI显示资源的部分,更新时间大大缩减,对HMI更新的部分做完整性校验,减少整体校验时间,用户或售后市场还可以通过笔记本电脑对仪表进行升级,方便用户前期调试升级工作,减少售后市场采购诊断仪设备的费用,还可通过中控设备进行升级,中控作为USB的主机,将升级资源传输给设备即可。
附图说明
图1为本发明中升级方法流程图。
图2为本发明中检验方法流程图。
具体实施方式
以下将结合附图1至附图2对本发明做进一步地说明,但不应以此来限制本发明的保护范围,为了方便说明且理解本发明的技术方案,以下说明均以附图所展示为准。
实施例:一种基于USB传输的汽车仪表差分升级方法包括以下步骤:
步骤1):首先在MCU端增加一个USB转SPI的芯片(如果该芯片已有USB接口,则不会增加成本),并在PCBA板上增加一个USB接口;步骤2):使用VB、C#或Python语言构建一个上位机系统,通过上位机连接到设备的USB接口,USB转SPI芯片将数据流转换为SPI格式,在上位机中载入刷写的hex文件格式Norflash数据,由上位机对hex文件进行解析,进一步地,用户需要更新升级仪表程序时,娱乐导航系统可以作为上位机,使用USB接口与仪表接口互联,触发USB底层驱动对数据进行传输;步骤3):MCU端通过读取SPI特殊功能口的数据,进行数据的传输和收集,再经过FBI程序驱动Norflash,并将图片资源数据分块刷入至Norflash中;步骤4):将Norflash中的图片资源进行分区管理,针对不同功能模块对图片资源进行划分,并且在不同Norflash分区增加数据完整性校验区域,所述步骤2)中在上位机中导入USB转SPI芯片供应商提供的动态链接库(DLL)文件,上位机调用DLL库中的驱动接口,外发数据流,且上位机集成与下位机相适配的协议传输数据,所述步骤2)中并将抓取到的信息填充至库函数的参数中,触发USB底层驱动对数据进行传输,所述上位机对hex文件中的数据信息、数据长度以及数据地址进行解析,所述步骤3)中在MCU端集成SPI驱动,USB转SPI芯片做主机,MCU的SPI接口做从机,上位机按照预先定义的协议,对数据流编码,通过USB接口传输给MCU进行解析,所述步骤3)按照对数据流的解析和对刷写地址的范围判断,进行不同存储空间的数据刷写,通常仪表包含3个需要刷写的存储设备,第一个是MCU的Codeflash,第二是Norflash,第三个是EEPROM。
以下是对数据编码协议的描述,数据包格式,如表1所示:
帧头 | 流水号 | 控制域 | 包有效长度 | 命令ID | (数据域) | (CRC16) | 帧尾 |
表1
数据包参数说明,如表2所示:
表2
其中校验位可选的CRC16支持功能:若参数包带CRC16功能,从/主机收到后需CRC16校验,校验未通过则丢弃这一帧数据,是否需要回响应由控制域Bit0决定,校验位不计入数据包有效长度内,校验范围包括控制域大数据域这几个区域,不需要校验的,这2个Byte位补0,除USB2SPI升级数据包外,规定有效数据长度固定为54字节(即 2BytesCommandID +52Bytes DataStreams),未用到的数据位,以0x00填充,这样,非升级包数据命令,一帧数据包总长度为64Bytes,规定升级包有效长度为1026字节(即 2BytesCommand ID + 1024Bytes DataStreams),SPI上位机主动发送消息帧给仪表,有两种方案,一是上位机发送类USB2SPI中断指令,通知仪表有消息需接受(目前USB2SPI和仪表未做中断IO通讯接口匹配,暂不支持);二是下位机仪表SPI硬件初始化后主动50ms周期发送Dummy数据帧用以接受主机发送过来的数据,仪表配置为SPIDMA中断收发模式,可以在接收完一帧数据后,根据是否应答情况准备要发送的消息帧,SPI下位机仪表主动发送消息帧给上位机(暂无该功能需求,硬件也无适配口,暂不支持):上位机将一个USB2SPI某个引脚配置为IO输入模式,周期检查该IO状态,下位机仪表若需主动发送数据给上位机,则需拉低该IO,以通知上位机有数据需其接收,2SPI数据包(通过USB转SPI接收的数据包)支持(是/否)通过消息帧应答有2种模式,一:发送端如果想要接收端发送应答响应,则需将数据包控制域Bit0置1,譬如,主机(上位机)发送了该bit0置1的数据包,从机(仪表)则必须回以响应(响应是仪表通过USB2SPI的芯片接口返回数据包,从机返回数据包需要依赖主机提供时钟信号),主机(上位机)在未收到从机(仪表)响应数据包前,必须为从机(仪表)的响应提供时钟支持,应答帧格式后续和上位机一起定义;二:发送端不需接收端发送应答帧响应,则需将数据包控制域Bit0置0,譬如,该情况下上位机发送了数据给仪表,仪表在接收到该数据确认无误后,通过翻转一个IO的电平来反馈给上位机,该数据已收到,否则,仪表端会丢弃该帧不做响应,上位机也可以做个超时重发的功能。
命令ID定义(Command ID),如表3所示:
表3
所述步骤4)中在Norflash中根据不同功能块对图片资源进行划分,其中第一方区为开机动画,第二分区为背景、行车电脑、设置以及导航,第三分区为报警弹窗、信息中心、ADAS以及报警灯,所述步骤4)中,针对第一分区、第二分区以及第三分区增加数据完整性校验的区域,对本块区域的数据进行回读并进行校验,并增加版本号和升级日期,所述步骤4)中,校验区域针对每个分区的校验位检验是否和预期校验位相同,若不相同,则对当前检验的分区重新升级,若相同,则检验是否符合需要升级的版本和时间,若符合,则采用最新分区文件升级,若不符合,则结束检验。
最后应说明的是:以上所述的实施例仅用于说明本发明的技术方案,而非对其限制,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换,而这些修改或替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (4)
1.一种基于USB传输的汽车仪表差分升级方法,其特征在于,所述方法包括以下步骤:
步骤1):在MCU端增加一个USB转SPI的芯片,并在PCBA板上增加一个USB接口;
步骤2):通过上位机连接到设备的USB接口,USB转SPI芯片将数据流转换为SPI格式,在上位机中载入刷写的hex文件格式的Norflash数据,由上位机对hex文件进行解析,并将抓取到的信息填充至库函数的参数中,触发USB底层驱动对数据进行传输;
步骤3):MCU端集成SPI驱动,USB转SPI芯片做主机,MCU的SPI接口做从机,上位机按照预先定义的协议,对数据流编码,通过USB接口传输给MCU进行解析,MCU端通过读取SPI特殊功能口的数据,进行数据的传输和收集,再经过FBL程序驱动Norflash,并将图片资源数据分块刷入至Norflash中,按照对数据流的解析和对刷写地址的范围判断,进行不同存储空间的数据刷写;
步骤4):在Norflash中根据不同功能块对图片资源进行划分,其中第一方区为开机动画,第二分区为背景、行车电脑、设置以及导航,第三分区为报警弹窗、信息中心、ADAS以及报警灯,并且在不同Norflash分区增加数据完整性校验区域,校验区域针对每个分区的校验位检验是否和预期校验位相同,若不相同,则对当前检验的分区重新升级,若相同,则检验是否符合需要升级的版本和时间,若符合,则采用最新分区文件升级,若不符合,则结束检验。
2.根据权利要求1所述的基于USB传输的汽车仪表差分升级方法,其特征在于,所述步骤2)中在上位机中导入USB转SPI芯片DLL文件,上位机调用DLL库中的驱动接口,外发数据流,且上位机集成与下位机相适配的协议来传输数据。
3.根据权利要求2所述的基于USB传输的汽车仪表差分升级方法,其特征在于,所述步骤2)中上位机对hex文件中的数据信息、数据长度以及数据地址进行解析。
4.根据权利要求1所述的基于USB传输的汽车仪表差分升级方法,其特征在于,所述步骤4)中,针对第一分区、第二分区以及第三分区增加数据完整性校验的区域,对第一分区、第二分区以及第三分区的数据进行回读并进行校验,并增加版本号和升级日期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011599535.7A CN112286566B (zh) | 2020-12-30 | 2020-12-30 | 一种基于usb传输的汽车仪表差分升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011599535.7A CN112286566B (zh) | 2020-12-30 | 2020-12-30 | 一种基于usb传输的汽车仪表差分升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286566A CN112286566A (zh) | 2021-01-29 |
CN112286566B true CN112286566B (zh) | 2021-05-25 |
Family
ID=74426936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011599535.7A Active CN112286566B (zh) | 2020-12-30 | 2020-12-30 | 一种基于usb传输的汽车仪表差分升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286566B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113093694B (zh) * | 2021-03-18 | 2022-05-20 | 东风汽车集团股份有限公司 | 一种基于uds的车载电控单元数据刷写方法及系统 |
CN114443111B (zh) * | 2022-04-11 | 2022-07-01 | 长安新能源南京研究院有限公司 | 一种控制器本地差分刷写的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977212A (zh) * | 2017-12-08 | 2018-05-01 | 延锋伟世通电子科技(南京)有限公司 | 支持多种通讯方式的高速烧录器 |
CN109002312A (zh) * | 2018-09-10 | 2018-12-14 | 京信通信系统(中国)有限公司 | 软件升级方法、装置及升级服务器和设备 |
CN111124443A (zh) * | 2018-11-01 | 2020-05-08 | 上海擎感智能科技有限公司 | 车辆、车机设备及车载仪表升级方法 |
CN111522620B (zh) * | 2020-07-06 | 2020-10-30 | 延锋伟世通电子科技(南京)有限公司 | 基于双进程hmi的快速显示和高渲染帧率全液晶仪表 |
-
2020
- 2020-12-30 CN CN202011599535.7A patent/CN112286566B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112286566A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106796538B (zh) | 网关装置、车载网络系统以及固件更新方法 | |
CN112286566B (zh) | 一种基于usb传输的汽车仪表差分升级方法 | |
CN108415717B (zh) | 一种zynq soc固件升级方法及升级装置 | |
US9239808B2 (en) | Serial interface for FPGA prototyping | |
JP2023090981A (ja) | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 | |
CN110297608B (zh) | 数据的处理方法、装置和存储介质 | |
CN101123485B (zh) | iSCSI报文处理方法和装置、错误恢复方法和装置 | |
CN110851163B (zh) | 一种基于can通信的兼容多设备平台的软件更新方法 | |
CN115499505B (zh) | Usb网卡和通信方法 | |
CN105978937A (zh) | 一种蓝牙从设备及其升级方法 | |
KR100625811B1 (ko) | 코드 데이터 에러 정정 방법 및 장치 | |
CN112148629A (zh) | 用于在总线上寻址集成电路的方法和对应设备 | |
US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
CN114115955B (zh) | 服务器资源盒子fpga固件升级方法、系统、终端及存储介质 | |
CN112395147B (zh) | Soc上的调试装置 | |
CN113960991B (zh) | 车辆故障诊断系统、方法、装置、片上系统芯片及车辆 | |
CN113434089B (zh) | 数据搬移方法、装置及pcie系统 | |
CN106851535B (zh) | 多系统共享蓝牙的方法及装置 | |
US20150012688A1 (en) | Computer system and operating method thereof | |
CN106973254B (zh) | 一种固件数据传输方法、装置以及一种数字监控系统 | |
CN212572587U (zh) | Can总线数据采集器及can总线分析系统 | |
CN110457056B (zh) | 基于hart总线的仪表在线升级方法和接收装置 | |
KR100743253B1 (ko) | 코드 데이터 에러 정정 방법 및 장치 | |
CN118612066A (zh) | 升级方法、装置以及车辆 | |
KR100743252B1 (ko) | 코드 데이터 에러 정정 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |