欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于串行接口的數(shù)據(jù)傳輸方法及裝置的制作方法

文檔序號(hào):6365329閱讀:243來源:國知局
專利名稱:一種基于串行接口的數(shù)據(jù)傳輸方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種基于串行接口的數(shù)據(jù)傳輸方法及裝置。
背景技術(shù)
SMII(串行的介質(zhì)無關(guān)接口)、MII(介質(zhì)無關(guān)接口)、RMII(簡化的介質(zhì)無關(guān)接口)是10M/100M以太網(wǎng)中MAC(介質(zhì)訪問控制)芯片與PHY(物理層)芯片之間的標(biāo)準(zhǔn)接口,用于MAC芯片和PHY芯片之間的信號(hào)傳輸。
下面簡要介紹一下這幾種接口的應(yīng)用方法及其特點(diǎn)。
(1)SMII介紹SMII工作時(shí)鐘頻率為125MHz,SMII的工作時(shí)鐘由外部時(shí)鐘提供。
SMII的具體應(yīng)用如附圖1所示。
在圖1中,SMII_REFCLK信號(hào)是外部提供給SMII的工作時(shí)鐘,其時(shí)鐘頻率為125MHz。
SMII_TXD信號(hào)是基于SMII的MAC芯片發(fā)送給基于SMII的PHY芯片的數(shù)據(jù)信號(hào),與SMII_REFCLK信號(hào)同步。
SMII_RXD信號(hào)是基于SMII的PHY芯片發(fā)送給基于SMII的MAC芯片的數(shù)據(jù)信號(hào),與SMII_REFCLK信號(hào)同步。
SMII_SYNC信號(hào)是基于SMII的MAC芯片和基于SMII的PHY芯片的接收/發(fā)送數(shù)據(jù)同步指示信號(hào)。MAC芯片每10個(gè)SMII_REFCLK時(shí)鐘周期將SMII_SYNC信號(hào)置一個(gè)SMII_REFCLK時(shí)鐘周期的高電平。SMII_TXD和SMII_RXD上的數(shù)據(jù)和控制信息每10個(gè)比特為一組,以SMII_SYNC信號(hào)為高電平來表示一組數(shù)據(jù)的開始。
(2)MII介紹在傳輸速率為10M以太網(wǎng)中MII的工作時(shí)鐘頻率為2.5MHz,在傳輸速率為100M以太網(wǎng)中MII的工作時(shí)鐘頻率為25MHz。MII的工作時(shí)鐘由物理層芯片提供。
MII的具體應(yīng)用如附圖2所示。
在圖2中,MII_TXCLK是基于MII的物理層芯片提供給基于MII的MAC芯片的發(fā)送時(shí)鐘,在傳輸速率為10M以太網(wǎng)中MII_TXCLK時(shí)鐘頻率為2.5MHz,在傳輸速率為100M以太網(wǎng)中MII_TXCLK的時(shí)鐘頻率為25MHz。
MII_TXEN是基于MII的MAC芯片發(fā)送給基于MII的PHY芯片的發(fā)送數(shù)據(jù)有效信號(hào)。
MII_TXER是基于MII的MAC芯片發(fā)送給基于MII的PHY芯片的發(fā)送數(shù)據(jù)錯(cuò)誤信號(hào)。
MII_TXD[3:0]是基于MII的MAC芯片發(fā)送給基于MII的PHY芯片的數(shù)據(jù)信號(hào)。MII_TXD[3:0]表示發(fā)送數(shù)據(jù)信號(hào)是一個(gè)4位寬的數(shù)據(jù)信號(hào),發(fā)送數(shù)據(jù)信號(hào)由MII_TXD[3]、MII_TXD[2]、MII_TXD[1]、MII_TXD
組成。
MII_RXCLK是基于MII的PHY芯片提供給基于MII的MAC芯片的接收時(shí)鐘,在傳輸速率為10M以太網(wǎng)中MII_RXCLK的時(shí)鐘頻率為2.5MHz,在傳輸速率為100M以太網(wǎng)中MII_RXCLK的時(shí)鐘頻率為25MHz。
MII_CRS是基于MII的PHY芯片提供給基于MII的MAC芯片的載波有效信號(hào),不要求與MII_RXCLK同步。
MII_COL是基于MII的PHY芯片提供給基于MII的MAC芯片的沖突指示信號(hào),不要求與MII_RXCLK同步。
MII_RXDV是基于MII的PHY芯片提供給基于MII的MAC芯片的接收數(shù)據(jù)有效信號(hào)。
MII_RXER是基于MII的PHY芯片提供給基于MII的MAC芯片的接收數(shù)據(jù)錯(cuò)誤信號(hào)。
MII_RXD[3:0]是基于MII的MAC芯片從基于MII的PHY芯片處接收的接收數(shù)據(jù)信號(hào)。MII_RXD[3:0]表示接收數(shù)據(jù)信號(hào)是一個(gè)4位寬的數(shù)據(jù)信號(hào),接收數(shù)據(jù)信號(hào)由MII_TXD[3]、MII_TXD[2]、MII_TXD[1]、MII_TXD
組成。
(3)RMII介紹接口工作時(shí)鐘為50MHz,RMII的工作時(shí)鐘由外部時(shí)鐘提供。
RMII的具體應(yīng)用如附圖3所示。
在圖3中,RMII_REFCLK信號(hào)是外部提供給RMII的工作時(shí)鐘,其時(shí)鐘頻率為50MHz。
RMII_TXEN是基于RMII的MAC芯片發(fā)送給基于RMII的PHY芯片的發(fā)送數(shù)據(jù)有效信號(hào)。
RMII_TXD[1:0]是基于RMII的MAC芯片發(fā)送給基于RMII的PHY芯片的數(shù)據(jù)信號(hào)。RMII_TXD[1:0]表示發(fā)送的數(shù)據(jù)信號(hào)是一個(gè)2位寬的數(shù)據(jù)信號(hào),發(fā)送數(shù)據(jù)信號(hào)由RMII_TXD[1]、RMII_TXD
組成。
RMII_CRS_DV是基于RMII的PHY芯片提供給基于RMII的MAC芯片的載波有效/接收數(shù)據(jù)有效信號(hào)。
RMII_RXER是基于RMII的PHY芯片提供給基于RMII的MAC芯片的接收數(shù)據(jù)錯(cuò)誤信號(hào)。
RMII_RXD[1:0]是基于RMII的MAC芯片從基于RMII的PHY芯片處接收的接收數(shù)據(jù)信號(hào)。RMII_RXD[1:0]表示接收數(shù)據(jù)信號(hào)是一個(gè)2位寬的數(shù)據(jù)信號(hào),接收數(shù)據(jù)信號(hào)由RMII_TXD[1]、RMII_TXD
組成。
從上述關(guān)于幾種接口的介紹中得知,MII和RMII的工作時(shí)鐘頻率較低,所以在MAC芯片和PHY芯片間基于MII或RMII進(jìn)行數(shù)據(jù)傳輸時(shí)數(shù)據(jù)傳輸?shù)木嚯x較遠(yuǎn);但是由于MII和RMII進(jìn)行數(shù)據(jù)傳輸需要的信號(hào)數(shù)量多,所以接口復(fù)雜。
而在MAC芯片和PHY芯片間基于SMII進(jìn)行數(shù)據(jù)傳輸,則由于需要的信號(hào)數(shù)量少、接口簡單,獲得了較廣泛的應(yīng)用。現(xiàn)在許多MAC芯片,或者集成了MAC功能的其他芯片都采用了SMII進(jìn)行數(shù)據(jù)傳輸。但是,由于SMII的工作時(shí)鐘頻率為125MHz,工作時(shí)鐘頻率較高,所以基于SMII的芯片進(jìn)行數(shù)據(jù)傳輸時(shí)數(shù)據(jù)傳輸?shù)木嚯x將受到限制,即無法進(jìn)行長距離的數(shù)據(jù)傳輸。SMII的這一特點(diǎn)制約了的基于SMII的芯片實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)漠a(chǎn)品的結(jié)構(gòu)布局。

