基于串行总线的智能地址分配的方法和系统的制作方法

文档序号:7917148阅读:104来源:国知局
专利名称:基于串行总线的智能地址分配的方法和系统的制作方法
技术领域
本发明一般性地涉及智能地址分配,更具体而言,涉及一种在主 从通信模式下基于串行总线的智能地址分配的方法和系统。
背景技术
串行总线广泛应用于工业控制领域。在使用串行总线时,总线上 的所有设备共享通信介质,任何一个设备发出的通信信息都能够被总 线上的其它设备收到。为了标志发送或接收信息的设备,必须为每个 设备分配一个通信地址。 一般总线有主从模式和"轮主轮从"模式两 种工作方式。因后者在节点较多情况下性能不佳,工业控制当中绝大 部分都是采用一主多从的通讯网络结构。在主从模式下,整个通信总 线系统由一个主节点、若干个从节点组成,由主节点不断地轮流查询 从节点是否有通信需求。如果有则将总线控制权交给某一从节点,从 节点发送完毕后立刻交还总线控制权,主机必须很明确从机的地址才 能建立通讯,而且从机地址在网络上必须唯一。同一时刻,总线上只 能有一个节点成为主节点而处于发送状态,其他所有节点必须处于接 收状态。如果同一时刻有两个以上的节点处于发送状态,将导致所有 发送方的数据发送失败,即所谓总线沖突。
目前,在采用主从通信模式下的串行总线系统中, 一般是采用手 动设置设备地址。通常地址的设定都是人为事先在从机上手动设置拨码 开关的分配好设备地址,然后记录下分配的地址号,再到主机输入已经
分配的从i殳备的地址,这样才建立通讯。在工业应用中,例如在中央空 调系统中,通常主机下面会连接很多从机,而且从机的位置都不固定且 距离很远,手动设置设备地址很可能会设置重复的地址。而且很多主 机都是属于封闭主机,只有打开机器外壳才能进行简单的设置,如果在用 户维修从机或者新增加从机设备后,往往会带来一些意外故障。
举例来说,如图la所示,其中图示了现有技术中的RS485总线的网络结构,该网络由一台主机(host )和三台从机(slave) 1、 2、 3 组成。图lb和图lc分别示出了现有技术中的主机和从机的结构示意 图。由图可见,现有技术的主机包括MCU微控制器、通讯模块、存 储器和拨码输入装置。其中,通讯模块与双绞线连接,并与MCU微控 制器连接,在MCU微控制器的控制下执行正常的通信命令发送和接收 功能MCU微控制器,分别与通信模块和存储器连接;存储器,用于存 储输入的各从机地址,并提供给MCU微控制器读取;拨码输入开关, 用于向存储器输入各从机已经设置好的地址。现有技术主机需要手工 输入各个从机设定的地址,因此需要一个输入装置,即拨码输入开关, 用于向存储器中输入已经分配的从机地址,以便于正确输入。类似地, 现有技术的从机包括MCU微控制器、通讯模块存储器和拨码输入装置。 现有技术从机需要手工输入各个从机设定的地址,因此需要一个输入 装置,即拨码输入开关。
根据总线的电气特性,设备地址不允许重复,总线上的设备地址 是唯一的。然而,在手工设定过程中,如果不慎将两台从机,例如从 机1和从机3的地址都设置为例如0x01,那么根据总线特性,如果主 机发送给地址为0x01的从机的命令,从机1和从机3都可以收到,且 都会向主机应答,这样就在网络中造成在同一时刻有两台从机同时在 发送消息,这将造成所有终端的通信失败,也就是发生了总线冲突, 以至于整个系统不能工作。
主从通信模式下的自动地址分配的在应用上是迫切需要的。例如 在一个已有的系统上添加从站设备,就有可能碰到地址重复的问题; 类似地,在更换损坏的从站时,也有可能碰到地址重复的问题。

