基于DSP的通用語(yǔ)音編譯碼器設(shè)計(jì)與實(shí)現(xiàn)
2.2 控制器程序設(shè)計(jì)
控制器工作有兩個(gè)狀態(tài),即本地控制工作狀態(tài)和通信傳輸工作狀態(tài)。本地控制狀態(tài)就是實(shí)現(xiàn)對(duì)編譯碼器的控制與管理,而通信工作狀態(tài)僅僅完成DSP與PC機(jī)之間的信息傳輸,這里只說(shuō)明DSP、控制器和PC機(jī)之間的程序設(shè)計(jì)。由于DSP的HINT引腳和單片機(jī)的INT0引腳相連接,HINT中斷有效觸發(fā)的是單片機(jī)的INT0中斷,所以PC機(jī)的上位機(jī)軟件要響應(yīng)DSP的中斷只能在控制器與PC機(jī)的控制協(xié)議中完成,DSP在發(fā)送完成一個(gè)數(shù)據(jù)后無(wú)法采用中斷的方式告訴上位機(jī)。為解決這個(gè)問(wèn)題,上位機(jī)采用查詢(xún)的方式,即在控制器中設(shè)置一個(gè)標(biāo)志位send_end,初始化為0,當(dāng)DSP發(fā)送完一個(gè)字節(jié)數(shù)據(jù)后置該標(biāo)志位為1,上位機(jī)每發(fā)送完一個(gè)數(shù)據(jù),通過(guò)控制器觸發(fā)一次DSPINT中斷,并讀回send_end的值判斷,若為1則傳送下一個(gè)字節(jié),否則等待控制器將當(dāng)前數(shù)據(jù)發(fā)送完成。
2.3 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件采用學(xué)生容易掌握的VB語(yǔ)言實(shí)現(xiàn),其主界面如圖4所示。本文引用地址:http://m.butianyuan.cn/article/149450.htm
主界面主要完成系統(tǒng)初始化,并顯示系統(tǒng)需要檢測(cè)和控制的內(nèi)容。初始化正常后,上位機(jī)程序即可通過(guò)控制器向DSP的指令地址發(fā)送控制命令,DSP查詢(xún)此地址的命令字,并根據(jù)命令字進(jìn)入相應(yīng)的服務(wù)程序(MIC語(yǔ)音、線路語(yǔ)音或數(shù)據(jù)通信。DSP在初始化中默認(rèn)的是MIC語(yǔ)音處理),如果要進(jìn)行線路語(yǔ)音處理則在控制界面上選擇“線路輸入語(yǔ)音”控制命令,這時(shí)控制子界面將用戶(hù)選擇的命令通過(guò)控制器送DSP,DSP查詢(xún)到并判斷是線路輸入語(yǔ)音命令后即執(zhí)行線路輸入語(yǔ)音子程序,這時(shí)如果將數(shù)據(jù)輸出端口與數(shù)據(jù)輸入端口、對(duì)應(yīng)的同步信號(hào)連接好的話(huà),從耳機(jī)可聽(tīng)到經(jīng)過(guò)語(yǔ)音編碼和譯碼后的電腦播放的音樂(lè),從聽(tīng)到的音樂(lè)比較編譯碼后的語(yǔ)音質(zhì)量。如果在命令控制界面選擇“計(jì)算機(jī)數(shù)據(jù)通信”控制命令,即可進(jìn)行計(jì)算機(jī)數(shù)據(jù)通信實(shí)驗(yàn)。
3 實(shí)際測(cè)試
3.1 語(yǔ)音信號(hào)編譯碼測(cè)試
首先將PC機(jī)的線路輸出用信號(hào)線連接到編譯碼器的LINE輸入,啟動(dòng)編譯碼實(shí)驗(yàn)系統(tǒng),然后由PC機(jī)播放MP3音樂(lè),測(cè)試得到的8 kHz幀同步和64 kHz位同步時(shí)鐘的波形如圖5所示。
圖6是在64 kHz位同步時(shí)鐘情況下編碼后的音樂(lè)數(shù)據(jù)波形,在譯碼器輸出端用耳機(jī)可以聽(tīng)到MOS分在4 dB以上的音樂(lè)。
低通濾波器相關(guān)文章:低通濾波器原理
評(píng)論