發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種基于串行接口的數(shù)據(jù)傳輸方法及裝置,實(shí)現(xiàn)基于SMII的芯片進(jìn)行數(shù)據(jù)傳輸時(shí)數(shù)據(jù)傳輸距離拉遠(yuǎn)的目的。
為達(dá)到上述目的,本發(fā)明提供的基于串行接口的數(shù)據(jù)傳輸方法包括a、將物理層芯片的待傳輸?shù)牟⑿袛?shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),并將其傳輸?shù)交诖薪涌诘慕橘|(zhì)訪問控制芯片;b、將基于串行接口的介質(zhì)訪問控制芯片的待傳輸?shù)拇袛?shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),并將其傳輸?shù)剿鑫锢韺有酒?br> 所述的基于串行接口的介質(zhì)訪問控制芯片包括基于SMII(串行介質(zhì)無關(guān)接口)的介質(zhì)訪問控制芯片。
所述的物理層芯片包括基于MII(介質(zhì)無關(guān)接口)的物理層芯片或基于RMII(簡化的介質(zhì)無關(guān)接口)的物理層芯片。
所述的步驟a還包括a1、將管理接口的待傳輸?shù)漠?dāng)前鏈路狀態(tài)信息轉(zhuǎn)換成串行數(shù)據(jù),并將其傳輸?shù)剿龌诖薪涌诘慕橘|(zhì)訪問控制芯片。
所述的當(dāng)前鏈路狀態(tài)信息為根據(jù)所述基于SMII的介質(zhì)訪問控制芯片和所述物理芯片之間的管理接口總線上的數(shù)據(jù)幀獲取當(dāng)前鏈路狀態(tài)信息。
所述的獲取當(dāng)前鏈路狀態(tài)信息包括
根據(jù)所述管理接口總線上的數(shù)據(jù)幀的相應(yīng)字段與預(yù)定值是否相等,確定有效的數(shù)據(jù)幀并從中獲取當(dāng)前鏈路狀態(tài)信息。
所述的當(dāng)前鏈路狀態(tài)信息包括當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾省㈦p工、鏈路、超長幀狀態(tài)信息。
所述的步驟a包括a2、將所述物理層芯片的待傳輸?shù)牟⑿袛?shù)據(jù)進(jìn)行并行位數(shù)轉(zhuǎn)換,并將轉(zhuǎn)換后的并行數(shù)據(jù)在所述物理層芯片提供的時(shí)鐘作用下輸入到第一異步先進(jìn)先出隊(duì)列;a3、所述第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)在所述SMII的外部時(shí)鐘控制下,串行傳輸?shù)剿龌赟MII的介質(zhì)訪問控制芯片直至所述第一異步先進(jìn)先出隊(duì)列為空。
所述的步驟a3包括當(dāng)所述第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到第一預(yù)定閾值時(shí),將所述第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)在SMII的外部時(shí)鐘作用下串行傳輸?shù)剿龌赟MII的介質(zhì)訪問控制芯片直到所述第一異步先進(jìn)先出隊(duì)列為空。
所述的步驟b包括b1、接收所述基于SMII的介質(zhì)訪問控制層芯片傳輸來的串行數(shù)據(jù)并將其轉(zhuǎn)換成并行數(shù)據(jù)在所述SMII的外部時(shí)鐘的作用下輸入到第二異步先進(jìn)先出隊(duì)列;b2、將所述第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)在所述物理層芯片提供的時(shí)鐘的作用下并行傳輸?shù)剿鑫锢韺有酒?,直到所述第二異步先進(jìn)先出隊(duì)列為空。
所述的步驟b2包括
當(dāng)所述第二異步先進(jìn)先出隊(duì)列中數(shù)據(jù)量達(dá)到第二預(yù)定閾值時(shí),將所述第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù),在所述物理層芯片提供的時(shí)鐘的作用下并行傳輸?shù)剿鑫锢韺有酒?,直到所述第二異步先進(jìn)先出隊(duì)列為空。
本發(fā)明還提供一種基于串行接口的數(shù)據(jù)傳輸裝置,包括并串轉(zhuǎn)換模塊接收物理層芯片傳輸來的并行數(shù)據(jù)并將其轉(zhuǎn)換成串行數(shù)據(jù)傳輸?shù)剿龌诖薪涌诘慕橘|(zhì)訪問控制芯片;串并轉(zhuǎn)換模塊接收基于串行接口的介質(zhì)訪問控制芯片傳輸來的串行數(shù)據(jù)并將其轉(zhuǎn)換成并行數(shù)據(jù)傳輸?shù)剿鑫锢韺有酒?br> 所述的裝置還包括管理接口狀態(tài)檢測(cè)模塊從基于串行接口的介質(zhì)訪問控制芯片和所述物理層芯片之間的管理接口總線上的數(shù)據(jù)幀中獲取當(dāng)前鏈路狀態(tài)信息并提供給并串轉(zhuǎn)換模塊和串并轉(zhuǎn)換模塊。
所述的管理接口狀態(tài)檢測(cè)模塊包括移位寄存器用于獲取所述管理接口總線上的數(shù)據(jù)幀,并提供給比較器和狀態(tài)寄存器;比較器用于比較所述數(shù)據(jù)幀承載的信息和預(yù)定值是否相等,確定所述數(shù)據(jù)幀是否為有效的數(shù)據(jù)幀,當(dāng)所述數(shù)據(jù)幀為有效的數(shù)據(jù)幀時(shí)向狀態(tài)寄存器輸出更新控制信號(hào);狀態(tài)寄存器當(dāng)接收到所述更新控制信號(hào)時(shí),將所述狀態(tài)寄存器中的數(shù)據(jù)更新為移位寄存器中當(dāng)前數(shù)據(jù)幀承載的當(dāng)前鏈路狀態(tài)信息;并將其提供給并串轉(zhuǎn)換模塊和串并轉(zhuǎn)換模塊。
所述的并串轉(zhuǎn)換模塊,包括狀態(tài)檢測(cè)處理子模塊用于對(duì)所述物理層芯片傳輸來的數(shù)據(jù)進(jìn)行載波檢測(cè)、數(shù)據(jù)狀態(tài)檢測(cè),將檢測(cè)結(jié)果和管理接口狀態(tài)檢測(cè)模塊傳輸來的當(dāng)前鏈路狀態(tài)信息傳輸?shù)讲⑥D(zhuǎn)串子模塊;
第一先進(jìn)先出寫入控制器當(dāng)所述物理層芯片傳來的并行數(shù)據(jù)為有效時(shí),將所述物理層芯片的時(shí)鐘頻率作為寫時(shí)鐘提供給所述第一異步先進(jìn)先出隊(duì)列,并將寫使能信號(hào)輸出到所述第一異步先進(jìn)先出隊(duì)列,將所述并行數(shù)據(jù)寫入第一異步先進(jìn)先出隊(duì)列;第一異步先進(jìn)先出隊(duì)列當(dāng)接收到所述寫使能信號(hào)時(shí),允許在所述寫時(shí)鐘作用下第一異步先進(jìn)先出寫入控制器寫入從所述物理層傳來的并行數(shù)據(jù);當(dāng)接收到讀使能信號(hào)時(shí),允許讀出控制器在讀時(shí)鐘作用下按照當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾氏虿⑥D(zhuǎn)串子模塊讀出其數(shù)據(jù);當(dāng)其中的數(shù)據(jù)量達(dá)到第一預(yù)定閾值時(shí),向第一異步先進(jìn)先出讀出控制器輸出達(dá)到第一預(yù)定閾值信號(hào);當(dāng)其中的數(shù)據(jù)為空時(shí),向第一異步先進(jìn)先出讀出控制器輸出第一異步先進(jìn)先出隊(duì)列為空信號(hào);第一異步先進(jìn)先出讀出控制器將串行接口的時(shí)鐘頻率作為讀時(shí)鐘提供給所述第一異步先進(jìn)先出隊(duì)列;當(dāng)接收到所述達(dá)到第一預(yù)定閾值信號(hào)時(shí),向所述第一異步先進(jìn)先出隊(duì)列輸出讀使能信號(hào);將第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)在讀時(shí)鐘的作用下按照當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾首x出到并轉(zhuǎn)串子模塊;同時(shí)將接收的數(shù)據(jù)有效狀態(tài)輸出到并轉(zhuǎn)串子模塊并控制第一開關(guān)選通所述第一異步先進(jìn)先出隊(duì)列;在接收到所述第一異步先進(jìn)先出隊(duì)列為空信號(hào)時(shí),控制第一開關(guān)選通鏈路狀態(tài)信息,并將接收數(shù)據(jù)無效狀態(tài)輸出到并轉(zhuǎn)串子模塊;第一開關(guān)當(dāng)選通所述第一異步先進(jìn)先出隊(duì)列時(shí),允許所述第一異步先進(jìn)先出讀出控制器從第一異步先進(jìn)先出隊(duì)列中讀出的并行數(shù)據(jù)輸出到并轉(zhuǎn)串子模塊;當(dāng)選通所述鏈路狀態(tài)信息時(shí),允許所述鏈路狀態(tài)信息輸出到所述并轉(zhuǎn)串子模塊;并轉(zhuǎn)串子模塊用于將其存儲(chǔ)的并行數(shù)據(jù)在串行接口的外部時(shí)鐘作用下串行輸出到基于串行接口的介質(zhì)訪問控制芯片。
所述的并串轉(zhuǎn)換模塊還包括并行位數(shù)轉(zhuǎn)換子模塊用于根據(jù)當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾蕦⑺鑫锢韺有酒瑐鬏攣淼牟⑿袛?shù)據(jù)經(jīng)過并行位數(shù)轉(zhuǎn)換后輸入所述第一異步先進(jìn)先出隊(duì)列。
所述的串并轉(zhuǎn)換模塊包括串轉(zhuǎn)并子模塊用于將所述基于串行接口的介質(zhì)訪問控制芯片傳輸來的串行數(shù)據(jù)轉(zhuǎn)換成預(yù)定位數(shù)的并行數(shù)據(jù),并輸出到所述第二異步先進(jìn)先出隊(duì)列,并將所述發(fā)送的串行數(shù)據(jù)是否有效信號(hào)輸出到第二異步先進(jìn)先出寫入控制器;第二異步先進(jìn)先出寫入控制器當(dāng)所述的串行數(shù)據(jù)為有效數(shù)據(jù)時(shí),將串行接口的時(shí)鐘頻率作為寫時(shí)鐘提供給第二異步先進(jìn)先出隊(duì)列;向第二異步先進(jìn)先出隊(duì)列輸出寫使能信號(hào);控制第二開關(guān)選通所述串轉(zhuǎn)并子模塊;將所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)與所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)是否為錯(cuò)誤信號(hào)一起或單獨(dú)將所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)根據(jù)當(dāng)前鏈路上數(shù)據(jù)傳輸速率在寫時(shí)鐘的作用下寫入到所述第二異步先進(jìn)先出隊(duì)列;第二開關(guān)當(dāng)選通串轉(zhuǎn)并子模塊時(shí),允許所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)輸出到第二異步先進(jìn)先出隊(duì)列;第二異步先進(jìn)先出隊(duì)列當(dāng)接收到所述寫使能信號(hào)時(shí),允許第二異步先進(jìn)先出寫入控制器將所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)與所述發(fā)送的數(shù)據(jù)是否為錯(cuò)誤狀態(tài)信號(hào)一起或單獨(dú)將所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)根據(jù)當(dāng)前鏈路上數(shù)據(jù)傳輸速率在寫時(shí)鐘的作用下寫入到所述第二異步先進(jìn)先出隊(duì)列;在所述第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到第二預(yù)定閾值時(shí),向第二異步先進(jìn)先出讀出控制器輸出達(dá)到第二預(yù)定閾值信號(hào);在所述第二異步先進(jìn)先出隊(duì)列為空時(shí),向第二異步先進(jìn)先出讀出控制器輸出為空信號(hào);當(dāng)接收到讀使能信號(hào)時(shí),允許第二異步先進(jìn)先出讀出控制器將其中的數(shù)據(jù)讀出傳輸?shù)剿鑫锢韺有酒?
第二異步先進(jìn)先出讀出控制器用于將所述物理層芯片的時(shí)鐘頻率作為讀時(shí)鐘提供給第二異步先進(jìn)先出隊(duì)列;當(dāng)接收到所述達(dá)到第二預(yù)定閾值信號(hào)時(shí),向所述第二異步先進(jìn)先出隊(duì)列輸出讀使能信號(hào);將所述第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)根據(jù)當(dāng)前鏈路上數(shù)據(jù)傳輸速率在寫時(shí)鐘的作用下讀出傳輸?shù)剿鑫锢韺有酒?;同時(shí)將數(shù)據(jù)為有效狀態(tài)輸出到所述物理層芯片;當(dāng)接收到所述為空狀態(tài)信號(hào)時(shí)將數(shù)據(jù)為無效狀態(tài)輸出到所述物理層芯片。
利用本發(fā)明,當(dāng)基于SMII的MAC芯片接收從PHY芯片傳輸來的數(shù)據(jù)時(shí),將基于工作時(shí)鐘頻率較低的接口的PHY芯片傳輸來的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)傳輸?shù)組AC芯片;由于PHY芯片是基于工作時(shí)鐘頻率較低的接口進(jìn)行數(shù)據(jù)傳輸,所以保證了數(shù)據(jù)的遠(yuǎn)距離可靠傳輸,從而實(shí)現(xiàn)了基于SMII的MAC芯片與PHY芯片間進(jìn)行數(shù)據(jù)接收時(shí),數(shù)據(jù)傳輸距離拉遠(yuǎn)的目的。同理,當(dāng)基于SMII的MAC芯片發(fā)送數(shù)據(jù)到PHY芯片時(shí),將所述發(fā)送的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)傳輸?shù)交诠ぷ鲿r(shí)鐘頻率較低的接口的PHY芯片的,實(shí)現(xiàn)了基于SMII的MAC芯片與PHY芯片間進(jìn)行發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)傳輸距離拉遠(yuǎn)的目的。因此,本發(fā)明實(shí)現(xiàn)了基于SMII的MAC芯片和PHY芯片間進(jìn)行數(shù)據(jù)傳輸時(shí),數(shù)據(jù)傳輸距離拉遠(yuǎn)的目的,從而使基于SMII進(jìn)行數(shù)據(jù)傳輸?shù)漠a(chǎn)品不會(huì)因數(shù)據(jù)傳輸?shù)木嚯x受限制而制約產(chǎn)品的結(jié)構(gòu),優(yōu)化了產(chǎn)品的結(jié)構(gòu)布局。


圖1是現(xiàn)有技術(shù)中SMII的具體應(yīng)用;圖2是現(xiàn)有技術(shù)中MII的具體應(yīng)用;圖3是現(xiàn)有技術(shù)中RMII的具體應(yīng)用;圖4是現(xiàn)有技術(shù)中管理接口的具體應(yīng)用;圖5是本發(fā)明的基于SMII的MAC芯片和基于MII的PHY芯片之間數(shù)據(jù)傳輸?shù)木嚯x拉遠(yuǎn)方案;
圖6是本發(fā)明的基于SMII的MAC芯片和基于RMII的PHY芯片之間數(shù)據(jù)傳輸?shù)木嚯x拉遠(yuǎn)方案;圖7是本發(fā)明的基于串行接口的數(shù)據(jù)傳輸裝置的邏輯框圖;圖8是本發(fā)明的管理接口狀態(tài)檢測(cè)模塊邏輯框圖;圖9是本發(fā)明的基于SMII的介質(zhì)訪問控制芯片和基于MII的物理層芯片之間進(jìn)行數(shù)據(jù)傳輸?shù)牟⒋D(zhuǎn)換模塊邏輯框圖;圖10是本發(fā)明的SMII接收數(shù)據(jù)時(shí)序圖;圖11是本發(fā)明的基于SMII的介質(zhì)訪問控制芯片和基于MII的物理層芯片之間進(jìn)行數(shù)據(jù)傳輸?shù)拇⑥D(zhuǎn)換模塊邏輯框圖;圖12是本發(fā)明的SMII發(fā)送數(shù)據(jù)時(shí)序圖;圖13是本發(fā)明的基于SMII的介質(zhì)訪問控制芯片和基于RMII的物理層芯片之間進(jìn)行數(shù)據(jù)傳輸?shù)牟⒋D(zhuǎn)換模塊邏輯框圖;圖14是本發(fā)明的基于SMII的介質(zhì)訪問控制芯片和基于RMII的物理層芯片之間進(jìn)行數(shù)據(jù)傳輸?shù)拇⑥D(zhuǎn)換模塊邏輯框圖。
具體實(shí)施例方式
下面結(jié)合附圖與具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
當(dāng)本發(fā)明所述的方法具體應(yīng)用于基于SMII的MAC芯片和基于MII的PHY芯片之間的數(shù)據(jù)傳輸時(shí),如附圖5所示。
在圖5中500是基于SMII的MAC芯片,510是數(shù)據(jù)轉(zhuǎn)換部分,520是基于MII的PHY芯片。由于MII的工作時(shí)鐘頻率為2.5MHz/25MHz,能夠進(jìn)行遠(yuǎn)距離傳輸,所以通過數(shù)據(jù)轉(zhuǎn)換部分510將基于SMII的MAC芯片和基于MII的PHY芯片之間需要傳輸?shù)臄?shù)據(jù)進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換從而實(shí)現(xiàn)了基于SMII的MAC芯片和基于MII的PHY芯片之間數(shù)據(jù)傳輸距離的拉遠(yuǎn)。
基于SMII的MAC芯片500需要接收的數(shù)據(jù)信息有兩種,一種是當(dāng)前鏈路狀態(tài)信息,另一種是基于MII的PHY芯片需要傳輸?shù)交赟MII的MAC芯片的數(shù)據(jù)。
當(dāng)前鏈路狀態(tài)信息是從MAC芯片和PHY芯片之間的管理接口總線上的數(shù)據(jù)幀獲取的。
管理接口是MAC芯片與PHY芯片之間的一個(gè)接口。MAC芯片可以通過管理接口訪問PHY芯片內(nèi)部的寄存器,對(duì)PHY芯片進(jìn)行控制和管理。管理接口工作時(shí)鐘頻率小于2.5MHz。管理接口的應(yīng)用如附圖4所示。在圖4中,MDC是管理接口的時(shí)鐘信號(hào),MDIO是管理接口雙向數(shù)據(jù)信號(hào)。
當(dāng)前鏈路狀態(tài)信息包括當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾?、雙工、鏈路、超長幀等狀態(tài)信息。數(shù)據(jù)傳輸?shù)乃俾史从硵?shù)據(jù)傳輸速率是10M還是100M。獲取當(dāng)前鏈路狀態(tài)信息的方法如下根據(jù)所述管理接口總線上的數(shù)據(jù)幀的OP字段、PHYAD字段、REGAD字段中的內(nèi)容與預(yù)定值是否相等,確定所述數(shù)據(jù)幀是否為有效的數(shù)據(jù)幀;讀取有效數(shù)據(jù)幀中的16位DATA字段中的內(nèi)容,獲取當(dāng)前鏈路狀態(tài)信息。將獲取的當(dāng)前鏈路狀態(tài)信息提供給數(shù)據(jù)轉(zhuǎn)換部分510。預(yù)定值中的OP字段為“10”時(shí)表示讀操作,為“01”時(shí)表示寫操作;PHYAD字段為PHY芯片的端口地址;REGAD字段為“00000”時(shí)是控制寄存器,為“00001”時(shí)是狀態(tài)寄存器。
管理接口總線上的數(shù)據(jù)幀結(jié)構(gòu)定義如表1所示。
表1管理接口數(shù)據(jù)幀結(jié)構(gòu)定義

