<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PowerPC440GP型微控制器的嵌入式系統設計與研究

基于PowerPC440GP型微控制器的嵌入式系統設計與研究

——
作者:楊 凡 時(shí)間:2007-01-26 來(lái)源:《國外電子元器件》 收藏


1 引言

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

2 powerpc440gp的特點(diǎn)和性能

128位處理器局部總線(xiàn)(plb)可提供峰值為4.2gb/s的讀寫(xiě)能力,用來(lái)訪(fǎng)問(wèn)pci,ddr sdram等高性能設備,采用36位地址路徑,能提供64gb內存尋址能力。

32位片上外圍設備總線(xiàn)(opb)連接串口、以太網(wǎng)口、外部總線(xiàn)控制器、i2c口等低性能設備,以提高plb總線(xiàn)利用率。

10位尋址的dcr總線(xiàn)訪(fǎng)問(wèn)plb總線(xiàn)上各種主從設備的狀態(tài)與控制寄存器。

擁有64位片上雙倍速率ddr sdram控制器,最多可提供4個(gè)設備片選信號。

本文引用地址:http://dyxdggzs.com/article/21306.htm

擁有最高頻率133mhz的64位pci接口。

可支持8個(gè)外設的32位外部總線(xiàn)控制器。

2個(gè)10mb/s/100 mb/s片上以太網(wǎng)控制器。

2個(gè)串口和2個(gè)i2c口。

32個(gè)通用輸入輸出口gpio。

13個(gè)外部中斷和45個(gè)內部中斷資源。

cpu工作頻率可在400mhz、466mhz、500mhz頻率下通過(guò)初始化配置選擇,一般功耗小于4w。

電源:邏輯電壓為1.8v、ddr sdram接口電壓為2.5v、i/0口電壓為3.3v。

3 應用系統設計方案

該網(wǎng)絡(luò )服務(wù)器平臺以powerpc440gp為核心,進(jìn)行了必要的擴展,系統結構框圖如圖1所示。

系統包含powerpc440gp處理器及其上電復位電路、電源電路、系統時(shí)鐘電路、ddr內存及擴展電路、程序存儲及啟動(dòng)調試flash電路,1個(gè)連接在i2c總線(xiàn)上提供啟動(dòng)配置的eeprom,用于ice調試的jtag口,以及以太網(wǎng)口、串口等通信接口。

3.1 電源電路設計

本系統共需1.8v和2.5v、3.3v 3種電源,其中由開(kāi)關(guān)電源為系統提供統一的3.3v電源和地平面,選用lp3963es-2.5型ldo提供2.5v電壓,該電路的最大負載電流可達3a,能滿(mǎn)足系統需要。以2.5v為輸入,選用的tps77518型dc/dc轉換器提供1.8v電壓,可有效減少二次電源的功率損耗。

3.2 cpu時(shí)鐘電路設計

本系統采用一個(gè)33.33mhz的外部晶體振蕩器連接到cpu的sysclk引腳作為外部輸入的低頻時(shí)鐘源,然后通過(guò)初始化配置片內鎖相環(huán)(pll)將外部輸入的低頻時(shí)鐘源倍頻,為系統提供高頻系統時(shí)鐘。

3.3 ddr sdram電路設計

