[发明专利]基于时间片分配的CAN信号发送算法在审
申请号: | 201910773657.4 | 申请日: | 2019-08-21 |
公开(公告)号: | CN110519140A | 公开(公告)日: | 2019-11-29 |
发明(设计)人: | 叶晓昶 | 申请(专利权)人: | 延锋伟世通电子科技(南京)有限公司 |
主分类号: | H04L12/40 | 分类号: | H04L12/40;H04L12/911 |
代理公司: | 32206 南京众联专利代理有限公司 | 代理人: | 刘趁新<国际申请>=<国际公布>=<进入 |
地址: | 211100 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 发送 负载率 算法 信号发送时段 汽车CAN总线 时间片分配 资源占用量 定时发送 发送线程 负载波动 信号周期 资源占用 多线程 | ||
本发明提出了一种基于时间片分配的CAN信号发送算法,克服了现有技术中定时发送算法和多线程发送中存在的CAN总线在信号发送时段负载率很大,信号不发时段负载率很小以及发送线程太多会造成系统繁忙资源占用量大,会间接导致发送时间不准的技术问题,提供了一种资源占用少、周期准确、CAN总线负载波动小,易于实现的汽车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总线在信号发送时段负载率很大,信号不发时段负载率很小;②中方法改善了①中的信号发送周期不准的问题,但是当某一周期信号数量比较多,发送周期也会变得不准确,另外因为发送线程太多会造成系统繁忙资源占用量大,会间接导致发送时间不准。
发明内容
发明目的:本发明的目的是针对目前技术中的不足,提供了基于时间片分配的CAN信号发送算法,在于克服了上述现有技术中的不足之处,提供一种资源占用少、周期准确、CAN总线负载波动小,易于实现的汽车CAN总线信号周期发送技术。
技术方案:为实现上述目的,本发明提供了一种基于时间片分配的CAN信号发送算法,其特征在于,包括有如下步骤:。
1、CAN信号的输入来自于外部CAN数据库文件,系统程序读取数据库文件获取CAN信号及CAN信号发送周期,以CAN信号发送周期为准按照从小到大排序,信号周期相同时按照CAN信号值从小到大排序;
2、读取数据库文件获取CAN传输的波特率,根据波特率计算时间片时间,根据CAN信号排序结果给每一个CAN信号分配ID;
3、根据时间片时间开启定时发送线程,等待定时器时间到并将ID置为0;
4、定时器时间到达将ID+1根据上文公式计算是否需要发送,若需要发送将发送该ID的CAN信号,发送完成判断ID值是否为最大;
5、若不需要发送则判断ID值是否为最大;
6、若未到达最大值将ID+1,再次判断是否需要发送该CAN信号;
7、若已经到达最大值,跳转到等待定时时间到达。
有益效果:
1.发送CAN信号周期精准;
2.使用单线程发送系统资源占用少;
3.发送过程中CAN总线负载波动小;
4.算法简单对操作系统要求低。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于延锋伟世通电子科技(南京)有限公司,未经延锋伟世通电子科技(南京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910773657.4/2.html,转载请声明来源钻瓜专利网。