引言
目前市場(chǎng)上音樂(lè )播放器款式多樣,能實(shí)現很豐富的功能,外觀(guān)設計也更美觀(guān),更能滿(mǎn)足用戶(hù)的需要。但是,現有的音樂(lè )播放系統大多采用鍵盤(pán)、觸摸平板等設備對音樂(lè )播放系統進(jìn)行控制,使用此種控制終端只能進(jìn)行本地控制,不能實(shí)現遠程控制,造成控制方式不夠方便、快捷,F代人對生活品質(zhì)要求越來(lái)越高,要求音樂(lè )播放系統的操作越來(lái)越簡(jiǎn)單化、智能化。
本設計基于已經(jīng)發(fā)展成熟的WiFi無(wú)線(xiàn)網(wǎng)絡(luò ),充分利用WiFi覆蓋范隔廣、傳輸速度快、抗干擾能力強等優(yōu)點(diǎn)。Android具有開(kāi)源性、封裝性、性?xún)r(jià)比高等優(yōu)點(diǎn),基于A(yíng)ndroid系統開(kāi)發(fā)的客戶(hù)端軟件移植性強,通用性高。采用手機作為控制終端,便于操作。手機通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò )(WiFi)對音樂(lè )播放系統進(jìn)行控制,可以實(shí)現方便、快捷、智能化的要求。
1系統設計
采用STM32F103作為微控制器有很多優(yōu)勢,STM32F系列屬于中等容量增強型,是32位基于A(yíng)RM核心的帶64或者128 KB閃存的微控制器,在市場(chǎng)上是性?xún)r(jià)比很高的產(chǎn)品。本設計主要有控制模塊、WiFi無(wú)線(xiàn)模塊、音頻解碼模塊VS1003B、SD卡,其系統結構框圖如圖1所示。

圖1 系統結構框圖
工作流程:點(diǎn)擊智能手機客戶(hù)端軟件上的播放按鈕,通過(guò)WiFi模塊接收到命令后,STM32F103讀取SD卡中的MP3音樂(lè )文件,然后將讀取的數據通過(guò)SPI傳輸到音頻解碼芯片VS1003B,經(jīng)過(guò)解碼轉換后發(fā)送到耳機聽(tīng)筒,實(shí)現播放音樂(lè )功能;點(diǎn)擊暫停按鈕,STM32F103停止讀取SD卡里的MP3音樂(lè )文件數據,這樣就能實(shí)現停止播放音樂(lè )功能;點(diǎn)擊其他按鈕,也能實(shí)現相應的功能。
本設計主要特點(diǎn)如下:
①在開(kāi)放的Android系統控制終端沒(méi)計的基礎上,使用支持組件的重用和替換應用程序框架。使用交互式圖形界面清晰美觀(guān),操作控制簡(jiǎn)單,設計出來(lái)的產(chǎn)品經(jīng)過(guò)用戶(hù)體驗反映非常好。
②本設計摒除了傳統音樂(lè )播放系統對專(zhuān)用控制按鍵的依賴(lài),通過(guò)用戶(hù)的手機就能實(shí)現對音樂(lè )播放器播放、暫停等的控制,大大方便了用戶(hù)的操作。這樣設計出來(lái)的音樂(lè )播放系統不僅具有一般音樂(lè )播放器的功能,而且具有將控制端和硬件部分分離的優(yōu)勢,實(shí)現了對音樂(lè )播放系統的遠距離控制。
2硬件電路設計
2.1音頻解碼模塊
VS1003B是一個(gè)單片MP3/WMA/MIDI音頻解碼器和ADPCM解碼器。它包含一個(gè)高性能、自主產(chǎn)權的低功耗的DSP處理器核VS_DP4,工作數據存儲器為用戶(hù)應用提供5 KB的指令ROM和0.5 KB的數據RAM.其還具有串行的控制和數據接口、1個(gè)高品質(zhì)可變采樣率的ADC和立體聲DAC、4個(gè)常規用途的I/O口、1個(gè)UART,以及1個(gè)地線(xiàn)緩沖器和耳機放大器。
STM32F103將從SD卡里讀取的MP3音頻數據流傳給音頻解碼模塊,音頻解碼模塊將該數據流解析并轉換成模擬信號后再進(jìn)行輸出。VS1003B與STM32F103的數據通信是通過(guò)J2排針上的SPI總線(xiàn)方式進(jìn)行的。音頻解碼模塊電路的原理圖如圖2所示。

