基于MPC8260處理器的PPMC系統(tǒng) 作者: 時間:2007-03-09 來源:網(wǎng)絡 加入技術交流群 掃碼加入和技術大咖面對面交流海量資料庫查詢 收藏 摘要:介紹了MPC8260處理器(PowerPC系列)的基本特點,以及一種基于MPC8260、具備高度可擴展性的PPMC硬件實現(xiàn)和軟件標準初始化流程。關鍵詞:嵌入式系統(tǒng) PPMC PowerPC MPC8260 PCI 伴隨網(wǎng)絡時代的來臨,帶寬急刷增長,而新業(yè)務要求嵌入式系統(tǒng)具備很強的處理能力,配備高帶寬的外圍總線。PCI(Peripheral Component Interconnect,外圍部件互連)總線以其優(yōu)越的性能,成為高端嵌入式系統(tǒng)首選總線。以往嵌入式系統(tǒng)式樣眾多,硬件模塊可重用度低、可互替性差,硬件平臺的繁雜使得加載RTOS(實時操作系統(tǒng))沒有規(guī)則性可言,極大地延長了研發(fā)周期。鑒于以往嵌入式系統(tǒng)缺點,結合高端嵌入式系統(tǒng)的新要求,VSO(VITA Standard Organization)在IEEE制定的P1386.1標準上,提出了PPMC(Processor PCI Mezzanine Card)概念,目的是確保各個廠家不同的CPU對外擁有相同的PCI接口。它對PPMC插座接口的電氣特性、引腳信號、PPMC和其Carrier Board的連接以及PPMC的尺寸作了嚴格規(guī)定,力求在高端嵌入式系統(tǒng)中促進系統(tǒng)模塊化。本文介紹了一種以MPC8260處理器為基礎的PPMC實現(xiàn),構建了一個微型計算機系統(tǒng)。該系統(tǒng)完全符合VSO對PPMC的要求,在嵌入式PCI系統(tǒng)中可以即插即用,并可應用于CpmpactPCI系統(tǒng)中。該PPMC系統(tǒng)處理能力優(yōu)異(內(nèi)核最高處理能力可達350MIPS),帶有多種通訊協(xié)議處理接口,符合多種RTOS(pSOS、VxWorks等)對其運行平臺的要求,且在硬件上滿足RTOS的兩種主要調(diào)試手段(串口調(diào)試和以太網(wǎng)調(diào)試),應用開發(fā)相當容易。此外,該系統(tǒng)具備高度的現(xiàn)場可擴展性,通過簡單的軟件配置,可以方便地提供多種通訊協(xié)議的前端處理接口。 1 MPC8260處理器簡介 PowerPC芯片是由Motorola、Apple、IBM三家公司聯(lián)合研制的一種RISC處理器,具備超強處理能力,廣泛出現(xiàn)在處理器的高端應用場合。Motorola公司考慮到電信和網(wǎng)絡市場的特點,在PowerPC芯片的基礎上,推出了專為嵌入式系統(tǒng)設計的MPC8260芯片。該芯片內(nèi)嵌一個PowerPC 603e內(nèi)核,有著與PowerPC完全相同的指令集合,并且集成了若干通訊協(xié)議處理單元,是目前最先進的專為電信和網(wǎng)絡市場設計的微處理器。MPC8260芯片的功能框圖以及外部引腳示意如圖1所示。由圖1可知,MPC8260主要包括三部分。第一部分是高性能的PowerPC 603e內(nèi)核,體系結構與其它PowerPC芯片相同,運行頻率為100~266MHz。 第二部分是總線接口。在兼容MPC860局部總線的基礎上,MPC8260另外提供了高性能的PowerPC 60x總線。該總線是一種標準總線,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有著密切關系。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端口的靈活配置,結合內(nèi)部SCC、FCC、SMC的可配置性,使得CPM的功能得以倍增。CPM模塊利用這四組通用I/O端口完成的通訊協(xié)議接口主要如下: (1)2個ATM UTOPIA接口,可用來實現(xiàn)2個155Mbps ATM SAR。 (2)8個 TDM(時分復用線)接口,其中2個TDM接口可以無縫連接到T3/E3,最高可以提供256個全雙工64kbps HDLC通道。 (3)3個MII接口,可用來實現(xiàn)3個10/100Mbps自適應以太網(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標準上專門為PPMC定義的標準插座沒有畫出來,而圖2中,除了連接到兩個RJ45插座的信號外,其它黑色粗體箭頭代表的信號都必須連到該插座上去。請參閱VSO相關手冊。 各子模塊的解釋如下: (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接口管腳分布 MII信號MPC 8260管腳含 義TxD[0:3]RxD[0:3]CRSCOLTX_ENTX_ERRX_ERRX_DVTxCLKRxCLKPort 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串口子模塊包含一個電平轉換器MAX3221。此外,相對一般的9線RS-232接口而言,本系統(tǒng)中無論是數(shù)據(jù)接收還是發(fā)送,MPC8260總是處于準備好的狀態(tài)。因而RS-232使用5線接口就可以,串口管腳分布如表2所示。表2 串口管腳分布 信 號管 腳含 義TxDRxDCDRTSCTSPort 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)時鐘和復位子模塊為系統(tǒng)提供時鐘信號和復位信號。時鐘子模塊核心部件為高穩(wěn)定性66MHz石英晶振。該晶振提供系統(tǒng)基準時鐘??紤]到晶振直接帶負載能力有限,時鐘子模塊中還包含1個零延時緩沖器。復位子模塊核心為MAX706芯片,結合后面提到的EPLD,可為系統(tǒng)各器件提供上電復位、硬復位、軟復位等各種復位信號。 (3)Power Span子模塊為PPMC系統(tǒng)提供對外PCI接口,PCI總線工作在33MHz。 (4)EPLD子模塊。因為需要實現(xiàn)的控制邏輯較多,采用Altera公司的可編程邏輯芯片EPM9510ARC208-10,可以為SDRAM產(chǎn)生時序信號、讀取接口配置信號、匯總各個中斷信號、匯總復位信號和時鐘信號。 (5)SDRAM子模塊。選用4片現(xiàn)代公司的HY57V653220CT SDRAM芯片。3 硬件實現(xiàn)的要點 就硬件實現(xiàn)而言,有幾點需要注意: (1)為以太網(wǎng)和串口分配管腳。如果僅僅是配置一個MII接口和一個RS-232接口,有多種實現(xiàn)方案。但必須考慮到系統(tǒng)功能的可擴展性,盡可能多地預留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標準。 實際應用時,PowerPC 60x總線和PCI總線上都掛二多個器件,每個器件都可能需要獲取總線的控制權以便發(fā)起總線操作,因此總線控制權的仲裁十分重要。 就PCI總線布言,采用PowerSpan內(nèi)嵌的PCI總線仲截器件為整個PCI總線的仲裁器,應該將PPMC卡標準插座上各組GNT、REQ信號連到PowerSpan相應管腳處。PowerPC 60x總線的情況有點不同,MPC8260芯片和PowerSpan芯片都自帶60z總線仲裁器。從系統(tǒng)的擴展性考慮,采用MPC8260芯片自帶 60x總線仲裁器。因而PowerSpan的PB_BR[1]、PB_BG[1]、PB_DBG[1]等信號必須連到MPC8260芯片對應處。 (3)片選信號和內(nèi)存分配 MPC8260 60x總線包含32位地址線,可以訪問高達4G字節(jié)的內(nèi)存。MPC8260內(nèi)嵌有一個內(nèi)存分類控制器,該分類控制器提供了多個片選信號。在本系統(tǒng)中,地址空間分類6類子空間,如表3所示。表3 內(nèi)存分配表 60x內(nèi)存類型和片選信號地址范圍含 義PowerSpan Register SpaceMPC8260 Register SpaceBootrom(CS0) D[0:7]Flash (CS1) D[0:15]SDRAM (CS2) D[0:63]PCI Image n(n=1...8)0X30000000~0X30000FFF0XF0000000~0XF001FFFF0XFE000000~0XE0FFFFFF0XE0000000~0XE0FFFFFF0X00000000~0X03FFFFFFMaximum Block Size=2GBMinimum Block Size=64KB4KB128KB1024KB16MB64MB以64位數(shù)據(jù)線方式訪問PowerSpan內(nèi)部寄存器空間,以及通過PowerSpan映射的PCI空間。訪問二者時,不需要片選信號。PowerSpan自行判斷60x地址是否指向自身,決定是否回應。 CS0代表的Bootrom空間有著特殊含義。根據(jù)MPC8260的規(guī)定,復位時,MPC8260自動讀取Bootrom中的指令運行啟動程序。Bootrom空間是唯一不需要額外配置、MPC8260就可以讀取的子模塊。 相關配置寄存器包括:MPC8260中的BRn、Orn(n=0,1,2)寄存器、IMMR寄存器以及PowerSpan相關設置中的Slave Image和Iarget Image。 4 硬件實現(xiàn)的難點 保證外部PCI器件(沒有位于PPMC上)通過PowerSpan高速訪問PPMC系統(tǒng)所帶SDRAM內(nèi)存,是設計上一大難點。圖4是外掛PCI器件時,內(nèi)存存取示意圖。 圖4從左向右為Slave Image方向。MPC8260通過設置PowerSpan的相關Slave Image寄存器,將外部PCI空間映射到60x空間后,PowerSpan即成為透明橋。MPC8260以60x總線地址訪問外部PCI器件,PowerSpan會自動進行有關轉換工作。 圖4從右向左為Target Image方向。此時外部PCI器件要訪問PPMC上的SDRAM。通過設置PowerSpan Target Image中相關寄存器,將60x總線地址空間的一部分(也就是PPMC上SDRAM對應的60x地址空間中的一段)映射到外部PCI空間上,外部PCI器件就可能以PCI總線地址訪問PPMC所帶SDRAM,PowerSpan自動進行有關轉換工作。由此可知,MPC8260和PowerSpan都可成為60x總線的Master,都會訪問SDRAM。從效率考慮,必須允許二者可以猝發(fā)存取SDRAM。 與讀寫ROM不同,讀寫SDRAM的時序關系很復雜,要考慮到多種因素,如SDRAM的刷新問題。遺憾的是,就60x總線信號的時序而言,無法直接與SDRAM連接。特別是對PowerSpan,沒有內(nèi)嵌任何內(nèi)存控制器,即使MPC8260提供了一些輔助控制信號,也無法直接連接,因而外部須提供邏輯轉換。就本PPMC系統(tǒng)而言,必須在EPLD內(nèi)實現(xiàn)一個SDRAM控制器,這就是圖4中引入EPLD的原因。 該控制器采用Verilog HDL實現(xiàn),可為SDRAM提供一系列符合時序的控制信號??刂破骶推浔举|而言,是一個狀態(tài)機。隨著外部60x總線輸入信號的變化,該狀態(tài)機在一系列不同狀態(tài)之間轉換,同時輸出SDRAM控制信號,以及60x總線的回應信號。例如就讀數(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中標準BSP(Board Support Package)要求相同的次序,程序流程如圖7所示。 系統(tǒng)初始啟動時,MPC8260自動讀取Bootrom中的指令。Bootrom中最初一段程序采用PowerPC匯編語言編寫,該部分程序必須對系統(tǒng)進行基本的初始化工作。其中最重要的是初始化那些與SDRAM有關的寄存器,以便可以盡快使用SDRAM,從而在其后可以使用C語言編寫的程序進行后繼初始化工作。 本文構建了一個符合VSO和IEEE標準的PPMC系統(tǒng),可以為嵌入式系統(tǒng)(特別是通訊用嵌入式系統(tǒng))提供一個功能強大、高度模塊化、具體高度可擴展性的微型計算機系統(tǒng)。 linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論