The invention proposes a can signal transmission algorithm based on time slice distribution, which overcomes the technical problems of large load rate in signal transmission period, small load rate in signal non transmission period and large busy resource occupation caused by too many transmission threads in the existing technology of timing transmission algorithm and multi-threaded transmission, and indirectly leads to inaccurate transmission time This paper introduces a technology of periodic transmission of CAN bus signal, which has the advantages of less resource occupation, accurate cycle, small fluctuation of CAN bus load and easy to realize.
【技术实现步骤摘要】
基于时间片分配的CAN信号发送算法
本专利技术涉及汽车仪CAN总线信号发送技术,尤其涉及到基于时间片分配的CAN信号发送算法。
技术介绍
近年来汽车中的CAN总线信号越来越多,CAN总线负载率越来越大,而在整车对CAN信号发送的实时性要求也越来越高,CAN信号在车载功能占比也越来越大,为了准确测试出仪表的功能,CAN信号发送的周期必须符合要求,拥有精准的CAN信号发送周期算法越来越重要。目前常用的CAN信号周期发送发放有以下几种:①定时发送算法:CAN信号的周期一般从10ms~5s不等,一般CAN信号的数量在现有车载系统中大概有100~150条左右,最常用的算法是生成定时器线程,定时器周期为10ms,首次将所有CAN信号前部发送出去,到下一定时周期如果CAN信号周期等于已发送时间在将此CAN信号发送出去。②多线程发送:在原有的基础上将CAN信号分类,例如将10ms周期信号分成一组,20ms周期信号分成一组,50ms周期信号分成一组……,每一组信号生成一个发送线程,发送线程的定时周期与CAN信号周期相同,当发送线程的定时时间到达时,将该组CAN信号发送出去。以上两种方式都存在一些弊端,①中的发送方式存在两个问题,一是当发送信号的数量增大后发送周期的准确率快速下降,二是此种发送方式会存在CAN总线在信号发送时段负载率很大,信号不发时段负载率很小;②中方法改善了①中的信号发送周期不准的问题,但是当某一周期信号数量比较多,发送周期也会变得不准确,另外因为发送线程太多会造成系统繁忙资源占用量大, ...
【技术保护点】
1.基于时间片分配的CAN信号发送算法,其特征在于,包括有如下步骤:/n1、CAN信号的输入来自于外部CAN数据库文件,系统程序读取数据库文件获取CAN信号及CAN信号发送周期,以CAN信号发送周期为准按照从小到大排序,信号周期相同时按照CAN信号值从小到大排序;/n2、读取数据库文件获取CAN传输的波特率,根据波特率计算时间片时间,根据CAN信号排序结果给每一个CAN信号分配ID;/n3、根据时间片时间开启定时发送线程,等待定时器时间到并将ID置为0;/n4、定时器时间到达将ID+1根据上文公式计算是否需要发送,若需要发送将发送该ID的CAN信号,发送完成判断ID值是否为最大;/n5、若不需要发送则判断ID值是否为最大;/n6、若未到达最大值将ID+1,再次判断是否需要发送该CAN信号;/n7、若已经到达最大值,跳转到等待定时时间到达。/n
【技术特征摘要】
1.基于时间片分配的CAN信号发送算法,其特征在于,包括有如下步骤:
1、CAN信号的输入来自于外部CAN数据库文件,系统程序读取数据库文件获取CAN信号及CAN信号发送周期,以CAN信号发送周期为准按照从小到大排序,信号周期相同时按照CAN信号值从小到大排序;
2、读取数据库文件获取CAN传输的波特率,根据波特率计算时间片时间,根据CAN信号排序结果给每一个CAN信号分配...
【专利技术属性】
技术研发人员:叶晓昶,
申请(专利权)人:延锋伟世通电子科技南京有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。