專利名稱:延長網絡處理器介質訪問接口走線距離的方法及裝置的制作方法
技術領域:
本發明涉及網絡處理器介質訪問接口技術,特別涉及一種延長網絡處理器介質訪問接口走線距離的方法及裝置。
背景技術:
網絡處理器的出現互聯網的飛速發展今天,大大增強了路由交換產品的性能,使路由器從最初的集中式轉發交換,發展為分布式轉發交換。但網絡處理器的設計和開發大多面向高端分布式路由交換產品,網絡處理器的介質訪問控制(以下簡稱MAC)接口的靈活性較差。例如,多數網絡處理器的MAC接口不能熱插拔,且接口走線距離受到限制。
現有技術一網絡處理器的MAC接口一般可以配置作為吉比特介質無關(以下簡稱GMII)接口、十比特(以下簡稱TBI)接口、串行介質無關(以下簡稱SMII)接口或同步光網絡SONET承載數據包(以下簡稱POS)。當網絡處理器配置為SMII和POS接口時,與相應的物理層芯片之間采用同一個時鐘源,并同時提供給網絡處理器和物理層芯片。網絡處理器和物理層芯片都使用該時鐘將數據發送出去和接收對方發送的數據,參考圖1。
當網絡處理器MAC接口配置為SMII和POS接口時,網絡處理器與物理層芯片之間的走線距離不能超過規定長度。這是由于同一時鐘源既要為網絡處理器提供發送和接收時鐘,也要為物理層芯片提供發送和接收時鐘,時鐘與數據之間相位關系隨著網絡處理器與物理層芯片之間走線距離的變化而變化,當走線距離超出規定長度時,時鐘與數據之間的相位關系已經無法同時滿足發送數據和接收數據對時鐘的要求,導致在時鐘上升沿鎖存數據時出現錯誤。而當網絡處理器MAC配置為其他接口時,受驅動能力的限制,到物理層器件的走線距離也不能超過一定的長度。例如,IBM公司的Rainier網絡處理器要求SMII和POS接口不能超過5.5英寸,而對GMII和TBI則要求不能超過6.5英寸。
現有技術二的技術方案參閱圖2,網絡處理器一般應用在高檔的分布式路由交換產品中,網絡處理器與多個PHY層器件作為一個線路板,當用戶需要更換PHY層器件已適應不同組網需求時,必須將包括網絡處理器與PHY層器件的線路板從背板上一起拔出,更換。
現有技術二中,網絡處理器的MAC接口設計沒有考慮如圖3所示的熱插拔功能和相應的保護措施,因此當網絡處理器用于集中式交換路由產品時,由于線路板不能實現熱插拔,當需要更改組網配置時,必須關斷電源,所有業務必須中斷。此外產品形態受到制約,體積龐大,成本高等缺點。
從上述的現有技術可知,由于網絡處理器MAC接口走線距離和不支持熱插拔的限制,制約了產品的結構和布局,特別是在網絡處理器通過背板接插件連接線路板卡的應用背景時,布線距離一般會超過規定值而無法實現。
發明內容
本發明的目的在于提供一種延長網絡處理器介質訪問接口走線距離的方法,以解決網絡處理器MAC接口走線距離的限制問題,實現網絡處理器與物理層芯片長距離連接。進一步地,在網絡處理器與線路板通過連接器連接應用中,解決MAC接口熱插拔保護和在網絡處理器所支持的幾種接口標準中自由切換等功能。
本發明的另一目的在于提供實現本發明方法的同步轉換裝置。
本發明的方法為通過連接于網絡處理器和物理層邏輯器件之間的同步轉換裝置按接口類型處理接口間信號當網絡處理器和物理層邏輯器件的接口為數據類型信號與時鐘類型信號為源同步方式的類型時,該同步轉換裝置至少提高數據信號和時鐘信號的驅動能力;當網絡處理器和物理層邏輯器件的接口為數據類型信號與時鐘類型信號為非源同步方式的類型時,由所述同步轉換裝置提供時鐘,并在網絡處理器接口側和物理層器件接口側分別產生一路源同步發送時鐘信號和一路源同步接收時鐘信號,使數據類型信號和時鐘類型信號轉換為源同步信號。
根據上述方法所述同步轉換裝置將提供給網絡處理器的接收時鐘延時,產生與網絡處理器所發送的數據同步的源同步發送時鐘信號。
所述同步轉換裝置將輸出給物理層器件的發送時鐘信號延時,產生與物理層器件發送數據同步的源同步接收時鐘信號。
時鐘信號延時通過繞線延時方式實現,其中源同步發送時鐘的繞線距離,由網絡處理器與同步轉換裝置之間數據的傳輸距離確定;源同步接收時鐘信號的繞線距離,由同步轉換邏輯與物理層器件接口之間數據傳輸距離的兩倍確定。
所述非源同步方式的接口類型包括SMII和POS接口類型,所述源同步方式的接口類型包括GMII和TBI接口類型。
本發明的同步轉換裝置包括數字時鐘管理模塊,用于提供1倍頻、2倍頻和反向時鐘信號;數字時鐘選擇模塊,與數字時鐘管理模塊的輸出端連接,用于從1倍頻和2倍頻時鐘選擇一路時鐘信號;第一時鐘選擇模塊,用于從外部數字時鐘管理模塊輸出的1倍時鐘信號和另一輸入時鐘信號中選擇一路時鐘信號;第二時鐘選擇模塊,至少從第一時鐘源和第二時鐘源中選擇一路時鐘信號;譯碼器,將輸入的接口標識信息譯碼并輸出信號控制數字時鐘選擇模塊、第一時鐘選擇模塊和第二時鐘選擇模塊進行時鐘選擇;接收先進先出隊列,在數字時鐘選擇模塊的輸出時鐘信號控制下將數據接收進隊列和將隊列中的數據發出;發送先進先出隊列,在第一時鐘選擇模塊的輸出時鐘信號控制下將數據接收進隊列,在第二時鐘模塊的輸出時鐘信號控制下將隊列中的數據發出。
根據上述裝置
所述數字時鐘管理模塊包括第一鎖相環元件,該鎖相環元件根據輸入的一路時鐘信號輸出兩路相位相反的時鐘信號。
所述裝置還包括第一寄存器和第二寄存器,第一寄存器的數據輸入端接高電平信號,第二寄存器的數據輸入端接低電平信號,該兩寄存器的控制端與鎖相環元件的反相時鐘輸出端連接,兩寄存器的輸出端和邏輯與元件的輸入連接,由該邏輯與元件輸出邏輯運算后的時鐘信號。
所述數字時鐘管理模塊還包括第二鎖相環元件,該鎖相環元件根據輸入的一路時鐘信號輸出一路2倍時鐘信號和一路相位相反的2倍時鐘信號。
所述裝置還包括第三、第四和第五寄存器,該三寄存器的控制端與第二鎖相環元件的2倍反相時鐘連接,第一寄存器用于對輸入時鐘分頻,第四寄存器和第五寄存器的數據端分別接第三寄存器的輸出和反相輸出。
本發明不但解決了網絡處理器MAC接口走線距離的限制問題,實現網絡處理器與物理層芯片的長距離連接,以及物理層芯片放在可分離的線路板上等連接方式,而且還能夠根據線路板標示在網絡處理器所支持的幾種接口標準中自由切換,并根據線路板的在位和電源狀態自動保護芯片不受電氣損傷,即支持線路板熱插拔。因此擴展網絡處理器的應用范圍,增強了應用的靈活性。
圖1為網絡處理器MAC接口的應用示意圖;圖2為網絡處理器的分布式應用示意圖;圖3為網絡處理器可熱插拔結構示意圖;圖4為本發明的結構框圖;圖5為非源同步時鐘的物理層器件時序圖;圖6為本發明的電路原理示意圖;圖7為環回時鐘時序原理圖;圖8為源同步時鐘電路原理示意圖;圖9為圖8中電路的源同步時鐘與輸出數據相位關系圖;
圖10為GMII接口時序圖;圖11為TBI接口時序圖;圖12為另一源同步時鐘電路原理示意圖;圖13為圖12中電路的時序圖;圖14為SMII標準接口信號時序圖;圖15為物理層器件采用SMII接口時處理數據同步信號結構圖;圖16為POS接口類型發送方向時序圖;圖17為POS接口類型接收方向時序圖。
具體實施例方式
網絡處理器MAC接口走線距離受限問題的關鍵在于其時鐘與數據之間并非源同步關系,它們之間的相位關系隨距離的變化而變化,即如果連線大于一定長度就不能保證數據被時鐘上升沿采到。本發明的方法是在網絡處理器與物理層芯片之間增加一個接口源同步轉換裝置,并使用現場可編程門陣列(以下簡稱FPGA裝置)來實現,FPGA裝置將時鐘與數據之間非源同步關系轉換為源同步的關系,當數據與時鐘為源同步關系時,只要兩者的走線距離等長,無論距離多遠也不會改變它們之間的相位關系,走線距離只取決于FPGA接口信號的驅動能力,從而延長了接口的走線距離,參閱圖4。
同時,線路板的在位和電源狀態信號以及線路板識別信息連接到FPGA裝置中,當線路板不在位或電源未上電時,FPGA裝置將與線路板的接口信號設置為高阻狀態,保護線路板上的器件和FPGA裝置自身不受電氣損傷。當線路板在位且電源上電完成時,FPGA裝置根據線路板的識別信息得到線路板所使用的接口類型,如GMII、TBI、SMII或POS,配置內部邏輯,并將與線路板的接口設置為相應的接口類型。
GMII、TBI、SMII和POS幾種接口類型的信號定義如下列各表所示。網絡處理器的MAC接口在支持這些接口類型時一般采用信號復用的方式。
GMII接口信號描述
TBI接口信號描述
SMII接口信號描述
POS接口信號描述
私有密鑰保存在認證服務器中,也就是AN AAA中。
步驟303為了支持終端的漫游,認證服務器將用戶名的域名f2(IMSI)和本地AN AAA的IP地址的映射關系加入到存儲在AN AAA或者AN AAA的代理服務器或者AN AAA的域名服務器的映射表中。該表如表1所示
表1表1中左列是用戶名中的域名信息,右列是該域名信息映射到的實際網絡IP地址或域名。本領域技術人員很容易理解,這里的IP地址和域名是一一對應的關系。如果HRPD網絡容量擴大,也就是當地用戶數量增多,一個AN AAA已經不能滿足要求時,可以增加AN AAA,同時在表1中將用戶名中不同的域名信息映射到不同的當地的AN AAA,從而實現網絡的平滑擴容。
步驟304當用戶使用帶有UIM卡的終端進行網絡接入時,終端從UIM卡讀取IMSI信息和A-key信息,然后通過存儲在終端中的函數f(x)和g(x)分別得到用戶名和私有密鑰,然后根據從AN接收到的隨機產生的明文和私有密鑰通過hash函數得到一個摘要,將得到的用戶名、明文和摘要組成認證信息發送到AN AAA。
步驟305AN AAA接收到來自用戶終端的包含用戶名、明文和摘要的認證信息后,進行具體認證處理。由于具體的認證過程對于本領域技術人員很容易實現,因此這里只對其進行簡單介紹。
下面參考圖4說明RADIUS認證過程。首先,終端用戶將用戶名和口令,也就是用戶名、明文T和摘要M,發送給認證服務器,認證服務器首引腳,作為接收時鐘。
參閱圖7,發送時鐘和數據從FPGA裝置的引腳出發到達PHY層芯片的相應引腳,由于經過一段長度(設為B)的走線,時鐘和數據都有一個時延(圖中Δt1)。又由于PHY層芯片內部使用該發送時鐘將接收數據通過寄存器打出,假設同時提供接收時鐘,接收時鐘上升沿與接收數據相位相差等于PHY內部寄存器數據打出時間,如果該接收時鐘和接收數據同時從PHY層芯片輸出,并到達FPGA裝置引腳,雖然需要經過一段長度(設為A)的走線,即時鐘和數據都有時延(圖中Δt2),但接收時鐘和接收數據的相差不變,即可以被FPGA裝置正確采到。由于PHY層芯片并沒有真正提供接收時鐘,因此,本發明使用環回時鐘模擬一個接收時鐘,即環回時鐘從FPGA裝置輸出并在單板上繞線一段距離,繞線長度等于A+B。當環回時鐘和接收數據輸入到FPGA裝置時,就等同于PHY提供了接收時鐘,只要PHY內部寄存器的打出時間滿足FPGA裝置對接收數據建立和保持時間要求,就能正確得到接收數據。
圖6中,本發明的同步轉換裝置FPGA電路的主要特征如下(1)FPGA裝置內包括數字時鐘管理模塊DCM,其內部設有第一鎖相環和第二鎖相環(PLL)元件,并能同時提供1倍頻、2倍頻、反向時鐘輸出功能。
譯碼器將輸入的接口標識信息(表示不同的接口類型)譯碼以確定接口類型,并輸出控制信號至數字時鐘選擇模塊MUX0的選擇端S0、第一時鐘選擇模塊MUX1的選擇端S1和第二時鐘選擇模塊MUX2的選擇端S2,以控制時鐘選擇模塊進行時鐘選擇(圖中譯碼器的輸出分別與時鐘選擇模塊的選擇端S0、S1和S2連接)。
(2)網絡處理器的MAC接口在配置為SMII和POS接口類型時沒有發送方向時鐘,FPGA裝置在為網絡處理器提供接收時鐘的同時,輸出一個與該接收時鐘相同相位和頻率的時鐘在單板上繞線,并輸入到FPGA裝置作為SMII和POS接口時的發送時鐘。繞線距離等于FPGA裝置的接收時鐘輸出到網絡處理器MAC接口的距離。這樣,在SMII和POS接口時,就滿足了時鐘樹結構的要求。當使用GMII和TBI接口時,在FPGA裝置內部通過配置第一時鐘選擇模塊MUX1,來選擇網絡處理器提供發送時鐘,而在SMII和POS接口時,選擇FPGA裝置提供的時鐘。
(3)接收方向和發送方向由接收先進先出隊列(FIFO)和發送先進先出隊列(用于發送方向的先進先出隊列簡稱發送FIFO,用于接收方向的先進先出隊列簡稱接收FIFO)將數據緩存,但接收方向的FIFO輸入與輸出使用同一時鐘,接收FIFO相當于緩存器。而發送方向的FIFO輸入與輸出使用不同時鐘,發送FIFO主要用來隔離兩端數據,并實現發送數據源同步。
(4)GMII、TBI、SMII接口使用125MHz時鐘,因其FIFO輸出端的時鐘使用125MHz晶振時鐘。而POS接口使用100MHz時鐘,則相應FIFO輸出端的時鐘使用100MHz晶振時鐘。因此,FPGA外接第一時鐘源100MHz晶振和第二時鐘源125MHz晶振,并在FPGA內部到線路板的發送時鐘由第二時鐘選擇模塊MUX2選擇100MHz或125MHz,以適應不同接口時鐘需求。
(5)在使用TBI接口類型時,接收方向只有兩個互為反相的與數據同頻的時鐘,此時使用DCM對接收時鐘進行二倍頻,將接收方向的數據打入FIFO。因此DCM輸出時鐘由數字時鐘選擇模塊MUX0進行選擇,即在TBI時選用二倍頻時鐘,而在其他接口類型時選用一倍頻時鐘。
接收方向FIFO為同步FIFO,其作用是緩存數據。發送方向FIFO為異步FIFO,其作用是隔離發送FIFO兩端的時鐘域。這樣在網絡處理器到FPGA裝置和FPGA裝置到線路板之間的數據傳遞變為同頻異步,兩邊只需各自滿足相應的時序關系即可。
同時,FPGA裝置在向網絡處理器(接收方向)和PHY層芯片(發送方向)提供時鐘時,采用圖8所示電路,保證FPGA裝置提供的源同步時鐘上升沿與數據之間存在固定的相位差。
圖8中,FPGA裝置內部的第一鎖相環可以提供0度相移(圖中CLK0)和180度(圖中CLK180)相移時鐘輸出。寄存器均靠近芯片的引腳,數據寄存器組用于將數據打出,并有CLK0連接到數據寄存器的時鐘引腳。第一和第二寄存器用于產生源同步時鐘,CLK180和其反相分別連接到第一、第二寄存器的時鐘引腳上。第一寄存器的數據輸入端固定接‘1’,第二寄存器的數據輸入端固定接‘0’,第一、第二寄存器的輸出端通過“與”邏輯元件后輸出。在CLK180的上升沿,輸出腳出‘1’,而在CLK180的下降沿(即CLK0上升沿),輸出腳出‘0’,即源同步時鐘按照交替‘0’和‘1’數據的方式輸出,時鐘頻率等于輸入時鐘頻率。源同步時鐘與輸出數據的固有延時相同,且源同步時鐘上升沿與數據寄存器翻轉時刻相差180°,所以輸出的源同步時鐘與數據相位有180°固定相差。其時序如圖9所示。
發送FIFO的數據與晶振提供的時鐘通過源同步時鐘設計電路保證FPGA裝置與線路板之間發送數據與時鐘的源同步關系,只要時鐘和數據走線等長則可以保證源同步時鐘與發送FIFO讀出數據之間正確的相位關系不受走線長度的限制。
本發明的FPGA裝置可以配置為GMII、TBI、SMII和POS等接口類型,相應的內部邏輯功能有所不同。下面分別描述各種接口類型下的FPGA裝置的配置情況。
(1)接口為GMII接口類型時GMII接口類型的時序定義如圖10所示。該接口類型在MAC側提供了發送方向時鐘,在PHY芯片側提供了接收方向時鐘,此時FPGA裝置的主要作用相當于緩沖驅動器。FPGA裝置配置選擇125MHz晶振時鐘作為發送FIFO的讀出時鐘。并通過源同步時鐘設計,即用該時鐘的180度反相產生到PHY層芯片的源同步時鐘。FPGA裝置在接收方向使用PHY芯片提供的接收時鐘將接收數據存入接收FIFO,同時使用該時鐘將數據從FIFO中讀出,傳送給網絡處理器MAC接口,并用該時鐘的180度反相產生接收方向的源同步時鐘。發送FIFO和接收FIFO中存放GMII的數據和控制信號。
(2)接口為TBI接口類型時TBI接口類型的時序定義如圖11所示。該接口類型在MAC側同樣有發送時鐘,在PHY側也有接收時鐘,FPGA裝置同樣相當于緩沖驅動器。但由于接收時鐘是兩個互為反相且頻率為發送時鐘的一半,即與接收數據的頻率相同。為將接收數據存入內部FIFO,FPGA裝置配置選擇接收時鐘的2倍頻時鐘將接收方向數據存入接收FIFO,2倍頻時鐘初相與其中一個接收時鐘相同,同時FPGA裝置使用該2倍頻時鐘將數據從FIFO中讀出。
為保證在MAC接口側再生的互為反相的兩個接收時鐘與接收數據滿足一定的相位關系,FPGA裝置采用另外一種源同步時鐘生成方式,如圖12所示。圖中第二鎖相環提供輸入時鐘的2倍頻和2倍頻反相時鐘,圖中為CLK2X和CLK2X180。圖中虛線部分為源同步時鐘的產生電路,包括第三、第四和第五寄存器,它們的時鐘接2倍頻反相時鐘,即CLK2X180。其中第三寄存器對時鐘分頻,第四寄存器和第五寄存器靠近輸出腳,它們的數據端分別接第三寄存器的輸出和反相輸出。而數據寄存器組也靠近輸出腳,數據端接TBI的數據信號,并且時鐘端接2倍頻時鐘,即CLK2X。
電路產生的時序如圖13所示。第四寄存器和第五寄存器輸出即為互為反相的,且與鎖相環輸入時鐘同頻的源同步時鐘,它們的上升沿都與輸出數據存在半個CLK2X時鐘周期的固定相差。
(3)接口為SMII接口類型時SMII接口類型為非源同步方式存在距離限制的問題,其接口時序如圖14所示。網絡處理器MAC接口沒有發送時鐘,FPGA裝置的配置選擇接收時鐘繞線一段距離后的時鐘作為發送時鐘,參見圖6,并將發送數據存入發送FIFO中。在PHY層芯片側則選擇125MHz晶振時鐘將發送數據從FIFO中讀出,同時使用源同步時鐘設計電路向PHY芯片提供源同步的發送時鐘和環回時鐘。SMII接口時序中使用了數據同步信號(圖14中Sync)進行數據同步,數據同步信號Sync每10個時鐘周期有效一次,即變為高電平,并持續一個時鐘周期,表示10-bit段起始。SMII接口時序要求接收方向數據(由PHY層器件發出)也要與該信號對齊。
為實現源同步轉換,FPGA裝置在PHY層器件側的接口定義中增加了接收方向的數據同步信號RxSync,并根據PHY層芯片使用SMII或SS-SMII接口有兩種處理方法
A、PHY層芯片使用SMII接口在FPGA裝置在發送方向只是將SMII的發送數據和數據同步信號在FIFO中緩存,輸出給PHY層芯片,要求該數據同步信號在送給PHY芯片的同時環回給FPGA,環回的方式和距離等同于環回時鐘的處理方法。如圖15所示。環回的數據同步信號作為接收方向的數據同步信號,只要走線距離等于FPGA與物理層器件之間兩個方向上數據走線距離之和,則環回的數據同步信號的作用就相當于物理層器件提供了一個接收方向的數據同步信號。FPGA裝置使用這個接收數據同步信號的起始點將接收方向的數據存入接收FIFO之中。在網絡處理器側,FPGA裝置根據MAC接口的數據同步信號Sync,做為起始點將數據從接收FIFO中讀出,因此在MAC看來,數據是按照Sync對齊的。
B、PHY層芯片使用SS-SMII接口SS-SMII與SMII不同之處在于SS-SMII本身提供了接收方向的數據同步信號和同步時鐘,因此,FPGA裝置發送方向的數據同步信號不需要環回,也不需要使用環回時鐘。在接收方向上同樣利用SS-SMII接口的接收數據同步信號的起始點將接收方向的數據存入接收FIFO之中。而FPGA裝置在網絡處理器一側使用網絡處理器MAC接口提供的數據同步信號為起始點將數據從接收FIFO中讀出,其他處理方式等同于上述SMII接口類型。
(4)接口為POS接口類型POS接口類型為非源同步的接口類型,它與SMII接口類型一樣存在距離限制問題。在滿足POS接口時序的前提下,為延長走線距離,FPGA裝置在PHY芯片側使用環回時鐘模擬接收時鐘,并在發送方向和接收方向采用了不同的處理方法。
A、發送方向POS接口在發送方向的接口時序如圖16所示。圖中信號定義參見表4。POS接口茲發送方向的操作時序過程是網絡處理器MAC接口控制端口地址(TxAddr)在四個端口(圖中標示為P0、P1、P2和P3)之間輪詢,并給PHY層器件兩個周期的響應時間,PHY層器件拉高反壓流控信號(TxPFA)表示它可以接收數據,TxPFA高電平對應的地址的前2個周期的地址表示可用的端口地址。MAC接口拉低發送使能信號(TxENB)表示其發送數據(TxData)總線上的數據為有效數據,而TxENB變低的前一個周期所對應的端口地址(如圖中端口P2)為發送數據傳送的目的端口。在數據傳送過程中MAC接口提供數據幀起始信號(TxSOF)表示對應的數據為數據幀的第一個數據。而數據幀結束信號(TxEOF)時則表示對應數據為數據幀的最后一個數據。當一個數據幀傳送完成后,MAC接口拉高TxENB又開始下一個端口地址的選擇過程。
根據上述操作過程,PHY層芯片控制的信號只有反壓流控信號(TxPFA),其他信號均由MAC接口控制。要求反壓流控信號必須與發送端口地址存在一定的對應關系,才能在PHY層器件某一端口出現擁塞時,不會丟失數據。如果將PHY芯片的TxPFA信號直接提供給網絡處理器的MAC接口,則當網絡處理器與PHY器件的距離較遠時,這一對應關系不能被保證。FPGA裝置的處理方法是將PHY層器件傳送的反壓流控信號(TxPFA)用環回時鐘接收下來,并按照它FPGA裝置輸出的端口地址的對應關系得到PHY層芯片的哪個端口可以發送數據,由于FPGA與PHY芯片的距離較遠,需要按照實際走線距離確定TxPFA與TxAddr的對應關系。FPGA裝置根據再根據網絡處理器側發送端口地址,將反壓流控信號再生,并按照與網絡處理器發送端口地址的對應關系,傳送給網絡處理器。而網絡處理器MAC接口發送的數據信號(包括發送數據、端口地址和控制信號)都通過FPGA內部的發送FIFO和源同步轉換電路后直接傳送線路板上的PHY層器件,保證了數據按照流控要求進入PHY層器件的各個POS端口。
B、接收方向POS接口的接收方向時序如圖17所示。圖中信號含義參見表4。接收方向的操作過程是網絡處理器MAC接口控制接收端口地址(RxAddr)按照P0、P1、P2和P3的順序輪詢。當有數據要傳送時,PHY層器件需要拉高反壓流控信號(RxPFA),RxPFA高電平所對準的端口地址的下兩個端口表示需要傳送數據的端口。例如RxPFA高電平與P0對準,則表示物理層器件需要使用端口P2傳送數據。當網絡處理器接到請求后,將接收使能信號(RxENB)拉低,表示開始接收數據。RxENB信號拉低前的一個時鐘周期所對應的端口表示此次數據傳送的端口,如圖中的端口P2。而PHY層器件在收到RxENB信號兩個周期之后,應將接收合法信號(RxVAL)拉高,同時將數據放到接收數據(RxData)總線上。接收數據合法信號RxVAL高電平的每個時鐘周期對應一個有效數據,低電平則數據無效,當數據幀結束信號(RxEOF)和RxVAL同時有效時,表示當前RxData總線上的數據為最后一個數據。物理層器件在傳送數據期間同時可以申請下個需要訪問的端口,當完成一次傳送后,可以立即啟動下一個端口的傳送過程。
從上述POS接口接收方向的時序可以看出,在長距離數據傳輸中,FPGA要實現網絡處理器與物理層芯片之間正確的數據傳遞必須先將PHY層器件的數據按照端口存入內部接收FIFO,再按照POS接口時序將各個端口數據傳遞給網絡處理器,否則,不能滿足兩拍的時序要求。FPGA裝置在接收方向上設置了4個FIFO,每個FIFO對應一個端口(在GMII、TBI或SMII接口類型時只復用其中一個FIFO),FPGA裝置在PHY層芯片側的控制信號RxVAL和RxPFA,以及網絡處理器側的控制信號RxENB和RxAddr都由FPGA得到后根據各自的接口時序再生。具體的處理方法是首先,在PHY層芯片側,FPGA裝置生成端口地址輪詢信號,根據PHY層芯片的RxPFA信號生成RxENB,并將PHY層芯片傳送的數據按照端口存入內部各FIFO中。而在網絡處理器一側,FPGA裝置根據各個FIFO的非空信號和網絡處理器MAC接口提供的端口地址生成接收方向的反壓流控信號(RxPFA),之后按照網絡處理器提供的接收使能信號將數據從各接收FIFO中讀出,并傳送給網絡處理器。
除對上述接口類型的支持外,本發明裝置還可是根據線路板的接口標示信息自動進行各個接口類型之間的切換。線路板的接口標示信息就是由線路板提供的幾個信號線,信號線的組合標示線路板上PHY芯片使用何種接口類型。接口標示信息與FPGA裝置相連,當線路板完成插入和上電過程之后,FPGA裝置對接口標示信息進行譯碼,并控制各個時鐘二選一選擇器和數據選擇和控制器等,自動配置為與接口標示信息相符的接口類型以及相應的數據控制方式。
FPGA裝置留有控制接口,也可以由CPU等控制芯片對FPGA裝置進行配置。
為了在線路板熱插拔過程中,對保護器件和設備不受電氣損壞,要求線路板未上電之前,與線路板連接的信號(主要是指輸出和雙向信號)必須設置為高阻狀態。線路板的在位信號和上電完成信號分別通過接插件與FPGA相連,在FPGA內部在位信號和上電完成信號組合控制所有輸出信號和雙向信號輸出三態門的高阻控制引腳,且只有在位信號和上電完成信號同時有效時,三態門才可以被打開。或者說,在位信號和上電完成信號其中之一無效,三態門立即關閉,即輸出信號變為高阻。
當線路板拔出時,在位信號和上電完成信號變為無效電平,FPGA輸出變為高阻。當線路板插入,并且上電完成后,FPGA將三態門打開,開始正常工作。
權利要求
1.一種延長網絡處理器介質訪問接口走線距離的方法,其特征在于,該方法通過連接于網絡處理器和物理層邏輯器件之間的同步轉換裝置按接口類型處理接口間信號當網絡處理器和物理層邏輯器件的接口為數據類型信號與時鐘類型信號為源同步方式的類型時,同步轉換裝置至少提高數據信號和時鐘信號的驅動能力;當網絡處理器和物理層邏輯器件的接口為數據類型信號與時鐘類型信號為非源同步方式的類型時,由所述同步轉換裝置提供時鐘,并在網絡處理器接口側和物理層器件接口側分別產生一路源同步發送時鐘信號和一路源同步接收時鐘信號,使數據類型信號和時鐘類型信號轉換為源同步信號。
2.如權利要求1所述的方法,其特征在于所述同步轉換裝置將提供給網絡處理器的接收時鐘延時,產生與網絡處理器所發送的數據同步的源同步發送時鐘信號。
3.如權利要求1所述的方法,其特征在于所述同步轉換裝置將輸出給物理層器件的發送時鐘信號延時,產生與物理層器件發送數據同步的源同步接收時鐘信號。
4.如權利要求2或3所述的方法,其特征在于時鐘信號延時通過繞線延時方式實現,其中源同步發送時鐘信號的繞線距離,由網絡處理器與同步轉換裝置之間數據的傳輸距離確定;源同步接收時鐘信號的繞線距離,由同步轉換邏輯與物理層器件接口之間數據傳輸距離的兩倍距離確定。
5.如權利要求1所述的方法,其特征在于所述非源同步方式的接口類型包括SMII和POS接口類型,所述源同步方式的接口類型包括GMII和TBI接口類型。
6.如權利要求1、2或3所述的方法,其特征在于網絡處理器和物理層邏輯器件的接口為非源同步方式的類型時,同步轉換裝置向網絡處理器和物理層器件提供的源同步時鐘的上升沿與數據之間存在固定的相位差。
7.如權利要求1所述的方法,其特征在于同步轉換裝置根據物理層器件的接口標識信息判斷接口類型,并將網絡處理器和物理層器件的接口配置為相同的接口類型及相應的數據控制方式。
8.如權利要求1至7任一所述的方法,其特征在于同步轉換裝置采用先進先出隊列(FIFO)緩存數據,其中用于接收物理層器件發送數據的接收先進先出隊列的輸入與輸出使用同一時鐘;用于接收網絡處理器發送數據的發送先進先出隊列的輸入與輸出使用不同時鐘。
9.如權利要求8所述的方法,其特征在于,當接口為SMII接口類型時同步轉換裝置選擇125MHz晶振時鐘作為發送先進先出隊列的讀出時鐘,并用該時鐘的180度反相產生到PHY層芯片的源同步時鐘;同步轉換裝置在接收方向使用物理層器件提供的接收時鐘將接收數據存入接收先進先出隊列,同時使用該時鐘將數據從該隊列中讀出,傳送給網絡處理器的接口。
10.如權利要求8所述的方法,其特征在于,當接口為TBI接口類型時同步轉換裝置用接收時鐘的2倍頻時鐘將接收方向數據存入接收先進先出隊列,同時使用該2倍頻時鐘將數據從該隊列中讀出,傳送給網絡處理器的接口,其中,2倍頻時鐘初相與兩個接收時鐘之一相同。
11.如權利要求8所述的方法,其特征在于,當接口為SMII接口類型時在網絡處理器接口側,同步轉換裝置用源同步發送時鐘將發送數據存入發送先進先出隊列中,并向物理層器件提供該源同步發送時鐘;在物理層器件接口側則選擇125MHz晶振時鐘將發送數據從該發送先進先出隊列中讀出,傳送給物理層器件接口,并使用源同步接收時鐘將物理層器件發出的數據存入接收先進先出隊列中。
12.如權利要求8所述的方法,其特征在于,當接口為POS接口類型時(1)在發送方向上同步轉換裝置采用源同步接收時鐘接收物理層器件傳送的反壓流控信號,并按照與物理層器件端口地址的對應關系得到物理層器件可以發送數據的端口;然后同步轉換裝置根據網絡處理器側發送端口地址,將反壓流控信號再生,并按照與網絡處理器發送端口地址的對應關系,傳送給網絡處理器;以及網絡處理器接口發送的數據、端口地址和控制信號通過同步轉換裝置后直接傳送給物理層器件;(2)在接收方向上在物理層器件側,同步轉換裝置生成端口地址輪詢信號和接收使能信號,然后將物理層器件傳送的數據按照端口存入與該端口相應的接收先進先出隊列中;在網絡處理器一側,同步轉換裝置根據各個先進先出隊列的非空信號和網絡處理器接口提供的端口地址生成接收方向的反壓流控信號,然后按照網絡處理器提供的接收使能信號將數據從各接收先進先出隊列中讀出,并傳送給網絡處理器。
13.如權利要求1、9、10、11或12所述的方法,其特征在于當同步轉換裝置檢測到物理層器件所在線路板不在位時,將物理層器件的接口信號設置為高阻狀態。
14.一種實現如權利要求1所述方法的同步轉換裝置,其特征在于包括數字時鐘管理模塊,用于提供1倍頻、2倍頻和反向時鐘信號;數字時鐘選擇模塊,與數字時鐘管理模塊的輸出端連接,用于從1倍頻和2倍頻時鐘選擇一路時鐘信號;第一時鐘選擇模塊,用于從外部數字時鐘管理模塊輸出的1倍時鐘信號和另一輸入時鐘信號中選擇一路時鐘信號;第二時鐘選擇模塊,至少從第一時鐘源和第二時鐘源中選擇一路時鐘信號;譯碼器,將輸入的接口標識信息譯碼并輸出信號控制數字時鐘選擇模塊、第一時鐘選擇模塊和第二時鐘選擇模塊進行時鐘選擇;接收先進先出隊列,在數字時鐘選擇模塊的輸出時鐘信號控制下將數據接收進隊列和將隊列中的數據發出;發送先進先出隊列,在第一時鐘選擇模塊的輸出時鐘信號控制下將數據接收進隊列,在第二時鐘模塊的輸出時鐘信號控制下將隊列中的數據發出。
15.如權利要求14所述的裝置,其特征在于所述數字時鐘管理模塊包括第一鎖相環元件,該鎖相環元件根據輸入的一路時鐘信號輸出兩路相位相反的時鐘信號。
16.如權利要求15所述的裝置,其特征在于還包括第一寄存器和第二寄存器,第一寄存器的數據輸入端接高電平信號,第二寄存器的數據輸入端接低電平信號,該兩寄存器的控制端與鎖相環元件的反相時鐘輸出端連接,兩寄存器的輸出端和邏輯與元件的輸入連接,由該邏輯與元件輸出邏輯運算后的時鐘信號。
17.如權利要求14至16任一所述的裝置,其特征在于數字時鐘管理模塊還包括第二鎖相環元件,該鎖相環元件根據輸入的一路時鐘信號輸出一路2倍時鐘信號和一路相位相反的2倍時鐘信號。
18.如權利要求17所述的裝置,其特征在于還包括第三、第四和第五寄存器,該三寄存器的控制端與第二鎖相環元件的2倍反相時鐘連接,第一寄存器用于對輸入時鐘分頻,第四寄存器和第五寄存器的數據端分別接第三寄存器的輸出和反相輸出。
全文摘要
本發明公開了一種延長網絡處理器介質訪問接口走線距離的方法,該方法通過連接于網絡處理器和物理層邏輯器件之間的同步轉換裝置按接口類型處理接口間信號當網絡處理器和物理層邏輯器件的接口為數據類型信號與時鐘類型信號為源同步方式的類型時,該同步轉換裝置至少提高數據信號和時鐘信號的驅動能力;當網絡處理器和物理層邏輯器件的接口為數據類型信號與時鐘類型信號為非源同步方式的類型時,由所述同步轉換裝置提供時鐘,并在網絡處理器接口側和物理層器件接口側分別產生一路源同步發送時鐘信號和一路源同步接收時鐘信號,使數據類型信號和時鐘類型信號轉換為源同步信號。本發明還公開了一種同步轉換裝置。
文檔編號H04L29/02GK1533097SQ03108130
公開日2004年9月29日 申請日期2003年3月20日 優先權日2003年3月20日
發明者張俊, 張 俊 申請人:華為技術有限公司