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