网关系统和网关控制方法与流程

文档序号:25035984发布日期:2021-05-11 17:08阅读:152来源:国知局
网关系统和网关控制方法与流程

本发明涉及通信技术领域,特别涉及一种网关系统和网关控制方法。



背景技术:

针对当前实车的一些偶发故障和失效,反映到总线上的现象一般是故障发生过程中can总线错误帧明显增多或者总线信号质量较差。但是,由于当前出现错误帧的报文并无记录,导致工程师无法拿到原始的带有错误帧的数据,并且,当前can总线物理层的波形信息并无记录,导致无法分析物理总线信号质量,使得工程师很难对故障进行排查分析。



技术实现要素:

有鉴于此,本发明旨在提出一种网关系统,以便于工程师对故障进行排查分析。

为达到上述目的,本发明的技术方案是这样实现的:

一种网关系统,所述网关系统包括:微控制单元、微处理器以及至少一个采样芯片,其中,所述微控制单元与所述微处理器连接,用于接收数据收集指令,在接收到所述数据收集指令后,发送开始收集指令给所述微处理器并收集can总线数据,在收集到can总线数据后,发送所收集的can总线数据给所述微处理器;所述微处理器与所述至少一个采样芯片连接,用于在接收到所述开始收集指令后,发送采样指令以控制所述至少一个采样芯片对can总线物理层波形进行采集以得到离散电压数据;所述微处理器还用于从所述离散电压数据中提取错误帧,接收所收集的can总线数据,以及上传所收集的can总线数据、所述离散电压数据以及所述错误帧的信息至服务器。

进一步的,所述离散电压数据包括can_h电压数据和can_l电压数据,所述微处理器用于:根据所述can_h电压数据和所述can_l电压数据,检测当前报文的帧起始;在检测到当前报文的帧起始后,根据所述can_h电压数据和所述can_l电压数据,检测所述当前报文的错误帧;在检测到所述错误帧时,对所述当前报文的错误帧增加时间戳并打包以提取所述当前报文的错误帧。

进一步的,在检测到所述can_h电压和所述can_l电压维持在第一预设值的时间大于第一预设时间后,所述can_h电压变为第二预设值且所述can_l电压变为第三预设值时,检测到所述当前报文的帧起始;在检测到所述can_h电压和所述can_l电压维持在第一预设值的时间大于第二预设时间,或所述can_h电压维持在第二预设值的时间大于所述第二预设时间且所述can_l电压维持在第三预设值的时间大于所述第二预设时间时,检测到所述当前报文的错误帧。

进一步的,在检测到当前报文的帧起始后第三预设时间未检测到所述当前报文的错误帧时,检测下一报文的帧起始。

进一步的,所述网关系统还包括存储器,与所述微处理器连接,用于接收并存储所述微处理器发送的所收集的can总线数据、所述离散电压数据以及所述错误帧的信息;所述微控制单元还用于在判断满足上传数据至服务器的条件时,发送上传指令至所述微处理器;所述微处理器上传所收集的can总线数据、所述离散电压数据以及所述错误帧的信息至服务器包括:所述微处理器在接收到所述上传指令时,从所述存储器读取所收集的can总线数据、所述离散电压数据以及所述错误帧的信息,以上传至服务器。

相对于现有技术,本发明所述的网关系统具有以下优势:

本发明获取了错误帧信息,保证工程师能够拿到带有错误帧的原始can总线数据,同时,增加了对can总线物理层波形信息的记录和上传,能够支持工程师对物理总线信号质量进行分析。

本发明的另一目的在于提出一种网关控制方法,以便于工程师对故障进行排查分析。

为达到上述目的,本发明的技术方案是这样实现的:

一种网关控制方法,所述网关控制方法包括:微控制单元接收数据收集指令;所述微控制单元在接收到所述数据收集指令后,发送开始收集指令给微处理器并收集can总线数据;所述微控制单元在收集到can总线数据后,发送所收集的can总线数据给所述微处理器;所述微处理器在接收到所述开始收集指令后,发送采样指令以控制至少一个采样芯片对can总线物理层波形进行采集以得到离散电压数据;所述微处理器从所述离散电压数据中提取错误帧,接收所收集的can总线数据;所述微处理器上传所收集的can总线数据、所述离散电压数据以及所述错误帧的信息至服务器。

