當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于PowerPC440GP型微控制器的嵌入式系統(tǒng)設(shè)計(jì)

摘要:介紹一種新型PowerPC440GP型32住高性能微控制器,提出一種基于PowerPC440GP的網(wǎng)絡(luò)服務(wù)器嵌入式系統(tǒng)硬件設(shè)計(jì)方案并給出部分設(shè)計(jì)細(xì)節(jié),然后討論基于此硬件平臺(tái)的嵌入式操作系統(tǒng)VxWorks的開發(fā)、移植及BSP引導(dǎo)程序的開發(fā)流程。
關(guān)鍵詞:精簡指令集計(jì)算機(jī)(RISC);PowerPC440GP;VxWorks BSP;BootROM


1 引言
    PowerPC440GP是IBM公司推出的高性能32位RISC嵌入式處理器,片上集成了PowerPC440內(nèi)核及各種豐富的外圍設(shè)備接口資源,最高速度可達(dá)500 MHz,適合應(yīng)用在嵌入式產(chǎn)品諸如交換機(jī)、路由器、網(wǎng)絡(luò)服務(wù)器等臺(tái)式設(shè)備中。本文針對(duì)該處理器的特點(diǎn)提出一種針對(duì)網(wǎng)絡(luò)服務(wù)器的較為通用的應(yīng)用系統(tǒng)設(shè)計(jì)方案,并對(duì)此方案的關(guān)鍵軟硬件技術(shù)進(jìn)行討論。

2 PowerPC440GP的特點(diǎn)與性能
    128位處理器局部總線(PLB)可提供峰值為4.2GB/s的讀寫能力,用來訪問PCI,DDR SDRAM等高性能設(shè)備,采用36位地址路徑,能提供64 GB內(nèi)存尋址能力。
    32位片上外圍設(shè)備總線(0PB)連接串口、以太網(wǎng)口、外部總線控制器、I2C口等低性能設(shè)備,以提高PLB總線利用率。
    10位尋址的DCR總線訪問PLB總線上各種主從設(shè)備的狀態(tài)與控制寄存器。
    擁有64位片上雙倍速率DDR SDRAM控制器,最多可提供4個(gè)設(shè)備片選信號(hào)。
    擁有最高頻率133MHz的64位PCI接口。
    可支持8個(gè)外設(shè)的32位外部總線控制器。
    2個(gè)10 MB/s/100 MB/s片上以太網(wǎng)控制器。
    2個(gè)串口和2個(gè)I2C口。
    32個(gè)通用輸入輸出口GPIO。
    13個(gè)外部中斷和45個(gè)內(nèi)部中斷資源。
    CPU工作頻率可在400 MHz、466 MHz、500MHz頻率下通過初始化配置選擇,一般功耗小于4W。
    電源:邏輯電壓為1.8 V,DDR SDRAM接口電壓為2.5V,I/O口電壓為3.3V。

3 應(yīng)用系統(tǒng)設(shè)計(jì)方案
   
該網(wǎng)絡(luò)服務(wù)器平臺(tái)以PowerPC440GP為核心,進(jìn)行了必要的擴(kuò)展,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

    系統(tǒng)包含PowerPC440GP處理器及其上電復(fù)位電路、電源電路、系統(tǒng)時(shí)鐘電路、DDR內(nèi)存及擴(kuò)展電路、程序存儲(chǔ)及啟動(dòng)調(diào)試Flash電路,1個(gè)連接在I2C總線上提供啟動(dòng)配置的EEPROM,用于ICE調(diào)試的JTAG口,以及以太網(wǎng)口、串口等通信接口。
3.1 電源電路設(shè)計(jì)
    本系統(tǒng)共需1.8 V和2.5 V、3.3 V 3種電源,其中由開關(guān)電源為系統(tǒng)提供統(tǒng)一的3.3 V電源和地平面,選用LP3963ES-2.5型LDO提供2.5 V電壓,該電路的最大負(fù)載電流可達(dá)3 A,能滿足系統(tǒng)需要。以2.5 V為輸入,選用的TPS77518型DC/DC轉(zhuǎn)換器提供1.8 V電壓,可有效減少二次電源的功率損耗。
