基于STM32的語音導覽系統(tǒng)的設(shè)計
3.3中斷服務程序
本文引用地址:http://www.ex-cimer.com/article/270441.htm錄音中斷服務程序流程如圖5所示。它實現(xiàn)的功能是在一次長按錄音鍵時,將一個景點的語音信息錄入ISD4004中以預先設(shè)定的起始地址存儲空間中,松開錄音鍵后,本景點語音內(nèi)容錄音停止。每個景點的導覽語音存儲的位置,以其起始地址為標示。起始地址的安排根據(jù)每段語音的長度決定。每個景點語音錄音時需保持錄音按鍵鎖下不松開,直至本段景點語音錄音結(jié)束。
景點語音播放中斷服務程序流程如圖6所示。系統(tǒng)在獲得RFID讀卡器的中斷申請之后,根據(jù)讀卡器接口協(xié)議,MCU經(jīng)SPI2接口接收到讀卡器傳來的數(shù)據(jù)信息,分析出RFID所含的ID信息內(nèi)容,并根據(jù)ID所對應的景點位置,即原設(shè)置的景點語音首地址,將此首地址發(fā)送到ISD4004芯片組,并發(fā)送放音命令,即可實現(xiàn)對應景點事先錄制好的導覽語音自動播放。開始播放語音信息期間,ISD4004的I-N-T-端連接到了STM32的I/O口上,不斷查詢它的狀態(tài)。當這段語音信息放完時,語音芯片ISD4004的I-N-T-端會置低,由此發(fā)送停止播放指令,則實現(xiàn)播音結(jié)束,并等待下一個RFID信息的輸入和讀卡器中斷申請。
圖5錄音流程圖
圖6放音流程圖
4系統(tǒng)調(diào)試測試結(jié)果
4.1錄放音模塊調(diào)試
對于錄音模塊功能的測試,采用如下的辦法:對著麥克風進行放音,用示波器觀察語音芯片的輸入引腳是否有信號。在語音芯片輸入引腳檢測到信號,如圖7(a)所示。
在成功錄入語音后,發(fā)送放音指令在語音芯片輸出引腳得到如圖7(b)所示波形。
圖7錄放音調(diào)試試驗波形
4.2 SPI模塊調(diào)試
在錄音電路正確后,發(fā)送放音指令,在芯片對應SPI1模塊功能的引腳端,可以在示波器上看到正確的時序,如圖8所示。
圖8(a)是片選和時鐘信號輸出;圖8(b)和(c)分別是不停地發(fā)送0×55,在STM32 SPI1的數(shù)據(jù)發(fā)送端MOSI和數(shù)據(jù)接收端MISO得到的波形,與實際相符。
圖8 SPI1接口調(diào)試試驗時序波形
5結(jié)論
本文提出的系統(tǒng)結(jié)構(gòu)簡單、實用可靠,特別適用于山區(qū)自然景點的有軌旅游列車項目等,因而該系統(tǒng)具有很好的實用價值??捎糜趶碗s環(huán)境下的語音導覽系統(tǒng)實現(xiàn)結(jié)構(gòu),詳細介紹了系統(tǒng)主要功能模塊的實現(xiàn)技術(shù)和調(diào)試實驗結(jié)果。
評論