基于TMS320C5409的語音實時變速系統設計
采用DMA的方式,即串口每收到或發送一組單元,都會自動觸發DMA將其搬送到一個內部的Buffer中,等Buffer滿了再通過中斷方式告訴CPU處理。這時DMA最好采用ABU(Auto Buffering)模式,可以有效防止Buffer中的數據在串口速率較高時被新數據沖掉的問題。在進行語音變速時,只需要將13MA通道的幀長做相應的改變即可。
SST39VF400A(256K×1 6位)作為TMS320C5409的外部數據存儲器,地址總線和數據總線接至TMS320C5409的外部總線,CR接至TMS320C5409的DS。TMS320C5409與SST39VF400A的接口如圖4所示。
外部存儲器采用的是CY7C133,它是高速的2K×16bit的靜態異步雙端口RAM,其存儲速度為25ns。它有兩套獨立的地址線、數據線和控制信號線,允許兩個控制器件中的數據通過共同連接的存儲器來進行通信。該雙端口RAM允許兩個控制器同時讀取任何存儲單元(包括同時讀同一單元),但不允許同時寫或者一讀一寫統一地址單元。
對于TMS 320VC5402,數據存儲器CY7C133的對應地址為4000H~47FFH。
系統軟件
本系統實現的目標是鍵盤控制功能和語音錄放功能,并且能夠將輸入的語音信號以任意變速率播放而不改變語音的聲調。系統采用C語言進行功能開發。
本系統中將HPI口映射成為GPIO,并且將鍵盤連線通過或門接到INTO。當有按鍵按下時,INTO中斷處理程序通過從GPIO中讀出的數值判斷此時是錄音、放音、語速變快還是語速變慢。
抗干擾設計
本系統中既采用硬件抗干擾技術,也采用了軟件抗干擾技術。下面簡要介紹一下本系統所采用的硬件看門狗和數字濾波器的設計。
利用硬件看門狗功能提高系統的抗干擾能力。由專用芯片MAX692構成的看門狗電路(圖5),系統所用外圍元件少。MAX692是微系統監控電路芯片,具有后備電池切換、掉電判別、看門狗監控等功能。其中WDI是看門狗檢測輸入端,接到數字電路系統的一個專用I/O口或一個總線口上。RESET是復位信號輸出端,接數字電路系統的復位端RST。MAX692的WDI定時周期為1.6 s,復位脈沖寬度是200ms。如果WDI保持高或低超過看門狗定時周期(1.6s),RESET端將發生200ms寬(最小140ms)的負脈沖使數字電路系統復位。
設數字濾波器的輸入信號為X(n),輸出信號為Y(n),則輸入序列和輸出序列之間的關系可用差分方程表示為:

式中輸入信號X(n)可以是語音信號經采樣和ADC變換后得到的數字序列,也可以是計算機的輸出信號;aK和bK均為系數,通過設置aK和bK可將DF設計成需要的帶通濾波器。
評論