3.2 CPU時(shí)鐘電路設(shè)計(jì)
   
本系統(tǒng)采用一個(gè)33.33 MHz的外部晶體振蕩器連接到CPU的Sysclk引腳作為外部輸入的低頻時(shí)鐘源,然后通過初始化配置片內(nèi)鎖相環(huán)(PLL)將外部輸入的低頻時(shí)鐘源倍頻,為系統(tǒng)提供高頻系統(tǒng)時(shí)鐘。
3.3 DDR SDRAM電路設(shè)計(jì)
    由于PowerPC440GP的DDR SDRAM接口具有最高64位數(shù)據(jù)總線和8位ECC糾錯(cuò)位,所以選用5個(gè)HY5DU281622ETP-M作為板上內(nèi)存模塊,該電路結(jié)構(gòu)為8 Mxl6 bits,5個(gè)內(nèi)存電路共用1個(gè)bankSel0片選空間,其中4個(gè)內(nèi)存電路構(gòu)成數(shù)據(jù)總線為64位的數(shù)據(jù)存儲(chǔ)區(qū),內(nèi)存容量為64 M字節(jié),另外1個(gè)內(nèi)存電路的低8位用作ECC。還可擴(kuò)展1個(gè)184針的DIMM(必須采用72位的ECC內(nèi)存條)。內(nèi)存模塊各電路及DIMM的時(shí)鐘由PowerPC440GP的Memclkout0引腳提供(其頻率等于PLB總線時(shí)鐘,一般為100 MHz或133 MHz)。為了保證各器件時(shí)鐘同步.引入CY2309時(shí)鐘匹配器件,該器件擁有內(nèi)部時(shí)鐘鎖相環(huán),可以將引腳輸出的時(shí)鐘信號(hào)分成9條相位頻率完全相同的時(shí)鐘信號(hào)(5條供給芯片,4條供給DIMM),并且可以避免任一時(shí)鐘信號(hào)反射對(duì)其他時(shí)鐘造成的影響。DDRSDRAM模塊采用SSTL-2信號(hào)標(biāo)準(zhǔn),工作電壓為2.5 V。進(jìn)行布板設(shè)計(jì)時(shí)要重點(diǎn)考慮Data/DM/DQS等信號(hào)線的走線及長度、信號(hào)線的端接方法及符合SSTL-2信號(hào)要求的端接電壓VTT和輸入?yún)⒖茧妷盒盘?hào)VREF的電路設(shè)計(jì)。Data/DM/DQS等信號(hào)線應(yīng)盡量采用相同的走線結(jié)構(gòu)并嚴(yán)格保持等長。信號(hào)線末端的端接推薦使用串并聯(lián)方式,如圖2所示。這里串聯(lián)端接電阻器的阻值一般為22 Ω,并聯(lián)端接電阻器阻值一般為25 Ω,位置應(yīng)盡量靠近信號(hào)接收端引腳,可有效減少信號(hào)反射和電磁干擾,適應(yīng)更高的時(shí)鐘率。對(duì)于端接電壓VTT和參考電壓VREF,采用內(nèi)存廠商推薦的ML6554來提供。另外,由于DDRSDRAM電路時(shí)序操作的復(fù)雜性,結(jié)合控制器內(nèi)部時(shí)序寄存器的配置對(duì)這部分電路進(jìn)行板級(jí)仿真是非常重要的。

3.4 程序存儲(chǔ)電路設(shè)計(jì)
   
