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

技术编号:14443207 阅读:82 留言:0更新日期:2017-01-15 03:02
本实用新型专利技术涉及一种基于顺序链的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地址分配方式的通信系统,该通信系统包括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地址分配。如图1所示,本实施例中所针对的通信系统包括工控机以及7个模块,1#模块为协议转换模块,2#模块为数字输出模块,3#模块为模拟输入模块,4#模块为数字输入模块,5#模块为模拟输出模块,6#模块为数字输出模块,7#模块为模拟输入模块,工控机通过协议转换模块与1#模块的CANIN端口相连,1#模块的CANOUT端口与2#模块的CANIN端口相连,2#模块的CANOUT端口与3#模块的CANIN端口相连,依次类推,实现7个模块之间的CAN级联,各模块的地址信息通过CAN总线传输,为了实现各级联模块间地址间的自动分配,各模块之间还连接有用于传输模块自动编写地址辅助信号的地址线,前一级模块的地址输出端口通过地址线与后一级模块的地址输入端口连接,即1#模块的地址输出端口通过地址线与2#模块的地址输入端口相连,2#模块的地址输出端口通过地址线与3#模块的地址输入端口相连,按照此方式连接,以实现各模块地址端口的顺序连接。本实施例中为了连线的方便,将CAN总线和地址线做成一根线束,该线束的接口为CAN总线接线端口和地址信号线接线端口的集成,相应的各模块的CAN端口和地址端口也可设计到一起,与线束的端口相适配。该通信系统CAN地址分配的过程如下:1.系统首次上电后,工控机通过RS232转CAN协议模块发送首地址信号Add:#1至CAN总线,同时通过地址线发送辅助信号给#1号模块,这里的辅助信号可以是300Hz的频率信号。2.1#号模块通过地址线收到辅助信号后从CAN总线上接收首地址Add:#1,并存储到地址存储器中作为其地址,然后将该地址Add:#1加上设定数值,本实施例中采用加1的方式,得到地址Add:#1+1,并将得到的地址Add:#1+1通过其CAN输出端口发送到CAN总线上,同时通过地址线发送辅助信号给#2号模块;3.#2模块通过地址线收到辅助信号后从CAN总线上接收地址Add:#1+1,并存储到地址存储器中作为其地址,然后将该地址Add:#2加1,并通过其CAN输出端口发送到CAN总线上作为#3模块地址,同时#2模块通过地址线发送辅助信号给#3号模块;4.以此类推,系统中的每个模块都会根据前一个模块发送的辅助信号从CAN总线上获取其对应CAN地址,该CAN地址会在模块内部存储,然后在这个地址上加1发送到下一个模块,每一次只有一个模块会收到辅助信号。通过上述过程,本技术能够快速实现基于顺序链的CAN地址分配。当某一个模块在启动的时候没有成功的从上一个模块获得其网络地址,它会终止向下一个模块发送地址。如果最后一个模块成功的获得其网络地址,说明其前面的所有模块也都成本文档来自技高网
...
一种基于顺序链的CAN地址分配方式的通信系统

【技术保护点】
一种基于顺序链的CAN地址分配方式的通信系统,其特征在于,该通信系统包括CAN总线以及通过CAN总线级联的至少两个模块,各模块之间通过地址线顺序连接,即前一级模块的地址输出端口通过地址线与后一级模块的地址输入端口连接,该地址线用于传输模块自动编写地址的辅助信号,前一级模块将其CAN地址加上设定数值作为后一级模块的CAN地址通过CAN总线发送,后一级模块根据收到的辅助信号将CAN总线上的地址存储到其地址存储器中作为其地址,以实现基于顺序链的各级联模块的CAN地址分配。

【技术特征摘要】
1.一种基于顺序链的CAN地址分配方式的通信系统,其特征在于,该通信系统包括CAN总线以及通过CAN总线级联的至少两个模块,各模块之间通过地址线顺序连接,即前一级模块的地址输出端口通过地址线与后一级模块的地址输入端口连接,该地址线用于传输模块自动编写地址的辅助信号,前一级模块将其CAN地址加上设定数值作为后一级模块的CAN地址通过CAN总线发送,后一级模块根据收到的辅助信号将CAN总线上的地址存储到其地址存储器中作为其地址,以实现基于顺序链的各级联模块的CAN地址分配。2.根据权利要求1所述的基于顺序链的CAN地址分配方式的通信系统,其特...

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

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

1