邱文江,黃友文
(江西理工大學(xué) 信息工程學(xué)院,贛州 341000)
邱文江(碩士研究生),研究方向?yàn)榍度胧较到y(tǒng);黃友文(研究生導(dǎo)師),研究方向?yàn)橐曨l壓縮編碼、SoC設(shè)計(jì)系統(tǒng)、嵌入式系統(tǒng)。
目前市場上音樂播放器款式多樣,能實(shí)現(xiàn)很豐富的功能,外觀設(shè)計(jì)也更美觀,更能滿足用戶的需要。但是,現(xiàn)有的音樂播放系統(tǒng)大多采用鍵盤、觸摸平板等設(shè)備對音樂播放系統(tǒng)進(jìn)行控制,使用此種控制終端只能進(jìn)行本地控制,不能實(shí)現(xiàn)遠(yuǎn)程控制,造成控制方式不夠方便、快捷?,F(xiàn)代人對生活品質(zhì)要求越來越高,要求音樂播放系統(tǒng)的操作越來越簡單化、智能化[1]。
本設(shè)計(jì)基于已經(jīng)發(fā)展成熟的WiFi無線網(wǎng)絡(luò),充分利用WiFi覆蓋范圍廣、傳輸速度快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。Android具有開源性、封裝性、性價比高等優(yōu)點(diǎn),基于Android系統(tǒng)開發(fā)的客戶端軟件移植性強(qiáng),通用性高。采用手機(jī)作為控制終端,便于操作。手機(jī)通過無線網(wǎng)絡(luò)(WiFi)對音樂播放系統(tǒng)進(jìn)行控制,可以實(shí)現(xiàn)方便、快捷、智能化的要求。
采用STM32F103作為微控制器有很多優(yōu)勢,STM32F系列屬于中等容量增強(qiáng)型,是32位基于ARM核心的帶64或者128KB閃存的微控制器,在市場上是性價比很高的產(chǎn)品。本設(shè)計(jì)主要有控制模塊、WiFi無線模塊、音頻解碼模塊VS1003B、SD卡,其系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
工作流程:點(diǎn)擊智能手機(jī)客戶端軟件上的播放按鈕,通過WiFi模塊接收到命令后,STM32F103讀取SD卡中的MP3音樂文件,然后將讀取的數(shù)據(jù)通過SPI傳輸?shù)揭纛l解碼芯片VS1003B,經(jīng)過解碼轉(zhuǎn)換后發(fā)送到耳機(jī)聽筒,實(shí)現(xiàn)播放音樂功能;點(diǎn)擊暫停按鈕,STM32F103停止讀取SD卡里的MP3音樂文件數(shù)據(jù),這樣就能實(shí)現(xiàn)停止播放音樂功能;點(diǎn)擊其他按鈕,也能實(shí)現(xiàn)相應(yīng)的功能。
本設(shè)計(jì)主要特點(diǎn)如下:
①在開放的Android系統(tǒng)控制終端設(shè)計(jì)的基礎(chǔ)上,使用支持組件的重用和替換應(yīng)用程序框架。使用交互式圖形界面清晰美觀,操作控制簡單,設(shè)計(jì)出來的產(chǎn)品經(jīng)過用戶體驗(yàn)反映非常好[2]。
② 本設(shè)計(jì)摒除了傳統(tǒng)音樂播放系統(tǒng)對專用控制按鍵的依賴,通過用戶的手機(jī)就能實(shí)現(xiàn)對音樂播放器播放、暫停等的控制,大大方便了用戶的操作。這樣設(shè)計(jì)出來的音樂播放系統(tǒng)不僅具有一般音樂播放器的功能,而且具有將控制端和硬件部分分離的優(yōu)勢,實(shí)現(xiàn)了對音樂播放系統(tǒng)的遠(yuǎn)距離控制。
VS1003B是一個單片MP3/WMA/MIDI音頻解碼器和ADPCM解碼器。它包含一個高性能、自主產(chǎn)權(quán)的低功耗的DSP處理器核VS_DSP4,工作數(shù)據(jù)存儲器為用戶應(yīng)用提供5KB的指令ROM和0.5KB的數(shù)據(jù)RAM。其還具有串行的控制和數(shù)據(jù)接口、1個高品質(zhì)可變采樣率的ADC和立體聲DAC、4個常規(guī)用途的I/O 口、1個UART,以及1個地線緩沖器和耳機(jī)放大器[3]。
STM32F103將從SD卡里讀取的MP3音頻數(shù)據(jù)流傳給音頻解碼模塊,音頻解碼模塊將該數(shù)據(jù)流解析并轉(zhuǎn)換成模擬信號后再進(jìn)行輸出。VS1003B與STM32F103的數(shù)據(jù)通信是通過J2排針上的SPI總線方式進(jìn)行的。音頻解碼模塊電路的原理圖如圖2所示。
圖2 音頻模塊解碼電路圖
SD卡是最為通用的數(shù)據(jù)存儲卡,具有價格低、存儲容量大、使用方便、通用性與安全性強(qiáng)等優(yōu)點(diǎn),因此 MP3、MP4、MP5、Pad和數(shù)碼相機(jī)等設(shè)備上的存儲卡均為SD卡。SD卡支持的總線模式為SD模式和SPI模式[4],本設(shè)計(jì)中采用SPI模式。圖3為SD卡模塊(J10排針上的SPI模式)的接口電路。
圖3 SD卡模塊圖
WiFi(Wireless Fidelity,無線保真技術(shù))的最大優(yōu)點(diǎn)是傳輸速度較高,而且能自動調(diào)整帶寬,可以有效地保障網(wǎng)絡(luò)的穩(wěn)定性和可靠性。該設(shè)計(jì)采用的 WM-G-MR-08模塊不僅具有WiFi的功能,而且能提供小尺寸和高數(shù)據(jù)速率的無線連接,可應(yīng)用于無線PDA、DSC、媒體適配器、微型打印機(jī)、條碼掃描器、VOIP電話等。數(shù)據(jù)存儲裝置是該 WM-G-MR-08潛在的應(yīng)用,在嵌入式上的應(yīng)用主要集中在移動裝置方面。在設(shè)計(jì)中,WM-G-MR-08模塊通過開發(fā)板上的J1排針的SPI引腳與主控芯片通信,ANT1SMACON為無線網(wǎng)卡,其原理圖如圖4所示。
圖4 WM-G-MR-08模塊圖
設(shè)計(jì)采用RealView MDK開發(fā)套件作為軟件開發(fā)平臺,嵌入式軟件采用C語言編寫,操作系統(tǒng)采用μC/OS-II。μC/OS-II是用C語言和匯編語言編寫的,結(jié)構(gòu)簡潔精練,可讀性很強(qiáng),同時又具備實(shí)時操作系統(tǒng)的大部分功能,并且通過適當(dāng)?shù)臄U(kuò)展之后,可被廣泛用于多種應(yīng)用場合[5]。
系統(tǒng)啟動后,先初始化STM32F103,然后初始化SD卡、音頻解碼模塊、WiFi無線模塊,最后是μC/OS-II系統(tǒng)初始化。當(dāng)WiFi指令判斷為播放指令時,由微控制器將SD卡的一些基本信息送到FAT文件系統(tǒng)接口處進(jìn)行讀取,獲取SD卡的容量、FAT表及根目錄所在的起始扇區(qū)。通過這些信息就可以判斷出SD卡是否存儲有音頻解碼模塊可以解碼并播放的音樂文件。若有該音樂文件,控制器將通過SPI總線方式讀出該文件的音頻信息,并將音頻的數(shù)據(jù)流信息送入到音頻解碼模塊中,由VS1003B芯片解碼后,再通過內(nèi)含的高質(zhì)量的立體DAC和耳機(jī)驅(qū)動電路,就可以實(shí)現(xiàn)音樂的播放。程序流程圖如圖5所示。
圖5 程序流程圖
手機(jī)客戶端軟件開發(fā)用到的開發(fā)工具包括Eclipse、JDK、ADT和Android SDK。開發(fā)環(huán)境搭建過程如下:首先安裝JDK,再分別解壓Eclipse和Android SDK,接著為Eclipse安裝ADT插件,最后配置Android SDK,最終搭建好 Android開發(fā)環(huán)境[6]。
針對客戶端軟件,采用ImageView+TestView進(jìn)行UI設(shè)計(jì),選擇合適的圖片作為背景并添加ButtonStart、Button-Stop、ButtonOff等功能按鈕,實(shí)現(xiàn)對音樂播放系統(tǒng)的播放、暫停、關(guān)閉等控制。設(shè)計(jì)好UI界面后,通過為各個按鈕添加setOnClickListener事件響應(yīng)用戶操作。根據(jù)命令按鈕的不同,在響應(yīng)函數(shù)中通過網(wǎng)絡(luò)向子機(jī)節(jié)點(diǎn)發(fā)送不同的命令實(shí)現(xiàn)相應(yīng)的控制功能。
本設(shè)計(jì)是在ARM7平臺上構(gòu)建WiFi,成本優(yōu)勢明顯。采用當(dāng)前較新的控制方式——智能手機(jī)軟件控制+無線網(wǎng)絡(luò),不僅能充分利用WiFi的傳輸速度快、覆蓋范圍廣等優(yōu)勢,而且基于Android的平臺建設(shè)成本低、使用方便。同時,這種方式采用的手機(jī)軟件具有通用性,市場應(yīng)用價值高,易于推廣,能為用戶提供優(yōu)質(zhì)、方便快捷的音樂播放服務(wù)。
[1]楊心懷,周潔.便攜式 MP3播放器的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2003(2):21-25.
[2]王朝華,童懷,陳德艷,等.基于Android的智能家居系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012(6):225-228.
[3]洪家平.基于VS1003解碼器的MP3播放器設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(11).
[4]高美珍.基于嵌入式系統(tǒng)的 MP3播放器設(shè)計(jì)[J].湖北師范學(xué)院學(xué)報(bào):自然科學(xué)版,2010(12).
[5]任哲.嵌入式實(shí)時操作系統(tǒng)μC/OS-II原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2005:227-240.
[6]耿東久,索岳,陳渝,等.基于Android手機(jī)遠(yuǎn)程訪問和控制系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2011(2):3-559.