A CAN receiving method, using the CAN extension frame 29 identifier, according to the CAN ID priority respectively to create multiple receiving buffer for receiving a message of different priority, physical quantity the size of the cache used by practical applications need to decide, each cache subscript of the array with the priority of the CAN ID correspondence, CAN is set to receive interrupt, each receiving a message, using CAN ID priority and the corresponding relationship of the data cache update formula. The technical proposal of the invention adopts the receiving end CAN packet in time for storage of CAN message cache is updated, in order to be able to timely receive CAN messages while receiving the process according to the communication protocol of the received signal classification processing makes the data structure more clearly, it is also more organized message parsing.
【技术实现步骤摘要】
多路CAN报文实时接收的软件实现方法
本专利技术属于汽车电子
,具体涉及一种多路CAN报文实时接收的软件实现方法。
技术介绍
CAN总线上有多个信号帧,不同的信号帧代表不同的物理含义,每个信号帧有唯一的ID。工程师在进行CAN总线发送接收时,需要根据CAN信号的不同ID对其进行分类以便更好的进行CAN消息的解析提取工作。现有CAN进行接收时往往需要等待全部信息发送完成再对数据进行更新,这就造成了信息更新不及时。同时接收完全部信息后根据各个ID进行分类,若是接收的信息较大又会导致处理复杂而且需要消耗大量的时间。因此现在需要一种新的CAN接收方法,以便能够快速及时的接收CAN消息并对其进行分类处理。
技术实现思路
1、要解决的技术问题为解决现有技术存在的上述缺陷,本专利技术提供一种CAN接收方法,能够简单快速实时地对多路的CAN消息进行接收并分类。2、技术方案为了实现上述的目的,本专利技术提供了以下技术手段:一种CAN接收方法,包括以下步骤:S101:创建存储CAN信号的缓存区,同时创建一个全局变量作为标识位;S102:利用CAN信号采集设备采集CAN信号;S103:获取每个CAN信号ID,所述CAN信号为扩展帧,每个CAN信号ID为29位;S104:获取ID的优先级,依据优先级判断该ID对应的信号帧应存储的缓存区;S105:根据公式i=(SA-1)*PF_MAX+PF,判断该缓存区中应当进行更新的信息,其中,i为数组下标,SA为对应ID的源地址,PF为PDU格式,PF_MAX为该ID下的PF个数;S106:进行数据更新,同时标识位置1。进一步的,在所述S1 ...
【技术保护点】
一种CAN接收方法,其特征在于,包括以下步骤:S101:创建存储CAN信号的缓存区,同时创建一个全局变量作为标识位;S102:利用CAN信号采集设备采集CAN信号;S103:获取每个CAN信号ID,所述CAN信号为扩展帧,每个CAN信号ID为29位;S104:获取ID的优先级,依据优先级判断该ID对应的信号帧应存储的缓存区;S105:根据公式i=(SA‑1)*PF_MAX+PF,判断该缓存区中应当进行更新的信息,其中,i为数组下标,SA为对应ID的源地址,PF为PDU格式,PF_MAX为该ID下的PF个数;S106:进行数据更新,同时标识位置1。
【技术特征摘要】
1.一种CAN接收方法,其特征在于,包括以下步骤:S101:创建存储CAN信号的缓存区,同时创建一个全局变量作为标识位;S102:利用CAN信号采集设备采集CAN信号;S103:获取每个CAN信号ID,所述CAN信号为扩展帧,每个CAN信号ID为29位;S104:获取ID的优先级,依据优先级判断该ID对应的信号帧应存储的缓存区;S105:根据公式i=(SA-1)*PF_MAX+PF,判断该缓存区中应当进行更新的信息,其中,i为数组下标,SA为对应ID的源地址,PF为PDU格式,PF_MAX为该ID下的PF个数;S106:进行数据更新,同时标识位置1。2.如权利要...
【专利技术属性】
技术研发人员:陈淑娟,陈宝龙,符小军,陈少棠,
申请(专利权)人:龙海特尔福汽车电子研究所有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。