由于PowerPC440GP的EBC總線具有32位數(shù)據(jù)線,選擇2個(gè)MX29LVl60BTC型Flash器件用以存放BSP、實(shí)時(shí)操作系統(tǒng)VxWorks和用戶應(yīng)用程序。將Flash的BYTE引腳設(shè)置為高電平,使Flash工作于x16模式。這樣2個(gè)Flash共用1個(gè)CS0片選空間,構(gòu)成EBC數(shù)據(jù)總線同步訪問的高16位和低16位,容量為4M字節(jié)。由于PowePC440GP采用PowerPC內(nèi)核,即440GP的A31是LSB,A0是MSB,數(shù)據(jù)總線亦然,而Flash的A0和DO皆是LSB,連線時(shí)要注意引腳次序。另外,由于Flash是4字節(jié)同步讀取操作,連線時(shí)應(yīng)將CPU的地址線左移2位,即最低位A0和Al不用。
    為了便于系統(tǒng)調(diào)試,可增加1個(gè)512 KB的SST39SF040用于BootROM啟動(dòng),通過跳線與2個(gè)Flash互選CS0片選,這樣系統(tǒng)啟動(dòng)時(shí)會(huì)自動(dòng)從CSO的設(shè)備上讀取啟動(dòng)代碼。程序存儲(chǔ)模塊如圖3所示。

3.5 以太網(wǎng)接口電路設(shè)計(jì)
    用RTL8201BL型網(wǎng)口電路實(shí)現(xiàn)Power-PC440GP與100MHz以太網(wǎng)的接口,使用外部25MHz晶體振蕩器,通過16PT8515型網(wǎng)絡(luò)濾波器連接以太網(wǎng),如圖4所示。由于PowerPC440GP帶有100 MHz以太網(wǎng)MAC,所以能夠?qū)崿F(xiàn)和RTL820lBL的無縫連接。RTL8201BL有2種接口:SNI和MII,本系統(tǒng)采用MII。接口的選擇可以通過設(shè)置MII/SNIB引腳為高電平、正確設(shè)置ANE、SPEED和DUPLEX引腳來實(shí)現(xiàn)。MII能夠運(yùn)行在25 MHz和2.5 MHz頻率,分別為100 MHz以太網(wǎng)和lO MHz以太網(wǎng)支持。數(shù)據(jù)傳輸時(shí),MAC首先判定THEN信號(hào)并將8位數(shù)據(jù)改為4位數(shù)據(jù),再通過TXD[0:3]傳到物理層上,在TXEN信號(hào)有效期間,PHY通過傳輸時(shí)鐘信號(hào)TXCLK對(duì)TXD[0:3]上的數(shù)據(jù)進(jìn)行同步采樣;接收數(shù)據(jù)時(shí),PHY判定接收使能信號(hào)來接收RXD[0:3]上的數(shù)據(jù)。

3.6 系統(tǒng)啟動(dòng)配置
    PowerPC440GP有1個(gè)I2C總線啟動(dòng)配置控制器。當(dāng)引腳UARTO-DCD#被置為高電平時(shí)使能該控制器。選用1個(gè)保存有啟動(dòng)配置信息的AT24C32連接到I2CO接口作為從設(shè)備。當(dāng)系統(tǒng)上電或者復(fù)位時(shí),該控制器能夠從位于I2C0接口的從設(shè)備中連續(xù)讀取16個(gè)字節(jié)。這16個(gè)字節(jié)數(shù)據(jù)被保存在4個(gè)上電配置寄存器CPC0-STRPO:3中,用來初始化PLL設(shè)置、片內(nèi)各總線時(shí)鐘率、啟動(dòng)位置、啟動(dòng)寬度及一些用戶定義的配置等。如果讀取數(shù)據(jù)失敗或者引腳UART0-DCD#被置于低電平,則這些配置將全部使用默認(rèn)值。另一配置引腳UART0-DSR#置高電平或低電平?jīng)Q定了I2C總線從設(shè)備7位地址是0xA0還是0xA8。

4 VxWorks的開發(fā)與移植
   