进一步的,所述离散电压数据包括can_h电压数据和can_l电压数据,所述微处理器从所述离散电压数据中提取错误帧包括:所述微处理器根据所述can_h电压数据和所述can_l电压数据,检测当前报文的帧起始;所述微处理器在检测到当前报文的帧起始后,根据所述can_h电压数据和所述can_l电压数据,检测所述当前报文的错误帧;所述微处理器在检测到所述错误帧时,对所述当前报文的错误帧增加时间戳并打包以提取所述当前报文的错误帧。

进一步的,所述微处理器根据所述can_h电压数据和所述can_l电压数据,检测当前报文的帧起始包括:所述微处理器在检测到所述can_h电压和所述can_l电压维持在第一预设值的时间大于第一预设时间后,所述can_h电压变为第二预设值且所述can_l电压变为第三预设值时,检测到所述当前报文的帧起始;所述微处理器根据所述can_h电压数据和所述can_l电压数据,检测所述当前报文的错误帧包括:所述微处理器在检测到所述can_h电压和所述can_l电压维持在第一预设值的时间大于第二预设时间,或所述can_h电压维持在第二预设值的时间大于所述第二预设时间且所述can_l电压维持在第三预设值的时间大于所述第二预设时间时,检测到所述当前报文的错误帧。

进一步的,该方法包括:所述微处理器在检测到当前报文的帧起始后第三预设时间未检测到所述当前报文的错误帧时,检测下一报文的帧起始。

进一步的,该方法还包括:存储器接收并存储所述微处理器发送的所收集的can总线数据、所述离散电压数据以及所述错误帧的信息;所述微控制单元在判断满足上传数据至服务器的条件时,发送上传指令至所述微处理器;所述微处理器上传所收集的can总线数据、所述离散电压数据以及所述错误帧的信息至服务器包括:所述微处理器在接收到所述上传指令时,从所述存储器读取所收集的can总线数据、所述离散电压数据以及所述错误帧的信息,以上传至服务器。

上述网关控制方法与上述网关系统相对于现有技术所具有的优势相同,在此不再赘述。

本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施方式及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明一实施例提供的网关系统的结构框图;

图2是本发明另一实施例提供的网关系统的结构框图;

图3是本发明一实施例提供的网关控制方法的流程图;

图4是本发明一实施例提供的提取错误帧的方法的流程图;

图5是本发明另一实施例提供的提取错误帧的方法的流程图;

图6是本发明另一实施例提供的网关控制方法的流程图。

附图标记说明:

1微控制单元2微处理器

3采样芯片4存储器

5电源管理芯片6can收发器

7can控制器8以太网收发器

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施方式及实施方式中的特征可以相互组合。

下面将参考附图并结合实施方式来详细说明本发明。

图1是本发明一实施例提供的网关系统的结构框图。如图1所示,所述网关系统包括:微控制单元1、微处理器2以及至少一个采样芯片3,其中,所述微控制单元1与所述微处理器2连接,用于接收数据收集指令,在接收到所述数据收集指令后,发送开始收集指令给所述微处理器2并收集can总线数据,在收集到can总线数据后,发送所收集的can总线数据给所述微处理器;所述微处理器2与所述至少一个采样芯片连接,用于在接收到所述开始收集指令后,发送采样指令以控制所述至少一个采样芯片3对can总线物理层波形进行采集以得到离散电压数据;所述微处理器2还用于从所述离散电压数据中提取错误帧,接收所收集的can总线数据,以及上传所收集的can总线数据、所述离散电压数据以及所述错误帧的信息至服务器。

例如,微处理器2(microprocessorunit,mpu)的处理性能远高于微控制单元1(microcontrollerunit,mcu),可用于处理大量数据,每个can网段均配备一颗采样芯片3(例如ad采样芯片3),该芯片可以将can总线中的物理层波形采样成离散的数字电压值传递给mpu进行处理。mcu和mpu之间例如可以使用rgmii(100mbps)和spi(15-30mbps)接口进行连接,分别用于传输大量数据和控制数据。

