一種觸摸式無(wú)線(xiàn)解說(shuō)器的系統設計與技術(shù)實(shí)現
摘要:文章設計了一種基于STM32F103RCT6微控制器以及VS1003B解碼芯片的無(wú)線(xiàn)解說(shuō)器。采用意法半導體的Cortex—M3內核的STM32系列作為核心控制芯片管理及讀取解說(shuō)詞文件,并將這些數據發(fā)送給VS1003B進(jìn)行解碼,同時(shí)接收外界命令。系統采用大容量的SD卡作為存儲部分,通過(guò)SPI將VS1003B與SD卡的數據與STM32進(jìn)行交互通信。本解說(shuō)器在播放時(shí)沒(méi)有出現理論上的斷續情況,音質(zhì)較好,占用的軟硬件資源也較少,為后續的擴展留下了很大空間。
本文引用地址:http://dyxdggzs.com/article/201610/306329.htm0 引言
無(wú)線(xiàn)講解器通常用于工廠(chǎng)、博物館、景區等室外空曠場(chǎng)所供參觀(guān)介紹用,通過(guò)事先在場(chǎng)所安放無(wú)線(xiàn)發(fā)射模塊,并控制發(fā)射模塊的工作范圍。聽(tīng)眾到達景點(diǎn)后,手上的講解器將自動(dòng)接收各個(gè)地點(diǎn)的無(wú)線(xiàn)編碼信號,經(jīng)解碼后即可將存儲在SD卡中的語(yǔ)音播放,以便清晰地全程收聽(tīng)全部介紹內容。
1 系統總體構成
系統主要器件包括TFT觸摸屏、STM32F103RCT6微控制器、SD卡、語(yǔ)音解碼芯片VS1003、揚聲器。STM32F103RCT6微控制器為系統終端的控制核心,通過(guò)它與手持式設備之間進(jìn)行無(wú)線(xiàn)串口通訊,讀取SD卡中的音頻文件,控制VS1003解碼讀取的數據,實(shí)現聲音的播放與控制,該系統主體結構如圖1所示。

2 硬件電路控制
2.1 TFT觸摸屏控制電路
單片機芯片STM32F103RCT6工作在8MHz時(shí)鐘下,RTC工作在32.768kHz時(shí)鐘下。單片機PA3、PA5、PA6、PA7、與SD卡SD_CS、SPI1_SCK、SPI1_MISO、SPI1_MOSI相連,采用SPI通訊。顯示屏接口采用并行總線(xiàn)方式(數據總線(xiàn)D[7:0]、地址總線(xiàn)A[1:0]、片選/CS、讀/RD、寫(xiě)/WR),直接與單片機引腳相連,如圖2所示。

2.2 VS1003音頻解碼控制電路
語(yǔ)音解碼芯片VS1003可解碼MP3(MPEG 12音頻層III)(CBR+VBR+ABR)、WMA 4.0/4.1/7/8/9的所有配置文件(5.384kbit/s的)、WAV(PCM+IMAADPCM)、MIDI/SP—MIDI文件,對話(huà)筒輸入或線(xiàn)路輸入的音頻信號進(jìn)行IMA ADPCM編碼,內含高性能片上立體聲數模轉換器,兩聲道間無(wú)相位差。

VS1003通過(guò)7根引腳(VS RST、VS DREQ、VS_MISO、VS_MOSI、VS_SCK、VS_XDCS、VS_XCS)與主控芯片相連,如圖3所示。需要播放音頻文件時(shí),首先應復位VS1003(包括硬復位和軟復位),讓其回到原始狀態(tài),準備解碼下一個(gè)音頻文件。接著(zhù)需配置VS1003相關(guān)寄存器,包括VS1003的模式寄存器(MODE)、時(shí)鐘寄存器(CLOCKF)等。最后向VS1003里寫(xiě)入數據。VS1003會(huì )自動(dòng)識別它所支持的音頻格式并進(jìn)行播放。
3 軟件控制設計
3.1 手持設備控制流程
對手持式設備進(jìn)行軟件控制編程時(shí),第一步使用需要對系統時(shí)鐘進(jìn)行初始化,需要對外部高速時(shí)鐘使能,中斷向量表配置,鎖相環(huán)配置等過(guò)程。這樣系統才能正確執行相關(guān)程序。接下來(lái)對串口進(jìn)行初始化,本設計使用的串口一,需要對GPIOA進(jìn)行初始化,并配置其復用功能,將TXD引腳設置成復用延遲輸出,RXD配置成浮空輸入。下面設置USAT的波特率、傳輸字長(cháng)、有無(wú)奇偶校驗、數據流控制、收發(fā)模式、中斷優(yōu)先級、中斷服務(wù)函數等。

手持設備上的TFT初始化以后,就可顯示初始化界面,接著(zhù)等待終端設備發(fā)送數據顯示,手持設備在完成各種初始化工作后與終端設備進(jìn)行握手連接,握手成功之后便能顯示終端設備上發(fā)送過(guò)來(lái)的信息,握手失敗后就不停嘗試著(zhù)與終端設備進(jìn)行握手,直到握手成功。觸摸屏點(diǎn)擊后進(jìn)行軟件判斷得到點(diǎn)擊的坐標值,并將坐標值傳送至終端設備。
3.2 終端設備程序流程圖
終端設備開(kāi)機后需要設置無(wú)線(xiàn)單片機的初始值,初始值為包括解說(shuō)區域的坐標代碼,因此在游覽干道旁需每隔約25m設置一個(gè)終端,當游人在游覽干道上行進(jìn),身上的手持設備就可隨時(shí)和道路旁放置的無(wú)線(xiàn)終端相互交換信息,播放需要的解說(shuō)詞。
因此終端流程最開(kāi)始對所需要的外設進(jìn)行初始化,確認初始化無(wú)誤以后進(jìn)入正弦波測試,如有初始化不成功的程序將不能進(jìn)入下一個(gè)流程。在正弦波測試完之后確定終端設備上的外設運行良好,將SD卡中的音頻文件信息解碼出來(lái),并發(fā)送出去,此時(shí)進(jìn)入串口監控狀態(tài),時(shí)刻監控串口信息,當收到播放指令時(shí)即在SD卡中尋找對應的信息,并從SD卡中將數據讀取出來(lái),發(fā)送至VS1003進(jìn)行解碼,在播放過(guò)程中如接收到新的串口數據,再進(jìn)行判斷,是停止還是暫?;蛘咂渌?,然后執行相應的命令。

4 結論
本文所設計的無(wú)線(xiàn)解說(shuō)器以STM32F103系列單片機作為核心處理器,處理速度快且性?xún)r(jià)比高。利用VS1003解碼芯片控制音頻解碼文件,選用合適的通訊方式,嚴格把控時(shí)序,確保播放聲音的清晰與真實(shí)。通過(guò)對觸摸顯示屏的操作,實(shí)現手持部分和終端部分二者的無(wú)線(xiàn)通訊,確保游人在指定地點(diǎn)接收到相應解說(shuō)詞,本系統經(jīng)過(guò)實(shí)際使用,通信效果良好,播放的解說(shuō)詞流暢,音質(zhì)較好。在后期設備升級中,可考慮采用高速DSP作為中央控制芯片,即可無(wú)需解碼芯片,且更好地將系統嵌入到DSP為核心的產(chǎn)品中,從而更加人性化。
評論