由于powerpc440gp的ddr sdram接口具有最高64位數據總線(xiàn)和8位ecc糾錯位,所以選用5個(gè)hy5du281622etp-m作為板上內存模塊,該電路結構為8m×16bits,5個(gè)內存電路共用1個(gè)bankse10片選空間,其中4個(gè)內存電路構成數據總線(xiàn)為64位的數據存儲區,內存容量為64m字節,另外1個(gè)內存電路的低8位用作ecc。還可擴展1個(gè)184針idmm(必須采用72位的ecc內存條)。內存模塊各電路及dimm的時(shí)鐘由powerpc440gp的memclkout0引腳提供(其頻率等于plb總線(xiàn)時(shí)鐘,一般為100mhz或133mhz)。為了保證各器件時(shí)鐘同步,引入cy2309時(shí)鐘匹配器件,該器件擁有內部時(shí)鐘鎖相環(huán),可以講引腳輸出的時(shí)鐘信號分成9條相位頻率完全相同的時(shí)鐘信號(5條供給芯片,4條供給dimm),并且可以避免任一時(shí)鐘信號反射對其他時(shí)鐘造成的影響。ddr sdram模塊采用sstl-2信號標準,工作電壓為2.5v。進(jìn)行布板設計時(shí)要重點(diǎn)考慮data/dm/dqs等信號線(xiàn)的走線(xiàn)及長(cháng)度、信號線(xiàn)的端接方法及符合sstl-2信號要求的端接電壓vtt和輸入參考電壓信號vref的電路設計。data/dm/dqs等信號線(xiàn)應盡量采用相同的走線(xiàn)結構并嚴格保持等長(cháng)。信號線(xiàn)末端的端接推薦使用串并聯(lián)方式,如圖2所示。這里串聯(lián)端接電阻器的阻值一般為22ω,并聯(lián)端接電阻阻值一般為25ω,位置應盡量靠近信號接收端引腳,可有效減少信號反射和電磁干擾,適應更高的時(shí)鐘率。對于端接電壓vtt和參考電壓vref,采用內存廠(chǎng)商推薦的ml6554來(lái)提供。另外,由于ddrsdram電路時(shí)序操作的復雜性,結合控制器內部時(shí)序寄存器的配置對這部分電路進(jìn)行板極仿真是非常重要的。

3.4 程序存儲電路設計

由于powerpc440gp的ebc總線(xiàn)具有32位數據線(xiàn),選擇2個(gè)mx29lv160btc型flash器件用以存放bsp、實(shí)時(shí)操作系統、vxworks和用戶(hù)應用程序。將flash的byte引腳設置為高電平,使flash工作于×16模式。這樣2個(gè)flash共用1個(gè)cs0片選空間,構成ebc數據總線(xiàn)同步訪(fǎng)問(wèn)的高16位和低16位,容量為4m字節。由于powerpc440gp采用powerpc內核,即440gp的a31是lsb,a0是msb,數據總線(xiàn)亦然,而flash的a0和d0皆是lsb,連線(xiàn)時(shí)要注意引腳次序。另外,由于flash是4字節同步讀取操作,連線(xiàn)時(shí)應將cpu的地址線(xiàn)左移2位,即最低位a0和a1不用。

為了便于系統調試,可增加1個(gè)512kb的sst39sf040用于bootrom啟動(dòng),通過(guò)跳線(xiàn)與2個(gè)flash互選cs0片選,這樣系統啟動(dòng)時(shí)會(huì )自動(dòng)從cs0的設備上讀取啟動(dòng)代碼。程序存儲模塊如圖3所示。

3.5 以太網(wǎng)接口電路設計

用rtl8201bl型網(wǎng)口電路實(shí)現powerpc440gp與100mhz以太網(wǎng)的接口,使用外部25mhz晶體振蕩器,通過(guò)16pt8515型網(wǎng)絡(luò )濾波器連接以太網(wǎng),如圖4所示。由于powerpc440gp帶有100mhz以太網(wǎng)mac,所以能夠實(shí)現和rtl8201bl的無(wú)縫連接。rtl8201bl有2種接口:sni和mii,本系統采用mii。接口的選擇可以通過(guò)設置mii/snib引腳為高電平、正確設置ane、speed和duplex引腳來(lái)實(shí)現。mii能夠運行在25mhz和2.5mhz頻率,分別為100mhz以太網(wǎng)和10mhz以太網(wǎng)支持。數據傳輸時(shí),mac首先判定then信號并將8位數據改為4位數據,再通過(guò)txd(0:3)傳導物理層上,在txen信號有效期間,phy通過(guò)傳輸時(shí)鐘信號txclk對txd(0:3)上的數據進(jìn)行同步采樣;接收數據時(shí),phy判定接收使能信號來(lái)接收rxd(0:3)上的數據。