如果當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?00M,當(dāng)基于SMII的MAC芯片500需要接收從基于MII的PHY芯片520傳輸來的數(shù)據(jù)時(shí),由于SMII能夠接收的數(shù)據(jù)是在125MHz頻率下傳輸?shù)拇袛?shù)據(jù),MII傳輸來數(shù)據(jù)是在2.5MHz/25MHz頻率下傳輸?shù)?位并行數(shù)據(jù),所以需要將在2.5MHz/25MHz頻率下傳輸?shù)?位并行數(shù)據(jù)轉(zhuǎn)換成在125MHz頻率下傳輸?shù)拇袛?shù)據(jù)。
當(dāng)從基于MII的PHY芯片傳輸來的數(shù)據(jù)為有效狀態(tài)的數(shù)據(jù)時(shí),將4位并行數(shù)據(jù)輸入第一異步先進(jìn)先出隊(duì)列。
4位并行數(shù)據(jù)可以不轉(zhuǎn)換并行位數(shù)直接輸入第一異步先進(jìn)先出隊(duì)列或轉(zhuǎn)換成其他并行位數(shù)的并行數(shù)據(jù)后寫入第一異步先進(jìn)先出隊(duì)列。在實(shí)際應(yīng)用中將4位并行數(shù)據(jù)轉(zhuǎn)換成8位并行數(shù)據(jù)后寫入第一異步先進(jìn)先出隊(duì)列是較好的一種方法。
采用第一異步先進(jìn)先出隊(duì)列可以實(shí)現(xiàn)兩個(gè)時(shí)鐘域的隔離。第一異步先進(jìn)先出隊(duì)列的大小應(yīng)足以允許數(shù)據(jù)寫入第一異步先進(jìn)先出隊(duì)列時(shí)采用的時(shí)鐘頻率和數(shù)據(jù)從第一異步先進(jìn)先出隊(duì)列讀出時(shí)所采用的時(shí)鐘頻率的誤差。寫入第一異步先進(jìn)先出隊(duì)列的并行數(shù)據(jù)的并行位數(shù)應(yīng)和第一異步先進(jìn)先出隊(duì)列的寬度相對(duì)應(yīng)。如果將4位并行數(shù)據(jù)轉(zhuǎn)換成8位并行數(shù)據(jù)寫入第一異步先進(jìn)先出隊(duì)列,那么第一異步先進(jìn)先出隊(duì)列可以采用大小為8×15的隊(duì)列,即寬度為8bit,深度為15bit。8×15的第一異步先進(jìn)先出隊(duì)列允許時(shí)鐘差的范圍為±100ppm。
在第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到第一預(yù)定閾值時(shí)將其中的數(shù)據(jù)讀出,將讀出的數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)在SMII的工作時(shí)鐘作用下串行傳輸?shù)交赟MII的MAC芯片。第一預(yù)定閾值在實(shí)際應(yīng)用中經(jīng)常選用1/2,即第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到半滿狀態(tài)。
當(dāng)基于SMII的MAC芯片500沒有需要接收從基于MII的PHY芯片520傳輸來的數(shù)據(jù)時(shí),基于SMII的MAC芯片500需要接收當(dāng)前鏈路狀態(tài)信息。將獲取的當(dāng)前鏈路狀態(tài)信息直接轉(zhuǎn)換成串行數(shù)據(jù)在SMII的工作時(shí)鐘頻率下串行傳輸?shù)交赟MII的MAC芯片。
如果當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?0M,上述基于SMII的MAC芯片接收從基于MII的PHY芯片520傳輸來的數(shù)據(jù)時(shí),需要每10個(gè)SMII_SYNC周期從第一異步先進(jìn)先出隊(duì)列中讀取一次數(shù)據(jù)。其他步驟均與當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?00M時(shí),基于SMII的MAC芯片500需要接收從基于MII的PHY芯片520傳輸來的數(shù)據(jù)的方法相同。
當(dāng)基于SMII的MAC芯片500有數(shù)據(jù)需要發(fā)送到基于MII的PHY芯片520時(shí),由于SMII發(fā)送的數(shù)據(jù)是在125MHz頻率下傳輸?shù)拇袛?shù)據(jù),MII能夠接收的是在2.5MHz/25MHz頻率下傳輸?shù)?位并行數(shù)據(jù),所以需要將在125MHz頻率下傳輸?shù)拇袛?shù)據(jù)轉(zhuǎn)換成在2.5MHz/25MHz頻率下傳輸?shù)?位并行數(shù)據(jù)。
如果當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?00M,當(dāng)需要將數(shù)據(jù)從基于SMII的MAC芯片500發(fā)送到基于MII的PHY芯片時(shí),將基于SMII的MAC芯片500發(fā)送的串行數(shù)據(jù),在串行數(shù)據(jù)為有效狀態(tài)的數(shù)據(jù)時(shí),將串行數(shù)據(jù)分高4位和低四位分兩次與發(fā)送數(shù)據(jù)錯(cuò)誤信號(hào)一起在SMII的時(shí)鐘作用下并行寫入第二異步先進(jìn)先出隊(duì)列。
采用第二異步先進(jìn)先出隊(duì)列可以實(shí)現(xiàn)兩個(gè)時(shí)鐘域的隔離。第二異步先進(jìn)先出隊(duì)列的大小應(yīng)足以允許數(shù)據(jù)寫入第二異步先進(jìn)先出隊(duì)列時(shí)采用的時(shí)鐘頻率和數(shù)據(jù)從第二異步先進(jìn)先出隊(duì)列讀出時(shí)所采用的時(shí)鐘頻率的誤差。寫入第二異步先進(jìn)先出隊(duì)列的并行數(shù)據(jù)的并行位數(shù)應(yīng)和第二異步先進(jìn)先出隊(duì)列的寬度相對(duì)應(yīng)。如果在4位并行數(shù)據(jù)中增加一個(gè)發(fā)送數(shù)據(jù)錯(cuò)誤信號(hào),那么第二異步先進(jìn)先出隊(duì)列可以采用大小為5×15的隊(duì)列,即寬度為5bit,深度為15bit。5×15的第二異步先進(jìn)先出隊(duì)列允許時(shí)鐘差的范圍為±100ppm。
發(fā)送數(shù)據(jù)的有效狀態(tài)直接傳輸?shù)交贛II的PHY芯片。在第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到第二預(yù)定閾值時(shí)在MII的工作時(shí)鐘作用下,讀出第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)。讀出的4位并行數(shù)據(jù)傳輸?shù)交贛II的PHY芯片,讀出的發(fā)送數(shù)據(jù)錯(cuò)誤狀態(tài)位傳輸?shù)交贛II的PHY芯片。第二預(yù)定閾值在實(shí)際應(yīng)用中經(jīng)常選用1/2,即第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到半滿狀態(tài)。
如果當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?0M,上述將串行數(shù)據(jù)從基于SMII的MAC芯片500發(fā)送到基于MII的PHY芯片520時(shí),需要每10個(gè)SMII_SYNC周期向第二異步先進(jìn)先出隊(duì)列中寫入一次數(shù)據(jù)。其他步驟均與當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?00M時(shí),基于SMII的MAC芯片500需要發(fā)送數(shù)據(jù)傳輸?shù)交贛II的PHY芯片520的方法相同。
當(dāng)本發(fā)明所述的方法具體應(yīng)用于基于SMII的MAC芯片和基于RMII的PHY芯片之間的數(shù)據(jù)傳輸時(shí),如圖6所示。
在圖6中600是基于SMII的MAC芯片,610是數(shù)據(jù)轉(zhuǎn)換部分,620是基于RMII的PHY芯片。由于RMII的工作時(shí)鐘頻率為50MHz,能夠進(jìn)行遠(yuǎn)距離傳輸,所以通過數(shù)據(jù)轉(zhuǎn)換部分610將基于SMII的MAC芯片和基于RMII的PHY芯片之間需要傳輸?shù)臄?shù)據(jù)進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換從而實(shí)現(xiàn)了基于SMII的MAC芯片和基于RMII的PHY芯片之間數(shù)據(jù)傳輸距離的拉遠(yuǎn)。
基于SMII的MAC芯片600需要接收的數(shù)據(jù)信息有兩種,一種是當(dāng)前鏈路狀態(tài)信息,另一種是基于RMII的PHY芯片需要傳輸?shù)交赟MII的MAC芯片的數(shù)據(jù)。
當(dāng)前鏈路狀態(tài)信息是從MAC芯片和PHY芯片之間的管理接口總線上的數(shù)據(jù)幀獲取的。當(dāng)前鏈路狀態(tài)信息包括當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾?、雙工、鏈路、超長幀等狀態(tài)信息。數(shù)據(jù)傳輸?shù)乃俾史从钞?dāng)前以太網(wǎng)的傳輸速度是10M還是100M。
獲取當(dāng)前鏈路狀態(tài)信息的方法如下根據(jù)所述管理接口總線上的數(shù)據(jù)幀的OP字段、PHYAD字段、REGAD字段中的內(nèi)容與預(yù)定值是否相等,確定所述數(shù)據(jù)幀是否為有效的數(shù)據(jù)幀;讀取有效數(shù)據(jù)幀中的16位DATA字段中的內(nèi)容,從DATA字段中獲取當(dāng)前鏈路狀態(tài)信息。將獲取的當(dāng)前鏈路狀態(tài)信息提供給數(shù)據(jù)轉(zhuǎn)換部分610。
當(dāng)基于SMII的MAC芯片600需要接收從基于RMII的PHY芯片620傳輸來的數(shù)據(jù)時(shí),由于SMII能夠接收的數(shù)據(jù)是在125MHz頻率下傳輸?shù)拇袛?shù)據(jù),RMII傳輸來數(shù)據(jù)是在50MHz頻率下傳輸?shù)?位并行數(shù)據(jù),所以需要將在50MHz頻率下傳輸?shù)?位并行數(shù)據(jù)轉(zhuǎn)換成在125MHz頻率下傳輸?shù)拇袛?shù)據(jù)。
如果當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?00M,當(dāng)從基于RMII的PHY芯片傳輸來的數(shù)據(jù)為有效狀態(tài)的數(shù)據(jù)時(shí),將2位并行數(shù)據(jù)轉(zhuǎn)換成8位并行數(shù)據(jù)后寫入第一異步先進(jìn)先出隊(duì)列。
2位并行數(shù)據(jù)可以不轉(zhuǎn)換并行位數(shù)直接寫入第一異步先進(jìn)先出隊(duì)列或轉(zhuǎn)換成其他并行位數(shù)的并行數(shù)據(jù)后寫入第一異步先進(jìn)先出隊(duì)列。在實(shí)際應(yīng)用中將2位并行數(shù)據(jù)轉(zhuǎn)換成8位并行數(shù)據(jù)后寫入第一異步先進(jìn)先出隊(duì)列是較好的一種方法。
采用第一異步先進(jìn)先出隊(duì)列可以實(shí)現(xiàn)兩個(gè)時(shí)鐘域的隔離。第一異步先進(jìn)先出隊(duì)列的大小應(yīng)足以允許數(shù)據(jù)寫入第一異步先進(jìn)先出隊(duì)列時(shí)采用的時(shí)鐘頻率和數(shù)據(jù)從第一異步先進(jìn)先出隊(duì)列讀出時(shí)所采用的時(shí)鐘頻率的誤差。寫入第一異步先進(jìn)先出隊(duì)列的并行數(shù)據(jù)的并行位數(shù)應(yīng)和第一異步先進(jìn)先出隊(duì)列的寬度相對(duì)應(yīng)。如果將2位并行數(shù)據(jù)轉(zhuǎn)換成8位并行數(shù)據(jù)寫入第一異步先進(jìn)先出隊(duì)列,那么第一異步先進(jìn)先出隊(duì)列可以采用大小為8×15的隊(duì)列,即寬度為8bit,深度為15bit。8×15的第一異步先進(jìn)先出隊(duì)列允許時(shí)鐘差的范圍為±100ppm。
在第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到第一預(yù)定閾值時(shí)將其中的數(shù)據(jù)讀出,將讀出的數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),在SMII的工作時(shí)鐘作用下串行傳輸?shù)交赟MII的MAC芯片。第一預(yù)定閾值在實(shí)際應(yīng)用中經(jīng)常選用1/2,即第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到半滿狀態(tài)。
當(dāng)基于SMII的MAC芯片600沒有需要接收從基于RMII的PHY芯片620傳輸來的數(shù)據(jù)時(shí),基于SMII的MAC芯片600需要接收當(dāng)前鏈路狀態(tài)信息。將獲取的當(dāng)前鏈路狀態(tài)信息直接轉(zhuǎn)換成串行數(shù)據(jù)在SMII的工作時(shí)鐘頻率下串行傳輸?shù)交赟MII的MAC芯片。
如果當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?0M,上述基于SMII的MAC芯片600需要接收從基于RMII的PHY芯片620傳輸來的數(shù)據(jù)時(shí),需要每10個(gè)RMII_REFCLK周期對(duì)傳輸來的數(shù)據(jù)采樣一次,將采樣后的數(shù)據(jù)進(jìn)行并行位數(shù)轉(zhuǎn)換或不經(jīng)并行位數(shù)轉(zhuǎn)換在RMII時(shí)鐘作用下直接寫入第一異步先進(jìn)先出隊(duì)列。從第一異步先進(jìn)先出隊(duì)列中讀取數(shù)據(jù)時(shí)需要每10個(gè)SMII_SYNC周期從第一異步先進(jìn)先出隊(duì)列中讀取一次數(shù)據(jù)傳輸?shù)組AC芯片。其他步驟均與當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?00M時(shí),基于SMII的MAC芯片600需要接收從基于RMII的PHY芯片620傳輸來的數(shù)據(jù)的方法相同。
當(dāng)基于SMII的MAC芯片600有數(shù)據(jù)需要發(fā)送到基于RMII的PHY芯片620時(shí),由于SMII發(fā)送的數(shù)據(jù)是在125MHz頻率下傳輸?shù)拇袛?shù)據(jù),RMII能夠接收的是在50MHz頻率下傳輸?shù)?位并行數(shù)據(jù),所以需要將在125MHz頻率下傳輸?shù)拇袛?shù)據(jù)轉(zhuǎn)換成在50MHz頻率下傳輸?shù)?位并行數(shù)據(jù)。
如果當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?00M,當(dāng)需要將數(shù)據(jù)從基于SMII的MAC芯片600發(fā)送到基于RMII的PHY芯片時(shí),將基于SMII的MAC芯片600發(fā)送的串行數(shù)據(jù),在串行數(shù)據(jù)為有效狀態(tài)的數(shù)據(jù)時(shí),將串行數(shù)據(jù)從高位到低位劃分為4個(gè)2位并行數(shù)據(jù)在SMII的時(shí)鐘作用下并行寫入第二異步先進(jìn)先出隊(duì)列。
第二異步先進(jìn)先出隊(duì)列實(shí)現(xiàn)第二異步先進(jìn)先出隊(duì)列的功能。
采用第二異步先進(jìn)先出隊(duì)列可以實(shí)現(xiàn)兩個(gè)時(shí)鐘域的隔離。第二異步先進(jìn)先出隊(duì)列的大小應(yīng)足以允許數(shù)據(jù)寫入第二異步先進(jìn)先出隊(duì)列時(shí)采用的時(shí)鐘頻率和數(shù)據(jù)從第二異步先進(jìn)先出隊(duì)列讀出時(shí)所采用的時(shí)鐘頻率的誤差。寫入第二異步先進(jìn)先出隊(duì)列的并行數(shù)據(jù)的并行位數(shù)應(yīng)和第二異步先進(jìn)先出隊(duì)列的寬度相對(duì)應(yīng)。如果采用2位并行數(shù)據(jù)寫入第二異步先進(jìn)先出隊(duì)列,那么第二異步先進(jìn)先出隊(duì)列可以采用大小為2×15的隊(duì)列,即寬度為2bit,深度為15bit。2×15的第二異步先進(jìn)先出隊(duì)列允許時(shí)鐘差的范圍為±100ppm。
在第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到第二預(yù)定閾值時(shí)在RMII的工作時(shí)鐘作用下,讀出第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)。讀出的2位并行數(shù)據(jù)傳輸?shù)交赗MII的PHY芯片。第二預(yù)定閾值在實(shí)際應(yīng)用中經(jīng)常選用1/2,即第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到半滿狀態(tài)。
如果當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?0M,上述將串行數(shù)據(jù)從基于SMII的MAC芯片600發(fā)送到基于RMII的PHY芯片620時(shí),需要每10個(gè)SMII_SYNC周期向第二異步先進(jìn)先出隊(duì)列中寫入一次數(shù)據(jù)。從第二異步先進(jìn)先出隊(duì)列中讀取數(shù)據(jù)時(shí),需要每10個(gè)RMII_REFCLK周期從第二異步先進(jìn)先出隊(duì)列中讀取一次數(shù)據(jù)傳輸?shù)絇HY芯片。其他步驟均與當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸?shù)乃俾蕿?00M時(shí)串行數(shù)據(jù)從基于SMII的MAC芯片600發(fā)送到基于RMII的PHY芯片620的步驟相同。
基于上述本發(fā)明所提供的方法,本發(fā)明還提供了一種基于串行接口的數(shù)據(jù)傳輸?shù)难b置,如附圖7所示,圖7是本發(fā)明的基于串行接口的數(shù)據(jù)傳輸裝置的邏輯框圖?;诖薪涌诘臄?shù)據(jù)傳輸裝置的邏輯框圖包括并串轉(zhuǎn)換模塊700,串并轉(zhuǎn)換模塊710,管理接口狀態(tài)檢測(cè)模塊720。
并串轉(zhuǎn)換模塊700當(dāng)基于串行接口的介質(zhì)訪問控制芯片接收數(shù)據(jù)時(shí),將需要接收的從所述物理層芯片傳輸來的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)傳輸?shù)剿龌诖薪涌诘慕橘|(zhì)訪問控制芯片。
串并轉(zhuǎn)換模塊710當(dāng)需要將數(shù)據(jù)從基于串行接口的介質(zhì)訪問控制芯片發(fā)送到所述物理層芯片時(shí),將所述的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)發(fā)送到所述物理層芯片。
管理接口狀態(tài)檢測(cè)模塊720用于根據(jù)基于串行接口的介質(zhì)訪問控制芯片和所述物理層芯片之間的管理接口總線上的數(shù)據(jù)幀獲取當(dāng)前鏈路狀態(tài)信息;將所述獲取的當(dāng)前鏈路狀態(tài)信息提供給并串轉(zhuǎn)換模塊和串并轉(zhuǎn)換模塊。
管理接口狀態(tài)檢測(cè)模塊720邏輯框圖如圖8所示,圖8是管理接口狀態(tài)檢測(cè)模塊邏輯框圖,包括移位寄存器800,比較器810,狀態(tài)寄存器820。
管理接口總線MDIO上的數(shù)據(jù)幀在管理接口的時(shí)鐘MDC作用下依次進(jìn)入32位移位寄存器800。數(shù)據(jù)幀由前導(dǎo)碼PRE,幀頭標(biāo)志ST,操作碼OP,PHY地址PHYAD,寄存器地址REGAD,MDIO數(shù)據(jù)線方向轉(zhuǎn)換時(shí)間TA,數(shù)據(jù)DATA,空閑狀態(tài)IDLE組成。
當(dāng)比較器810判斷出移位寄存器800的內(nèi)容全部是“1”以后,即可確認(rèn)收到了前導(dǎo)碼PRE;繼續(xù)等待幀頭標(biāo)志ST移到最高兩位。當(dāng)ST移到最高兩位時(shí)移位寄存器800已經(jīng)保存了完整的管理接口總線上的數(shù)據(jù)幀。這時(shí)將移位寄存器800中的OP、PHYAD、REGAD等字段的內(nèi)容與預(yù)定值比較,確定移位寄存器中的數(shù)據(jù)幀是否是有效的數(shù)據(jù)幀。如果內(nèi)容相等,移位寄存器800中存儲(chǔ)的是有效的讀數(shù)據(jù)幀,比較器810向狀態(tài)寄存器820發(fā)送更新控制信號(hào),狀態(tài)寄存器820從移位寄存器800的DATA字段中讀取相應(yīng)的狀態(tài)位,更新狀態(tài)寄存器820。如果內(nèi)容不相等,移位寄存器800中存儲(chǔ)的是無效的讀數(shù)據(jù)幀,比較器810不向狀態(tài)寄存器820發(fā)送更新控制信號(hào),不更新狀態(tài)寄存器820中的數(shù)據(jù)。預(yù)定值中的OP字段為“10”時(shí)表示讀操作,為“01”時(shí)表示寫操作;PHYAD字段為PHY芯片的端口地址;REGAD字段為“00000”時(shí)是控制寄存器,為“00001”時(shí)是狀態(tài)寄存器。
當(dāng)并串轉(zhuǎn)換模塊700用于基于SMII的MAC芯片和基于MII的PHY芯片之間進(jìn)行數(shù)據(jù)傳輸時(shí),并串轉(zhuǎn)換模塊700的邏輯框圖如附圖9所示,圖9是本發(fā)明的基于SMII的MAC芯片和基于MII的PHY芯片之間進(jìn)行數(shù)據(jù)傳輸?shù)牟⒋D(zhuǎn)換模塊邏輯框圖,包括狀態(tài)檢測(cè)處理子模塊900,4位到8位格式轉(zhuǎn)換子模塊910,異步先進(jìn)先出寫入控制器920,異步先進(jìn)先出隊(duì)列930,8位2選1開關(guān)940,異步先進(jìn)先出讀出控制器950,輸出移位寄存器960。其中狀態(tài)檢測(cè)處理子模塊900實(shí)現(xiàn)狀態(tài)檢測(cè)處理子模塊的功能;4位到8位格式轉(zhuǎn)換子模塊910實(shí)現(xiàn)并行位數(shù)轉(zhuǎn)換子模塊的功能;異步先進(jìn)先出寫入控制器920實(shí)現(xiàn)第一異步先進(jìn)先出寫入控制器的功能;異步先進(jìn)先出隊(duì)列930實(shí)現(xiàn)第一異步先進(jìn)先出隊(duì)列的功能;8位2選1開關(guān)940實(shí)現(xiàn)第一開關(guān)的功能;異步先進(jìn)先出讀出控制器950實(shí)現(xiàn)第一異步先進(jìn)先出讀出控制器的功能;輸出移位寄存器960實(shí)現(xiàn)并轉(zhuǎn)串子模塊的功能。
MII的時(shí)鐘MII_RXCLK由PHY芯片提供,在100M以太網(wǎng)中頻率為25MHz,在10M以太網(wǎng)中頻率為2.5MHz。SMII的參考時(shí)鐘SMII_REFCLK由外部時(shí)鐘源提供,頻率為125MHz。由于MII和SMI的時(shí)鐘頻率不同,且不同步,所以并串轉(zhuǎn)換模塊采用了異步先進(jìn)先出隊(duì)列930以實(shí)現(xiàn)兩個(gè)時(shí)鐘域的隔離。由于并串轉(zhuǎn)換模塊采用了4位到8位格式轉(zhuǎn)換子模塊910,所以異步先進(jìn)先出隊(duì)列930的大小為8×15,即寬度為8bit,深度為15bit,足以允許MII和SMII的時(shí)鐘有±100ppm的誤差。
圖9中其他鏈路狀態(tài)信息包括RXER(接收數(shù)據(jù)錯(cuò)誤信號(hào))、VALID(數(shù)據(jù)有效)、Flase carrier(載波無效指示)和當(dāng)前鏈路狀態(tài)信息;當(dāng)前鏈路狀態(tài)信息包括SPEED(速率)、DUPLEX(雙工)、LINK(鏈路)、JABBER(超長幀)。當(dāng)前鏈路狀態(tài)信息由管理接口狀態(tài)檢測(cè)模塊提供。其中的SPEED反映當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是100M還是10M。
狀態(tài)檢測(cè)處理子模塊900輸出的CRS(載波有效信號(hào))由MII_CRS獲得,RXER(接收數(shù)據(jù)錯(cuò)誤信號(hào))由MII_RXER獲得。VALID由基于MII的PHY傳輸來的數(shù)據(jù)位數(shù)決定,當(dāng)傳輸來的數(shù)據(jù)是偶數(shù)個(gè)4位并行數(shù)據(jù)時(shí)VALID=1,當(dāng)傳輸來的數(shù)據(jù)是奇數(shù)個(gè)4位并行數(shù)據(jù)時(shí)VALID=0;Flase carrier由狀態(tài)檢測(cè)處理子模塊900根據(jù)基于MII的PHY傳輸來的數(shù)據(jù)格式確定,F(xiàn)lase carrier的確定方法為每一個(gè)以太網(wǎng)數(shù)據(jù)幀開始傳輸時(shí)載波無效指示Flase carrier=0;當(dāng)出現(xiàn)MII_RXDV=0、MII_RXER=1、MII_RXD=1110時(shí),載波無效指示Flasecarrier=1,且保持到下一幀數(shù)據(jù)開始傳送。
當(dāng)MII_RXDV(接收數(shù)據(jù)有效信號(hào))=0時(shí),表示基于SMII的MAC芯片需要接收的是當(dāng)前鏈路狀態(tài)信息,異步先進(jìn)先出寫入控制器920接收到MII_RXDV=0的信號(hào),不對(duì)異步先進(jìn)先出隊(duì)列930中寫數(shù)據(jù),異步先進(jìn)先出隊(duì)列930為空,輸出FIFO空狀態(tài)標(biāo)志。異步先進(jìn)先出讀出控制器950接收到FIFO空狀態(tài)標(biāo)志將RXDV置為0,RXDV=0,表示輸出的是當(dāng)前鏈路狀態(tài)信息。異步先進(jìn)先出讀出控制器950控制8位二選一開關(guān)940選通其他鏈路狀態(tài)信息,允許當(dāng)前鏈路狀態(tài)信息和CRS、RXER、RXDV信號(hào)一起傳輸?shù)捷敵鲆莆患拇嫫?60。輸出移位寄存器960在SMII_REFCLK時(shí)鐘作用下逐位輸出串行格式的數(shù)據(jù)到SMII_RXD。
當(dāng)MII_RXDV=1時(shí),表示基于SMII的MAC芯片需要接收的是從基于MII的PHY芯片傳輸來的數(shù)據(jù)。
異步先進(jìn)先出寫入控制器920接收到MII_RXDV=1的信號(hào),將MII的工作時(shí)鐘頻率作為寫時(shí)鐘提供給異步先進(jìn)先出隊(duì)列930;寫時(shí)鐘作為向異步先進(jìn)先出隊(duì)列930寫入數(shù)據(jù)的時(shí)鐘信號(hào)。向異步先進(jìn)先出隊(duì)列930輸出寫使能信號(hào),將MII_RXD[3:0]經(jīng)過4位到8位格式轉(zhuǎn)換子模塊910轉(zhuǎn)換成的8位并行數(shù)據(jù)在寫時(shí)鐘的作用下寫入到異步先進(jìn)先出隊(duì)列930;異步先進(jìn)先出隊(duì)列930接到寫使能信號(hào)后允許MII_RXD[3:0]經(jīng)過4位到8位格式轉(zhuǎn)換子模塊910轉(zhuǎn)換為的8位并行數(shù)據(jù)在寫時(shí)鐘的頻率下寫入異步先進(jìn)先出隊(duì)列930中。
當(dāng)異步先進(jìn)先出隊(duì)列930中的數(shù)據(jù)量達(dá)到第一預(yù)定閾值時(shí),輸出達(dá)到第一預(yù)定閾值狀態(tài)信號(hào)。
在本實(shí)施方案中第一預(yù)定閾值選用1/2,即數(shù)據(jù)量達(dá)到異步先進(jìn)先出隊(duì)列930的半滿狀態(tài)。
當(dāng)異步先進(jìn)先出隊(duì)列930中的數(shù)據(jù)量達(dá)到半滿狀態(tài)時(shí),輸出達(dá)到FIFO半滿狀態(tài)信號(hào)。
異步先進(jìn)先出讀出控制器950將SMII的時(shí)鐘頻率作為讀時(shí)鐘提供給異步先進(jìn)先出隊(duì)列930,作為從異步先進(jìn)先出隊(duì)列930中讀出數(shù)據(jù)的時(shí)鐘信號(hào)。當(dāng)異步先進(jìn)先出讀出控制器950接收到FIFO半滿狀態(tài)信號(hào)后向異步先進(jìn)先出隊(duì)列930輸出讀使能信號(hào),并將RXDV置為1,RXDV=1,表示基于SMII的MAC芯片接收到的是數(shù)據(jù)。異步先進(jìn)先出讀出控制器950控制8位二選一開關(guān)940選通異步先進(jìn)先出隊(duì)列930。
如果異步先進(jìn)先出讀出控制器950接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是100M,異步先進(jìn)先出讀出控制器950在讀時(shí)鐘的作用下將異步先進(jìn)先出隊(duì)列930中的數(shù)據(jù)讀出和RXDV一起傳輸?shù)捷敵鲆莆患拇嫫?60中。
如果異步先進(jìn)先出讀出控制器950接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是10M,異步先進(jìn)先出讀出控制器950每10個(gè)SMII_SYNC周期將異步先進(jìn)先出隊(duì)列930中的數(shù)據(jù)讀取一次,將讀出的數(shù)據(jù)和RXDV一起傳輸?shù)捷敵鲆莆患拇嫫?60中。
輸出移位寄存器960將接收到的數(shù)據(jù)、RXDV和CRS信號(hào)在SMII_REFCLK時(shí)鐘作用下串行輸出到基于SMII的MAC芯片。以上過程一直持續(xù)到異步先進(jìn)先出隊(duì)列930為空,即一幀數(shù)據(jù)結(jié)束為止。
本實(shí)施方案中MII_RXD[3:0]數(shù)據(jù)可以不經(jīng)轉(zhuǎn)換或轉(zhuǎn)換成其他格式的數(shù)據(jù)在寫時(shí)鐘的頻率下寫入異步先進(jìn)先出隊(duì)列930中,如果采用不經(jīng)轉(zhuǎn)換或轉(zhuǎn)換成其他格式的數(shù)據(jù),則相應(yīng)的邏輯器件根據(jù)數(shù)據(jù)轉(zhuǎn)換的具體情況需要做相應(yīng)的調(diào)整。
從基于MII的PHY芯片傳輸來的數(shù)據(jù)結(jié)構(gòu)定義如表2所示。
表2從基于MII的PHY芯片傳輸來的數(shù)據(jù)結(jié)構(gòu)定義