本系統(tǒng)選用Windriver公司推出的嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks及其集成開發(fā)工具Tornado。系統(tǒng)開發(fā)調(diào)試工具采用Windriver公司生產(chǎn)的Vision-Ice仿真器。仿真器一端連接PC網(wǎng)口,另一端連接PowerPC440GP的JTAG接口。開發(fā)時(shí)首先調(diào)試PowerPC內(nèi)核和外部DDR SDRAM,一旦工作正常,就可以通過仿真器下載RTOS到內(nèi)存來輔助硬件調(diào)試。然后調(diào)試網(wǎng)口,如果網(wǎng)口工作正常,就可以脫離仿真器,利用Tornado提供的工具軟件(例如WDB),通過網(wǎng)口線建立電路板與PC的通信機(jī)制,調(diào)試其他模塊和開發(fā)應(yīng)用程序。開發(fā)程序完成后,將正確的啟動(dòng)代碼燒制到BootROM中,由BootROM引導(dǎo)程序通過ftp將VxWorks內(nèi)核與應(yīng)用程序下載燒制到Flash中。
    VxWorks廣泛流行的重要原因是它的可移植性,通過板級(jí)支持包BSP,VxWorks操作系統(tǒng)的應(yīng)用代碼可獨(dú)立于硬件。系統(tǒng)移植時(shí)只需根據(jù)硬件平臺(tái)修改BSP,不需要改變操作系統(tǒng)和應(yīng)用程序。

5 VxWorks BSP文件結(jié)構(gòu)與開發(fā)流程
   
在VxWorks中,BSP由一組與特定目標(biāo)系統(tǒng)相關(guān)的文件組成。這些文件包括編譯文件makefile、ROM初始化文件romInit.s、系統(tǒng)初始化文件sysAlib.s、配置文件config.h、目標(biāo)板定義文件bspname.h、網(wǎng)絡(luò)配置文件configNet.h、系統(tǒng)庫文件sysLib.c、用戶配置文件usrConfig.c、引導(dǎo)配置文件bootConfig.c、引導(dǎo)初始化文件bootlnit.C、串口文件sysSerial.c、以太網(wǎng)接口文件ibmEmacEnd.c等,BSP啟動(dòng)流程如圖5所示。

5.1 建立開發(fā)環(huán)境
    主要以開發(fā)板CPU的BSP文件為模板,在 ornado argetconfig目錄下創(chuàng)建用戶的BSP目錄bspname,把 ornado argetconfigall下的文件和BSP模板文件拷貝到該目錄下。
5.2 修改模板文件
5.2.1 makefile

    該文件通過命令行方式對(duì)創(chuàng)建映像文件進(jìn)行控制,必須定義下列宏:
    CPU:PowerPC440GP;
    TOOL:GNU;
    TGT_DIR:目標(biāo)板目錄的路徑,使用默認(rèn);
    TARGET_DIR:BSP目錄名,自定義;
    VENDOR:目標(biāo)生產(chǎn)商名,IBM;
    BOARD:目標(biāo)板名,自定義;
    ROM_TEXT_ADRS:啟動(dòng)ROM的入口地址,本系統(tǒng)設(shè)為O×fff80100;
    ROM_SIZE:ROM大小,本系統(tǒng)為512 KB;
    RAM_LOW_ADRS:加載VxWorks的目標(biāo)地址,本系統(tǒng)設(shè)為0x00010000;
    RAM_HIGH_ADRS:將引導(dǎo)ROM映像復(fù)制到RAM中的目標(biāo)地址,本系統(tǒng)設(shè)為0x00C00000。
5.2.2 bspname.h
    該文件根據(jù)PowerPC440GP設(shè)置串行接口、時(shí)鐘及I/O設(shè)備等,必須包含以下內(nèi)容:
    中斷向量/優(yōu)先級(jí)別;
    I/0設(shè)備地址;
    設(shè)備寄存器各位的含義;
    系統(tǒng)和附加時(shí)鐘參數(shù)(最大和最小速率)。
