1 引言
隨著科學(xué)技術(shù)的發(fā)展,,嵌入式處理器在通信設(shè)備、消費(fèi)電子,、軍用電子等領(lǐng)域有了廣泛的應(yīng)用,,而且對(duì)處理器的處理速度、功耗及工作溫度都有了更加嚴(yán)格的要求,,尤其在汽車電子,、軍用電子等方面的應(yīng)用。
PowerPC 體系結(jié)構(gòu)是一種精簡(jiǎn)指令集計(jì)算機(jī)(Reduced Instruction Set Computer,,RISC)體系結(jié)構(gòu),,具有高性能和低功耗的特點(diǎn),主要應(yīng)用在嵌入式系統(tǒng)中,,可以作為單板計(jì)算機(jī),進(jìn)行高性能計(jì)算和圖像處理。
在PowerPC 家族中,,現(xiàn)在應(yīng)用最為廣泛的是G4 系列, G4 對(duì)G3 的重大改進(jìn)有兩個(gè),,第一是支持對(duì)稱多處理器(SMP)結(jié)構(gòu),第二是G4 引入了一流的AltiVec 技術(shù)來(lái)處理矢量運(yùn)算,。
AltiVec 技術(shù)是一個(gè)128 位的SIMD 矢量處理引擎,,據(jù)Motorala *估可以使性能提升到原來(lái)的4.3 倍。
本文以PowerPC G4 主機(jī)處理器為例,,介紹標(biāo)準(zhǔn)6U 高度CompactPCI 單板計(jì)算機(jī)的硬件設(shè)計(jì)以及實(shí)時(shí)操作系統(tǒng)VxWorks 的BSP 開(kāi)發(fā)過(guò)程,。
2 單板計(jì)算機(jī)硬件開(kāi)發(fā)
單板計(jì)算機(jī)的整體框圖如圖1 所示。
整個(gè)單板的設(shè)計(jì)分為三個(gè)部分:電源模塊,,PowerPC 部分和通信接口部分,。其中PowerPC 部分和外圍接口以PCI 總線為分界線,PowerPC 部分包括PowerPC,、host bridge,、SDRAM 和FLASH。
外圍接口包括網(wǎng)口,、串口,、通過(guò)PCI 總線擴(kuò)展的接口和擴(kuò)展的二級(jí)PCI 總線。網(wǎng)口和串口在開(kāi)發(fā)階段用于單板和開(kāi)發(fā)主機(jī)通信,,并能在單板嵌入操作系統(tǒng)后作為多個(gè)單板之間的通信接口,。框圖中PowerPC 沒(méi)有指定具體的型號(hào),,可以選擇IBM 的如PPC750,, 也可以選擇Freescale的如PowerPC G4 系列的MPC74XX,host bridge 可以選擇MARVELL 公司的MV64360 或MV*60,。用戶可以根據(jù)的不同需要選擇相應(yīng)的組合,。
2.1 電源模塊的設(shè)計(jì)
電源是任何一個(gè)電路系統(tǒng)至關(guān)重要的部分,所有的信號(hào)傳輸都是基于準(zhǔn)確而穩(wěn)定的電源基礎(chǔ)上的,。CPCI 連接器提供的電源有5V,、3.3V、12V 和-12V,,整個(gè)單板上需要的電源有多種:主電源5V,、PowerPC 的內(nèi)核電源、host bridge 內(nèi)核電源,、DDR SDRAM 電源和其余I/O總線電源3.3V,。對(duì)電流需求大,電源穩(wěn)定性要求高的,,應(yīng)采用可編程的DC/DC 控制芯片完成電源的轉(zhuǎn)換,。
電源模塊的PCB 布板也要進(jìn)行小心處理,, 主要有以下幾個(gè)方面需要注意。
a) 放置去藕電容:隨著一定數(shù)量的去藕電容被放置在板上,,電路板本身特有的諧振可以被抑制掉,,從而減少噪聲的產(chǎn)生,還可以降低電路板邊緣輻射以緩解電磁兼容問(wèn)題,。為了提高電源供電系統(tǒng)的可靠性和降低系統(tǒng)的制造成本,,應(yīng)考慮如何經(jīng)濟(jì)有效地選擇去藕電容的系統(tǒng)布局。
b) 降低電源供電系統(tǒng)的阻抗:一個(gè)低阻的電源供電系統(tǒng)(從直流到交流)是獲得低電壓波動(dòng)的關(guān)鍵:減少電感作用,,增加電容作用,,消除或降低那些諧振峰是設(shè)計(jì)目標(biāo)。為達(dá)到此目標(biāo)應(yīng)降低電源和地板層之間的間距,; 增大平板的尺寸,;提高填充介質(zhì)的介電常數(shù);采用多對(duì)電源和地板層,。
2.2 PowerPC 部分
PowerPC 部分包含PowerPC1&2,,host bridge,DDR SDRAM,,SRAM 和Flash,。此部分是整個(gè)單板計(jì)算機(jī)的核心,電路設(shè)計(jì)調(diào)試難度也最大PowerPC1&2 和DDR SDRAM 部分速度較快,,電路設(shè)計(jì)要注意PCB 布線選擇合適的拓?fù)浣Y(jié)構(gòu)和布線策略, 以保證信號(hào)完整性,。
a) 拓?fù)浣Y(jié)構(gòu)的靈活應(yīng)用
在 PCB 設(shè)計(jì)中常用的拓?fù)浣Y(jié)構(gòu)有菊花鏈拓?fù)浜托切瓮負(fù)洹R鶕?jù)不同的情況采用不同的拓?fù)浣Y(jié)構(gòu),。
一般而言,,對(duì)于多負(fù)載的總線系統(tǒng)常采用菊花鏈拓?fù)洌⒃谧钸h(yuǎn)端的負(fù)載處進(jìn)行適當(dāng)?shù)慕K結(jié),。菊花鏈拓?fù)涞膬?yōu)勢(shì)在于易于進(jìn)行阻抗控制,,端接簡(jiǎn)單,網(wǎng)絡(luò)的布線長(zhǎng)度短,,布線較為方便,,只要各個(gè)接收器在接收信號(hào)時(shí)間上的差別在允許的范圍內(nèi)就可以采用菊花鏈拓?fù)溥M(jìn)行布線(這也說(shuō)明菊花鏈拓?fù)洳贿m用于高速系統(tǒng)),注意要讓菊花鏈的分支線盡量短,。Local bus 上的外設(shè)我們是用的此種拓?fù)浣Y(jié)構(gòu),,local bus 上有Flash、DDR SRAM,、SRAM 等外設(shè),。
星形拓?fù)湟话阍跁r(shí)鐘網(wǎng)絡(luò)或?qū)π盘?hào)同步要求高的網(wǎng)絡(luò)中應(yīng)用,其共同點(diǎn)就是要求各接收器在同一時(shí)刻收到驅(qū)動(dòng)端發(fā)來(lái)的信號(hào),,星形拓?fù)涞牟季€難度比菊花鏈拓?fù)涞囊?,占用空間也大,。實(shí)際的星形拓?fù)鋾?huì)存在端接傳輸線分支,驅(qū)動(dòng)器與公共節(jié)點(diǎn)間存在傳輸線分支,,這些都會(huì)劣化信號(hào),,所以在設(shè)計(jì)星形拓?fù)湟话阈枰抡妫员WC信號(hào)的完整性,。
PowerPC1&2(U1、U2)和host bridge(U3)采用星形拓?fù)浣Y(jié)構(gòu),,其后仿真圖形如圖2 所示,,基本滿足信號(hào)完整性。時(shí)鐘電路采用星形拓?fù)浣Y(jié)構(gòu),,一個(gè)晶振作為host bridge的輸入基準(zhǔn)時(shí)鐘,,其余時(shí)鐘都由host bridge 來(lái)提供。另外 PLL 要選擇合適的參數(shù)配置,,使得芯片和電路穩(wěn)定運(yùn)行,。
b) 嚴(yán)格的等長(zhǎng)布線要求
在SDRAM 設(shè)計(jì)時(shí),要注意調(diào)整管腳SDRAM_SYNC_OUT 和SDRAM_SYNC_IN 之間的布線長(zhǎng)度,,使得SDRAM 數(shù)據(jù)相對(duì)時(shí)鐘的建立時(shí)間和保持時(shí)間得到很好的滿足,。PCI 部分的時(shí)鐘要注意管腳PCI_SYNC_OUT 和PCI_SYNC_IN 之間的布線長(zhǎng)度和PCI_CLK 相同。
2.3 通信接口部分:
通信接口實(shí)現(xiàn)人-機(jī),、機(jī)-機(jī)之間的信息交互和數(shù)據(jù)的傳輸,,無(wú)論是在系統(tǒng)調(diào)試,還是在系統(tǒng)應(yīng)用中都非常重要,。如圖1 所示,,host bridge 集成了兩個(gè)串口和3 個(gè)千兆網(wǎng)控制器,通過(guò)外接串口和網(wǎng)口的收發(fā)器設(shè)計(jì)用戶所需的通訊接口,。
串口和網(wǎng)口在開(kāi)發(fā)過(guò)程中起著重要的作用,。利用串口,通過(guò)超級(jí)終端或其它終端軟件,,可以看到調(diào)試過(guò)程中的打印的信息,,以幫助調(diào)試;利用網(wǎng)口,,可以通過(guò)網(wǎng)絡(luò)下載文件或者掛載文件系統(tǒng),。
此外,host bridge 提供兩組PCI 總線,,可以通過(guò)PCI 擴(kuò)展一些外設(shè)接口如IDE,、USB、網(wǎng)絡(luò)等,,可以根據(jù)需要進(jìn)行相應(yīng)的擴(kuò)展,。同時(shí)可以擴(kuò)展出PMC 接口,,連接標(biāo)準(zhǔn)的PMC 設(shè)備。另外,,選擇一組PCI 總線,,通過(guò)PCI to PCI bridge 將其引到J1 和J2,可以與外設(shè)板相連,,便于系統(tǒng)的擴(kuò)展,,或者在對(duì)系統(tǒng)運(yùn)算處理能力要求較高而希望功耗在比較理想范圍內(nèi)的高端應(yīng)用場(chǎng)合,可以讓兩個(gè)或者兩個(gè)以上的處理器以多處理器的方式協(xié)同工作,,組成不同的多機(jī)系統(tǒng),。
3 VxWorks BSP 開(kāi)發(fā)
嵌入式系統(tǒng)的開(kāi)發(fā),需要在硬件設(shè)計(jì)完成后嵌入操作系統(tǒng)才能進(jìn)行上層程序的開(kāi)發(fā),。VxWorks 是美國(guó)風(fēng)河公司推出的一個(gè)實(shí)時(shí)操作系統(tǒng),,它是專門為實(shí)時(shí)嵌入式系統(tǒng)設(shè)計(jì)開(kāi)發(fā)的操作系統(tǒng)內(nèi)核,它強(qiáng)大而且比較復(fù)雜的操作系統(tǒng),,包括了進(jìn)程管理,,存儲(chǔ)管理,設(shè)備管理,,文件系統(tǒng)管理,,網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾個(gè)部分,但只占用了很小的存儲(chǔ)空間,,并可高度裁減,,保證了系統(tǒng)能以較高的效率運(yùn)行。在系統(tǒng)開(kāi)發(fā)過(guò)程中一項(xiàng)重要的工作內(nèi)容是開(kāi)發(fā)板級(jí)支持包BSP(Board Support Package),。
3.1 BSP 的概述
BSP 由頭文件,、源文件、makefile 文件和派生文件組成,。它集成了與硬件相關(guān)的軟件和部分硬件無(wú)關(guān)的軟件,,提供VxWorks 訪問(wèn)硬件的驅(qū)動(dòng)程序和相關(guān)設(shè)備的初始化操作,能對(duì)CPU,、目標(biāo)機(jī)和系統(tǒng)資源等進(jìn)行初始化,。在初始化過(guò)程中,不但對(duì)CPU 內(nèi)部狀態(tài)寄存器,、控制寄存器,、高速緩存進(jìn)行設(shè)置,為上層軟件系統(tǒng)提供硬件環(huán)境的支持,,而且為操作系統(tǒng)正常運(yùn)行進(jìn)行資源初始化,。
3.2 調(diào)試過(guò)程
系統(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)試工具是Wind River 公司的調(diào)試軟件visionCLICK 及仿真器Wind River ICE。具體步驟如下圖 所示:
(1) 系統(tǒng)連接
連接好仿真器和目標(biāo)板,。主要是電源,、串口、JTAG 口,。
(2)打開(kāi)超級(jí)終端
上電后,,用仿真器的串口連接電腦的RS 232 串口,打開(kāi)超級(jí)終端,,按下仿真器的復(fù)位鍵,,在超級(jí)終端可看到仿真器的相關(guān)信息。主要看IP Address,,主機(jī)(host)的IP 的地址要和仿真器的IP 地址在同一IP 段,在超級(jí)終端可運(yùn)行help 命令,,可看到各種命令,,均可運(yùn)行。運(yùn)行"eth-setup"命令可更改仿真器的IP 地址,。
(3) 新建工程
打開(kāi) visionCLICK,,新建工程,按照提示設(shè)置,,主要有:configuration file,,symbolfile,download file 和sourcepath,,其他的選項(xiàng)默認(rèn),,生成bootrom uncmp.a(chǎn)b
(4)程序下載、調(diào)試和修改
連接仿真器,,下載,,運(yùn)行。提示無(wú)誤后,,可觀察各窗口的寄存器,,內(nèi)存等單元的值,進(jìn)試,,如有錯(cuò)誤,,修改源代碼,重新開(kāi)始編譯,、下載,,直到完全正確為止。
(5)網(wǎng)絡(luò)調(diào)試
BootROM 調(diào)試完后,,把目標(biāo)板的以太網(wǎng)口和主機(jī)的網(wǎng)口相連,,VxWorks 會(huì)自動(dòng)從網(wǎng)口引導(dǎo),,把編譯好的VxWorks 加載到目標(biāo)板,進(jìn)行調(diào)試,。
(6)程序固化和脫機(jī)運(yùn)行
最后全部完成后,,把BootROM 和VxWorks 都固化到目標(biāo)板上,以便脫機(jī)運(yùn)行,。
4 結(jié)束語(yǔ)
本文作者創(chuàng)新點(diǎn):選擇PowerPC G4 系列開(kāi)發(fā)單板機(jī),,易于控制整板的低功耗,實(shí)現(xiàn)多數(shù)據(jù)流并行處理,;同時(shí)系統(tǒng)豐富的接口設(shè)計(jì)和標(biāo)準(zhǔn)的CPCI 結(jié)構(gòu),,便于系統(tǒng)的擴(kuò)展和組建多機(jī)系統(tǒng)。隨著科技的發(fā)展,,該種計(jì)算機(jī)在消費(fèi)電子,、通信設(shè)備、工業(yè)控制和軍用電子等領(lǐng)域均有良好的應(yīng)用前景,。