摘 要: 分析了Motorola MPC860嵌入式微處理器的性能和特征,描述了MPC860在ADM系統(tǒng)中的應(yīng)用,突出了MPC860嵌入式微處理器的通信處理能力。
關(guān)鍵詞: STM MPC860嵌入式微處理器 ADM系統(tǒng)
1 MPC860
MPC860 PowerQUICC是當(dāng)今比較流行、性能相當(dāng)優(yōu)越的單片集成嵌入式微處理器。它內(nèi)部集成了微處理器和一些控制領(lǐng)域的常用外圍組件,特別適用于互聯(lián)網(wǎng)絡(luò)和數(shù)據(jù)通信。PowerQUICC可以稱為MC68360在網(wǎng)絡(luò)和數(shù)據(jù)通信領(lǐng)域的新一代產(chǎn)品,各方面性能包括適應(yīng)性、擴(kuò)展能力和集成度等獲得了較大提高。MPC860 PowerQUICC通信處理器可根據(jù)用戶不同的要求提供2~4個(gè)串行通信控制器、不同規(guī)格的指令和數(shù)據(jù)緩存,各種級(jí)別的網(wǎng)絡(luò)協(xié)議支持。該產(chǎn)品專為寬帶接入設(shè)備如路由器、接入集線器、LAN/WAN交換機(jī)、PBX系統(tǒng)和STM網(wǎng)關(guān)等設(shè)計(jì)。
圖1是MPC860結(jié)構(gòu)圖。它包括三個(gè)主要模塊:PowerPC核心、系統(tǒng)接口單元(SIU)、通信處理模塊(CPM)。
PowerPC是主要的處理機(jī)單元,通常稱為 Embedded PowerPC核心(或EPPC)。它包括數(shù)據(jù)和指令的緩存和存儲(chǔ)器管理單元(MMU),在40MHz時(shí)鐘時(shí)為50 MIPS 指令速度。
第二個(gè)主要的模塊為系統(tǒng)接口單元(SIU)。主要包括:總線監(jiān)視器、假中斷監(jiān)視器、軟件看門(mén)狗、中斷定時(shí)器和實(shí)時(shí)時(shí)鐘(RTC)、復(fù)位控制器、不占用內(nèi)部開(kāi)銷(xiāo)的片內(nèi)總線仲裁、JTAG1149.1測(cè)試口。它的一個(gè)主要功能是提供內(nèi)部總線和外部總線的接口。
第三個(gè)主要模塊為通信處理機(jī)模塊(CPM)。主要包括:RISC控制器、所有串行通道口支持連續(xù)接收和發(fā)送模式、5K字節(jié)雙口RAM、16個(gè)串行DMA(SDMA)通道、三個(gè)平行I/O寄存器、四個(gè)波特率獨(dú)立的發(fā)生器(可以連接到任意一個(gè)SCC和SMC,并允許運(yùn)行中改變,支持自動(dòng)波特率)、四個(gè)串行通信控制器(SCC)(支持以太網(wǎng)、HDLC/SDLC、HDLC 總線)、兩個(gè)串行管理控制器(SMC)(UART方式或透明傳輸)、一個(gè)串行外圍接口電路(SPI)(MC68302 SCP的擴(kuò)展,支持主從模式,支持同一總線上多主操作)、一個(gè)I2C(Inter-Integrated Circuit)接口(支持主從模式,支持多主環(huán)境)。CPM在幾個(gè)不同的通信設(shè)備如SCC和SMC上發(fā)送、接收數(shù)據(jù),所有的通信設(shè)備可以獨(dú)立工作。SCC和SMC也可以用于時(shí)分復(fù)用總線。
在圖1中,CPM模塊中有一個(gè)32位RISC微處理機(jī)。MPC860有兩個(gè)CPU:PowerPC和32位RISC。PowerPC執(zhí)行高層代碼,RISC處理實(shí)際通信的低層通信功能。由于CPM分擔(dān)了嵌入式PowerPC核的外圍工作任務(wù),這種雙處理器體系結(jié)構(gòu)功耗要低于傳統(tǒng)體系結(jié)構(gòu)的處理器。兩個(gè)處理器主要是通過(guò)內(nèi)部存儲(chǔ)空間相互配合工作。在存儲(chǔ)器區(qū),每個(gè)處理器都可以設(shè)置控制位、讀狀態(tài)位。在圖1中,有16個(gè)串行DMA單元。每個(gè)通信設(shè)備都有一個(gè)發(fā)送DMA和接收DMA,32位RISC控制這16個(gè)串行DMA在通信設(shè)備和存儲(chǔ)器之間傳送數(shù)據(jù)。當(dāng)MPC860接收數(shù)據(jù)時(shí),串行DMA從通信設(shè)備接收數(shù)據(jù)并放入存儲(chǔ)器中;發(fā)送數(shù)據(jù)順序相反,串行DMA從存儲(chǔ)器中取數(shù)據(jù),送到通信設(shè)備,串行DMA只服務(wù)CPM的RISC,但是兩個(gè)虛擬IDMA可以為用戶DMA所用。
2 ADM系統(tǒng)
2.1 系統(tǒng)概述
ADM即分插復(fù)用器,它是一個(gè)三端口設(shè)備,具有兩個(gè)SDH光接口(線性接口),通過(guò)另一端可以靈活地上/下路復(fù)用在STM信號(hào)中的低速率信號(hào)。ADM內(nèi)部還具有時(shí)隙交換功能,允許兩個(gè)STM信號(hào)之間不同VC的互聯(lián),并能方便地進(jìn)行帶寬管理。在實(shí)際網(wǎng)絡(luò)中,根據(jù)ADM的結(jié)構(gòu)特點(diǎn),可靈活地用在網(wǎng)絡(luò)中不同的位置。在本系統(tǒng)中,主要任務(wù)是將155.52Mb/s的STM-1高速信號(hào)經(jīng)光/電轉(zhuǎn)換,從幀結(jié)構(gòu)恢復(fù)出低速的2.048Mb/s的E1信號(hào),其逆過(guò)程正好相反。從理論上來(lái)說(shuō),將STM-1信號(hào)可以上下63路E1信號(hào),為了系統(tǒng)的可維護(hù)性和美觀性,故采用4塊支路,每塊上下16路。
從圖2可以看出,分插復(fù)用器ADM是一種新型的網(wǎng)絡(luò)單元,是SDH中應(yīng)用最廣、最富特色的設(shè)備。它將同步復(fù)用和數(shù)字交叉連接功能綜合于一體,具有靈活的分插任意支路信號(hào)的能力,在網(wǎng)絡(luò)設(shè)計(jì)上有很大的靈活性;采用同步復(fù)用方式和靈活的復(fù)用映射結(jié)構(gòu),可使高速信號(hào)一次直接分插出低速支路信號(hào),即所謂的一步復(fù)用特性。ADM利用時(shí)隙交換實(shí)現(xiàn)寬帶管理,并且無(wú)需分接和終結(jié)整體信號(hào),即可將各種G.703規(guī)定的接口信號(hào)(PDH)或STM-1信號(hào)(SDH)接入STM-M(M>1)內(nèi)作任何支路。
群路:對(duì)接收信號(hào)進(jìn)行光/電轉(zhuǎn)換,再生恢復(fù)出接收數(shù)據(jù),同時(shí)將高速的信號(hào)轉(zhuǎn)變?yōu)椴⑿械男盘?hào),從中分離出接收段開(kāi)銷(xiāo)SOH,并對(duì)指針進(jìn)行解釋,提取VC-4POH,進(jìn)入虛容器VC-4處理,恢復(fù)下行的VC-4凈負(fù)荷,同時(shí)提供FPGA(交叉疊加模塊)接口;反過(guò)來(lái)將需要上行的VC-4凈負(fù)荷插入VC-4通道開(kāi)銷(xiāo)POH,經(jīng)過(guò)AU-4指針調(diào)整,并插入段開(kāi)銷(xiāo)SOH,經(jīng)電/光轉(zhuǎn)化上線路,成為STM-1信號(hào)。
支路:可用專用的芯片從數(shù)據(jù)總線具有VC-4的信號(hào)經(jīng)過(guò)均衡、碼型恢復(fù),解復(fù)用出所需的63路E1信號(hào);反過(guò)來(lái),將E1信號(hào)異步映射進(jìn)入TU-12中,并將格式定為VC-4。
交叉疊加矩陣模塊:特定用途集成電路(FPGA)提供了良好的解決方案,降低了產(chǎn)生電信號(hào)的復(fù)雜性;另外,也有利于降低不同特征的結(jié)合。所有通信都經(jīng)過(guò)此模塊,不管是低速向高速?gòu)?fù)用,還是高速向低速分插,甚至高速流的通過(guò)。此連接將有固定通道或者有程序設(shè)定,配置為分插復(fù)用設(shè)備、終端及轉(zhuǎn)發(fā)器。在該模塊中,信號(hào)進(jìn)行相應(yīng)的延遲,產(chǎn)生一定的片選和觸發(fā)信號(hào),特別對(duì)于復(fù)用的信號(hào),有直接的觸發(fā)作用。
時(shí)鐘板:在數(shù)字傳輸和素質(zhì)交換的數(shù)字網(wǎng)絡(luò)中,網(wǎng)同步特別重要。網(wǎng)同步的目標(biāo)就是使各節(jié)點(diǎn)時(shí)鐘頻率和相位都控制在預(yù)先確定的容差范圍內(nèi),以便使網(wǎng)內(nèi)的數(shù)字流實(shí)現(xiàn)正確有效的傳輸和交換,避免數(shù)據(jù)因時(shí)鐘不同步而產(chǎn)生滑動(dòng)損傷。時(shí)鐘板的功能就是實(shí)現(xiàn)網(wǎng)同步,為SDH單元提供系統(tǒng)時(shí)鐘信號(hào)。
公務(wù)板:利用STM再生段中的E1字節(jié)來(lái)實(shí)現(xiàn)SDH網(wǎng)中各站之間的語(yǔ)音聯(lián)絡(luò)。本系統(tǒng)公務(wù)板的特點(diǎn)為:
(1)PCM語(yǔ)音編碼,64Kbit/s編碼速率,音質(zhì)較好;
(2)能實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)、點(diǎn)對(duì)組、點(diǎn)對(duì)全線的呼叫;
(3)多方會(huì)議通話方式;
(4)聯(lián)絡(luò)信令插在PCM通話數(shù)據(jù)流中,對(duì)通話質(zhì)量無(wú)影響。
2.2 系統(tǒng)控制器——網(wǎng)元控制板
對(duì)于每一個(gè)單模塊的控制管理,采用最普遍的80C31單片機(jī),管理通信及監(jiān)測(cè)系統(tǒng)性能,對(duì)不同的告警及時(shí)上報(bào)或屏蔽。主控制器采用實(shí)時(shí)處理很強(qiáng)和通信能力高的Motorola32位單片集成微處理器MPC860,采用串口RS232與各模塊中的單片機(jī)進(jìn)行多機(jī)(8031)通信,及時(shí)處理告警及環(huán)路能力,此外還提供了高級(jí)網(wǎng)管的Qx接口。網(wǎng)管系統(tǒng)可通過(guò)一個(gè)Qx接口或內(nèi)嵌的通信通道(ECC)對(duì)所有網(wǎng)絡(luò)內(nèi)的同步復(fù)接器進(jìn)行中央控制,如圖3所示。時(shí)鐘分配為:提供同步時(shí)鐘基準(zhǔn)信號(hào),用于內(nèi)部的數(shù)據(jù)總線及外部的接口。此處用三級(jí)振蕩器(4.6ppm的誤差),給不同模塊提供不同的時(shí)鐘。
在網(wǎng)元控制板中,配置了FLASH BOOTROM嵌入式VxWorks實(shí)時(shí)多任務(wù)操作系統(tǒng)的引導(dǎo)程序,用于保存重要的數(shù)據(jù);FLASH DATABASE存儲(chǔ)應(yīng)用程序;DRAM作為程序運(yùn)行和保存臨時(shí)文件的空間。
在這個(gè)網(wǎng)元控制板中,MPC860是核心單元,它實(shí)現(xiàn)對(duì)各通信口的處理和調(diào)度,滿足實(shí)時(shí)處理的要求。
Qx接口:Qx接口用于與上層網(wǎng)管通信,采用以太網(wǎng)(Ethernet)接口,使用CPU(MPC860)的SCC1。為得到以太網(wǎng)的標(biāo)準(zhǔn)電平,需要用以太網(wǎng)接口芯片擴(kuò)展出以太網(wǎng)的標(biāo)準(zhǔn)TP接口,用專門(mén)的變壓器芯片轉(zhuǎn)換電平。一般的網(wǎng)管用PC機(jī),加上相應(yīng)的網(wǎng)管軟件就可以對(duì)各單板進(jìn)行管理和性能監(jiān)測(cè),比較形象直觀地反映系統(tǒng)情況。
F接口:F接口采用RS232接口,用MPC860的SCC2加上MAX202E提供RS232的NULL MODEM三線(收、發(fā)、地)連接方式接口,用于下載VxWorks BOOTROM 程序。
S接口:S接口采用RS232串口的多機(jī)通信方式。除收發(fā)總線外,對(duì)每一個(gè)外圍CPU分配一個(gè)中斷。其中包括時(shí)鐘板、公務(wù)板、四塊支路板、兩塊群路板,利用中斷請(qǐng)求來(lái)對(duì)各單板進(jìn)行警告、性能監(jiān)測(cè)等管理。對(duì)于四塊支路板,可以設(shè)定地址碼,每塊支路板共有三個(gè)地址碼,分別為發(fā)送、單接收、群接收。只要解釋出命令碼中對(duì)應(yīng)的地址碼,就可以確定該板的接收和發(fā)送狀況。
ECC接口:MPC860的SCC3提供東向群路的ECC接口,SCC4提供西向群路的ECC接口。利用HDLC協(xié)議,實(shí)現(xiàn)各網(wǎng)元之間的通信。
SPI:由于網(wǎng)元監(jiān)控需要確切的實(shí)時(shí)時(shí)間,采用DS1305集成芯片完成與主CPU的外圍接口(SPI)連接,構(gòu)成SPI標(biāo)準(zhǔn)串行總線。主CPU作為主控制器(Master),而DS1305作為從屬的(Slave),主CPU通過(guò)讀寫(xiě)DS1305中的RAM實(shí)現(xiàn)對(duì)后者的模式設(shè)置和時(shí)間的讀取。為保證斷電時(shí)仍能準(zhǔn)確計(jì)時(shí),需要一個(gè)后備的可充電電池。正常時(shí)有電源供電,且對(duì)電池充電,一旦掉電,電路自動(dòng)轉(zhuǎn)化為后備電池供電。
2.3 軟件部分
圖4為網(wǎng)元控制板軟件的功能模塊結(jié)構(gòu),它包括以下幾個(gè)模塊:
(1)初始化模塊
初始化模塊在VxWorks程序的入口處執(zhí)行,是整個(gè)網(wǎng)元控制板軟件的基礎(chǔ)。在該模塊中,執(zhí)行一些全局變量的初始化,基本任務(wù)的創(chuàng)建,基本消息隊(duì)列的創(chuàng)建等。
(2)命令分析模塊
命令分析模塊是整個(gè)網(wǎng)元控制板軟件VxWorks程序的核心模塊之一。在模塊中對(duì)來(lái)自各個(gè)通訊口(包括Q口、S口、ECC口)的通訊消息進(jìn)行分析,解析出命令代碼;然后根據(jù)命令代碼來(lái)決定把消息發(fā)送到具體的單處理任務(wù)中。
命令分析模塊本身也是個(gè)任務(wù)。它接收調(diào)度任務(wù)模塊發(fā)送來(lái)的消息,然后根據(jù)系統(tǒng)的運(yùn)行狀態(tài)分別調(diào)用內(nèi)部函數(shù)來(lái)處理該消息,主要功能是對(duì)發(fā)到本站的命令進(jìn)行處理。
(3)任務(wù)調(diào)度模塊
任務(wù)調(diào)度模塊也是網(wǎng)元控制板軟件的一個(gè)核心模塊。該任務(wù)由ROOT任務(wù)創(chuàng)建。它常駐內(nèi)存,是SMC的調(diào)度樞紐,從某些模塊來(lái)的命令消息都經(jīng)過(guò)它分發(fā)后交由另外一些模塊處理,此任務(wù)的優(yōu)先級(jí)較高。主要功能是接收各通信口(Qx、ECC、S)及本地產(chǎn)生的命令消息,根據(jù)不同的消息來(lái)源標(biāo)志作相應(yīng)的處理:
·如果命令消息來(lái)自Qx通信口,則該命令由網(wǎng)管發(fā)出,調(diào)用相應(yīng)的函數(shù)來(lái)處理該消息;
·如果命令消息來(lái)自ECC通信口,則該命令是經(jīng)過(guò)本站并也需要本站處理的命令,調(diào)用函數(shù)來(lái)處理該消息;
·如果命令消息來(lái)自S通信口,則該命令是單板上報(bào)的命令,直接將命令發(fā)往消息隊(duì)列由命令分析模塊來(lái)處理該消息;
·如果命令消息來(lái)自本站并且是上報(bào)網(wǎng)管的命令,則調(diào)用函數(shù)來(lái)處理該消息;
·如果命令消息來(lái)自本站并且是下發(fā)各單板的命令,則直接將命令發(fā)往消息隊(duì)列由S通信模塊來(lái)處理該消息。
(4)獨(dú)立的功能模塊
在網(wǎng)元控制板模塊中還包括一些獨(dú)立的模塊。獨(dú)立的功能模塊是SDH網(wǎng)元控制板的主要功能模塊,包括:配置管理模塊、告警管理模塊、性能管理模塊、安全管理模塊、維護(hù)管理模塊等。各功能模塊均由一個(gè)基本任務(wù)完成。
(5)Qx通訊模塊
Qx通訊模塊完成網(wǎng)元控制板和上層網(wǎng)管的通訊,通訊采用10M以太網(wǎng)方式,協(xié)議采用標(biāo)準(zhǔn)UDP/IP。由于各SDH網(wǎng)元本身不可能在一個(gè)局域網(wǎng)內(nèi),為簡(jiǎn)單起見(jiàn),各網(wǎng)元的IP地址規(guī)定一個(gè)統(tǒng)一的IP地址,而網(wǎng)管計(jì)算機(jī)的IP地址也固定。這樣可以不經(jīng)過(guò)下載數(shù)據(jù)庫(kù)建立以太網(wǎng)通訊,從而大大方便了初始化工作的順利進(jìn)行。
(6)S口通訊模塊
S口通訊模塊完成網(wǎng)元控制板與各功能單板的CPU(8031)通訊。通訊方式采用標(biāo)準(zhǔn)串口RS232的UART協(xié)議。一機(jī)對(duì)多機(jī)模式通訊,各單板采用一個(gè)獨(dú)立的中斷來(lái)激發(fā)主控板的通訊任務(wù)。在S口通訊模塊中引入A類地址和B類地址來(lái)完成網(wǎng)元控制板主動(dòng)與單板通訊和單板主動(dòng)與網(wǎng)元控制板通訊。為了保證通訊的可靠性,在每次通訊過(guò)程中均加上校驗(yàn),校驗(yàn)采用異或和方式。
(7)ECC通訊模塊
ECC通訊模塊負(fù)責(zé)完成各獨(dú)立的網(wǎng)元之間網(wǎng)管信息的通訊。ECC采用SDH幀結(jié)構(gòu)中的D1~D3字節(jié)作為物理層,在數(shù)據(jù)鏈路層采用HDLC協(xié)議。ECC端口采用MPC860的SCC3和SCC4兩個(gè)端口發(fā)送和接收。由于ECC通訊有非常清晰的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),為了達(dá)到更高效的通訊目的,引入了ECC路由表的概念。ECC路由表存放每個(gè)SDH網(wǎng)元的相鄰網(wǎng)元的地址信息。ECC路由必須根據(jù)開(kāi)局的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)來(lái)具體設(shè)置。ECC通訊用應(yīng)答來(lái)決定是否發(fā)送成功,如果成功,發(fā)送一個(gè)應(yīng)答正確的消息;否則發(fā)送一個(gè)應(yīng)答失敗的消息。如果在第一優(yōu)先路由的端口發(fā)送失敗,采用第二優(yōu)先路由的發(fā)送端口。ECC通訊任務(wù)在初始化創(chuàng)建后,一直常駐內(nèi)存。ECC的通訊任務(wù)主要包括三個(gè)任務(wù),即ECC收任務(wù)、ECC發(fā)任務(wù)、應(yīng)答檢測(cè)任務(wù)。
(8)數(shù)據(jù)庫(kù)模塊
數(shù)據(jù)庫(kù)模塊是一個(gè)獨(dú)立的外掛模塊,主要完成對(duì)嵌入式數(shù)據(jù)庫(kù)的操作,包括數(shù)據(jù)庫(kù)的創(chuàng)建、刪除、查詢、插入、修改等。數(shù)據(jù)庫(kù)模塊提供了標(biāo)準(zhǔn)的接口供應(yīng)用程序調(diào)用,而數(shù)據(jù)庫(kù)模塊本身可看做一個(gè)黑盒子,不必去考慮。
ADM系統(tǒng)可以直接從155.52Mb/s上下2.048MB/s E1信號(hào),滿足當(dāng)今寬帶化的需求。用MPC860作為網(wǎng)元控制的核心部件,效果十分理想,實(shí)時(shí)性很好,很好地滿足了ADM系統(tǒng)的所需。
參考文獻(xiàn)
1 Motorola Inc. MPC860 User' s Manual.
2 ITU Recommendation G.703,G.781,G.253
3 韋樂(lè)平.光同步數(shù)字傳送網(wǎng).北京:人民郵電出版社
4 韋樂(lè)平. 接入網(wǎng).北京:人民郵電出版社
5 ADM設(shè)計(jì)技術(shù)文件