基于PowerPC的嵌人式系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著科學(xué)技術(shù)的發(fā)展,嵌入式處理器在通信設(shè)備、消費(fèi)電子、軍用電子等領(lǐng)域有了廣泛的應(yīng)用,而且對(duì)處理器的處理速度、功耗及工作溫度都有了更加嚴(yán)格的要求,尤其在汽車電子、軍用電子等方面的應(yīng)用。
Freescale公司的MlPC5200B是一款緊湊型、低功率的嵌入式處理器,與其他的嵌入式處理器相比具有獨(dú)特之處,能滿足上述的性能要求。MP(25200B集成有高性能的MPC603e內(nèi)核,該內(nèi)核采用超標(biāo)量體系結(jié)構(gòu),能在400MHz的頻率和一40~85℃的溫度范圍內(nèi)處理速度為760MIPS,105℃時(shí)以264MHz(500MIPS)運(yùn)行,適用于更高溫度級(jí)別的環(huán)境。而且.MPC603e內(nèi)核集成了一個(gè)高性能、雙精度的浮點(diǎn)單元(FPU),可加快與其他關(guān)鍵任務(wù)平行的復(fù)雜數(shù)學(xué)運(yùn)算的速度??蔀榇蠖鄶?shù)視頻算法提供足夠的支持。此外,MPC5200B集成了豐富的外設(shè)接口[1],其強(qiáng)大的功能符合汽車電子系統(tǒng)開發(fā)的需求,為系統(tǒng)的開發(fā)提供了保證。
2系統(tǒng)的硬件設(shè)計(jì)
設(shè)計(jì)基于MPC5200B的嵌入式視頻處理系統(tǒng),在硬件方面需要提供全面的通信、足夠的內(nèi)存、調(diào)試功能以及測(cè)試顯示功能。根據(jù)設(shè)計(jì),本系統(tǒng)主要由主處理器部分、視頻信號(hào)輸入部分、數(shù)據(jù)存儲(chǔ)部分、顯示部分、通信部分等組成,如圖1所示。
主處理器部分的設(shè)計(jì)主要包括了系統(tǒng)電源、PLL電源電路、時(shí)鐘電路、軟硬件復(fù)位電路、上電復(fù)位電路和下載調(diào)試電路等。
存儲(chǔ)單元部分的存儲(chǔ)器主要取決于微處理器的支持,MPC5200B支持的存儲(chǔ)器主要包括SDRAM,ROM,F(xiàn)LASH,SRAM等。容量的大小取決于內(nèi)核映射、操作系統(tǒng)、文件系統(tǒng)等的大小。
視頻輸入部分,模擬視頻信號(hào)由差分電路輸入,通過AD轉(zhuǎn)換器AD9883A轉(zhuǎn)換成數(shù)字信號(hào),再送到MPC5200進(jìn)行處理。
通信接口部分電路包括:人-機(jī)接口和機(jī)-機(jī)接口,提供了1個(gè)Ethernet接口、1個(gè)RS232接13、1個(gè)PCI接口、1個(gè)I2C接口等。
2.1存儲(chǔ)系統(tǒng)設(shè)計(jì)
MPC5200B具有兩組外部總線:SDRAM總線和LocalPlus總線,SDRAM總線支持同步的單速率DRAM和雙速率DRAM,采用突發(fā)式讀取方式,提高了SDRAM總線的帶寬。SDRAM總線的時(shí)鐘頻率等于內(nèi)部總線XLBus的時(shí)鐘頻率。而LocalPlus總線一般可以和ROM,F(xiàn)LASH,SRAM及其他的外圍設(shè)備相連接。
2.1.1MPC5200B與SDRAM的連接
MPC5200B內(nèi)部自帶16kB的SRAM,但需要擴(kuò)展外部存儲(chǔ)器,通過SDRAM控制器與外部SDRAM相連接,SDRAM用于存儲(chǔ)系統(tǒng)所要處理的數(shù)據(jù)等。本系統(tǒng)采用兩片MICRON公司的MT48LCl6M16A2SDRAM存儲(chǔ)器,MT48LCl6M16A2是3.3V供電,支持自刷新模式,每8192個(gè)SDRAM時(shí)鐘周期(64ms)刷新一次,其容量為256Mb,可配置為64M×4b,32M×8b,16M×16b。兩片SDRAM可構(gòu)成16M×32b的外部SDRAM存儲(chǔ)器,連接原理圖如圖2所示。
當(dāng)上電復(fù)位時(shí),SDRAM總線是無效的,也就是說SDRAM的片選信號(hào)是無效的,所以上電時(shí)得先配置初始化寄存器,使SDRAM的片選信號(hào)有效,然后才能從SDRAM總線上讀取數(shù)據(jù),使系統(tǒng)正常運(yùn)行。
SDRAM在上電100~200μs后,必須由一個(gè)初始化進(jìn)程來配置SDRAM的模式寄存器,模式寄存器的值決定著SDRAM的工作方式,具體操作步驟如下:
(1)確定SDRAM的片選信號(hào)CS#的空間;
(2)根據(jù)SDRAM的參數(shù)和時(shí)鐘頻率計(jì)算存儲(chǔ)器、控制器寄存器的值;
(3)寫SDRAM的模式寄存器和控制寄存器。
2.1.2MPC5200B與FLASH的連接
FLASH采用的是AMD公司的AM29LV065D,容量是8M×8B,支持3.0~3.6V的讀、擦除和編程操作,用于存儲(chǔ)系統(tǒng)的引導(dǎo)程序,與MPC5200B的連接原理圖如圖3所示。芯片AM29I。V065D是23根地址線和8根數(shù)據(jù)線,所以MPC5200B與AM29LV065D的連接可采用nonMUXed模式。MPC5200B的LocalPlus總線的高8位AD[31:24]作為數(shù)據(jù)線和FLASH的數(shù)據(jù)線相連接,而總線的低24位AD[23:0]作為地址總線與FLASH的地址線相連接。
因?yàn)橄到y(tǒng)上電后,系統(tǒng)從與LPCS0相連的存儲(chǔ)設(shè)備啟動(dòng),所以FLASH做BootROM時(shí),片選信號(hào)CE#必須與MPC5200B的LPCS0引腳相連接。
FLASH是慢速設(shè)備,需要一些等待狀態(tài),因此在每次Boot時(shí),需要默認(rèn)最長(zhǎng)的時(shí)間來啟動(dòng)MPC5200B。最長(zhǎng)等待狀態(tài)為48個(gè)PCIClocks(即727ns,當(dāng)LocalPlus頻率為66MHz時(shí))。
2.2通信接口的設(shè)計(jì)
通信接口的主要功能是實(shí)現(xiàn)人-機(jī)、機(jī)-機(jī)之間的信息交互和數(shù)據(jù)的傳輸。主要設(shè)計(jì)包括以下幾點(diǎn):
Ethernet收發(fā)器采用的是Intel公司的芯片LXT972A,與MPC5200B的以太網(wǎng)口控制器相連。RXCLK與TXCLK:接收和發(fā)送時(shí)鐘信號(hào),由LXT972A提供,連接到MPC5200的以太網(wǎng)控制器端口。RXD[3:O],TXD[3:O]:分別為接收和發(fā)送信號(hào),由MPC5200提供,連接到LXT972A的RXD和TXD13。TXEN:發(fā)送使能信號(hào)。COL::沖突監(jiān)測(cè)信號(hào),驅(qū)動(dòng)控制器的沖突監(jiān)測(cè)輸入。
PCI接口控制器主要功能是實(shí)現(xiàn)主處理器與視頻輸入部分之間的數(shù)據(jù)傳輸。PCI的數(shù)據(jù)地址總線是復(fù)用的,均為MPC5200B的LocalPlus總線的數(shù)據(jù)地址總線,而PCI的控制信號(hào)線是由MPC5200的PCI控制器提供的。
RS232收發(fā)器采用的是MAXIM公司的MAX3232,與MPC5200B的UART口相連接。
2.3與LCD控制器的接口設(shè)計(jì)
LCD控制器采用愛普生公司的液晶控制芯片S1D13806,S1D13806是高度集成的彩色LCD/CRT/TV圖像控制器,內(nèi)部集成有1280kb的SDRAM,支持多CPU接13,S1D13806的體系結(jié)構(gòu)滿足嵌入式系統(tǒng)的低電壓、低功耗的要求。S1D13806具有21條地址線和16條獨(dú)立的數(shù)據(jù)線,與LocalPlus總線的連接方式可為混合模式,因?yàn)镸PC5200B的總線為數(shù)據(jù)、地址線復(fù)用的,所以需要地址鎖存器來鎖存地址。連接示意圖如圖4所示。
2.4系統(tǒng)復(fù)位和配置
[!--empirenews.page--]MPC5200B有3個(gè)基本的復(fù)位信號(hào),上電復(fù)位、內(nèi)部/外部硬件復(fù)位和內(nèi)部/外部軟件復(fù)位。
系統(tǒng)上電復(fù)位時(shí)間在上電后至少要保持35μs,這樣系統(tǒng)時(shí)鐘信號(hào)才能趨于一個(gè)穩(wěn)定的狀態(tài)。而硬件和軟件復(fù)位信號(hào)要保持4095個(gè)時(shí)鐘周期的低電平。
當(dāng)外部硬件復(fù)位信號(hào)HRESET#有效時(shí),內(nèi)部復(fù)位邏輯捕捉到外部復(fù)位信號(hào)為低電平時(shí),使內(nèi)部硬件復(fù)位和軟件復(fù)位信號(hào)保持4095個(gè)時(shí)鐘周期的低電平。而只有當(dāng)外部硬件復(fù)位信號(hào)至少保持4個(gè)時(shí)鐘周期的有效電平后才能被確認(rèn)為有效復(fù)位信號(hào)。MPC5200B的時(shí)鐘分配模塊(CDM)中的寄存器有軟件復(fù)位設(shè)置位,可通過微處理器來設(shè)置。當(dāng)這個(gè)寄存器中的軟件復(fù)位位設(shè)置為0時(shí),會(huì)引起外部和內(nèi)部的軟件復(fù)位[1]。
3系統(tǒng)的BSP配置
硬件系統(tǒng)設(shè)計(jì)完成以后還要進(jìn)行嵌入式系統(tǒng)的設(shè)計(jì)。VxWorks以其優(yōu)越的性能被廣泛運(yùn)用于各種嵌入式系統(tǒng)。
3.1BSP的概述
3.1.1BSP的功能
(1)初始化
CPU初始化初始化CPU內(nèi)部狀態(tài)寄存器、控制寄存器、高速緩存等。
目標(biāo)機(jī)初始化初始化控制芯片的寄存器(如BUS,DMA,DRAM)、I/O寄存器,為上層軟件系統(tǒng)提供硬件環(huán)境的支持。
系統(tǒng)資源初始化初始化操作系統(tǒng),為操作系統(tǒng)正常運(yùn)行進(jìn)行資源初始化。
(2)提供VxWorks訪問硬件的驅(qū)動(dòng)程序和相關(guān)設(shè)備的初始化操作。
(3)集成了與硬件相關(guān)的軟件和部分硬件無關(guān)的軟件。
3.1.2BSP的組成
BSP由頭文件、源文件、makefile文件和派生文件組成。
3.2調(diào)試過程
系統(tǒng)設(shè)計(jì)時(shí)采用Bootrom加VxWorks的方式,這種啟動(dòng)形式有其獨(dú)特優(yōu)點(diǎn),如適應(yīng)硬件、方便現(xiàn)場(chǎng)調(diào)試等。
本系統(tǒng)采用的調(diào)試工具是WindRiver公司的調(diào)試軟件visionCLICK及仿真器WindRiverICE。具體步驟如下:
(1)連接好仿真器和目標(biāo)板。主要是電源、串口、JTAG口。
(2)上電后,用仿真器的串口連接電腦的RS232串口,打開超級(jí)終端,按下仿真器的復(fù)位鍵,在超級(jí)終端可看到仿真器的相關(guān)信息。主要看IPAddress,主機(jī)(host)的IP的地址要和仿真器的IP地址在同一IP段,在超級(jí)終端可運(yùn)行help命令,可看到各種命令,均可運(yùn)行。運(yùn)行"eth-setup"命令可更改仿真器的IP地址。
(3)打開visionCLICK,新建工程,按照提示設(shè)置,主要有:configurationfile,symbolfile,downloadfile和sourcepath,其他的選項(xiàng)默認(rèn),生成bootromuncmp.a(chǎn)b和bootrom_unemp.bdx
(4)連接仿真器,下載,運(yùn)行。提示無誤后,可觀察各窗口的寄存器,內(nèi)存等單元的值,進(jìn)行調(diào)試,如有錯(cuò)誤,修改源代碼,重新開始編譯、下載,直到完全正確為止。
BootROM調(diào)試完后,把目標(biāo)板的以太網(wǎng)口和主機(jī)的網(wǎng)口相連,BootROM會(huì)自動(dòng)從網(wǎng)口引導(dǎo),把編譯好的VxWorks加載到目標(biāo)板,進(jìn)行調(diào)試。最后全部完成后,把BootROM和VxWorks都固化到目標(biāo)板上,以便脫機(jī)運(yùn)行。
4結(jié)語
系統(tǒng)的硬件設(shè)計(jì)完成后,在基于MPC5200B的嵌入式視頻處理系統(tǒng)的硬件基礎(chǔ)上,移植了嵌入式操作系統(tǒng)VxWorks,然后進(jìn)行相關(guān)的驅(qū)動(dòng)程序和應(yīng)用程序的開發(fā),并選擇相應(yīng)的視頻圖像處理算法,實(shí)現(xiàn)完整的嵌入式視頻處理系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)滿足視頻信號(hào)處理的要求。隨著科技的發(fā)展,嵌入式計(jì)算機(jī)在消費(fèi)電子、通信設(shè)備、工業(yè)控制和軍用電子等領(lǐng)域均有廣泛的應(yīng)用,所以本系統(tǒng)的應(yīng)用前景是非常廣泛的。