TWI814454B - 用於同步乙太網路的裝置 - Google Patents
用於同步乙太網路的裝置 Download PDFInfo
- Publication number
- TWI814454B TWI814454B TW111123228A TW111123228A TWI814454B TW I814454 B TWI814454 B TW I814454B TW 111123228 A TW111123228 A TW 111123228A TW 111123228 A TW111123228 A TW 111123228A TW I814454 B TWI814454 B TW I814454B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- synchronizer
- data
- transmission interface
- control data
- Prior art date
Links
- 230000001360 synchronised effect Effects 0.000 title abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 55
- 230000008859 change Effects 0.000 claims description 17
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 108700026140 MAC combination Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一種用於同步乙太網路的裝置,包括處理器、可程式化邏輯閘陣列、同步器、實體層執行器以及媒體存取控制器。處理器藉由第一傳輸介面傳送控制資料;可程式化邏輯閘陣列接收控制資料並根據控制資料產生控制指令且藉由第二傳輸介面傳送此控制指令;同步器接收控制指令並根據控制指令產生同步時脈;實體層執行器接收同步時脈並根據此同步時脈以從乙太網路接收網路資料或發送網路資料至乙太網路;媒體存取控制器從同步器接收同步時脈,並根據同步時脈及媒體存取控制協定而從實體層執行器接收網路資料或發送預備資料至實體層執行器。
Description
本發明是有關於一種網路裝置,特別是有關於一種用於同步乙太網路的裝置。
傳統的乙太網路(Ethernet)是以非同步傳輸的方式來發送資料。然而隨著電信5G的網路出現,為了使傳統的乙太網路能與5G網路相容使用,必須把同步化的設計帶入到乙太網路中。在現有的技術中,同步乙太網路(SyncE,Synchronous Ethernet)及IEEE1588v2標準就是實現同步化的唯一方法。其中,同步乙太網路是將同步網路(PDH、SDH/SONET)遷移至以乙太網路為基礎的封包交換網路(PSN)上所得的成果,而IEEE1588v2標準則定義了精確時間協議(PTP,Precision Time Protocol)以使整個分組交換網路能存在同步的時脈。
目前市場上常見的實現同步化技術的產品是將與同步化相關的技術做成一個積體電路晶片,而這個積體電路晶片會與處理器對接而直接被用來專責處理乙太網路時脈的同步。這樣的作法雖然便於使用者運用,但同時也降低了它與其他技術合作的可能性。為了同步乙太網路的進一步發展,技術人員需要一種更具備彈性的可實現乙太網路的時鐘同步化的產品。
有鑑於此,本發明利用以下說明與圖式揭露一種用於同步乙太網路的裝置,其提供了另一種可實現乙太網路的時鐘同步化的技術思路。
從一個方面來看,本發明提出了一種用於同步乙太網路的裝置,其適於連接至乙太網路以於乙太網路上收發網路資料。此裝置包括處理器、可程式化邏輯閘陣列、同步器、實體層執行器以及媒體存取控制器。處理器藉由第一傳輸介面向此處理器外傳送控制資料。可程式化邏輯閘陣列藉由第一傳輸介面電性耦接至處理器以接收控制資料,並根據此控制資料產生控制指令且藉由第二傳輸介面向此可程式化邏輯閘陣列之外傳送此控制指令。同步器藉由第二傳輸介面電性耦接至前述的可程式化邏輯閘陣列以接收前述的控制指令,並進一步根據此控制指令決定與所產生的同步時脈相關的參數值群的內容。實體層執行器電性耦接至前述的同步器以接收其產生的同步時脈,且此實體層執行器根據所接收的同步時脈以從乙太網路接收網路資料或發送網路資料至乙太網路。媒體存取控制器電性耦接至前述的同步器及實體層執行器,其從同步器接收前述的同步時脈,並根據此同步時脈及媒體存取控制協定而從實體層執行器接收網路資料或發送預備資料至實體層執行器。
在一個實施例中,前述的第一傳輸介面是快速週邊組件互連介面。
在一個實施例中,前述的第二傳輸介面是內部整合電路介面。
在一個實施例中,可程式化邏輯閘陣列包括暫存器組及計時器。其中,暫存器組適於儲存前述的控制資料,而計時器則用於計時且至少儲存一個計數值。當處理器傳送的控制資料係用於控制同步器改變前
述的參數值群的內容的時候,可程式化邏輯閘陣列根據所接收的控制資料開啟計時器,並將開啟計時器的次數儲存起來以成為前述的計數值;再者,處理器在以一種參數改變策略來改變該參數值群的內容而達到乙太網路時鐘同步的需求之後,會取得與此參數改變策略對應的計數值,並最終根據多次取得的計數值而選取與在單位時間長度內具有最小平均值的計數值對應的參數改變策略,以在之後使用所選取的參數改變策略來調整參數值群。
在一個實施例中,當計時器啟動後的一段預設時間長度之內沒有再次從處理器接到用於控制同步器改變參數值群的控制資料時,前述的可程式化邏輯閘陣列會產生中斷至處理器以通知處理器可以讀取先前儲存的計數值。
藉由採用上述技術,本發明提出的用於同步乙太網路的裝置令使用者可以按照自己設計的方式來調整同步器用來產生時脈信號的參數。相較於現有被整合在一個積體電路晶片中的同步乙太網路的解決方案而言,本發明提出的技術顯然可以為此領域中的使用者帶來更多的設計彈性。
10:裝置
15:乙太網路
32:第一傳輸介面
34:第二傳輸介面
100:處理器
102、112、114、116、122、124、126、132、134、136、142、144、146:連接埠
110:可程式化邏輯閘陣列
120:同步器
130:媒體存取控制器
140:實體層執行器
300:暫存器組
300a~300n:暫存器
330:執行單元
350:計時器
S200~S222:本發明一實施例的操作步驟
圖1為根據本發明一實施例的用於同步乙太網路的裝置的電路方塊圖。
圖2為根據本發明一實施例的用於同步乙太網路的裝置的操作流程圖。
圖3為根據本發明一實施例的FPGA的電路方塊圖。
為了使下述內容能被本領域的技術人員清楚地理解,在此要先說明的是,以下使用的詞句「電性耦接」表示使電子信號能夠在電性耦接的兩個物體之間進行傳遞。除非另有限定,否則傳遞電子信號的方式可採有線方式或無線方式為之,且電子信號的傳遞方向可以為單向或雙向。
請參照圖1,其為根據本發明一實施例的用於同步乙太網路的裝置的電路方塊圖。在本實施例中提供的裝置10可以是任何能夠與乙太網路15互傳資料的裝置,例如桌上型電腦、交換器、路由器或智慧型手機等。如圖所示,本實施例中的裝置10包括了處理器100、可程式化邏輯閘陣列(FPGA,Field Programmable Gate Array)110、同步器120、媒體存取控制器130以及實體層執行器140,其中,處理器100電性耦接到FPGA 110,FPGA 110進一步電性耦接到同步器120及媒體存取控制器130,同步器120進一步電性耦接到媒體存取控制器130及實體層執行器140,且媒體存取控制器130也電性耦接到實體層執行器140。
在本實施例中,處理器100與FPGA 110分別具有一個符合同一傳輸介面(後稱為第一傳輸介面)規格的連接埠102與112,於是處理器100與FPGA 110之間可以經過連接埠102與112而藉由第一傳輸介面所定義的傳輸協定來相互收發電子資料。類似的,FPGA 110與同步器120分別具有一個符合同一傳輸介面(後稱為第二傳輸介面)規格的連接埠114與122,於是FPGA 110與同步器120之間可以經過連接埠114與122而藉由第二傳輸介面所定義的傳輸協定來相互收發電子資料;FPGA 110與媒體存取控制器130分別具有一個符合同一傳輸介面(後稱為第三傳輸介面)規格的連接埠116與132,於是FPGA 110與媒體存取控制器130之間可以經過連接埠116與132而藉由第三傳輸介面所定義的傳輸協定來
相互收發電子資料;同步器120與媒體存取控制器130分別具有一個符合同一傳輸介面(後稱為第四傳輸介面)規格的連接埠124與134,於是同步器120與媒體存取控制器130之間可以經過連接埠124與134而藉由第四傳輸介面所定義的傳輸協定來相互收發電子資料;同步器120與實體層執行器140分別具有一個符合同一傳輸介面(後稱為第五傳輸介面)規格的連接埠126與142,於是同步器120與實體層執行器140之間可以經過連接埠126與142而藉由第五傳輸介面所定義的傳輸協定來相互收發電子資料;媒體存取控制器130與實體層執行器140分別具有一個符合同一傳輸介面(後稱為第六傳輸介面)規格的連接埠136與144,於是媒體存取控制器130與實體層執行器140之間可以經過連接埠136與144而藉由第六傳輸介面所定義的傳輸協定來相互收發電子資料;實體層執行器140具有一個可以連接到乙太網路15的連接埠146,於是實體層執行器140與乙太網路15之間可以藉由連接埠146來相互收發電子資料。
前述的第一~第六傳輸介面可以使用裝置10中具有的傳輸介面,例如是快速週邊組件互連(PCIe,Peripheral Component Interconnect Express)介面與內部整合電路(I2C,Inter-Integrated Circuit)介面等,但不以此為限。
為了使本發明的技術內容能清晰易懂,以下將一併參照圖1與圖2來進行相關的說明,其中,圖2為根據本發明一實施例的用於同步乙太網路的裝置的操作流程圖。
如本領域的技術人員所知,在將裝置10連接到乙太網路15之後,裝置10會開始進行與乙太網路15上的其它裝置之間的時鐘同步(clock synchronization)的操作。在本實施中,為了使裝置10與乙太網路15上
的其它裝置之間達到時鐘同步的效果,處理器100需要發出控制資料以使同步器120開始進行相應的操作。
由處理器100發出、用以控制同步器120進行操作的控制資料會經過第一傳輸介面(例如前述的PCIe介面)而先被傳遞至FPGA 110。FPGA 110在裝置10被啟動之後可以先將內部資料清零以便於後續操作的進行,但並不以此為限。於裝置10的運作過程中,FPGA 110在確認接收到控制資料(步驟S200)之後會先根據控制資料的內容來判斷此時接收到的控制資料是不是要用來調整同步器120的各種參數以進行時鐘同步的操作(步驟S202)。如果所接收到的控制資料並不是要用來調整同步器120的參數,則FPGA 110就直接根據控制資料的內容來進行對應的操作(步驟S204),例如將相關的資料提供給處理器100或轉傳至媒體存取控制器130等,並繼續等候下一筆控制資料的到來;相對的,如果所接收到的控制資料就是要用來調整同步器120的參數,那麼FPGA 110就會開始啟動其內部的計時器(若先前沒有使計時器歸零,則可以先使計時器歸零後再啟動計時器),藉此計算從接收到這一筆控制資料時起算的時間長度(步驟S206)。
在啟動計時器之後,FPGA 110會將在計時器計時的過程中被歸零並啟動的次數記錄下來而成為一個計數值(步驟S208),並且接著在計時器的計時還沒有到達預設時間長度(例如1分鐘)之前持續確認是否接收到另一筆控制資料(步驟S210、S212)。在計時器的計時還沒有到達預設時間長度之前又接收到了另一筆控制資料的狀況下,FPGA 110會判斷新接收到的這一筆控制資料是不是要用來調整同步器120的各種參數以進行時鐘同步的操作(步驟S220)。在步驟S220的判斷為是的時候,流程就回到步驟S206以歸零並啟動計時器,然後在將記錄計時
器啟動次數的計數值加一(步驟S208)之後(或同時)也繼續新一輪的計時操作(步驟S210、S212);相對的,在步驟S220的判斷為否,亦即新接收到的這一筆控制資料並不是用來調整同步器120以進行時鐘同步操作的時候,FPGA 110就直接根據控制資料的內容來進行對應的操作(步驟S222),並在計時器的計時尚未到達前述的預設時間長度之前繼續等候下一筆控制資料的到來(步驟S212、S210)。
在另一個狀況中,當計時器的計時已經到達預設時間長度而一直沒有收到另一筆用來調整同步器120以進行時鐘同步操作的控制資料的時候(步驟S212的判斷結果為是),FPGA 110就會關閉計時器(步驟S214)並接著發出中斷(Interrupt)以通知處理器100可以讀取儲存在FPGA 110中的計數值(步驟S216)。
為了使FPGA 110能夠完成圖2中提及的操作,在FPGA 110中可以設置一個暫存器組以及一個計時器,如圖3所示。請一併參照圖1與圖3,本實施例所示的FPGA 30包括了暫存器組300、執行單元330及計時器350。其中,暫存器組300經由第一傳輸介面32以電性耦接至處理器100;執行單元330經由第二傳輸介面34以電性耦接至同步器120,並且另外電性耦接至暫存器組300與計時器350。在本實施例中,處理器100可以經由第一傳輸介面32而將前述的控制資料寫入到暫存器組300中;執行單元330可以讀取暫存器組300中的內容,並根據暫存器組300中的內容、經由第二傳輸介面34而發出控制指令至同步器120。如本領域的技術人員所知,FPGA 30理應包含其它的功能,例如與媒體存取控制器130之間的資料傳遞操作、利用計時器儲存計數值、根據處理器100的要求而將計數值提供給處理器100等,但因該等功能可以利用現有技術完
成而且並非本發明所要闡述的重點,所以在此處並不特別加以標註與詳述。
另外,由於第一傳輸介面32與第二傳輸介面34可以是任何適用於裝置10之中的傳輸介面,所以FPGA 30的實際設計方式也有許多不同的可能。在本實施例中係以第一傳輸介面32為PCIe介面且第二傳輸介面34為I2C介面為例來說明一種FPGA 30的可能設計方式,在這種狀況下,FPGA 30可以作為PCIe介面到I2C介面的中轉者。本領域的技術人員當可根據所述的技術精神來開發不同的FPGA 30,無須受限於圖3所示的細節內容。
如圖3所示,本實施例中的暫存器組包括數個暫存器300a~300n,這些暫存器300a~300n被用來儲存從處理器100傳來的控制資料,且執行單元330也可以從暫存器300a~300n中讀取資料或寫入資料至暫存器300a~300n。對於處理器100來說,暫存器300a~300n分別對應到不同的PCIe位址,於是處理器100可以藉由將控制資料填入到各PCIe位址而達到將控制資料傳遞並儲存在暫存器300a~300n的結果。下表一表示暫存器組300所對應的PCIe位址及其代表的功能設定的一種實施例:
其中,在PCIe位址為0x10000的暫存器的第31位元到第24位元之間、用來表達位元組數量的內容,係以0x00表示要處理1位元組的資料、0x01表示要處理2位元組的資料,依此上推直到以0xff表示要處理256位元組的資料;另外,在PCIe位址為0x10000的暫存器的第15位元到第8位
元之間、用來表達寫入/讀取指令的內容,係以0x00表示寫入及以0x01表示讀取;再者,在PCIe位址為0x10004的暫存器的第7位元到第0位元之間、用來表達I2C頻率設定的內容,係以0x04表示將頻率設定為400千赫茲(KHz),並以0x10表示將頻率設定為100千赫茲。最後,上述以0x帶領的數值表示16進位的數值,此為本領域之技術人員所熟知,在此不多加說明。
以下將根據上述表1來簡單介紹處理器100與FPGA 30的互動方式。
假設同步器120的I2C裝置辨識碼為0x15,當處理器100要寫入一個位元組(byte)的資料到同步器120的I2C暫存器中定址位移值(Offset)為0x03的位址上的時候,處理器100會先執行步驟一以將相關資料填入到PCIe位址為0x10000的暫存器中。所填入的相關資料包括:將0x00填入到第31位元到第24位元([32:24])的內容中以表示要處理的是一個位元組的資料;將0x03填入到第23位元到第16位元([23:16])的內容中以表示定址位移值為x03;將0x00填入到第15位元到第8位元([15:8])的內容中以表示要進行的是寫入的操作;以及將0x15填入到第7位元到第0位元([7:0])的內容中以表示所要處理的對象(亦即同步器120)的I2C裝置辨識碼為0x15。
接下來,處理器100執行步驟二以透過寫入資料到PCIe位址為0x10004的暫存器中以設定I2C的操作頻率。例如,在其中的第31位元到第8位元([31:24]、[23:16]、[15:8])的內容都填入0x00,並且在其中的第7位元到第0位元([7:0])的內容填入0x10以表示要以100千赫茲的頻率來操作I2C介面。
接下來,處理器100執行步驟三以將要寫入到同步器120的資料填入到PCIe位址為0x10100的暫存器中。所填入的資料包括:在其中的第31位元到第8位元([31:24]、[23:16]、[15:8])的內容都填入0x00,並且在其中的第7位元到第0位元([7:0])的內容填入0xAA表示要寫入到同步器120的資料內容是0xAA。
接下來,處理器100執行步驟四以透過寫入資料至PCIe位址為0x10008的暫存器來通知應開始進行由PCIe至I2C的轉換操作。所填入的資料包括:在其中的第31位元到第8位元([31:24]、[23:16]、[15:8])的內容都填入0x00,並且在其中的第7位元到第0位元([7:0])的內容填入0x01以表示開始使用I2C介面進行資料傳輸。
最後,處理器100執行步驟五以透過讀取PCIe位址為0x1000C的暫存器的內容來判斷I2C的操作是否完成。其中,在I2C介面正在使用中的時候,執行單元330會將PCIe位址為0x1000C的暫存器的第7位元到第0位元([7:0])的內容設定為0x01;而在I2C介面空閒時,執行單元330會將PCIe位址為0x1000C的暫存器的第7位元到第0位元([7:0])的內容設定為0x00。於是,當執行步驟五所讀取到的PCIe位址為0x1000C的暫存器的第7位元到第0位元的內容為0x00的時候,處理器100就可以判斷此次的I2C的操作,亦即寫入資料到同步器120的操作,已經完成。
類似的,當處理器100要從同步器120讀取資料的時候,處理器100也可以根據所要讀取的資料量、所讀取的資料在同步器120處的定址位移值、操作類型、同步器120的裝置辨識碼以及I2C的操作頻率等資料執行上述的步驟一、二。在執行完上述的步驟一、二之後,接下來就要透過寫入資料至PCIe位址為0x10008的暫存器來通知應開始進行由PCIe至I2C的轉換操作(亦即上述的步驟四)。在通知過應開始進行由PCIe
至I2C的轉換操作之後,處理器100要等候I2C的操作完成(亦即上述的步驟五)。最終,在得知I2C的操作完成之後,處理器100就可以從PCIe位址為0x10200的暫存器中讀取所需的資料。
藉由上述技術,本發明可以輕易的完成處理器100與同步器120之間的資料傳遞。請再回到圖1,同步器120是一個可以根據所設定的各種參數(後總稱為參數值群)而產生對應的時脈信號(後稱同步時脈)的電子元件(此類電子元件已常見於市面,所以在此不予詳述)。由同步器120產生的同步時脈會被分別提供至媒體存取控制器130以及實體層執行器140。在本實施例中,媒體存取控制器130係用以根據所接收到的同步時脈以及媒體存取控制協定(MAC protocol,Media Accessing Control Protocol)而從實體層執行器140接收網路資料或發送預備資料至實體層執行器140;而實體層執行器140則用以根據所接收到的同步時脈而從乙太網路15接收網路資料並將其轉傳至媒體存取控制器130,或者根據所接收到的同步時脈而將從媒體存取控制器130接收到的資料發送到乙太網路15上。媒體存取控制器130及實體層執行器140所執行的是與現有的媒體存取控制協定及實體層(physical layer)相關的功能,故理應為本領域的技術人員所熟知,在此不另行說明。
在本發明中,於利用上述技術將控制資料提供至FPGA 110並確認FPGA 110也完成據此產生控制指令而改變同步器120的參數值群的內容的操作(亦即I2C介面的操作已經完成)之後,處理器100可以利用現有的技術去進行輪詢(polling)操作以確認裝置10是否已經達到精確時間協議(PTP,Precision Time Protocol)的需求,亦即,確認裝置10是否已經達到乙太網路時鐘同步的需求。當在輪詢操作之後發現裝置10還沒有達到乙太網路時鐘同步的需求,處理器100可以根據使用者設
定的方式提供具有不同內容的控制指令以調整同步器120的參數值而產生與先前不同的同步時脈。相對的,在經過輪詢操作而發現裝置10已經達到乙太網路時鐘同步的需求的時候,處理器10就不再需要提供新的控制資料來改變由同步器120所產生的同步時脈。
進一步的,由於可能需要在裝置10每次開啟的時候都進行一次乙太網路時鐘同步的操作,所以如何以最快的速度達到乙太網路時鐘同步也是一個極為重要的議題。於上述說明中提到過,在處理器100持續不斷的藉由發送控制資料而改變同步器120的參數值群的內容乃至於其所產生的同步時脈的過程中,FPGA 30中的計時器350會被相應的歸零及重啟,而計數值也會因此不斷的增加。因此,在一個實施例中,使用者可以藉由在處理器100執行的軟體中設定不同的、用來改變參數值群內容的參數改變策略,並且在每次進行乙太網路時鐘同步的時候選擇使用不同的參數改變策略而以不同的方式來進行同步時脈的調整,最終再選擇以最快完成乙太網路時鐘同步的參數改變策略作為後續進行乙太網路時鐘同步時所採用的參數改變策略。
舉例來說,假設每次輪詢的間隔時間都一致,且處理器100在採用第一種參數改變策略來進行同步時脈的調整時必需發出30次的控制資料才能使裝置10達到乙太網路時鐘同步的需求,而處理器100在採用第二種參數改變策略來進行同步時脈的調整時只需發出20次的控制資料就能使裝置10達到乙太網路時鐘同步的需求,則處理器100在讀取由不同的參數改變策略所產生的兩個計數值之後,就可以選擇以使計數值較少的第二種參數改變策略來當作以後裝置10進行乙太網路時鐘同步操作時的參數改變策略。
根據上述內容可知,計時器350與計數值實際上是能夠使技術人員更容易判斷哪一種參數改變策略更適合需求的輔助工具。在不需要這個功能的前提下,前述實施例中與計時器350及計數值相關的部分都可以省去,而圖2所示的流程也將可以更為簡化。由於該等變化可以由本領域的技術人員根據上述說明而輕易完成,所以在此就不多加說明。
另外,雖然在上述實施例中採用計時器的啟動次數以及計時器的計時長度作為為選擇同步器參數調整方法的輔助手段,但該等實例中提及的詳細技術手段僅為示例之用而非用以限制本發明的實施方式。本領域的技術人員當可藉由上述實施例中揭露的裝置10的硬體架構而自行設計適當的軟、韌體供處理器100執行以決定如何調整同步器參數,不需以上述內容為限。
總而言之,本發明提出的用於同步乙太網路的裝置令使用者可以按照自己設計的方式來調整同步器用來產生時脈信號的參數,而且還可以進一步利用計時器與計數值來協助判斷較佳的參數改變策略。相較於現有被整合在一個積體電路晶片中的同步乙太網路的解決方案而言,本發明提出的技術顯然可以為此領域中的使用者帶來更多的設計彈性。
10:裝置
15:乙太網路
100:處理器
102、112、114、116、122、124、126、132、134、136、142、144、146:連接埠
110:可程式化邏輯閘陣列
120:同步器
130:媒體存取控制器
140:實體層執行器
Claims (5)
- 一種用於同步乙太網路的裝置,適於連接至一乙太網路以於該乙太網路上收發一網路資料,其特徵在於包括:一處理器,藉由一第一傳輸介面向該處理器外傳送一控制資料;一可程式化邏輯閘陣列,藉由該第一傳輸介面電性耦接至該處理器以接收該控制資料,並根據該控制資料產生一控制指令且藉由一第二傳輸介面向該可程式化邏輯閘陣列外傳送該控制指令;一同步器,藉由該第二傳輸介面電性耦接至該可程式化邏輯閘陣列以接收該控制指令,並根據該控制指令決定所產生的一同步時脈的一參數值群的內容;一實體層執行器,電性耦接至該同步器以接收該同步時脈,該實體層執行器根據該同步時脈以從該乙太網路接收該網路資料或發送該網路資料至該乙太網路;以及一媒體存取控制器,電性耦接至該同步器及該實體層執行器,該媒體存取控制器從該同步器接收該同步時脈,並根據該同步時脈及媒體存取控制協定而從該實體層執行器接收該網路資料或發送一預備資料至該實體層執行器。
- 如請求項1所述的裝置,其中該第一傳輸介面是快速週邊組件互連介面。
- 如請求項1所述的裝置,其中該第二傳輸介面是內部整合電路介面。
- 如請求項1所述的裝置,其中該可程式化邏輯閘陣列包括: 一執行單元;一暫存器組,適於儲存該控制資料,該暫存器組電性耦接至該執行單元且藉由該第一傳輸介面電性耦接至該處理器;以及一計時器,電性耦接至該執行單元且適於計時並至少儲存一計數值;其中,當該處理器傳送的該控制資料被該執行單元判斷為係用於控制該同步器改變該參數值群的內容的時候,該執行單元根據所接收的該控制資料開啟該計時器,並將開啟該計時器的次數儲存為該計數值;其中,該處理器在以一參數改變策略改變該參數值群而達到乙太網路時鐘同步的需求之後會取得與該參數改變策略對應的該計數值,並根據多次取得的該些計數值而選取具有最小值的該計數值對應的該參數改變策略以在之後調整該參數值群。
- 如請求項4所述的裝置,其中在該計時器啟動後一預設時間長度內沒有再次從該處理器接到用於控制該同步器改變該參數值群的該控制資料時,該可程式化邏輯閘陣列會產生中斷以通知該處理器可以讀取該計數值。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111123228A TWI814454B (zh) | 2022-06-22 | 2022-06-22 | 用於同步乙太網路的裝置 |
CN202210817999.3A CN117318863A (zh) | 2022-06-22 | 2022-07-12 | 用于同步以太网络的装置 |
US18/125,483 US20230418779A1 (en) | 2022-06-22 | 2023-03-23 | Apparatus for Synchronous Ethernet |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111123228A TWI814454B (zh) | 2022-06-22 | 2022-06-22 | 用於同步乙太網路的裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI814454B true TWI814454B (zh) | 2023-09-01 |
TW202402010A TW202402010A (zh) | 2024-01-01 |
Family
ID=88965986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111123228A TWI814454B (zh) | 2022-06-22 | 2022-06-22 | 用於同步乙太網路的裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230418779A1 (zh) |
CN (1) | CN117318863A (zh) |
TW (1) | TWI814454B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1919139A1 (en) * | 2005-08-24 | 2008-05-07 | Huawei Technologies Co., Ltd. | System and method for realizing network synchronization by packet network |
US20080159330A1 (en) * | 2005-09-13 | 2008-07-03 | Huawei Technologies Co., Ltd. | Method, ethernet device and ethernet for clock synchronization |
US20090168848A1 (en) * | 2007-12-31 | 2009-07-02 | Silicon Laboratories Inc. | Single chip low power fully integrated 802.15.4 radio platform |
US20110200051A1 (en) * | 2010-02-17 | 2011-08-18 | Daniel Rivaud | Ethernet network synchronization systems and methods |
CN1520112B (zh) * | 2002-12-31 | 2012-05-16 | 英特尔公司 | 网络协议卸载引擎 |
CN102714559B (zh) * | 2009-11-19 | 2018-01-19 | 瑞典爱立信有限公司 | 同步网络的配置 |
-
2022
- 2022-06-22 TW TW111123228A patent/TWI814454B/zh active
- 2022-07-12 CN CN202210817999.3A patent/CN117318863A/zh active Pending
-
2023
- 2023-03-23 US US18/125,483 patent/US20230418779A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1520112B (zh) * | 2002-12-31 | 2012-05-16 | 英特尔公司 | 网络协议卸载引擎 |
EP1919139A1 (en) * | 2005-08-24 | 2008-05-07 | Huawei Technologies Co., Ltd. | System and method for realizing network synchronization by packet network |
US20080159330A1 (en) * | 2005-09-13 | 2008-07-03 | Huawei Technologies Co., Ltd. | Method, ethernet device and ethernet for clock synchronization |
US20090168848A1 (en) * | 2007-12-31 | 2009-07-02 | Silicon Laboratories Inc. | Single chip low power fully integrated 802.15.4 radio platform |
CN102714559B (zh) * | 2009-11-19 | 2018-01-19 | 瑞典爱立信有限公司 | 同步网络的配置 |
US20110200051A1 (en) * | 2010-02-17 | 2011-08-18 | Daniel Rivaud | Ethernet network synchronization systems and methods |
Also Published As
Publication number | Publication date |
---|---|
US20230418779A1 (en) | 2023-12-28 |
TW202402010A (zh) | 2024-01-01 |
CN117318863A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI429236B (zh) | 協調時序網路配置參數更新程序 | |
JP5467891B2 (ja) | 情報処理装置、デバッグ装置、デバッグ方法 | |
KR20210019531A (ko) | 비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행 | |
CN102299788A (zh) | 自动发送ieee1588协议报文的控制方法及装置 | |
CN105824777A (zh) | 一种spi总线在ipran设备中的实现方法 | |
CN111143264B (zh) | 实现同步模式的apb桥、实现异步模式的apb桥及其控制方法 | |
WO2013000201A1 (zh) | 一种通信接口的多速率自适应方法及系统 | |
US20170099371A1 (en) | Method and apparatus for sas open address frame processing in sas expanders | |
CN109218154A (zh) | 一种基于fpga的千兆以太网到slip的转换系统 | |
TWI814454B (zh) | 用於同步乙太網路的裝置 | |
CN110138761B (zh) | 基于mipi协议的设备间通信方法及设备拓扑结构 | |
WO2021142586A1 (zh) | 数据传输方法、装置、设备、mcu和存储介质 | |
CN106788842B (zh) | 一种ptp报文的处理方法及soc | |
US10489319B2 (en) | Automatic transmission of dummy bits in bus master | |
CN214627000U (zh) | 一种兼容可定义确定性通信以太网的网卡设备 | |
WO2022198880A1 (zh) | 一种任意字节读写用户侧逻辑控制器 | |
WO2023103297A1 (zh) | 一种优化ahb总线数据传输性能的系统、方法及服务器 | |
CN110572234A (zh) | 一种基于串口实现时钟同步的方法、智能终端及存储介质 | |
CN214480655U (zh) | 一种兼容可定义确定性通信以太网的嵌入式设备 | |
CN110912634B (zh) | 基于spi实现时钟同步的方法、存储介质及终端设备 | |
JP2000341307A (ja) | 半二重伝送方法及び装置 | |
KR100597436B1 (ko) | 무선 1394 시스템의 사이클 타임 동기화 장치 및 그 방법 | |
TWM612938U (zh) | 分散式同步系統 | |
JP2001308868A (ja) | Ieee1394バス接続装置、媒体及び情報集合体 | |
JP2000172636A (ja) | リアルタイムデータ転送系の非同期系データ転送制御装置および方法 |