3.6 系統啟動(dòng)配置

powerpc440gp有1個(gè)i2c總線(xiàn)啟動(dòng)配置控制器。當引腳uart0-dcd#被置為高電平時(shí)使能該控制器。選用1個(gè)保存有啟動(dòng)配置信息的at24c32連接到i2c0接口作為從設備。當系統上電或者復位時(shí),該控制器能夠從位于i2c0接口的從設備中連續讀取16個(gè)字節。這16個(gè)字節數據被保存在4個(gè)上電配置寄存器cpc0-strp0:3中,用來(lái)初始化pll設置、片內各總線(xiàn)時(shí)鐘率、啟動(dòng)位置、啟動(dòng)寬度及一些用戶(hù)定義的配置等。如果讀取數據失敗或者引腳uart0-dcd#被置于低電平,則這些配置將全部使用默認值。另一配置引腳uart0-dsr#置高電平或低電平?jīng)Q定了i2c總線(xiàn)從設備7位地址是0xa0還是0xa8。

4 vxworks的開(kāi)發(fā)與移植

本系統選用windriver公司推出的嵌入式實(shí)時(shí)操作系統vxworks及其集成開(kāi)發(fā)工具tornado。系統開(kāi)發(fā)調試工具采用windriver公司生產(chǎn)的visionice仿真器。仿真器一端連接pc網(wǎng)口,另一端連接powerpc440gp的jtag接口。開(kāi)發(fā)時(shí)首先調試powerpc內核和外部ddr sdram,一旦工作正常,就可以通過(guò)仿真器下載rtos到內存來(lái)輔助硬件調試。然后調試網(wǎng)口,如果網(wǎng)口工作正常,就可以脫離仿真器,例如tornado提供的工具軟件(例如wdb),通過(guò)網(wǎng)口線(xiàn)建立電路板與pc的通信機制,調試其他模塊和開(kāi)發(fā)應用程序。開(kāi)發(fā)程序完成后,將正確的啟動(dòng)代碼燒制到bootrom中,由bootrom引導程序通過(guò)ftp將vxworks內核與應用程序下載燒制到flash中。

vxworks廣泛流行的重要原因是它的可移植性,通過(guò)板級支持包bsp,vxworks操作系統的應用代碼可獨立于硬件。系統移植時(shí)只需根據硬件平臺修改bsp,不需要改變操作系統和應用程序。

5 vxworks bsp文件結構與開(kāi)發(fā)流程

在vxworks中,bsp由一組與特定目標系統相關(guān)的文件組成。這些文件包括編譯文件makefile、rom初始化文件rominit.s、系統初始化文件sysalib.s、配置文件comfig.h、目標板定義文件bspname.h、網(wǎng)絡(luò )配置文件confignet.h、系統庫文件syslib.c、用戶(hù)配置文件usrconfig.c、引導配置文件bootconfig.c、引導初始化文件bootinit.c、串口文件sysserial.c、以太網(wǎng)接口文件ibmemacend.c等,bsp啟動(dòng)流程如圖5所示。

5.1 建立開(kāi)發(fā)環(huán)境

主要以開(kāi)發(fā)板cpu的bsp文件為模板,在tornadotargetconfig目錄下創(chuàng )建用戶(hù)的bsp目錄bspname,把tornadotargetconfigall下的文件和bsp模板文件拷貝到該目錄下。

5.2 修改模板文件

5.2.1 makefile

該文件通過(guò)命令行方式對創(chuàng )建映像文件進(jìn)行控制,必須定義下列宏:

cpu:powerpc440gp;

tool:gnu;

tgt_dir:目標板目錄的路徑,使用默認;

target_dir:bsp目錄名,自定義;

vendor:目標生產(chǎn)商名,ibm;

board:目標板名,自定義;

rom_text_adrs:?jiǎn)?dòng)rom的入口地址,本系統設為0xfff80100;

rom_size:rom大小,本系統為512kb;