首先,mcu接收到对can总线的数据收集指令后,解析指令并通知mpu(例如发送开始收集指令)开始数据收集。mcu收集can总线数据,mpu发送采样指令以控制ad采样芯片3以一定的采样率(以能正常还原出总线波形为准)对总线中的can总线物理层波形进行采样得到离散电压数据,mpu通过内部软件算法,从采样后的数据中提取出错误帧。mcu将收集并打包的can总线数据传输给mpu,mpu将can总线数据、离散电压数据以及错误帧的信息至服务器。

mpu发送离散电压数据需要进行打包,离散电压数据的打包方式可以是:

现有网关中,mcu可以从总线中获取时间,并根据总线中的时间信息对收集到的每一帧总线报文标记时间戳,那么mcu将开始收集的时间信息发送给mpu,mpu可根据起始时间自行计时,对收集的离散电压数据进行时间标记和打包,该机制可以为数据使用者提供每条数据的时间信息。

在此基础上,可以给每个离散电压值分配对应的网段编号信息和时间信息,以便在工程人员拿到信息后,可通过excel工具通过简单的图表工具自动生成对应波形,便于查看,例如表1:

表1离散电压数据分包格式

另外,本发明提供一种mpu提取错误帧的方式如下:

第一,错误帧的产生机制是,当can总线中任意一个电子控制单元(electroniccontrolunit,ecu)检测到can总线中发生错误时(位错误、crc错误、格式错误等等),都会向can总线发送错误标识,错误标识是大于等于连续6个隐性位或者显性位,最长持续12位,带有错误标识的报文则被称为错误帧。

第二,离散电压数据包括can_h电压数据和can_l电压数据,mpu用于:

首先,根据所述can_h电压数据和所述can_l电压数据,检测当前报文的帧起始(代表着报文的开始);

详细来说,可以在检测到所述can_h电压和所述can_l电压维持在第一预设值(例如2.5v±0.3v)的时间大于第一预设时间(例如11×n×(1/f),其中f为采样频率,n为每位采样的次数,即n=f/x,x为通讯速率,下同)后,所述can_h电压变为第二预设值(例如3.5v±0.5v)且所述can_l电压变为第三预设值(例如1.5v±0.5v)时,检测到所述当前报文的帧起始。

接着,在检测到当前报文的帧起始后,根据所述can_h电压数据和所述can_l电压数据,检测所述当前报文的错误帧;

详细来说,在检测到所述can_h电压和所述can_l电压维持在第一预设值(例如2.5v±0.3v)的时间大于第二预设时间(例如6×n×(1/f)),或所述can_h电压维持在第二预设值(例如3.5v±0.5v)的时间大于所述第二预设时间(例如6×n×(1/f))且所述can_l电压维持在第三预设值(1.5v±0.5v)的时间大于所述第二预设时间(例如6×n×(1/f))时,检测到所述当前报文的错误帧。

最后,在检测到所述错误帧时,对所述当前报文的错误帧增加时间戳并打包以提取所述当前报文的错误帧。

详细来说,mpu可以对错误帧进行时间标记和打包。对错误帧增加的时间戳,例如可以是检测到当前报文的错误帧时的最后一个离散电压数据的时间戳。

另外,进一步的,在检测到当前报文的帧起始后第三预设时间(例如120×n×(1/f))未检测到所述当前报文的错误帧时,检测下一报文的帧起始。

图2是本发明另一实施例提供的网关系统的结构框图。如图2所示,所述网关系统还包括:

存储器4,与所述微处理器2连接,用于接收并存储所述微处理器发送的所收集的can总线数据、所述离散电压数据以及所述错误帧的信息;该存储器4可以是emmc或flash,由于mpu的数据处理能力强,其数据存储和读取速度也远高于mcu,所以使用mpu对emmc或flash进行读写的效率相比mcu会有数倍提升;

电源管理芯片(例如pmic)5,连接所述微处理器2和微控制单元1,mpu的加入势必对功耗、上电时序等功能有更多要求,加入高性能pmic同时管理mcu和mpu。

