本发明属于CAN总线电路,具体涉及一种CAN总线自动编码电路及编码方法。
背景技术:
CAN总线是一种两线差分式的总线通讯方式,总线上可以同时连接多个CAN收发节点,进行总线式数据传送,由于多个节点共享总线,所以每个CAN收发节点需要有独立的ID号,目前市面上CAN总线上各收发节点地址需要手动编码,效率低下,增加生产工艺复杂度,且容易出错。维护维修阶段,更是需要匹配ID号才能更换模块,而这部分工作只有专业厂家才能实现。
为了解决上述技术不足,目前市面上有一种CAN总线节点自动编码技术,通过每个模块增加额外的开关输入输出端口,同时增加2条额外的线缆传递开关握手信号,实现节点顺序编码。每个模块分别有一个开关输入检测端口和一个开关量输出端口。CAN总线互联以后,通过增加额外的线缆把第一个模块的开关输出端口连接到第二个模块的开关输入检测端口。同时第二模块的输出端口连接到第三个模块的开关输入端口,依次类推,前一个模块的输出连接到下一个模块的输入,连接成一个菊花链的开关传递总线。系统上电模块没有编码前,所有模块输出端口输出闭合状态,在这种情况下,除了第一模块输入检测为开路,其它每个模块的输入都会收到前一个模块的输出且为闭合状态。这个时候,检测到开路的第一个模块自动编码为1号模块。然后第一个模块输出端口改成开路状态,紧接着第二号模块的输入会检测为开路,然后第二号模块开始编码。编码前先探测所有已经编码完的模块,然后在已存在的所有模块号加一编码为自己的模块号,然后二号模块输出端口状态改为开路,依次类推,所有模块自动编码完成。
然而,该自动编码方式效率低下,且增加额外的线缆,增加了布线成本,线束复杂,接口多,降低产品可靠性。
技术实现要素:
本发明的目的之一在于:针对现有技术的不足,提供一种CAN总线自动编码电路,以简化电路,并有效完成自动编码。
为了实现上述目的,本发明采用如下技术方案:
一种CAN总线自动编码电路,包括主机模块和从机模块,所述从机模块至少设置有两个,所述从机模块与主机模块级联连接,所述主机模块能够向所述从机模块发送探测帧和编码命令,所述探测帧能够检测从机模块的ID是否为初始固定ID;所述从机模块包括CAN收发器和通讯级联开关,所述CAN收发器设置有外接引出线,第一级从机模块的CAN收发器通过外接引出线与主机连接,所述通讯级联开关一端与本级从机模块的CAN收发器的外接引出线连接,另一端与下一级从机模块的CAN收发器的外接引出线连接,所述从机模块完成编码后所述通讯级联开关能够自动闭合。
作为本发明所述的一种CAN总线自动编码电路的改进,所述通讯级联开关为双联开关。
作为本发明所述的一种CAN总线自动编码电路的改进,所述从机模块还包括微控制单元。
本发明的目的之一的有益效果在于:提供一种CAN总线自动编码电路,在不需另外增加线缆的情况实现CAN总线电路的自动编码,简化电路降低成本,且自动编码效率高,稳定性好。
本发明的目的之二,针对现有技术的不足,提供一种CAN总线自动编码方法,以简化电路,并有效完成自动编码。
为了实现上述目的,本发明采用如下技术方案:
一种CAN总线自动编码方法,包括上述CAN总线自动编码电路,具体如下述步骤:
步骤一,CAN总线自动编码电路连接后各级从机模块的通讯级联开关断开,此时第一级从机模块与主机模块连通,所述主机模块向从机模块发送探测帧,探测帧检测到第一级从机模块ID为初始固定ID,主机模块向从机模块发送编码命令,第一级从机模块获得新的ID,第一级从机模块的通讯级联开关自动闭合,使下一级从机模块与主机模块连通。
步骤二,主机模块向从机模块发送探测帧,与主机模块新连通的从机模块ID为初始固定ID,主机模块向从机模块发送编码命令,新连通的从机模块获得新的ID,该从机模块的通讯级联开关自动闭合,使下一级从机模块与主机模块连通。
步骤三,重复步骤二,至每一级从机模块编码完成。
本发明的目的之二的有益效果在于:提供一种CAN总线自动编码方法,在不需另外增加线缆的情况实现CAN总线电路的自动编码,简化电路降低成本,且自动编码效率高,稳定性好。
附图说明
图1为发明的原理图。
其中,1.主机模块,2.从机模块,21.CAN收发器,22.通讯级联开关,23.外接引出线,24.微控制单元。
具体实施方式
下面将结合具体实施方式对本发明及其有益效果作进一步详细说明,但是,本发明的具体实施方式并不局限于此。
如图1所示,一种CAN总线自动编码电路,包括主机模块1和从机模块2,所述从机模块2至少设置有两个,所述从机模块2与主机模块1级联连接,所述主机模块1能够向所述从机模块2发送探测帧和编码命令,所述探测帧能够检测从机模块2ID是否为初始固定ID;所述从机模块2包括CAN收发器21和通讯级联开关22,所述CAN收发器21设置有外接引出线23,第一级从机模块2的CAN收发器21通过外接引出线23与主机连接,所述通讯级联开关22一端与本级从机模块2的CAN收发器21的外接引出线23连接,另一端与下一级从机模块2的CAN收发器21的外接引出线23连接,所述从机模块2完成编码后所述通讯级联开关22能够自动闭合。通过设置通讯级联开关22,使得不需另外增加线缆的情况实现CAN总线电路的各从机模块2的自动编码,简化电路降低成本,且自动编码效率高,稳定性好。
作为优选,所述通讯级联开关22为双联开关。
作为优选,所述从机模块2还包括微控制单元24。
一种CAN总线自动编码方法,包括上述CAN总线自动编码电路,具体如下述步骤:
步骤一,CAN总线自动编码电路连接后各级从机模块2的通讯级联开关22断开,此时第一级从机模块2与主机模块1连通,所述主机模块1向从机模块2发送探测帧,探测帧检测到第一级从机模块2ID为初始固定ID,主机模块1向从机模块2发送编码命令,第一级从机模块2获得新的ID,第一级从机模块2的通讯级联开关22自动闭合,使下一级从机模块2与主机模块1连通。
步骤二,主机模块1向从机模块2发送探测帧,与主机模块1新连通的从机模块2ID为初始固定ID,主机模块1向从机模块2发送编码命令,新连通的从机模块2获得新的ID,该从机模块2的通讯级联开关22自动闭合,使下一级从机模块2与主机模块1连通。
步骤三,重复步骤二,至每一级从机模块2编码完成。
通过该方法,使得不需另外增加线缆的情况实现CAN总线电路的各从机模块2的自动编码,简化电路降低成本,且自动编码效率高,稳定性好。
根据上述说明书的揭示和教导,本发明所属领域的技术人员还能够对上述实施方式进行变更和修改。因此,本发明并不局限于上述的具体实施方式,凡是本领域技术人员在本发明的基础上所作出的任何显而易见的改进、替换或变型均属于本发明的保护范围。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。