无需地址分配的串行通信方法和系统的制作方法

文档序号:7905549阅读:149来源:国知局
专利名称:无需地址分配的串行通信方法和系统的制作方法
技术领域
本发明涉及串行通信方法和系统。具体地涉及一种无需地址分配的串行通信方法和系统。
背景技术
在传统的多级从属串行通信中,需要向每一级强制分配一本地唯一地址。
图1是传统的总线拓扑结构的串行通信系统示意图,其中示出了传统的多级从属通信方串行通信的连接方式。
如图1所示,在传统的总线拓扑结构的串行通信系统中,包含主通信方1000与多个从属通信方#1_#200,从属通信方#1-#200分别经由其内部的串行端口依次直接连接在主通信方I的串行通信总线上。在图1所示的串行通信系统中进行多级从属串行通信时, 主通信方1000经由其内部的串行端口与从属通信方#1-#200之一进行串行 通信,在这样的总线拓扑结构中,需要向每一级的从属通信方强制分配一唯一的物理的本地地址,例如最接近主通信方的第一个从属通信方的本地地址是1,第一个从属通信方之后的第二个从属通信方的本地地址是2,等等。
图2是传统的总线拓扑结构的多级从属通信方串行通信方法的通信过程示意图。
如图2所示,主通信方1000向所有的从属通信方#1_#200广播包括目标从属通信方地址的请求消息,例如包括地址为I的请求消息或包括地址为3的请求消息。所有的从属通信方#1_#200都能够接收这样的请求消息,并通过将请求消息中包含的目标从属通信方地址与自身预分配的本地地址进行比较来检查该请求消息是否针对其自身。比较的结果是所有的从属通信方#1_#200中仅有唯一的一个从属通信方的自身预分配的本地地址与请求消息中包含的目标从属通信方地址相同,则该唯一的从属通信方就是目标从属通信方,并对该请求消息进行响应,例如如果请求消息包含的地址为1,则从属通信方#1进行应答;如果请求消息包含的地址为3,则从属通信方#3进行应答。
现有技术的问题在于各个从属通信方的本地地址必需预先设置和预先分配。通常,各个从属通信方的本地地址是通过从属通信方上的开关分配的,或者本地地址包含在从属通信方上的应用程序中。一个极端的情况是所有的从属通信方具有功能完全一样的应用程序,仅仅地址不同而使得应用程序的具体体现不同,这将产生修改从属通信方的应用程序和维护多个应用程序的负担。发明内容
针对的缺点和不足,提出了本发明的串行通信方法和系统,无需在各个从属通信方预先设置和预先分配物理的本地地址,当更换从属通信方时,也无需为其设置和分配物理的本地地址。这样,即使在所有的从属通信方具有功能完全一样的应用程序的极端情况下,所有从属通信方中可以采用完全一致的同一个应用程序,仅需要维护所有从属通信方中的该同一个应用程序即可,而无需因考虑地址问题而修改相应的从属通信方中的应用程序,大大减轻了修改从属通信方中的应用程序和维护应用程序的负担。
根据本发明,提供一种包含主通信方和多个从属通信方的串行通信系统中的串行通信方法,其中主通信方经由其内部的串行端口与从属通信方之一进行串行通信,其中
主通信方与多个从属通信方之间使用的是菊花链的拓扑连接结构,在该菊花链的拓扑连接结构中,从属通信方分别经由其内部的两个串行端口以菊花链的形式依次直接连接在串行通信总线上,并经由其内部的两个串行端口分别与其左右两边的设备进行通信,
所述串行通信方法包括步骤
主通信方经由其内部的串行端口向从属通信方发送包括当前逻辑地址为目标从属通信方逻辑地址的请求消息,
各个从属通信方
A.当从左边设备接收请求消息时,如果请求消息中的当前逻辑地址是add,则该从属通信方将发送响应消息给其左边的设备,该响应消息的当前逻辑地址为add ;如果请求消息中的当前逻辑地址不是add,则该从属通信方将请求消息中的当前逻辑地址减η之后,转发该请求消息给其右边的设备;
B.当从右边设备接收响应消息时,该从属通信方总是将响应消息中的逻辑地址加 η之后转发该响应消息给其左边的设备,其中add为大于等于O的整数,η为非O的整数。
在上述的串行通信方法,其中主通信方基于从主通信方的角度来看的从属通信方在菊花链中的顺序位置号来设置各个从属通信方的逻辑地址,并且各个从属通信方的逻辑地址仅主通信方知道,其中各个从属通信方的逻辑地址依次为add+(i_l)*n,i为从主通信方的角度来看的从属通信方在菊花链中的顺序位置号,i为自然数。
根据本发明,还提供一种串行通信系统,包含主通信方和多个从属通信方,主通信方经由其内部的串行端口与从属通信方之一进行串行通信,其中
主通信方与多个从属通信方之间使用的是菊花链的拓扑连接结构,在该菊花链的拓扑连接结构中,从属通信方分别经由其内部的两个串行端口以菊花链的形式依次直接连接在串行通信总线上,并经由其内部的两个串行端口分别与其左右两边的设备进行通信,
在主通信方经由其内部的串行端口向从属通信方发送包括当前逻辑地址为目标从属通信方逻辑地址的请求消息之后,各个从属通信方在进行通信时将具有如下的相同的动作
A.当从左边设备接收请求消息时,如果请求消息中的当前逻辑地址是add,则该从属通信方将发送响应消息给其左边的设备,该响应消息的当前逻辑地址为add ;如果请求消息中的当前逻辑地址不是add,则该从属通信方将请求消息中的当前逻辑地址减η之后,转发该请求消息给其右边的设备;
B.当从右边设备接收响应消息时,该从属通信方总是将响应消息中的逻辑地址加 η之后转发该响应消息给其左边的设备,
其中add为大于等于O的整数,η为非O的整数。
在上述串行通信系统,其中主通信方基于从主通信方的角度来看的从属通信方在菊花链中的顺序位置号来设置各个从属通信方的逻辑地址,并且各个从属通信方的逻辑地址仅主通信方知道,其中各个从属通信方的逻辑地址依次为add+(i_l)*n,i为从主通信方的角度来看的从属通信方在菊花链中的顺序位置号,i为自然数。


