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