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