发明内容
根据本发明的一个方面,提供了 一种串行总线系统中的地址分配 方法,所述串行总线系统包括至少一个主机和至少一个从机,所述方 法包括下列步骤a.在串行总线中为所述至少一个从机中的每一个设 置电子物理开关,以控制每一所述从机和与其相邻的下一所述从机之 间的线路通断;b.断开所述至少一个从机中的每一个的电子物理开关; c.由所述主机为最相邻的待分配地址的从才几分配地址后,闭合该从才几的电子开关。
优选地,重复步骤C直至对全部从机完成地址分配。
优选地,在步骤b中,主机向从机发送初始化命令,以断开电子 物理开关。
优选地,在步骤c之前还包括下列步骤主机向从机发送地址检 查命令,与所述地址检查命令中的检查地址匹配的从机向主才几发送确
认应答。
优选地,所述的地址分配方法进一步包括步骤d:主机定期向从机 发送巡检命令的步骤,所述巡检命令包括各从机地址。更优选地,所 述巡检命令还包括为初始值的地址。
优选地,所述的地址分配方法进一步包括e.在所述串行总线系 统中增加至少一个附加从机;f.初始化所述附加从机,以断开所述附 加从机的电子物理开关,并i殳置附加从机地址为初始值;g.与所述巡 检命令中的为初始值的地址匹配的附加从机向主机发送确认应答,保 存该地址并闭合所述附加从机的所述电子物理开关。
更优选地,重复步骤g直至对全部附加从;f几完成地址分配。
优选地,所述的地址分配方法进一步包括判定有效分配地址是否 小于从机数量的步骤。
优选地,所述从才几地址的初始值是OxFF。
优选地,所述电子物理开关是继电器。
根据本发明的另 一方面,提供了 一种用于串行总线系统中的主机, 所述串行总线系统还包括至少一个从机,所述主机包括控制器;通 信模块,与控制器相连,用于向所述至少一个从机发送数据和从所述 至少一个从机接收数据;存储器,与控制器相连,用于存取所述至少 一个从机的地址数据;和初始化开关,与控制器相连,用于当所述初 始化开关被启动时启动初始化操作。
优选地,所述控制器包括初始化命令单元,用于在初始化开关 被按下后,向所述至少一个从机发送初始化命令;和地址分配命令发 送单元,用于向所述至少一个从机发送地址分配命令。
优选地,所述控制器还包括巡检模块,用于定期向所述至少一个 从机发送巡检命令,其中所述巡检命令包括所述至少一个从机的地址。更优选地,所述巡检命令还包括为初始值的地址。
优选地,所述控制器还包括异常处理模块,用于当巡检模块发现 有附加从机接入时,调用地址分配命令单元,向所述附加从机发送地 址分配命令。
优选地,所述控制器还包括地址检查命令发送单元,用于向所述 至少 一个从才几发送地址检查命令。
优选地,所述通信模块是RS485通信模块。 优选地,所述存储器是非易失性存储器。 优选地,所述初始化开关是JP跳线开关或触发按键开关。 根据本发明的又一方面,提供了 一种用于串行总线系统中的从机, 所述串行总线系统还包括至少一个主机,所述从机包括控制器;通 信模块,与控制器相连,用于向所述至少一个主机发送数据和从所述 至少一个主机接收数据;存储器,与控制器相连,用于存取所述从机 的地址数据;电子物理开关,连接于串行总线中并位于通信模块的下 游;和初始化开关,与控制器相连,用于当所述初始化开关被启动时 启动初始化操作。
优选地,所述控制器包括初始化命令执行单元,用于在初始化 开关被启动后,或收到所述至少一个主机发送的初始化命令后,断开 所述电子物理开关,并将自身地址设置为初始值;地址分配命令发送 单元,用于在收到所述至少一个主机发送的地址分配命令,使用地址 分配命令中的地址取代分配前的地址,并回复应答,同时接通电子物 理开关。
优选地,所述控制器还包括地址检查命令应答单元,用于在收到 所述至少一个主机发送的地址检查命令后,回复应答。 优选地,所述通信模块是RS485通信模块。 优选地,所述存储器是非易失性存储器。 优选地,所述初始化开关是JP跳线开关或触发按键开关。 优选地,所述电子物理开关是继电器。
根据本发明的又一方面,提供了一种系统,所述系统包括至少 一个主机;至少一个从机;包括双线的串行总线;其中所述至少一个 从机中的每一个包括电子物理开关,并且其中串行总线的双线从主机引出,依次经过所述至少一个从机中的每一个的电子物理开关。
优选地,所述至少一个主机中的每一个包括主机控制器;主机 通信模块,与主机控制器相连,用于向所述至少一个从机发送数据和 从所述至少一个从机接收数据;主机存储器,与主机控制器相连,用 于存取所述至少一个从机的地址数据;和主机初始化开关,与主机控 制器相连,用于当所述主机初始化开关被启动时启动初始化操作。
优选地,所述主机控制器包括初始化命令单元,用于在主机初 始化开关被按下后,向所述至少一个从才几发送初始化命令;和主才几地 址分配命令发送单元,用于向所述至少一个从机发送地址分配命令。
优选地,所述主机控制器还包括巡检模块,用于定期向所述至少 一个从机发送巡检命令,其中所述巡检命令包括所述至少一个从机的 地址。更优选地,所述巡检命令还包括为初始值的地址。
优选地,所述主机控制器还包括异常处理模块,用于当巡检模块 发现有附加从机接入时,调用地址分配命令单元,向所述附加从机发 送地址分配命令。
优选地,主机控制器还包括地址检查命令发送单元,用于向所述 至少 一个从机发送地址检查命令。
优选地,所述主机通信模块是RS485通信模块。
优选地,所述主机存储器是非易失性存储器。
优选地,所述主机初始化开关是JP跳线开关或触发按键开关。
优选地,所述至少一个从机中的每一个包括从机控制器;从机 通信模块,与从机控制器相连,,用于向所述至少一个主机发送数据和 从所述至少一个主机接收数据;从机存储器,与从机控制器相连,用 于存取所述从机的地址数据;电子物理开关,连接于串行总线中并位 于通信模块的下游;和从机初始化开关,与从机控制器相连,用于当 所述从机初始化开关被启动时启动初始化操作。
优选地,所述从机控制器包括初始化命令执行单元,用于在从 机初始化开关被启动后,或收到所述至少一个主机发送的初始化命令 后,断开所述电子物理开关,并将所述从机地址设置为初始值;和从 机地址分配命令发送单元,用于在收到所述至少一个主机发送的地址 分配命令,使用地址分配命令中的地址取代分配前的地址,并回复应答,同时接通电子物理开关。
优选地,所述控制器还包括地址检查命令应答单元,用于在收到 所述至少一个主机发送的地址检查命令后,回复应答。
优选地,所述从机通信模块是RS485通信模块。
优选地,所述从机存储器是非易失性存储器。
优选地,所述从机初始化开关是JP跳线开关或触发按键开关。
优选地,所述电子物理开关是继电器。
利用本发明,在向系统加入新的从机时只需要在从机上启动初始 化键,主才几即可完成对新插入的从才几的地址分配,而不影响其他从才几 的通讯。本发明可以在串行总线系统中实现自动地址分配,从而避免 了人工设置地址错误率高、效率低的问题。


