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