ram_low_adrs:加載vxworks的目標地址,本系統設為0x00010000;

ram_high_adrs:將引導rom映象復制到ram中的目標地址,本系統設為0x00c00000。

5.2.2 bspname.h

該文件根據powerpc440gp設置串行接口、時(shí)鐘及i/0設備等,必須包含以下內容:

中斷向量/優(yōu)先級別;

i/o設備地址;

設備寄存器各位的含義;

系統和附加時(shí)鐘參數(最大和最小速率)。

5.2.3 comfig.h

該文件包含所有與powerpc440gp目標板相關(guān)的組件。

設置缺省啟動(dòng)行:使用網(wǎng)絡(luò )啟動(dòng);

ram地址和大?。旱刂窂?開(kāi)始,64mb大小

設置ecc:使能;

設置是否支持mmu和cache:支持cache;

定時(shí)器是否使用外部時(shí)鐘:否;

串口時(shí)鐘定義:使用外部時(shí)鐘;

串口默認通道:使用通道1;

包含網(wǎng)口:支持以太網(wǎng)接口;

wdb默認通信方式:網(wǎng)口。

另外,注意rom_text_adrs,rom_size,ram_low_adrs,ram_high_adrs必須與makefile中的定義保持一致。

5.2.4 romlnit.s

該文件是一端匯編語(yǔ)言的初始化代碼,其中的rominit()函數是bootrom和基于rom的vxworks映象的入口。需要做的工作有:

將相關(guān)寄存器清零和置位;

屏蔽中斷:通過(guò)設置msr寄存器中的ce位與ee位;

關(guān)閉數據、指令cache;

初始化ebc總線(xiàn)寄存器:通過(guò)對bank寄存器的設置為ebc總線(xiàn)上的各種設備分配片選信號與地址空間;

初始化內存:對ddr sdram接口各寄存器進(jìn)行配置,為板載內存與dimm分配片選信號與地址空間。注意時(shí)序寄存器sdram0_tr1,sdram0_wrdtr等的配置應與內存模塊的布線(xiàn)仿真結合起來(lái);

初始化堆棧指針;

計算romstart()函數地址,然后跳轉到該函數執行c語(yǔ)言代碼,并不再返回。

5.2.5 用戶(hù)配置文件usrconfig.c

其中的代碼是vxworks映象的主要初始化代碼,而引導配置文件bootconfig.c中的代碼是bootrom映象的主要初始化代碼。bootinit.c是rom初始化的第2階段,rominit()完成后跳轉到此文件中的romstart(),該函數完成rom映象所需要的解壓縮和重定位工作。以上3個(gè)文件一般無(wú)須用戶(hù)直接修改。

5.2.6 系統庫文件syslib.c

該文件包含與特定目標系統相關(guān)的庫函數,這些函數為操作系統和應用程序提供板級接口,使這些程序與硬件系統無(wú)關(guān)。該文件至少包含下列函數:sysmodel,sysbsprev,syshwinit,syshwinit2和sys memtop等,其中syshwinit是本文件的核心,大部分硬件初始化工作都在這部分完成,本系統也可選擇將包括串口,網(wǎng)口等硬件設備的初始化入口程序添加到該函數中,相關(guān)設備的驅動(dòng)程序可作為子文件引入syslib.c。

5.3 創(chuàng )建vxworks映象

根據具體需要在命令行環(huán)境下利用makefile創(chuàng )建各種鏡像,也可以在tornado集成環(huán)境下在build菜單里選擇build boot rom來(lái)創(chuàng )建各種類(lèi)型的bootrom。

6 結束語(yǔ)

介紹了一種新型高性能嵌入式處理器,并對以這種處理器為核心構建的網(wǎng)絡(luò )服務(wù)器的硬件設計和軟件開(kāi)發(fā)流程做了詳細說(shuō)明。鑒于不同處理器的嵌入式系統設計具有一定的共性,本文可為其他類(lèi)型的嵌入式系統開(kāi)發(fā)提供一定的參考。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>