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