CN113676458B - 一种车辆通信数据封装方法及装置 - Google Patents
一种车辆通信数据封装方法及装置 Download PDFInfo
- Publication number
- CN113676458B CN113676458B CN202110847275.9A CN202110847275A CN113676458B CN 113676458 B CN113676458 B CN 113676458B CN 202110847275 A CN202110847275 A CN 202110847275A CN 113676458 B CN113676458 B CN 113676458B
- Authority
- CN
- China
- Prior art keywords
- protocol
- vehicle
- value
- encapsulation
- configuration information
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
Abstract
本发明提供车辆通信数据封装方法及装置,方法包括:接收设定数据;将所述设定数据转化成标准协议;根据预存的协议封装策略将所述标准协议封装为车辆协议;将所述车辆协议进行二次封装,得到最终的ECU协议;将所述最终的ECU协议发往相应的车辆ECU。本发明实现了对应用程序向车辆发送的数据进行统一封装,简化了应用程序的复杂度,提高了应用程序的稳定性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种车辆通信数据封装方法及装置。
背景技术
随着车载行业的发展,车载设备搭载安卓系统正在成为未来的主要发展方向。安卓系统具有良好的开放性特点,多种多样的应用程序(APP)可以给用户带来更多的操控体验。APP通过某些通讯协议与车辆的电子控制单元(ECU)发送数据进行控制,也接收ECU发送的各种数据进行显示。
然而,在现有技术中,APP与ECU通讯的车辆协议的封装均由各个APP自行处理,各个APP的封装方式的不同导致信号状态参差不齐、处理时机进行不够准确,无法满足车载项目中的各种需求。
因此,现有技术有待进一步改进。
发明内容
本发明提供一种车辆通信数据封装方法及装置,旨在解决现有技术中的缺陷,实现对应用程序向车辆发送的数据进行统一封装,简化应用程序的复杂度,提高应用程序的稳定性。
为达到上述目的,本发明所采取的技术方案为:
本发明一方面提供一种车辆通信数据封装方法,包括:
步骤1、接收设定数据;
步骤2、将所述设定数据转化成标准协议;
步骤3、根据预存的协议封装策略将所述标准协议封装为车辆协议;
步骤4、将所述车辆协议进行二次封装,得到最终的ECU协议;
步骤5、将所述最终的ECU协议发往相应的车辆ECU。
具体地,所述步骤3包括:
步骤301、通过所述标准协议的协议ID判断所述标准协议所属的功能类型;
步骤302、根据所述功能类型确定对应的封装配置信息;
步骤303、从预存的协议包集合中查找与所述封装配置信息匹配的协议包,并将所述封装配置信息中的功能ID和命令ID填充到匹配协议包的对应位置;
步骤304、遍历所述封装配置信息,计算所述标准协议中标准协议值对应的车辆协议参数位数值,并将所述车辆协议参数位数值填充到所述匹配协议包的对应位置,完成车辆协议的封装。
具体地,所述步骤301包括:
步骤A1、获取协议ID与所述封装配置信息中的协议ID相同的协议包;
步骤A2、判断所述协议包中的协议区域与所述封装配置信息中的协议区域是否相同,是则将所述协议包设置为匹配协议包,否则返回步骤A1;
步骤A3、记录所述匹配协议包,并将所述封装配置信息中的功能ID和命令ID填充到所述匹配协议包的对应位置。
具体地,所述步骤304包括:
步骤B1、判断所述标准协议是否为组合型协议,是则执行下一步,否则执行步骤B3;
步骤B2、根据所述标准协议所属的组合型协议类型,选择对应第一预设算法计算对应的车辆协议参数位数值,并将所述车辆协议参数位数值填充到所述匹配协议包中;
步骤B3、根据所述标准协议所属的数据类型,选择第二预设算法计算对应的车辆协议参数位数值;
步骤B4、将所述车辆协议参数位数值填充到所述匹配协议包中。
具体地,所述步骤B2包括:
步骤B2-1、遍历封装配置信息,确定所述封装配置信息的表位数量;
步骤B2-2、读取所述封装配置信息的当前表位,获取相关配置信息,计算标准协议值对应的车辆协议的参数位数值;
步骤B2-3、判断所述当前表位是否为所述封装配置信息中的最后一个表位,是则将所述参数位数值填充到所述匹配协议包的相应位置中,否则继续返回步骤B2-2。
具体地,所述步骤B2-2包括:
A)若所述当前表位为整数部分,则按照预设整数算法计算所述整数部分对应的车辆协议的参数位数值:
B)若所述当前表位为小数部分,则按照预设小数算法计算所述小数部分对应的车辆协议的参数位数值;
所述预设整数算法为:VehicleProtocolValue=floor(multi*floor(PropertyValue)+offset);
所述预设小数算法为:VehicleProtocolValue=floor(multi*(PropertyValue–floor(PropertyValue))+offset),
其中,PropertyValue表示标准协议中的标准协议值,multi表示位移系数,offset表示数值偏移量,VehicleProtocolValue表示该车辆协议参数位数值,floor表示向下取整运算。
具体地,所述步骤B3包括:读取标准协议的标准协议值PropertyValue,按照第二预设算法计算出车辆协议参数位数值;
所述第二预设算法为:
VehicleProtocolValue=floor(multi*PropertyValue+offset),
其中,PropertyValue表示标准协议中的标准协议值,multi表示位移系数,offset表示数值偏移量,VehicleProtocolValue表示该车辆协议参数位数值,floor表示向下取整运算。
本发明另一方面提供一种车辆通信数据封装装置,包括:依次连接的应用程序模块、标准协议转换模块、协议封装模块、二次封装模块、协议发送模块、ECU;
所述应用程序模块位于应用层,用于接收设定数据,并发送给标准协议转换模块;
所述标准协议转换模块位于框架层,用于将所述应用程序模块发送的设定数据转换为标准协议,并发送给协议封装模块;
所述协议封装模块位于硬件抽象层,用于将标准协议封装为车辆协议;
所述二次封装模块位于硬件抽象层,用于将所述车辆协议进行二次封装,生成最终的ECU协议;
所述协议发送模块位于硬件抽象层,用于发送最终的ECU协议到各ECU;
所述ECU位于硬件层,用于接收协议发送模块发送的最终的ECU协议,执行相关操作。
具体地,所述协议封装模块包括依次连接的封装配置单元、协议匹配单元、协议数值计算单元;
所述封装配置单元,用于确定标准协议的封装配置信息,并将封装配置信息发往协议匹配单元;
所述协议匹配单元,用于查找与封装配置信息匹配的协议包,并将封装配置信息中的功能ID和命令ID填充到匹配协议包的对应位置;
所述协议数值计算单元,用于按照预设算法计算标准协议值对应的车辆协议数值,并将所述车辆协议参数位数值填充到匹配协议包的对应位置。
本发明的有益效果在于:本发明通过接收设定数据并转化成标准协议,再根据预存的协议封装策略将标准协议封装为车辆协议,然后进行二次封装,得到最终的ECU协议发往相应的车辆ECU,实现了对应用程序向车辆发送的数据进行统一封装,简化了应用程序的复杂度,提高了应用程序的稳定性。
附图说明
图1是本发明的车辆通信数据封装方法的流程示意图;
图2是本发明的标准协议的帧格式示意图;
图3是本发明的空调温度设定标准协议的帧格式示意图;
图4是本发明的车辆协议的帧格式示意图;
图5是本发明的车辆通信数据封装装置的结构示意图。
具体实施方式
下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对本发明专利保护范围的限制。
实施例1
如图1所示,本实施例提供一种车辆通信数据封装方法,包括:
步骤1、接收设定数据。
在本实施例中,所述设定数据为用户发起的设定某项车辆状态的设定,例如将空调温度设定为20.5℃。
步骤2、将所述设定数据转化成标准协议。
在本实施例中,所述标准协议的帧格式如图2所示,包括:
1)协议ID:用于标识各功能协议,包括协议头、功能类型标识符、协议Index。
例如,空调温度设定的标准协议ID为PROP_HVAC_TEMPERATURE(0x11400801),其中右数第3、4位(08)表示功能类型标识符。
容易理解,字符串形式的协议ID(PROP_HVAC_TEMPERATURE)与十六进制数字表示的协议ID(0x11400801)是预先定义好的,这样在编程时使用表意的字符串型协议ID效率更高。
本实施例的功能类型标识符如表1所示。
表1
2)区域ID:用于表示协议作用的车辆区域,例如车窗区域、车镜区域、车门区域等。
3)协议状态:用于表示该协议是否可用。
4)标准协议值:用于表示具体的协议数值。
5)协议时间戳:用于表示协议接收时间。
例如,空调温度设定为20.5℃的标准协议的帧格式如图3所示。
步骤3、根据预存的协议封装策略将所述标准协议封装为车辆协议。
本实施例中的车辆协议的帧格式如图4所示,包括:
1)功能ID:表示协议的功能类型;
2)命令ID:表示协议功能类型种的命令类型;
3)长度:用于表示当前协议的字节长度;
4)参数1、2…n:表示协议内容。
步骤4、将所述车辆协议进行二次封装,得到最终的ECU协议。
二次封装包括协议头(包括ECU协议序号、ECU协议总长度等)填充,将车辆协议封装成车厂的ECU协议,这样相应的ECU才能识别到这条协议。
步骤5、将所述最终的ECU协议发往相应的车辆ECU。
实施例2
本实施例提供一种所述步骤3的具体方法,包括:
步骤301、通过所述标准协议的协议ID判断所述标准协议所属的功能类型。
例如,用户启动空调APP,点击设定空调温度为20.5℃,此时下发的标准协议所属类型为HVACFunc。
步骤302、根据所述功能类型确定对应的封装配置信息。
封装配置信息的确定方法为:截取协议ID中的功能类型标识符位,然后对比表1中的功能类型标识符位,获取匹配的封装配置信息(StandardProtocolConfigs)。
例如,空调温度设定协议ID为PROP_HVAC_TEMPERATURE(0x11400801),功能类型标识符位为08,通过表1对比获取到该协议ID属于HVACFunc类型,通过HVACFunc类型获取到封装配置信息HVACConfig。
封装配置信息是将标准协议与车辆协议关联在一起的信息,包含了汽车协议封装算法所必需的信息,既有标准协议的字段,也有车辆协议的字段,一般包括:协议ID、车辆协议参数位、区域ID、功能ID、命令ID、该位设定后是否需要重置回无效值、数值类型、组合的算法公式。
例如,空调温度设定的车辆协议对应的封装配置信息如下所示:
{
{PROP_HVAC_TEMPERATURE,INDEX_INT(1),AREA_HVAC_ID,FUNC_HVAC_ID,CMD_HVAC_ID,FALSE,INT,{1,0}},//表位1
{PROP_HVAC_TEMPERATURE,INDEX_DEC(0),AREA_HVAC_ID,FUNC_HVAC_ID,CMD_HVAC_ID,FALSE,INT,{10,0}},//表位2
}
这是一个二维数组,二维数组的每一行代表一个表位。
例如,上面所示的封装配置信息,第一行表示第一个表位(表位1),第二行表示第二个表位(表位2);每个表位各有8个元素。
表位1中,“PROP_HVAC_TEMPERATURE”表示空调温度设定的标准协议ID,“INDEX_INT”表示空调温度设定的车辆协议参数位,“AREA_HVAC_ID”表示空调温度设定的标准协议的区域ID,“FUNC_HVAC_ID”表示空调温度设定的车辆协议的功能ID,“CMD_HVAC_ID”表示空调温度设定的车辆协议的命令ID,“FALSE”表示空调温度设定的车辆协议设定后不需要重置回无效值,“INT”表示空调温度数值为整型,“{1,0}”表示空调温度设定的车辆协议的整数部分算法公式中位移系数为1,偏移量为0;
表位2中,“INDEX_DEC”表示空调温度设定的车辆协议参数位,“{10,0}”表示表示空调温度设定的车辆协议的小数部分算法公式中位移系数为10,偏移量为0。
步骤303、从预存的协议包集合(PreTables)中查找与所述封装配置信息匹配的协议包,并将所述封装配置信息中的功能ID和命令ID填充到匹配协议包的对应位置。
在本实施例中,所述协议包中含有车辆协议的帧序号、发送方、接收方、协议ID、功能ID、命令ID、长度、参数等。
所述协议包集合是按照所有的车辆协议的格式定义的缓存,其作用是:a)存储车辆协议的固定值(如协议长度等);b)静态申请缓存,减少动态申请缓存的耗时。
例如,车辆协议预存的协议包集合内包含:
协议包A:空调温度设定,协议ID为0x11400801,协议区域为车辆整车区域;
协议包B:空调风量设定,协议ID为0x11400802,协议区域为车辆前排区域;
协议包C:空调状态设定,协议ID为0x11400803,协议区域为车辆整车区域。
步骤304、遍历所述封装配置信息,计算所述标准协议中标准协议值对应的车辆协议参数位数值,并将所述车辆协议参数位数值填充到所述匹配协议包的对应位置,完成车辆协议的封装。
一条车辆协议有多少个参数位(参数1、2…n),在封装配置信息中就有多少个表位。每一个表位用来计算对应的参数位,每一个表位都有自己的算法。
例如空调温度车辆协议有2个参数位,封装配置信息就有2个表位,第一个参数位对应第一个表位,也就是上面步骤2.2示例中的第一表位(表位1),用它来计算车辆协议的整数部分,然后填充到车辆协议的第一个参数位中。
实施例3
本实施例提供一种所述步骤301的具体方法,包括:
步骤A1、获取协议ID与所述封装配置信息中的协议ID相同的协议包。
例如,空调温度设定的封装配置信息中的协议ID为0x11400801,所以查找到的空调温度设定预存协议包为协议包A。
步骤A2、判断所述协议包中的协议区域与所述封装配置信息中的协议区域是否相同,是则将所述协议包设置为匹配协议包,否则返回步骤A1。
例如,空调温度设定的封装配置信息中的协议区域为车辆整车区域,与协议包A中的协议区域相同,所以选择协议包A为匹配协议包。
步骤A3、记录所述匹配协议包,并将所述封装配置信息中的功能ID和命令ID填充到所述匹配协议包的对应位置。
例如,将空调温度设定的封装配置信息中的功能ID和命令ID填充到协议包A的对应位置。
实施例4
本实施例提供一种所述步骤304的具体方法,包括:
步骤B1、判断所述标准协议是否为组合型协议,是则执行下一步,否则执行步骤B3。
在本实施例中,所述组合型协议是指一条标准协议在车辆协议中需占用多个协议参数位,包括:组合Int类型、组合Float类型等。
组合Int类型表示该车辆协议是组合类型,标准协议值为Int类型。
例如,设定HUD的道路规划距离的车辆协议是由两个参数位组成,每一个参数位均为Int类型,然后通过封装配置信息表中的算法组成一个Int类型的数值。
组合Float类型表示该车辆协议是组合类型,标准协议值为Float类型。
例如,空调温度设定的标准协议记录温度为20.5,为组合Float类型,需占用空调温度设定的车辆协议由2个参数位组成,第1个参数位表示空调温度整数部分(例如20),第2个参数位表示空调温度小数部分(例如5)。
步骤B2、根据所述标准协议所属的组合型协议类型,选择对应第一预设算法计算对应的车辆协议参数位数值,并将所述车辆协议参数位数值填充到所述匹配协议包中。
例如,空调温度设定的组合型协议为组合Float类型,则本步骤选择组合Float类型算法进行处理。
在本实施例中,所述步骤B2包括:
步骤B2-1、遍历封装配置信息,确定所述封装配置信息的表位数量。
步骤B2-2、读取所述封装配置信息的当前表位,获取相关配置信息,计算标准协议值对应的车辆协议的参数位数值。
步骤B2-3、判断所述当前表位是否为所述封装配置信息中的最后一个表位,是则将所述参数位数值填充到所述匹配协议包的相应位置中,否则继续返回步骤B2-2。
在本实施例中,所述步骤B2-2包括:
A)若所述当前表位为整数部分,则按照预设整数算法计算所述整数部分对应的车辆协议的参数位数值:
B)若所述当前表位为小数部分,则按照预设小数算法计算所述小数部分对应的车辆协议的参数位数值。
所述预设整数算法为:VehicleProtocolValue=floor(multi*floor(PropertyValue)+offset);
所述预设小数算法为:VehicleProtocolValue=floor(multi*(PropertyValue–floor(PropertyValue))+offset)。
其中,PropertyValue表示标准协议中的标准协议值,multi表示位移系数,offset表示数值偏移量,VehicleProtocolValue表示该车辆协议参数位数值,floor表示向下取整运算。
在本实施例中,所述位移系数表示该数要左移几位或者右移几位,可以通过每一种功能类型的车辆协议格式定义;数值偏移量表示通过标准协议值与位移系数计算后的值与真实值的误差,可以通过车厂的ECU协议确定。
例如:a)当前遍历到空调温度设定协议的封装配置信息表的整数位表位,multi为1,offset为0,再读取标准协议中记录的PropertyValue(例如20.5),则VehicleProtocolValue=floor(1*floor(20.5)+0)=20。
b)当前遍历到空调温度设定协议的封装配置信息表的小数位表位,multi为10,offset为0,再读取标准协议中记录的PropertyValue(例如20.5),则VehicleProtocolValue=floor(10*(20.5-floor(20.5))+0)=5。
步骤B3、根据所述标准协议所属的数据类型,选择第二预设算法计算对应的车辆协议参数位数值。
在本实施例中,所述数据类型包括:Int类型、String类型。
Int类型表示该车辆协议是非组合类型,协议值为Int类型。
例如,用户打开空调动作协议为Int类型,选择封装配置信息表中对于表位的算法计算出一个Int类型数值。
String类型表示该车辆协议是非组合类型,协议值为String类型。
例如,通知HUD显示歌曲名协议为String类型,选择封装配置信息表中对应表位的算法计算出一个String类型数值。
在本实施例中,所述步骤B3包括:读取标准协议的标准协议值PropertyValue,按照第二预设算法计算出车辆协议参数位数值。
所述第二预设算法为:
VehicleProtocolValue=floor(multi*PropertyValue+offset)。
例如,当前遍历到空调开关设定协议的封装配置信息表的Configs表位multi为0.05625,offset为0,再读取标准协议中记录的标准协议数值PropertyValue为100000,则:
VehicleProtocolValue=floor(0.05625*100000+0)=5625。
步骤B4、将所述车辆协议参数位数值填充到所述匹配协议包中。
实施例5
如图5所示,本实施例提供一种车辆通信数据封装装置,包括:依次连接的应用程序模块、标准协议转换模块、协议封装模块、二次封装模块、协议发送模块、ECU;
所述应用程序模块位于应用层,用于接收设定数据,并发送给标准协议转换模块;
所述标准协议转换模块位于框架层,用于将所述应用程序模块发送的设定数据转换为标准协议,并发送给协议封装模块;
所述协议封装模块位于硬件抽象层,用于将标准协议封装为车辆协议;
所述二次封装模块位于硬件抽象层,用于将所述车辆协议进行二次封装,生成最终的ECU协议;
所述协议发送模块位于硬件抽象层,用于发送最终的ECU协议到各ECU;
所述ECU位于硬件层,用于接收协议发送模块发送的最终的ECU协议,执行相关操作。
在本实施例中,所述协议封装模块包括依次连接的封装配置单元、协议匹配单元、协议数值计算单元;
所述封装配置单元,用于确定标准协议的封装配置信息,并将封装配置信息发往协议匹配单元;
所述协议匹配单元,用于查找与封装配置信息匹配的协议包,并将封装配置信息中的功能ID和命令ID填充到匹配协议包的对应位置;
所述协议数值计算单元,用于按照预设算法计算标准协议值对应的车辆协议数值,并将所述车辆协议参数位数值填充到匹配协议包的对应位置。
以上所揭露的仅为本发明的较佳实施例,不能以此来限定本发明的权利保护范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。
Claims (7)
1.一种车辆通信数据封装方法,其特征在于,包括:
步骤1、接收设定数据;
步骤2、将所述设定数据转化成标准协议;
步骤3、根据预存的协议封装策略将所述标准协议封装为车辆协议;
步骤4、将所述车辆协议进行二次封装,得到最终的ECU协议;
步骤5、将所述最终的ECU协议发往相应的车辆ECU;
所述步骤3包括:
步骤301、通过所述标准协议的协议ID判断所述标准协议所属的功能类型;
步骤302、根据所述功能类型确定对应的封装配置信息;
步骤303、从预存的协议包集合中查找与所述封装配置信息匹配的协议包,并将所述封装配置信息中的功能ID和命令ID填充到匹配协议包的对应位置;
步骤304、遍历所述封装配置信息,计算所述标准协议中标准协议值对应的车辆协议参数位数值,并将所述车辆协议参数位数值填充到所述匹配协议包的对应位置,完成车辆协议的封装。
2.根据权利要求1所述的车辆通信数据封装方法,其特征在于,所述步骤301包括:
步骤A1、获取协议ID与所述封装配置信息中的协议ID相同的协议包;
步骤A2、判断所述协议包中的协议区域与所述封装配置信息中的协议区域是否相同,是则将所述协议包设置为匹配协议包,否则返回步骤A1;
步骤A3、记录所述匹配协议包,并将所述封装配置信息中的功能ID和命令ID填充到所述匹配协议包的对应位置。
3.根据权利要求1所述的车辆通信数据封装方法,其特征在于,所述步骤304包括:
步骤B1、判断所述标准协议是否为组合型协议,是则执行下一步,否则执行步骤B3;
步骤B2、根据所述标准协议所属的组合型协议类型,选择对应第一预设算法计算对应的车辆协议参数位数值,并将所述车辆协议参数位数值填充到所述匹配协议包中;
步骤B3、根据所述标准协议所属的数据类型,选择第二预设算法计算对应的车辆协议参数位数值;
步骤B4、将所述车辆协议参数位数值填充到所述匹配协议包中。
4.根据权利要求3所述的车辆通信数据封装方法,其特征在于,所述步骤B2包括:
步骤B2-1、遍历封装配置信息,确定所述封装配置信息的表位数量;
步骤B2-2、读取所述封装配置信息的当前表位,获取相关配置信息,计算标准协议值对应的车辆协议的参数位数值;
步骤B2-3、判断所述当前表位是否为所述封装配置信息中的最后一个表位,是则将所述参数位数值填充到所述匹配协议包的相应位置中,否则继续返回步骤B2-2。
5.根据权利要求4所述的车辆通信数据封装方法,其特征在于,所述步骤B2-2包括:
A)若所述当前表位为整数部分,则按照预设整数算法计算所述整数部分对应的车辆协议的参数位数值:
B)若所述当前表位为小数部分,则按照预设小数算法计算所述小数部分对应的车辆协议的参数位数值;
所述预设整数算法为:VehicleProtocolValue=floor(multi*
floor(PropertyValue)+offset);
所述预设小数算法为:VehicleProtocolValue=floor(multi*(PropertyValue–floor(PropertyValue))+offset),
其中,PropertyValue表示标准协议中的标准协议值,multi表示位移系数,offset表示数值偏移量,VehicleProtocolValue表示该车辆协议参数位数值,floor表示向下取整运算。
6.根据权利要求3所述的车辆通信数据封装方法,其特征在于,所述步骤B3包括:读取标准协议的标准协议值PropertyValue,按照第二预设算法计算出车辆协议参数位数值;
所述第二预设算法为:
VehicleProtocolValue=floor(multi*PropertyValue+offset),
其中,PropertyValue表示标准协议中的标准协议值,multi表示位移系数,offset表示数值偏移量,VehicleProtocolValue表示该车辆协议参数位数值,floor表示向下取整运算。
7.一种车辆通信数据封装装置,其特征在于,包括:依次连接的应用程序模块、标准协议转换模块、协议封装模块、二次封装模块、协议发送模块、ECU;
所述应用程序模块位于应用层,用于接收设定数据,并发送给标准协议转换模块;
所述标准协议转换模块位于框架层,用于将所述应用程序模块发送的设定数据转换为标准协议,并发送给协议封装模块;
所述协议封装模块位于硬件抽象层,用于将标准协议封装为车辆协议;
所述二次封装模块位于硬件抽象层,用于将所述车辆协议进行二次封装,生成最终的ECU协议;
所述协议发送模块位于硬件抽象层,用于发送最终的ECU协议到各ECU;
所述ECU位于硬件层,用于接收协议发送模块发送的最终的ECU协议,执行相关操作;
所述协议封装模块包括依次连接的封装配置单元、协议匹配单元、协议数值计算单元;
所述封装配置单元,用于确定标准协议的封装配置信息,并将封装配置信息发往协议匹配单元;
所述协议匹配单元,用于查找与封装配置信息匹配的协议包,并将封装配置信息中的功能ID和命令ID填充到匹配协议包的对应位置;
所述协议数值计算单元,用于按照预设算法计算标准协议值对应的车辆协议数值,并将所述车辆协议参数位数值填充到匹配协议包的对应位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110847275.9A CN113676458B (zh) | 2021-07-27 | 2021-07-27 | 一种车辆通信数据封装方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110847275.9A CN113676458B (zh) | 2021-07-27 | 2021-07-27 | 一种车辆通信数据封装方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676458A CN113676458A (zh) | 2021-11-19 |
CN113676458B true CN113676458B (zh) | 2023-06-13 |
Family
ID=78540230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110847275.9A Active CN113676458B (zh) | 2021-07-27 | 2021-07-27 | 一种车辆通信数据封装方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676458B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669442A (zh) * | 2018-12-25 | 2019-04-23 | 深圳市元征科技股份有限公司 | 一种协议转换方法及转换装置 |
CN111447231A (zh) * | 2020-03-28 | 2020-07-24 | 深圳市元征科技股份有限公司 | 一种车辆协议识别的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017063153A1 (zh) * | 2015-10-14 | 2017-04-20 | 海能达通信股份有限公司 | 协议格式转换方法、装置及接口平台 |
CN107864080A (zh) * | 2017-10-20 | 2018-03-30 | 深圳市元征软件开发有限公司 | 汽车通信方法、装置及计算机可读存储介质 |
CN110971567A (zh) * | 2018-09-29 | 2020-04-07 | 上海博泰悦臻网络技术服务有限公司 | 车辆、云服务器、车机设备、媒介器件及数据整合方法 |
CN110324222B (zh) * | 2019-07-05 | 2021-05-18 | 厦门金龙联合汽车工业有限公司 | 一种车辆can总线数据交互系统及其交互方法 |
CN112965468A (zh) * | 2021-02-22 | 2021-06-15 | 上海星融汽车科技有限公司 | 车辆ecu的诊断数据发送方法、接收方法及系统 |
-
2021
- 2021-07-27 CN CN202110847275.9A patent/CN113676458B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669442A (zh) * | 2018-12-25 | 2019-04-23 | 深圳市元征科技股份有限公司 | 一种协议转换方法及转换装置 |
CN111447231A (zh) * | 2020-03-28 | 2020-07-24 | 深圳市元征科技股份有限公司 | 一种车辆协议识别的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113676458A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112009002450T5 (de) | Thermostatzustandsbenachrichtigung über ein Netzwerk | |
CN110855686B (zh) | 一种spi协议通信方法、系统、设备及计算机存储介质 | |
CN104301802A (zh) | 用于流式传输音频或视频数据的数字装置、网络和方法 | |
WO2012034477A1 (zh) | 一种存储数据的方法及装置 | |
CN113676458B (zh) | 一种车辆通信数据封装方法及装置 | |
JP4827933B2 (ja) | データパケットを送信する方法およびデバイス | |
US6775714B1 (en) | Communication method, communication apparatus, communication system and providing medium | |
CN106878404B (zh) | 基于特征码的集中抄表方法 | |
CN112445160B (zh) | 一种ecu配置码的自动生成方法及装置 | |
WO2024001163A1 (zh) | 属性数据的转换方法和装置、存储介质及电子装置 | |
CN116521602A (zh) | 一种总线数据的传输方法和装置及存储介质 | |
CN113676874B (zh) | 一种车辆通信数据解析方法及装置 | |
KR100631736B1 (ko) | Ack 프레임 전송 방법 및 장치 | |
US8554966B2 (en) | Method for data exchange | |
WO2006004966A2 (en) | Ethernet controller with excess on-board flash for microcontroller interface | |
US20030115197A1 (en) | SNMP to CIM data mapper | |
CN101197959A (zh) | 一种终端的控制方法、系统和设备 | |
KR100539018B1 (ko) | 데이터 채널을 통해 수신되었거나 송신될 데이터 패킷을처리하기 위한 방법 및 장치 | |
JP5185920B2 (ja) | データパケット組み立て方法及びデバイス | |
CN113934650A (zh) | 一种基于ccsds的1553b内存动态分配方法 | |
CN112311862A (zh) | 一种多功能互联通讯协议系统及其数据状态维护流程 | |
CN1505887A (zh) | 接口电路 | |
JP2928579B2 (ja) | 同報通信制御方法 | |
CN111158810B (zh) | Hmi人机界面数据通信方法和hmi人机界面装置 | |
JP7284751B2 (ja) | 通信システム、マスタデバイス、スレーブデバイスおよび通信方法 |
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 |