CAN总线数据传输方法和控制系统技术方案

技术编号:21517566 阅读:23 留言:0更新日期:2019-07-03 10:01
本发明专利技术涉及CAN总线数据传输方法和控制系统,在进行CAN总线数据传输时,将CAN报文数据存放在二级缓存队列中,再从该二级缓存队列中将CAN报文数据按照设定的发送周期和设定顺序传输到CAN总线上。这种方法将不同的传输时刻进行了统一,不管传统的CAN报文数据的传输到CAN总线的传输时刻是什么,均将其先存储到二级缓存队列中,然后按照相应的原则传输到CAN总线上,因此,统一了CAN报文数据输出到CAN总线的发送时刻,避免了CAN总线的空闲和繁忙,进而避免CAN总线的堵塞、延迟以及CAN总线的空闲,提升了CAN总线的传输效率、利用率以及可靠性。

CAN Bus Data Transmission Method and Control System

【技术实现步骤摘要】
CAN总线数据传输方法和控制系统
本专利技术涉及CAN总线数据传输方法和控制系统。
技术介绍
CAN总线的最大传输速率可达1Mbit/s,目前,汽车上的网络连接方式需采用两条CAN总线,一条用于驱动系统的高速CAN总线,速率达到500kbit/s;另一条用于车身系统的低速CAN总线,速率一般为100-250kbit/s。高速CAN总线主要连接发动机、自动变速器、ABS/ASR、ESP等对通信实时性有较高要求的系统。低速CAN总线主要连接灯光、电动车窗、自动空调及信息显示系统等,多为低速电动机和开关量器件,对实时性要求低而数量众多。不同速度的CAN网络之间通过网关连接。随着人工智能技术的日益成熟和广泛应用,对车载网络提出了更高的要求。Linux系统也日益广泛地被应用到车载系统中。随着汽车智能化程度的提高,需要接入大量的感知系统器件,同时CAN总线上的终端负载也就越来越多,在保留原来CAN通道数量的前提下,CAN终端负载的增多必然会给CAN通讯网络带来较大的压力,这样对于嵌入式系统下CAN总线的实时性和可靠性要求也在不断提高。CAN系统中,系统的实时性影响因素主要有两种:网络延时和总线通讯速率。因此,必须对这两个因素综合考虑。影响CAN通讯的可靠性主要是免CAN网络堵塞。常规的CAN数据传输方法仅仅是将数据直接传输到CAN总线上,由于CAN总线在不同时间有不同的运行情况,有的时候比较空闲,有的时候比较繁忙堵塞,也就是说,当有很多数据恰好同时传输到CAN总线时,可能会造成CAN总线繁忙,进而会导致CAN总线堵塞,降低传输效率以及可靠性,当有一段时间内恰好没有数据传输到CAN总线时,会造成CAN总线空闲,降低CAN总线的利用率,相应地,其传输效率也降低。那么,采用常规的传输方式进行数据传输时,如果不加任何处理直接将数据输出到CAN总线上,那么,就会造成CAN总线有的时候数据传输比较空闲,传输效率低,有的时候数据传输比较繁忙,易造成堵塞。
技术实现思路
本专利技术的目的是提供一种CAN总线数据传输方法,用以解决现有的CAN数据传输方法造成CAN总线有时空闲,有时繁忙的问题。本专利技术同时提供一种CAN总线数据传输控制系统。为实现上述目的,本专利技术包括以下技术方案。方法方案一:本方案提供一种CAN总线数据传输方法,实时将CAN报文数据存放在设置的二级缓存队列中,并将二级缓存队列中的CAN报文数据按照设定发送周期以及设定顺序输出发送至CAN总线上。在进行CAN总线数据传输时,将CAN报文数据存放在二级缓存队列中,再从该二级缓存队列中将CAN报文数据按照设定的发送周期和设定顺序传输到CAN总线上。增加一个二级缓存队列,将不同的传输时刻进行了统一,不管传统的CAN报文数据的传输到CAN总线的传输时刻是什么,均将其先存储到二级缓存队列中,然后按照相应的原则传输到CAN总线上,因此,统一了CAN报文数据输出到CAN总线的发送时刻,相当于在正常情况下,比如总线平均负荷未过载情况下对CAN报文发送起到削峰填谷的作用,避免了CAN总线的空闲和繁忙,避免总线瞬时负载过小或者过大,进而避免CAN总线的堵塞、延迟以及CAN总线的空闲,提升了CAN总线的传输效率、利用率以及可靠性。方法方案二:在方法方案一的基础上,所述数据传输方法在Linux系统下运行,在Linux系统下增开一条CAN数据处理线程,所述CAN数据处理线程将所述二级缓存队列中的CAN报文数据按照设定发送周期以及设定顺序输出发送至CAN总线上。方法方案三:在方法方案一或二的基础上,所述设定顺序基于先入先出的原则,CAN报文数据按照先入先出的原则从二级缓存队列中依次输出至CAN总线。方法方案四:在方法方案一或二的基础上,所述总线数据传输方法还实施以下负载率控制过程:实时检测CAN总线的实际负载率情况,比较实际负载率和设定负载率阈值,当实际负载率大于设定负载率阈值时,控制增加CAN报文数据存入二级缓存队列中的发送周期,以将实际负载率调整至所述设定负载率阈值以下。CAN报文数据存入二级缓存队列中的发送周期,即存放周期与CAN总线的负载率有着密切的关系,因此,当实际负载率大于设定负载率阈值时,通过控制增加CAN报文数据存入二级缓存队列中的发送周期,来自动动态调整总线负载率来匹配目标负载率,保证CAN总线的正常可靠运行,防止高负载率对CAN总线的数据传输造成影响,降低总线负载率过高造成数据延迟甚至丢帧几率。而且,现有一般都通过CANOE等CAN网络分析工具分析总线负载率情况然后通过Linux系统下控制程序静态设定CAN报文发送周期来将匹配目标负载率,如果增加外设CAN终端,还需要重新调整CAN报文发送周期同时通过CANOE工具监测总线负载率来进行匹配目标负载率,以防止总线堵塞丢帧,因此,现有的控制过程比较繁琐,可靠性较低,而上述负载率控制过程能够节省反复修改程序代码及人为使用CANOE监测的工作量。方法方案五:在方法方案四的基础上,当CAN报文数据存入二级缓存队列中的发送周期调整到允许的最大值时还无法使实际负载率小于或者等于设定负载率阈值,则输出相应的报警信号。方法方案六:在方法方案四的基础上,所述负载率控制过程在Linux系统下运行,在Linux系统下增开一条CAN报文监控线程,所述CAN报文监控线程实现所述负载率控制过程。系统方案一:本方案提供一种CAN总线数据传输控制系统,包括一种CAN总线数据传输控制模块,所述控制模块包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下控制过程:实时将CAN报文数据存放在设置的二级缓存队列中,并将二级缓存队列中的CAN报文数据按照设定发送周期以及设定顺序输出发送至CAN总线上。系统方案二:在系统方案一的基础上,所述数据传输方法在Linux系统下运行,在Linux系统下增开一条CAN数据处理线程,所述CAN数据处理线程将所述二级缓存队列中的CAN报文数据按照设定发送周期以及设定顺序输出发送至CAN总线上。系统方案三:在系统方案一或二的基础上,所述设定顺序基于先入先出的原则,CAN报文数据按照先入先出的原则从二级缓存队列中依次输出至CAN总线。系统方案四:在系统方案一或二的基础上,所述处理器执行所述程序时还实现以下负载率控制过程:实时检测CAN总线的实际负载率情况,比较实际负载率和设定负载率阈值,当实际负载率大于设定负载率阈值时,控制增加CAN报文数据存入二级缓存队列中的发送周期,以将实际负载率调整至所述设定负载率阈值以下。系统方案五:在系统方案四的基础上,当CAN报文数据存入二级缓存队列中的发送周期调整到允许的最大值时还无法使实际负载率小于或者等于设定负载率阈值,则输出相应的报警信号。系统方案六:在系统方案四的基础上,所述负载率控制过程在Linux系统下运行,在Linux系统下增开一条CAN报文监控线程,所述CAN报文监控线程实现所述负载率控制过程。附图说明图1是智能控制器CAN总线接入结构框图;图2是CAN总线监控线程单次逻辑流程图;图3是CAN总线监控线程循环逻辑流程图。具体实施方式本专利技术提供一种CAN总线数据传输方法,基本过程为:实时将CAN报文数据存放在设置的二级缓存队列中,并将二级缓存队列中本文档来自技高网
...

