一种基于顺序链的CAN地址分配方法及通信系统技术方案

技术编号:14007697 阅读:67 留言:0更新日期:2016-11-17 04:32
本发明专利技术涉及一种基于顺序链的CAN地址分配方法及通信系统,属于CAN通信技术领域。本发明专利技术将各待通信的模块通过CAN总线的方式级联,级联后的各模块使用一根地址线顺序连接,前一级模块根据收到的辅助信号将接收到由CAN总线传来的地址信息作为该模块的CAN地址,同时将CAN地址加上设定数值作为后一级模块的CAN地址由CAN总线传输,并由该模块通过地址线发送辅助信号给后一级模块,后一级模块根据收到的辅助信号将接收到由CAN总线传来的地址信息作为该模块的CAN地址,从而实现基于顺序链的各级联模块的CAN地址分配。本发明专利技术的CAN地址分配方式实现简单,组网灵活,便于扩展,能够很好的应用到级联的CAN通信系统中。

【技术实现步骤摘要】

本专利技术涉及一种基于顺序链的CAN地址分配方法及通信系统,属于CAN通信

技术介绍
众所周知,CAN网络节点在总线上必须拥有一个合法且唯一的网络地址,在CAN网络控制系统中,主节点对各个从节点的识别是依靠网络地址来实现的。在实际应用中,这种地址通常是通过设备生产厂家提供给用户的操作接口来设定的,如拨码开关、旋钮等。但是当节点需要防水、防尘或者工作在恶劣、远程的环境中时,为了提高节点的防护等级,节点本身就不能再保留类似的这种接口,此时节点的网络地址就只能通过软件来进行设定。无论采用何种方式配置CAN节点网络地址,都对现场维修人员的操作技能以及维护设备提出了较高的要求。目前CAN网络节点通过软件实现网络地址自动分配主要有以下两种:一种是基于模块虚地址的方式,实现模块个体差异;各模块在上电时,通过一定的随机算法产生虚地址,主机在上电后逐个缩小范围搜索虚地址,并依据从机的响应,判断虚地址是否重复(重复后需重新产生虚地址),以此最终确定各模块的唯一虚地址,主机通过该虚地址的差异分配地址,从机的通信地址和该虚地址的算法的可靠性和效率不够,且根据虚地址无法快速定位到该模块的物理位置。另外一种是基于物理地址的方式,按照一定规则,写入一个唯一的32位编码(掉电记忆),通过该编码的不同来实现各模块的个体差异,该32位编码的前29位作为节点的通讯地址(CAN通讯帧的29位标识符)。这种方式的缺点是:由于标准的CAN扩展帧中,29位标识符中的8位的PS为目的地址、8位的SA为源地址,其它位用于表示ID页,报文代码等,但是本方式下,由于32位编码的不确定性,导致29位标识符的任意数组组合都可能被作为节点地址,因此这种情况下,前29位作为节点的通讯地址的时候,地址长度可能会超过PS和SA的8位的要求,导致此CAN网络不能用于其他数据和命令处理,不具备通用性、兼容性,不能引入到其它的CAN网络。
技术实现思路
本专利技术的目的是提供一种基于顺序链的CAN地址分配方法及通信系统,以解决目前CAN地址分配方式复杂、效率低、不具备通用性的问题。本专利技术为解决上述技术问题而提供一种基于顺序链的CAN地址分配方法,该分配方法包括以下步骤:1)将各待通信的模块通过CAN总线的方式级联,级联后的各模块通过地址线顺序连接,即前一级模块的地址输出端口通过地址线与后一级模块的地址输入端口连接,用于传输模块自动编写地址的辅助信号;2)前一级模块根据收到的辅助信号将接收到由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通信系统中。附图说明图1是本专利技术实施例中的CAN通信系统的结构原理图。具体实施方式下面结合附图对本专利技术的具体实施方式做进一步的说明。本专利技术的基于顺序链的CAN地址分配方法针对的是级联的CAN通信系统,通过将各待通信的模块通过CAN总线的方式级联,即前一级模块的CAN输出端口与后一级模块的CAN输入端口连接,并将级联后的各模块使用一根地址信号线连接,即前一级模块的地址输出端口通过地址信号线与后一级模块的地址输入端口连接,用于传输模块自动编写地址的辅助信号。前一级模块根据收到的辅助信号将接收到由CAN总线传来的地址信息作为该模块的CAN地址,同时将CAN地址加上设定数值作为后一级模块的CAN地址由CAN总线传输,并由该模块通过地址线发送辅助信号给后一级模块,后一级模块根据收到的辅助信号将接收到由CAN总线传来的地址信息作为该模块的CAN地址,从而实现基于顺序链的各级联模块的CAN地址分配。如图1所示,本实施例中所针对的通信系统包括工控机以及7个模块,1#模块为协议转换模块,2#模块为数字输出模块,3#模块为模拟输入模块,4#模块为数字输入模块,5#模块为模拟输出模块,6#模块为数字输出模块,7#模块为模拟输入模块,工控机通过协议转换模块与1#模块的CAN IN端口相连,1#模块的CAN OUT端口与2#模块的CAN IN端口相连,2#模块的CAN OUT端口与3#模块的CAN IN端口相连,依次类推,实现7个模块之间的CAN级联,各模块的地址信息通过CAN总线传输,为了实现各级联模块间地址间的自动分配,各模块之间还连接有用于传输模块自动编写地址辅助信号的地址线,前一级模块的地址输出端口通过地址线与后一级模块的地址输入端口连接,即1#模块的地址输出端口通过地址线与2#模块的地址输入端口相连,2#模块的地址输出端口通过地址线与3#模块的地址输入端口相连,按照此方式连接,以实现各模块地址端口的顺序连接。本实施例中为了连线的方便,将CAN总线和地址线做成一根线束,该线束的接口为CAN总线接线端口和地址信号线接线端口的集成,相应的各模块的CAN端口和地址端口也可设本文档来自技高网
...
一种基于顺序链的CAN地址分配方法及通信系统

