- 相關(guān)推薦
基于MPC8260處理器的PPMC系統(tǒng)
摘要:介紹了MPC8260處理器(PowerPC系列)的基本特點,以及一種基于MPC8260、具備高度可擴(kuò)展性的PPMC硬件實現(xiàn)和軟件標(biāo)準(zhǔn)初始化流程。關(guān)鍵詞:嵌入式系統(tǒng) PPMC PowerPC MPC8260 PCI
伴隨網(wǎng)絡(luò)時代的來臨,帶寬急刷增長,而新業(yè)務(wù)要求嵌入式系統(tǒng)具備很強的處理能力,配備高帶寬的外圍總線。PCI(Peripheral Component Interconnect,外圍部件互連)總線以其優(yōu)越的性能,成為高端嵌入式系統(tǒng)首選總線。以往嵌入式系統(tǒng)式樣眾多,硬件模塊可重用度低、可互替性差,硬件平臺的繁雜使得加載RTOS(實時操作系統(tǒng))沒有規(guī)則性可言,極大地延長了研發(fā)周期。
(范文先生網(wǎng)www.gymyzhishaji.com收集整理)
鑒于以往嵌入式系統(tǒng)缺點,結(jié)合高端嵌入式系統(tǒng)的新要求,VSO(VITA Standard Organization)在IEEE制定的P1386.1標(biāo)準(zhǔn)上,提出了PPMC(Processor PCI Mezzanine Card)概念,目的是確保各個廠家不同的CPU對外擁有相同的PCI接口。它對PPMC插座接口的電氣特性、引腳信號、PPMC和其Carrier Board的連接以及PPMC的尺寸作了嚴(yán)格規(guī)定,力求在高端嵌入式系統(tǒng)中促進(jìn)系統(tǒng)模塊化。
本文介紹了一種以MPC8260處理器為基礎(chǔ)的PPMC實現(xiàn),構(gòu)建了一個微型計算機系統(tǒng)。該系統(tǒng)完全符合VSO對PPMC的要求,在嵌入式PCI系統(tǒng)中可以即插即用,并可應(yīng)用于CpmpactPCI系統(tǒng)中。該PPMC系統(tǒng)處理能力優(yōu)異(內(nèi)核最高處理能力可達(dá)350MIPS),帶有多種通訊協(xié)議處理接口,符合多種RTOS(pSOS、VxWorks等)對其運行平臺的要求,且在硬件上滿足RTOS的兩種主要調(diào)試手段(串口調(diào)試和以太網(wǎng)調(diào)試),應(yīng)用開發(fā)相當(dāng)容易。此外,該系統(tǒng)具備高度的現(xiàn)場可擴(kuò)展性,通過簡單的軟件配置,可以方便地提供多種通訊協(xié)議的前端處理接口。
1 MPC8260處理器簡介
PowerPC芯片是由Motorola、Apple、IBM三家公司聯(lián)合研制的一種RISC處理器,具備超強處理能力,廣泛出現(xiàn)在處理器的高端應(yīng)用場合。Motorola公司考慮到電信和網(wǎng)絡(luò)市場的特點,在PowerPC芯片的基礎(chǔ)上,推出了專為嵌入式系統(tǒng)設(shè)計的MPC8260芯片。該芯片內(nèi)嵌一個PowerPC 603e內(nèi)核,有著與PowerPC完全相同的指令集合,并且集成了若干通訊協(xié)議處理單元,是目前最先進(jìn)的專為電信和網(wǎng)絡(luò)市場設(shè)計的微處理器。MPC8260芯片的功能框圖以及外部引腳示意如圖1所示。
由圖1可知,MPC8260主要包括三部分。第一部分是高性能的PowerPC 603e內(nèi)核,體系結(jié)構(gòu)與其它PowerPC芯片相同,運行頻率為100~266MHz。
第二部分是總線接口。在兼容MPC860局部總線的基礎(chǔ)上,MPC8260另外提供了高性能的PowerPC 60x總線。該總線是一種標(biāo)準(zhǔn)總線,32位地址線,64位數(shù)據(jù)線,支持多PowerPC芯片互連?梢酝ㄟ^簡單的寄存器配置來決定采用哪種總線。本系統(tǒng)選用60x總線,總線工作頻率為66MHz。
第三部分是通信處理模塊CPM(Communication Processor Module)。該模塊是MPC8260相對其它處理器的最大優(yōu)勢所在,除了帶有一個增強的32位RISC專用通信控制器外,模塊中還內(nèi)嵌有3個FCC(Fast Communication Controller)、2個MCC(Multiple Channel Controller)、4個SCC(Serial Channel Controller)、2個SMC(Serial Managements Controller)。所有這些控制器都可以用來處理特定的通訊協(xié)議。
MPC8260芯片中包括四組通用I/O端口:PA、PB、PC、PD。這四組通用I/O端口與CPM有著密切關(guān)系。PA、PB、PC包含32個管腳,PD包含28個管腳。各組端口中的每一個管腳都可以通過軟件配置外接不同的信號。例如,管腳PC[2]可以配置為外接以太網(wǎng)MII(Media-Independent Interface)接口的CD信號,也可配置為外接ATM(Asynchronous transfer mode異步傳輸模式)UTOPIA接口的TXD信號,還可配置為一般的IO信號。
PA、PB、PC、PD四組通用I/O端口的靈活配置,結(jié)合內(nèi)部SCC、FCC、SMC的可配置性,使得CPM的功能得以倍增。CPM模塊利用這四組通用I/O端口完成的通訊協(xié)議接口主要如下:
(1)2個ATM UTOPIA接口,可用來實現(xiàn)2個155Mbps ATM SAR。
(2)8個 TDM(時分復(fù)用線)接口,其中2個TDM接口可以無縫連接到T3/E3,最高可以提供256個全雙工64kbps HDLC通道。
(3)3個MII接口,可用來實現(xiàn)3個10/100Mbps自適應(yīng)以太網(wǎng)接口。
(4)4個RS-232串口。
由此可知,MPC82760內(nèi)嵌了多種通訊處理模塊,可以方便地為用戶提供一個全新的系統(tǒng)解決方案來建立高端嵌入式系統(tǒng)。
2 基于MPC8260的PPMC系統(tǒng)
圖2為基于MPC8260的PPMC系統(tǒng)模塊框圖。
注:篇幅所限,VSO在IEEE標(biāo)準(zhǔn)上專門為PPMC定義的標(biāo)準(zhǔn)插座沒有畫出來,而圖2中,除了連接到兩個RJ45插座的信號外,其它黑色粗體箭頭代表的信號都必須連到該插座上去。請參閱VSO相關(guān)手冊。
各子模塊的解釋如下:
(1)10/100Mbps以太網(wǎng)子模塊接口和RS-232串口子模塊。兩者的實現(xiàn)都利用了MPC8260的通用I/O管腳。以太網(wǎng)子模塊還包括外接的以太網(wǎng)PHY和以太網(wǎng)變壓器。PHY選用LevelOne公司的970系列芯片。變壓器選用Pulse H1081。以太網(wǎng)MII接口管腳分布如表1所示。
表1 以太網(wǎng)MII接口管腳分布
RxD[0:3]
CRS
COL
TX_EN
TX_ER
RX_ER
RX_DV
TxCLK
RxCLK Port B B[4:7]
Port B B[8:11]
Port B B[12]
Port B B[13]
Port B B[14]
Port B B[15]
Port B B[16]
Port B B[17]
Port C C[16]
Port C C[19] 發(fā)送數(shù)據(jù)線
接收數(shù)據(jù)線
開始發(fā)送
發(fā)送沖突
可以發(fā)送
發(fā)送失敗
接收到環(huán)幀
接收到數(shù)據(jù)
發(fā)送時鐘
接收時鐘
RS-232串口子模塊包含一個電平轉(zhuǎn)換器MAX3221。此外,相對一般的9線RS-232接口而言,本系統(tǒng)中無論是數(shù)據(jù)接收還是發(fā)送,MPC8260總是處于準(zhǔn)備好的狀態(tài)。因而RS-232使用5線接口就可以,串口管腳分布如表2所示。
表2 串口管腳分布
RxD
CD
RTS
CTS Port D D[26]
Port D D[27]
Port D D[28]
Port C C[12]
Port C C[13] 發(fā)送數(shù)據(jù)線
接收數(shù)據(jù)線
檢測到載波
請求發(fā)送
可以發(fā)送
(2)時鐘和復(fù)位子模塊為系統(tǒng)提供時鐘信號和復(fù)位信號。時鐘子模塊核心部件為高穩(wěn)定性66MHz石英晶振。該晶振提供系統(tǒng)基準(zhǔn)時鐘?紤]到晶振直接帶負(fù)載能力有限,時鐘子模塊中還包含1個零延時緩沖器。復(fù)位子模塊核心為MAX706芯片,結(jié)合后面提到的EPLD,可為系統(tǒng)各器件提供上電復(fù)位、硬復(fù)位、軟復(fù)位等各種復(fù)位信號。
(3)Power Span子模塊為PPMC系統(tǒng)提供對外PCI接口,PCI總線工作在33MHz。
(4)EPLD子模塊。因為需要實現(xiàn)的控制邏輯較多,采用Altera公司的可編程邏輯芯片EPM9510ARC208-10,可以為SDRAM產(chǎn)生時序信號、讀取接口配置信號、匯總各個中斷信號、匯總復(fù)位信號和時鐘信號。
(5)SDRAM子模塊。選用4片現(xiàn)代公司的HY57V653220CT SDRAM芯片。
3 硬件實現(xiàn)的要點
就硬件實現(xiàn)而言,有幾點需要注意:
(1)為以太網(wǎng)和串口分配管腳。如果僅僅是配置一個MII接口和一個RS-232接口,有多種實現(xiàn)方案。但必須考慮到系統(tǒng)功能的可擴(kuò)展性,盡可能多地預(yù)留TDM接口和ATM UTOPIA接口。
(2)PCI橋接和總線仲裁
VSO規(guī)定,PPMC系統(tǒng)必須帶有PCI接口。但MPC8260芯片本身不帶PCI接品,因而需要外掛PCI橋接芯片PowerSpan。
PowerSpan是Tundra公司生產(chǎn)的PCI橋接芯片,總線頻率范圍為25~66MHz,支持PCI2.2規(guī)范。PowerSpan內(nèi)部模塊如圖3所示?梢耘cMPC8260、PowerPC 603e/740/750等PowerPC系列芯片無縫接合。電氣特性符合VSO PPMC標(biāo)準(zhǔn)。
實際應(yīng)用時,PowerPC 60x總線和PCI總線上都掛二多個器件,每個器件都可能需要獲取總線的控制權(quán)以便發(fā)起總線操作,因此總線控制權(quán)的仲裁十分重要。
就PCI總線布言,采用PowerSpan內(nèi)嵌的PCI總線仲截器件為整個PCI總線的仲裁器,應(yīng)該將PPMC卡標(biāo)準(zhǔn)插座上各組GNT、REQ信號連到PowerSpan相應(yīng)管腳處。PowerPC 60x總線的情況有點不同,MPC8260芯片和PowerSpan芯片都自帶60z總線仲裁器。從系統(tǒng)的擴(kuò)展性考慮,采用MPC8260芯片自帶 60x總線仲裁器。因而PowerSpan的PB_BR[1]、PB_BG[1]、PB_DBG[1]等信號必須連到MPC8260芯片對應(yīng)處。
(3)片選信號和內(nèi)存分配
MPC8260 60x總線包含32位地址線,可以訪問高達(dá)4G字節(jié)的內(nèi)存。MPC8260內(nèi)嵌有一個內(nèi)存分類控制器,該分類控制器提供了多個片選信號。在本系統(tǒng)中,地址空間分類6類子空間,如表3所示。
表3 內(nèi)存分配表
MPC8260 Register Space
Bootrom(CS0) D[0:7]
Flash (CS1) D[0:15]
SDRAM (CS2) D[0:63]
PCI Image n
(n=1...8) 0X30000000~0X30000FFF
0XF0000000~0XF001FFFF
0XFE000000~0XE0FFFFFF
0XE0000000~0XE0FFFFFF
0X00000000~0X03FFFFFF
Maximum Block Size=2GB
Minimum Block Size=64KB 4KB
128KB
1024KB
16MB
64MB
以64位數(shù)據(jù)線方式訪問PowerSpan內(nèi)部寄存器空間,以及通過PowerSpan映射的PCI空間。訪問二者時,不需要片選信號。PowerSpan自行判斷60x地址是否指向自身,決定是否回應(yīng)。
CS0代表的Bootrom空間有著特殊含義。根據(jù)MPC8260的規(guī)定,復(fù)位時,MPC8260自動讀取Bootrom中的指令運行啟動程序。Bootrom空間是唯一不需要額外配置、MPC8260就可以讀取的子模塊。
相關(guān)配置寄存器包括:MPC8260中的BRn、Orn(n=0,1,2)寄存器、IMMR寄存器以及PowerSpan相關(guān)設(shè)置中的Slave Image和Iarget Image。
4 硬件實現(xiàn)的難點
保證外部PCI器件(沒有位于PPMC上)通過PowerSpan高速訪問PPMC系統(tǒng)所帶SDRAM內(nèi)存,是設(shè)計上一大難點。圖4是外掛PCI器件時,內(nèi)存存取示意圖。
圖4從左向右為Slave Image方向。MPC8260通過設(shè)置PowerSpan的相關(guān)Slave Image寄存器,將外部PCI空間映射到60x空間后,PowerSpan即成為透明橋。MPC8260以60x總線地址訪問外部PCI器件,PowerSpan會自動進(jìn)行有關(guān)轉(zhuǎn)換工作。
圖4從右向左為Target Image方向。此時外部PCI器件要訪問PPMC上的SDRAM。通過設(shè)置PowerSpan Target Image中相關(guān)寄存器,將60x總線地址空間的一部分(也就是PPMC上SDRAM對應(yīng)的60x地址空間中的一段)映射到外部PCI空間上,外部PCI器件就可能以PCI總線地址訪問PPMC所帶SDRAM,PowerSpan自動進(jìn)行有關(guān)轉(zhuǎn)換工作。
由此可知,MPC8260和PowerSpan都可成為60x總線的Master,都會訪問SDRAM。從效率考慮,必須允許二者可以猝發(fā)存取SDRAM。
與讀寫ROM不同,讀寫SDRAM的時序關(guān)系很復(fù)雜,要考慮到多種因素,如SDRAM的刷新問題。遺憾的是,就60x總線信號的時序而言,無法直接與SDRAM連接。特別是對PowerSpan,沒有內(nèi)嵌任何內(nèi)存控制器,即使MPC8260提供了一些輔助控制信號,也無法直接連接,因而外部須提供邏輯轉(zhuǎn)換。就本PPMC系統(tǒng)而言,必須在EPLD內(nèi)實現(xiàn)一個SDRAM控制器,這就是圖4中引入EPLD的原因。
該控制器采用Verilog HDL實現(xiàn),可為SDRAM提供一系列符合時序的控制信號?刂破骶推浔举|(zhì)而言,是一個狀態(tài)機。隨著外部60x總線輸入信號的變化,該狀態(tài)機在一系列不同狀態(tài)之間轉(zhuǎn)換,同時輸出SDRAM控制信號,以及60x總線的回應(yīng)信號。例如就讀數(shù)據(jù)而言,隱去刷新等狀態(tài),狀態(tài)機如圖5所示。
圖6是在觸發(fā)方式下,2-beat讀取數(shù)據(jù)時,內(nèi)存控制器產(chǎn)生的控制信號。此時,Page Closed、CAS latency為3個時鐘周期,Activate to Read interval為2個時鐘周期。RAS為控制器輸出的行地址選擇信號,CAS為列地址選擇信號,DQM為字節(jié)選擇信號。
5 初始化軟件流程
本PPMC的初始化流程有著與RTOS中標(biāo)準(zhǔn)BSP(Board Support Package)要求相同的次序,程序流程如圖7所示。
系統(tǒng)初始啟動時,MPC8260自動讀取Bootrom中的指令。Bootrom中最初一段程序采用PowerPC匯編語言編寫,該部分程序必須對系統(tǒng)進(jìn)行基本的初始化工作。其中最重要的是初始化那些與SDRAM有關(guān)的寄存器,以便可以盡快使用SDRAM,從而在其后可以使用C語言編寫的程序進(jìn)行后繼初始化工作。
本文構(gòu)建了一個符合VSO和IEEE標(biāo)準(zhǔn)的PPMC系統(tǒng),可以為嵌入式系統(tǒng)(特別是通訊用嵌入式系統(tǒng))提供一個功能強大、高度模塊化、具體高度可擴(kuò)展性的微型計算機系統(tǒng)。
【基于MPC8260處理器的PPMC系統(tǒng)】相關(guān)文章:
基于雙處理器的點焊控制系統(tǒng)的硬件設(shè)計08-06
基于ARM7核處理器VxWorks系統(tǒng)BSP設(shè)計08-06
基于SMBus的智能電池系統(tǒng)08-06
基于DSP的自動對焦系統(tǒng)08-06
基于MIPS架構(gòu)的RISC微處理器RM7000A08-06
基于GP算法的知識發(fā)現(xiàn)系統(tǒng)08-06
基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)08-06