王宗超,馬建設(shè),周 倩,王偉能,趙 詣
(清華大學(xué)光盤國家工程研究中心深圳分中心,深圳 518055)
微型投影機(jī)是一種便于攜帶的手持投影或口袋式投影。微型投影具有尺寸小、質(zhì)量小、投影屏幕大等優(yōu)點(diǎn),便于外出商務(wù)展示、教學(xué)、醫(yī)療成像顯示等。普通微型投影機(jī)控制系統(tǒng)簡單,只具有基本的顯示和外接接口功能,外出使用時其功能相對不足。該設(shè)計(jì)實(shí)現(xiàn)的是微型投影系統(tǒng)的嵌入式控制平臺。該平臺基于高性能的ARM11主控芯片,搭載WinCE 6.0嵌入式操作系統(tǒng),不僅實(shí)現(xiàn)了對常用(如USB、HDMI等)接口的擴(kuò)展,還配置了大容量固態(tài)硬盤SSD(solid state disk),具有Wi-Fi模塊,能實(shí)現(xiàn)高清播放等功能。
如圖1所示,微型投影系統(tǒng)主要由嵌入式控制平臺、光機(jī)驅(qū)動與微型投影光機(jī)3部分組成。該嵌入式控制平臺通過RGB888接口與微型投影光機(jī)驅(qū)動相連,大多數(shù)微型投影驅(qū)動均支持該接口,因此控制平臺方案有很好的通用性??刂破脚_主要包括ARM11主控芯片、固態(tài)硬盤、各種接口模塊、電源和時鐘等,控制平臺通過光機(jī)驅(qū)動和微型投影光機(jī)相聯(lián)[1]。軟件系統(tǒng)采用WinCE 6.0操作系統(tǒng)。WinCE 6.0具有良好的集成開發(fā)環(huán)境,可以提供適合本方案的良好的用戶界面,并且在該操作系統(tǒng)上應(yīng)用程序編程效率較高。
圖1 微型投影嵌入式控制平臺總體方案
在該方案中,系統(tǒng)主控芯片設(shè)計(jì)方案如圖2所示[2],具體配置為:
1)核心處理器。主控芯片是基于ARM11內(nèi)核由Telechips公司生產(chǎn)的高性能、低功耗、應(yīng)用于數(shù)字媒體領(lǐng)域的 TCC8900芯片,其核心采用ARM1176JZF-S處理器,可搭載嵌入式操作系統(tǒng)(本硬件平臺可搭載WinCE、Linux或Android),主頻可達(dá)800 MHz。該主控芯片視頻解碼通過專門的硬件模塊來完成,提供1080P高清硬件解碼。TCC8900的通用 GPIO 口分為 A、B、C、D、E、F六組,各部分接口與主控芯片間的連接如圖2所示[3]。
2)存儲設(shè)備。存儲設(shè)備主要使用了SDRAM、FLASH。本方案中使用256MB的 DDR2作為SDRAM,嵌入式操作系統(tǒng)需要加載到SDRAM后才能正常運(yùn)行。FLASH是1GB的NAND FLASH,用來存放BootLoader啟動程序和操作系統(tǒng)。
圖2 控制平臺主控芯片設(shè)計(jì)方案
3)人機(jī)交互模塊。顯示輸出設(shè)備是微型投影光機(jī),通過RGB888總線與微型投影的光機(jī)驅(qū)動傳輸信號。輸入設(shè)備采用USB外接鼠標(biāo),另外嵌入式操作系統(tǒng)提供軟鍵盤或者USB外接鍵盤。
4)固態(tài)硬盤SSD模塊。SSD由于具有高速、容量大、功耗低、體積小、抗震性好等優(yōu)點(diǎn),正好適應(yīng)了微型投影便攜式的使用特點(diǎn),能作為微型投影系統(tǒng)良好的存儲設(shè)備。固態(tài)硬盤原理如圖3所示,主要由主控系統(tǒng)、高速緩存、閃存存儲陣列和接口系統(tǒng)組成。主控系統(tǒng)是系統(tǒng)核心部分,主要功能是接收外部系統(tǒng)發(fā)送的讀、寫請求,控制閃存陣列完成相應(yīng)的讀、寫、擦等操作,實(shí)現(xiàn)數(shù)據(jù)存取。閃存芯片組成數(shù)據(jù)儲存系統(tǒng),多個閃存芯片組成多通道閃存陣列,各通道經(jīng)各自獨(dú)立的閃存控制器與SSD主控系統(tǒng)相連。SSD高速緩存的主要作用是數(shù)據(jù)暫存,用于存儲閃存陣列中經(jīng)常使用的數(shù)據(jù)鏡像,以提高系統(tǒng)的訪問速度。接口系統(tǒng)實(shí)現(xiàn)SSD與主控芯片ARM之間的數(shù)據(jù)傳輸,本方案采用SATA2.0接口系統(tǒng)。固態(tài)硬盤可提供64G或128G等不同大小的存儲空間,將大大擴(kuò)展投影系統(tǒng)的存儲空間。投影系統(tǒng)不僅能進(jìn)行圖文展示,還能播放存儲在固態(tài)硬盤內(nèi)的高清視頻。
5)其他模塊。音頻模塊采用IIS總線實(shí)現(xiàn)處理器與音頻數(shù)字信號編譯碼器之間的數(shù)據(jù)傳輸;HDMI模塊用于高清視頻的輸入和輸出;SD卡模塊外接TF/SD卡;內(nèi)置了Wi-Fi模塊;USB模塊有USB Host和 USB OTG兩個接口;調(diào)試模塊中,JTAG用來下載 BootLoader和在線調(diào)試程序,RS232接口用來輸出打印信息。
圖3 固態(tài)硬盤模塊原理框圖
為了加快開發(fā)進(jìn)度,獲得ARM芯片廠商的技術(shù)支持,本方案選擇WinCE 6.0操作系統(tǒng),也可在硬件平臺上進(jìn)一步進(jìn)行Linux或Android操作系統(tǒng)的開發(fā)。軟件部分的開發(fā)主要包括WinCE最小內(nèi)核系統(tǒng)的實(shí)現(xiàn)、驅(qū)動開發(fā)、應(yīng)用程序開發(fā)。
嵌入式操作系統(tǒng)開發(fā)需要硬件廠商提供對應(yīng)的BSP(board surppot package),即板級支持包。BSP由啟動程序(Boot loader)、OEM適配層程序(OAL)及驅(qū)動程序和配置文件組成。Windows CE 6.0開發(fā)平臺上進(jìn)行開發(fā)的主要工具是Platform Builder。Platform Builder是微軟公司提供給開發(fā)人員進(jìn)行基于Windows CE平臺下嵌入式操作系統(tǒng)定制的集成開發(fā)環(huán)境,它提供了所有進(jìn)行設(shè)計(jì)、創(chuàng)建、編譯、測試和調(diào)試Windows CE操作系統(tǒng)平臺的工具。應(yīng)用 Platform Builder,根據(jù)特定 BSP,可以生成針對不同開發(fā)板(SDB)的特定的操作系統(tǒng)鏡像?;赪indows CE的嵌入式系統(tǒng)可分為4個層次,從底層到上層分別是硬件層、OEM層、操作系統(tǒng)層和應(yīng)用程序?qū)?。軟件開發(fā)主要包括最小內(nèi)核系統(tǒng)開發(fā)、驅(qū)動開發(fā)、應(yīng)用程序開發(fā)3部分。
1)最小內(nèi)核系統(tǒng)的實(shí)現(xiàn)。將BSP開發(fā)包導(dǎo)入搭建好的WinCE6.0 Platform Builder中,運(yùn)行程序生成最小內(nèi)核系統(tǒng),將生成的映像文件燒錄到開發(fā)板。當(dāng)系統(tǒng)上電或是復(fù)位時,Boot Loader啟動加載程序,用于引導(dǎo)Windows CE操作系統(tǒng)內(nèi)核加載到目標(biāo)硬件系統(tǒng)的內(nèi)存,并開始跳轉(zhuǎn)到操作系統(tǒng)的入口地址。根據(jù)實(shí)際情況,該部分需要修改分辨率參數(shù)、虛擬內(nèi)存空間地址等[4]。
2)驅(qū)動開發(fā)。在最小內(nèi)核系統(tǒng)運(yùn)行正常后,分別進(jìn)行音頻、USB、HDMI、SD卡、固態(tài)硬盤等模塊驅(qū)動開發(fā),開發(fā)者可以在WinCE操作系統(tǒng)中定制常用模塊的驅(qū)動[5-6]。硬件設(shè)備制造商一般會為設(shè)備提供驅(qū)動軟件支持。如果有專門針對WinCE6.0系統(tǒng)編寫的設(shè)備驅(qū)動程序,將其加入到操作系統(tǒng)中就可以使用;如果沒有,則應(yīng)根據(jù)廠商提供的驅(qū)動程序開發(fā)包編寫。通常需要對驅(qū)動部分的硬件接口進(jìn)行測試,若接口地址發(fā)生變化,則需要對軟件的相應(yīng)部分進(jìn)行修改。在各部分驅(qū)動調(diào)試均正常的情況下,將所有驅(qū)動程序共同定制,集成測試。
3)應(yīng)用程序開發(fā)。在Platform Builder中生成SDK(software development kit),安裝 SDK,編寫應(yīng)用程序,編譯生成.exe文件,將應(yīng)用程序同步至設(shè)備。應(yīng)用程序開發(fā)主要進(jìn)行用戶界面(UI)、音視頻播放軟件、辦公軟件以及其他應(yīng)用程序(如圖像畸變的軟件校正程序)的開發(fā)等。該平臺也支持同一操作系統(tǒng)下的應(yīng)用程序的下載和安裝使用,這也大大擴(kuò)展了微型投影系統(tǒng)功能的實(shí)用性。
在Telechips芯片公司提供芯片資料的基礎(chǔ)上,設(shè)計(jì)電路原理圖,繪制PCB和制版,對電路板進(jìn)行調(diào)試,完成硬件平臺的搭建。在硬件平臺搭建完成的情況下,進(jìn)行操作系統(tǒng)軟件開發(fā)。首先實(shí)現(xiàn)Win CE 6.0最小內(nèi)核系統(tǒng)的順利運(yùn)行,然后進(jìn)行主要模塊的驅(qū)動開發(fā)工作,在驅(qū)動開發(fā)完成之后,進(jìn)行用戶界面和其他應(yīng)用程序的開發(fā)。最終在硬件平臺和軟件開發(fā)實(shí)現(xiàn)之后,根據(jù)微型投影系統(tǒng)配置參數(shù)(表1所示)。嵌入式平臺最高可以支持1080P高清等多種規(guī)格的視頻,實(shí)現(xiàn)了顯示面板最佳分辨率800×600下的視頻播放。微型投影系統(tǒng)具有Wi-Fi無線上網(wǎng)功能,支持HDMI、USB、SD卡等主要的接口方式,能外接鼠標(biāo)和鍵盤,配置64G大容量固態(tài)硬盤,容量和數(shù)據(jù)傳輸速度均有明顯優(yōu)勢,優(yōu)化了用戶界面,并自帶office、PDF等辦公軟件。在該嵌入式平臺上可以進(jìn)一步進(jìn)行游戲、移動互聯(lián)網(wǎng)服務(wù)程序等應(yīng)用軟件的開發(fā),進(jìn)一步拓展微型投影的具體應(yīng)用領(lǐng)域。產(chǎn)品樣機(jī)如圖4所示。產(chǎn)品開發(fā)完成后進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖5所示,實(shí)驗(yàn)達(dá)到了預(yù)期的設(shè)計(jì)目的。
表1 微型投影系統(tǒng)配置參數(shù)
圖4 產(chǎn)品樣機(jī)
圖5 實(shí)驗(yàn)結(jié)果
基于ARM11芯片的強(qiáng)大功能和存儲空間、數(shù)據(jù)傳輸速度均有明顯優(yōu)勢的固態(tài)硬盤,外加WinCE 6.0操作系統(tǒng)豐富的軟件接口,該微型投影的通用嵌入式控制平臺設(shè)計(jì)方案具有架構(gòu)合理、功能齊全、接口豐富、可裁剪性強(qiáng)的特點(diǎn),使微型投影具有掌上電腦的主要功能,大大擴(kuò)展了微型投影的使用功能和應(yīng)用領(lǐng)域,有助于推動微型投影的商業(yè)化。
[1]趙星,方志良,崔繼承.微型投影機(jī)光學(xué)引擎的研究[J].光學(xué)學(xué)報(bào),2007,27(5):913-918.
[2]賈振波.基于ARM的車載GPS系統(tǒng)的研究[D].北京:中國農(nóng)業(yè)大學(xué),2007.
[3]Telechips.TCC8900_FULL_SPEC_V1.03[S].Telechips,2009.
[4]李大為.Windows CE工程實(shí)踐完全解析[M].北京:中國電力出版社,2008.
[5]羅健飛,吳仲城,沈春山.基于ARM和WinCE下的設(shè)備接口驅(qū)動設(shè)計(jì)與實(shí)現(xiàn)[J].自動化與儀表,2009,24(3):1-3.
[6]Microsoft.Microsoft Windows CE Device Driver Kit[M].北京:北京希望電子出版社,2006.