鄭立安,龔杏雄,牛昱光
(太原理工大學信息工程學院,太原030024)
利用電腦多媒體技術(shù)進行課堂教學已是很普遍的做法。而在播放課件的同時,多數(shù)教師更愿意離開講臺進行講解以方便與學生的交流和溝通。目前普遍使用的激光筆雖然可以讓教師離開講臺實現(xiàn)課件演示的翻頁操作,但不能操作除ppt課件之外的其他教學軟件,而且多數(shù)是紅外遙控,操作范圍受到限制。再有就是教師想離開講臺時還能使用多媒體系統(tǒng)的音響設備,就得另外配戴一套無線話筒或攜帶便攜式擴音器。教師會感覺繁瑣累贅。
為了解決這個問題,本人設計了一種新型的教學輔助工具。教師只需攜帶銀行卡大小的手持端和U盤大小的接收端,就可離開多媒體講桌,通過手勢和搖桿控制光標移動,點擊左、右鍵操作課件或其他軟件,并能使用附帶的激光筆和話筒進行授課活動,從而不再為多媒體講桌所限制。
硬件部分由手持端和接收端兩部分組成,兩者之間是通過2.4 G無線模塊nRF24L01進行無線[1]通訊的,此無線模塊的傳輸范圍能滿足多媒體教室的空間要求。
手持端的硬件結(jié)構(gòu)如圖1所示。主控芯片采用ARM-CortexM3架構(gòu)的德州儀器公司的LM3S1P51[2]處理器。聲音采集采用硅麥克風傳感器MSMAS42Z,采集到的模擬信號由音頻編解碼芯片TLV320AIC23B轉(zhuǎn)換成16 bit[3]雙聲道PCM音頻流,經(jīng)由專門用于音頻傳輸?shù)腎2S接口傳送至處理器,由處理器完成將PCM編碼壓縮成ADPCM編碼的運算處理[4]。處理器通過I2C接口獲得加速度傳感器MXC6225XU的加速度數(shù)據(jù),從而獲得手持端晃動的趨勢,并結(jié)合處理器接收到的搖桿動作,生成對應的光標移動指令[5]。模擬鼠標按鍵操作和激光筆控制按鍵操作也都由處理器識別并生成相應的指令,其中激光筆的控制指令由處理器芯片的PWM調(diào)制輸出至激光筆驅(qū)動電路。ADPCM音頻數(shù)據(jù)及光標移動指令和鼠標按鍵指令會被處理器分別打包,并通過 SPI接口分別發(fā)送至無線模塊nRF24L01[6],以無線傳輸方式發(fā)送給接收端。

圖1 手持端硬件結(jié)構(gòu)圖
接收端的硬件結(jié)構(gòu)如圖2所示。主控芯片采用ARM-Cortex M3架構(gòu)[7]的意法半導體公司的STM32F103C8[8]處理器。處理器通過SPI口接收來自無線模塊nRF24L01收到的包含ADPCM音頻數(shù)據(jù)和各種操作指令的數(shù)據(jù)包。在處理器中,要將ADPCM編碼解壓縮成PCM編碼,并與按鍵指令一起經(jīng)由USB接口上傳到PC機。音頻流會被送入PC機的聲音播放系統(tǒng)播放出來,相應的操作指令會實現(xiàn)鼠標的屏幕光標控制和左、右鍵命令,從而實現(xiàn)課件演示操作和教學軟件運行操作。

圖2 接收端硬件結(jié)構(gòu)圖
軟件程序分為手持端和接收端兩部分,手持端的程序流程如圖3所示,設備初始化之后,整個程序工作在無限循環(huán)中。當檢測到音頻采集電路的DMA傳輸中斷信號,則優(yōu)先發(fā)送一幀音頻數(shù)據(jù)。在中斷結(jié)束或沒有中斷信號時,采集各種操作的開關(guān)量信號,將數(shù)據(jù)通過無線發(fā)出。接收端的程序流程如圖4所示,設備初始化之后,整個程序工作在無限循環(huán)中。通過對收到數(shù)據(jù)的類型判斷,按照音頻數(shù)據(jù)或開關(guān)量指令數(shù)據(jù)分別進行不同的處理。最終將數(shù)據(jù)通過USB接口上傳到PC中。

圖3 手持端軟件流程圖

圖4 接收端的軟件流程圖
通過話筒音頻信號采集,經(jīng)由Codec芯片轉(zhuǎn)換而成的PCM編碼的數(shù)據(jù)量很大,需要一種較為完善且高效的傳輸機制,來保證聲音信號能同步傳輸?shù)膶崟r性要求,以避免因傳輸延時或數(shù)據(jù)缺失造成的聲音失真。本設計在手持端采用了DMA雙緩沖機制,即乒乓模式[9],它用于實現(xiàn)內(nèi)存與外設之間連續(xù)不斷的數(shù)據(jù)流。要使用乒乓模式必須同時配置主數(shù)據(jù)結(jié)構(gòu)體和副數(shù)據(jù)結(jié)構(gòu)體,兩個結(jié)構(gòu)體均用于實現(xiàn)存儲器與外設之間的數(shù)據(jù)傳輸,這可由處理器建立。傳輸過程如圖5所示。傳輸從主控制結(jié)構(gòu)體開始,當主控制結(jié)構(gòu)體所配置的傳輸過程結(jié)束后,DMA控制器自動載入副控制結(jié)構(gòu)體并按其配置繼續(xù)傳輸。每當這時都會產(chǎn)生一個中斷,處理器對剛剛結(jié)束傳輸過程的數(shù)據(jù)結(jié)構(gòu)體進行重新配置。于是,主/副控制結(jié)構(gòu)體交替在緩沖區(qū)與外設之間搬運數(shù)據(jù)。