圖2 音頻模塊解碼電路圖
2.2 SD卡接口模塊
SD卡是最為通用的數據存儲卡,具有價(jià)格低、存儲容量大、使用方便、通用性與安全性強等優(yōu)點(diǎn),因此MP3、MP4、MP5、Pad和數碼相機等設備上的存儲卡均為SD卡。SD卡支持的總線(xiàn)模式為SD模式和SPI模式,本設計中采用SPI模式。圖3為SD卡模塊(J10排針上的SPI模式)的接口電路。

圖3 SD卡模塊圖
2.3 WiFi無(wú)線(xiàn)模塊
WiFi(Wireless Fidelity,無(wú)線(xiàn)保真技術(shù))的最大優(yōu)點(diǎn)是傳輸速度較高,而且能自動(dòng)調整帶寬,可以有效地保障網(wǎng)絡(luò )的穩定性和可靠性。該設計采用的WM—G—MR—08模塊不僅具有WiFi的功能,而且能提供小尺寸和高數據速率的無(wú)線(xiàn)連接,可應用于無(wú)線(xiàn)PDA、DSC、媒體適配器、微型打印機、條碼掃描器、VOIP電話(huà)等。數據存儲裝置是該WM-G-MR-08潛在的應用,在嵌入式上的應用主要集中在移動(dòng)裝置方面。在設計中,WM-G-MR-08模塊通過(guò)開(kāi)發(fā)板上的J1排針的SPI引腳與主控芯片通信,ANT1 SMACON為無(wú)線(xiàn)網(wǎng)卡,其原理圖如圖4所示。

圖4 WM-G-MR-08模塊圖
3嵌入式軟件設計
設計采用RealView MDK開(kāi)發(fā)套件作為軟件開(kāi)發(fā)平臺,嵌入式軟件采用C語(yǔ)言編寫(xiě),操作系統采用μC/OS-II.μC/OS-II是用C語(yǔ)言和匯編語(yǔ)言編寫(xiě)的,結構簡(jiǎn)潔精練,可讀性很強,同時(shí)又具備實(shí)時(shí)操作系統的大部分功能,并且通過(guò)適當的擴展之后,可被廣泛用于多種應用場(chǎng)合。
系統啟動(dòng)后,先初始化STM32F103,然后初始化SD卡、音頻解碼模塊、WiFi無(wú)線(xiàn)模塊,最后是μC/OS-II系統初始化。當WiFi指令判斷為播放指令時(shí),由微控制器將SD卡的一些基本信息送到FAT文件系統接口處進(jìn)行讀取,獲取SD卡的容量、FAT表及根目錄所在的起始扇區。通過(guò)這些信息就可以判斷出SD卡是否存儲有音頻解碼模塊可以解碼并播放的音樂(lè )文件。若有該音樂(lè )文件,控制器將通過(guò)SPI總線(xiàn)方式讀出該文件的音頻信息,并將音頻的數據流信息送入到音頻解碼模塊中,由VS1003B芯片解碼后,再通過(guò)內含的高質(zhì)量的立體DAC和耳機驅動(dòng)電路,就可以實(shí)現音樂(lè )的播放。程序流程圖如圖5所示。

圖5 程序流程圖
4手機客戶(hù)端軟件設計
手機客戶(hù)端軟件開(kāi)發(fā)用到的開(kāi)發(fā)工具包括Eclipse、JDK、ADT和Andrid SDK.開(kāi)發(fā)環(huán)境搭建過(guò)程如下:首先安裝JDK,再分別解壓Eclip se和Android SDK,接著(zhù)為Eclipse安裝ADT插件,最后配置Android SDK,最終搭建好Android開(kāi)發(fā)環(huán)境。
針對客戶(hù)端軟件,采用ImageView+TestView進(jìn)行UI設計,選擇合適的圖片作為背景并添加ButtonStart、Button Stop、ButtonOff等功能按鈕,實(shí)現對音樂(lè )播放系統的播放、暫停、關(guān)閉等控制。設計好UI界面后,通過(guò)為各個(gè)按鈕添加setOnClickListener事件響應用戶(hù)操作。根據命令按鈕的不同,在響應函數中通過(guò)網(wǎng)絡(luò )向子機節點(diǎn)發(fā)送不同的命令實(shí)現相應的控制功能。
結語(yǔ)
本設計是在A(yíng)RM7平臺上構建WiFi,成本優(yōu)勢明顯。采用當前較新的控制方式——智能手機軟件控制+無(wú)線(xiàn)網(wǎng)絡(luò ),不僅能充分利用WiFi的傳輸速度快、覆蓋范圍廣等優(yōu)勢,而且基于A(yíng)ndroid的平臺建設成本低、使用方便。同時(shí),這種方式采用的手機軟件具有通用性,市場(chǎng)應用價(jià)值高,易于推廣,能為用戶(hù)提供優(yōu)質(zhì)、方便快捷的音樂(lè )播放服務(wù)。 |