can报文的封装系统技术方案

技术编号:37370456 阅读:10 留言:0更新日期:2023-04-27 07:15
本发明专利技术涉及汽车电子领域,具体涉及can报文的封装系统,包括:车机、微控制单元;车机包括应用层和中间件;中间件用于接收来自于应用层的业务指令,并按照预先设置的报文格式封装为第一can报文,发送至微控制单元;还用于接收来自于微控制单元的第二can报文,将第二can报文解析成can数据,并发送至应用层;微控制单元用于接收并解析第一can报文,并将解析后得到的控制指令发送至电子控制单元;微控制单元还用于从电子控制单元获取状态信息并按照报文格式封装为第二can报文。本发明专利技术引入中间件收到控制指令后会根据报文格式将其封装成can报文,微控制单元收到can报文后解析得到控制指令透传至电子控制单元即可。采用本系统可大大缩短can报文解析的周期,有效提高can报文解析的效率。的效率。的效率。

【技术实现步骤摘要】
can报文的封装系统


[0001]本专利技术涉及汽车电子领域,具体涉及can报文的封装系统。

技术介绍

[0002]整车can(Controller Area Network,控制器局域网络)总线是汽车域间通信的重要数据通路,承担着汽车内部各种电子控制单元(Electronic Control Unit,ECU)的运作职责。通常在can总线上会有一个专门的单片机做路由,将各种can报文解析分发到对手端,比如座舱车辆接口单元(Vehicle interface unit,VIU),车控VIU。车机内空调,车辆设置,场景模式等众多应用根据解析过的can报文获取到所需要的信息,或是将自身的信号包装成can报文下发,当然这些对can报文的复杂处理并不在应用内部进行,这时就需要一个专门的模块进行can报文的解析,组装,分发。而根据车型项目的不同,整车can报文矩阵也有不小的差异,在业务逻辑层对can报文的解析和分发往往需要耗费开发人员巨大的精力,而且代码不具有适配多种车型的能力。现有技术中can报文的封装系统逐帧读取can报文,对于单个或少量DBC(Database Can,CAN数据库)文件操作起来或许并不麻烦,但当大量can报文上传时处理起来较为繁琐,在周期性can报文中,还需要对特定信号清零处理,如果考虑周期上传,微控制单元(Microcontroller Unit,MCU)就需要维持一个庞大的数据表来存储can信号值,这对于低频,内存有限的MCU来说容易过载。

技术实现思路

