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