? ? ? ? ? ?
DSP 技術基本概念及典型系統分析
1. 基本概念與典型的DSP系統

通常 DSP(Digital Signal Processing)是指數字信號處理。DSP 芯片是專用的數字信號處理器(Digital Signal Processor),它采用哈佛結數、流水線作業方式的并行處理技術,有專用的指令系統,尤其適用于數字信號的算法實現,編碼變換等處理。
2、DSP 的發展歷史和現狀
(1)DSP 發展的歷史背景
現代信號處理起源于 17-18 世紀的數學,并以 1807 年 12 月 21 日法國工程師 J、B、Fourier 提出 FT 變換為標志。我們現在討論的數字信號處理,是隨著數字電子計算機的發展而發展起來。在數字信號處理的初期(本世紀 50~60 年代),人們只是在通用的數字計算機上進行算法的研究和處理系統的模擬與仿真,1965 年庫利-圖基(Cooley Tukey)提出快速付氏變換 FFT 是數字信號處理發展史上的一個里程碑。同時隨著 FFT 及其它算法的提出,也促進了專用數字處理硬件的發展,并最終導致高速高位 DSP 的出現。

DSP 的特點與應用
DSP 總線結構都采用哈佛結構或改進的哈佛結構。通用的微處理采用
馮.諾依曼結構,即程序指令和數據共用一個存儲空間及單一的地址和數據總線。為進一步提高運算速度,以滿足實時信號處理的要求,當前的 DSP 芯片采用哈佛結構。

所謂哈佛結構,是將指令和數據的存儲空間分開。這樣使得處理指令和處理數據可以同時進行,從而大大提高處理效率。

(2)采用流水線技術
DSP 大多采用了流水線技術。計算機在進行一條指令時,要經過取指、譯碼、訪問數據、執行等幾個步驟,需若干個指令周期才能完成。

流水線技術將各指令和執行時間可以重疊起來。即第一條指令取指后,在進行譯碼的同時,可進行第二條指令的取指;第一條指令訪問數據時,第二條指令譯碼……。這樣盡管每條指令的執行時間仍然是幾個指令周期,但由于用了流水線的作業方式,使得總體處理速度大大提高。而 DSP 所采用的指令與數據存儲空間分開的哈佛結構,為實現流水線作業方式提供了方便。

(3)具有硬件乘法器和 MAC 單元
在數字信號處理算法中,乘法和累加是最基本和大量的運算,例如在卷積運算、數字濾波、快速付里葉變換、相關計算、矩陣運算等算法中大多都有乘加(乘法和累加)運算。通用的乘法運算是采用軟件實現的,往往一次乘法運算需要若干個機器周期才能完成。DSP中都設置了硬件乘法器和 MAC 乘加(乘法并累加)一類指令,取兩個操作數到乘法器中作乘法,并將乘積加到累加器中,這些操作在 DSP 芯片中往往可以在單個在指令周期內完成,使得 DSP 作乘和累加這種數字信號處理基本運算的速度大為提高。
(4)具有循環尋址(circular addressing)及位倒序(bit reverse)尋址功能。
為滿足 FFT、卷積等數字信號處理的特殊要求,當前的 DSP 大多在指令系統中設置了循環尋址及位倒序指令及其它特殊指令、體現在作這些運算時尋址、排序及計算機速度大大提高。
另外,DSP 系統設計和軟件開發,往往需要相當規模的仿真調試系統,為方便用戶的設計與調試,許多 DSP 在片上設置了仿真模塊或仿真調試接口、如 Motorala 在 DSP 片是設置了一個 QnCE(On-Chip Emalation)功能塊、通過行腳、使用戶可以檢查片內存儲器、寄存器及外設,用單步運行,設置斷點、跟蹤等方式控制與調試程序。Ti 則在 DSP 片上設置了 JIAG(Joint Test Aotion Group)標準測試接口及相應的控制器。在 PC 機上插入一塊調試插板,接通 JIAG 接口,就可以在 PC 機上運行一個軟件去控制它。
DSP 有自己的匯編語言指令系統,為適用于高級語言編程,各公司也陸續推出適用于DSP 的高級語言編譯器,主要是 C 語言編譯器,也有 Ada、Pascal 等編譯器,程序員可用高級語言編程,通過編譯器,將程序匯編、連接成 DSP 目標代碼。

? ? ? ?