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