[0003]鉴于以上所述现有技术的缺点,本专利技术提供can报文的封装系统,引入通信中间件并根据报文格式将指令封装成can报文,MCU只需要根据报文格式对can报文进行解析,简化MCU功能,以解决上述技术问题。
[0004]本专利技术提供的can报文的封装系统,包括:车机、微控制单元;所述车机包括应用层和中间件;
[0005]所述应用层用于向所述中间件发送业务指令;
[0006]所述中间件用于接收来自于所述应用层的业务指令,并将所述业务指令按照预先设置的报文格式封装为第一can报文,并发送至所述微控制单元;还用于接收来自于所述微控制单元的第二can报文,将第二can报文解析成can数据,并发送至所述应用层;
[0007]所述应用层还用于接收所述can数据;
[0008]所述微控制单元用于接收并解析所述第一can报文,并将解析后得到的控制指令发送至电子控制单元;
[0009]所述微控制单元还用于从所述电子控制单元获取状态信息并按照所述报文格式封装为第二can报文发送至所述中间件。
[0010]于本专利技术的一实施例中,当所述中间件接收到所述业务指令时,将所述业务指令的can标识和报文内容按照所述报文格式封装为所述第一can报文。
[0011]于本专利技术的一实施例中,所述中间件根据所述can标识获取对应的清零的起始位、
清零的数据长度、清零前要发送的帧数、清零前发送的帧间隔,并将所述can标识、所述报文内容、所述清零的起始位、所述清零的数据长度、所述清零前要发送的帧数和所述清零前发送的帧间隔按照所述报文格式封装为所述第一can报文。
[0012]于本专利技术的一实施例中,所述中间件按照如下步骤进行第一can报文封装:
[0013]将所述业务指令中的can标识填入第一can报文的字节0至字节1;
[0014]将所述业务指令中的报文内容填入第一can报文的字节2至字节9。
[0015]于本专利技术的一实施例中,所述中间件按照如下步骤进行第一can报文封装:
[0016]将所述业务指令中的can标识填入第一can报文的字节0至字节1;
[0017]将所述业务指令中的报文内容填入第一can报文的字节2至字节9;
[0018]将所述业务指令中要清零的起始位填入第一can报文的字节10至字节11;
[0019]将所述业务指令中要清零的数据长度填入第一can报文的字节12至字节13;
[0020]将所述业务指令中清零前要发送的帧数填入第一can报文的字节14至字节15;
[0021]将所述业务指令中清零前发送的帧间隔填入第一can报文的字节16至字节17。
[0022]于本专利技术的一实施例中,所述微控制单元获取到所述状态信息后,将所述状态信息的can标识和报文内容按照所述报文格式封装为第二can报文。
[0023]于本专利技术的一实施例中,所述微控制单元按照如下步骤进行第二can报文封装:
[0024]将所述状态信息中的can标识填入第二can报文的字节0至字节1;
[0025]将所述状态信息中的报文内容填入第二can报文的字节2至字节9。
[0026]于本专利技术的一实施例中,所述应用层还用于向中间件发送获取状态指令;
[0027]所述中间件还用于按照所述报文格式将所述获取状态指令封装为获取状态can报文,并发送至所述微控制单元;
[0028]所述微控制单元还用于接收并解析所述获取状态can报文并根据解析后的获取状态内容向所述电子控制单元获取所述状态信息。
[0029]于本专利技术的一实施例中,所述中间件根据所述获取状态指令的can标识获取变化的起始位和变化的报文长度,并将所述can标识、所述变化的起始位和所述变化的报文长度按照所述报文格式封装为所述获取状态can报文。
[0030]于本专利技术的一实施例中,所述中间件按照如下步骤进行获取状态can报文封装:
[0031]将所述获取状态指令的can标识填入获取状态can报文的字节0至字节1;
[0032]将所述获取状态指令中变化的起始位填入获取状态can报文的字节2至字节3;
[0033]将所述获取状态指令中变化的报文长度填入获取状态can报文的字节4至字节5。
[0034]本专利技术的有益效果:本专利技术引入中间件将业务逻辑与封装格式相区分,上层APP不用关心底层can信号格式。中间件承接应用层的控制指令,收到指令后会根据不同的can标识将其原始数据和控制信息根据报文格式进行封装。MCU不再需要维护一个动态表,收到can报文后只需要根据报文格式解析得到控制指令透传至电子控制单元即可,简化了MCU功能。采用这一系统可大大缩短can报文解析的周期,有效提高can报文解析的效率。
[0035]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0036]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0037]图1是本专利技术的实施例所提供的can报文的封装系统的结构示意图;
[0038]图2是本专利技术的实施例所提供的can报文的封装系统的c本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.can报文的封装系统,其特征在于,包括:车机、微控制单元;所述车机包括应用层和中间件;所述应用层用于向所述中间件发送业务指令;所述中间件用于接收来自于所述应用层的业务指令,并将所述业务指令按照预先设置的报文格式封装为第一can报文,并发送至所述微控制单元;还用于接收来自于所述微控制单元的第二can报文,将第二can报文解析成can数据,并发送至所述应用层;所述应用层还用于接收所述can数据;所述微控制单元用于接收并解析所述第一can报文,并将解析后得到的控制指令发送至电子控制单元;所述微控制单元还用于从所述电子控制单元获取状态信息并按照所述报文格式封装为第二can报文发送至所述中间件。2.根据权利要求1所述的can报文的封装系统,其特征在于,当所述中间件接收到所述业务指令时,将所述业务指令的can标识和报文内容按照所述报文格式封装为所述第一can报文。3.根据权利要求2所述的can报文的封装系统,其特征在于,所述中间件根据所述can标识获取对应的清零的起始位、清零的数据长度、清零前要发送的帧数、清零前发送的帧间隔,并将所述can标识、所述报文内容、所述清零的起始位、所述清零的数据长度、所述清零前要发送的帧数和所述清零前发送的帧间隔按照所述报文格式封装为所述第一can报文。4.根据权利要求2所述的can报文的封装系统,其特征在于,所述中间件按照如下步骤进行第一can报文封装:将所述业务指令中的can标识填入第一can报文的字节0至字节1;将所述业务指令中的报文内容填入第一can报文的字节2至字节9。5.根据权利要求3所述的can报文的封装系统,其特征在于,所述中间件按照如下步骤进行第一can报文封装:将所述业务指令中的can标识填入第一can报文的字节0至字节1;将所述业务指令中的报文内容填入第一can报文的字节2至字节9;将所述业务指令中要清零...

【专利技术属性】
技术研发人员:陈博宇
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1