系統(tǒng)的軟件總體結構如圖1所示。鍵盤監(jiān)控的初始化、液晶顯示的初始化、時間、采樣頻率、顯示狀態(tài)等各種信息。
圖1 系統(tǒng)軟件結構 監(jiān)控模塊隨時判斷各種中斷是否到達,這其中包括摘機中斷、掛機中斷、振鈴中斷、鍵盤中斷、液晶顯示定時中斷等。監(jiān)控模塊程序完成查詢以上工作并調(diào)用各個相應的處理子程序?! ∠到y(tǒng)的程序流程如圖2所示。在整個程序中,掛機中斷具有最高優(yōu)先權,只要發(fā)生掛機中斷,程序就返回到監(jiān)控狀態(tài)。尤其是在通話過程中,隨時監(jiān)測掛機中斷和對方狀態(tài),一旦自身掛機或者對方掛機,將馬上中止通信過程。
圖2 程序流程 系統(tǒng)上電后,總是檢測有無中斷產(chǎn)生,中斷包括摘機中斷、振鈴中斷、鍵盤中斷和顯示定時中斷。中斷產(chǎn)生,系統(tǒng)將進入相應的中斷處理程序?! sp和客戶端芯片s13016的通信是由dsp的緩沖串口2進行的。其中,dsp通過對s13016的寄存器的讀寫實現(xiàn)數(shù)據(jù)交換和控制。圖3是dsp從s13016讀取數(shù)據(jù)的時序,首先dsp向其緩沖串口2寫數(shù)據(jù)001aaaaa xxxxxxxx,其中001為固定的數(shù)據(jù)位,表示讀操作;5個a位表示讀取的地址(address),例如讀取s13016的第13寄存器,則5個a位值為01101;最低8個x位,表示無關位。s13016收到dsp的以上信/崽,迅速將該寄存器的數(shù)據(jù)送到dsp的緩沖串口2的接收寄存器中,并發(fā)出接收中斷到dsp。注意,513016幾乎是一收到寄存器地址,就發(fā)出該地址的數(shù)據(jù),延遲時間可認為是0,如圖3所示。
圖3 dsp讀si3016的時序 圖4是dsp向s13016寫寄存器的時序。和讀513016寄存器的時序相同,將固定的高3位設置成000,表示寫寄存器;接下來仍然是5個a位,表示寫哪個寄存器;最后低8位就是寫人的內(nèi)容。和讀一樣,s13016一接收到地址信息,馬上將8位信息寫入該寄存器,延遲時間幾乎為0。
圖4 dsp寫si3016的時序 信號處理算法主要包括回音相消、自動增益控制、數(shù)字濾波等?! 。?)回應相消?;匾粝嘞幚磉^程如圖5所示?;匾糁饕峭ㄟ^對不同端的信號采集,得到遠端回音信號,作為回音的參考信號。而帶有回音的混合信號和參考信號進行自適應減法運算,從而將回音從混合信號中去除。圖5中虛線框內(nèi)為回音處理算法。
圖5 回音相消處理過程 ?。?)自動增益控制。語音在采集和傳輸過程中,語音源的差異、信道的衰減以及噪聲的干擾,使得信號的幅度相差較大,從而需要自動增益控制。模擬信號中一般很難實現(xiàn)自動增益,而數(shù)字電話通過對數(shù)字信號的幅度的估計,調(diào)整信號增益參數(shù),從而保證在任何情況均可以輸出最大幅度,達到最佳的語音質(zhì)量?! 。?)數(shù)字濾波。輸入和輸出的模擬信號都經(jīng)過一個具有線性相位的πr帶通濾波器。根據(jù)語音信號的特點,濾波器的通帶在3khz~300khz之間。其阻帶衰減為一60db,根據(jù)實際情況,濾波器的各種參數(shù)可以通過軟件調(diào)整。信號中的直流分量也可以通過預估均值去除,從而進一步提高語音質(zhì)量。
歡迎轉載,信息來源維庫電子市場網(wǎng)()