新聞中心

EEPW首頁 > 消費電子 > 設計應用 > 低成本無線WiFi音樂播放系統設計

低成本無線WiFi音樂播放系統設計

作者: 時間:2016-10-29 來源:網絡 收藏

以STM32F103作為微處理器,設計了一個低成本的無線WiFi音樂播放系統,結合接收WiFi數據的WM-G-MR-08(wm631)模塊和VS1003B音頻解碼器實現了MP3音樂播放?;贏ndroid系統開發(fā)的客戶端軟件采用手機控制,完成了手機端與控制端之間的數據傳輸,實現了手機遠程對音樂播放器的控制。結果表明,該系統設備簡單方便、成本較低、系統可靠、易于擴展。

本文引用地址:http://www.butianyuan.cn/article/201610/307054.htm

本設計基于已經發(fā)展成熟的WiFi無線網絡,充分利用WiFi覆蓋范圍廣、傳輸速度快、抗干擾能力強等優(yōu)點。Android具有開源性、封裝性、性價比高等優(yōu)點,基于Android系統開發(fā)的客戶端軟件移植性強,通用性高。采用手機作為控制終端,便于操作。手機通過無線網絡(WiFi)對音樂播放系統進行控制,可以實現方便、快捷、智能化的要求。

1 系統設計

采用STM32F103作為微控制器有很多優(yōu)勢,STM32F系列屬于中等容量增強型,是32位基于ARM核心的帶64或者128KB閃存的微控制器,在市場上是性價比很高的產品。本設計主要有控制模塊、WiFi無線模塊、音頻解碼模塊VS1003B、SD卡,其系統結構框圖如圖1所示。

w1.jpg

圖1 系統結構框圖

工作流程:點擊智能手機客戶端軟件上的播放按鈕,通過WiFi模塊接收到命令后,STM32F103讀取SD卡中的MP3音樂文件,然后將讀取的數據通過SPI傳輸到音頻解碼芯片VS1003B,經過解碼轉換后發(fā)送到耳機聽筒,實現播放音樂功能;點擊暫停按鈕,STM32F103停止讀取SD卡里的MP3音樂文件數據,這樣就能實現停止播放音樂功能;點擊其他按鈕,也能實現相應的功能。

本設計主要特點如下:

① 在開放的Android系統控制終端設計的基礎上,使用支持組件的重用和替換應用程序框架。使用交互式圖形界面清晰美觀,操作控制簡單,設計出來的產品經過用戶體驗反映非常好。

② 本設計摒除了傳統音樂播放系統對專用控制按鍵的依賴,通過用戶的手機就能實現對音樂播放器播放、暫停等的控制,大大方便了用戶的操作。這樣設計出來的音樂播放系統不僅具有一般音樂播放器的功能,而且具有將控制端和硬件部分分離的優(yōu)勢,實現了對音樂播放系統的遠距離控制。

2 硬件電路設計

2.1 音頻解碼模塊

VS1003B是一個單片MP3/WMA/MIDI音頻解碼器和ADPCM 解碼器。它包含一個高性能、自主產權的低功耗的DSP處理器核VS_DSP4,工作數據存儲器為用戶應用提供5KB的指令ROM 和0.5KB的數據RAM。其還具有串行的控制和數據接口、1個高品質可變采樣率的ADC和立體聲DAC、4 個常規(guī)用途的I/O 口、1 個UART,以及1個地線緩沖器和耳機放大器。

STM32F103將從SD卡里讀取的MP3音頻數據流傳給音頻解碼模塊,音頻解碼模塊將該數據流解析并轉換成模擬信號后再進行輸出。VS1003B與STM32F103的數據通信是通過J2排針上的SPI總線方式進行的。音頻解碼模塊電路的原理圖如圖2所示。

w2.JPG

圖2 音頻模塊解碼電路圖

2.2 SD卡接口模塊

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

w3.JPG

圖3 SD卡模塊圖

2.3 WiFi無線模塊

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

w4.JPG

圖4 WM-G-MR-08模塊圖

3 嵌入式軟件設計

設計采用RealView MDK開發(fā)套件作為軟件開發(fā)平臺,嵌入式軟件采用C語言編寫,操作系統采用μC/OS-II。μC/OS-II是用C語言和匯編語言編寫的,結構簡潔精練,可讀性很強,同時又具備實時操作系統的大部分功能,并且通過適當的擴展之后,可被廣泛用于多種應用場合。

系統啟動后,先初始化STM32F103,然后初始化SD卡、音頻解碼模塊、WiFi無線模塊,最后是μC/OS-II系統初始化。當WiFi指令判斷為播放指令時,由微控制器將SD卡的一些基本信息送到FAT 文件系統接口處進行讀取,獲取SD卡的容量、FAT 表及根目錄所在的起始扇區(qū)。通過這些信息就可以判斷出SD卡是否存儲有音頻解碼模塊可以解碼并播放的音樂文件。若有該音樂文件,控制器將通過SPI總線方式讀出該文件的音頻信息,并將音頻的數據流信息送入到音頻解碼模塊中,由VS1003B芯片解碼后,再通過內含的高質量的立體DAC和耳機驅動電路,就可以實現音樂的播放。程序流程圖如圖5所示。

w5.JPG

圖5 程序流程圖

4 手機客戶端軟件設計

手機客戶端軟件開發(fā)用到的開發(fā)工具包括Eclipse、JDK、ADT和Android SDK。開發(fā)環(huán)境搭建過程如下:首先安裝JDK,再分別解壓Eclipse和Android SDK,接著為Eclipse安裝ADT插件,最后配置Android SDK,最終搭建好Android開發(fā)環(huán)境。

針對客戶端軟件,采用ImageView+TestView 進行UI設計,選擇合適的圖片作為背景并添加ButtonStart、Button-Stop、ButtonOff等功能按鈕,實現對音樂播放系統的播放、暫停、關閉等控制。設計好UI界面后,通過為各個按鈕添加setOnClickListener事件響應用戶操作。根據命令按鈕的不同,在響應函數中通過網絡向子機節(jié)點發(fā)送不同的命令實現相應的控制功能。

結語

本設計是在ARM7平臺上構建WiFi,成本優(yōu)勢明顯。采用當前較新的控制方式———智能手機軟件控制+無線網絡,不僅能充分利用WiFi的傳輸速度快、覆蓋范圍廣等優(yōu)勢,而且基于Android的平臺建設成本低、使用方便。同時,這種方式采用的手機軟件具有通用性,市場應用價值高,易于推廣,能為用戶提供優(yōu)質、方便快捷的音樂播放服務。

  • STM32單片機中文官網
  • STM32單片機官方開發(fā)工具
  • STM32單片機參考設計


評論


相關推薦

技術專區(qū)

關閉