[发明专利]一种基于比特仲裁的总线竞争方法在审
申请号: | 201711275233.2 | 申请日: | 2017-12-06 |
公开(公告)号: | CN108183845A | 公开(公告)日: | 2018-06-19 |
发明(设计)人: | 姜连祥;许滨贵;刘敏时;占丰;刘宴涛 | 申请(专利权)人: | 山东航天电子技术研究所 |
主分类号: | H04L12/40 | 分类号: | H04L12/40;H04L12/24 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 高会允;仇蕾安 |
地址: | 264003 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于比特仲裁的总线竞争方法,是一种基于优先级的随机退让总线竞争建模方法。包括如下步骤:CAN总线上节点建立有限状态机,当前节点上进程按照有限状态机中状态序列执行。有限状态机中状态序列包括:初始化INIT状态;空闲IDLE状态;PREPARE_TO_SEND状态,从CAN_MAC帧队列中取出一个选定的CAN_MAC帧,建立仲裁帧,并设置仲裁帧的优先值。将仲裁帧发向CAN总线,进程跳转到ARBITRATION状态;ARBITRATION状态,等待仲裁窗口时间,并接收其他节点的仲裁帧,若其他节点仲裁帧的ARBITRATION字段小于自身仲裁帧的ARBITRATION字段,则跳转到BACKOFF状态,否则跳转到SEND状态;BACKOFF状态,进程等待随机时间后返回PREPARE_TO_SEND状态;SEND状态,进程发送选定的CAN_MAC帧,之后返回IDLE状态。 | ||
搜索关键词: | 仲裁 总线竞争 状态机 跳转 状态序列 字段 节点建立 进程发送 进程 初始化 返回 建模 退让 队列 空闲 取出 | ||
【主权项】:
1.一种基于比特仲裁的总线竞争方法,其特征在于,该方法包括如下步骤:CAN总线上节点建立有限状态机,当前节点上进程按照所述有限状态机中状态序列执行;所述有限状态机中状态序列包括:初始化INIT状态,所述当前节点运行进程时进入INIT状态空闲IDLE状态,当所述进程中待发送数据帧CAN_MAC队列为空时,所述进程处于IDLE状态;当所述进程中待发送数据帧CAN_MAC帧队列不为空时,进入发送准备PREPARE_TO_SEND状态发送准备PREPARE_TO_SEND状态,当所述进程处于PREPARE_TO_SEND状态时,判断距离上一次发送CAN_MAC帧的时间间隔是否达到了设定的帧间空隙,若未达到,则等待直至达到设定的帧间空隙;若达到所述设定的帧间空隙,则从所述CAN_MAC帧队列中取出一个选定的CAN_MAC帧,取所述选定的CAN_MAC帧中的帧开始SOF字段和仲裁域ARBITRATION字段,将SOF字段和ARBITRATION字段组装成一个无格式的仲裁帧;将所述仲裁帧发向所述CAN总线,所述进程跳转到仲裁ARBITRATION状态,在预先设置的仲裁时间窗口内,所述CAN总线上其他节点均不向所述CAN总线发送数据帧;仲裁ARBITRATION状态,所述进程处于ARBITRATION状态时,等待所述仲裁窗口时间,并接收来自所述CAN总线的其他节点的仲裁帧,解析获取其中的ARBITRATION字段;所述仲裁窗口时间到达之后,判断若其他节点仲裁帧的ARBITRATION字段小于自身仲裁帧的ARBITRATION字段,则进程跳转到后退BACKOFF状态,否则进程跳转到发送SEND状态;后退BACKOFF状态,所述进程等待随机时间后进程返回所述PREPARE_TO_SEND状态;发送SEND状态,所述进程发送所述选定的CAN_MAC帧,之后进程返回所述IDLE状态。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东航天电子技术研究所,未经山东航天电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711275233.2/,转载请声明来源钻瓜专利网。