基于DSP的通用語音編譯碼器設(shè)計(jì)與實(shí)現(xiàn)
2 軟件設(shè)計(jì)
軟件設(shè)計(jì)包括DSP程序、控制器程序、CPLD程序和上位機(jī)程序四部分。DSP程序根據(jù)命令完成語音信號和計(jì)算機(jī)數(shù)據(jù)的處理等;控制器程序完成本地對編譯碼器的管理,并負(fù)責(zé)DSP與PC之間的通信;CPLD程序除完成系統(tǒng)需要的組合、時(shí)序工作外,還要提供與調(diào)制/解調(diào)器的數(shù)據(jù)接口;上位機(jī)程序完成對語音編譯碼器的管理。下面介紹部分程序的設(shè)計(jì)原理。
2.1 DSP程序設(shè)計(jì)
DSP程序主要包括主程序、命令解析子程序、模擬信號采集與輸出子程序、編譯碼子程序、數(shù)據(jù)信號接收與發(fā)送子程序等。DSP完成G.711規(guī)范的A-Law編譯碼程序流程圖如圖2所示。本文引用地址:http://www.ex-cimer.com/article/149450.htm
在DSP響應(yīng)控制器程序中設(shè)置一個(gè)控制標(biāo)志位CON_SEL,并分配在DSP數(shù)據(jù)空間內(nèi)的0x1fffH地址,控制器根據(jù)用戶從鍵盤輸入的命令(或來自PC機(jī)的命令)向此地址寫入相應(yīng)的控制標(biāo)志,DSP的底層程序響應(yīng)該控制標(biāo)志位完成相應(yīng)的工作(MIC語音處理、線路語音處理和數(shù)據(jù)通信)。DSP響應(yīng)控制器程序流程圖如圖3所示。從流程圖中可以看到,對于語音處理,程序先打開中斷。當(dāng)A/D采集完語音數(shù)據(jù)后,即進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中關(guān)閉全局中斷,并設(shè)置數(shù)據(jù)是否滿的標(biāo)志位為有效狀態(tài)。主程序查詢該標(biāo)志位,如果有效則調(diào)語音處理子程序進(jìn)行處理,處理完調(diào)用通信程序輸出;而對于數(shù)據(jù)通信的處理過程是,DSP首先在內(nèi)部開辟一個(gè)數(shù)據(jù)緩沖區(qū),并打開HPI中斷和全局中斷,然后DSP主程序進(jìn)入數(shù)據(jù)處理程序,這時(shí)接收來自單片機(jī)(或PC機(jī))的數(shù)據(jù)通過數(shù)據(jù)口傳輸出去,傳送完后可通過HINT去中斷控制器,通知主機(jī)傳送下一個(gè)數(shù)據(jù)。
低通濾波器相關(guān)文章:低通濾波器原理
評論