【技术保护点】
1.一种CAN总线数据传输方法,其特征在于,实时将CAN报文数据存放在设置的二级缓存队列中,并将二级缓存队列中的CAN报文数据按照设定发送周期以及设定顺序输出发送至CAN总线上。

【技术特征摘要】
1.一种CAN总线数据传输方法,其特征在于,实时将CAN报文数据存放在设置的二级缓存队列中,并将二级缓存队列中的CAN报文数据按照设定发送周期以及设定顺序输出发送至CAN总线上。2.根据权利要求1所述的CAN总线数据传输方法,其特征在于,所述数据传输方法在Linux系统下运行,在Linux系统下增开一条CAN数据处理线程,所述CAN数据处理线程将所述二级缓存队列中的CAN报文数据按照设定发送周期以及设定顺序输出发送至CAN总线上。3.根据权利要求1或2所述的CAN总线数据传输方法,其特征在于,所述设定顺序基于先入先出的原则,CAN报文数据按照先入先出的原则从二级缓存队列中依次输出至CAN总线。4.根据权利要求1或2所述的CAN总线数据传输方法,其特征在于,所述总线数据传输方法还实施以下负载率控制过程:实时检测CAN总线的实际负载率情况,比较实际负载率和设定负载率阈值,当实际负载率大于设定负载率阈值时,控制增加CAN报文数据存入二级缓存队列中的发送周期,以将实际负载率调整至所述设定负载率阈值以下。5.根据权利要求4所述的CAN总线数据传输方法,其特征在于,当CAN报文数据存入二级缓存队列中的发送周期调整到允许的最大值时还无法使实际负载率小于或者等于设定负载率阈值,则输出相应的报警信号。6.一种CAN总线数据传输控制系统,包括一种CAN总线数据传输控制模块,所述控制模块包括存储...

【专利技术属性】
技术研发人员:胡钱洋苏常军杨学青刘振楠王辉吴光耀
申请(专利权)人:郑州宇通客车股份有限公司
类型:发明
国别省市:河南,41

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

1