[发明专利]一种为通信总线上相同节点自动分配地址的方法有效
申请号: | 201710865280.6 | 申请日: | 2017-09-22 |
公开(公告)号: | CN107835266B | 公开(公告)日: | 2020-10-13 |
发明(设计)人: | 杨润宇;徐晓彤;袁红升 | 申请(专利权)人: | 北京机械设备研究所 |
主分类号: | H04L29/12 | 分类号: | H04L29/12 |
代理公司: | 北京天达知识产权代理事务所(普通合伙) 11386 | 代理人: | 龚颐雯;彭霜 |
地址: | 100854 北京市海淀区永*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通信 线上 相同 节点 自动 分配 地址 方法 | ||
本发明涉及一种为通信总线上相同节点自动分配地址的方法,包括:步骤S1、设置全局变量地址分配标志,初始化地址分配标志为地址未分配,判断本节点地址分配标志是否未分配,否,执行步骤S2,是,执行步骤S3;步骤S2、判断本节点地址是否与已存储地址冲突,是,执行步骤S3,否执行步骤S5;步骤S3、为本节点分配初始地址为总线上的最小地址号“1”;步骤S4、判断本节点地址是否与已存储地址冲突,否,执行步骤S5,是,本节点地址+1,并再次执行步骤S4;步骤S5、地址分配标志改为地址已分配,并保持不变。本发明因节点移动导致设备更换CAN总线时,避免地址重新分配,及时自动重排重复的地址,避免地址重复引发总线数据错误。
技术领域
本发明涉及自动变速箱换挡控制领域,尤其涉及一种为通信总线上相同节点自动分配地址的方法。
背景技术
多个相同设备通过同一CAN总线相连,按一定周期定时发送报文。一个接入CAN总线的设备即为当前总线上的一个节点。本节点向总线发送的报文供其他节点应用。总线中的每个节点应有唯一地址。总线上各节点遵循同一通信协议规定各报文的格式、数据含义及发送周期,各节点发送的报文格式、数据含义、及发送周期相同。通信协议规定报文中的某些数据应为发送该报文的节点地址,各报文根据节点地址区分来自哪一个节点,因此在使用前,需要对各节点分配地址。
传统的相同节点在同一CAN总线的地址分配方式为人为手工分配,需要对总线上每个节点的地址分别分配。
其缺点为:
1.节点更换CAN总线时,该节点在后接入CAN总线上的地址需要重新分配;
2.增加人工成本;
3.易发生人为误操作,出现地址冲突,导致CAN总线上报文错误;
4.总线上节点地址出现冲突后不易发现,更改时需人为手工更改地址。
发明内容
鉴于上述的分析,本发明旨在提供一种为通信总线上相同节点自动分配地址的方法,用以解决现有技术中同一CAN总线上接有多个相同设备节点,不能自动分配本节点在总线上的地址等诸多技术问题。
本发明的目的主要是通过以下技术方案实现的:
在基于本发明的一个实施例中,提供了一种为通信总线上相同节点自动分配地址的方法,包括:
步骤S1、设置全局变量地址分配标志,初始化地址分配标志为地址未分配,判断本节点地址分配标志是否未分配,否,执行步骤S2,是,执行步骤S3;
步骤S2、判断本节点地址是否与已存储地址冲突,是,执行步骤S3,否执行步骤S5;
步骤S3、为本节点分配初始地址为总线上的最小地址号“1”;
步骤S4、判断本节点地址是否与已存储地址冲突,否,执行步骤S5,是,本节点地址+1,并再次执行步骤S4;
步骤S5、地址分配标志改为地址已分配,并保持不变。
在基于本发明方法的另一个实施例中,还包括:报文接收并存储步骤。
在基于本发明方法的另一个实施例中,还包括:报文发送的步骤。
在基于本发明方法的另一个实施例中,步骤S5还包括:
判断是否接收到总线上的报文,是,处理接收报文并解析报文地址,然后执行步骤S6,否,执行步骤S7;
步骤S6、判断接收到的报文地址与已存储的报文地址是否相同,是,更新该存储空间的报文数据,并执行步骤S7,否,开辟新空间存储报文及地址,并执行步骤S7;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京机械设备研究所,未经北京机械设备研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710865280.6/2.html,转载请声明来源钻瓜专利网。