SMII接收數(shù)據(jù)的時(shí)序圖如附圖10所示。
在圖10中CRS是載波檢測(cè)信號(hào),是非同步信號(hào);RX_DV(接收數(shù)據(jù)有效信號(hào))對(duì)應(yīng)RXDV的狀態(tài)值;當(dāng)RX_DV=0時(shí)表示后8位是鏈路狀態(tài)信息,當(dāng)RX_DV=1時(shí)表示后8位是數(shù)據(jù)。
當(dāng)RX_DV=0時(shí)后8位信號(hào)表示的含義是,RX_ER是接收數(shù)據(jù)錯(cuò)誤信號(hào),當(dāng)RX_ER=0時(shí),表示接收數(shù)據(jù)正確,當(dāng)RX_ER=1時(shí),表示接收數(shù)據(jù)錯(cuò)誤;SPEED是數(shù)據(jù)傳輸?shù)乃俾?,?dāng)SPEED=0時(shí),表示數(shù)據(jù)傳輸?shù)乃俾蕿?0Mbps,當(dāng)SPEED=1時(shí),表示數(shù)據(jù)傳輸?shù)乃俾蕿?00Mbps;DUPLEX是雙工信號(hào),DUPLEX=0時(shí),表示半雙工,當(dāng)DUPLEX=1時(shí),表示全雙工;LINK是鏈路狀態(tài)信號(hào),當(dāng)LINK=0時(shí),表示鏈路斷開,當(dāng)LINK=1時(shí),表示鏈路通;JABBER是超長幀信號(hào),當(dāng)JABBER=0時(shí),表示受到正常數(shù)據(jù)幀,當(dāng)JABBER=1時(shí),表示收到超長數(shù)據(jù)幀;VALID是Dribble指示信號(hào),當(dāng)VALID=0時(shí),表示上一幀最后一個(gè)字節(jié)高四位無效,當(dāng)VALID=1時(shí),表示上一幀最后一個(gè)字節(jié)高四位有效;False Carrier是載波無效信號(hào),當(dāng)False Carrier=0時(shí),表示載波有效,當(dāng)False Carrier=1時(shí),表示載波無效;RXD7固定為1。
當(dāng)串并轉(zhuǎn)換模塊710用于基于SMII的MAC芯片和基于MII的PHY芯片之間進(jìn)行數(shù)據(jù)傳輸時(shí),串并轉(zhuǎn)換模塊710的邏輯框圖如附圖11所示,包括輸入移位寄存器110,4位2選1開關(guān)111,異步先進(jìn)先出寫入控制器112,異步先進(jìn)先出隊(duì)列113,異步先進(jìn)先出讀出控制器114。其中輸入移位寄存器110實(shí)現(xiàn)串轉(zhuǎn)并子模塊的功能;4位2選1開關(guān)111實(shí)現(xiàn)第二開關(guān)的功能;異步先進(jìn)先出寫入控制器112實(shí)現(xiàn)第二異步先進(jìn)先出寫入控制器的功能;異步先進(jìn)先出隊(duì)列113實(shí)現(xiàn)第二異步先進(jìn)先出寫入控制器的功能;異步先進(jìn)先出讀出控制器114實(shí)現(xiàn)第二異步先進(jìn)先出讀出控制器的功能。
由于MII接口和SMII接口的時(shí)鐘頻率不同,且不同步,所以串并轉(zhuǎn)換模塊采用了異步先進(jìn)先出隊(duì)列113來實(shí)現(xiàn)兩個(gè)時(shí)鐘域的隔離。由于串并轉(zhuǎn)換模塊采用了將串行數(shù)據(jù)轉(zhuǎn)換為4位并行數(shù)據(jù)傳輸加一位控制信號(hào)傳輸,所以異步先進(jìn)先出隊(duì)列113的大小為5×15,即寬度5bit,深度15bit,足以允許MII和SMII的時(shí)鐘有±100ppm的誤差。
基于SMII的MAC芯片發(fā)送的數(shù)據(jù)SMII_TXD在SMII的時(shí)鐘SMII_REFCLK作用下進(jìn)入輸入移位寄存器110,當(dāng)輸入移位寄存器110接收到的SMII_TXD中的TXEN=0,表示SMII發(fā)送的數(shù)據(jù)無效,即輸入移位寄存器110接收到的數(shù)據(jù)無效。輸入移位寄存器110將TXEN信號(hào)輸出到異步先進(jìn)先出寫入控制器112,異步先進(jìn)先出寫入控制器112接收到TXEN=0的信號(hào)后不向異步先進(jìn)先出隊(duì)列113輸出寫使能信號(hào)。異步先進(jìn)先出隊(duì)列113為空,輸出FIFO空標(biāo)志信號(hào),異步先進(jìn)先出讀出控制器114接收到FIFO空標(biāo)志信號(hào)后將MII_TXEN信號(hào)置為無效,即MII_TXEN=0,表示MII接口輸出的數(shù)據(jù)無效。
當(dāng)輸入移位寄存器110接收到的SMII_TXD中的TXEN=1時(shí),表示基于SMII的MAC芯片發(fā)送的數(shù)據(jù)有效,即輸入移位寄存器110接收到的數(shù)據(jù)有效。異步先進(jìn)先出寫入控制器112接收到TXEN=1的信號(hào)后將SMII的時(shí)鐘頻率作為寫時(shí)鐘信號(hào)提供給異步先進(jìn)先出隊(duì)列113,寫時(shí)鐘作為向異步先進(jìn)先出隊(duì)列113寫入數(shù)據(jù)的時(shí)鐘頻率;并向異步先進(jìn)先出隊(duì)列113輸出寫使能信號(hào),同時(shí)控制4位2選1開關(guān)111選通輸入移位寄存器110。
如果異步先進(jìn)先出寫入控制器112接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是100M,將輸入移位寄存器110中數(shù)據(jù)按低4位、高4位分兩次與SMII_TXD中的TXER狀態(tài)位一起在寫時(shí)鐘的作用下寫入到異步先進(jìn)先出隊(duì)列113。
如果異步先進(jìn)先出寫入控制器112接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是10M的信號(hào),將輸入移位寄存器110中數(shù)據(jù)按低4位、高4位分兩次與SMII_TXD中的TXER狀態(tài)位一起每10個(gè)SMII_SYNC向異步先進(jìn)先出隊(duì)列113寫入一次數(shù)據(jù)。
異步先進(jìn)先出隊(duì)列113接收到寫使能信號(hào)后允許異步先進(jìn)先出寫入控制器112向其寫入數(shù)據(jù)。當(dāng)異步先進(jìn)先出隊(duì)列113中的數(shù)據(jù)量達(dá)到第二預(yù)定閾值時(shí),向異步先進(jìn)先出讀出控制器114輸出達(dá)到第二預(yù)定閾值狀態(tài)信號(hào)。
在本實(shí)施方案中第二預(yù)定閾值選用1/2,即數(shù)據(jù)量達(dá)到異步先進(jìn)先出隊(duì)列113的半滿狀態(tài)。
當(dāng)異步先進(jìn)先出隊(duì)列113中的數(shù)據(jù)量達(dá)到半滿狀態(tài)時(shí),異步先進(jìn)先出隊(duì)列113輸出達(dá)到FIFO半滿狀態(tài)標(biāo)志;異步先進(jìn)先出讀出控制器114將MII的工作時(shí)鐘頻率作為讀時(shí)鐘提供給異步先進(jìn)先出隊(duì)列113,讀時(shí)鐘作為從異步先進(jìn)先出隊(duì)列113中讀出數(shù)據(jù)的時(shí)鐘頻率。當(dāng)異步先進(jìn)先出讀出控制器114接收到異步先進(jìn)先出隊(duì)列113輸出FIFO半滿狀態(tài)標(biāo)志后向異步先進(jìn)先出隊(duì)列113輸出讀使能信號(hào)。異步先進(jìn)先出讀出控制器114在讀時(shí)鐘信號(hào)的作用下將異步先進(jìn)先出隊(duì)列113中的數(shù)據(jù)讀出,輸出到MII_TXD[3:0]和MII_TXER。同時(shí)異步先進(jìn)先出讀出控制器114將MII_TXEN置為有效,即MII_TXEN=1,表示MII接口輸出的數(shù)據(jù)有效。以上過程一直持續(xù)到異步先進(jìn)先出隊(duì)列113為空,即一幀數(shù)據(jù)結(jié)束為止。
在本實(shí)施方案中如果移位寄存器110中數(shù)據(jù)采用其他格式而不按低4位、高4位分兩次與SMII_TXD中的TXER狀態(tài)位一起寫入異步先進(jìn)先出隊(duì)列113中,則相應(yīng)的邏輯器件需要做相應(yīng)的調(diào)整。
基于SMII的MAC芯片發(fā)送數(shù)據(jù)的時(shí)序圖如附圖12所示。
在圖12中,TX_ER是發(fā)送數(shù)據(jù)錯(cuò)誤信號(hào),當(dāng)TX_ER=0時(shí)表示發(fā)送數(shù)據(jù)正確,當(dāng)TX_ER=1時(shí)表示發(fā)送數(shù)據(jù)錯(cuò)誤;TX_EN是發(fā)送數(shù)據(jù)有效信號(hào),當(dāng)TX_EN=0時(shí)表示發(fā)送數(shù)據(jù)無效,當(dāng)TX_EN=1時(shí)表示發(fā)送數(shù)據(jù)有效;TXD0至TXD7是數(shù)據(jù)位。
從基于SMII的MAC芯片發(fā)送到基于MII的PHY芯片的數(shù)據(jù)定義如表3所示表3從基于SMII的MAC芯片發(fā)送到基于MII的PHY芯片的數(shù)據(jù)定義

