0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32F103系列單片機(jī)的無線解說器

電子設(shè)計 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師1 ? 2018-05-25 10:00 ? 次閱讀

本實例是以STM32F103系列單片機(jī)作為核心處理器,利用VS1003芯片進(jìn)行音頻解碼的一種無線解說器。通過對觸摸顯示屏的操作,實現(xiàn)手持部分和終端部分二者的無線通訊。系統(tǒng)采用大容量的SD卡作為存儲部分,通過SPI將VS1003B與SD卡的數(shù)據(jù)與STM32進(jìn)行交互通信。本解說器在播放時沒有出現(xiàn)理論上的斷續(xù)情況,音質(zhì)較好,占用的軟硬件資源也較少,為后續(xù)的擴(kuò)展留下了很大空間。

無線講解器通常用于工廠、博物館、景區(qū)等室外空曠場所供參觀介紹用,通過事先在場所安放無線發(fā)射模塊,并控制發(fā)射模塊的工作范圍。聽眾到達(dá)景點后,手上的講解器將自動接收各個地點的無線編碼信號,經(jīng)解碼后即可將存儲在SD卡中的語音播放,以便清晰地全程收聽全部介紹內(nèi)容。

1 系統(tǒng)總體構(gòu)成

系統(tǒng)主要器件包括TFT觸摸屏、STM32F103RCT6微控制器、SD卡、語音解碼芯片VS1003、揚聲器。STM32F103RCT6微控制器為系統(tǒng)終端的控制核心,通過它與手持式設(shè)備之間進(jìn)行無線串口通訊,讀取SD卡中的音頻文件,控制VS1003解碼讀取的數(shù)據(jù),實現(xiàn)聲音的播放與控制,該系統(tǒng)主體結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)設(shè)計框圖

2 硬件電路控制

2.1 TFT觸摸屏控制電路

單片機(jī)芯片STM32F103RCT6工作在8MHz時鐘下,RTC工作在32.768kHz時鐘下。單片機(jī)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),直接與單片機(jī)引腳相連,如圖2所示。

圖2 TFT觸摸屏與單片機(jī)連接控制原理圖

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文件,對話筒輸入或線路輸入的音頻信號進(jìn)行IMA ADPCM編碼,內(nèi)含高性能片上立體聲數(shù)模轉(zhuǎn)換器,兩聲道間無相位差。

圖3 音頻解碼電路原理

VS1003通過7根引腳(VS RST、VS DREQ、VS_MISO、VS_MOSI、VS_SCK、VS_XDCS、VS_XCS)與主控芯片相連,如圖3所示。需要播放音頻文件時,首先應(yīng)復(fù)位VS1003(包括硬復(fù)位和軟復(fù)位),讓其回到原始狀態(tài),準(zhǔn)備解碼下一個音頻文件。接著需配置VS1003相關(guān)寄存器,包括VS1003的模式寄存器(MODE)、時鐘寄存器(CLOCKF)等。最后向VS1003里寫入數(shù)據(jù)。VS1003會自動識別它所支持的音頻格式并進(jìn)行播放。

3 軟件控制設(shè)計

3.1 手持設(shè)備控制流程

對手持式設(shè)備進(jìn)行軟件控制編程時,第一步使用需要對系統(tǒng)時鐘進(jìn)行初始化,需要對外部高速時鐘使能,中斷向量表配置,鎖相環(huán)配置等過程。這樣系統(tǒng)才能正確執(zhí)行相關(guān)程序。接下來對串口進(jìn)行初始化,本設(shè)計使用的串口一,需要對GPIOA進(jìn)行初始化,并配置其復(fù)用功能,將TXD引腳設(shè)置成復(fù)用延遲輸出,RXD配置成浮空輸入。下面設(shè)置USAT的波特率、傳輸字長、有無奇偶校驗、數(shù)據(jù)流控制、收發(fā)模式、中斷優(yōu)先級、中斷服務(wù)函數(shù)等。

圖4 手持設(shè)備控制程序流程圖