当结合下面的附图思考下面所公开实施方案的详细描述的时候,
可以获得对本发明更好的理解,其中
图la是现有技术中的RS485总线的网络结构;
图lb是现有技术中的主机的结构示意图lc是现有技术中的从机的结构示意图2是根据本发明的实施例的智能地址分配系统的网络结构;
图3是根据本发明的实施例的主机的结构示意图4是根据本发明的实施例的从机的结构示意图5是根据本发明的一个实施例的智能地址分配方法的流程图6是根据本发明的另 一个实施例的智能地址分配方法的流程
图;以及
图7是根据本发明的另 一 个实施例的智能地址分配方法的流程图。
图8是根据本发明的一个实施例的从机的初始化流程图。
具体实施例方式
在本发明的实施例中,以RS485总线为例,详细描述了本发明。然而,应当理解,本发明并不仅限于RS485总线,而可有利地应用其 它总线,例如RS422总线。
图2是根据本发明的实施例的智能地址分配系统的网络结构。如 图所示,系统包括一个主机IOO、多个从才几200以及RS485总线300, 其中主机100是命令发起者,从机200是属于命令的接收和执行者, 两者通过RS485总线连接以完成指令的发送和接收。每个从机200设 置有电子物理开关205。 RS485总线的双绞线从主机100引出后,先引 入第一从机的电子物理开关的输入端,再从第一从机的电子物理开关 的输出端引线到第二从机的电子物理开关的输入端,以此类推,完成 组网。
具体地,如图3所示,其中示出了根据本发明的实施例的主机100 的结构示意图,主机100包括主机控制器101(例如主机MCU微控制 器)、主机通讯才莫块102、主机存储器103以及主机初始化开关104。 其中,主机通讯模块102,分别与主机MCU微控制器101以及双绞线 连接,在主机MCU微控制器101的控制下执行正常的发送和接收功能; 主机MCU微控制器101分别与主机通信模块102和主机存储器103连 接,用于完成初始化动作,自动分配各从才几地址,将已经分配的从机 地址进行保存,并定期巡检从机,当发现有新的从机接入时,读取主 机存储器103中已经分配的从机地址,自动按照顺序增加,产生新地 址,并分配给该新接入的从机;主机存储器103用于自动保存由主机 100分配给各对应从机的地址,并提供给主机MCU微控制器101读取; 主机初始化开关104与主机MCU微控制器101相连,用于在被按下后 启动初始化动作。初始化动作包括所有从机地址设定为一预定值, 比如OxFF、为网中所有从机分配地址并记录保存入主机存储器103。 在该实施例中,主机初始化开关104是JP跳线开关或触发按键开关, 主机存储器103是闪存。然而应当理解,主机初始化开关104不限于 上述类型的开关,也可以是拨动开关等任何合适类型的开关。同样地, 主机存储器103也不局限于上述类型的存储器,而可以是任何合适类 型的存储器。主机存储器优选是非易失性存储器,包括但不限于软盘、 随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存 储器(EPROM或闪存)等。同样地,主机控制器IOI也不限于MCU微
15控制器,而可以是任何合适类型的控制器。此外,主机控制器101还
可以连接一个报警装置(未示出),用于在通讯故障时发出声和/或光 报警。
主机控制器可以包括以下的功能模块初始化命令单元,用于在 主才几初始化开关^皮按下后,向从机发送初始化命令;地址分配命令发 送单元,用于向从机发送地址分配命令。主机控制器还可以包括巡检 模块,用于定期向从机发送巡检命令。主机控制器还可以包括异常处 理模块,用于当巡检模块发现有附加从机接入时,调用地址分配命令 单元,向附加从机发送地址分配命令。主机控制器还可以包括地址检 查命令发送单元,用于向从机发送地址检查命令。
图4是根据本发明的实施例的从机200的结构示意图。如图所示, 从机200包括从机控制器201,比如MCU微控制器、从机通讯模块202、 从机存储器203、电子物理开关205以及从机初始化开关204。在该实 施例中,电子物理开关205是继电器(常闭合,选常闭合的目的是当 从机没开机或故障的时候,不会影响到其他从机的通讯,相当于这台 从机没有挂接在总线上),从机初始化开关是JP跳线。应当理解的是, 电子物理开关205以及从机初始化开关204并不限于上述类型,而可 以是任何合适的类型。同样地,从机控制器201也不限于MCU微控制 器,而可以是任何合适类型的控制器。从机通讯模块202分别与从机 MCU微控制器201和双绞线相连,双绞线经过继电器205后输出;从 机存储器203用于存储从机200被分配的地址;继电器205在从机MCU 微控制器201的控制下执行通断,其默认态是闭合的,这样当从节点 出现故障的而没法开机或者没法初始化的时候,并不影响其他设备的 正常通讯;从机初始化开关204,在该实施例中是JP跳线,用于基于 从机MCU微控制器201的控制初始化地址,比如在设备维修后需要初始 化地址为出厂设置。由于继电器205位于从机通讯模块202的下游, 这样,当继电器205断开时,就断开了与下一个从机的通信,但该从 才几仍可以通过该从才几的从才几通i礼模块20与主才几ii/f言。
从机控制器可以包括以下的功能模块初始化命令执行单元,用 于在初始化开关被启动后,或收到主机发送的初始化命令后,断开电 子物理开关,并将自身地址设置为初始值;地址分配命令发送单元,用于在收到主机发送的地址分配命令,使用地址分配命令中的地址取 代分配前的地址,并回复应答,同时接通电子物理开关。从机控制器 还可以包括地址检查命令应答单元,用于在收到主机发送的地址检查 命令后,回复应答。
图5是根据本发明的一个实施例的智能地址分配方法的流程图。 如图所示,系统工作开始于步骤502,此时主机和从机均开始上电运 行。在步骤504,按下主机初始化开关104,主机100的主机控制器 101的初始化命令单元向从机200发送初始化命令,使所有从机200 的从机控制器的初始化命令执行单元动作,断开继电器205,并将从 机地址都设定成一预定值,例如Oxff。在一个实施例中连续发送20 次初始化命令,以确保从机收到。然后,在步骤506,主机100的主 机控制器101的地址分配命令发送单元向从机200发送有效分配地址, 未分配地址的从机200的从机控制器的地址分配命令发送单元收到 后,使用该分配地址取代Oxff并闭合继电器回复应答,如果有应答, 则进入步骤508,等待从机应答或者到达一预定等待时间,比如100ms, 如果有应答则将有效分配地址按预定顺序增加(比如增加l),并再 次进入步骤506,这时前一个分配好地址的从4几也收到主机向从机发 送的分配地址,但是比对地址不是自己分配的i也址,所以并不回应,而 和该从机最接近的另外一个从机的从机控制器的地址分配命令发送 单元在收到分配地址的命令后,保存该地址并闭合继电器回复应答。如 果在步骤506循环多次(例如,IO次)仍无应答,则认为全部从机都 已被分配地址,则进入步骤510,自动地址分配过程完全结束。
图6是根据本发明的另 一个实施例的智能地址分配方法的流程 图。如图所示,系统工作开始于步骤602,此时主机和从机均开始上 电运行。在步骤604,系统中的主机IOO通过检查主机初始化开关104 (跳线开关状态或按键状态)判断是否需要系统初始化,例如,系统自 动设置当主机初始化开关为1时,需要进行初始化,主机初始化开关 为O时,不需要进行初始化。也就是说,如果主机初始化开关为1, 则系统进入步骤610,此时主机100的主机控制器101的初始化命令 单元连续多次向从机200发送地址分配群发命令,使所有从机200的 从机控制器的初始化命令执行单元动作,断开继电器205,并将从机地址都设定成一预定值,例如Oxff,在一个实施例中连续发送了 20 次,以确保从机收到。如果主机初始化开关为0,则系统进入步骤606, 此时系统从指定存储区域读出已经分配的从机地址队列,并接着进入 步骤608,进入正常通信程序,并对从机进行巡检。应当理解,系统 也可以进行相反的设置。然后,在步骤612,由于原来的总线在物理 上都被切断,但是总有一个节点是唯一和主机连接的(最近的节点),所 以主机100的主机控制器101的地址检查命令发送单元向最近的一台 从机200发送地址检查命令,其中携带的目标地址为Oxff,地址为Oxff 的从机的从机控制器的地址检查命令应答单元收到后回复应答,并且 如果经过一预定时间,比如30秒主机没有收到从机的应答,则报警, 否则就进入步骤614,等待从机应答或者等待一预定时间,例如100ms。 如果在步骤614,从机有应答,则进入步骤616,系统发送准备分配的 有效从机地址,否则,返回步骤612。在步骤618,主机的主机控制器 101的地址分配命令发送单元向从机发送有效分配地址,其中携带正 式分配的地址,未分配地址的从机200的从机控制器的地址分配命令 发送单元收到后,使用该正式分配的地址取代Oxff并闭合继电器205 回复应答,如果有应答,则将有效分配地址按预定顺序(比如增加1 ), 并再次进入步骤616,这时前一个分配好地址的从才几也收到主机向从 才几发送的分配地址,但是比对地址不是自己分配的地址,所以并不回 应,而和该从机最接近的另外一个从机的从机控制器的地址分配命令 发送单元在收到分配地址的命令后,保存该地址并闭合继电器205回 复应答。如果在步骤618循环多次(例如,IO次)仍无应答,则认为 全部从机都已被分配地址,则进入步骤620,系统地址分配结束,保 存分配的从机最大地址并提示自动分配成功。图7是根据本发明的另 一个实施例的智能地址分配方法的流程 图。如图所示,系统工作开始于步骤702,此时主机和从机均开始上 电运行。在步骤704,系统中的主机100通过检查主机初始化开关l(M (跳线开关状态或按键状态)判断是否需要系统初始化,例如,系统自 动设置当初始化开关为1时,需要进行初始化,主机初始化开关为0 时,不需要进行初始化。也就是说,如果主机初始化开关为1,则系 统进入步骤710,此时系统开始读取从机的总数量。如果主机初始化18开关为0,则系统进入步骤706,此时系统从指定存储区域读出已经分 配的从机地址队列,并接着进入步骤708,进入正常通信程序,并对 从机进行巡检。应当理解,系统也可以进行相反的设置。在步骤712, 此时主机100的主机控制器101的初始化命令单元连续多次向从机 200发送地址分配群发命令,使所有从机的从机控制器的初始化命令 执行单元动作,断开继电器205,并将从机地址都设定成Oxff,在一 个实施例中连续发送了 20次,以确保从机收到。然后,在步骤714,由于原来的总线在物理上都被切断,但是总有一个节点是唯一和主机 连接的(最近的节点),所以主机100的主机控制器101的地址检查命 令发送单元向最近的一台从机200发送地址检查命令,其中携带的目 标地址为Oxff,地址为Oxff的从机的从机控制器的地址分配命令发 送单元收到后回复应答,并且如果经过一预定时间,比如30秒主机没 有收到从机的应答,则报警,否则就进入步骤716,等待从机应答或 者等待一预定时间,例如100ms。如果在步骤716,从机有应答,则进 入步骤718,否则,返回步骤714。在步骤718,主机的主机控制器101 的地址分配命令发送单元向从机发送准备分配的有效从机地址,其中 携带正式分配的地址,未分配地址的从机200的从机控制器的地址分 配命令发送单元收到后,使用该正式分配的地址取代Oxff并闭合继电 器205回复应答。在步骤720,系统再次等待从机应答或者100ms的 时间,如果无应答,则返回716,否则进入步骤722。在步骤722,系 统判断"有效分配地址〈SlaveNum〉"是否成立,如果成立,则将有效 地址增加l,并再次进入步骤720,否则,进入步骤724,系统地址分 配结束,保存分配的从机最大地址并提示自动分配成功。图8是根据本发明的一个实施例的从机的初始化流程图。当在网 络中接入新的从机200时,在步骤802,从机200上电。进而在步骤 804,从机200通过检查从机初始化开关204判断是否需要系统初始化, 例如,系统自动设置当从机初始化开关为1时,需要进行初始化,从 机初始化开关为0时,不需要进行初始化。也就是说,如果从机初始 化开关为1,则系统进入步骤610,此时从机的从机控制器的初始化命 令执行单元将其存储器203设定为出厂设置值,例如Oxff,并断开继 电器205,等待分配地址。如果从机初始化开关为0,则系统进入步骤806,判断地址是否已经分配,进而进入步骤808转入正常通讯模式。 应当理解,系统也可以进行相反的设置。当原有网络中需要插入新从机200时,只需将从机的初始化开关 204打开,恢复默认Qxf f设置,该从机便会等待地址分配命令,断开继 电器205开关,然后直接插入新接入的网络并再次按下主机初始化开 关104,就可重新自动完成对全部从机的智能地址分配。优选地,在 插入新从机时就无需再次按下主机初始化开关104即可对新插入的从 机分配地址。为此,主机的主机控制器的巡检模块可以设置成在巡检 时发送的命令中加入OxFF设备搜索命令。主机也可以设置成在所有正 常通讯结束后,在总线空闲时候,单独再发一条询问0xFF地址的命令。 正常通讯的周期的根据不同的系统条件而不同,比如该周期可以为10 秒。两种方法都可以被用来对新插入的从才几分配地址。下面以利用主 机定期巡检、在巡检时发送的命令中加入0xFF设备搜索命令的方案为 例进行说明。首先将新从机的初始化开关打开,恢复默认0xff设置, 当主机巡检时,主机控制器的巡检模块发送OxFF设备搜索命令时就会 收到回应,则表明有新从机插入,接着主机的主机控制器的异常处理模 块调用地址分配命令单元,开始对新从机分配地址,直到对所有新从机 分配完成。在一个实施例中,主机在已经分配地址号的基础上顺序增 加地址号码,分配给新增加的从机。上述主机所发送的巡检命令可定期 发送,其中携带的目标地址分别为各从机地址,也包括一个0xff地址。 利用该优选实施方案不需要知道当前网络里面的地址是多少,主机即 可智能完成新从机的插入,而不影响其他从机的通讯。下面结合通讯协议栈进一步说明本发明。其中数据帧格式由二十 三字节组成,具体的数据帧格式如下STXCMDDest—AddrSource—AddrDATACHECKETX其中各个字节分别表示STX:0x02,该值仅为示例性数值,应当理解,可以是其它值;CMD: 数据格式类型;Dest Addr:数据发送的目标地址;Source Addr:数据发送的源地址;DATA: 16字节发送数据;CHECK:CRC16校验,CRC初值为OxFFFF;ETX:0x03,该值仅为示例性数值,应当理解,可以是其它值。假设有一台主机(host),三台从机(slave) 1、 2、 3,组成一 个控制网络,并且作为示例性实施例,主机为从才几分配的地址从0x01 开始。各从机中的继电器的常态为闭合态。应当理解,从机的地址并 不仅限于从0x01开始,其可以选自0x00~ 0xFF中的任意一个。当该网络中没有插入新的从机时,如果主机上的初始化开关4皮按 下,则主才几自动进入初始4匕过程1、 主机发送初始化命令STX+0x5A+0xFF+0x00+Data+CRC16+ETX (Data任意)连续发送5秒,在三个从机都收到有效信息后,延迟3秒断开继 电器,同时将自身地址设置为0xff。2、 主机随后发送地址检查命令STX+0x5B+0xFF+0x00+Data+CRC16+ETX (Data任意)这时,由于所有继电器都断开,只有从机1通过其从机通讯模块与主机相连,可以收到该地址检查命令,且地址为OxFF,因此,从机1向主机发送应答STX+0xA5+0x00+0xFF+Data+CRC16+ETX (Data任意)其中,目标地址OxOO位置为主机地址,源地址OxFF位置为从才几地址。3、 主机收到从机l应答后,发送正式地址分配命令 STX+0x5C+0x01 + 0x00+Data+CRC16+ETX (Data任意) 其中目标地址为0x01,表示由0x01开始分配;从机1收到该命令后,向主机发送确认应答 STX+0xA6+0x00+0x01+Data+CRC16+ETX (Data任意)并同时闭合继电器,接通下一台从机2。4、 主机收到从机2应答后,发送正式地址分配命令21STX+0x5C+0x02+0x00+Data+CRC16+ETX (Data任意)从机1收到该命令后,将其中的地址与自己已^皮分配的地址对比, 发现地址不匹配,忽略且不回应;从机2收到后,保存该地址(即将 Oxff替换为该地址)并向主机发送确认应答STX+OxA6+Ox00+0x02+Data+CRC16+ETX (Data任意)并同时闭合继电器,接通下一台从机3。5、 主才几收到从机3应答后,发送正式地址分配命令 STX+0x5C+0x03+0x00+Data+CRC16+ETX (Data任意) 从机l、从机2收到该命令后,其中地址与自己净皮分配的地址不匹配,忽略且不回应;从机3收到后,保存该地址并向主机发送确认 应答STX+0xA6+0x00+0x03+Data+CRC16+ETX (Data任意)并同时闭合继电器。6、 主才几再次向从才几发送正式地址分配命令 STX+0x5C+0x04+0x00+Data+CRC16+ETX (Data任意) 连续发送10次,没有回应,地址分配结束。应当理解的是,地址分配命令的格式不限于上述格式,而可以是 任意适合的格式,例如可以采用用Data位携带分配地址的格式。 STX+0x5C+0xff+0x00+Addr+CRC16+ETX地址为Oxff的从机收到该命令后,使用Addr替换Oxff,并发送确 认应答,同时接通下一台从机通讯STX+0xA6+0x00+Addr+Data+CRC16+ETX (Data任意)接下来,主机再次发送地址分配命令STX+0x5C+0xff+0x00+ ( Addr+1) +CRC16+ETX第一台从机收到后,对比Oxff不是自己的地址,因此不应答,第 二台从机收到后,发现是发给自己的,则使用Addr+l替换Oxff,并应 答,同时接通下一台从机STX+0xA6+0x00+ ( Addr+1 ) +Data+CRC16+ETX (Data任意)以这样的方式也可以实现连续的地址分配。还应当理解的是,如果为了筒化设计,在一个实施例中,在初始 化步骤之后不进行地址检查,而可直接进行地址分配。在另一实施例 中,可以在每次地址分配前都进行一次地址检查。当在该网络中的从机3之后顺序接入一个新从机4时,首先在接 入从机4前,按下从机4的初始化开关,恢复出厂默认Oxff设置,然 后直接插入网络。在从机4上电后,检查到初始化开关被按下,则从 机4启动初始化,断开继电器,等待地址分配。1、 主机在巡检时,会插入搜寻Oxf f从机的命令 STX+0x5B+0xFF+0x00+Data+CRC16+ETX (Data任意) 从机l、 2、 3收到该命令后,其中地址与自己被分配的地址不匹配,忽略;从机4收到后,向主机发送确认应答STX+0xA5+0x00+0xFF+Data+CRC16+ETX (Data任意)2、 主机收到从纟几4应答后,发送正式地址分配命令 STX+0x5C+0x04+0x00+Data+CRC16+ETX (Data任意) 从机l、从机2和从机3收到该命令后,其中地址与自己被分配的地址不匹配,忽略;从机4收到后,保存该地址并向主机发送确认 应答STX+0xA6+0x00+0x04+Data+CRC16+ETX (Data任意)3、 主机再次向从才几发送正式地址分配命令 STX+0x5C+0x05+0x00+Data+CRC16+ETX (Data任意) 连续发送10次,没有回应,地址分配结束。当在该网络中的从机1和从机2之间增加一个新从机5,同时在 从机3和从机4之间增加一个新从机6时,首先在接入从机5、从机6 前,按下从机5、从机6的初始化开关,恢复出厂默认Oxff设置,然 后直接插入网络。在从机5、从机6上电后,检查到初始化开关被按 下,则从机5、从机6启动初始化,断开继电器,等待地址分配。由 于从机6位于从机5之后,所以在从机5的继电器已经断开的情况下, 与主机相连的地址为Oxff的从机只有从机5,也就是说,系统中时刻 只有不多于一个地址为Oxff的从机与主才几相连。1、 主机在巡检时,会插入搜寻Oxf f从机的命令 STX+0x5B+0xFF+0x00+Data+CRC16+ETX (Data任意) 从机l收到该命令后,其中地址与自己被分配的地址不匹配,忽略;从才几5收到后,向主机发送确i^应答STX+0xA5+0x00+0xFF+Data+CRC16+ETX (Data任意)2、 主机收到从才几5应答后,发送正式地址分配命令 STX+0x5C+0x05+0x00+Data+CRC16+ETX (Data任意) 从机l收到该命令后,其中地址与自己被分配的地址不匹配,忽略;从机5收到后,保存该地址并向主机发送确认应答STX+0xA6+0x00+0x05+Data+CRC16+ETX (Data任意)并同时闭合继电器,接通从机6。3、 主机收到从机5应答后,发送正式地址分配命令 STX+0x5C+0x06+0x00+Data+CRC16+ETX (Data任意) 从机1、从机5、从机2和从机3收到该命令后,其中地址与自己-故分配的地址不匹配,忽略;从机6收到后,保存该地址并向主机发 送确认应答STX+0xA6+0x00+0x06+DaU+CRC16+ETX (Data任意)4、 主才几再次向从才几发送正式地址分配命令 STX+0x5C+0x07+0x00+Data+CRC16+ETX (Data任意) 连续发送10次,没有回应,地址分配结束。从以上示例性的说明可以看出,无论何时哪些从机的电子开关断 开,未分配地址的从机中,时刻只有一台可以与主机通信,而该从机必然是与主才几最为邻近的未分配地址从机。应当理解的是,本发明并不限于上述优选实施方案中所公开的具 体形式。例如,本发明也适用于多主多从系统,在这样的系统中,将 有一个主站完成地址分配,其余的主站可以不参加地址分配或被当作 某一个特殊的从站(具有某种特殊的标记)对待。尽管已经参照本发明的特定实施方案显示并描述了本发明,但是 本领域的普通技术人员将理解,在不偏离本发明的精神和范围的情况 下,可以在其中进行前述以及其它形式和细节变化,包括但不限于添加、减少或修改元件或以等同物进行替代,和/或添加、减少或修改 以相同或不同顺序执行的步骤。
权利要求
1.一种串行总线系统中的地址分配方法,所述串行总线系统包括至少一个主机和至少一个从机,所述方法包括下列步骤a.在串行总线中为所述至少一个从机中的每一个设置电子物理开关,以控制每一所述从机和与其相邻的下一所述从机之间的线路通断;b.断开所述至少一个从机中的每一个的电子物理开关;c.由所述主机为最相邻的待分配地址的从机分配地址后,闭合该从机的电子开关。
2. 根据权利要求1所述的地址分配方法,其中重复步骤c直至对 全部从机完成地址分配。
3. 根据权利要求1所述的地址分配方法,其中在步骤b中,主机 向从机发送初始化命令,以断开电子物理开关。
4. 根据权利要求1所述的地址分配方法,其中在步骤c之前还包 括下列步骤主机向从机发送地址检查命令,与所述地址检查命令中 的检查地址匹配的从机向主机发送确认应答。
5. 根据权利要求1所述的地址分配方法,进一步包括步骤d:主机 定期向从机发送巡检命令的步骤,所述巡检命令包括各从机地址。
6. 根据权利要求5所述的地址分配方法,其中所述巡检命令还包 括为初始值的地址。
7. 根据权利要求6所述的地址分配方法,进一步包括e. 在所述串行总线系统中增加至少一个附加从机;f. 初始化所述附加从机,以断开所述附加从机的电子物理开关, 并设置附加从机地址为初始值;g. 与所述巡检命令中的为初始值的地址匹配的附加从机向主机发 送确认应答,保存该地址并闭合所述附加从机的所述电子物理开关。
8. 根据权利要求7所述的地址分配方法,其中重复步骤g直至对 全部附加从机完成地址分配。
9. 根据权利要求1所述的地址分配方法,进一步包括判定有效分 配地址是否小于从机数量的步骤。
10. 才艮据权利要求1所述的地址分配方法,其中所述从机地址的初 始值是OxFF。
11. 根据权利要求1所述的地址分配方法,其中所述电子物理开关 是继电器。
12. —种用于串行总线系统中的主机,所述串行总线系统还包括至 少一个从才几,所述主机包括控制器;通信模块,与控制器相连,用于向所述至少一个从机发送数据和 从所述至少一个从机接收数据;存储器,与控制器相连,用于存取所述至少一个从机的地址数据;和初始化开关,与控制器相连,用于当所述初始化开关被启动时启 动初始化操作。
13. 根据权利要求12所述的主机,其中所述控制器包括 初始化命令单元,用于在初始化开关被按下后,向所述至少一个从机发送初始化命令;地址分配命令发送单元,用于向所述至少一个从机发送地址分配 命令。
14. 根据权利要求13所述的主机,其中所述控制器还包括巡检模 块,用于定期向所述至少一个从机发送巡检命令,其中所述巡检命令包括所述至少一个从机的地址。
15. 根据权利要求14所述的主机,其中所述巡检命令还包括为初 始值的地址。
16. 根据权利要求15所述的主机,其中所述控制器还包括异常处 理模块,用于当巡检模块发现有附加从机接入时,调用地址分配命令 单元,向所述附加从机发送地址分配命令。
17. 根据权利要求13所述的主机,其中所述控制器还包括地址检 查命令发送单元,用于向所述至少一个从机发送地址检查命令。
18. 根据权利要求12所述的主机,其中所述通信模块是RS485通 信模块。
19. 根据权利要求12所述的主机,其中所述存储器是非易失性存 储器。
20. 根据权利要求12所述的主机,其中所述初始化开关是JP跳 线开关或触发按键开关。
21. —种用于串行总线系统中的从机,所述串行总线系统还包括至 少一个主才几,所述从才几包括控制器;通信模块,与控制器相连,用于向所述至少一个主机发送数据和从所述至少一个主机接收数据;存储器,与控制器相连,用于存取所述从机的地址数据; 电子物理开关,连接于串行总线中并位于通信模块的下游;和 初始化开关,与控制器相连,用于当所述初始化开关被启动时启动初始化操作。
22. 根据权利要求21所述的从机,其中所述控制器包括 初始化命令执行单元,用于在初始化开关,皮启动后,或收到所述至少一个主机发送的初始化命令后,断开所述电子物理开关,并将自 身地址设置为初始值;地址分配命令发送单元,用于在收到所述至少一个主机发送的地 址分配命令,使用地址分配命令中的地址取代分配前的地址,并回复 应答,同时接通电子物理开关。
23. 根据权利要求22所述的从机,其中所述控制器还包括地址检 查命令应答单元,用于在收到所述至少一个主机发送的地址检查命令 后,回复应答。
24. 根据权利要求21所述的从机,其中所述通信模块是RS485通 信模块。
25. 根据权利要求21所述的从机,其中所述存储器是非易失性存 储器。
26. 根据权利要求21所述的从机,其中所述初始化开关是JP跳 线开关或触发按键开关。
27. 根据权利要求21所述的从机,其中所述电子物理开关是继电器。
28. —种系统,所述系统包括 至少一个主机; 至少一个从才几; 包括双线的串行总线;其中所述至少一个从机中的每一个包括电子物理开关,并且其中 串行总线的双线从主机引出,依次经过所述至少一个从机中的每一个 的电子物理开关。
29. 根据权利要求28所述的系统,其中所述至少一个主机中的每 一个包括主机控制器;主机通信模块,与主机控制器相连,用于向所述至少一个从机发 送数据和从所述至少一个从机接收数据;主机存储器,与主机控制器相连,用于存取所述至少一个从机的 地址数据;和主;lfL初始化开关,与主机控制器相连,用于当所述主机初始4匕开 关被启动时启动初始化操作。
30. 根据权利要求29所述的系统,其中所述主机控制器包括 初始化命令单元,用于在主机初始化开关被按下后,向所述至少一个从机发送初始化命令;主机地址分配命令发送单元,用于向所述至少一个从机发送地址 分配命令。
31. 根据权利要求30所述的系统,其中所述主机控制器还包括巡 检模块,用于定期向所述至少一个从机发送巡检命令,其中所述巡检 命令包括所述至少一个从机的地址。
32. 根据权利要求31所述的系统,其中所述巡检命令还包括为初 始值的地址。
33. 根据权利要求32所述的系统,其中所述主机控制器还包括异 常处理模块,用于当巡检模块发现有附加从机接入时,调用地址分配 命令单元,向所述附加从机发送地址分配命令。
34. 根据权利要求29所述的系统,其中所述主机控制器还包括地 址检查命令发送单元,用于向所述至少 一个从机发送地址检查命令。
35. 根椐权利要求29所述的系统,其中所述主机通信模块是RS485 通信模块。
36. 根据权利要求29所述的系统,其中所述主机存储器是非易失 性存储器。
37. 根据权利要求29所述的系统,其中所述主机初始化开关是 JP跳线开关或触发按键开关。
38. 根据权利要求28所述的系统,其中所述至少一个从机中的每 一个包括从机控制器;从机通信模块,与从机控制器相连,,用于向所述至少一个主机发送数据和从所述至少一个主机接收数据;从机存储器,与从机控制器相连,用于存取所述从机的地址数据; 电子物理开关,连接于串行总线中并位于通信模块的下游;和 从机初始化开关,与从机控制器相连,用于当所述从机初始化开关被启动时启动初始化操作。
39. 根据权利要求38所述的系统,其中所述从机控制器包括 初始化命令执行单元,用于在从机初始化开关被启动后,或收到所述至少一个主机发送的初始化命令后,断开所述电子物理开关,并 将所述从机地址设置为初始值;从机地址分配命令发送单元,用于在收到所述至少一个主机发送 的地址分配命令,使用地址分配命令中的地址取4戈分配前的地址,并 回复应答,同时接通电子物理开关。
40. 根据权利要求39所述的系统,其中所述控制器还包括地址检 查命令应答单元,用于在收到所述至少一个主机发送的地址检查命令 后,回复应答。
41. 根据权利要求38所述的系统,其中所述从机通信模块是RS485 通信模块。
42. 根据权利要求38所述的系统,其中所述从机存储器是非易失 性存储器。
43. 根据权利要求38所述的系统,其中所述从机初始化开关是 JP跳线开关或触发按键开关。
44. 根据权利要求38所述的系统,其中所述电子物理开关是继电器。
全文摘要
提供了一种用于智能地址分配的系统,所述系统包括主机,包括具有执行地址分配功能的MCU控制器、通信模块、存储器和初始化开关;从机,包括具有执行地址分配功能的MCU控制器、通信模块、电子物理开关、存储器和初始化开关;其中组网连接方式为双绞线从主机引出后,先引入第一从机的电子物理开关的输入端,再从电子物理开关的输出端引线到第二从机的电子物理开关的输入端。
文档编号H04L12/24GK101635637SQ20081013359
公开日2010年1月27日 申请日期2008年7月21日 优先权日2008年7月21日
发明者刘远辉, 张云峰, 张智锋, 徐竑晨, 磊 石, 玺 罗 申请人:江森自控楼宇设备科技(无锡)有限公司;江森自控科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1