5.2.3 config.h
    該文件包含定義所有與PowerPC440GP目標(biāo)板相關(guān)的組件。
    設(shè)置缺省啟動(dòng)行:使用網(wǎng)絡(luò)啟動(dòng);
    RAM地址和大?。旱刂窂?開始,64 MB大小設(shè)置ECC:使能;
    設(shè)置是否支持MMU和Cache:支持Cache;
    定時(shí)器是否使用外部時(shí)鐘:否;
    串口時(shí)鐘定義:使用外部時(shí)鐘;
    串口默認(rèn)通道:使用通道1;
    包含網(wǎng)口:支持以太網(wǎng)接口;
    WDB默認(rèn)通信方式:網(wǎng)口。
    另外,注意ROM_TEXT_ADRS,ROM_SIZE,RAM_LOW_ADRS,RAM_HIGH_ADRS必須與makefile中的定義保持一致。
5.2.4 romInit.s
    該文件是一端匯編語言的初始化代碼,其中的romInit()函數(shù)是BootROM和基于ROM的Vx-Works映像的入口。需要做的工作有:
    將相關(guān)寄存器清零和置位;
    屏蔽中斷:通過設(shè)置MSR寄存器中的CE位與EE位;
    關(guān)閉數(shù)據(jù)、指令Cache;
    初始化EBC總線寄存器:通過對(duì)bank寄存器的設(shè)置為EBC總線上的各種設(shè)備分配片選信號(hào)與地址空間;
    初始化內(nèi)存:對(duì)DDR SDRAM接口各寄存器進(jìn)行配置,為板載內(nèi)存與DIMM分配片選信號(hào)與地址空間。注意時(shí)序寄存器SDRAM0_TRl,SDRAM0_WRDTR等的配置應(yīng)與內(nèi)存模塊的布線仿真結(jié)合起來;
    初始化堆棧指針;
    計(jì)算romStart()函數(shù)地址,然后跳轉(zhuǎn)到該函數(shù)執(zhí)行C語言代碼,并不再返回。
5.2.5 用戶配置文件usrConfig.c
    其中的代碼是VxWorks映像的主要初始化代碼,而引導(dǎo)配置文件bootConfig.c中的代碼是bootrom映像的主要初始化代碼。bootInit.c是ROM初始化的第2階段,RomInit()完成后跳轉(zhuǎn)到此文件中的romStart(),該函數(shù)完成ROM映像所需要的解壓縮和重定位工作。以上3個(gè)文件一般無須用戶直接修改。
5.2.6 系統(tǒng)庫文件syslib.c
    該文件包含與特定目標(biāo)系統(tǒng)相關(guān)的庫函數(shù),這些函數(shù)為操作系統(tǒng)和應(yīng)用程序提供板級(jí)接口,使這些程序與硬件系統(tǒng)無關(guān)。該文件至少包含下列函數(shù):sysModel,sysBspRev,sysHwInit,sysHwInit2和sys MemTop等,其中sysHwInit是本文件的核心,大部分硬件初始化工作都在這部分完成,本系統(tǒng)也可選擇將包括串口,網(wǎng)口等硬件設(shè)備的初始化入口程序添加到該函數(shù)中,相關(guān)設(shè)備的驅(qū)動(dòng)程序可作為子文件引入syslib.c。
5.3 創(chuàng)建VxWorks映像
   
根據(jù)具體需要在命令行環(huán)境下利用makefile創(chuàng)建各種鏡像,也可以在Tornado集成環(huán)境下在Build菜單里選擇Build Boot Rom來創(chuàng)建各種類型的BootROM。

6 結(jié)束語
   
介紹了一種新型高性能嵌入式處理器,并對(duì)以這種處理器為核心構(gòu)建的網(wǎng)絡(luò)服務(wù)器的硬件設(shè)計(jì)和軟件開發(fā)流程做了詳細(xì)說明。鑒于不同處理器的嵌入式系統(tǒng)設(shè)計(jì)具有一定的共性,本文可為其他類型的嵌入式系統(tǒng)開發(fā)提供一定的參考。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