【導讀】無線解說器通常用于工廠、博物館等室外空曠的場所。安放好無線發(fā)射模塊后控制發(fā)射范圍,聽眾到達地點后將自動幾首各個地點發(fā)送的無線編碼信號,經(jīng)解碼后將語音播放出來。下面請看小編為大家詳解技術原理及具體實例。
本實例是以STM32F103系列單片機作為核心處理器,利用VS1003芯片進行音頻解碼的一種無線解說器。通過對觸摸顯示屏的操作,實現(xiàn)手持部分和終端部分二者的無線通訊。系統(tǒng)采用大容量的SD卡作為存儲部分,通過SPI將VS1003B與SD卡的數(shù)據(jù)與STM32進行交互通信。本解說器在播放時沒有出現(xiàn)理論上的斷續(xù)情況,音質較好,占用的軟硬件資源也較少,為后續(xù)的擴展留下了很大空間。
1 系統(tǒng)總體構成
系統(tǒng)主要器件包括TFT觸摸屏、STM32F103RCT6微控制器、SD卡、語音解碼芯片VS1003、揚聲器。STM32F103RCT6微控制器為系統(tǒng)終端的控制核心,通過它與手持式設備之間進行無線串口通訊,讀取SD卡中的音頻文件,控制VS1003解碼讀取的數(shù)據(jù),實現(xiàn)聲音的播放與控制,該系統(tǒng)主體結構如圖1所示。
圖1 系統(tǒng)設計框圖
2 硬件電路控制2.1 TFT觸摸屏控制電路
單片機芯片STM32F103RCT6工作在8MHz時鐘下,RTC工作在32.768kHz時鐘下。單片機PA3、PA5、PA6、PA7、與SD卡SD_CS、SPI1_SCK、SPI1_MISO、SPI1_MOSI相連,采用SPI通訊。顯示屏接口采用并行總線方式(數(shù)據(jù)總線D[7:0]、地址總線A[1:0]、片選/CS、讀/RD、寫/WR),直接與單片機引腳相連,如圖2所示。
圖2 TFT觸摸屏與單片機連接控制原理圖
[page] 2.2 VS1003音頻解碼控制電路
語音解碼芯片VS1003可解碼MP3(MPEG 1&2音頻層III)(CBR+VBR+ABR)、WMA 4.0/4.1/7/8/9的所有配置文件(5.384kbit/s的)、WAV(PCM+IMAADPCM)、MIDI/SP—MIDI文件,對話筒輸入或線路輸入的音頻信號進行IMA ADPCM編碼,內含高性能片上立體聲數(shù)模轉換器,兩聲道間無相位差。
圖3 音頻解碼電路原理圖
VS1003通過7根引腳(VS RST、VS DREQ、VS_MISO、VS_MOSI、VS_SCK、VS_XDCS、VS_XCS)與主控芯片相連,如圖3所示。需要播放音頻文件時,首先應復位VS1003(包括硬復位和軟復位),讓其回到原始狀態(tài),準備解碼下一個音頻文件。接著需配置VS1003相關寄存器,包括VS1003的模式寄存器(MODE)、時鐘寄存器(CLOCKF)等。最后向VS1003里寫入數(shù)據(jù)。VS1003會自動識別它所支持的音頻格式并進行播放。[page]
3 軟件控制設計
3.1 手持設備控制流程
對手持式設備進行軟件控制編程時,第一步使用需要對系統(tǒng)時鐘進行初始化,需要對外部高速時鐘使能,中斷向量表配置,鎖相環(huán)配置等過程。這樣系統(tǒng)才能正確執(zhí)行相關程序。接下來對串口進行初始化,本設計使用的串口一,需要對GPIOA進行初始化,并配置其復用功能,將TXD引腳設置成復用延遲輸出,RXD配置成浮空輸入。下面設置USAT的波特率、傳輸字長、有無奇偶校驗、數(shù)據(jù)流控制、收發(fā)模式、中斷優(yōu)先級、中斷服務函數(shù)等。
圖4 手持設備控制程序流程圖
手持設備上的TFT初始化以后,就可顯示初始化界面,接著等待終端設備發(fā)送數(shù)據(jù)顯示,手持設備在完成各種初始化工作后與終端設備進行握手連接,握手成功之后便能顯示終端設備上發(fā)送過來的信息,握手失敗后就不停嘗試著與終端設備進行握手,直到握手成功。觸摸屏點擊后進行軟件判斷得到點擊的坐標值,并將坐標值傳送至終端設備。3.2 終端設備程序流程圖
終端設備開機后需要設置無線單片機的初始值,初始值為包括解說區(qū)域的坐標代碼,因此在游覽干道旁需每隔約25m設置一個終端,當游人在游覽干道上行進,身上的手持設備就可隨時和道路旁放置的無線終端相互交換信息,播放需要的解說詞。
因此終端流程最開始對所需要的外設進行初始化,確認初始化無誤以后進入正弦波測試,如有初始化不成功的程序將不能進入下一個流程。在正弦波測試完之后確定終端設備上的外設運行良好,將SD卡中的音頻文件信息解碼出來,并發(fā)送出去,此時進入串口監(jiān)控狀態(tài),時刻監(jiān)控串口信息,當收到播放指令時即在SD卡中尋找對應的信息,并從SD卡中將數(shù)據(jù)讀取出來,發(fā)送至VS1003進行解碼,在播放過程中如接收到新的串口數(shù)據(jù),再進行判斷,是停止還是暫?;蛘咂渌?,然后執(zhí)行相應的命令。
圖5 終端設備程序流程圖
相關閱讀:
電路分享:一款無線氣體測試系統(tǒng)硬件電路設計
重磅推薦:黑白循跡小車的電路設計
智能家電的無線數(shù)據(jù)傳輸電路設計