![]() |
監(jiān)控模塊隨時判斷各種定時是否到達,其中包括DSP核數(shù)據(jù)定時、鍵盤掃描定時、LCD顯示定時以及USB接口通信請求等。監(jiān)控模塊程序完成以上查詢工作,并調用各個相應的處理程序。
中斷服務模塊包括4個中斷,即AD50中斷服務、定時器中斷服務、USB接口發(fā)送和接收中斷服務。中斷服務模塊中的AD50轉換和計算模塊完成對信號數(shù)據(jù)的采樣、處理和計算。在整個程序運行中間,AD50轉換的中斷請求享有最高優(yōu)先權。
DSP核主要處理語音信號處理算法,DSP端的軟件結構如圖5所示。TNETV1700控制AD350采樣到語音信號后,首先經過“G.168回音相消算法”消除回音,然后調用VAD(Voice Activity Detection,語音激活檢測)技術判斷是否有語音信號,從而判斷出是否有語音輸入,避免將噪聲傳輸出去。在通話期間進行VAD算法,可以去除兩個語音之間的數(shù)據(jù),大大減少數(shù)據(jù)傳輸量。信號可以經過壓縮算法后進行RTP組包,也可以直接經過UMTD(Universal Multi-frequency Tone Detector,通用多頻音檢測)算法進行RTP實時組包,組包之后將數(shù)據(jù)包傳送ARM核,DSP核就完成了整個數(shù)據(jù)上傳算法。語音數(shù)據(jù)下傳和上傳相反,進行RTD拆包、UMTG(Universal Multi-frequency Tone Genera-tor,通用多頻音產生)、數(shù)據(jù)解壓等算法。數(shù)據(jù)壓縮算法只有G.726算法集成在TNETV1700片內,其他算法(如G.723或者G.729)則需要用戶編寫程序完成,為特定需求的應用場合提供軟件的可適應性。
![]() |
ARM核主要實現(xiàn)LCD、鍵盤和USB的控制功能。ARM端的軟件結構如圖6所示。ARM端軟件的功能主要是控制外設和數(shù)據(jù)收發(fā)。為了不丟失控制信號和收發(fā)的數(shù)據(jù),整個軟件采用時間片輪詢策略:設置各個模塊的定時器,主程序輪詢各個模塊的定時是否到達,如果到達則進行該模塊的相應工作;完成后,繼續(xù)輪詢下一個模塊的定時。整個程序涉及的模塊有4個:與DSP端進行數(shù)據(jù)收發(fā)的模塊,實時監(jiān)控鍵盤模塊,與PC端的USB數(shù)據(jù)收發(fā)模塊以及LCD顯示模塊。
![]() |
結 語
本文詳細介紹了基于TNETV1700的IP數(shù)字電話系統(tǒng)構成、硬件連接以及軟件程序開發(fā)。系統(tǒng)使用TNETV1700的DSP核進行語音信號的算法處理,使用TNETV1700的ARM核對液晶、鍵盤和USB接口進行控制,實現(xiàn)了單芯片系統(tǒng)設計。整個系統(tǒng)設計簡單、可靠、實用,是一種比較好的IP數(shù)字電話解決方案。








