一种汽车CAN数据转换输出的方法及系统技术方案

技术编号:35165543 阅读:33 留言:0更新日期:2022-10-12 17:27
本发明专利技术提供了一种汽车CAN数据转换输出的方法及系统,该方法包括:S1,新建CAN接收线程和数据更新线程,建立环形缓冲区用于线程间通信;S2,CAN接收线程用于从汽车CAN总线网络中接收数据,并且将数据写到环形缓冲区;S3,数据更新线程用于从环形缓冲区读取数据,根据CAN报文中的CAN标识符确定相应的转换项目;S4,根据转换项目的属性进行CAN数据转换、更新;S5,输出更新后的数据。本申请中,仅仅通过两根CAN线接入汽车网络,在加装各种产品时使用此系统进行连接可以减少线束,隔离电源减少风险等,可以使得汽车出现故障时排查问题源头的难度大大降低。大大降低。大大降低。

【技术实现步骤摘要】
一种汽车CAN数据转换输出的方法及系统


[0001]本专利技术属于交通工具领域,具体而言,涉及一种汽车CAN数据转换输出的方法及系统。

技术介绍

[0002]在一些老旧的汽车中虽然使用CAN总线网络减少了大量的线束,但仍有些器件同时使用线束连接,市面上一些加装氛围灯直接通过连接大灯的线束给氛围灯供电,这样当加装的设备出现短路时容易给车辆造成损害。市面上一些通过线路连接的产品因为车辆的差异而无法做到兼容,例如:使用线路的方式获取转向灯的信号状态时,有的车辆的线路是连接到了转向灯的信号上(此信号是会随着灯闪跳动的),有的车辆的线路是连接到转向摇杆上(此信号是跟随摇杆的状态固定的)。

技术实现思路

