無需地址分配的串行通信方法和系統的製作方法
2023-05-17 16:12:26
專利名稱:無需地址分配的串行通信方法和系統的製作方法
技術領域:
本發明涉及串行通信方法和系統。具體地涉及一種無需地址分配的串行通信方法和系統。
背景技術:
在傳統的多級從屬串行通信中,需要向每一級強制分配一本地唯一地址。
圖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日
發明者葉均 申請人:施耐德電器工業公司