基于ET系列的嵌入式多媒體導(dǎo)游系統(tǒng)的設(shè)計
本文介紹的嵌入式多媒體導(dǎo)游系統(tǒng),基于微控制器ET44M210芯片的控制、計算能力及音頻處理模塊ET83X43l和0LED影像顯示模塊ET52141的多媒體功能,同時利用設(shè)備端與PC端的USB接口完成通信與影音下載傳輸,結(jié)合鍵盤輸入的人機(jī)界面,整合各硬件模塊接口,充分發(fā)揮各組件優(yōu)勢,完成了輔助導(dǎo)游功能的設(shè)計目標(biāo),且開拓了其在多媒體數(shù)碼領(lǐng)域的應(yīng)用。
1 系統(tǒng)整體硬件設(shè)計
1.1 系統(tǒng)硬件結(jié)構(gòu)原理
基于ET系列芯片的嵌入式多媒體導(dǎo)游系統(tǒng)由普通PC機(jī)、嵌入式微控制器(MCU)、音頻處理模塊、0LED顯示模塊、Flash存儲單元、鍵盤控制單元等組成。其硬件結(jié)構(gòu)如圖1所示。
PC機(jī)中的上位機(jī)程序負(fù)責(zé)USB接口的通信應(yīng)用、原始影音資料的轉(zhuǎn)化處理。MCU響應(yīng)鍵盤控制單元即時輸入的命令,完成與PC機(jī)中上位機(jī)程序的USB交互通信或PC機(jī)端影音文件的巨量下載傳輸。
設(shè)備端將載入的影音文件保存在Flash存儲單元中,由鍵盤命令控制MCU完成影音數(shù)據(jù)向音頻處理模塊和OLED顯示模塊的傳送。音頻處理模塊和OLED顯示模塊實時處理并播放影音數(shù)據(jù),從而完成對各旅游景點的綜合性描述。同時,音頻處理模塊在MCU的驅(qū)動下也可即時錄放模擬音頻。
1.2 ETUSBICE嵌入式擻控制器開發(fā)組件
ETUSBICE是ET44M210的專用ICE組件及開發(fā)環(huán)境。ET44M210是一款高速的具有uSB+BB微控制器及8位精簡指令集架構(gòu)的CMOS MCU,除具備微控制器的功能外,還提供了與2.4GHz無線傳輸(Wireless Transmission)的基帶(BB)、通用串行總線集線器(USB HUB)、串行外圍接口(SPI)、雙脈寬調(diào)變(PWM)及16個多信道的10位模擬對數(shù)字轉(zhuǎn)換(ADC)。這些強(qiáng)大的功能,使ET44M210的應(yīng)用范圍擴(kuò)大,并且在設(shè)計上更有彈性。
1.3 音頻處理子系統(tǒng)
該子系統(tǒng)利用ET83X431模塊實現(xiàn)音頻文件的錄制、播放等功能。ET83X431為該系統(tǒng)模塊的主要芯片,采用48引腳的封裝方式,包括2個16位的ADC和2個16位的DAC、連續(xù)音頻接口、數(shù)字過濾裝置、壓縮/解壓縮等模塊,具有壓縮和解壓縮高質(zhì)量立體聲音頻的功能。
ET83X431芯片配合其模塊整體的硬件架構(gòu),能對特殊格式的音頻文件進(jìn)行直接的解碼播放。因此需要設(shè)計PC端上位機(jī)程序,將所需播放的音頻文件(如mp3、wma、wav等)或影音文件(如avi、wmv、mpeg等)中的音頻采樣轉(zhuǎn)換為本模塊通用的音頻格式。將轉(zhuǎn)換后的音頻文件通過USB巨量下載到設(shè)備端并在下位機(jī)系統(tǒng)的整體協(xié)調(diào)下,利用本子系統(tǒng)實現(xiàn)對音頻流文件的直接播放。
同時,本子系統(tǒng)支持直接的模擬采樣。子系統(tǒng)的ADC與DAC部分可將模擬音頻信號與數(shù)字音頻文件相互轉(zhuǎn)換,ET83X431可以直接對模擬音頻信號采樣和壓縮編碼。
1.4 OLED顯示子系統(tǒng)
有機(jī)發(fā)光二極管顯示器OLED(OrgamcLight-emittingDiode)是指有機(jī)半導(dǎo)體材料和發(fā)光材料在電流驅(qū)動下發(fā)光并實現(xiàn)顯示的技術(shù)。ET52141彩色OLED控制器與驅(qū)動器模塊支持96×96點的65k色的顯示,具有方便的位操作能力、16位高速總線接口能力、高效的數(shù)據(jù)傳輸能力、對圖形RAM的高速寫入能力,適合數(shù)字移動電話或小型PDA設(shè)備等終端設(shè)計。
OLED顯示子系統(tǒng)主要依賴PC上位機(jī)端、設(shè)備端微處理器、Flash單元、RAM單元與ET52141模塊的精確配合實現(xiàn)設(shè)計功能。在對位圖文件與影音文件格式充分認(rèn)識的基礎(chǔ)上,整個設(shè)計流程需要合理配置各種硬件資源,協(xié)調(diào)時序,從而實現(xiàn)靜態(tài)圖像的顯示和系統(tǒng)菜單的制作,并完成動畫影像的連續(xù)播放。
1.5 PC機(jī)與嵌入式微控制器的USB通信
本USB通信子系統(tǒng)的設(shè)計目標(biāo)是通過USB接口、利用USB協(xié)議實現(xiàn)與PC機(jī)及USB設(shè)備的數(shù)據(jù)交互和數(shù)據(jù)傳輸。例如,利用此接口下載圖片或音頻信息、影音資料,讀取Flash單元中的信息并上傳。USB設(shè)備端的固件配合上位機(jī)程序,協(xié)調(diào)USB的數(shù)據(jù)傳輸。
2 系統(tǒng)軟件設(shè)計
基于ET系列芯片的嵌入式多媒體導(dǎo)游系統(tǒng)軟件由上位機(jī)程序和下位機(jī)程序組成。上位機(jī)程序主要采用Bodand C++Builder 6編寫,下位機(jī)(嵌入式微控制器MCU)控制程序采用忙編語言編寫。上位機(jī)與下位機(jī)軟件的整體架構(gòu)如圖2所示。
2.1上位機(jī)程序
PC端的上位機(jī)程序包括三部分:USB通信應(yīng)用部分、影音資料處理部分、USB驅(qū)動部分。前兩項采用Borland C++Builder 6編寫。
USB通信應(yīng)用部分位于PC端uSB驅(qū)動部分的上層,嚴(yán)格按照USB通信的四種模式(Control、Interrupt、Bulk、Insochronous)配合下位機(jī)完成USB的通信與雙向數(shù)據(jù)傳輸。
其中,用戶界面的按鍵多用于驅(qū)動中斷(Interrapt)模式的USB設(shè)備響應(yīng),配合下位機(jī)的多個中斷地址和向量,改變USB設(shè)備狀態(tài),完成控制指令的發(fā)送。而巨量(Bulk)模式專用于大量資料的連續(xù)傳送,以64B為一幀,傳輸時間間隔小于1ms。
在本部分程序中,需要定義USB設(shè)備的GUID,借此通過USB驅(qū)動程序與USB設(shè)備連通,且需要利用Windows的API函數(shù)取得USB設(shè)備的Handle。本部分軟件實現(xiàn)巨量傳輸?shù)亩鄠€循環(huán),上位機(jī)配合下位機(jī)輸入輸出FIFO與RAM中的緩沖區(qū)響應(yīng)完成上傳或下傳運作,達(dá)到PC機(jī)存儲資源與下位機(jī)Flash存儲資源共享的目的。
影音資料處理部分針對PC中存儲的影音資源按照設(shè)備端用戶使用目的進(jìn)行裁減轉(zhuǎn)換,成為下位機(jī)ET83X431模塊與ET52141模塊可直接讀取并播放的影音文件,從而達(dá)到以影視資料或景點介紹輔助導(dǎo)游的最終目的。例如,針對avi格式的影音資料,本部分軟件將其解碼并采樣為位圖信息與聲音資料,并按照下位機(jī)固件的具體需要進(jìn)行編碼并完成文件整合與轉(zhuǎn)化。生成的影音文件可被USB通信部分巨量傳輸給下位機(jī)Flash單元保存并由各模塊配合播放。
2.2 嵌入式微控制器MCU程序
ETUSBICE是8位處理器ET44M210的專用ICE集成開發(fā)環(huán)境(IDE),擁有編輯器、工程窗體、匯編編譯器、調(diào)試器等。嵌入式微控制器的固件程序就是通過此IDE編輯完成寫入的。此嵌入式微控制器MCU程序大體分為三部分:系統(tǒng)運行部分、多媒體模塊功能函數(shù)、USB通信服務(wù)部分。三部分程序的結(jié)構(gòu)關(guān)系如圖3所示。
系統(tǒng)運行部分是整個系統(tǒng)獨立運行的主程序。從系統(tǒng)上電到系統(tǒng)關(guān)機(jī),程序都在此部分的軟件流程中運行。此部分軟件整合了系統(tǒng)各個模塊的賢源,協(xié)調(diào)各個硬件模塊,監(jiān)控其他軟件模塊,對各寄存器、RAM資源、Flash資源合理分配,分時合理分配,I/O資源,即時接收鍵盤輸入指令與USB輸入命令,按當(dāng)前任務(wù)要求實時訪問各子系統(tǒng)模塊,精確各流程環(huán)節(jié)并保持顯示菜單,協(xié)調(diào)各資源以維持巨量傳輸通信。在系統(tǒng)運行中,如果得到鍵盤指令需要運作音頻子系統(tǒng)或0LED顯示子系統(tǒng),可調(diào)用多媒體模塊功能函數(shù)中的各個單元函數(shù),完成鍵盤響應(yīng),產(chǎn)生多媒體效果,且最終使流程返回主程序。系統(tǒng)運行部分的程序如圖4所示。
USB通信服務(wù)部分程序通過協(xié)議直接響應(yīng)上位機(jī)的USB通信應(yīng)用部分的程序,作為后者的控制命令在設(shè)備端功能的體現(xiàn)。這部分程序的運行通常存在于軟件流程的后臺,是系統(tǒng)運行部分的有力補(bǔ)充。
本部分程序包括USB程序庫與宏集合,作為設(shè)備端USB控制的主體響應(yīng)上位機(jī)的控制(Contr01)信息。并被固件中的上層函數(shù)調(diào)用,完成諸如設(shè)備端USB初始化、SOF計數(shù)器等底層設(shè)置和操作。在響應(yīng)上位機(jī)指令時,如需要運行音頻子系統(tǒng)或0LED顯示子系統(tǒng),宏集合中的函數(shù)即可調(diào)用多媒體模塊功能函數(shù)中的各個單元函數(shù),完成對上位機(jī)命令的響應(yīng),產(chǎn)生多媒體效果。
多媒體模塊功能函數(shù)是以特定多媒體功能的實現(xiàn)為目的,基于音頻處理子系統(tǒng)、OLED顯示子系統(tǒng)、RAM單元、Flash單元等硬件資源的特點編寫的應(yīng)用函數(shù)模塊集合。此集合的編寫源于對各個硬件模塊特性的深入了解,對硬件資源的充分利用和挖掘,對時序的嚴(yán)格控制,精確軟件流程,合理分配存儲資源,協(xié)調(diào)MCU處理能力,從而完成音頻播放、靜態(tài)圖片顯示、影像播放、音頻錄制等多媒體要求各自對應(yīng)的函數(shù)集合。各函數(shù)集合包括方便的應(yīng)用程序接口,為調(diào)用此函數(shù)的主程序提供便利。
基于ET系列芯片的嵌入式多媒體導(dǎo)游系統(tǒng),采用性能完善、價位合理的硬件模塊,人機(jī)界面良好,運行效果優(yōu)秀,性能價格比高。作為一種新型消費類電子的解決方案,立意獨特,應(yīng)用前景看好。