圖5 乒乓式DMA數(shù)據(jù)傳輸
ADPCM是將PCM的16 bit采樣數(shù)據(jù)壓縮成4 bit的。對于雙聲道的ADPCM來說,它是將PCM的左聲道的前8個采樣依次壓縮并寫入到一個DWORD中,然后寫入“data”chunk里。緊接著是右聲道的前8個采樣。如此循環(huán),見圖6所示。當采樣數(shù)不足8時(到數(shù)據(jù)尾端),應把多出來的采樣用0填充。解壓縮實為壓縮的一個逆過程。

圖6 PCM壓縮與解壓縮
射頻信號收發(fā)采用的是NORDIC公司的2.4 G無線模塊nRF24L01。這款無線模塊的控制芯片自帶CRC校驗,從而減小了軟件開發(fā)時間,同時也減輕了處理器的工作量。另外它的無線速率最高可達2 Mbit/s,完全能滿足音頻數(shù)據(jù)的實時性要求。
為了使接收端具有PC機USB口熱插拔設備性能,依照USB2.0協(xié)議標準將接收端設計成一個HID 類[10]和音頻類[11]的復合型 USB 設備,使得接收端只占用一個PC機的USB端口即可實現(xiàn)二者鏈接。值得一提的是,任何操作系統(tǒng)自帶的USB驅(qū)動都直接支持本設計的接收端。換句話說,在多媒體設備的PC機上無需安裝任何驅(qū)動程序,直接利用系統(tǒng)自帶驅(qū)動即可使用接收端的功能。
本設計的結(jié)果可使教師離開講臺之后,依然可以利用多媒體的語音播放功能,再配合手勢移動和相當于鼠標功能的按鍵操作,在教室的任何角落為學生授課和解惑,并且不用擔心距離較遠的同學會聽不到,簡單有效地實現(xiàn)了互動教學的目的。
若要實現(xiàn)教師在課堂任意走動,并且隨意操控演示課件和教學軟件,那么無線話筒、無線鼠標和紅外激光筆等多種設備得一應俱全,這些設備的價格合起來也得幾百元,更主要是教師要同時使用多個設備,使用很麻煩。而本設計批量生產(chǎn)的成本將會不足百元,教師手持一個設備即可實現(xiàn)所有操作功能。
根據(jù)硬件和軟件設計思路完成的手持端和接收端試驗樣機如圖7所示。圖8所示為PC機上采集到的聲音信號波形及分析說明。

圖7 手持端和接收端試驗樣機

圖8 PC機上采集到的聲音波形分析
樣機試驗證明,本設計方案、硬件結(jié)構(gòu)和軟件編程都能滿足預期目標。不足之處是聲音信號的傳輸功能雖然基本實現(xiàn),但還有改進空間,可以考慮在壓縮和解壓縮算法上作進一步優(yōu)化。
[1]文光俊.無線通信射頻電路技術(shù)與設計[M].北京:電子工業(yè)出版社,2010.
[2]德州儀器公司(http://www.ti.com).Stellaris?LM3S1P51 Microcontroller DATA SHEET[EB/OL].pdf,2012.1.
[3]陳自龍,周書杰,湯勇明.基于ARM嵌入式系統(tǒng)的高保真無損音樂播放器設計[J].電子器件,2012,35(6):692-698.
[4]陳河南譯.數(shù)字技術(shù):數(shù)字視頻和音頻壓縮[M].北京:電子工業(yè)出版社,2000.
[5]孫寧,陳進,林立新.一種基于光電鼠標傳感技術(shù)的振動偏移量采集設備[J].電子器件,2011,34(3):328-331.
[6]NORDIC公司(http://www.Nordicsemi.com).nRF24L01 Single Chip 2.4GHz Transceiver Product Specification[EB/OL].pdf,2007.7.
[7]劉波文.ARM Cortex-M3應用開發(fā)實例詳解.北京:電子工業(yè)出版社,2011.
[8]陳貽國,錢金芳,潘日敏.一種基于STM32的航模直升機飛控系統(tǒng)設計[J].電子器件,2012,35(1):47-51.
[9]德州儀器公司(http://www.ti.com).Stellaris?LM3S9B96 Microcontroller DATA SHEET[EB/OL].pdf,2012.1.
[10]應冬青,王健.USB協(xié)議在嵌入式系統(tǒng)文件傳輸中的應用[J].電子器件,2011,34(1):104-107.
[11]胡曉軍.USB接口開發(fā)技術(shù)[M].西安:西安電子科技大學出版社,2005.