手持設(shè)備上的TFT初始化以后,就可顯示初始化界面,接著等待終端設(shè)備發(fā)送數(shù)據(jù)顯示,手持設(shè)備在完成各種初始化工作后與終端設(shè)備進(jìn)行握手連接,握手成功之后便能顯示終端設(shè)備上發(fā)送過來的信息,握手失敗后就不停嘗試著與終端設(shè)備進(jìn)行握手,直到握手成功。觸摸屏點擊后進(jìn)行軟件判斷得到點擊的坐標(biāo)值,并將坐標(biāo)值傳送至終端設(shè)備。

3.2 終端設(shè)備程序流程圖

終端設(shè)備開機(jī)后需要設(shè)置無線單片機(jī)的初始值,初始值為包括解說區(qū)域的坐標(biāo)代碼,因此在游覽干道旁需每隔約25m設(shè)置一個終端,當(dāng)游人在游覽干道上行進(jìn),身上的手持設(shè)備就可隨時和道路旁放置的無線終端相互交換信息,播放需要的解說詞。

因此終端流程最開始對所需要的外設(shè)進(jìn)行初始化,確認(rèn)初始化無誤以后進(jìn)入正弦波測試,如有初始化不成功的程序?qū)⒉荒苓M(jìn)入下一個流程。在正弦波測試完之后確定終端設(shè)備上的外設(shè)運行良好,將SD卡中的音頻文件信息解碼出來,并發(fā)送出去,此時進(jìn)入串口監(jiān)控狀態(tài),時刻監(jiān)控串口信息,當(dāng)收到播放指令時即在SD卡中尋找對應(yīng)的信息,并從SD卡中將數(shù)據(jù)讀取出來,發(fā)送至VS1003進(jìn)行解碼,在播放過程中如接收到新的串口數(shù)據(jù),再進(jìn)行判斷,是停止還是暫?;蛘咂渌睿缓髨?zhí)行相應(yīng)的命令。

圖5 終端設(shè)備程序流程圖

