專利名稱:數(shù)據(jù)包在不同總線間轉(zhuǎn)發(fā)的裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊技術(shù),特別是指數(shù)據(jù)包在不同總線間轉(zhuǎn)發(fā)的方法。
一般由CPU組成的第三層處理模塊具有PCI總線結(jié)構(gòu),比如Motorola公司的CPU芯片MPC8240,從目前的情況來看EHI總線和PCI總線是不能直接相連的,還沒有一種裝置直接把這兩種總線連接起來,使得數(shù)據(jù)包在它們之間轉(zhuǎn)發(fā)。
本發(fā)明的目的的實現(xiàn)是通過對兩個總線相互接口的設計,提供總線間的互連橋轉(zhuǎn)發(fā)裝置來實現(xiàn)兩個不同總線之間實現(xiàn)數(shù)據(jù)包的雙向轉(zhuǎn)發(fā)?;ミB橋轉(zhuǎn)發(fā)裝置包括四個模塊連接PCI總線的PCI接口模塊、總線控制模塊、收發(fā)雙口RAM模塊、連接EHI總線的EHI接口模塊,其中各模塊均由VHDL語言實現(xiàn),整個裝置由可編程邏輯器件實現(xiàn)。與外部相連的是PCI總線信號和EHI總線信號。該互連橋轉(zhuǎn)發(fā)裝置可把一個使用EHI總線的第二層交換模塊連接到使用PCI總線的第三層處理模塊上,所發(fā)明的硬件邏輯使得在兩個總線之間實現(xiàn)數(shù)據(jù)包的雙向轉(zhuǎn)發(fā)。
EHI總線接口模塊主要包括四部分EHI收發(fā)狀態(tài)機部分主要接收EHI總線的控制信號,同時根據(jù)總線控制模塊的控制信號在適當?shù)臅r鐘周期給出EHI總線控制信號;EHI數(shù)據(jù)通道部分主要根據(jù)EHI收發(fā)狀態(tài)機給出的信息合并PCI總線接口模塊過來的數(shù)據(jù)地址信息和雙口RAM過來的數(shù)據(jù)信息并在合適的時鐘周期送出地址以及數(shù)據(jù)信息;接收數(shù)據(jù)控制部分主要完成接收數(shù)據(jù)信息(送往接收雙口RAM)和接收數(shù)據(jù)地址信息(來自PCI總線接口模塊)的協(xié)調(diào)工作;雙口RAM地址指針部分主要根據(jù)EHI收發(fā)狀態(tài)機給出的信息產(chǎn)生收發(fā)雙口RAM模塊的讀寫地址。
PCI總線接口模塊主要包括五部分配置寄存器部分主要完成PCI空間的映射功能;總線收發(fā)狀態(tài)機部分主要根據(jù)PCI總線來的控制信號產(chǎn)生收發(fā)雙口RAM模塊的讀寫地址、并在適當?shù)臅r鐘周期給出地址信息(送往EHI總線接口模塊)和數(shù)據(jù)信息(送往收發(fā)雙口RAM模塊);PCI地址數(shù)據(jù)緩存器部分主要緩存并分離PCI總線來的地址以及數(shù)據(jù)信息;PCI控制部分主要根據(jù)總線收發(fā)狀態(tài)機給出的信息接收并給出PCI總線控制信號;奇偶校驗部分主要對PCI總線進行奇偶校驗檢查并給出相應信息。
本發(fā)明提供了一種數(shù)據(jù)包在不同總線間轉(zhuǎn)發(fā)的方法。該方法可同時支持三個數(shù)據(jù)包的64個字節(jié)包頭信息的直接轉(zhuǎn)發(fā),具體要轉(zhuǎn)發(fā)哪個包頭信息則由EHI的中斷寄存器中RX的狀態(tài)來決定。在實際操作中,首先要讀EHI的中斷寄存器,確定三個數(shù)據(jù)包中哪個包已經(jīng)接受完成,然后再讀相應的數(shù)據(jù)包信息字確定所要讀取的數(shù)據(jù)包頭的地址,即PacketHeader RAM的地址,再根據(jù)相應地址讀出包頭數(shù)據(jù)送第三層處理模塊(CPU)進行路由查找、流量分級、地址解析等操作;第三層處理模塊完成對包頭數(shù)據(jù)的操作后將其發(fā)送回第二層交換模塊的Packet HeaderRAM,同時修改相應的數(shù)據(jù)包信息字,指出第三層處理模塊對包頭數(shù)據(jù)所作的操作,然后通過寫列隊命令寄存器將處理后的數(shù)據(jù)包頭信息送回第二層交換模塊的內(nèi)部系統(tǒng)。字由四字節(jié)(32位)數(shù)據(jù)組成。雙口RAM在寫操作過程中可以從PCI接口接收數(shù)據(jù)并向EHI接口方向傳送數(shù)據(jù),在讀操作過程中從EHI接口接收數(shù)據(jù)并將數(shù)據(jù)傳送給PCI接口,由PCI總線接口邏輯檢測目標就緒信號,而EHI總線接口邏輯隨時監(jiān)控PCI總線狀態(tài)使其能夠及時響應PCI總線操作,這些通過兩個總線接口邏輯之間的總線控制模塊來實現(xiàn)。
PCI接口在啟動讀寫操作的過程中將目標地址傳送到互連橋,由PCI總線接口模塊進行地址轉(zhuǎn)換后直接送往EHI總線接口模塊,EHI總線接口模塊完成數(shù)據(jù)與地址信號的合并與分離操作。在PCI總線接口模塊中集成配置寄存器,通過對配置空間的操作把EHI接口映射到PCI地址空間,可以根據(jù)需要設置EHI接口空間大小、時鐘頻率等。其中,由PCI接口啟動的讀寫操作過程最多可完成64字節(jié)數(shù)據(jù)的傳輸,同時也支持任意小于64字節(jié)數(shù)據(jù)的傳輸。
PCI總線是數(shù)據(jù)地址復用總線,該互連橋轉(zhuǎn)發(fā)裝置主要涉及的是32位PCI總線,其基本讀寫時序如圖6、圖7所示,所有操作均符合PCI總線規(guī)范。圖6表示突發(fā)寫數(shù)據(jù)時的PCI總線信號的時序圖,圖7表示突發(fā)讀數(shù)據(jù)時的PCI總線信號的時序圖,時鐘信號CLK提供對PCI通訊進行同步,幀信號(FRAME#)有效預示總線傳輸開始,啟動方準備信號(IRDY#)指明何時主設備準備開始數(shù)據(jù)的傳送,目標準備信號(TRDY#)指明何時目標準備開始數(shù)據(jù)的傳送,地址/數(shù)據(jù)信號(AD[31:0])用于地址信號和數(shù)據(jù)信號的傳送,命令/字節(jié)使能信號(C/BE#)提供PCI總線指令和字節(jié)使能信號,設備選擇信號(DEVSEL#)表明目標有效譯碼其地址。
EHI總線也是一種32位地址數(shù)據(jù)復用總線,它的基本讀寫時序如圖4、圖5所示。圖4表示外部裝置突發(fā)寫數(shù)據(jù)時的各種EHI總線信號的時序圖,圖5表示外部裝置突發(fā)讀數(shù)據(jù)時的各種EHI總線信號的時序圖。地址鎖存信號(Ads)指示讀寫操作中有效的地址周期,該信號有效時地址/數(shù)據(jù)信總線(AD[31:0])上為有效的地址信號;準備就緒信號(Rdy)在讀操作時表明EHI接口驅(qū)動有效數(shù)據(jù)至地址/數(shù)據(jù)總線,在寫操作時表明EHI接口準備從地址/數(shù)據(jù)總線采樣數(shù)據(jù)信號,真正的采樣在Rdy信號和有效信號(Valid)同時有效時完成;突發(fā)信號(Blast)指示讀寫操作的最后一個有效數(shù)據(jù)周期;讀寫信號(RW)高電平表示當前操作為寫操作,低電平表示當前操作為讀操作。
通過對EHI接口各寄存器、RAM、先入先出空間FIFO的訪問,可以對第二層交換模塊所接收到的數(shù)據(jù)包進行路由查找、流量分級、地址解析等操作。通過EHI接口可以訪問第二層交換模塊所接收到的數(shù)據(jù)包中64個字節(jié)的包頭信息(Packet Header),也可通過DMA方式從第二層交換模塊接受或發(fā)送整個數(shù)據(jù)包,在EHI接口上可同時支持三個數(shù)據(jù)包的64個字節(jié)包頭信息的直接轉(zhuǎn)發(fā),具體要轉(zhuǎn)發(fā)哪個包頭信息則由EHI的中斷寄存器中RX的狀態(tài)來決定。在實際操作中,首先要讀EHI的中斷寄存器,確定三個數(shù)據(jù)包中哪個包已經(jīng)接受完成,然后再讀相應的數(shù)據(jù)包信息字確定所要讀取的數(shù)據(jù)包頭的地址,即Packet Header RAM的地址,再根據(jù)相應地址讀出包頭數(shù)據(jù)送第三層處理模塊(CPU)進行路由查找、流量分級、地址解析等操作;第三層處理模塊完成對包頭數(shù)據(jù)的操作后將其發(fā)送回第二層交換模塊的Packet Header RAM,同時修改相應的數(shù)據(jù)包信息字,指出第三層處理模塊對包頭數(shù)據(jù)所作的操作,然后通過寫列隊命令寄存器將處理后的數(shù)據(jù)包頭信息送回第二層交換模塊的內(nèi)部系統(tǒng)。若第三層處理模塊未對包頭數(shù)據(jù)進行任何處理或傳送過程中包頭數(shù)據(jù)出錯,可以通過設置數(shù)據(jù)包信息字相應位指示第二層交換模塊忽略該操作或丟棄該數(shù)據(jù)包。
對于該互連橋轉(zhuǎn)發(fā)裝置的硬件邏輯,我們是通過可編程邏輯器件來仿真和實現(xiàn)的。其具體的讀寫操作流程圖如圖8、圖9所示。
權(quán)利要求
1.一種數(shù)據(jù)包在不同總線間轉(zhuǎn)發(fā)的裝置,其特征在于,該轉(zhuǎn)發(fā)裝置可把一個使用EHI總線的第二層交換模塊連接到使用PCI總線的第三層處理模塊上,該轉(zhuǎn)發(fā)裝置包括連接PCI總線的PCI總線接口模塊、協(xié)調(diào)PCI總線與EHI總線兩種接口之間的收發(fā)操作的總線控制模塊、用于臨時存儲讀數(shù)據(jù)和寫數(shù)據(jù)的收發(fā)雙口RAM模塊、連接EHI總線的EHIBUS接口模塊。
2.按照權(quán)利要求1所述的轉(zhuǎn)發(fā)裝置,其特征在于,EHI接口模塊包括接收EHI總線的控制信號,同時根據(jù)總線控制模塊的控制信號,給出EHI總線控制信號的EHI收發(fā)狀態(tài)機;根據(jù)EHI收發(fā)狀態(tài)機給出的信息合并PCI總線接口模塊過來的數(shù)據(jù)地址信息和雙口RAM過來的數(shù)據(jù)信息并送出地址以及數(shù)據(jù)信息的EHI數(shù)據(jù)通道部分;完成接收數(shù)據(jù)信息和接收數(shù)據(jù)地址信息協(xié)調(diào)工作的接收數(shù)據(jù)控制部分;根據(jù)EHI收發(fā)狀態(tài)機給出的信息產(chǎn)生收發(fā)雙口RAM模塊的讀寫地址的雙口RAM地址指針部分。
3.按照權(quán)利要求1所述的轉(zhuǎn)發(fā)裝置,其特征在于,PCI接口模塊包括完成PCI空間的映射功能的配置寄存器;根據(jù)PCI總線來的控制信號產(chǎn)生收發(fā)雙口RAM模塊的讀寫地址并給出地址信息和數(shù)據(jù)信息的總線收發(fā)狀態(tài)機;緩存并分離PCI總線來的地址及數(shù)據(jù)信息的PCI地址數(shù)據(jù)緩存器;根據(jù)總線收發(fā)狀態(tài)機給出的信息接收并給出PCI總線控制信號的PCI控制部分;對PCI總線進行奇偶校驗檢查并給出相應信息的奇偶校驗部分。
4.一種數(shù)據(jù)包在不同總線間轉(zhuǎn)發(fā)的方法,其特征在于可同時支持三個數(shù)據(jù)包的64個字節(jié)包頭信息的直接轉(zhuǎn)發(fā),首先要讀EHI的中斷寄存器,確定三個數(shù)據(jù)包中哪個包已經(jīng)接受完成,然后再讀相應的數(shù)據(jù)包信息字確定所要讀取的數(shù)據(jù)包頭的地址,再根據(jù)相應地址讀出包頭數(shù)據(jù)送第三層處理模塊(CPU)進行路由查找、流量分級、地址解析等操作;第三層處理模塊完成對包頭數(shù)據(jù)的操作后將其發(fā)送回第二層交換模塊的PacketHeader RAM,同時修改相應的數(shù)據(jù)包信息字,指出第三層處理模塊對包頭數(shù)據(jù)所作的操作,然后通過寫列隊命令寄存器將處理后的數(shù)據(jù)包頭信息送回第二層交換模塊的內(nèi)部系統(tǒng)。
5.按權(quán)利要求4所述的數(shù)據(jù)包在不同總線間轉(zhuǎn)發(fā)的方法,其特征在于第三層處理模塊未對包頭數(shù)據(jù)進行任何處理或傳送過程中包頭數(shù)據(jù)出錯,可以通過設置數(shù)據(jù)包信息字相應位指示第二層交換模塊忽略該操作或丟棄該數(shù)據(jù)包。
全文摘要
本發(fā)明涉及數(shù)據(jù)包在不同總線間轉(zhuǎn)發(fā)的裝置及方法。轉(zhuǎn)發(fā)裝置包括PCI總線接口模塊、總線控制模塊、收發(fā)雙口RAM模塊、EHI總線接口模塊。方法包括首先讀EHI的中斷寄存器,確定三個數(shù)據(jù)包中哪個包已經(jīng)接受完成,然后再讀相應的數(shù)據(jù)包信息字確定所要讀取的數(shù)據(jù)包頭的地址,然后再根據(jù)相應地址讀出包頭數(shù)據(jù)送第三層處理模塊(CPU)進行路由查找、流量分級、地址解析等操作;在第三層處理模塊完成對包頭數(shù)據(jù)的操作后將其發(fā)送回第二層交換模塊的Packet Header RAM,同時修改相應的數(shù)據(jù)包信息字,指出第三層處理模塊對包頭數(shù)據(jù)所作的操作,然后通過寫列隊命令寄存器將處理后的數(shù)據(jù)包頭信息送回第二層交換模塊的內(nèi)部系統(tǒng)。
文檔編號H04L12/66GK1426203SQ0114264
公開日2003年6月25日 申請日期2001年12月11日 優(yōu)先權(quán)日2001年12月11日
發(fā)明者路暉, 邵國, 劉慶良 申請人:深圳市中興通訊股份有限公司上海第二研究所