當(dāng)并串轉(zhuǎn)換模塊700用于基于SMII的MAC芯片和基于RMII的PHY芯片之間進(jìn)行數(shù)據(jù)傳輸時(shí),并串轉(zhuǎn)換模塊700的邏輯框圖如附圖13所示,包括狀態(tài)檢測(cè)處理子模塊130,2位到8位格式轉(zhuǎn)換子模塊131,異步先進(jìn)先出寫入控制器132,異步先進(jìn)先出隊(duì)列133,8位2選1開關(guān)134,異步先進(jìn)先出讀出控制器135,輸出移位寄存器136。其中狀態(tài)檢測(cè)處理子模塊130實(shí)現(xiàn)狀態(tài)檢測(cè)處理子模塊的功能;2位到8位格式轉(zhuǎn)換子模塊131實(shí)現(xiàn)并行位數(shù)轉(zhuǎn)換子模塊的功能;異步先進(jìn)先出寫入控制器132實(shí)現(xiàn)第一異步先進(jìn)先出寫入控制器的功能;異步先進(jìn)先出隊(duì)列133實(shí)現(xiàn)第一異步先進(jìn)先出隊(duì)列的功能;8位2選1開關(guān)134實(shí)現(xiàn)第一開關(guān)的功能;異步先進(jìn)先出讀出控制器135實(shí)現(xiàn)第一異步先進(jìn)先出讀出控制器的功能;輸出移位寄存器136實(shí)現(xiàn)并轉(zhuǎn)串子模塊的功能。
RMII的時(shí)鐘RMII_RXCLK由外部時(shí)鐘提供,頻率為50MHz。SMII的參考時(shí)鐘SMII_REFCLK由外部時(shí)鐘源提供,頻率為125MHz。由于RMII和SMII的時(shí)鐘頻率不同,且不同步,所以并串轉(zhuǎn)換模塊采用了異步先進(jìn)先出隊(duì)列133來實(shí)現(xiàn)兩個(gè)時(shí)鐘域的隔離。由于并串轉(zhuǎn)換模塊采用了2位到8位格式轉(zhuǎn)換子模塊131,所以異步先進(jìn)先出隊(duì)列133的大小為8×15,即寬度為8bit,深度為15bit,足以允許RMII和SMII的時(shí)鐘有±100ppm的誤差。
圖13中其他鏈路狀態(tài)信息包括RXER(接收數(shù)據(jù)錯(cuò)誤信號(hào))、VALID(數(shù)據(jù)有效)、Flase carrier(載波無效指示)和當(dāng)前鏈路狀態(tài)信息;當(dāng)前鏈路狀態(tài)信息包括SPEED(速率)、DUPLEX(雙工)、LINK(鏈路)、JABBER(超長幀)。當(dāng)前鏈路狀態(tài)信息由管理接口狀態(tài)檢測(cè)模塊提供。其中的SPEED反映數(shù)據(jù)傳輸速率是100M還是10M。
狀態(tài)檢測(cè)處理子模塊130輸出的CRS(載波有效信號(hào))由RMII_CRS_DV獲得,RXER(接收數(shù)據(jù)錯(cuò)誤信號(hào))由RMII_RXER獲得。VALID由基于RMII的PHY傳輸來的數(shù)據(jù)位數(shù)決定,當(dāng)傳輸來的數(shù)據(jù)是4N或4N+3個(gè)2位并行數(shù)據(jù)時(shí)VALID=1,當(dāng)傳輸來的數(shù)據(jù)是4N+1或4N+2個(gè)2位并行數(shù)據(jù)時(shí)VALID=0,其中N為正整數(shù);Flase carrier由狀態(tài)檢測(cè)處理子模塊130根據(jù)基于RMII的PHY傳輸來的數(shù)據(jù)格式確定,F(xiàn)lase carrier的確定方法為每一個(gè)以太網(wǎng)數(shù)據(jù)幀開始傳輸時(shí)載波無效指示Flase carrier=0;當(dāng)出現(xiàn)RMII_RXER=1、RMII_RXD[1:0]=10時(shí),載波無效指示Flase carrier=1,且保持到下一幀數(shù)據(jù)開始傳送。
當(dāng)RMII_CRS_DV(載波/接收數(shù)據(jù)有效信號(hào))=0時(shí),表示基于SMII的MAC芯片需要接收的是當(dāng)前鏈路狀態(tài)信息,異步先進(jìn)先出寫入控制器132接收到RMII_CRS_DV為0的信號(hào),不對(duì)異步先進(jìn)先出隊(duì)列133中寫數(shù)據(jù),異步先進(jìn)先出隊(duì)列133為空,輸出FIFO空狀態(tài)標(biāo)志。異步先進(jìn)先出讀出控制器135接收到FIFO空狀態(tài)標(biāo)志將RXDV置為0,RXDV=0,表示輸出的是當(dāng)前鏈路狀態(tài)信息。異步先進(jìn)先出讀出控制器135控制8位2選1開關(guān)134選通其他鏈路狀態(tài)信息,允許當(dāng)前鏈路狀態(tài)信息和CRS、RXER、VALID、Flase carrier信號(hào)一起傳輸?shù)捷敵鲆莆患拇嫫?36。輸出移位寄存器136在SMII_REFCLK時(shí)鐘作用下逐位輸出串行格式的數(shù)據(jù)到SMII_RXD。
當(dāng)RMII_RXDV=1時(shí),表示基于SMII的MAC芯片需要接收的是從基于RMII的PHY芯片傳輸來的數(shù)據(jù)。
如果2位到8位格式轉(zhuǎn)換子模塊131接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是100M,2位到8位格式轉(zhuǎn)換子模塊131在RMII_REFCLK時(shí)鐘作用下對(duì)RMII_RXD[1:0]進(jìn)行采樣。
如果2位到8位格式轉(zhuǎn)換子模塊131接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是10M,每10個(gè)RMII_REFCLK周期對(duì)RMII_RXD[1:0]采樣一次。
將采樣后的數(shù)據(jù)經(jīng)過2位到8位格式轉(zhuǎn)換子模塊131轉(zhuǎn)換成8位并行數(shù)據(jù)。
異步先進(jìn)先出寫入控制器132接收到RMII_CRS_DV為1的信號(hào),將RMII的工作時(shí)鐘頻率作為寫時(shí)鐘提供給異步先進(jìn)先出隊(duì)列133,寫時(shí)鐘作為向異步先進(jìn)先出隊(duì)列133寫入數(shù)據(jù)的時(shí)鐘信號(hào)。異步先進(jìn)先出寫入控制器132向異步先進(jìn)先出隊(duì)列133輸出寫使能信號(hào),將8位并行數(shù)據(jù)在寫時(shí)鐘的作用下寫入異步先進(jìn)先出隊(duì)列133。
異步先進(jìn)先出隊(duì)列133接到寫使能信號(hào)后允許8位并行數(shù)據(jù)在寫時(shí)鐘的頻率下寫入異步先進(jìn)先出隊(duì)列133中。
當(dāng)異步先進(jìn)先出隊(duì)列133中的數(shù)據(jù)量達(dá)到第一預(yù)定閾值時(shí),輸出達(dá)到第一預(yù)定閾值狀態(tài)信號(hào)。
在本實(shí)施方案中第一預(yù)定閾值選用1/2,即數(shù)據(jù)量達(dá)到異步先進(jìn)先出隊(duì)列133的半滿狀態(tài)。
當(dāng)異步先進(jìn)先出隊(duì)列133中的數(shù)據(jù)量達(dá)到半滿狀態(tài)時(shí),輸出達(dá)到FIFO半滿狀態(tài)信號(hào)。
異步先進(jìn)先出讀出控制器135將SMII的工作時(shí)鐘頻率作為讀時(shí)鐘提供給異步先進(jìn)先出隊(duì)列133,讀時(shí)鐘作為從異步先進(jìn)先出隊(duì)列133中讀出數(shù)據(jù)時(shí)鐘頻率。當(dāng)異步先進(jìn)先出讀出控制器135接收到FIFO半滿狀態(tài)信號(hào)后向異步先進(jìn)先出隊(duì)列133輸出讀使能信號(hào),并將RXDV置為1,RXDV=1,表示基于SMII的MAC芯片接收到的是數(shù)據(jù)。異步先進(jìn)先出讀出控制器135控制8位2選1開關(guān)134選通異步先進(jìn)先出隊(duì)列133。
如果異步先進(jìn)先出讀出控制器135接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是100M,異步先進(jìn)先出讀出控制器135在讀時(shí)鐘的作用下將異步先進(jìn)先出隊(duì)列133中的數(shù)據(jù)讀出和RXDV一起傳輸?shù)捷敵鲆莆患拇嫫?36中。
如果異步先進(jìn)先出讀出控制器135接收到當(dāng)前當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是10M,異步先進(jìn)先出讀出控制器135每10個(gè)SMII_SYNC周期將異步先進(jìn)先出隊(duì)列133中的數(shù)據(jù)讀取一次,將讀出的數(shù)據(jù)和RXDV一起傳輸?shù)捷敵鲆莆患拇嫫?36中。
輸出移位寄存器136將接收到的數(shù)據(jù)、RXDV和CRS信號(hào)在SMII_REFCLK時(shí)鐘作用下串行輸出到基于SMII的MAC芯片。以上過程一直持續(xù)到異步先進(jìn)先出隊(duì)列133為空,即一幀數(shù)據(jù)結(jié)束為止。
本實(shí)施方案中RMII_RXD[1:0]數(shù)據(jù)可以不經(jīng)轉(zhuǎn)換或轉(zhuǎn)換成其他格式的數(shù)據(jù)在寫時(shí)鐘的頻率下寫入異步先進(jìn)先出隊(duì)列133中,如果采用不經(jīng)轉(zhuǎn)換或轉(zhuǎn)換成其他格式的數(shù)據(jù),則相應(yīng)的邏輯器件需要做相應(yīng)的調(diào)整。
當(dāng)串并轉(zhuǎn)換模塊710用于基于SMII的MAC芯片和基于RMII的PHY芯片之間進(jìn)行數(shù)據(jù)傳輸時(shí),串并轉(zhuǎn)換模塊710的邏輯框圖如附圖14所示,包括輸入移位寄存器140,2位4選1開關(guān)141,異步先進(jìn)先出寫入控制器142,異步先進(jìn)先出隊(duì)列143,異步先進(jìn)先出讀出控制器144。其中輸入移位寄存器140實(shí)現(xiàn)串轉(zhuǎn)并子模塊的功能;2位4選1開關(guān)141實(shí)現(xiàn)第二開關(guān)的功能;異步先進(jìn)先出寫入控制器142實(shí)現(xiàn)第二異步先進(jìn)先出寫入控制器的功能;異步先進(jìn)先出隊(duì)列143實(shí)現(xiàn)第二異步先進(jìn)先出寫入控制器的功能;異步先進(jìn)先出讀出控制器144實(shí)現(xiàn)第二異步先進(jìn)先出讀出控制器的功能。
由于RMII接口和SMII接口的時(shí)鐘頻率不同,且不同步,所以串并轉(zhuǎn)換模塊采用了異步先進(jìn)先出隊(duì)列143以實(shí)現(xiàn)兩個(gè)時(shí)鐘域的隔離。由于串并轉(zhuǎn)換模塊采用了將串行數(shù)據(jù)轉(zhuǎn)換為2位并行數(shù)據(jù)傳輸,所以異步先進(jìn)先出隊(duì)列143的大小為2×15,即寬度2bit,深度15bit,足以允許RMII和SMII的時(shí)鐘有±100ppm的誤差。
基于SMII的MAC芯片發(fā)送的數(shù)據(jù)SMII_TXD在SMII的時(shí)鐘SMII_REFCLK作用下進(jìn)入輸入移位寄存器140,當(dāng)輸入移位寄存器140接收到的SMII_TXD中的TXEN=0,表示SMII發(fā)送的數(shù)據(jù)無效,即輸入移位寄存器140接收到的數(shù)據(jù)無效。輸入移位寄存器140將TXEN信號(hào)輸出到異步先進(jìn)先出寫入控制器142,異步先進(jìn)先出寫入控制器142接收到TXEN=0的信號(hào)后不向異步先進(jìn)先出隊(duì)列143輸出寫使能信號(hào)。異步先進(jìn)先出隊(duì)列143為空,輸出FIFO空標(biāo)志信號(hào),異步先進(jìn)先出讀出控制器144接收到FIFO空標(biāo)志信號(hào)后將RMII_TXEN信號(hào)置為無效,即RMII_TXEN=0,表示RMII接口輸出的數(shù)據(jù)無效。
當(dāng)輸入移位寄存器140接收到的SMII_TXD中的TXEN=1時(shí),表示基于SMII的MAC芯片發(fā)送的數(shù)據(jù)有效,即輸入移位寄存器140接收到的數(shù)據(jù)有效。異步先進(jìn)先出寫入控制器142接收到TXEN=1的信號(hào)后,將SMII的工作時(shí)鐘頻率作為寫時(shí)鐘提供給異步先進(jìn)先出隊(duì)列143,寫時(shí)鐘作為向異步先進(jìn)先出隊(duì)列143寫入數(shù)據(jù)的時(shí)鐘頻率;并向異步先進(jìn)先出隊(duì)列143輸出寫使能信號(hào),并且控制2位4選1開關(guān)141選通輸入移位寄存器140。
如果異步先進(jìn)先出寫入控制器142接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是100M,將輸入移位寄存器140中數(shù)據(jù)按從高位到低位劃分為4個(gè)2位并行數(shù)據(jù)在寫時(shí)鐘的作用下寫入異步先進(jìn)先出隊(duì)列143。
如果異步先進(jìn)先出寫入控制器142接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是10M,將輸入移位寄存器140中數(shù)據(jù)按從高位到低位劃分為4個(gè)2位并行數(shù)據(jù)每10個(gè)SMII_SYNC向異步先進(jìn)先出隊(duì)列143寫入一次數(shù)據(jù)。
異步先進(jìn)先出隊(duì)列143接收到寫使能信號(hào)后允許異步先進(jìn)先出寫入控制器142向其寫入數(shù)據(jù)。當(dāng)異步先進(jìn)先出隊(duì)列143中的數(shù)據(jù)量達(dá)到第二預(yù)定閾值時(shí),輸出達(dá)到第二預(yù)定閾值狀態(tài)信號(hào)。
在本實(shí)施方案中第二預(yù)定閾值選用1/2,即數(shù)據(jù)量達(dá)到異步先進(jìn)先出隊(duì)列143的半滿狀態(tài)。
當(dāng)異步先進(jìn)先出隊(duì)列143中的數(shù)據(jù)量達(dá)到半滿狀態(tài)時(shí),異步先進(jìn)先出隊(duì)列143輸出達(dá)到FIFO半滿狀態(tài)標(biāo)志。
異步先進(jìn)先出讀出控制器144將RMII的工作時(shí)鐘頻率作為讀時(shí)鐘提供給異步先進(jìn)先出隊(duì)列143,讀時(shí)鐘作為從異步先進(jìn)先出隊(duì)列143中讀出數(shù)據(jù)的時(shí)鐘。當(dāng)異步先進(jìn)先出讀出控制器144接收到異步先進(jìn)先出隊(duì)列143輸出FIFO半滿狀態(tài)標(biāo)志后向異步先進(jìn)先出隊(duì)列143輸出讀使能信號(hào)。
如果異步先進(jìn)先出讀出控制器144接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是100M,異步先進(jìn)先出讀出控制器144在讀時(shí)鐘信號(hào)的作用下將異步先進(jìn)先出隊(duì)列143中的數(shù)據(jù)讀出,傳輸?shù)絉MII_TXD[1:0]。
如果異步先進(jìn)先出讀出控制器144接收到當(dāng)前鏈路狀態(tài)信息中數(shù)據(jù)傳輸速率是10M,異步先進(jìn)先出讀出控制器144每10個(gè)RMII_REFCLK周期將異步先進(jìn)先出隊(duì)列143中的數(shù)據(jù)讀取一次,傳輸?shù)絉MII_TXD[1:0]。
同時(shí)異步先進(jìn)先出讀出控制器144將RMII_TXEN置為有效,即RMII_TXEN=1,表示RMII接口輸出的數(shù)據(jù)有效。以上過程一直持續(xù)到異步先進(jìn)先出隊(duì)列143為空,即一幀數(shù)據(jù)結(jié)束為止。
在本實(shí)施方案中如果RMII移位寄存器140中數(shù)據(jù)采用其他格式而不按從高位到低位劃分為4個(gè)2位并行數(shù)據(jù)分4次寫入異步先進(jìn)先出隊(duì)列143中,則相應(yīng)的邏輯器件需要做相應(yīng)的調(diào)整。
雖然通過實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化。
權(quán)利要求
1.一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于包括a、將物理層芯片的待傳輸?shù)牟⑿袛?shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),并將其傳輸?shù)交诖薪涌诘慕橘|(zhì)訪問控制芯片;b、將基于串行接口的介質(zhì)訪問控制芯片的待傳輸?shù)拇袛?shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),并將其傳輸?shù)剿鑫锢韺有酒?br> 2.如權(quán)利要求1所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的基于串行接口的介質(zhì)訪問控制芯片包括基于SMII(串行介質(zhì)無關(guān)接口)的介質(zhì)訪問控制芯片。
3.如權(quán)利要求1或2所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的物理層芯片包括基于MII(介質(zhì)無關(guān)接口)的物理層芯片或基于RMII(簡化的介質(zhì)無關(guān)接口)的物理層芯片。
4.如權(quán)利要求3所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的步驟a還包括a1、將管理接口的待傳輸?shù)漠?dāng)前鏈路狀態(tài)信息轉(zhuǎn)換成串行數(shù)據(jù),并將其傳輸?shù)剿龌诖薪涌诘慕橘|(zhì)訪問控制芯片。
5.如權(quán)利要求4所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的當(dāng)前鏈路狀態(tài)信息為根據(jù)所述基于SMII的介質(zhì)訪問控制芯片和所述物理芯片之間的管理接口總線上的數(shù)據(jù)幀獲取當(dāng)前鏈路狀態(tài)信息。
6.如權(quán)利要求5所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的獲取當(dāng)前鏈路狀態(tài)信息包括根據(jù)所述管理接口總線上的數(shù)據(jù)幀的相應(yīng)字段與預(yù)定值是否相等,確定有效的數(shù)據(jù)幀并從中獲取當(dāng)前鏈路狀態(tài)信息。
7.如權(quán)利要求6所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的當(dāng)前鏈路狀態(tài)信息包括當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾?、雙工、鏈路、超長幀狀態(tài)信息。
8.如權(quán)利要求1或4所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的步驟a包括a2、將所述物理層芯片的待傳輸?shù)牟⑿袛?shù)據(jù)進(jìn)行并行位數(shù)轉(zhuǎn)換,并將轉(zhuǎn)換后的并行數(shù)據(jù)在所述物理層芯片提供的時(shí)鐘作用下輸入到第一異步先進(jìn)先出隊(duì)列;a3、所述第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)在所述SMII的外部時(shí)鐘控制下,串行傳輸?shù)剿龌赟MII的介質(zhì)訪問控制芯片直至所述第一異步先進(jìn)先出隊(duì)列為空。
9.如權(quán)利要求8所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的步驟a3包括當(dāng)所述第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到第一預(yù)定閾值時(shí),將所述第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)在SMII的外部時(shí)鐘作用下串行傳輸?shù)剿龌赟MII的介質(zhì)訪問控制芯片,直到所述第一異步先進(jìn)先出隊(duì)列為空。
10.如權(quán)利要求1或4所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的步驟b包括b1、將所述基于SMII的介質(zhì)訪問控制層芯片的待傳輸?shù)拇袛?shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),并將其在所述SMII的外部時(shí)鐘的作用下輸入到第二異步先進(jìn)先出隊(duì)列;b2、將所述第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)在所述物理層芯片提供的時(shí)鐘的作用下并行傳輸?shù)剿鑫锢韺有酒?,直到所述第二異步先進(jìn)先出隊(duì)列為空。
11.如權(quán)利要求10所述的一種基于串行接口的數(shù)據(jù)傳輸方法,其特征在于所述的步驟b2包括當(dāng)所述第二異步先進(jìn)先出隊(duì)列中數(shù)據(jù)量達(dá)到第二預(yù)定閾值時(shí),將所述第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù),在所述物理層芯片提供的時(shí)鐘的作用下并行傳輸?shù)剿鑫锢韺有酒?,直到所述第二異步先進(jìn)先出隊(duì)列為空。
12.一種基于串行接口的數(shù)據(jù)傳輸?shù)难b置,其特征在于包括并串轉(zhuǎn)換模塊接收物理層芯片傳輸來的并行數(shù)據(jù),并將其轉(zhuǎn)換成串行數(shù)據(jù)傳輸?shù)剿龌诖薪涌诘慕橘|(zhì)訪問控制芯片;串并轉(zhuǎn)換模塊接收基于串行接口的介質(zhì)訪問控制芯片傳輸來的串行數(shù)據(jù),并將其轉(zhuǎn)換成并行數(shù)據(jù)傳輸?shù)剿鑫锢韺有酒?br> 13.如權(quán)利要求12所述的一種基于串行接口的數(shù)據(jù)傳輸?shù)难b置,其特征在于還包括管理接口狀態(tài)檢測(cè)模塊從基于串行接口的介質(zhì)訪問控制芯片和所述物理層芯片之間的管理接口總線上的數(shù)據(jù)幀中獲取當(dāng)前鏈路狀態(tài)信息,并提供給并串轉(zhuǎn)換模塊和串并轉(zhuǎn)換模塊。
14.如權(quán)利要求13所述的一種基于串行接口的數(shù)據(jù)傳輸?shù)难b置,其特征在于所述的管理接口狀態(tài)檢測(cè)模塊包括移位寄存器用于獲取所述管理接口總線上的數(shù)據(jù)幀,并提供給比較器和狀態(tài)寄存器;比較器用于比較所述數(shù)據(jù)幀承載的信息和預(yù)定值是否相等,確定所述數(shù)據(jù)幀是否為有效的數(shù)據(jù)幀,當(dāng)所述數(shù)據(jù)幀為有效的數(shù)據(jù)幀時(shí)向狀態(tài)寄存器輸出更新控制信號(hào);狀態(tài)寄存器當(dāng)接收到所述更新控制信號(hào)時(shí),將所述狀態(tài)寄存器中的數(shù)據(jù)更新為移位寄存器中當(dāng)前數(shù)據(jù)幀承載的當(dāng)前鏈路狀態(tài)信息;并將其提供給并串轉(zhuǎn)換模塊和串并轉(zhuǎn)換模塊。
15.如權(quán)利要求12或13所述的一種基于串行接口的數(shù)據(jù)傳輸?shù)难b置,其特征在于所述的并串轉(zhuǎn)換模塊,包括狀態(tài)檢測(cè)處理子模塊用于對(duì)所述物理層芯片傳輸來的數(shù)據(jù)進(jìn)行載波檢測(cè)、數(shù)據(jù)狀態(tài)檢測(cè),將檢測(cè)結(jié)果和管理接口狀態(tài)檢測(cè)模塊傳輸來的當(dāng)前鏈路狀態(tài)信息傳輸?shù)讲⑥D(zhuǎn)串子模塊;第一先進(jìn)先出寫入控制器當(dāng)所述物理層芯片傳輸來的并行數(shù)據(jù)為有效時(shí),將所述物理層芯片的時(shí)鐘頻率作為寫時(shí)鐘提供給所述第一異步先進(jìn)先出隊(duì)列,并將寫使能信號(hào)輸出到所述第一異步先進(jìn)先出隊(duì)列,將所述并行數(shù)據(jù)寫入第一異步先進(jìn)先出隊(duì)列;第一異步先進(jìn)先出隊(duì)列當(dāng)接收到所述寫使能信號(hào)時(shí),允許在所述寫時(shí)鐘作用下第一異步先進(jìn)先出寫入控制器寫入從所述物理層傳來的并行數(shù)據(jù);當(dāng)接收到讀使能信號(hào)時(shí),允許第一異步先進(jìn)先出讀出控制器在讀時(shí)鐘作用下按照當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾氏虿⑥D(zhuǎn)串子模塊讀出其數(shù)據(jù);當(dāng)其中的數(shù)據(jù)量達(dá)到第一預(yù)定閾值時(shí),向第一異步先進(jìn)先出讀出控制器輸出達(dá)到第一預(yù)定閾值信號(hào);當(dāng)其中的數(shù)據(jù)為空時(shí),向第一異步先進(jìn)先出讀出控制器輸出第一異步先進(jìn)先出隊(duì)列為空信號(hào);第一異步先進(jìn)先出讀出控制器將串行接口的時(shí)鐘頻率作為讀時(shí)鐘提供給所述第一異步先進(jìn)先出隊(duì)列;當(dāng)接收到所述達(dá)到第一預(yù)定閾值信號(hào)時(shí),向所述第一異步先進(jìn)先出隊(duì)列輸出讀使能信號(hào);將第一異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)在讀時(shí)鐘的作用下按照當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾首x出到并轉(zhuǎn)串子模塊;同時(shí)將接收的數(shù)據(jù)有效狀態(tài)輸出到并轉(zhuǎn)串子模塊并控制第一開關(guān)選通所述第一異步先進(jìn)先出隊(duì)列;在接收到所述第一異步先進(jìn)先出隊(duì)列為空信號(hào)時(shí),控制第一開關(guān)選通鏈路狀態(tài)信息,并將接收數(shù)據(jù)無效狀態(tài)輸出到并轉(zhuǎn)串子模塊;第一開關(guān)當(dāng)選通所述第一異步先進(jìn)先出隊(duì)列時(shí),允許所述第一異步先進(jìn)先出讀出控制器從第一異步先進(jìn)先出隊(duì)列中讀出的并行數(shù)據(jù)輸出到并轉(zhuǎn)串子模塊;當(dāng)選通所述鏈路狀態(tài)信息時(shí),允許所述鏈路狀態(tài)信息輸出到所述并轉(zhuǎn)串子模塊;并轉(zhuǎn)串子模塊用于將其存儲(chǔ)的并行數(shù)據(jù)在串行接口的外部時(shí)鐘作用下串行輸出到基于串行接口的介質(zhì)訪問控制芯片。
16.如權(quán)利要求15所述的一種基于實(shí)現(xiàn)基于串行接口的數(shù)據(jù)傳輸?shù)难b置,其特征在于所述的并串轉(zhuǎn)換模塊還包括并行位數(shù)轉(zhuǎn)換子模塊用于根據(jù)當(dāng)前鏈路上數(shù)據(jù)傳輸?shù)乃俾蕦⑺鑫锢韺有酒瑐鬏攣淼牟⑿袛?shù)據(jù)經(jīng)過并行位數(shù)轉(zhuǎn)換后輸入所述第一異步先進(jìn)先出隊(duì)列。
17.如權(quán)利要求12或13所述的一種基于實(shí)現(xiàn)基于串行接口的數(shù)據(jù)傳輸?shù)难b置,其特征在于所述的串并轉(zhuǎn)換模塊包括串轉(zhuǎn)并子模塊用于將所述基于串行接口的介質(zhì)訪問控制芯片傳輸來的串行數(shù)據(jù)轉(zhuǎn)換成預(yù)定位數(shù)的并行數(shù)據(jù),并輸出到所述第二異步先進(jìn)先出隊(duì)列,并將所述發(fā)送的串行數(shù)據(jù)是否有效信號(hào)輸出到第二異步先進(jìn)先出寫入控制器;第二異步先進(jìn)先出寫入控制器當(dāng)所述的串行數(shù)據(jù)為有效數(shù)據(jù)時(shí),將串行接口的時(shí)鐘頻率作為寫時(shí)鐘提供給第二異步先進(jìn)先出隊(duì)列;向第二異步先進(jìn)先出隊(duì)列輸出寫使能信號(hào);控制第二開關(guān)選通所述串轉(zhuǎn)并子模塊;將所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)與所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)是否為錯(cuò)誤信號(hào)一起或單獨(dú)將所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)根據(jù)當(dāng)前鏈路上數(shù)據(jù)傳輸速率在寫時(shí)鐘的作用下寫入到所述第二異步先進(jìn)先出隊(duì)列;第二開關(guān)當(dāng)選通串轉(zhuǎn)并子模塊時(shí),允許所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)輸出到第二異步先進(jìn)先出隊(duì)列;第二異步先進(jìn)先出隊(duì)列當(dāng)接收到所述寫使能信號(hào)時(shí),允許第二異步先進(jìn)先出寫入控制器將所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)與所述發(fā)送的數(shù)據(jù)是否為錯(cuò)誤狀態(tài)信號(hào)一起或單獨(dú)將所述串轉(zhuǎn)并子模塊輸出的并行數(shù)據(jù)根據(jù)當(dāng)前鏈路上數(shù)據(jù)傳輸速率在寫時(shí)鐘的作用下寫入到所述第二異步先進(jìn)先出隊(duì)列;在所述第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)量達(dá)到第二預(yù)定閾值時(shí),向第二異步先進(jìn)先出讀出控制器輸出達(dá)到第二預(yù)定閾值信號(hào);在所述第二異步先進(jìn)先出隊(duì)列為空時(shí),向第二異步先進(jìn)先出讀出控制器輸出為空信號(hào);當(dāng)接收到讀使能信號(hào)時(shí),允許第二異步先進(jìn)先出讀出控制器將其中的數(shù)據(jù)讀出并傳輸?shù)剿鑫锢韺有酒坏诙惒较冗M(jìn)先出讀出控制器用于將所述物理層芯片的時(shí)鐘頻率作為讀時(shí)鐘提供給第二異步先進(jìn)先出隊(duì)列;當(dāng)接收到所述達(dá)到第二預(yù)定閾值信號(hào)時(shí),向所述第二異步先進(jìn)先出隊(duì)列輸出讀使能信號(hào);將所述第二異步先進(jìn)先出隊(duì)列中的數(shù)據(jù)根據(jù)當(dāng)前鏈路上數(shù)據(jù)傳輸速率在寫時(shí)鐘的作用下讀出并傳輸?shù)剿鑫锢韺有酒?;同時(shí)將數(shù)據(jù)為有效狀態(tài)輸出到所述物理層芯片;當(dāng)接收到所述為空狀態(tài)信號(hào)時(shí)將數(shù)據(jù)為無效狀態(tài)輸出到所述物理層芯片。
全文摘要
本發(fā)明提供一種基于串行接口的數(shù)據(jù)傳輸方法,包括將物理層芯片的待傳輸?shù)牟⑿袛?shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),并將其傳輸?shù)交诖薪涌诘慕橘|(zhì)訪問控制芯片;將基于串行接口的介質(zhì)訪問控制芯片的待傳輸?shù)拇袛?shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),并將其傳輸?shù)剿鑫锢韺有酒?。本發(fā)明還提供一種基于串行接口的數(shù)據(jù)傳輸?shù)难b置,包括并串轉(zhuǎn)換模塊、串并轉(zhuǎn)換模塊。通過本發(fā)明,實(shí)現(xiàn)了基于串行接口的介質(zhì)訪問控制芯片與物理層芯片之間進(jìn)行數(shù)據(jù)傳輸時(shí),數(shù)據(jù)傳輸距離拉遠(yuǎn)的目的,使基于SMII進(jìn)行數(shù)據(jù)傳輸?shù)漠a(chǎn)品不會(huì)因數(shù)據(jù)傳輸?shù)木嚯x受限制而制約產(chǎn)品的結(jié)構(gòu),優(yōu)化了產(chǎn)品的結(jié)構(gòu)布局。
文檔編號(hào)G06F13/38GK1549141SQ0313800
公開日2004年11月24日 申請(qǐng)日期2003年5月21日 優(yōu)先權(quán)日2003年5月21日
發(fā)明者顧冰, 陳振暉, 顧 冰 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
柳州市| 吴堡县| 分宜县| 建湖县| 延寿县| 香港| 土默特左旗| 太保市| 万宁市| 香格里拉县| 三门县| 武汉市| 肥西县| 平顺县| 九龙城区| 香格里拉县| 佛坪县| 兴和县| 达日县| 富锦市| 华坪县| 宁河县| 咸宁市| 香格里拉县| 周宁县| 沅江市| 宁明县| 松阳县| 海原县| 丽水市| 行唐县| 驻马店市| 嘉定区| 宜兴市| 儋州市| 自贡市| 华蓥市| 化州市| 洛扎县| 楚雄市| 洪江市|