通过下面结合附图对示例实施例的详细描述,将更好地理解本发明。应当清楚地理解,所描述的示例实施例仅仅是作为说明和示例,而本发明不限于此。本发明的精神和范围由所附权利要求书的具体内容限定。下面描述附图的简要说明,其中
图1是传统的总线拓扑结构的串行通信系统示意图,其中示出了传统的多级从属通信方串行通信的连接方式;
图2是传统的总线拓扑结构的多级从属通信方串行通信方法的通信过程示意图3是根据本发明的菊花链拓扑结构的多级从属通信方串行通信系统示意图,其中示出了本发明的多级从属通信方串行通信的连接方式;以及
图4是本发明的菊花链拓扑结构的多级从属通信方串行通信方法的通信过程示意图。
具体实施方式
现在参照附图来详细介绍根据本发明的菊花链拓扑结构的多级从属通信方串行通信方法和系统。
本发明通过使用菊花链拓扑技术以及在从属级之间的通信实现了无需地址分配的串行通信。
图3是根据本发明的菊花链拓扑结构的多级从属通信方串行通信系统示意图,其中示出了本发明的多级从属通信方串行通信的连接方式。
如图3所示,在本发明的总线拓扑结构的串行通信系统中,包含主通信方1000与多个从属通信方#1-#200,本发明的主通信方1000与多个从属通信方#1_#200之间使用的是菊花链的拓扑连接结构。主通信方1000经由其内部的串行端口与从属通信方#1_#200 之一进行串行通信。在本发明的菊花链拓扑结构中,从属通信方#1_#200分别经由其内部的两个串行端口以菊花链的形式依次直接连接在串行通信总线上。
主通信方1000经由其内部的串行端口向从属通信方#1发送包括当前逻辑地址为目标从属通信方逻辑地址的 请求消息,并从从属通信方#1接收包括当前逻辑地址为目标从属通信方逻辑地址的响应消息。
各个从属通信方设备都能够经由其内部的第一串行端口从其左侧最接近的设备接收请求消息,各个从属通信方设备都能够经由其内部的第二串行端口向其右侧最接近的设备转发请求消息。
各个从属通信方设备都能够经由其内部的第二串行端口从其右侧最接近的设备接收响应消息,各个从属通信方设备都能够经由其内部的第一串行端口向其左侧最接近的设备发送或转发响应消息。
在本发明中,主通信方1000基于从主通信方的角度来看的从属通信方在菊花链中的位置号来设置各个从属通信方的逻辑地址,并且各个从属通信方的逻辑地址仅主通信方知道,从属通信方无需本地地址,既不用在其自身上的应用程序中设置物理的本地地址也不用通过其自身上的开关分配物理的本地地址。例如最接近主通信方的第一个从属通信方的逻辑地址是1,第一个从属通信方之后的第二个从属通信方的逻辑地址是2,第i个从属通信方的逻辑地址是i_l等等;或者例如最接近主通信方的第一个从属通信方的逻辑地址是add,第一个从属通信方之后的第二个从属通信方的逻辑地址是add+n......第i个从属通信方的逻辑地址是add+(1-l)*n等等,其中add为大于等于O的整数,η为非O的整数,i为自然数。
例如,从属通信方#2可以从属通信方#1接收请求消息,并能够向从属通信方#3 转发请求消息;从属通信方#2可以从属通信方#3接收响应消息,并能够向从属通信方#1 转发响应消息;从属通信方#2不能与主通信方1000或从属通信方#200进行通信。
在本发明中,主通信方1000基于其设置的逻辑地址发送请求消息,即在请求消息中包括当前逻辑地址为目标从属通信方的逻辑地址。在主通信方1000发出上述请求消息之后,各个从属通信方在进行通信 时将具有如下的相同的动作
A.当从左边设备接收请求消息时,如果请求消息中的当前逻辑地址是add,则该从属通信方将发送响应消息给其左边的设备,该响应消息的当前逻辑地址为add ;如果请求消息中的当前逻辑地址不是add,则该从属通信方将请求消息中的当前逻辑地址减η之后,转发该请求消息给其右边的设备。
B.当从右边设备接收响应消息时,该从属通信方总是将响应消息中的逻辑地址加 η之后转发该响应消息给其左边的设备。
这样,主通信方1000发送的请求消息包含的当前逻辑地址为目标从属通信方逻辑地址,该请求消息经过从属通信方的转发之后最终到达目标从属通信方之后,该目标从属通信方将发送响应消息给其左边的设备,该响应消息的当前逻辑地址为add。响应消息经过从属通信方的转发之后最终到达主通信方1000,此时,该响应消息的当前逻辑地址为目标从属通信方逻辑地址。
也即,只有主通信方1000发送的请求消息或接收的响应消息中包含的当前逻辑地址是目标从属通信方逻辑地址。各个从属通信方发送的请求消息或接收的响应消息中包含的当前逻辑地址不是目标从属通信方逻辑地址,只有在当前逻辑地址为add时,从属通信方才对请求消息作出应答,发送响应消息。
图4是本发明的菊花链拓扑结构的多级从属通信方串行通信方法的通信过程示意图。在图4中,最接近主通信方的第一个从属通信方的逻辑地址是1,第一个从属通信方之后的第二个从属通信方的逻辑地址是2,第i个从属通信方的逻辑地址是i等等。
图4示出了两种实例,第一实例是主通信方1000发送包含当前逻辑地址是目标从属通信方逻辑地址(目标从属通信方逻辑地址为I)的请求消息给从属通信方#1;第二实例是主通信方1000发送包含当前逻辑地址是目标从属通信方逻辑地址(目标从属通信方逻辑地址为3)的请求消息给从属通信方#3。
在第一实例中,即在主通信方1000发送包含当前逻辑地址是目标从属通信方逻辑地址I的请求消息给从属通信方#1的情况中,第一步主通信方1000发送包含当前逻辑地址是目标从属通信方逻辑地址I的请求消息给从属通信方#1;第二步因为请求消息中包含的当前逻辑地址是1,则从属通信方#1发送包含当前逻辑地址是I的响应消息给主通信方1000。主通信方1000接收该包含当前逻辑地址是I的响应消息,将此响应消息中包含的当前逻辑地址认定为目标从属通信方逻辑地址,并确认此响应消息是从目标从属通信方 #1发送的,至此,串行通信结束。
在第二实例中,即在主通信方1000发送包含当前逻辑地址是目标从属通信方逻辑地址3的请求消息给从属通信方#3的情况中,第一步主通信方1000发送包含当前逻辑地址是目标从属通信方逻辑地址3的请求消息给从属通信方#1 ;第二步因为请求消息中包含的当前逻辑地址是3,则从属通信方#1将当前逻辑地址减1,得到当前逻辑地址为2,从属通信方#1然后发送包含当前逻辑地址是2的请求消息给右边的从属通信方#2 ;第三步 因为请求消息中包含的当前逻辑地址是2,则从属通信方#2将当前逻辑地址减1,得到当前逻辑地址为1,从属通信方#2然后发送包含当前逻辑地址是I的请求消息给从属通信方 #3 ;第四步因为请求消息中包含的当前逻辑地址是1,则从属通信方#3向左边的从属通信方#2发送包含当前逻辑地址是I的响应消息;第五步因为从属通信方#2接收来自于从属通信方#3的响应消息,因此从属通信方#2将当前逻辑地址加1,得到当前逻辑地址为2,从属通信方#2然后向左边的从属通信方#1转发包含当前逻辑地址是2的响应消息;第六步 因为从属通信方#1接收来自于从属通信方#2的响应消息,因此从属通信方#1将当前逻辑地址加1,得到当前逻辑地址为3,从属通信方#1然后向左边的主通信方1000转发包含当前逻辑地址是3的响应消息,主通信方1000接收到该包含当前逻辑地址是3的响应消息, 将此响应消息中包含的当前逻辑地址认定为目标从属通信方逻辑地址,并确认此响应消息是从目标从属通信方#3发送的,至此,串行通信结束。
根据本发明的多级从属通信方串行通信系统包括采用串行菊花链拓扑结构连接的一个主通信方和多个从属通信方,多个从属通信方的每一个均包含两个串行端口,从属通信方分别经由两个串行端口以菊花链的形式依次直接连接在串行通信总线上,其中一个串行端口用于接收左侧紧邻的主通信方发送的或左侧紧邻的从属通信方转发的请求消息, 并用于转发所接收的响应消息给左侧紧邻的主通信方或从属通信方。另一个串行端口用于接收右侧紧邻的从属通信方发送或转发的响应消息,并用于将所接收的响应消息转发给右侧紧邻的主通信方或从属通信方。其中主通信方基于从主通信方的角度来看的从属通信方在菊花链中的位置号来设置各个从属通信方的逻辑地址,并且各个从属通信方的逻辑地址仅主通信方知道,从属通信方无需本地地址,既不用在其自身上的应用程序中设置物理的本地地址也不用通过其自身上的开关分配物理的本地地址。
当主通信方向目标从属通信方发送包括当前逻辑地址为目标从属通信方逻辑地址的请求消息之后,任何一个从属通信方设备将具有如下的相同的动作
A.当从左边设备接收请求消息时,如果请求消息中的当前逻辑地址是add,则该从属通信方将发送响应消息给其左边的设备,该响应消息的当前逻辑地址为add ;如果请求消息中的当前逻辑地址不是add,则该从属通信方将请求消息中的当前逻辑地址减η之后,转发该请求消息给其右边的设备。
B.当从右边设备接收响应消息时,该从属通信方总是将响应消息中的逻辑地址加 η之后转发该响应消息给其左边的设备。
根据本发明的采用菊花链拓扑结构的上述多级从属通信方串行通信方法和系统, 主通信方根据其设置的从属通信方逻辑地址能够与所有的从属通信方之一进行串行通信, 而无需在各个从属通信方预先设置和预先分配物理的本地地址,当更换从属通信方时,也无需为其设置和分配物理的本地地址。这样,即使在所有的从属通信方具有功能完全一样的应用程序的极端情况下,所有从属通信方中可以采用完全一致的同一个应用程序,仅需要维护所有从属通信方中的该同一个应用程序即可,而无需因考虑地址问题而修改相应的从属通信方中的应用程序,大大减轻了修改从属通信方中的应用程序和维护应用程序的负担。
虽然已经图示和描述了所考虑的本发明的示例实施例,但是本领 域技术人员可以理解,随着技术的进步,可以作出各种变更和修改并可以用等价物替换其元素而不背离本发明的真实范围。
权利要求
1.一种包含主通信方和多个从属通信方的串行通信系统中的串行通信方法,其中主通信方经由其内部的串行端口与从属通信方之一进行串行通信,其特征在于 主通信方与多个从属通信方之间使用的是菊花链的拓扑连接结构,在该菊花链的拓扑连接结构中,从属通信方分别经由其内部的两个串行端口以菊花链的形式依次直接连接在串行通信总线上,并经由其内部的两个串行端口分别与其左右两边的设备进行通信, 所述串行通信方法包括步骤 主通信方经由其内部的串行端口向从属通信方发送包括当前逻辑地址为目标从属通信方逻辑地址的请求消息, 各个从属通信方 A.当从左边设备接收请求消息时,如果请求消息中的当前逻辑地址是add,则该从属通信方将发送响应消息给其左边的设备,该响应消息的当前逻辑地址为add ;如果请求消息中的当前逻辑地址不是add,则该从属通信方将请求消息中的当前逻辑地址减η之后,转发该请求消息给其右边的设备; B.当从右边设备接收响应消息时,该从属通信方总是将响应消息中的逻辑地址加η之后转发该响应消息给其左边的设备,其中add为大于等于O的整数,η为非O的整数。
2.如权利要求1所述的串行通信方法,其中主通信方基于从主通信方的角度来看的从属通信方在菊花链中的顺序位置号来设置各个从属通信方的逻辑地址,并且各个从属通信方的逻辑地址仅主通信方知道,其中各个从属通信方的逻辑地址依次为add+(1-l)*n,i为从主通信方的角度来看的从属通信方在菊花链中的顺序位置号。
3.—种串行通信系统,包含主通信方和多个从属通信方,主通信方经由其内部的串行端口与从属通信方之一进行串行通信,其特征在于 主通信方与多个从属通信方之间使用的是菊花链的拓扑连接结构,在该菊花链的拓扑连接结构中,从属通信方分别经由其内部的两个串行端口以菊花链的形式依次直接连接在串行通信总线上,并经由其内部的两个串行端口分别与其左右两边的设备进行通信, 在主通信方经由其内部的串行端口向从属通信方发送包括当前逻辑地址为目标从属通信方逻辑地址的请求消息之后,各个从属通信方在进行通信时将具有如下的相同的动作 A.当从左边设备接收请求消息时,如果请求消息中的当前逻辑地址是add,则该从属通信方将发送响应消息给其左边的设备,该响应消息的当前逻辑地址为add ;如果请求消息中的当前逻辑地址不是add,则该从属通信方将请求消息中的当前逻辑地址减η之后,转发该请求消息给其右边的设备; B.当从右边设备接收响应消息时,该从属通信方总是将响应消息中的逻辑地址加η之后转发该响应消息给其左边的设备, 其中add为大于等于O的整数,η为非O的整数。
4.如权利要求3所述的串行通信系统,其中主通信方基于从主通信方的角度来看的从属通信方在菊花链中的顺序位置号来设置各个从属通信方的逻辑地址,并且各个从属通信方的逻辑地址仅主通信方知道,其中各个从属通信方的逻辑地址依次为add+(1-l)*n,i为从主通信方的角度来看的从属通信方在菊花链中的顺序位置号,i为自然数。
全文摘要
一种包含主通信方和多个从属通信方的串行通信系统及其方法。主通信方与从属通信方间使用菊花链的拓扑连接结构,从属通信方经其内部的两个串行端口以菊花链的形式依次直接连接在串行通信总线上,分别与其左右两边的设备进行通信。主通信方向从属通信方发送包括当前逻辑地址为目标从属通信方逻辑地址的请求消息,各个从属通信方A.当从左边设备接收请求消息时,如果请求消息中的当前逻辑地址是add,则发送响应消息给其左边的设备;如果请求消息中的当前逻辑地址不是add,则将当前逻辑地址减n之后,转发该请求消息给其右边的设备;B.当从右边设备接收响应消息时,总是将响应消息中的逻辑地址加n之后转发该响应消息给其左边的设备。
文档编号H04L29/12GK103001836SQ20111026679
公开日2013年3月27日 申请日期2011年9月9日 优先权日2011年9月9日
发明者叶均 申请人:施耐德电器工业公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1