TWI832670B - 實體層碰撞避免裝置及其自動判定節點身分的方法 - Google Patents
實體層碰撞避免裝置及其自動判定節點身分的方法 Download PDFInfo
- Publication number
- TWI832670B TWI832670B TW112101586A TW112101586A TWI832670B TW I832670 B TWI832670 B TW I832670B TW 112101586 A TW112101586 A TW 112101586A TW 112101586 A TW112101586 A TW 112101586A TW I832670 B TWI832670 B TW I832670B
- Authority
- TW
- Taiwan
- Prior art keywords
- physical layer
- collision avoidance
- identification information
- layer collision
- avoidance device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000004891 communication Methods 0.000 claims description 39
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 10
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本發明實施例提供一種實體層碰撞避免(PLCA)裝置及及其自動判定節點身分的方法。所述方法包括:產生亂數作為PLCA裝置的識別資訊,其中PLCA裝置維護有識別資訊表及裝置計數;接收第一同步封包,其中第一同步封包包括第一PLCA裝置的第一識別資訊;判定PLCA裝置的識別資訊及第一PLCA裝置的第一識別資訊之間的第一比較結果;基於第一比較結果更新識別資訊表及裝置計數;基於第一比較結果發送對應於PLCA裝置的同步封包;以及基於識別資訊表判定PLCA裝置在PLCA網路中的節點身分。
Description
本發明是有關於一種實體層碰撞避免(physical layer collision avoidance,PLCA)技術,且特別是有關於一種實體層碰撞避免裝置及其自動判定節點身分的方法。
雖然IEEE802.3cg中定義的PLCA可以讓多點(multi-drop)網路高效工作,但是在實際應用中有一個問題不容忽視,就是使用者需要在PLCA機制啟動前設置節點身分和節點數量,否則PLCA將無法正常工作。
為了解決這個問題,已經提出了一些方法。然而,這些方法多半具有容易讓系統不穩定,以及因退後時間過長而導致資料封包無法發送,甚至被丟棄等問題。
有鑑於此,本發明提供一種實體層碰撞避免裝置及其自動判定節點身分的方法,其可用於解決上述技術問題。
本發明實施例提供一種實體層碰撞避免裝置,包括通訊電路及控制器。通訊電路用以接收一第一同步封包,其中第一同步封包包括一第一實體層碰撞避免裝置的第一識別資訊。控制器耦接通訊電路,並維護有一識別資訊表及一裝置計數,其中控制器經配置以:產生一亂數作為實體層碰撞避免裝置的識別資訊;判定實體層碰撞避免裝置的識別資訊及第一實體層碰撞避免裝置的第一識別資訊之間的一第一比較結果;基於第一比較結果更新識別資訊表及裝置計數;基於第一比較結果控制通訊電路發送對應於實體層碰撞避免裝置的一同步封包;以及基於識別資訊表判定實體層碰撞避免裝置在一實體層碰撞避免網路中的一節點身分。
本發明實施例提供一種自動判定實體層碰撞避免裝置的節點身分的方法,適於實體層碰撞避免裝置,包括:產生一亂數作為實體層碰撞避免裝置的識別資訊,其中實體層碰撞避免裝置維護有一識別資訊表及一裝置計數;接收一第一同步封包,其中第一同步封包包括一第一實體層碰撞避免裝置的第一識別資訊;判定實體層碰撞避免裝置的識別資訊及第一實體層碰撞避免裝置的第一識別資訊之間的一第一比較結果;基於第一比較結果更新識別資訊表及裝置計數;基於第一比較結果控制通訊電路發送對應於實體層碰撞避免裝置的一同步封包;以及基於識別資訊表判定實體層碰撞避免裝置在一實體層碰撞避免網路中的節點身分。
請參照圖1,其是依據本發明之一實施例繪示的PLCA網路示意圖。在圖1中,PLCA網路100包括PLCA裝置10~1N,其中PLCA裝置10~1N可具有相同或相似的結構。以PLCA裝置10為例,其例如包括通訊電路101、亂數產生器102、比較器103及控制器104。
在一實施例中,通訊電路101例如可用於實現PLCA裝置10與PLCA網路100中的其他PLCA裝置之間的通訊,而通訊電路101可因應於PLCA裝置10~1N之間用於進行封包交換所使用的通訊協定而實現為具有對應通訊功能的通訊模組。
在一實施例中,PLCA裝置10~1N例如可使用載波檢測多重存取附碰撞偵測(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)協定進行封包交換。在此情況下,通訊電路101例如可實現為具備CSMA/CD功能的通訊模組,但可不限於此。
在一實施例中,亂數產生器102例如可用於產生亂數以作為PLCA裝置10的識別資訊ID0。另外,比較器103例如可用於將PLCA裝置10的識別資訊ID0與其他PLCA裝置的識別資訊進行比較,但可不限於此。
控制器104耦接於通訊電路101、亂數產生器102及比較器103,並可為一般用途處理器、特殊用途處理器、傳統的處理器、數位訊號處理器、多個微處理器(microprocessor)、一個或多個結合數位訊號處理器核心的微處理器、微控制器、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式閘陣列電路(Field Programmable Gate Array,FPGA)、任何其他種類的積體電路、狀態機、基於進階精簡指令集機器(Advanced RISC Machine,ARM)的處理器以及類似品。
在一實施例中,亂數產生器102及比較器103可受控於控制器104而實現上述功能。在另一實施例中,亂數產生器102及比較器103亦可實現為內建於控制器104中的模組,用以實現上述功能,但可不限於此。
在圖1中,PLCA裝置11~1N結構可參考PLCA裝置10的相關說明,於此不另贅述。
在本發明的實施例中,控制器104可存取特定的模組、程式碼來實現本發明提出的自動判定PLCA裝置的節點身分的方法,其細節詳述如下。
請參照圖2,其是依據本發明之一實施例繪示的自動判定PLCA裝置的節點身分的方法流程圖。本實施例的方法可由圖1的PLCA裝置10執行,以下即搭配圖1所示的元件說明圖2各步驟的細節。
概略而言,在PLCA網路100實際運行PLCA機制之前,本發明實施例可先透過圖2所示的方法自動決定PLCA裝置10的節點身分,而其他的PLCA裝置11~1N亦可基於相同的機制決定自身的節點身分。在決定PLCA裝置10~1N個別的節點身分之後,PLCA網路100可再據以實際地在PLCA裝置10~1N之間運行PLCA機制。
首先,在步驟S210中,通訊電路101接收第一同步封包,其中第一同步封包包括PLCA網路100中的第一PLCA裝置的第一識別資訊。在不同的實施例中,所考慮的第一PLCA裝置可以是PLCA裝置11~1N的任一者。
舉例而言,假設第一同步封包PA1來自於PLCA裝置11,則PLCA裝置11可理解為所考慮的第一PLCA裝置。在此情況下,第一同步封包例如是來自PLCA裝置11的同步封包PA1,而其中的第一識別資訊例如是PLCA裝置11的識別資訊ID1。為便於說明,圖1中假設所考慮的第一PLCA裝置即為PLCA裝置11,但其僅用以舉例,並非用以限定本發明可能的實施方式。
在一實施例中,控制器104維護有識別資訊表及裝置計數,其中識別資訊表例如可記錄有所接收過的所有同步封包內的識別資訊,而裝置計數例如是控制器104基於所接收過的所有同步封包所判定的PLCA網路100中PLCA裝置的總數。
基此,在步驟S220中,控制器104產生亂數作為PLCA裝置10的識別資訊ID0,並在步驟S230中判定PLCA裝置10的識別資訊ID0及第一PLCA裝置的第一識別資訊(例如識別資訊ID1)之間的第一比較結果。
在一實施例中,控制器104例如可請求亂數產生器102產生上述亂數作為識別資訊ID0,並請求比較器103判定識別資訊ID0及第一識別資訊(例如識別資訊ID1)之間的第一比較結果。在一實施例中,第一識別資訊(例如識別資訊ID1)例如是由第一PLCA裝置(例如PLCA裝置11)中的亂數產生器所產生的另一亂數。
在一實施例中,所述第一比較結果例如可指定識別資訊ID0相同於第一識別資訊或是不同於第一識別資訊,但可不限於此。
在步驟S240中,控制器104基於第一比較結果更新識別資訊表及裝置計數。在步驟S250中,控制器104基於第一比較結果控制通訊電路101發送對應於PLCA裝置10的同步封包PA0。
在一實施例中,反應於判定第一比較結果指示PLCA裝置10的識別資訊ID0不同於第一PLCA裝置的第一識別資訊(例如識別資訊ID1),此即代表PLCA裝置10與第一PLCA裝置未使用重複的識別資訊。在此情況下,控制器104可判斷第一PLCA裝置的第一識別資訊是否已記錄於PLCA裝置10的識別資訊表中。
在第一實施例中,反應於判定第一PLCA裝置的第一識別資訊(例如識別資訊ID1)未記錄於PLCA裝置10的識別資訊表中,此即代表第一PLCA裝置當下對於PLCA裝置10而言是陌生的PLCA裝置。在此情況下,控制器104藉由將第一PLCA裝置的第一識別資訊(例如識別資訊ID1)加入識別資訊表以更新識別資訊表,以及藉由遞增裝置計數以更新裝置計數。
之後,控制器104控制通訊電路101發送對應於PLCA裝置的同步封包PA0,其中同步封包PA0包括PLCA裝置的識別資訊ID0。換言之,當PLCA裝置10從陌生的第一PLCA裝置收到同步封包時,PLCA裝置10除了會據以更新識別資訊表及裝置計數之外,亦會發送(例如,廣播)包括自身識別資訊ID0的同步封包PA0。在此情況下,若第一PLCA裝置收到同步封包PA0,亦可基於以上教示的機制而判斷是否依據同步封包PA0更新第一PLCA裝置所維護的識別資訊表及裝置計數。同理,當其他PLCA裝置收到第一同步封包PA1及/或同步封包PA0時,亦可判斷是否依據第一同步封包PA1及/或同步封包PA0更新自身所維護的識別資訊表及裝置計數。
在第二實施例中,反應於判定第一PLCA裝置的第一識別資訊(例如識別資訊ID1)已記錄於PLCA裝置10的識別資訊表中,此即代表PLCA裝置10先前已從第一PLCA裝置接收過其他的同步封包,並已將對應的第一識別資訊ID1記錄於識別資訊表中。換言之,第一PLCA裝置當下對於PLCA裝置10而言並非陌生的PLCA裝置。在此情況下,控制器104可重置PLCA裝置的封包偵測時間,且不更新識別資訊表及裝置計數。
在一實施例中,所述封包偵測時間例如是PLCA裝置10未從其他PLCA裝置接收到任何同步封包的累計時間。在本發明的實施例中,若PLCA裝置10所累計的封包偵測時間不少於預設時間閾值(其可由設計者依需求而定),此即代表各PLCA裝置10~1N所擁有的資訊(例如PLCA裝置10~1N個別維護的識別資訊表及裝置計數)已足以用於決定各PLCA裝置10~1N的節點身分,但可不限於此。
在第三實施例中,反應於判定第一比較結果指示PLCA裝置10的識別資訊ID0相同於第一PLCA裝置的第一識別資訊(例如識別資訊ID1),此即代表PLCA裝置10與第一PLCA裝置使用了重複的識別資訊(可稱為識別資訊衝突)。在此情況下,控制器104藉由重置(例如清除)識別資訊表以更新識別資訊表,以及藉由重置(例如清除)裝置計數以更新裝置計數。
並且,控制器104可(控制亂數產生器102)產生另一亂數作為PLCA裝置的新識別資訊ID0,並控制通訊電路101發送重新同步封包RS及對應於PLCA裝置10的同步封包PA0,其中同步封包PA0包括PLCA裝置10的新識別資訊ID0。由於此時的新識別資訊ID0對應於另一亂數,因此應不同於第一實施例中包括於同步封包PA0中的(舊)識別資訊ID0。
在第三實施例中,重新同步封包RS至少用於觸發第一PLCA裝置重置對應的識別資訊表、重置對應的裝置計數、重新產生對應的第一識別資訊ID1,並發送包括新的第一識別資訊ID1的第一同步封包PA1。同理,當其他的PLCA裝置收到重新同步封包時,亦將重置對應的識別資訊表、重置對應的裝置計數、重新產生對應的識別資訊,並發送包括新產生的識別資訊的同步封包。
換言之,當PLCA裝置10發現出現識別資訊衝突的情形時,可透過重新同步封包RS要求其他的PLCA裝置11~1N重置重置對應的識別資訊表、重置對應的裝置計數、並重新產生對應的識別資訊,以及發送包括新產生的識別資訊的同步封包。
例如,當PLCA裝置12收到重新同步封包RS時,PLCA裝置12將重置識別資訊表、重置裝置計數、重新產生對應的識別資訊ID2(例如是一亂數),並發送(例如廣播)包括新產生的識別資訊ID2的同步封包PA2。再例如,當PLCA裝置1N收到重新同步封包RS時,PLCA裝置1N將重置識別資訊表、重置裝置計數、重新產生對應的識別資訊IDN(例如是一亂數),並發送(例如廣播)包括新產生的識別資訊IDN的同步封包PAN。
在此情況下,PLCA裝置10將會從各PLCA裝置11~1N收到對應的同步封包PA1~PAN,而同步封包PA1~PAN將個別包括對應的PLCA裝置所新產生的識別資訊。
在第三實施例中,由於PLCA裝置10已重置(例如清除)識別資訊表及重置(例如清除)裝置計數,因此PLCA裝置11~1N對於PLCA裝置10而言都是陌生的。因此,每收到同步封包PA1~PAN的其中之一,PLCA裝置10將會將其中的識別資訊記錄在PLCA裝置10所維護的識別資訊表中,並遞增裝置計數。
在一實施例中,若識別資訊ID0~IDN彼此相異(即,未有識別資訊衝突),則PLCA裝置10將會因應於同步封包PA1~PAN而將對應的識別資訊ID1~IDN記錄在PLCA裝置10所維護的識別資訊表中,並逐漸遞增裝置計數。
如第一實施例中所言,當PLCA裝置10從陌生的PLCA裝置收到同步封包時,除了據以更新識別資訊表及裝置計數之外,還將發送同步封包PA0。換言之,PLCA裝置10可能會重複地發送同步封包PA0。
基於相似原則,其他的PLCA裝置亦可能會重複地發送對應的同步封包,使得PLCA裝置10重複地收到同樣的同步封包。在此情況下,PLCA裝置10即可基於第二實施例中的教示而更新封包偵測時間,但可不限於此。
在圖1情境中,假設未有識別資訊衝突的情況,則PLCA裝置10所維護的識別資訊表最終將至少記錄有PLCA裝置11~1N的識別資訊ID1~IDN,且所記錄的裝置計數將不小於PLCA裝置11~1N的總數。
在一實施例中,控制器104在重置識別資訊表及裝置計數之後,亦可在任意時間點將新識別資訊ID0加入識別資訊表中,並因應於PLCA裝置10本身而將遞增裝置計數。在此情況下,PLCA裝置10所維護的識別資訊表最終將記錄有PLCA裝置10~1N的識別資訊ID0~IDN,且所記錄的裝置計數將等於PLCA裝置10~1N的總數,但可不限於此。
同理,在未有識別資訊衝突的情況下,其他的PLCA裝置11~1N個別維護的識別資訊表最終也將記錄有PLCA裝置10~1N的識別資訊ID0~IDN,且所記錄的裝置計數也將等於PLCA裝置10~1N的總數。
然而,若PLCA裝置10~1N的任一再次判定出現識別資訊衝突的情況,則將再次執行第三實施例的機制,直至未有識別資訊衝突的情況為止,但可不限於此。
在一實施例中,反應於判定同步封包PA0經歷封包碰撞(例如同步封包PA0與其他的同步封包碰撞),控制器104可遞增同步封包PA0的累計碰撞次數,並在等待後退時間後再次發送同步封包PA0,其中所述後退時間關聯於所述累計碰撞次數。
在一實施例中,所述後退時間表徵為D*k,其中D為特定位元時間,k為
,其中n為所述累計碰撞次數。
在一實施例中,所述特定位元時間可因應於所考慮的通訊環境而有所不同。舉例而言,在10BASE-T1S通訊規範中,對應的特定位元時間例如可選定為192BT(bit time),其對應於19.2us。此外,在不同的實施例中,當n大於對應的上限值(以p表示)時,k可經設定為固定值(例如2^p-1)。
在一實施例中,假設n對應的上限值為6,且所考慮的特定位元時間為192BT,則相應的後退時間可如下表1所例示。
表1
n | k | 後退時間 (us) (19.2us * k) |
1 | 1 | 19.2 |
2 | 3 | 57.6 |
3 | 7 | 134.4 |
4 | 15 | 288 |
5 | 31 | 595.2 |
6 | 63 | 1209.6 |
7 | 63 | 1209.6 |
8 | 63 | 1209.6 |
9 | 63 | 1209.6 |
10 | 63 | 1209.6 |
11 | 63 | 1209.6 |
12 | 63 | 1209.6 |
13 | 63 | 1209.6 |
14 | 63 | 1209.6 |
接著,在步驟S260中,控制器104基於識別資訊表判定PLCA裝置10在PLCA網路100中的節點身分。
在一實施例中,控制器104可在判定所累計的封包偵測時間已不少於預設時間閾值時再執行步驟S260。詳細而言,當控制器104判定所累計的封包偵測時間已不少於預設時間閾值時,此即代表已沒有PLCA裝置因應於來自陌生PLCA裝置的同步封包而發送自己的同步封包。換言之,PLCA裝置10~1N任二者彼此之間皆不為陌生的。在此情況下,控制器104即可基於所維護的識別資訊表判定PLCA裝置10的節點身分,但可不限於此。
在一實施例中,控制器104將所維護的識別資訊表中PLCA裝置10~1N的識別資訊ID0~IDN進行降冪排序或升冪排序,並依據PLCA裝置10的識別資訊ID0在識別資訊表中的排序決定PLCA裝置10在PLCA網路100中的節點身分。
在一實施例中,PLCA裝置10的節點身分例如是節點編號,其中此節點編號對應於PLCA裝置10的識別資訊ID0在識別資訊表中的排序。例如以降冪排序為例,若PLCA裝置10的識別資訊ID0在識別資訊表中的排序為9,則PLCA裝置10的節點編號例如是9,而此節點編號可作為PLCA裝置10的節點身分使用。又例如,若PLCA裝置10的識別資訊ID0在識別資訊表中的排序為21,則PLCA裝置10的節點編號例如是21,而此節點編號可作為PLCA裝置10的節點身分使用,但可不限於此。
此外,其他的PLCA裝置11~1N亦可基於相同的原則而決定自身的節點編號及/或節點身分。
由上可知,本發明實施例提供的方法可讓PLCA網路100中的PLCA裝置10~1N自動判定在PLCA網路100中的節點身分。
在判定PLCA裝置10的節點身分之後,控制器104還可據以判定PLCA裝置10在PLCA網路100中的傳輸機會(transmission opportunity,TO)。
在一實施例中,PLCA裝置10在PLCA網路100中的傳輸機會可對應於PLCA裝置10的節點編號。例如,若PLCA裝置10的節點編號為9,則控制器104可判定PLCA裝置10在PLCA裝置10~1N經排序在第9個進行傳輸。又例如,若PLCA裝置10的節點編號為21,則控制器104可判定PLCA裝置10在PLCA裝置10~1N經排序在第21個進行傳輸,但可不限於此。
如先前所言,在決定PLCA裝置10~1N個別的節點身分之後,PLCA網路100可再據以實際地在PLCA裝置10~1N之間運行PLCA機制。
在PLCA機制中,PLCA裝置10~1N將依據對應的傳輸機會進行傳輸。舉例而言,假設PLCA裝置10~1N分別對應於節點編號0~N,則PLCA裝置10~1N將依序進行傳輸。在PLCA裝置1N的傳輸機會結束之後,將再次輪到PLCA裝置10的傳輸機會。
在一實施例中,本發明另提出可在運行PLCA機制之後讓新的PLCA裝置加入PLCA網路100的方法。具體而言,對於新加入的PLCA裝置(以下稱第二PLCA裝置)而言,其可在產生亂數作為自身的識別資訊(以下稱第二識別資訊)之後,向PLCA網路100發送(例如廣播)包括第二識別資訊的第二同步封包。
在此情況下,PLCA裝置10可在通訊電路101收到第二同步封包之後,由比較器103判定PLCA裝置10的識別資訊ID0及第二PLCA裝置的第二識別資訊之間的第二比較結果。之後,控制器104可基於第二比較結果更新識別資訊表及裝置計數,並基於第二比較結果控制通訊電路101發送對應於PLCA裝置10的同步封包PA0。
在一實施例中,所述第二比較結果例如可指定識別資訊ID0相同於第二識別資訊或是不同於第二識別資訊,但可不限於此。
同理,其他的PLCA裝置亦可因應於第二同步封包而執行上述操作。
在第四實施例中,反應於判定第二比較結果指示識別資訊ID0不同於第二識別資訊,且第二識別資訊未記錄於識別資訊表中,此即代表第二PLCA裝置對於PLCA裝置10而言是陌生的PLCA裝置。基此,控制器104可藉由重置識別資訊表以更新識別資訊表,以及藉由重置裝置計數以更新裝置計數。之後,控制器104可再控制通訊電路101發送對應於PLCA裝置10的同步封包PA0。
在此情況下,第二PLCA裝置將因應於同步封包PA0而將識別資訊ID0加入第二PLCA裝置所維護的識別資訊表中並遞增裝置計數。之後,第二PLCA裝置可再次發送第二同步封包。
相似地,其他的PLCA裝置11~1N個別亦將因應於第二同步封包而重置識別資訊表、重置裝置計數並發送對應的同步封包PA1~PAN。
由於PLCA裝置10的識別資訊表及裝置計數已被重置,故其他的PLCA裝置對於PLCA裝置10而言都是陌生的。基此,PLCA裝置10將因應於同步封包PA1~PAN及第二同步封包而不斷地更新識別資訊表及裝置計數。同理,其他的PLCA裝置11~1N及第二PLCA裝置也將因應於同步封包PA1~PAN及/或第二同步封包而不斷地更新所維護的識別資訊表及裝置計數。
在此情況下,PLCA裝置10所維護的識別資訊表最終將記錄有識別資訊ID0~IDN及第二識別資訊,且所記錄的裝置計數將等於PLCA裝置10~1N及第二PLCA裝置的總數,但可不限於此。同理,其他的PLCA裝置11~1N及第二PLCA裝置個別維護的識別資訊表最終也將記錄有PLCA裝置10~1N及第二識別資訊,且所記錄的裝置計數將等於PLCA裝置10~1N及第二PLCA裝置的總數。
之後,PLCA裝置10(及PLCA網路100中的其他PLCA裝置)可再依據先前實施例的教示而決定自身的節點身分及/或節點編號,並依據對應的傳輸機會再次運行PLCA機制,但可不限於此。
在第五實施例中,反應於判定第二比較結果指示識別資訊ID0相同於第二識別資訊,此即代表PLCA裝置10與第二PLCA裝置使用了重複的識別資訊(即,出現識別資訊衝突)。在此情況下,控制器104藉由重置(例如清除)識別資訊表以更新識別資訊表,以及藉由重置(例如清除)裝置計數以更新裝置計數。
並且,控制器104可(控制亂數產生器102)產生另一亂數作為PLCA裝置的新識別資訊ID0,並控制通訊電路101發送重新同步封包RS及對應於PLCA裝置10的同步封包PA0,其中同步封包PA0包括PLCA裝置10的新識別資訊ID0。
從另一觀點而言,當PLCA裝置10判定PLCA裝置10與第二PLCA裝置使用了重複的識別資訊時,PLCA裝置10可相應地執行第三實施例的內容。相關細節可參照第三實施例的說明,於此不另贅述。
在第六實施例中,反應於判定在PLCA裝置10執行對應的傳輸機會時偵測到封包碰撞,此即代表有未知的PLCA裝置在發送封包。具體而言,在PLCA裝置10~1N的任一決定自身的傳輸機會時,同時也會得知其他PLCA裝置對應的傳輸機會。因此,若有某一PLCA裝置在其他PLCA裝置執行對應的傳輸機會時發送封包,此即代表此PLCA裝置並非PLCA網路100原本的成員(即,新的PLCA裝置)。
因此,當PLCA裝置10在執行對應的傳輸機會時偵測到封包碰撞,控制器104即可相應地重置別資訊表、重置該裝置計數,並產生另一亂數作為PLCA裝置10的新識別資訊ID0。之後,控制器104可控制通訊電路101發送重新同步封包RS及對應於PLCA裝置10的同步封包PA0,其中同步封包PA0包括PLCA裝置的新識別資訊ID0。
從另一觀點而言,當PLCA裝置10判定在執行傳輸機會時偵測到封包碰撞,PLCA裝置10可相應地執行第三實施例的內容。相關細節可參照第三實施例的說明,於此不另贅述。
在一實施例中,在PLCA裝置10~1N決定自身的節點身分及/或節點編號之後,還可據以判定自身是否為PLCA網路100中的主要節點。
在本發明的實施例中,具有特定節點身分及/或特定節點編號的PLCA裝置可稱為主要節點。為便於說明,以下假設節點編號為0的PLCA裝置為PLCA網路100中的主要節點,但可不限於此。
在第七實施例中,假設PLCA裝置10為主要節點,則控制器104可判斷其他PLCA裝置11~1N中是否存在特定PLCA裝置,其中此特定PLCA裝置未在對應的傳輸機會執行任何傳輸操作。
反應於判定存在PLCA裝置,此即代表PLCA網路100中出現未實際進行傳輸的閒置PLCA裝置或是被移除的PLCA裝置。在此情況下,控制器104可重置識別資訊表、重置裝置計數,並產生另一亂數作為PLCA裝置10的新識別資訊ID0。之後,控制器104可控制通訊電路101發送重新同步封包RS及對應於PLCA裝置10的同步封包PA0,其中同步封包PA0包括PLCA裝置10的新識別資訊ID0。
從另一觀點而言,當PLCA裝置10判定存在閒置的PLCA裝置或是被移除的PLCA裝置時,PLCA裝置10可相應地執行第三實施例的內容。相關細節可參照第三實施例的說明,於此不另贅述。
請參照圖3,其是依據本發明之一實施例繪示的封包格式示意圖。在圖3中,封包格式300例如包括前導碼311、訊框起始定界符(start of frame delimiter,SFD)312、目標位址(destination address,DA)313、來源位址(source address,SA)314、尺寸315、酬載316及幀校驗序列(frame check sequence,FCS)317。
在不同的實施例中,同步封包及重新同步封包皆可具有圖3所示的格式,惟同步封包與重新同步封包的差異主要在於酬載316的內容。
在一實施例中,當封包格式300用於實現同步封包時,酬載316的內容例如是「0x0000_0000_nodeID_0000」,其中nodeID例如是發送此同步封包的PLCA裝置的識別資訊。另外,當封包格式300用於實現重新同步封包時,酬載316的內容例如是「0x0000_0000_nodeID_00FF」,其中nodeID例如是發送此重新同步封包的PLCA裝置的識別資訊。
另外,目標位址313例如記錄有應接收此同步封包及/或重新同步封包的PLCA裝置的位址。在圖3中,當目標位址313設定為所示態樣時,其可理解為將封包進行廣播,但可不限於此。
此外,來源位址314例如記錄有發送此同步封包及/或重新同步封包的PLCA裝置的位址。在圖3中,發送此同步封包及/或重新同步封包的PLCA裝置的位址可表示為「0x0000_0000_nodeID」,但可不限於此。
綜上所述,本發明實施例的方法可在運行PLCA機制之前,讓PLCA網路中的各PLCA裝置自動決定對應的節點身分,從而能夠順利地據以進行後續的PLCA機制。並且,本發明實施例另提出在運行PLCA機制之後,因應於新加入的PLCA裝置、閒置的PLCA裝置及/或被移除的PLCA裝置而重新自動決定各PLCA裝置的節點身分的機制。藉此,可避免因錯誤地設定各PLCA裝置的節點身分而導致無法正確地運行PLCA機制。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100:PLCA網路
10~1N:PLCA裝置
101:通訊電路
102:亂數產生器
103:比較器
104:控制器
300:封包格式
311:前導碼
312:訊框起始定界符
313:目標位址
314:來源位址
315:尺寸
316:酬載
317:幀校驗序列
ID0~IDN:識別資訊
PA0~PAN:同步封包
RS:重新同步封包
S210~S260:步驟
圖1是依據本發明之一實施例繪示的PLCA網路示意圖。
圖2是依據本發明之一實施例繪示的自動判定PLCA裝置的節點身分的方法流程圖。
圖3是依據本發明之一實施例繪示的封包格式示意圖。
S210~S260:步驟
Claims (20)
- 一種實體層碰撞避免裝置,包括:一通訊電路,用以接收一第一同步封包,其中該第一同步封包包括一第一實體層碰撞避免裝置的第一識別資訊;一控制器,其耦接該通訊電路,並維護有一識別資訊表及一裝置計數,其中該控制器經配置以:產生一亂數作為該實體層碰撞避免裝置的識別資訊;判定該實體層碰撞避免裝置的該識別資訊及該第一實體層碰撞避免裝置的該第一識別資訊之間的一第一比較結果;基於該第一比較結果更新該識別資訊表及該裝置計數;基於該第一比較結果控制該通訊電路發送對應於該實體層碰撞避免裝置的一同步封包;以及基於該識別資訊表判定該實體層碰撞避免裝置在一實體層碰撞避免網路中的一節點身分。
- 如請求項1所述的實體層碰撞避免裝置,其中該控制器經配置以:反應於判定該第一比較結果指示該實體層碰撞避免裝置的該識別資訊不同於該第一實體層碰撞避免裝置的該第一識別資訊,判斷該第一實體層碰撞避免裝置的該第一識別資訊是否已記錄於該實體層碰撞避免裝置的該識別資訊表中;以及反應於判定該第一實體層碰撞避免裝置的該第一識別資訊未記錄於該實體層碰撞避免裝置的該識別資訊表中,藉由將該第一 實體層碰撞避免裝置的該第一識別資訊加入該識別資訊表以更新該識別資訊表,以及藉由遞增該裝置計數以更新該裝置計數。
- 如請求項2所述的實體層碰撞避免裝置,其中該控制器更經配置以:反應於判定該第一實體層碰撞避免裝置的該第一識別資訊已記錄於該實體層碰撞避免裝置的該識別資訊表中,重置該實體層碰撞避免裝置的一封包偵測時間。
- 如請求項2所述的實體層碰撞避免裝置,其中反應於判定該第一實體層碰撞避免裝置的該第一識別資訊未記錄於該實體層碰撞避免裝置的該識別資訊表中,該控制器更經配置以:控制該通訊電路發送對應於該實體層碰撞避免裝置的該同步封包,其中該同步封包包括該實體層碰撞避免裝置的該識別資訊。
- 如請求項1所述的實體層碰撞避免裝置,其中該控制器經配置以:反應於判定該第一比較結果指示該實體層碰撞避免裝置的該識別資訊相同於該第一實體層碰撞避免裝置的該第一識別資訊,藉由重置該識別資訊表以更新該識別資訊表,以及藉由重置該裝置計數以更新該裝置計數。
- 如請求項1所述的實體層碰撞避免裝置,其中該控制器經配置以: 反應於判定該第一比較結果指示該實體層碰撞避免裝置的該識別資訊相同於該第一實體層碰撞避免裝置的該第一識別資訊,產生另一亂數作為該實體層碰撞避免裝置的新識別資訊;以及控制該通訊電路發送一重新同步封包及對應於該實體層碰撞避免裝置的該同步封包,其中該同步封包包括該實體層碰撞避免裝置的該新識別資訊。
- 如請求項6所述的實體層碰撞避免裝置,其中該重新同步封包至少用於觸發該第一實體層碰撞避免裝置重置對應的該識別資訊表、重置對應的該裝置計數、重新產生對應的該第一識別資訊,並發送包括該第一識別資訊的該第一同步封包。
- 如請求項1所述的實體層碰撞避免裝置,其中該控制器更經配置以:累計未收到任何同步封包的一封包偵測時間;以及反應於判定該封包偵測時間已不少於一預設時間閾值,基於該識別資訊表判定該實體層碰撞避免裝置在該實體層碰撞避免網路中的該節點身分。
- 如請求項8所述的實體層碰撞避免裝置,其中該實體層碰撞避免網路至少包括該實體層碰撞避免裝置及至少一其他實體層碰撞避免裝置,該識別資訊表記錄有該實體層碰撞避免裝置的該識別資訊及各該其他實體層碰撞避免裝置的識別資訊,且該控制器經配置以: 將該識別資訊表中該實體層碰撞避免裝置的該識別資訊及各該其他實體層碰撞避免裝置的該識別資訊進行降冪排序;以及依據該實體層碰撞避免裝置的該識別資訊在該識別資訊表中的一排序決定該實體層碰撞避免裝置在該實體層碰撞避免網路中的該節點身分。
- 如請求項9所述的實體層碰撞避免裝置,其中該實體層碰撞避免裝置的該節點身分為一節點編號,其中該節點編號對應於該實體層碰撞避免裝置的該識別資訊在該識別資訊表中的該排序。
- 如請求項1所述的實體層碰撞避免裝置,其中該控制器更經配置以:基於該實體層碰撞避免裝置在該實體層碰撞避免網路中的該節點身分判定該實體層碰撞避免裝置在該實體層碰撞避免網路中的一傳輸機會。
- 如請求項11所述的實體層碰撞避免裝置,其中在判定該實體層碰撞避免裝置在該實體層碰撞避免網路中的該傳輸機會之後,該控制器更經配置以:反應於判定該通訊電路接收到包括一第二實體層碰撞避免裝置的第二識別資訊的一第二同步封包,判定該實體層碰撞避免裝置的該識別資訊及該第二實體層碰撞避免裝置的該第二識別資訊之間的一第二比較結果;基於該第二比較結果更新該識別資訊表及該裝置計數;以及 基於該第二比較結果控制該通訊電路發送對應於該實體層碰撞避免裝置的該同步封包。
- 如請求項12所述的實體層碰撞避免裝置,其中該控制器經配置以:反應於判定該第二比較結果指示該實體層碰撞避免裝置的該識別資訊不同於該第二實體層碰撞避免裝置的該第二識別資訊,且該第二識別資訊未記錄於該識別資訊表中,藉由重置該識別資訊表以更新該識別資訊表,以及藉由重置該裝置計數以更新該裝置計數;以及控制該通訊電路發送對應於該實體層碰撞避免裝置的該同步封包。
- 如請求項12所述的實體層碰撞避免裝置,其中該控制器經配置以:反應於判定該第二比較結果指示該實體層碰撞避免裝置的該識別資訊相同於該第二實體層碰撞避免裝置的該第二識別資訊,藉由重置該識別資訊表以更新該識別資訊表,以及藉由重置該裝置計數以更新該裝置計數;產生另一亂數作為該實體層碰撞避免裝置的新識別資訊;以及控制該通訊電路發送一重新同步封包及對應於該實體層碰撞避免裝置的該同步封包,其中該同步封包包括該實體層碰撞避免裝置的該新識別資訊。
- 如請求項11所述的實體層碰撞避免裝置,其中該控制器經配置以:反應於判定在該實體層碰撞避免裝置執行對應的該傳輸機會時偵測到一封包碰撞,重置該識別資訊表、重置該裝置計數,並產生另一亂數作為該實體層碰撞避免裝置的新識別資訊;以及控制該通訊電路發送一重新同步封包及對應於該實體層碰撞避免裝置的該同步封包,其中該同步封包包括該實體層碰撞避免裝置的該新識別資訊。
- 如請求項11所述的實體層碰撞避免裝置,其中該實體層碰撞避免網路至少包括該實體層碰撞避免裝置及至少一其他實體層碰撞避免裝置,各該其他實體層碰撞避免裝置具有對應的傳輸機會,且該控制器經配置以:反應於判定該實體層碰撞避免裝置的該節點身分指示該實體層碰撞避免裝置為該實體層碰撞避免網路中的一主要節點,判斷該至少一其他實體層碰撞避免裝置中是否存在一特定實體層碰撞避免裝置,其中該特定實體層碰撞避免裝置未在對應的該傳輸機會執行任何傳輸操作;反應於判定存在該特定實體層碰撞避免裝置,重置該識別資訊表、重置該裝置計數,並產生另一亂數作為該實體層碰撞避免裝置的新識別資訊;以及 控制該通訊電路發送一重新同步封包及對應於該實體層碰撞避免裝置的該同步封包,其中該同步封包包括該實體層碰撞避免裝置的該新識別資訊。
- 如請求項1所述的實體層碰撞避免裝置,其中該控制器經配置以:反應於判定該同步封包經歷一封包碰撞,遞增該同步封包的一累計碰撞次數,並在等待一後退時間後再次發送該同步封包,其中該後退時間關聯於該累計碰撞次數。
- 如請求項17所述的實體層碰撞避免裝置,其中該後退時間表徵為D*k,其中D為一特定位元時間,k為2 n -1,其中n為該累計碰撞次數。
- 如請求項1所述的實體層碰撞避免裝置,更包括:一亂數產生器,用以產生該亂數作為該實體層碰撞避免裝置的該識別資訊;以及一比較器,用以判定該實體層碰撞避免裝置的該識別資訊及該第一實體層碰撞避免裝置的該第一識別資訊之間的該第一比較結果。
- 一種自動判定實體層碰撞避免裝置的節點身分的方法,適於該實體層碰撞避免裝置,包括:產生一亂數作為該實體層碰撞避免裝置的識別資訊,其中該實體層碰撞避免裝置維護有一識別資訊表及一裝置計數; 接收一第一同步封包,其中該第一同步封包包括一第一實體層碰撞避免裝置的第一識別資訊;判定該實體層碰撞避免裝置的該識別資訊及該第一實體層碰撞避免裝置的該第一識別資訊之間的一第一比較結果;基於該第一比較結果更新該識別資訊表及該裝置計數;基於該第一比較結果發送對應於該實體層碰撞避免裝置的一同步封包;以及基於該識別資訊表判定該實體層碰撞避免裝置在一實體層碰撞避免網路中的該節點身分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW112101586A TWI832670B (zh) | 2023-01-13 | 2023-01-13 | 實體層碰撞避免裝置及其自動判定節點身分的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW112101586A TWI832670B (zh) | 2023-01-13 | 2023-01-13 | 實體層碰撞避免裝置及其自動判定節點身分的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TWI832670B true TWI832670B (zh) | 2024-02-11 |
Family
ID=85726165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112101586A TWI832670B (zh) | 2023-01-13 | 2023-01-13 | 實體層碰撞避免裝置及其自動判定節點身分的方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI832670B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190313446A1 (en) * | 2018-04-10 | 2019-10-10 | Nio Usa, Inc. | Method, system and device for network communications within a vehicle |
US10925097B2 (en) * | 2018-01-19 | 2021-02-16 | Canova Tech S.r.l. | Method for preventing physical collision on ethernet multidrop networks |
EP3905603A1 (en) * | 2020-04-30 | 2021-11-03 | KONE Corporation | Determination of a sequence of bus nodes in a multi-drop communication bus |
US11336470B2 (en) * | 2019-03-15 | 2022-05-17 | Hyundai Motor Company | Method and apparatus for transmitting and receiving wake-up signal in vehicle network |
TWI769012B (zh) * | 2021-07-12 | 2022-06-21 | 瑞昱半導體股份有限公司 | 多點網路系統與網路裝置 |
-
2023
- 2023-01-13 TW TW112101586A patent/TWI832670B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10925097B2 (en) * | 2018-01-19 | 2021-02-16 | Canova Tech S.r.l. | Method for preventing physical collision on ethernet multidrop networks |
US20190313446A1 (en) * | 2018-04-10 | 2019-10-10 | Nio Usa, Inc. | Method, system and device for network communications within a vehicle |
US11336470B2 (en) * | 2019-03-15 | 2022-05-17 | Hyundai Motor Company | Method and apparatus for transmitting and receiving wake-up signal in vehicle network |
EP3905603A1 (en) * | 2020-04-30 | 2021-11-03 | KONE Corporation | Determination of a sequence of bus nodes in a multi-drop communication bus |
TWI769012B (zh) * | 2021-07-12 | 2022-06-21 | 瑞昱半導體股份有限公司 | 多點網路系統與網路裝置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6134514A (en) | Large-scale network simulation method and apparatus | |
EP3026861B1 (en) | Method and apparatus for processing time synchronization | |
US5631905A (en) | Communications network control method | |
Zhao et al. | Modeling nonsaturated IEEE 802.11 DCF networks utilizing an arbitrary buffer size | |
US11108675B2 (en) | Methods, systems, and computer readable media for testing effects of simulated frame preemption and deterministic fragmentation of preemptable frames in a frame-preemption-capable network | |
EP3110086B1 (en) | System and method for detecting network neighbor reachability | |
EP1729458A1 (en) | Method for determining connection topology of home network | |
JP6265058B2 (ja) | ネットワーク伝送システム、そのマスタノード、スレーブノード | |
JP2009507422A (ja) | 媒体アクセス制御アーキテクチャ | |
US11316654B2 (en) | Communication device and method for operating a communication system for transmitting time critical data | |
US9043509B2 (en) | Method and system for low-latency networking | |
EP2140622B1 (en) | Token bus communication system | |
WO2021088813A1 (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
CN105721414A (zh) | 多确认多播协议 | |
CN113196710B (zh) | 分发节点、自动化网络和用于传输报文的方法 | |
JP2022501892A (ja) | パケットの無線での送受信 | |
TWI832670B (zh) | 實體層碰撞避免裝置及其自動判定節點身分的方法 | |
JP7185054B2 (ja) | リソース周期構成方法およびデバイス、リンク処理および確立方法およびデバイス | |
JP2007500964A (ja) | 無線ネットワークにおける帯域幅及びエアタイムの公正さを提供する方法、アクセスポイント及びプログラム | |
US9525646B2 (en) | Method, device and computer program for selecting a router node in an LLN network | |
US11271772B2 (en) | Method for transmitting data and system comprising communicating entity | |
US11442432B2 (en) | Communication device and method for data transmission within an industrial communication network | |
CN110061922B (zh) | 报文转发方法和装置 | |
WO2021036948A1 (zh) | 一种帧处理方法和装置 | |
JP2006295930A (ja) | レジデンシャルイーサネットにおけるスーパーフレームの開始を保証するための非同期フレーム伝送方法 |