網(wǎng)絡(luò)開關(guān)盒電路
網(wǎng)絡(luò)開關(guān)產(chǎn)品一般用大量FIFO從一個網(wǎng)絡(luò)終端到另一個終端開關(guān)轉(zhuǎn)換數(shù)據(jù)。在這類應(yīng)用中采用雙FIFO更能節(jié)省板空間。
圖1示出網(wǎng)絡(luò)開關(guān)盒電路設(shè)計,從圖中可見是采用FIFO開關(guān)轉(zhuǎn)換任意輸入和輸出總線之間的數(shù)據(jù)。數(shù)據(jù)流是單向的。雙FIFO不僅僅用于緩沖數(shù)據(jù),而且也用于控制中央數(shù)據(jù)存儲器的地址使用率。在圖1中,示出4個輸入通路和4個輸出通路,然而,其設(shè)計結(jié)構(gòu)很容易擴(kuò)展,以適應(yīng)所希望的很多總線。用IDT公司728×1 FIFO設(shè)計的網(wǎng)絡(luò)開關(guān)盒具有開關(guān)轉(zhuǎn)換9位寬總線的能力,而用728×5的網(wǎng)絡(luò)開關(guān)盒具有開關(guān)轉(zhuǎn)換18位總線的能力。
用一個FIFO存儲體緩沖輸入數(shù)據(jù),每一個輸入總線用一個FIFO(在圖1中,“源FIFO”用A、B、C、D表示)。另一個FIFO存儲體用于緩沖輸出數(shù)據(jù),每個輸出總線用一個FIFO(在圖中,“終端FIFO”用1、2、3、4表示)。
SRAM數(shù)據(jù)存儲單元用于保持通過源FIFO已接收到的和正等待傳輸?shù)浇K端FIFO的信息單元。例如,ATM信息單元一般由5字節(jié)報頭(包含地址信息)和48字節(jié)數(shù)據(jù)串構(gòu)成。網(wǎng)絡(luò)開關(guān)盒將不同地處理這些單元。為了更有效地處理單元信息,SRAM可以劃分為報頭區(qū)和數(shù)據(jù)區(qū)。
“FreeAddress”FIFO保持跟蹤SRAM存儲體中空閑地址單元。
最后一個FIFO單元稱之為“Available Cell”,保持對SRAM所存單元的跟蹤,等待引導(dǎo)到終端FIFO。每個“Available Cell”FIFO支持一個輸出數(shù)據(jù)總線和為這種特定總線保持SRAM連接單元的地址。在圖1中,4個“Available Cell”FIFO用1、2、3、4標(biāo)號。
微控制器監(jiān)控開關(guān)盒狀態(tài),分配地址和控制數(shù)據(jù)流向。
網(wǎng)絡(luò)開關(guān)功能為:在接收至少一個數(shù)據(jù)單元之后,源FIFO的可編程準(zhǔn)滿()標(biāo)志置位到低態(tài)。處理器周期性地檢查每個源FIFO的標(biāo)志。一旦一個單元寫到源FIFO,則相關(guān)標(biāo)志變低態(tài)指示數(shù)據(jù)有效。處理器從空閑地址FIFO獲得一個有效SRAM地址,然后從源FIFO讀單元并把它寫入所選空閑地址的SRAM中。一旦此過程完成,處理器便從SRAM存取單元的報頭并識別那一個終端FIFO所匯集的數(shù)據(jù)用于譯碼和更新報頭。然后,處理器把單元的SRAM地址寫入終端FIFO的相應(yīng)Available Cell FIFO。
只要有足夠的空間可用于寄存數(shù)據(jù)的一個單元,終端FIFO的可編程準(zhǔn)空()標(biāo)志置位到低態(tài)。處理器周期性地檢查每個終端FIFO的標(biāo)志。只要空間可用于一個終端FIFO,則有關(guān)標(biāo)志就變低態(tài)。處理器從終端FIFO的相應(yīng)Available Cell FIFO獲得一個地址并用它鎖定存儲在SRAM存儲器中的一個單元。最后,處理器把單元傳遞到適當(dāng)?shù)慕K端FIFO并把新空閑單元地址寫入Free Address FIFO。
評論