4 結(jié)論

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6040

    文章

    44592

    瀏覽量

    636864
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10915

    瀏覽量

    356746
  • VS1003
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    20084
收藏 人收藏

    評論

    相關(guān)推薦

    MH32F103A單片機(jī)介紹 STM32替代 增強(qiáng)多種功能,替換簡單,性能優(yōu)異

    。MH32F103A系列單片機(jī)內(nèi)置了最大512KB Flash存儲和96KB SRAM,有LQFP48/64/100多種封裝。 MH32F103
    的頭像 發(fā)表于 12-17 15:53 ?200次閱讀
    MH32<b class='flag-5'>F103</b>A<b class='flag-5'>單片機(jī)</b>介紹 <b class='flag-5'>STM32</b>替代 增強(qiáng)多種功能,替換簡單,性能優(yōu)異

    STM32F103×8/STM32F103×B MCU手冊

    需要確定系統(tǒng)時鐘源,如使用HSE或HSI,然后配置PLL倍增因子以獲得所需的系統(tǒng)時鐘頻率。這通常通過修改RCC(復(fù)位與時鐘控制)寄存來完成,并可以在STM32CubeMX或標(biāo)準(zhǔn)外設(shè)庫/HAL庫中輕松設(shè)置。2. Q: 為什么STM32F
    發(fā)表于 11-18 15:14 ?0次下載

    MH32F103A單片機(jī),可替換STM32,主頻可達(dá)216兆,并強(qiáng)化諸多功能

    MH32F103A系列單片機(jī)使用高性能的32位M3內(nèi)核,最高工作頻率216 MHz。內(nèi)置的存儲包括:最大512K Flash存儲,96K
    的頭像 發(fā)表于 08-09 18:16 ?740次閱讀

    STM32F40xxx、STM32F41xxx、STM32F42xxx、STM32F43xxx中文手冊

    STM32F4系列單片機(jī)中文手冊
    發(fā)表于 08-08 14:32 ?2次下載

    基于STM32單片機(jī)的智能書房系統(tǒng)設(shè)計

    本次設(shè)計的系統(tǒng)是以STM32F103單片機(jī)作為核心控制,可以通過光照傳感對書房內(nèi)的光照強(qiáng)度進(jìn)行采集,可以通過溫度傳感完成對溫濕度的采集
    的頭像 發(fā)表于 06-25 09:24 ?2114次閱讀
    基于<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>的智能書房系統(tǒng)設(shè)計

    基于STM32單片機(jī)的智能冰箱控制系統(tǒng)設(shè)計

    基于單片機(jī)設(shè)計的一款智能冰箱控制系統(tǒng),可以控制冰箱的制冷裝置,可以采集冰箱的異味濃度,超過閩值之后控制紫外燈進(jìn)行消毒工作單片機(jī)采用單片機(jī)采用單片機(jī)采用
    的頭像 發(fā)表于 06-25 09:21 ?1320次閱讀
    基于<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>的智能冰箱控制系統(tǒng)設(shè)計

    STM32F103xC,STM32F103xD,STM32F103xE中文資料

    電子發(fā)燒友網(wǎng)站提供《STM32F103xC,STM32F103xD,STM32F103xE中文資料.pdf》資料免費下載
    發(fā)表于 06-17 14:12 ?4次下載

    學(xué)STM32為什么首選F103C8T6?

    STM32F103C8T6是STMicroelectronics(ST)推出的一款基于ARMCortex-M3內(nèi)核的32位微控制單片機(jī)(MCU)。它具有一系列優(yōu)勢和廣泛的應(yīng)用場景。這
    的頭像 發(fā)表于 05-18 08:04 ?6254次閱讀
    學(xué)<b class='flag-5'>STM32</b>為什么首選<b class='flag-5'>F103</b>C8T6?

    stm32f103能超到多少頻率,是否穩(wěn)定?

    誰超頻使用過stm32f103系列的片子,能超到多少頻率,是否穩(wěn)定?
    發(fā)表于 05-09 07:35

    STM32國產(chǎn)兼容替代芯片,MH32F103A 32位M3內(nèi)核 主頻216M

    這次介紹的可以兼容替代STM32F103的國產(chǎn)芯片是MH32F103A。MH32F103A系列單片機(jī)基本兼容SXX32
    的頭像 發(fā)表于 04-25 16:43 ?1927次閱讀

    AVR單片機(jī)外接16M晶振和STM32F103外接8MHZ運行速度哪一個更快?

    ,就是在執(zhí)行串口接收中斷程序時,檢測不到按鍵,發(fā)生丟失按鍵動作現(xiàn)象。 按理說STM32F103的系統(tǒng)時鐘是72M,而AVR單片機(jī)晶振是16M,STM運行速度要快很多,不應(yīng)該出現(xiàn)丟失按鍵動作的現(xiàn)象啊
    發(fā)表于 04-23 07:43

    求助,關(guān)于STM32 USB轉(zhuǎn)串口與其他單片機(jī)通訊問題求解

    想實現(xiàn)stm32f103在usb轉(zhuǎn)串口后,跟其他的單片機(jī) 通訊,可以實現(xiàn)嗎? 如果用stm32f407也USB轉(zhuǎn)串口,跟stm32f103的usb轉(zhuǎn)串口互相通訊,可以實現(xiàn)嗎?
    發(fā)表于 04-23 07:10

    STM32F103RCT6下載程序后無法啟動的原因?

    我的STM32F103的程序是HEX文件, 是2012年的時候編譯,并開始批量生產(chǎn)的。 最近產(chǎn)線上下來的單片機(jī),都無法啟動。 新買了多批單片機(jī),都無法正常啟動。 一定要用舊單片機(jī),才能
    發(fā)表于 03-19 07:04

    STM32F103如何使用BOOT下載程序?

    STM32F103如何使用BOOT下載程序
    發(fā)表于 03-15 07:21

    ARM系列STM32F103芯片的解密方法

    本文介紹ARM系列STM32F103芯片的解密方法,其內(nèi)核是Cortex-M3,內(nèi)存從16K-512K都有。
    發(fā)表于 02-28 11:20 ?1785次閱讀