[0003]本申请实施例提供了一种汽车CAN数据转换输出的方法及装置,仅仅通过两根CAN线接入汽车网络,在加装各种产品时使用此系统进行连接能够减少线束,隔离电源减少风险等,能够使得汽车出现故障时排查问题源头的难度大大降低。
[0004]第一方面,本申请实施例提供了一种汽车CAN数据转换输出的方法,包括:S1,新建CAN接收线程和数据更新线程,建立环形缓冲区用于线程间通信;S2,所述CAN接收线程用于从汽车CAN总线网络中接收数据,并且将数据写到环形缓冲区;S3,所述数据更新线程用于从环形缓冲区读取数据,根据CAN报文中的CAN标识符确定相应的转换项目;S4,根据转换项目的属性进行CAN数据转换、更新;S5,输出更新后的数据。
[0005]其中,步骤S1还包括:从FLASH中读取查找表,根据表中的CAN标识符列表初始化CAN ID过滤器,初始化各个输出,设置USART输出串口波特率。
[0006]其中,步骤S3包括:数据更新线程用于从环形缓冲区读取数据,以CAN报文中的CAN标识符作为查找表的键值进行查找,确定CAN标识符是哪些转换项目拥有,不同的转换项目可以拥有不同的CAN标识符;然后转到相应的转换项目中处理。
[0007]其中,步骤S4包括:数据转换时根据此项目的属性判断是否直接取值,一个转换项目的数据变化如果是状态的变化,则需要对数据进行操作,从CAN报文中的位置读取到数据后根据项目的操作符进行操作;如果是数值的变化,则直接取值,根据数据在CAN报文中的位置读取数据。
[0008]其中,步骤S5包括:数据更新后则进行相应的输出更新,对于12V I/O输出口、DAC电压输出口来说,数
据更新后输出立即更新,对于USART输出来说,所有转换项目数据更新后将其打包到串口协议中,该协议包括协议头、数据长度、数据内容、CRC校验,之后以100毫秒的周期发送出去。
[0009]其中,还包括:使用8个12V的输出口表示部件状态,所述部件包括档位、转向、车门、灯光、雷达,使用1个红色LED灯和1个绿色LED灯作为结果信息指示,使用USART接口发送车身信息,使用4通道DAC输出电压表示参数强度,所述参数包括雷达、速度、转向角度。
[0010]其中,步骤S1之前还包括:系统上电后通过SPI接口检测TF卡是否插入,此时绿灯红灯均为常灭状态,当检测到TF插入并且根目录下存在升级文件update.bin时进入升级模式绿灯亮起;如果0.5秒后仍未检测到TF卡则正常启动系统,红灯亮起。
[0011]其中,升级数据的过程包括:步骤1:在开拓新的车型时,对车辆进行一次数据采集与分析;步骤2:用CAN采集器连接到汽车CAN总线网络,对当前采集项目进行重复操作,当采集档位数据时,往复挂入倒挡、空挡,观察采集到的数据变化进行筛选;这种变化不止一个CAN ID标识符体现出来,对于状态变化的,选择仅仅变化一个比特位的数据,对于数值变化的,选择变化一个字节的数据;步骤3:将采集到的数据与对应的项目按照升级文件的格式写入到一个文本文件,所有项目采集完成后将文件名改成update.bin放到TF卡的根目录;步骤4:插入TF卡进行系统上电,此时如果升级文件的名字与内容格式正确则绿色LED灯会亮起,指示正在升级数据文件;步骤5:解析器从文件中逐行读取数据,“<”表示当前转换项目的名称的开始,“>”表示结束,名称当前行还包括CAN标识符ID、数据位置,使用空格隔开;读取完一项后,以该项的CAN标识符作为键值构建哈希表,不同的项目可能使用相同的CAN标识符,需要指明该标识符包含多少个项目;将所有项目的哈希表保存到FLASH中;步骤6:数据保存完成之后绿色LED灯会闪烁指示数据升级成功,等待拔出TF卡完成升级。
[0012]第二方面,本申请提供了一种汽车CAN数据转换输出的系统,包括:数据解析更新输出模块,所述数据解析更新输出模块连接有I/O输出端口、USART输出端口和DAC电压输出端口,所述数据解析更新输出模块用于:新建CAN接收线程和数据更新线程,建立环形缓冲区用于线程间通信;所述CAN接收线程用于从汽车CAN总线网络中接收数据,并且将数据写到环形缓冲区;所述数据更新线程用于从环形缓冲区读取数据,根据CAN报文中的CAN标识符确定相应的转换项目;根据转换项目的属性进行CAN数据转换、更新;输出更新后的数据。
[0013]第三方面,本申请提供了一种汽车,包括上述汽车CAN数据转换输出的系统。
[0014]本申请实施例汽车CAN数据转换输出的方法及系统具有如下有益效果:本申请中,仅仅通过两根CAN线接入汽车网络,在加装各种产品时使用此系统进行连接可以减少线束,隔离电源减少风险等,可以使得汽车出现故障时排查问题源头的难度
大大降低。本申请中,将汽车的CAN数据转换成为通用的输出,对于不同的汽车加装产品都有着很大的兼容性。
附图说明
[0015]图1为本申请实施例汽车CAN数据转换输出的方法流程示意图;图2为本申请实施例汽车CAN数据转换输出的方法另一种流程示意图;图3为本申请实施例汽车CAN数据转换输出的系统的结构示意图。
具体实施方式
[0016]下面结合附图和实施例对本申请进行进一步的介绍。
[0017]在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本专利技术的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
[0018]下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
[0019]汽车的保有量在逐年增长,汽车变得越来越本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种汽车CAN数据转换输出的方法,其特征在于,包括:S1,新建CAN接收线程和数据更新线程,建立环形缓冲区用于线程间通信;S2,所述CAN接收线程用于从汽车CAN总线网络中接收数据,并且将数据写到环形缓冲区;S3,所述数据更新线程用于从环形缓冲区读取数据,根据CAN报文中的CAN标识符确定相应的转换项目;S4,根据转换项目的属性进行CAN数据转换、更新;S5,输出更新后的数据。2.根据权利要求1所述汽车CAN数据转换输出的方法,其特征在于,步骤S1还包括:从FLASH中读取查找表,根据表中的CAN标识符列表初始化CAN ID过滤器,初始化各个输出,设置USART输出串口波特率。3.根据权利要求2所述汽车CAN数据转换输出的方法,其特征在于,步骤S3包括:数据更新线程用于从环形缓冲区读取数据,以CAN报文中的CAN标识符作为查找表的键值进行查找,确定CAN标识符是哪些转换项目拥有,不同的转换项目可以拥有不同的CAN标识符;然后转到相应的转换项目中处理。4.根据权利要求1

3任一项所述汽车CAN数据转换输出的方法,其特征在于,步骤S4包括:数据转换时根据此项目的属性判断是否直接取值,一个转换项目的数据变化如果是状态的变化,则需要对数据进行操作,从CAN报文中的位置读取到数据后根据项目的操作符进行操作;如果是数值的变化,则直接取值,根据数据在CAN报文中的位置读取数据。5.根据权利要求1

3任一项所述汽车CAN数据转换输出的方法,其特征在于,步骤S5包括:数据更新后则进行相应的输出更新,对于12V I/O输出口、DAC电压输出口来说,数据更新后输出立即更新,对于USART输出来说,所有转换项目数据更新后将其打包到串口协议中,该协议包括协议头、数据长度、数据内容、CRC校验,之后以100毫秒的周期发送出去。6.根据权利要求1

3任一项所述汽车CAN数据转换输出的方法,其特征在于,还包括:使用8个12V的输出口表示部件状态,所述部件包括档位、转向、车门、灯光、雷达,使用1个红色LED灯和1个绿色LED灯作为结果信息指示,使用USART接口发送车身信息,使用4通道DAC输出电压表示参数强度,所述参数包括雷达、速度、转向角度。7.根据权利要求1

【专利技术属性】
技术研发人员:覃杰德曾宪玮
申请(专利权)人:广州路派电子科技有限公司
类型:发明
国别省市:

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

1