can收发器6和can控制器7,can收发器6与微控制单元1连接,用于供mcu进行数据的收发。发送数据时负责将can控制器7发出的数据流转化为can总线上的物理电平,接收数据时负责将can总线上的物理电平转化为can控制器7能够识别的数据流,需要注意的是,can总线信号为差分信号,所以每条can网段均由can_h和can_l两根数据线组成。

以太网收发器8,与所述微处理器2连接,以太网收发器8作用与can收发器6基本相同,但传输速率更快,能达到100mbps~1gbps。由于mpu主要负责数据在存储器4中的读写,那么使用mpu直接通过以太网上传数据的效率最高,否则还需要将大量数据回传到mcu后再进行上传,浪费硬件资源。

如果网关系统包括存储器4,微控制单元1还用于在判断满足上传数据至服务器的条件时,发送上传指令至所述微处理器2;所述微处理器2可以在接收到所述上传指令时,才从所述存储器4读取所收集的can总线数据、所述离散电压数据以及所述错误帧的信息,通过t-box上传至服务器,而不是在接收到所收集的can总线数据,得到离散电压数据以及提取错误帧之后直接上传。

图3是本发明一实施例提供的网关控制方法的流程图。如图3所示,所述网关控制方法包括:

步骤s31,微控制单元接收数据收集指令;

步骤s32,所述微控制单元在接收到所述数据收集指令后,发送开始收集指令给微处理器并收集can总线数据;

步骤s33,所述微控制单元在收集到can总线数据后,发送所收集的can总线数据给所述微处理器;

步骤s34,所述微处理器在接收到所述开始收集指令后,发送采样指令以控制至少一个采样芯片对can总线物理层波形进行采集以得到离散电压数据;

步骤s35,所述微处理器从所述离散电压数据中提取错误帧,接收所收集的can总线数据;

步骤s36,所述微处理器上传所收集的can总线数据、所述离散电压数据以及所述错误帧的信息至服务器。

图4是本发明一实施例提供的提取错误帧的方法的流程图。如图4所示,该方法包括:

步骤s41,所述微处理器根据所述can_h电压数据和所述can_l电压数据,检测当前报文的帧起始;

步骤s42,所述微处理器在检测到当前报文的帧起始后,根据所述can_h电压数据和所述can_l电压数据,检测所述当前报文的错误帧;

步骤s43,所述微处理器在检测到所述错误帧时,对所述当前报文的错误帧增加时间戳并打包以提取所述当前报文的错误帧。

图5是本发明另一实施例提供的提取错误帧的方法的流程图。如图5所示,该方法包括:

步骤s51,所述微处理器在检测到所述can_h电压和所述can_l电压维持在第一预设值的时间大于第一预设时间后,所述can_h电压变为第二预设值且所述can_l电压变为第三预设值时,检测到所述当前报文的帧起始;

步骤s52,在检测到当前报文的帧起始后,所述微处理器在检测到所述can_h电压和所述can_l电压维持在第一预设值的时间大于第二预设时间,或所述can_h电压维持在第二预设值的时间大于所述第二预设时间且所述can_l电压维持在第三预设值的时间大于所述第二预设时间时,检测到所述当前报文的错误帧;

步骤s53,所述微处理器在检测到所述错误帧时,对所述当前报文的错误帧增加时间戳并打包以提取所述当前报文的错误帧。

图6是本发明另一实施例提供的网关控制方法的流程图。如图6所示,该方法包括:

步骤s61,存储器接收并存储所述微处理器发送的所收集的can总线数据、所述离散电压数据以及所述错误帧的信息;

步骤s62,所述微控制单元在判断满足上传数据至服务器的条件时,发送上传指令至所述微处理器;

步骤s63,所述微处理器在接收到所述上传指令时,从所述存储器读取所收集的can总线数据、所述离散电压数据以及所述错误帧的信息,以上传至服务器。

进一步的,该方法包括:所述微处理器在检测到当前报文的帧起始后第三预设时间未检测到所述当前报文的错误帧时,检测下一报文的帧起始。

上文所述的网关控制方法的实施例与上文所述的网关系统的实施例类似,在此不再赘述。

以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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