樊江鋒+徐連波+葉波+王旭東
摘 要: MPC8245處理器芯片是一款高性能、低功耗處理器,該處理器集成了MPC603e內(nèi)核及PCI橋,存儲(chǔ)器控制器,DMA控制器,可編程中斷控制器和I2C控制器。支持浮點(diǎn)運(yùn)算,存儲(chǔ)器管理,16 KB命令Cache,16 KB數(shù)據(jù)Cache,電源管理等功能。作為PCI接口的處理器模塊接口,其可以廣泛應(yīng)用于PCI接口的嵌入式計(jì)算機(jī),PCI接口邏輯、驅(qū)動(dòng)設(shè)計(jì)簡(jiǎn)單,結(jié)構(gòu)清晰,易于擴(kuò)展。
關(guān)鍵詞: PowerPC8245; 處理器; PCII; I2C控制器
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)16?0062?04
Design and implementation of embedded system hardware of MPC8245 processor
based on PCI bus
FAN Jiangfeng, XU Lianbo, YE Bo, WANG Xudong
(AVIC Computing Technique Research Institute, Xian 710119, China)
Abstract: MPC8245 is a processor chip with high capability and low power consumption. It is integrated with MPC603E kernel, PCI bridge, memory controller, DMA controller, programmable interrupt controller, I2C controller, and supports the functions of floating?point operation, memory management, 16 k byte command & data cache, power supply management, etc. As the interface of processor with PCI, MPC8245 can be widely used in embedded computers with PCI. Besides, the logic and driver design of MPC8245 PCI interface is simple, and it's configuration is very legible. Therefore, MPC8245 can be expanded easily.
Keywords: PowerPC8245; processor; PCI; I2C controller
PowerPC系列處理器最早是由Motorola公司、IBM以及Apple公司聯(lián)合開(kāi)發(fā)的,現(xiàn)主要由Freescale公司研制生產(chǎn)。由于其可升級(jí)性好,功耗低而應(yīng)用最為廣泛,同時(shí)在國(guó)內(nèi)該處理器也應(yīng)用較多,從PowerPC6XX,PowerPC7XX,PowerPC7XXX等系列都有產(chǎn)品應(yīng)用,尤其最近幾年飛速發(fā)展,被廣泛應(yīng)用于各類嵌入式計(jì)算機(jī)系統(tǒng)。
1 MPC8245處理器硬件設(shè)計(jì)及實(shí)現(xiàn)
1.1 系統(tǒng)概述
PPMC 8245模塊以Motorola MPC8245處理器為核心,它內(nèi)部集成了一個(gè)603e的處理器核和外設(shè)邏輯塊(功能和操作方法類似MPC107);用CPLD邏輯為處理器外圍電路接口控制,實(shí)現(xiàn)存儲(chǔ)器資源、I/O資源、以太網(wǎng)和PCI設(shè)備的讀/寫(xiě)訪問(wèn)以及定時(shí)器和中斷的管理。
PPMC 8245模塊通過(guò)MPC8245內(nèi)部集成的外設(shè)邏輯塊直接控制SDRAM存儲(chǔ)器的讀/寫(xiě)訪問(wèn)和刷新,定時(shí)器、以太網(wǎng)和PCI設(shè)備也由外設(shè)邏輯直接控制,F(xiàn)LASHTM存儲(chǔ)器、NVSRAM存儲(chǔ)器、調(diào)試串口、輸入/輸出離散量和中斷由外設(shè)邏輯和CPLD邏輯共同控制。PMC8245處理器模塊的硬件設(shè)計(jì)結(jié)構(gòu)示意圖見(jiàn)圖1。
1.2 時(shí)鐘電路設(shè)計(jì)
CPU模塊上時(shí)鐘有25 MHz,33 MHz,其時(shí)鐘工作電壓為3.3 V,時(shí)鐘電路見(jiàn)圖2。33 MHz時(shí)鐘經(jīng)時(shí)鐘驅(qū)動(dòng)器產(chǎn)生5路33 MHz同步時(shí)鐘,其中1路為PCI_SYNC_IN輸入到MPC8245,在經(jīng)內(nèi)部PLL和DLL產(chǎn)生SDRAM時(shí)鐘,另4路輸出到PMC插座上供PCI設(shè)備使用。MPC8245的PLL配置引腳為 PLL_CFG[0..4],對(duì)于給定的輸入時(shí)鐘SYSCLK,PLL配置對(duì)應(yīng)的CPU和VCO的操作頻率,PLL的配置時(shí)鐘對(duì)應(yīng)關(guān)系見(jiàn)圖3。
1.3 存儲(chǔ)器電路設(shè)計(jì)實(shí)現(xiàn)
MPC8245處理器內(nèi)部集成高性能存儲(chǔ)器控制器,示意圖見(jiàn)圖4,實(shí)現(xiàn)處理器和PCI接口對(duì)局部存儲(chǔ)器的訪問(wèn),存儲(chǔ)器接口支持SDRAM,F(xiàn)LASH,NVSRAM等。
圖1 PPMC8245模塊模塊結(jié)構(gòu)原理框圖
圖2 MPC8245處理器模塊時(shí)鐘電路示意圖
圖3 PC8245處理器PLL配置表
圖4 MPC8245存儲(chǔ)器接口電路設(shè)計(jì)示意圖
SDRAM支持?jǐn)?shù)據(jù)寬度32位或64位,速度最高133 MHz,最大支持2 GB空間,每個(gè)片選最大支持512 MB,支持RWM周期,SDRAM ECC功能。Port X接口設(shè)計(jì)掛接FLASH,NVSRAM和FPGA內(nèi)部寄存器,支持8位,16位,32位,64位空間。
PPMC 8245模塊通過(guò)MPC8245集成的存儲(chǔ)器控制器,提供地址譯碼、數(shù)據(jù)處理周期訪問(wèn)時(shí)序、SDRAM時(shí)鐘等來(lái)訪問(wèn)存儲(chǔ)器。通過(guò)控制MPC8245內(nèi)部的一些寄存器來(lái)完成這些功能。
1.3.1 SDRAM存儲(chǔ)器
PPMC 8245模塊提供64位寬度的128 MB的SDRAM,支持SDRAM校驗(yàn),ECC。SDRAM采用SAMSUNG公司的K4S511632E?TCI75實(shí)現(xiàn),工作電壓為3.3 V,封裝為54引腳的TSOP。MPC8245內(nèi)置SDRAM存儲(chǔ)器控制器,提供SDRAM的時(shí)序控制邏輯,并且提供SDRAM的訪問(wèn)時(shí)鐘,設(shè)計(jì)頻率66 MHz。地址空間位于存儲(chǔ)器的低端0x0000000~0x7FFFFFF。訪問(wèn)方式及時(shí)序控制由MPC8245內(nèi)部的寄存器來(lái)實(shí)現(xiàn)。
1.3.2 USER FLASH存儲(chǔ)器
USER FLASH存儲(chǔ)器用于儲(chǔ)存用戶數(shù)據(jù)。USER FLASH采用SPANSION公司的4片16位的存儲(chǔ)器S29GL256P實(shí)現(xiàn)64位USER FLASH,工作電壓為3.3 V,封裝為56引腳的TSOP,容量設(shè)計(jì)為256 MB。每片F(xiàn)LASH有512個(gè)128 KWord扇區(qū),支持整片擦寫(xiě),扇區(qū)寫(xiě)保護(hù)等。FLASH存儲(chǔ)器操作命令見(jiàn)表1。
表1 FLASH操作命令序列定義
注:RA為讀FLASH地址;RD為取FLASH上RA地址的數(shù)據(jù);
PA為FLASH地址;PD為寫(xiě)FLASH對(duì)應(yīng)PA地址單元的數(shù)據(jù);
SA為被擦寫(xiě)扇區(qū)內(nèi)任意地址。
1.3.3 SYSTEM FLASH存儲(chǔ)器
SYSTEM FLASH采用SPANSION公司的1片16位的存儲(chǔ)器S29GL256P實(shí)現(xiàn),容量為8 MB,工作電壓為3.3 V,封裝為56引腳的TSOP,按8位工作方式工作,容量設(shè)計(jì)為 8 Mb。
SYSTEM FLASH 地址分配在存儲(chǔ)空間的高端,地址空間為0xFF800000H~0xFFFFFFFFH。用于通用接口模塊的啟動(dòng),SYSTEM FLASH上駐留監(jiān)控程序,BIT測(cè)試程序,F(xiàn)LASH在板編程程序等。
1.4 復(fù)位電路和看門(mén)狗電路設(shè)計(jì)
模塊采用單5 V電源輸入,模塊上選用MAX791芯片完成上電復(fù)位電路和看門(mén)狗電路,當(dāng)5 V低于4.65 V時(shí),產(chǎn)生復(fù)位。電源5 V電源電壓低于4.65 V 時(shí),系統(tǒng)處于復(fù)位狀態(tài),電源大于4.65 V后,產(chǎn)生大于200 ms 復(fù)位,復(fù)位本模塊,同時(shí)將復(fù)位信號(hào)送至PCI總線,供其他設(shè)備使用。
看門(mén)狗電路采用MAX791和CPLD實(shí)現(xiàn)。當(dāng)看門(mén)狗功能失效后,產(chǎn)生看門(mén)狗中斷??撮T(mén)狗中斷由GSE和軟件看門(mén)狗使能位WDOEN來(lái)控制。GSE為高電平時(shí),系統(tǒng)處于空中狀態(tài),看門(mén)狗中斷自動(dòng)使能;當(dāng)GSE為低電平時(shí),系統(tǒng)處于地面調(diào)試維護(hù)狀態(tài),看門(mén)狗中斷通過(guò)軟件使能位WDOEN來(lái)控制,WDOEN為‘0時(shí),使能看門(mén)狗,WDOEN為‘1時(shí),禁止看門(mén)狗??撮T(mén)狗電路產(chǎn)生中斷后,送入中斷電路,同時(shí)也送給通道故障邏輯電路。正常使用時(shí)要求用戶必須在小于1 s間隔內(nèi)產(chǎn)生看門(mén)狗觸發(fā),使看門(mén)狗重新開(kāi)始計(jì)數(shù),以防止產(chǎn)生看門(mén)狗中斷,看門(mén)狗控制電路見(jiàn)圖5。
圖5 看門(mén)狗控制電路
看門(mén)狗定時(shí)周期可以由用戶自行配置。定時(shí)周期由硬件設(shè)置,缺省(SWT通過(guò)跨接跳線S1接VCC)為1.6 s。在不跨接S1的情況下,改變電容C1的值,可改變看門(mén)狗定時(shí)周期。定時(shí)周期period按下式計(jì)算(單位:ms):
[period=2.1C1]
式中:C1的單位為nF ,且C1>4.7 nF。
1.5 電壓轉(zhuǎn)換電路
PPMC8245處理器模塊上MPC8245內(nèi)核電壓為2.0 V,接口電壓可以設(shè)置成為3.3 V,其他芯片均為5 V或3.3 V電壓。5 V可由電源模塊提供,接口電壓3.3 V由5 V經(jīng)線性可調(diào)電壓轉(zhuǎn)換器LTM4600HVMPV#PBF轉(zhuǎn)換提供,最大電流10 A。處理器內(nèi)核電壓2.0 V由5 V經(jīng)線性可調(diào)電壓轉(zhuǎn)換器LTM4600HVMPV#PBF轉(zhuǎn)換提供,最大電流10 A。
1.6 中斷控制器電路設(shè)計(jì)
PPMC8245處理器模塊上有2個(gè)中斷控制器,其中內(nèi)部中斷控制器(PIC)采用OpenPIC體系結(jié)構(gòu)實(shí)現(xiàn),在MPC8245內(nèi)部實(shí)現(xiàn),支持16級(jí)的串行中斷。內(nèi)部中斷處理器可以根據(jù)中斷源的特點(diǎn)設(shè)置中斷的優(yōu)先級(jí)、電平有效方式及中斷向量。這2個(gè)中斷控制器管理的中斷送給處理器的INT中斷。其中0~15個(gè)中斷為模塊內(nèi)部中斷輸入到MPC8245上,標(biāo)識(shí)“內(nèi)部”中斷為MPC 8245內(nèi)部的中斷,其處理過(guò)程及優(yōu)先級(jí)等同16級(jí)外部一樣。所有外部中斷源均為電平觸發(fā)、低電平有效。
1.7 以太網(wǎng)接口
PPMC8245處理器模塊1路提供10M/100M快速以太網(wǎng)接口,采用Intel82551(GD82551IT)芯片實(shí)現(xiàn)。采用RJ45頭雙絞線接口,Intel82551直接連接到PCI總線上。以太網(wǎng)協(xié)議芯片配置地址為0x80006000,通過(guò)軟件可以進(jìn)行以太網(wǎng)地址的設(shè)定。
1.8 TRACE32接口
TRACE32接口用于處理器硬件調(diào)試,利用PowerPC處理器的COP接口實(shí)現(xiàn)的。通過(guò)COP接口利用相應(yīng)的TRACE32硬件調(diào)試設(shè)備可控制PowerPC處理器的工作并對(duì)板上功能邏輯進(jìn)行測(cè)試。
TRACE32接口可完成以下功能:讀/寫(xiě)內(nèi)部存儲(chǔ)器等資源;讀/寫(xiě)CPU內(nèi)部寄存器;單步,實(shí)時(shí)執(zhí)行;硬件斷點(diǎn),數(shù)據(jù)斷點(diǎn);高級(jí)和匯編級(jí)調(diào)試;FLASH編程;提供功能強(qiáng)大的描述語(yǔ)言。
1.9 串行調(diào)試接口電路
串行調(diào)試接口電路采用1片16C552實(shí)現(xiàn),44腳PQFP封裝,8位數(shù)據(jù)寬度,按8位方式訪問(wèn)。提供2路串行通信接口,串行接口的工作時(shí)鐘采用16 MHz,2路串行接口可設(shè)成RS 232/RS 422,用于與開(kāi)發(fā)平臺(tái)的通訊,最大速率115 Kb/s(典型為38.4 Kb/s)。16C552的寄存器基地址為0xFF000000。
1.10 地址空間分配
存儲(chǔ)器控制器在MPC8245內(nèi)部實(shí)現(xiàn),系統(tǒng)地址空間分為4個(gè)區(qū):局部存儲(chǔ)器,PCI存儲(chǔ)器空間,PCI I/O空間,F(xiàn)LASH存儲(chǔ)器空間。MPC8245內(nèi)部的存儲(chǔ)控制器實(shí)現(xiàn)對(duì)所有空間的控制訪問(wèn)。系統(tǒng)硬件資源分配見(jiàn)表2。
表2 系統(tǒng)硬件資源分配
1.11 PMC接口
PPMC8245模塊作為可以廣泛應(yīng)用于嵌入式計(jì)算機(jī)的處理器模塊,提供PCI總線結(jié)構(gòu),以PMC背板這種通用的連接方式快速構(gòu)建起系統(tǒng)的應(yīng)用,本模塊設(shè)計(jì)成可以做PMC處理機(jī)背板,也可以做PMC處理機(jī)基板,PMC接口實(shí)現(xiàn)標(biāo)準(zhǔn)的PCI背板總線接口。
2 結(jié) 語(yǔ)
PPMC8245處理器模塊作為具有PCI總線接口的Power PC處理器的典型代表,為以Power PC處理器為核心處理的嵌入式計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)提供技術(shù)支持,該系統(tǒng)可配置VxWorks操作系統(tǒng),并在該系統(tǒng)的平臺(tái)上完成驅(qū)動(dòng)軟件和系統(tǒng)軟件的設(shè)計(jì)。MPC8245處理器廣泛應(yīng)用于各類嵌入式計(jì)算機(jī)系統(tǒng)中,希望本文能夠?yàn)榍度胧较到y(tǒng)設(shè)計(jì)提供一定的幫助。
參考文獻(xiàn)
[1] Freescale Semiconductor. MPC8245 integrated processor reference manual [EB/OL]. [2008?03?10].http: / /www. Freescale.com.
[2] Anon. PCI lcoal bus specification revision 2. 3 [EB/OL]. [2012?12?20]. http: / / www.docin.com/p?532005.
[3] 李貴山,陳金鵬.PCI 局部總線及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003.
[4] 張斌峰,曹興岡,謝濤.機(jī)載通信管理器的處理器模塊設(shè)計(jì)[J].航空計(jì)算技術(shù),2014(3):128?131.
[5] 陳海榮.基于雙核Power PC處理器的高性能計(jì)算模塊設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2011(11):2824?2827.
[6] 劉麗君,賀占莊,李灝.基于PowerPC的嵌入式系統(tǒng)硬件設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008(2):251?252.
[7] 王旭東.基于ARM的嵌入式系統(tǒng)硬件設(shè)計(jì)研究[J].電子世界,2014(18):19?20.endprint