摘? 要: 分析了基于PCI的高速媒體網(wǎng)關(guān)系統(tǒng)總體設(shè)計思路,研究了該媒體網(wǎng)關(guān)各功能模塊,給出了該系統(tǒng)的硬件設(shè)計及驅(qū)動程序?qū)崿F(xiàn)方案。
關(guān)鍵詞: PCI? 媒體網(wǎng)關(guān)? 驅(qū)動程序
?
自三網(wǎng)合一的概念提出以來,其相關(guān)的理論和技術(shù)都得到了迅猛的發(fā)展。它的核心理念是:現(xiàn)有的計算機(jī)網(wǎng)、電信網(wǎng)和廣播電視網(wǎng)都將融合到統(tǒng)一的IP(Internet Protocol)網(wǎng)絡(luò)上。媒體網(wǎng)關(guān)是最近幾年才提出的基于網(wǎng)絡(luò)融合理論及技術(shù)的應(yīng)用。對媒體網(wǎng)關(guān)的研究具有較大的理論意義和很強(qiáng)的應(yīng)用前景。
本文研究并設(shè)計了基于PCI/cPCI(Peripheral Component Interconnection/Compact PCI)的高速媒體網(wǎng)關(guān)MGC(Multimedia Gateway Controller)系統(tǒng)。本媒體網(wǎng)關(guān)能在E1/T1(2.048 Mbps)時分多工TDM(Time Division Multiplex)多時槽(time slot)數(shù)據(jù)與100Mbps以太網(wǎng)的IP包之間進(jìn)行高速數(shù)據(jù)交換" title="數(shù)據(jù)交換">數(shù)據(jù)交換。
在系統(tǒng)設(shè)計" title="系統(tǒng)設(shè)計">系統(tǒng)設(shè)計上,采用了軟硬件并發(fā)設(shè)計(Codesign)的思想。在設(shè)計硬件系統(tǒng)" title="硬件系統(tǒng)">硬件系統(tǒng)的同時,著手研究并設(shè)計相應(yīng)的軟件系統(tǒng)。這樣,在硬件系統(tǒng)設(shè)計完成后,軟件系統(tǒng)也就基本就緒了。這樣做的好處是:加快了系統(tǒng)總體設(shè)計進(jìn)度,減少了軟硬件的相互依賴。
1 硬件系統(tǒng)設(shè)計
在硬件系統(tǒng)總體設(shè)計上,采用了自頂向下(Top-down)設(shè)計技術(shù)。即先設(shè)計系統(tǒng)總體方案;然后將系統(tǒng)劃分成一個個功能模塊,再詳細(xì)設(shè)計各個子系統(tǒng);最后將各功能模塊有機(jī)地連接起來做系統(tǒng)優(yōu)化。
本媒體網(wǎng)關(guān)系統(tǒng)由九部分組成。MPC860T處理器處于核心位置,其他幾部分圍繞CPU展開。應(yīng)該指出的是,PCI/cPCI子系統(tǒng)的PCI總線控制器PCI9054也能控制局部總線(local bus)。當(dāng)PCI9054從CPU取得局部總線控制權(quán)后,處于核心地位,PCI總線主控設(shè)備通過PCI9054訪問本地資源。系統(tǒng)總體框圖如圖1所示。
?
1.1 MPC860T處理器
MPC860T處理器是媒體網(wǎng)關(guān)的核心部件。它是1999年由Motorola公司推出的基于PowerPC QICCTM(Quad Integrated Communications Controller)構(gòu)架的高性能通信處理器,其內(nèi)核為PowerPC RISC處理器。由于其超強(qiáng)的通信處理能力(66MHz的MPC860T吞吐量為87MIPS)及多協(xié)議處理能力(支持IEEE802.3、ATM、ATM over T1/E1、TDM、SS7、xDLC等),MPC860T系列CPU廣泛應(yīng)用在高端通信領(lǐng)域。
MPC860T是一個全靜態(tài)設(shè)計的RISC處理器,具有32位地址總線和32位數(shù)據(jù)總線(支持動態(tài)的8、16、32位數(shù)據(jù)總線讀寫)。其有以下特點(diǎn):
????·四個串行通信口SCC(Serial Communication Controller),二個串行管理通道SMC(Serial Management Controllers);
·一個基于媒體獨(dú)立接口MII(Media-Independent Interface)的快速以太網(wǎng)控制器FEC(Fast Ethernet Controller);
·雙向地址、數(shù)據(jù)和控制總線,支持總線仲裁。
上面只列出了與本媒體網(wǎng)關(guān)系統(tǒng)緊密相關(guān)的MPC860T資源,更多的信息請參看文獻(xiàn)[1~2]。
1.2 以太網(wǎng)接口設(shè)計
本系統(tǒng)設(shè)計了兩個以太網(wǎng)口:基于MII的10Mbps/100Mbps自適應(yīng)快速以太網(wǎng)接口和基于SCC的10Mbps以太網(wǎng)接口。FEC固定使用MPC860T的并行輸入輸出端口Port D,所以SCC不能使用這些引腳資源(同時也沒有并行端口PD)。因此,在MPC860T資源的利用上要合理安排和綜合考慮。以太網(wǎng)接口電路如圖2所示。
?
1.3 存儲器電路設(shè)計
MPC860T內(nèi)部存儲器管理單元MMU(Memory Management Unit)和通用途線GPL(General-Purpose Line)可以直接連到Flash、SRAM、DRAM和SDRAM上。本系統(tǒng)設(shè)計了8MB(一個Intel 28F640芯片;當(dāng)使用Intel 28F320和Intel 28F160時,Flash的容量分別為4MB和2MB;它們引腳兼容)的Flash和16MB的SDRAM(最多可擴(kuò)展至32MB)。
Flash用于存儲嵌入式操作系統(tǒng)EOS(Embedded Operating System)和一些重要的配置數(shù)據(jù)。由于MPC860T的/CS0信號是為選擇系統(tǒng)啟動地址用,故將它連到閃存上。
對于SDRAM,情況要復(fù)雜一些。本系統(tǒng)設(shè)計了2組SDRAM(每組為2片HY57V651620B),它們分別受/CS1和/CS2控制。SDRAM在地址信號上采用分次傳送行地址和列地址的方式,因此用2片HY57V651620B(12×8結(jié)構(gòu);內(nèi)有4個Bank)實現(xiàn)16MB內(nèi)存時,MPC860T先送出行地址A18~A29,再送出列地址A10~A17(這些信號不直接連到SDRAM上,在MPC860T內(nèi)部實現(xiàn))。由于SDRAM芯片內(nèi)部的四個內(nèi)存組需要另外兩個地址信號A8~A9,因此總的地址信號為A8~A29(MPC860T的最低地址位為A31;最低數(shù)據(jù)位為D31)。
1.4 時分多工(TDM)電路
本系統(tǒng)設(shè)計的時分多工數(shù)據(jù)交換由MT89L80和MT90823實現(xiàn)。這兩個芯片都是Zarlinks公司生產(chǎn)的TDM芯片,它們的作用完全一樣。使用兩個芯片是系統(tǒng)設(shè)計上的技巧。當(dāng)其中一個芯片不可獲得時,啟用另外一個芯片。因此在實際安裝時,只使用其中一個(它們的交換容量不一樣)。電路如圖3所示。
?
按照H110總線規(guī)范,從H110連接器到交換單元之間必須有隔離電路。這一點(diǎn)容易被忽略。另外,本地時鐘要求與網(wǎng)絡(luò)參考信號同步。
1.5 PCI/cPCI電路
這部分電路是媒體網(wǎng)關(guān)的關(guān)鍵電路。媒體網(wǎng)關(guān)通過PCI/cPCI接口(與PCI2.2規(guī)范兼容)電路與主機(jī)或其它PCI/cPCI功能模塊進(jìn)行快速的數(shù)據(jù)交換,電路如圖4所示。
?
PCI/cPCI電路在設(shè)計上比較復(fù)雜,調(diào)試起來也很費(fèi)力(需要驅(qū)動程序的支持)。下面對其設(shè)計要點(diǎn)作分析:
(1)設(shè)計的可重用性。由于PCI與cPCI在信號上是完全兼容的(但在物理尺寸及信號排列上各不相同),所以在原理圖設(shè)計時,這兩者“同時存在”。但在實際的PCB版圖設(shè)計,根據(jù)需要只選擇其中一個。
(2)熱插拔功能。該功能使媒體網(wǎng)關(guān)可以隨時拔下來更換或做測試。這對系統(tǒng)的調(diào)試非常方便。熱插拔需要預(yù)充電、電源檢測和電源軟切換等支持;
(3)防電磁波反射及預(yù)充電電阻網(wǎng)絡(luò)。由于PCI總線工作在高頻狀態(tài)下(33MHz),因此cPCI引腳到PCI橋之間必須串接100Ω左右的電阻。在PCI/cPCI的電源引腳端,至少要有一個交流回路(對地并聯(lián)一個去耦電容)。預(yù)充電電阻網(wǎng)絡(luò)為PCI橋芯片提供一個從靜態(tài)到正常工作的緩沖過程。
2 軟件系統(tǒng)設(shè)計精要
軟件系統(tǒng)包括:對嵌入式操作系統(tǒng)EOS(Embedded Operating System)的裁剪以適合嵌入式應(yīng)用、PCMCIA驅(qū)動程序的設(shè)計、PCI驅(qū)動程序及應(yīng)用程序" title="應(yīng)用程序">應(yīng)用程序的設(shè)計、TDM驅(qū)動程序及應(yīng)用程序的設(shè)計等。
驅(qū)動程序是應(yīng)用程序與軟件進(jìn)行數(shù)據(jù)交換的媒介,是操作系統(tǒng)(這里指主機(jī)OS而不是媒體網(wǎng)關(guān)的EOS)的信任部分,其好壞及性能將直接影響到OS的穩(wěn)定性及性能。圖5表明了應(yīng)用程序、驅(qū)動程序與OS之間的關(guān)系。
?
在設(shè)計驅(qū)動程序時,首先利用KernelDriver5.0的驅(qū)動程序設(shè)計" title="程序設(shè)計">程序設(shè)計向?qū)瓿沈?qū)動程序源代碼的設(shè)計(含安裝信息文件*.inf);然后調(diào)用C/C++語言工具(如微軟的Visual C++ 6.0)設(shè)計、修改和編譯上述源程序以生成系統(tǒng)文件(*.sys)。同時,安裝信息文件也必須編寫和修改以使其中的信息與實際的安裝程序一致。編譯后的驅(qū)動程序還必須經(jīng)安裝測試以證實其安全性、穩(wěn)定性和可靠性。
驅(qū)動程序設(shè)計完成后還必須設(shè)計相應(yīng)的應(yīng)用程序以調(diào)用該驅(qū)動程序。這一點(diǎn)相對比較簡單。
3 系統(tǒng)設(shè)計中的一些關(guān)鍵問題
在硬件上,主要有四個問題:SDRAM地址信號的連接;PCI上的
和
信號至少要有一個接地;必須安裝防電磁波反射電阻;PCI9054的E2PROM必須安裝并正確配置。第1、3問題在硬件系統(tǒng)設(shè)計部分已討論過;第2個問題決定系統(tǒng)板的電源功耗,如果兩個信號都是“1”,則表示PCI卡沒有正確插入到PCI槽中;第4個問題中,E2PROM至少要配置成PCI9054的默認(rèn)工作方式(可以通過WinDriver等工具做實時修改)。
在軟件設(shè)計上,主要有兩個問題:安裝信息文件必須修改及驅(qū)動程序的分發(fā)。當(dāng)分層式驅(qū)動程序安裝編譯并測試完成后需要在沒有WinDriver軟件環(huán)境下安裝和使用時,必須在目標(biāo)機(jī)器上注冊WinDriver插件以使安裝程序能正確運(yùn)行(如:WDREG INSTALL)。
本文在充分利用MPC860T資源的基礎(chǔ)上設(shè)計了一種基于PCI/cPCI的媒體網(wǎng)關(guān)系統(tǒng)。該系統(tǒng)運(yùn)行良好,總體性能優(yōu)越。經(jīng)適當(dāng)?shù)恼{(diào)整和修改,該設(shè)計也可以應(yīng)用于基于MPC860系列CPU的系統(tǒng)。
?
參考文獻(xiàn)
1 Motorola. MPC860 PowerQUICCTM User's Manual.1998
2 Motorola.MPC860T(Rev.D) Fast Ethernet Controller.1999
3 Jungo.Kernel Driver V5 Developer's Guide. 2002
4 D.M.Dhamdhere.System Programming and Operating System,2nd Edition. McBraw-Hill Inc. 2001
5 方承志.基于MPC8260處理器的PPMC系統(tǒng). 電子技術(shù)應(yīng)用,2002;28(9)
6 戴志濤.E1信道多業(yè)務(wù)接入/復(fù)用設(shè)備的設(shè)計與實現(xiàn).通信技術(shù),2002;(6)





