基于CCS和DSK5402板的音頻采集和回放程序設計
CCS(Code Composer Studio)為TI公司的DSP集成開發環境。它提供了環境配置、源文件編輯、程序調試、跟蹤和分析等工具,可以幫助用戶在一個軟件環境下完成編輯、編譯鏈接、調試和數據分析等工作。與TI提供的早期軟件開發工具相比,利用CCS能夠加快軟件開發進程,提高工作效率。 本文引用地址:http://www.104case.com/article/188493.htm
CCS一般工作在兩種模式下:軟件仿真器和與硬件開發板相結合的在線編程。前者可以脫離DSP芯片,在PC機上模擬DSP的指令集與工作機制,主要用于前期算法實現和調試。后者實時運行在DSP芯片上,可以在線編制和調試應用程序。
DSK板是一塊需要外部提供+5VDC電源的獨立的開發板,在板線性電壓調整器提供1.8VDC的DSP內核電壓,3.3VDC數字和5VDC模擬電壓。它提供低功耗的、標準的、獨立的C54X系列開發平臺,允許用戶為C54X系列DSP評估和開發應用程序。DSK板上的核心當然就是100MHz的C5402 DSP,還有兩片AD50,它們占用了DSP的兩個McBSP,其中的一片是本文用到的即用于采集外部音頻信號(使用McBSP1),另一片則與標準電話線相接口(使用McBSP0)。
值得一提的是DSK板的在板接口十分豐富,有25針并行接口,9針串行接口,JTAG仿真口,電話 DAA接口,麥克風/揚聲器 接口,還有擴展接口用于擴展存儲器和外圍電路。這些接口極大地方便了DSP開發者的在板開發。本文所涉及的程序設計是通過25針的并行口將主機和DSK板連接起來的。
4.軟件設計
本文所設計的程序要完成的功能是通過麥克風接口進行語音信號的采集并實時地通過揚聲器接口回放出來。
4.1 通信格式的研究
AD50C有兩種通信格式:首次通信和二次通信。
首次通信格式的16位都用來傳輸數據。ADC的數據長度由寄存器2的D4位決定。啟動和復位后默認值為15+1位模式,最后一位用于請求二次通信(D0:0表示無操作,1表示請求二次通信)。當然,二次通信也可以由硬件的FC引腳產生,本文不作討論。下圖為首次通信的數據格式:

圖4 首次通信的數據格式
二次通信則用來初始化和設置AD50C的內部寄存器的值。二次通信時DSP可通過向DIN寫入寄存器的值,也可以從DIN讀出寄存器的值。二次通信的數據格式如下:

圖4 二次通信的數據格式
由圖可以看出,DS13位控制讀寫,DS12~8為寄存器的地址,DS7~0為寄存器的值。系統復位后,必須通過DSP的DX口向AD50C的DIN寫數據以初始化各控制寄存器,如AD轉換只用到寄存器1,寄存器2和寄存器4。
評論