【技术保护点】
一种基于顺序链的CAN地址分配方法,其特征在于,该分配方法包括以下步骤:1)将各待通信的模块通过CAN总线的方式级联,级联后的各模块通过地址线顺序连接,即前一级模块的地址输出端口通过地址线与后一级模块的地址输入端口连接,用于传输模块自动编写地址的辅助信号;2)前一级模块根据收到的辅助信号将接收到由CAN总线传来的地址信息作为该模块的CAN地址,同时将CAN地址加上设定数值作为后一级模块的CAN地址由CAN总线传输,并由该模块通过地址线发送辅助信号给后一级模块,后一级模块根据收到的辅助信号将接收到由CAN总线传来的地址信息作为该模块的CAN地址,从而实现基于顺序链的各级联模块的CAN地址分配。

【技术特征摘要】
1.一种基于顺序链的CAN地址分配方法,其特征在于,该分配方法包括以下步骤:1)将各待通信的模块通过CAN总线的方式级联,级联后的各模块通过地址线顺序连接,即前一级模块的地址输出端口通过地址线与后一级模块的地址输入端口连接,用于传输模块自动编写地址的辅助信号;2)前一级模块根据收到的辅助信号将接收到由CAN总线传来的地址信息作为该模块的CAN地址,同时将CAN地址加上设定数值作为后一级模块的CAN地址由CAN总线传输,并由该模块通过地址线发送辅助信号给后一级模块,后一级模块根据收到的辅助信号将接收到由CAN总线传来的地址信息作为该模块的CAN地址,从而实现基于顺序链的各级联模块的CAN地址分配。2.根据权利要求1所述的基于顺序链的CAN地址分配方法,其特征在于,所述的CAN总线和地址线做成一根线束,该线束的接口为CAN总线接线端口和地址信号线接线端口的集成。3.根据权利要求1或2所述的基于顺序链的CAN地址分配方法,其特征在于,处于最前一级模块的地址信息由工控机和协议模块提供。4.根据权利要求1所述的基于顺序链的CAN地址分配方法,其特征在于,当某一个模块在启动的时候没有成功的从上一级模块获得其CAN地址,终止向下一级模块发送CAN地址。5.根据权利要求1所述的基于顺序链的CAN地址分配方法,其特征在于,当最后一个模块成功的获得其网络地址,说明其前面的所有模块也都成功的获得其CAN地址。6.根据权利要求...

【专利技术属性】
技术研发人员:何晨辉
申请(专利权)人:郑州市茂辰电子科技有限公司
类型:发明
国别省市:河南;41

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

1