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