CN115617370A - 数据刷新方法、装置、电子设备及存储介质 - Google Patents
数据刷新方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115617370A CN115617370A CN202211295269.8A CN202211295269A CN115617370A CN 115617370 A CN115617370 A CN 115617370A CN 202211295269 A CN202211295269 A CN 202211295269A CN 115617370 A CN115617370 A CN 115617370A
- Authority
- CN
- China
- Prior art keywords
- data
- refreshing
- vehicle
- canfd
- bit rate
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000004891 communication Methods 0.000 claims abstract description 89
- 238000005070 sampling Methods 0.000 claims abstract description 51
- 230000005540 biological transmission Effects 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 12
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101000685724 Homo sapiens Protein S100-A4 Proteins 0.000 description 1
- 102100023087 Protein S100-A4 Human genes 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种数据刷新方法、装置、电子设备及存储介质,该数据刷新方法包括:获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点;根据仲裁比特率、数据比特率以及采样点确定与车载CANFD控制器对应的通信通道;通过通信通道对车载CANFD控制器进行数据刷新。通过获取车载CANFD控制器的参数来确定对应的通信通道,再根据通信通道对车载CANFD控制器进行数据刷新。不同品牌的车载CANFD控制器所对应的参数不同,因此所需的通信通道不同。通过车载CANFD控制器特有的接口参数来匹配通信通道,可以保证车载CANFD控制器与通信通道的一一匹配,确保了数据刷新时通信通道的正确性外,还可以灵活的去匹配不同的车载CANFD控制器,提高了数据刷新方案的兼容性。
Description
技术领域
本申请涉及汽车驾驶技术领域,更具体地,涉及一种数据刷新方法、装置、电子设备及计算机可读存储介质。
背景技术
在车载CANFD(CAN With Flexible Data Rate的简称)控制器量产之初,会将应用程序烧录到车载CANFD控制器芯片存储器上。但当车载CANFD控制器程序升级或者新增功能时,需要更新车载CANFD控制器中运行的应用程序。若在车载CANFD控制器研发前期,可以通过裸板上的边界扫描测试(JTAG)或串行测试(SWD)接口,使用调试器(J-Link、Cyclone等)将更新的应用程序烧录到芯片上。当车载CANFD控制器投入市场使用后,车主不会允许对车上车载CANFD控制器进行拆机,此时对于车载CANFD控制器程序的升级,大多使用基于UDS协议(Unified Diagnostic Services,统一诊断服务)的刷新,刷新时,不用把车载CANFD控制器从整车上拆卸下来,通过整车车载诊断系统(OBD)接口即可进行刷新。
要实现车载CANFD控制器基于CANFD程序刷新,需要能将刷新文件进行解析,借助CANFD硬件设备,基于ISO14229中程序刷新规范进行报文交互,以CANFD报文形式传输应用程序数据。
现有的车载CANFD控制器的数据刷新方案中,只能对应单一的车载CANFD控制器,兼容性较差。
发明内容
鉴于上述问题,本申请提出了一种数据刷新方法、装置、电子设备及计算机可读存储介质。
第一方面,本申请实施例提供了一种数据刷新方法,所述方法包括获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点;根据所述仲裁比特率、数据比特率以及采样点确定与所述车载CANFD控制器对应的通信通道;通过所述通信通道对所述车载CANFD控制器进行数据刷新。
第二方面,本申请实施例提供了一种数据刷新装置,所述装置包括:参数获取模块,用于获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点;通信通道确定模块,用于根据所述仲裁比特率、数据比特率以及采样点确定与所述车载CANFD控制器对应的通信通道;数据刷新模块,用于通过所述通信通道对所述车载CANFD控制器进行数据刷新。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的数据刷新方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的数据刷新方法。
本申请提供的方案,通过获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点来确定车载CANFD控制器对应的通信通道,再根据通信通道对车载CANFD控制器进行数据刷新。不同品牌的车载CANFD控制器所对应的仲裁比特率、数据比特率以及采样点不同,因此所需的通信通道不同。通过车载CANFD控制器特有的仲裁比特率、数据比特率以及采样点来匹配通信通道,可以保证车载CANFD控制器与通信通道的一一匹配,确保了数据刷新时通信通道的正确性外,还可以灵活的去匹配不同的车载CANFD控制器,提高了数据刷新方案的兼容性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提供的数据刷新方法的流程示意图。
图2示出了本申请另一实施例提供的数据刷新方法的流程示意图。
图3示出了本申请实施例中步骤S260的流程示意图。
图4示出了本申请实施例中步骤S364的流程示意图。
图5示出了本申请又一实施例提供的数据刷新方法的流程示意图。
图6示出了本申请的交互界面示意图。
图7示出了本申请实施例提供的用于保存或者携带实现根据本申请实施例的数据刷新方法的程序代码的存储介质。
图8示出了本申请的工程结构示意图。
图9示出了本申请实施例提供的数据刷新装置的结构框图。
图10示出了本申请实施例提供的用于执行根据本申请实施例的数据刷新方法的电子设备的结构框图。
图11示出了本申请实施例提供的用于保存或者携带实现根据本申请实施例的数据刷新方法的程序代码的存储介质。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
经发明人研究发现,目前常用车载CANFD刷新方案有以下两种:
1、使用CANoe创建工程,配置CANFD总线波特率与采样点,运用CAPL脚本编程设计,完成升级文件解析、报文交互、刷新流程控制等功能,设计面板实现用户的输入与显示。工程设计完成后,使用人员通过运行工程,配置面板参数进行程序刷新。
2、购买Vector公司的vFlash Station,在Visual Studio中新建工程,根据vFlashStation提供的API的功能建立vFlash Station工程,运用C或C#程序语言设计完成控制器程序的CANFD协议刷新过程,并设计GUI界面。使用人员通过操作GUI界面进行程序刷新。
在研究过程中发现上述两种方案均存在支持的CANFD硬件设备单一的问题。
针对上述问题,提出了本申请实施例提供的数据刷新方法、装置、电子设备以及存储介质,本申请提供的方案,通过获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点来确定车载CANFD控制器对应的通信通道,再根据通信通道对车载CANFD控制器进行数据刷新。不同品牌的车载CANFD控制器所对应的仲裁比特率、数据比特率以及采样点不同,因此所需的通信通道不同。通过车载CANFD控制器特有的仲裁比特率、数据比特率以及采样点来匹配通信通道,可以保证车载CANFD控制器与通信通道的一一匹配,确保了数据刷新时通信通道的正确性外,还可以灵活的去匹配不同的车载CANFD控制器,提高了数据刷新方案的兼容性。其中,具体的数据刷新方法在后续的实施例中进行详细的说明。
请参阅图1,图1示出了本申请一实施例提供的数据刷新方法的流程示意图。在具体的实施例中,所述数据刷新方法应用于如图9所示的数据刷新装置300以及配置有所述数据刷新装置300的电子设备100。
下面将以电子设备为例,说明本实施例的具体流程。下面将针对图1所示的流程进行详细的阐述,所述数据刷新方法具体可以包括以下步骤:
步骤S110:获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点。
CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。CANFD可以理解成CAN的升级版,只升级了CAN局域网之间的协议,局域网之间的物理层未改变。CAN与CANFD主要区别:传输速率不同、数据长度不同、帧格式不同、ID长度不同。
CANFD控制器是指控制CANFD工作的设备。而CANFD控制器的接口是指用于设备与CANFD控制器之间进行数据传输的连接端口,该连接端口支持USBCAN-II FD,Kvaser,PCAN-USB,VECTOR CANCASE、VN1630、VN1640等多个品牌的CANFD设备连接。接口参数包括但不限于数据的仲裁比特率、数据比特率以及采样点。本申请方案主要是通过获取仲裁比特率、数据比特率以及采样点来进行工作。
仲裁比特率是仲裁网段每秒传送的比特数,数据比特率是指数据网段每秒传送的比特数,采样点是指同一比特率下采集样本的位置。
步骤S120:根据所述仲裁比特率、数据比特率以及采样点确定与所述车载CANFD控制器对应的通信通道。
获取到车载CANFD控制器的仲裁比特率、数据比特率以及采样点后,根据仲裁比特率、数据比特率以及采样点来匹配对应的通信通道。
匹配模式可以是分别对仲裁比特率、数据比特率以及采样点与通信通道的仲裁比特率、数据比特率以及采样点一一进行对比匹配,也可以是将仲裁比特率、数据比特率以及采样点进行综合评分从而根据综合评分来匹配通信通道。
步骤S130:通过所述通信通道对所述车载CANFD控制器进行数据刷新。
通过通信通道来传输最新的数据,从而对车载CANFD控制器进行数据刷新,保证车载CANFD控制器中的设备数据为最新数据。
本申请提供的方案,通过获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点来确定车载CANFD控制器对应的通信通道,再根据通信通道对车载CANFD控制器进行数据刷新。不同品牌的车载CANFD控制器所对应的仲裁比特率、数据比特率以及采样点不同,因此所需的通信通道不同。通过车载CANFD控制器特有的仲裁比特率、数据比特率以及采样点来匹配通信通道,可以保证车载CANFD控制器与通信通道的一一匹配,确保了数据刷新时通信通道的正确性外,还可以灵活的去匹配不同的车载CANFD控制器,提高了数据刷新方案的兼容性。
在本申请另一实施例中,请参见图2,图2示出了本申请另一实施例提供的数据刷新方法的流程示意图,具体包括以下步骤:
步骤S210:获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点。
步骤S210参照步骤S110的详细阐述,在此不再赘述。
步骤S220:获取多个所述车载CANFD控制器的仲裁比特率、数据比特率以及采样点与多个通信通道对应的仲裁比特率、数据比特率以及采样点的相似度。
相似度获取方式可以是将车载CANFD控制器的仲裁比特率、数据比特率以及采样点与通信通道对应的仲裁比特率、数据比特率以及采样点进行一一对比,获取仲裁比特率、数据比特率以及采样点与通信通道的仲裁比特率、数据比特率以及采样点的仲裁比特率相似度、数据比特率相似度以及采样点相似度。也可以是将将车载CANFD控制器的仲裁比特率、数据比特率以及采样点与通信通道对应的仲裁比特率、数据比特率以及采样点进行综述相似度评分,得到车载CANFD控制器的仲裁比特率、数据比特率以及采样点相对于通信通道对应的仲裁比特率、数据比特率以及采样点的相似度。具体的相似度获取方式在此不做具体限定。
步骤S230:若所述相似度达到预设相似度阈值时,确定所述相似度对应的通信通道为所述车载CANFD控制器对应的通信通道。
当相似度达到预设相似度阈值时,该通信通道确定为车载CANFD控制器对应的通信通道。预设相似度阈值可以是100%也可以是80%,具体的预设相似度阈值由用户进行设定,在此不做限定。
以相似度100%为例,若获取到的车载CANFD控制器对应的仲裁比特率为1Mbps,数据比特率为8Mbps,以及采样点的位置为第二字节位置时,当通信通道对应的仲裁比特率为1Mbps,数据比特率为8Mbps,以及采样点的位置为第二字节位置时,该通信通道为与车载CANFD控制器匹配的通信通道。
步骤S240:通过所述通信通道获取所述车载CANFD控制器对应的CANFD刷新数据包。
CANFD刷新数据包是指封装有CANFD刷新数据的程序包,该CANFD刷新数据可以是由LabVIEW语言进行编写,也可以是由Java、C++等其他汇编语言进行编写得到。
不同的接口参数对应有不同的通信通道,不同的通信通道对应着不同的CANFD刷新数据包,CANFD刷新数据包的获取可以是直接从服务器端获取,也可以是从其他CANFD控制器处交互获取得到。选择与通信通道对应的CANFD刷新数据包可以避免数据刷新时出现故障。
步骤S250:对所述CANFD刷新数据包进行解析获得解析后的CANFD刷新数据。
对CANFD刷新数据包进行解析,可以是调用CANFD刷新数据包对应的解析函数,也可以是CANFD控制器内置的解析设备,具体的解析方式由用户进行选择确定,在此不做限定。
步骤S260:基于所述解析后的CANFD刷新数据对所述车载CANFD控制器进行数据刷新。
在一些实施方式中,请参见图3,本申请实施例中步骤S260可以包括步骤S262~步骤S266。
步骤S262:对所述解析后的CANFD刷新数据进行数据处理,得到传输数据。
解析后的CANFD刷新数据进行数据处理,获取该解析后的CANFD刷新数据的头信息及数据字节,根据头信息中数据文件空间(Segment)数量及每个Segment的地址信息、长度信息,拆分数据字节,得到一个数据类型为uint8、大小为Segment数量*最大Segment字节数的二维数组存储该CANFD刷新数据的文件中的传输数据。
步骤S264:通过刷新服务对所述传输数据进行数据刷新。
刷新服务为刷新流程中必须经过的刷新步骤,通过刷新服务对传输数据进行数据刷新可以保证数据的完整性以及验证数据的合理性。
在一些实施方式中,请参见图4,步骤S264可以包括步骤S2642、S2644以及S2646:
步骤S2642:通过所述第一服务调用所述传输数据对应的密钥,对所述传输数据进行访问,得到访问后数据。
第一服务通常为安全接入服务(SecurityAccess),本领域中简称27服务。传输数据进入27服务时,通过27服务调用相应的算法计算对该传输数据对应的密钥,用于安全访问并得到访问后数据。
步骤S2644:通过所述第二服务根据所述访问后数据获取所述访问后数据对应的最大数据块长度。
第二服务是指请求下载服务(RequestDownload),简称34服务。访问后数据进入第二服务后,通过34服务依照访问后数据中的Segment字节中的地址信息以及长度信息来获取访问后数据对应的最大数据块长度。
步骤S2646:利用所述第三服务对所述第二服务得到的最大数据块长度进行刷新,实现对所述传输数据的数据刷新。
第三服务为TransferData,转存数据服务,即36服务。36服务将在存放有数据字节的二维数组中依次取出长度为最大数据块长度-2的数据块进行传输,并在发送该数据块后,将已传输的数据字节从二维数组中删除,实现所述传输数据的数据刷新。
在本申请方案中,所有获取得到的数据均需要对其进行验证处理,以保证数据的正确性,验证处理可以采用CRC进行验证,也可以使用其他的数据验证方法,具体的验证方法在此不做限定。
在申请另一些实施方式中,所述刷新服务还包括第四服务,通过刷新服务对所述传输数据进行数据刷新还包括:通过所述第四服务与所述车载CANFD控制器进行预设频率的通信。
预设频率可以是每隔5s或者每隔3s进行通信一次,具体的预设频率在此不做限定。保持与车载CANFD控制器的通信可以获得车载CANFD控制器在数据刷新过程中是否有网络堵塞等通信无法响应的问题。
若所述通信未响应,则数据刷新错误,退出所述通过刷新服务对所述传输数据进行数据刷新的步骤。
若通信正常响应,则继续进行该数据刷新步骤直至数据刷新步骤结束或通信无法响应。
步骤S266:对所述数据刷新后的传输数据进行复位操作,完成对所述车载CANFD控制器的数据刷新。
为保证刷新后的设备能正常使用,需要对数据刷新后的传输数据进行复位操作,例如,在数据刷新过程中调整了比特率大小,此时,数据刷新后需要将调整的比特率进行复位,以保证设备的正常工作。
在具体实施过程中,首先要确定与车载CANFD控制器的仲裁比特率、数据比特率以及采样点对应的通信通道,并根据仲裁比特率、数据比特率、采样点配置通道,与车载CANFD控制器进行CANFD报文交互建立连接。
其次,对车载CANFD控制器进行数据刷新的刷新数据进行数据处理,读取车载CANFD控制器升级所需要的Flash驱动文件与应用程序文件,分别按照文件格式进行解析,获取头信息及数据字节,根据文件头信息中Segment数量及每个Segment的地址信息、长度信息,拆分数据字节,创建一个数据类型为uint8、大小为Segment数量*最大Segment字节数的二维数组存储该文件中的数据字节。同时计算这段数据字节的CRC32值,以便在完整性验证中使用。
当完成上述步骤后,对数据处理后的数据进行数据传输:依据刷新流程进入预编程步骤、编程步骤、后编程步骤进行数据传输。
在预编程步骤阶段以CANFD诊断帧格式发送请求与接收应答,设置P2server、P2*server会话层时间参数及N_As、N_Ar、N_Bs、N_Br、N_Cs、N_Cr网络层时间参数,若上位机能在超时时间内收到控制器返回的积极响应,则继续刷新流程,否则,停止刷新并返回失败原因。超时时间可以是30ms,也可以是50ms,具体的超时时间由用户进行设定,在此不做限定。
当刷新数据满足预编程步骤的预设条件时,进入编程阶段,编程阶段包括27服务、34服务以及36服务。在进行27服务时,上位机通过调用已封装好的安全访问算法DLL文件,计算出相应的密钥用于安全访问。安全访问后的传输数据进入34服务,在34服务发送本段Segment的地址信息、长度信息并获取最大数据块长度,36服务用最大数据块长度的值进行刷新,即在存放数据字节的二维数组中依次取出长度为最大数据块长度-2的数据块进行传输,并在发送该数据块后,将已传输的数据字节从二维数组中删除。在传输完所有数据字节后,使用CRC32值用于校验。
在整个刷新流程中,定时3s或定时5s发送TesterPresent(3E服务)保持会话,防止网络堵塞导致退出会话。
当传输完所有数据字节并校验后,还需要后编程步骤对车载CANFD控制器进行复位操作,保证车载CANFD控制器的正常工作。
本申请提供的方案,通过刷新过程的各个步骤以及各个刷新服务在保证数据刷新的同时还验证数据的完整性以及正确性,进一步的提高了数据刷新的准确性。在保证兼容更多硬件设备的同时,还保证了数据刷新效率。
请参见图5,图5示出了本申请又一实施例提供的数据刷新方法的流程示意图:
步骤S310:获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点。
步骤S320:根据所述仲裁比特率、数据比特率以及采样点确定与所述车载CANFD控制器对应的通信通道。
步骤S330:通过所述通信通道对所述车载CANFD控制器进行数据刷新。
步骤S310~步骤S330参照步骤S110~步骤S130的详细阐述,在此不再赘述。
步骤S340:在交互界面显示数据刷新过程以及数据刷新进度。
基于CANFD总线的车载CANFD控制器程序刷新是擦除车载CANFD控制器芯片存储上原有的数据,重新在芯片存储上写入新的数据,新数据即升级文件中的应用程序数据,故可通过解析升级文件,获取需传送的数据字节数,以及已成功传送的字节数,来计算当前升级进度。
请参见图6,图6示出了本申请的交互界面场景示意图。交互界面可以是车载终端界面,也可以是指与车辆CANFD控制器连接的移动终端界面。该界面上不仅显示刷新的字节数,还会显示刷新进度。
不仅如此,该交互界面还可以供用户进行输入操作,例如,选择CAN设备、配置通道、选择升级文件、过滤报文、开始升级、暂停、日志记录等操作,均可以由用户进行操作控制,提高人机交互的效率以及体验感。
在程序运行期间,特别是刷新过程中,利用同步控制技术在多线程和多个视觉识别系统(Visual Identity,VI)间传递数据。例如,请参见图7,CANFD报文的发送使用生产者/消费者设计模式,生产者和消费者之间配置一个1024Byte的数据缓冲区,该模式实现多对一的操作,即不同线程的发送报文以先入先出原则进行发送。而CANFD报文的接收处理使用主从设计模式,使上位机接收到的报文,以广播方式,在程序不同线程中同时接收进行处理。
当收到刷新数据时,先对数据进行初始化,再对数据化后的数据配置通信通道进行传输。当传输到刷新流程时,需要对该刷新数据进行预编程、编程以及后编程步骤。刷新过程中产生的日志会被存储与刷新数据所处的文件中,当刷新过程结束完成对该车载CANFD控制的刷新。
请参见图8,图8示出了本申请的工程结构图。本申请方案中,将各个设备的动态连接库(Dynamic Link Library,DLL)接口分别封装为基于CANFD的基础库,每个库都能提供打开通道、初始化通道配置、发送报文、接收报文、关闭通道等标准化的访问接口。
在设备初始化阶段,根据用户选择的CANFD设备调用对应的封装好的函数库,完成初始化并返回该通道的引用句柄。在报文交互过程中,上位机配置一个簇类型的数据结构,元素为:通道、报文ID、时间戳、DLC、payload,由4个数据类型为uint32的数值变量和一个大小为64字节、数据类型为uint8的数组组成。应用层统一以这个簇结构封装或解析CANFD数据包,通过引用句柄往通道上收发数据。
采用分层软件架构,在CANFD设备驱动库上向上封装CANFD报文基础库、诊断传输层与网络层、诊断会话层与服务层的库函数,使上层函数无需再考虑底层逻辑,使用统一接口即可实现操作该CANFD设备使上位机与控制器进行报文交互。
当数据经过应用层、诊断会话与服务层以及诊断传输与网络层后,匹配不同的CANFD参数,CANFD参数再通过对应的接口传输到不同的DLL接口,通过DLL接口来与设备层中的设备建立通信通道,从而实现设备层中的设备的数据刷新。通过封装标准化交互接口,提高了系统整合能力,也便于后续扩展CANFD设备。
请参阅图9,其示出了本申请实施例提供的一种数据刷新装置300的结构框图。该数据刷新装置300应用于电子设备,该数据刷新装置300包括:参数获取模块310,用于获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点;通信通道确定模块320,用于根据所述仲裁比特率、数据比特率以及采样点在控制器数据库中确定所述车载CANFD控制器对应的通信通道;数据刷新模块330,用于通过所述通信通道对所述车载CANFD控制器进行数据刷新。
在本申请的实施例中,通信通道确定模块320,包括:相似度获取模块,用于获取多个所述车载CANFD控制器的仲裁比特率、数据比特率以及采样点与多个通信通道对应的仲裁比特率、数据比特率以及采样点的相似度;确定模块,用于若所述相似度达到预设相似度阈值时,确定所述相似度对应的通信通道为所述车载CANFD控制器对应的通信通道。
在本申请的实施例中,数据刷新模块330包括:刷新数据包获取模块,用于基于车通过所述通信通道获取所述车载CANFD控制器对应的CANFD刷新数据包;解析模块,用于对所述CANFD刷新数据包进行解析获得解析后的CANFD刷新数据;刷新模块,用于基于所述解析后的CANFD刷新数据对所述车载CANFD控制器进行数据刷新。
在本申请的实施例中,刷新模块包括:传输数据获取模块,用于对所述解析后的CANFD刷新数据进行数据处理,得到传输数据;刷新服务模块:用于通过刷新服务对所述传输数据进行数据刷新:复位模块,用于对所述数据刷新后的传输数据进行复位操作,完成对所述车载CANFD控制器的数据刷新。
在本申请的实施例中,所述刷新服务包括第一服务、第二服务以及第三服务,刷新服务模块包括:安全访问模块,用于通过所述第一服务调用所述传输数据对应的密钥,对所述传输数据进行访问,得到访问后数据;最大数据块长度获取模块,用于通过所述第二服务根据所述访问后数据获取所述访问后数据对应的最大数据块长度;第三服务刷新模块,用于利用所述第三服务对所述第二服务得到的最大数据块长度进行刷新,实现对所述传输数据的数据刷新。
在本申请的实施例中,刷新服务模块还包括:第四服务通信模块,用于通过所述第四服务与所述车载CANFD控制器进行预设频率的通信;退出刷新模块,用于若所述通信未响应,则数据刷新错误,退出所述通过刷新服务对所述传输数据进行数据刷新的步骤。
在本申请的另一些实施例中,数据刷新装置300还包括显示模块,用于在交互界面显示数据刷新过程以及数据刷新进度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图10,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是电动汽车和内燃机车辆等能够运行应用程序的设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图11,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质200中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质200可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质200包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质200具有执行上述方法中的任何方法步骤的程序代码210的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码210可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据刷新方法,其特征在于,所述方法包括:
获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点;
根据所述仲裁比特率、数据比特率以及采样点确定与所述车载CANFD控制器对应的通信通道;
通过所述通信通道对所述车载CANFD控制器进行数据刷新。
2.根据权利要求1所述的方法,其特征在于,所述根据所述仲裁比特率、数据比特率以及采样点确定与所述车载CANFD控制器对应的通信通道,包括:
获取多个所述车载CANFD控制器的仲裁比特率、数据比特率以及采样点与多个通信通道对应的仲裁比特率、数据比特率以及采样点的相似度;
若所述相似度达到预设相似度阈值时,确定所述相似度对应的通信通道为所述车载CANFD控制器对应的通信通道。
3.根据权利要求1所述的方法,其特征在于,所述通过所述通信通道对所述车载CANFD控制器进行数据刷新,包括:
通过所述通信通道获取所述车载CANFD控制器对应的CANFD刷新数据包;
对所述CANFD刷新数据包进行解析获得解析后的CANFD刷新数据;
基于所述解析后的CANFD刷新数据对所述车载CANFD控制器进行数据刷新。
4.根据权利要求3所述的方法,其特征在于,所述基于所述解析后的CANFD刷新数据对所述车载CANFD控制器进行数据刷新,包括:
对所述解析后的CANFD刷新数据进行数据处理,得到传输数据;
通过刷新服务对所述传输数据进行数据刷新;
对所述数据刷新后的传输数据进行复位操作,完成对所述车载CANFD控制器的数据刷新。
5.根据权利要求4所述的方法,其特征在于,所述刷新服务包括第一服务、第二服务以及第三服务,所述通过刷新服务对所述传输数据进行数据刷新,包括:
通过所述第一服务调用所述传输数据对应的密钥,对所述传输数据进行访问,得到访问后数据;
通过所述第二服务根据所述访问后数据获取所述访问后数据对应的最大数据块长度;
利用所述第三服务对所述第二服务得到的最大数据块长度进行刷新,实现对所述传输数据的数据刷新。
6.根据权利要求5所述的方法,其特征在于,所述刷新服务还包括第四服务,所述通过刷新服务对所述传输数据进行数据刷新,还包括:
通过所述第四服务与所述车载CANFD控制器进行预设频率的通信;
若所述通信未响应,则数据刷新错误,退出所述通过刷新服务对所述传输数据进行数据刷新的步骤。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
在交互界面显示数据刷新过程以及数据刷新进度。
8.一种数据刷新装置,其特征在于,所述装置包括:
参数获取模块,用于获取车载CANFD控制器的仲裁比特率、数据比特率以及采样点;
通信通道确定模块,用于根据所述仲裁比特率、数据比特率以及采样点确定与所述车载CANFD控制器对应的通信通道;
数据刷新模块,用于通过所述通信通道对所述车载CANFD控制器进行数据刷新。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211295269.8A CN115617370B (zh) | 2022-10-21 | 2022-10-21 | 数据刷新方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211295269.8A CN115617370B (zh) | 2022-10-21 | 2022-10-21 | 数据刷新方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115617370A true CN115617370A (zh) | 2023-01-17 |
CN115617370B CN115617370B (zh) | 2024-02-23 |
Family
ID=84864306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211295269.8A Active CN115617370B (zh) | 2022-10-21 | 2022-10-21 | 数据刷新方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115617370B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438832A (zh) * | 2017-05-31 | 2017-12-05 | 深圳市爱夫卡科技股份有限公司 | 一种数据刷新方法、装置及计算机可读存储介质 |
CN109144545A (zh) * | 2018-08-16 | 2019-01-04 | 北京汽车股份有限公司 | 数据刷写方法、装置、设备及计算机可读存储介质 |
JP2021086378A (ja) * | 2019-11-27 | 2021-06-03 | 株式会社オートネットワーク技術研究所 | 車載更新装置、プログラム及び、プログラムの更新方法 |
CN112953018A (zh) * | 2021-03-30 | 2021-06-11 | 云谷技术(珠海)有限公司 | 一种基于can fd总线架构集中式站所终端设备 |
CN113220317A (zh) * | 2020-01-21 | 2021-08-06 | 上海华东汽车信息技术有限公司 | 车辆控制器并行刷新方法、装置、计算机设备和存储介质 |
CN113330719A (zh) * | 2019-02-01 | 2021-08-31 | 罗伯特·博世有限公司 | 用于串行总线系统的用户站和在串行总线系统中通信的方法 |
-
2022
- 2022-10-21 CN CN202211295269.8A patent/CN115617370B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438832A (zh) * | 2017-05-31 | 2017-12-05 | 深圳市爱夫卡科技股份有限公司 | 一种数据刷新方法、装置及计算机可读存储介质 |
CN109144545A (zh) * | 2018-08-16 | 2019-01-04 | 北京汽车股份有限公司 | 数据刷写方法、装置、设备及计算机可读存储介质 |
CN113330719A (zh) * | 2019-02-01 | 2021-08-31 | 罗伯特·博世有限公司 | 用于串行总线系统的用户站和在串行总线系统中通信的方法 |
JP2021086378A (ja) * | 2019-11-27 | 2021-06-03 | 株式会社オートネットワーク技術研究所 | 車載更新装置、プログラム及び、プログラムの更新方法 |
CN113220317A (zh) * | 2020-01-21 | 2021-08-06 | 上海华东汽车信息技术有限公司 | 车辆控制器并行刷新方法、装置、计算机设备和存储介质 |
CN112953018A (zh) * | 2021-03-30 | 2021-06-11 | 云谷技术(珠海)有限公司 | 一种基于can fd总线架构集中式站所终端设备 |
Non-Patent Citations (4)
Title |
---|
CAR路里汽车: "从另一种视角了解下CAN FD", pages 1 - 13, Retrieved from the Internet <URL:http://www.uml.org.cn/embeded/202112021.asp> * |
TAEK-YOUNG YOUN 等: "Practical Sender Authentication Scheme for In-Vehicle CAN With Efficient Key Management", 《IEEE ACCESS》, vol. 8, pages 86836 - 86849, XP011789253, DOI: 10.1109/ACCESS.2020.2992112 * |
刘乐乐: "基于CAN FD的车载Bootloader研究与实现", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》, pages 035 - 135 * |
王涛: "基于CAN诊断汽车控制器刷新软件的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 138 - 2964 * |
Also Published As
Publication number | Publication date |
---|---|
CN115617370B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648803A (zh) | 一种dsp芯片在线升级方法 | |
CN110262370B (zh) | Plc的批量读写方法、装置及系统 | |
CN107193593B (zh) | 一种可升级文件的升级方法、机顶盒和存储介质 | |
EP4191355A1 (en) | Uds-based communication method, ecu and upper computer | |
CN112947961A (zh) | 基于可视化图形配置的车辆刷写方法及设备 | |
CN114116364A (zh) | 芯片的调试方法、存储介质、相关装置和系统 | |
WO2023125213A1 (zh) | 多ecu的仿真测试方法、装置、计算机设备及存储介质 | |
CN112689083B (zh) | 车载摄像头配置方法、装置、电子设备和存储介质 | |
CN107688536A (zh) | 一种获取终端系统日志的方法及装置 | |
CN113468070A (zh) | 车载以太网的一致性测试方法 | |
CN114997101A (zh) | 基于芯片验证系统的信号控制方法、系统、介质及设备 | |
CN112162765A (zh) | 固件升级方法、上位机及存储介质 | |
CN114064091A (zh) | Ota升级控制方法、装置、电子设备及自动驾驶车辆 | |
CN112860559B (zh) | 升级测试系统和方法 | |
CN115617370B (zh) | 数据刷新方法、装置、电子设备及存储介质 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN115776653A (zh) | 一种车载数据的获取方法、装置、设备及介质 | |
CN114740820A (zh) | 一种车辆诊断的处理方法及装置 | |
CN114442590A (zh) | 车辆诊断方法、设备、诊断通信装置、服务器及存储介质 | |
CN107171824B (zh) | 一种终端的wifi断线处理方法、终端及存储装置 | |
CN112732606A (zh) | 一种信息交互方法、系统、设备及计算机可读存储介质 | |
Lee et al. | Collecting big data from automotive ECUs beyond the CAN bandwidth for fault visualization | |
CN114503041B (zh) | 车辆诊断方法、诊断连接器及诊断设备 | |
CN106412657B (zh) | 一种机顶盒烧写序列码的方法及系统 | |
CN112770337A (zh) | 一种路测方法、装置、终端及存储介质 |
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 |