You are on page 1of 37

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.

tw
或來電(02)2705-5066
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
前 言

DSP 晶片,也稱數位信號處理器,是一種具有特殊結構的微處理器。DSP 晶片
的內部採用程式和資料分開的哈佛結構,具有專門的硬體乘法器,廣泛採用流水線
操作,提供特殊的 DSP 指令,可以用來快速地實現各種數位信號處理演算法。
自 20 世紀 80 年代初 DSP 晶片誕生以來,DSP 晶片在 20 多年時間裏得到了快
速的發展,DSP 晶片的性能價格比不斷提高,開發手段越來越完善。DSP 晶片已經
在通信與電子系統、信號與資訊處理、自動控制、雷達、軍事、航空航太、醫療、
家用電器等許多領域得到廣泛的應用。
DSP 晶片可分為通用型和專用型兩大類。通用型 DSP 晶片是一種軟體可程式的
DSP 晶片,適用於各種 DSP 應用。專用型 DSP 晶片則將 DSP 處理的演算法整合到
DSP 晶片內部,一般適用於某些專用的場合。本書主要討論通用型的可程式 DSP 晶
片。
目前,DSP 晶片的主要供應商包括美國的德州儀器(TI)公司、AD公司、AT&T
公司和 Motorola 公司等。其中,TI 公司的 DSP 晶片占世界 DSP 晶片市場約 50%,
在國內也被廣泛採用。因此,本書在開發應用部分主要以 TI 公司的 DSP 晶片為例
進行介紹。
本書共 18 章,可分為五部分:
第一部分是 DSP 晶片基礎,包括第 1~4 章。第 1 章概述了 DSP 晶片的發展、
分類、選擇和應用;第 2 章介紹 DSP 晶片的基本結構和 TI 等公司 DSP 晶片的主要
特徵;第 3 章介紹了定點 DSP 處理中的定標和浮點到定點的轉換方法;第 4 章介紹
了浮點 DSP 處理中的浮點數格式和快速浮點運算的方法等內容。
第二部分是 TMS320C5000 晶片介紹,包括第 5、6 章。第 5 章詳細地介紹
TMS320C5000 系列 DSP 晶片的硬體結構;第 6 章則詳解該系列晶片的組合語言指
令和定址方式。
第三部分是 DSP 晶片開發,包括第 7~11 章。第 7 章介紹了廣泛採用的公共目
標檔案格式(COFF)和編程方法;第 8 章介紹了 DSP 晶片的開發工具,包括代碼
生成工具和代碼除錯工具,著重介紹了 C 組譯器和 C/彙編來源碼除錯器等工具的使
用方法;第 9 章介紹了 TI 公司推出的整合開發環境——CCS 的基本原理和使用方
法;第 10 章介紹了用 C 語言開發 DSP 晶片的方法;第 11 章介紹了基於 C 和彙編混
合編程開發 DSP 晶片的方法。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
2 前 言

第四部分是 DSP 系統的設計及應用,包括第 12~17 章。第 12 章介紹了最小


DSP 系統的硬體設計;第 13 章是 DSP 硬體設計的擴展,介紹了類比/數位介面電
路、通信電路和主從式系統的一般設計方法;第 14 章介紹 DSP 系統軟體設計中的
一些基本方法,包括晶片初始化、程式技巧以及程式自引導的實現方法等;第 15 章
以 TMS320C203、TMS320C31、TMS320VC5409 為例介紹了三個應用系統的設計
方法及開發過程;第 16 章介紹了數位濾波器的 DSP 實現,介紹了 FIR、IIR 和自適
應濾波器的定點和浮點 DSP 實現方法;第 17 章介紹了 FFT 的定點和浮點 DSP 實現。
第五部分(第 18 章)是實驗指導。
本書由張雄偉策劃,是編著者十多年來從事 DSP 晶片應用開發與教學的總結。
張雄偉編寫了第 1~4、7~8、10~18 章及部分附錄,陳亮編寫了第 5、6 章和附錄
B,徐光輝編寫了第 9 章及第 18 章部分內容,曹鐵勇編寫了第 2、14 章的部分內
容。在本書的編寫過程中,黃忠虎、曹鐵勇提供了十分有益的建議,鄒霞、賈沖為
本書做了許多工作,在此一併向他們表示衷心的感謝。
由於 DSP 晶片發展十分迅速,加上編著者程度所限,書中錯誤之處在所難免,
懇請廣大讀者予以批評指正。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄

1 概 述 1
1.1 引言 ……………………………………………………………………… 2
1.2 DSP 應用系統 …………………………………………………………… 3
1.2.1 DSP 應用系統的構成 ………………………………………… 3
1.2.2 DSP 應用系統的特點 ………………………………………… 4
1.3 DSP 應用系統的設計過程 …………………………………………… 5
1.4 DSP 應用系統的開發工具 …………………………………………… 7
1.5 可程式 DSP 晶片 ……………………………………………………… 8
1.5.1 什麼是 DSP 晶片 ……………………………………………… 8
1.5.2 DSP 晶片的發展 ……………………………………………… 9
1.5.3 DSP 晶片的分類 ………………………………………………11
1.5.4 DSP 晶片的選擇 …………………………………………… 13
1.5.5 DSP 晶片的典型應用 ……………………………………… 16
習題與思考題 ……………………………………………………………… 18

2 DSP 晶片的基本結構和特徵 19
2.1 引言 …………………………………………………………………… 20
2.2 DSP 晶片的基本結構 ……………………………………………… 20
2.2.1 哈佛結構……………………………………………………… 20
2.2.2 流水線(pipeline) ………………………………………… 21
2.2.3 專用的硬體乘法器 ………………………………………… 22
2.2.4 特殊的 DSP 指令 …………………………………………… 22
2.2.5 快速的指令週期 …………………………………………… 23
2.3 TI 定點 DSP 晶片 …………………………………………………… 23
2.3.1 早期的定點 DSP 晶片 ……………………………………… 23
2.3.2 TMS320C2000 系列 ………………………………………… 34
2.3.3 TMS320C5000 系列 ………………………………………… 37

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
2 目 錄

2.3.4 TMS320C62x∕C64x 系列 ………………………………… 41


2.4 TI 浮點 DSP 晶片 …………………………………………………… 43
2.4.1 TMS320C3x ………………………………………………… 43
2.4.2 TMS320C67x ………………………………………………… 49
2.5 其他 DSP 晶片簡介 ………………………………………………… 50
2.5.1 AD 公司的 DSP 晶片 ……………………………………… 50
2.5.2 AT&T 公司的 DSP 晶片 …………………………………… 52
2.5.3 Motorola 公司的 DSP 晶片 ………………………………… 53
2.6 小結 …………………………………………………………………… 54
習題與思考題 ……………………………………………………………… 55

3 DSP 晶片的定點運算 57
3.1 定點的基本概念 ……………………………………………………… 58
3.1.1 數的定標……………………………………………………… 58
3.1.2 溢位及處理方法 …………………………………………… 60
3.1.3 捨入(rounding)及截尾(truncation) ………………… 60
3.2 定點運算實現的基本原理 ………………………………………… 61
3.2.1 加法∕減法運算的 C 語言定點類比 ……………………… 62
3.2.2 乘法運算的 C 語言定點類比 ……………………………… 65
3.2.3 除法運算的 C 語言定點類比 ……………………………… 65
3.2.4 程式變數的 Q 值確定 ……………………………………… 66
3.2.5 浮點至定點變換的 C 程式舉例 …………………………… 68
3.3 DSP 定點算術運算實現的基本原理 ……………………………… 70
3.3.1 定點乘法……………………………………………………… 71
3.3.2 定點加法……………………………………………………… 73
3.3.3 定點除法……………………………………………………… 74
3.4 非線性運算定點快速實現的基本方法 …………………………… 77
3.5 小結 …………………………………………………………………… 83
習題與思考題 ……………………………………………………………… 84

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄 3

4 DSP 晶片的浮點運算 85
4.1 引言 …………………………………………………………………… 86
4.2 浮點數的格式 ………………………………………………………… 86
4.2.1 IEEE 浮點數格式 …………………………………………… 86
4.2.2 TMS320C3x 浮點數格式 …………………………………… 87
4.2.3 IEEE 浮點格式與 TMS320 浮點格式的轉換……………… 90
4.3 基本的浮點運算 ……………………………………………………… 92
4.3.1 浮點乘法和加減法 ………………………………………… 92
4.3.2 浮點除法……………………………………………………… 93
4.4 非線性浮點運算的快速實現 ……………………………………… 94
4.5 小結 …………………………………………………………………… 97
習題與思考題 ……………………………………………………………… 98

5 TMS320C5000 系列 DSP 晶片的硬體結構 99


5.1 概述 …………………………………………………………………… 100
5.2 基本結構 ……………………………………………………………… 100
5.3 中央處理單元(CPU)……………………………………………… 102
5.3.1 算術邏輯單元 ……………………………………………… 102
5.3.2 累加器 ………………………………………………………… 103
5.3.3 移位元暫存器 ……………………………………………… 104
5.3.4 乘累加單元…………………………………………………… 104
5.3.5 定址單元……………………………………………………… 105
5.4 記憶體 ………………………………………………………………… 106
5.4.1 內部記憶體…………………………………………………… 106
5.4.2 記憶體空間組織 …………………………………………… 109
5.5 流水線 ………………………………………………………………… 113
5.6 內部外設 ……………………………………………………………… 116
5.6.1 通用 I∕O 接腳 ……………………………………………… 117

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
4 目 錄

5.6.2 計時器 ………………………………………………………… 118


5.6.3 主機介面(HPI) …………………………………………… 120
5.6.4 串列埠 ………………………………………………………… 127
5.6.5 軟體可程式等待狀態產生器 ……………………………… 132
5.6.6 可程式節開關模組 ………………………………………… 133
5.7 外部匯流排操作 ……………………………………………………… 133
5.8 小結 …………………………………………………………………… 135
習題與思考題 ……………………………………………………………… 136

6 TMS320C5000 DSP 晶片的組合語言 137


6.1 組合語言根源程式格式……………………………………………… 138
6.2 符號與縮寫 …………………………………………………………… 139
6.3 彙編指令介紹 ………………………………………………………… 142
6.4 定址方式 ……………………………………………………………… 213
6.4.1 資料定址……………………………………………………… 214
6.4.2 程式定址……………………………………………………… 226
6.5 小結 …………………………………………………………………… 230
習題與思考題 ……………………………………………………………… 231

7 公共目標檔案格式——COFF 233
7.1 引言 …………………………………………………………………… 234
7.2 COFF 目標檔案格式 ………………………………………………… 234
7.2.1 節(section)………………………………………………… 234
7.2.2 彙編器對節的處理 ………………………………………… 236
7.2.3 鏈結器對節的處理 ………………………………………… 238
7.2.4 程式重置位…………………………………………………… 240
7.2.5 COFF 檔案中的符號 ………………………………………… 241
7.3 COFF 格式編程舉例 ………………………………………………… 242

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄 5

7.4 小結 …………………………………………………………………… 244


習題與思考題 ……………………………………………………………… 245

8 DSP 晶片的開發工具及應用 247


8.1 引言 …………………………………………………………………… 248
8.2 代碼生成工具 ………………………………………………………… 248
8.2.1 代碼生成工具程式 ………………………………………… 248
8.2.2 巨集彙編器和鏈結器 ……………………………………… 252
8.2.3 C 組譯器 ……………………………………………………… 253
8.2.4 文件產生器和庫生成器 …………………………………… 255
8.2.5 代碼格式轉換器 …………………………………………… 256
8.2.6 編譯彙編鏈結應用舉例 …………………………………… 257
8.3 代碼除錯工具 ………………………………………………………… 259
8.3.1 C∕彙編來源碼除錯器 ……………………………………… 259
8.3.2 初學者工具 DSK …………………………………………… 267
8.3.3 軟體模擬器…………………………………………………… 268
8.3.4 評價模組(EVM) ………………………………………… 271
8.3.5 軟體發展系統(SWDS)…………………………………… 271
8.3.6 模擬器(XDS) …………………………………………… 271
8.4 小結 …………………………………………………………………… 273
習題與思考題 ……………………………………………………………… 274

9 CCS 整合開發環境的特徵及使用 275


9.1 CCS 的基本特徵與安裝設置 ……………………………………… 276
9.1.1 概述 …………………………………………………………… 276
9.1.2 CCS 軟體安裝與設置 ……………………………………… 278
9.1.3 CCS 元件及其特徵 ………………………………………… 283
9.2 CCS 整合開發環境的使用 ………………………………………… 294

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
6 目 錄

9.2.1 引言 …………………………………………………………… 294


9.2.2 功能表 ………………………………………………………… 296
9.2.3 工具欄 ………………………………………………………… 308
9.3 GEL 語言的使用 …………………………………………………… 311
9.3.1 引言 …………………………………………………………… 311
9.3.2 GEL 函數定義 ……………………………………………… 312
9.3.3 GEL 函數參數 ……………………………………………… 313
9.3.4 呼叫 GEL 函數 ……………………………………………… 314
9.3.5 載入∕卸載 GEL 函數 ……………………………………… 316
9.3.6 將 GEL 函數添加到 GEL 功能表中 ……………………… 317
9.3.7 在 CCS 啟動時自動執行 GEL 函數 ……………………… 321
9.3.8 GEL 函數求值 ……………………………………………… 322
9.3.9 輸出視窗……………………………………………………… 323
9.3.10 嵌入 GEL 函數……………………………………………… 323
9.4 一個簡單 DSP 程式的除錯實例 …………………………………… 333
9.5 從文件中讀取資料並測試演算法的除錯實例 …………………… 343
習題與思考題 ……………………………………………………………… 358

10 基於 C 語言的 DSP 晶片開發 359


10.1 引言 ………………………………………………………………… 360
10.2 最佳化 ANSI C 組譯器…………………………………………… 360
10.3 TMS320C3x∕C4x 的 C 語言開發 ……………………………… 367
10.3.1 記憶體模式 ……………………………………………… 367
10.3.2 暫存器規則 ……………………………………………… 370
10.3.3 函數結構與呼叫規則 …………………………………… 374
10.3.4 中斷處理 ………………………………………………… 378
10.3.5 系統初始化 ……………………………………………… 379
10.3.6 TMS320C3x C 程式開發舉例 ………………………… 382
10.4 TMS320C2x∕C5x∕C54x 的 C 語言開發 ……………………… 387

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄 7

10.4.1 記憶體模式 ……………………………………………… 387


10.4.2 暫存器規則 ……………………………………………… 389
10.4.3 函數呼叫規則 …………………………………………… 390
10.4.4 中斷函數 ………………………………………………… 393
10.4.5 運算式分析 ……………………………………………… 394
10.4.6 TMS320C2x∕C5x C 語言程式開發舉例 …………… 395
10.5 小結 ………………………………………………………………… 399
習題與思考題……………………………………………………………… 400

11 基於 C 和組合語言混合編程的 DSP 晶片開發 401


11.1 引言 ………………………………………………………………… 402
11.2 C 語言和組合語言的混合編程方法 …………………………… 402
11.2.1 獨立的 C 和彙編模組介面 ……………………………… 403
11.2.2 從 C 程式中存取組合語言程式變數…………………… 405
11.2.3 在組合語言程式中存取 C 程式變數…………………… 408
11.2.4 在 C 程式中直接嵌入彙編語句 ………………………… 409
11.2.5 修改組譯器的輸出 ……………………………………… 411
11.3 TMS320C3x∕C4x 混合編程舉例 ……………………………… 413
11.4 TMS320C2x∕C5x 混合編程舉例 ……………………………… 415
11.5 TMS320C54x 混合編程舉例 …………………………………… 416
11.6 小結 ………………………………………………………………… 418
習題與思考題……………………………………………………………… 419

12 DSP 最小硬體系統的設計 421


12.1 引言 ………………………………………………………………… 422
12.2 DSP 系統的基本硬體設計 ……………………………………… 422
12.2.1 重置電路 ………………………………………………… 422
12.2.2 時鐘電路 ………………………………………………… 423

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
8 目 錄

12.2.3 電源設計 ………………………………………………… 425


12.2.4 等待狀態發生器 ………………………………………… 429
12.2.5 模擬介面 ………………………………………………… 432
12.3 3.3V 和 5V 混合邏輯系統設計…………………………………… 432
12.4 DSP 晶片的記憶體介面設計 …………………………………… 436
12.4.1 TMS320C2x 記憶體介面設計 ………………………… 436
12.4.2 TMS320C54x 記憶體介面設計 ………………………… 440
12.4.3 TMS320C3x 記憶體介面設計 ………………………… 452
12.5 小結 ………………………………………………………………… 456
習題與思考題……………………………………………………………… 458

13 DSP 硬體系統的介面設計 459


13.1 引言 ………………………………………………………………… 460
13.2 類比∕數位介面電路的設計 …………………………………… 460
13.2.1 TMS320C2xx∕C5x 的類比∕數位介面電路 ………… 460
13.2.2 TMS320C3x 類比∕數位轉換介面電路 ……………… 461
13.2.3 二∕四線轉換電路 ……………………………………… 475
13.3 通信介面的設計 …………………………………………………… 476
13.3.1 非同步通信介面電路設計 ……………………………… 476
13.3.2 同步通信介面電路設計 ………………………………… 477
13.4 主從式系統的設計………………………………………………… 478
13.4.1 並行通信實現雙機通信 ………………………………… 479
13.4.2 DMA 實現雙機通信 …………………………………… 481
13.4.3 TMS320C3x 主從式系統硬體設計 …………………… 484
13.5 利用 HPI 實現主機與 TMS320C54x 的通信 …………………… 487
13.6 小結 ………………………………………………………………… 496
習題與思考題……………………………………………………………… 497

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄 9

14 DSP 系統的軟體設計 499


14.1 引言 ………………………………………………………………… 500
14.2 DSP 晶片的初始化………………………………………………… 500
14.2.1 暫存器初始化 …………………………………………… 500
14.2.2 向量表初始化 …………………………………………… 505
14.2.3 串列埠初始化 …………………………………………… 508
14.3 TMS320C2x∕C5x 的軟體應用 ………………………………… 514
14.3.1 TMS320C2x 軟體程式設計技巧 ……………………… 514
14.3.2 提高 TMS320C5x 軟體效率 …………………………… 516
14.3.3 軟體應用 ………………………………………………… 520
14.4 TMS320C54x 的軟體應用 ……………………………………… 526
14.4.1 編程注意事項 …………………………………………… 526
14.4.2 軟體程式設計技巧 ……………………………………… 527
14.5 TMS320C3x 的軟體應用 ………………………………………… 531
14.5.1 程式設計技巧 …………………………………………… 531
14.5.2 TMS320C3x 軟體應用 ………………………………… 533
14.6 DSP 系統的 BOOT 設計 ………………………………………… 537
14.6.1 TMS320C50 的 BOOT 設計 …………………………… 537
14.6.2 TMS320C54x 的 BOOT 設計…………………………… 540
14.6.3 TMS320C31 的 BOOT 設計 …………………………… 543
14.7 小結 ………………………………………………………………… 548
習題與思考題……………………………………………………………… 549

15 DSP 晶片應用開發實例 551


15.1 引言 ………………………………………………………………… 552
15.2 一個基於 TMS320C203 DSP 應用系統的開發 ………………… 552
15.2.1 系統簡介 ………………………………………………… 552
15.2.2 系統硬體設計 …………………………………………… 553

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
10 目 錄

15.2.3 系統軟體設計 …………………………………………… 557


15.2.4 硬體除錯 ………………………………………………… 558
15.2.5 軟體除錯 ………………………………………………… 561
15.2.6 獨立系統實現 …………………………………………… 562
15.3 一個基於 TMS320C31 DSP 系統的開發 ……………………… 563
15.3.1 系統簡介 ………………………………………………… 563
15.3.2 系統構成 ………………………………………………… 564
15.3.3 系統軟硬體設計 ………………………………………… 565
15.3.4 軟硬體除錯 ……………………………………………… 569
15.3.5 獨立系統實現 …………………………………………… 572
15.4 一個基於 TMS320VC5409 DSP 應用系統的開發 …………… 574
15.4.1 G.729A 及系統簡介 …………………………………… 574
15.4.2 系統構成 ………………………………………………… 575
15.4.3 系統軟硬體設計 ………………………………………… 576
15.4.4 系統除錯 ………………………………………………… 578
15.4.5 獨立系統形成 …………………………………………… 581
15.5 小結 ………………………………………………………………… 584
習題與思考題……………………………………………………………… 585

16 數位濾波器的 DSP 實現 587


16.1 引言 ………………………………………………………………… 588
16.2 FIR 濾波器的 DSP 實現 ………………………………………… 588
16.2.1 FIR 濾波器的基本原理和設計方法 …………………… 588
16.2.2 FIR 濾波器的定點 DSP 實現 …………………………… 592
16.2.3 FIR 濾波器的浮點 DSP 實現 …………………………… 597
16.3 IIR 濾波器的 DSP 實現 …………………………………………… 600
16.3.1 IIR 濾波器的基本原理和設計方法 …………………… 600
16.3.2 IIR 濾波器的定點 DSP 實現 …………………………… 605
16.3.3 IIR 濾波器的浮點 DSP 實現 …………………………… 608

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄 11

16.4 自適應濾波器的 DSP 實現 ……………………………………… 613


16.4.1 自適應濾波器的基本原理 ……………………………… 613
16.4.2 自適應濾波器的 TMS320C2xx 定點實現 …………… 615
16.4.3 自適應濾波器的 TMS320C54x 定點實現 …………… 619
16.4.4 自適應濾波器的 TMS320C3x 浮點實現 ……………… 623
16.5 小結 ………………………………………………………………… 626
習題與思考題……………………………………………………………… 627

17 FFT 演算法的 DSP 實現 629


17.1 引言 ………………………………………………………………… 630
17.2 FFT 的基本原理 …………………………………………………… 630
17.2.1 DFT 的基本原理 ………………………………………… 630
17.2.2 FFT 演算法的導出 ……………………………………… 631
17.3 FFT 演算法的 C 語言實現 ……………………………………… 638
17.4 FFT 的定點 DSP 實現 …………………………………………… 640
17.4.1 運算溢位及避免方法 …………………………………… 640
17.4.2 FFT 的 TMS320C2xx 實現 ……………………………… 641
17.4.3 FFT 的 TMS320C54x 實現 ……………………………… 649
17.5 FFT 的浮點 DSP 實現 …………………………………………… 659
17.6 小結 ………………………………………………………………… 670
習題與思考題……………………………………………………………… 671

18 DSP 應用實驗指導 673


18.1 DSP 演示性實驗…………………………………………………… 674
18.2 DSP 基本實驗……………………………………………………… 676
18.3 DSP 高級實驗……………………………………………………… 682

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
12 目 錄

附錄 A 常用 DSP 晶片的接腳圖 …………………………………………… 692

附錄 B TMS320C54x 組合語言指令集 ……………………………………… 698

附錄 C SEED 系列 DSP 開發系統簡介 ……………………………………… 712

附錄 D NTG-DSP 系列實驗系統 …………………………………………… 716

附錄 E TI 格式文件轉化為二進位文件……………………………………… 717

附錄 F 8 位元 律∕16 位元線性互換的 C 語言子程式


…………………………………………………………………………… 723

附錄 G 律到線性變換表 …………………………………………………… 726

附錄 H 縮寫詞的英文對照 …………………………………………………… 728

參考文獻 ………………………………………………………………………… 731

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
概 述

◆ 引言
◆ DSP 應用系統
◆ DSP 應用系統的設計過程
◆ DSP 應用系統的開發工具
◆ 可程式 DSP 晶片
◆ 習題與思考題

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
2 DSP 晶片的原理與應用

1.1 引 言

數位信號處理(Digital Signal Processing,簡稱 DSP)是一門涉及許多學


科而又廣泛應用於許多領域的新興學科。20 世紀 60 年代以來,隨著資訊技術
的飛速發展,數位信號處理技術應運而生並得到迅速的發展。在過去的二十多
年時間裏,數位信號處理技術已經在通信等領域裏得到極為廣泛的應用。
數位信號處理是利用電腦或專用處理設備,以數位形式對信號進行採集、
變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形
式。
數位信號處理是圍繞著數位信號處理的理論、實現和應用等幾個方面發展
起來的。數位信號處理在理論上的發展推動了數位信號處理應用的發展。反過
來,數位信號處理的應用又促進了數位信號處理理論的提高。而數位信號處理
的實現則是理論和應用之間的橋樑。
數位信號處理是以眾多的學科為理論基礎的,它所涉及的範圍極其廣泛。
例如,在數學領域,微積分、概率統計、隨機過程、數值分析等都是數位信號
處理的基本工具,與網路理論、信號與系統、控制論、通信理論、故障診斷等
也密切相關。一些新興的學科,如人工智慧、模式識別、神經網路等,都與數
位信號處理密不可分。可以說,數位信號處理是把許多經典的理論體系作為自
己的理論基礎,同時又使自己成為一系列新興學科的理論基礎。
數位信號處理的實現方法一般有以下幾種:
在通用的電腦(如 PC)上用軟體(如 C 語言)實現。
在通用電腦系統中加上專用的加速處理機實現。
用通用的單晶片(如 MCS-51、96 系列等)實現,這種方法可用於一些
不太複雜的數位信號處理,如數位控制等。
用通用的可程式 DSP 晶片實現:與單晶片相比,DSP 晶片具有更加適
合於數位信號處理的軟體和硬體資源,可用於複雜的數位信號處理演算
法。
用專用的 DSP 晶片實現:在一些特殊的場合,要求的信號處理速度極
高,用通用 DSP 晶片很難實現,例如專用於 FFT、數位濾波、卷積、

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 概 述 3

相關等演算法的 DSP 晶片,這種晶片將相應的信號處理演算法在晶片


內部用硬體實現,無須進行編程。
在上述幾種方法中,第 1 種方法的缺點是速度較慢,一般可用於 DSP 演算
法的類比與模擬;第 2 種和第 5 種方法專用性強,應用受到很大的限制,第 2
種方法也不便於系統的獨立運行;第 3 種方法只適用於實現簡單的 DSP 演算
法;只有第 4 種方法才使數位信號處理的應用打開了新的局面。
雖然數位信號處理的理論發展迅速,但在 20 世紀 80 年代以前,由於實現
方法的限制,數位信號處理的理論還得不到廣泛的應用。直到 20 世紀 80 年代
初世界上第一片單片可程式 DSP 晶片的誕生,才將理論研究結果廣泛應用到
低成本的實際系統中,並且推動了新的理論和應用領域的發展。可以毫不誇張
地說,DSP 晶片的誕生及發展對二十多年來通信、電腦、控制等領域的發展產
生了十分重要的作用。

1.2 DSP 應用系統

1.2.1 DSP 應用系統的構成

圖 1-1 表示出了一個典型的 DSP 系統。圖中,輸入信號可以有各式各樣的


形式,例如,可以是麥克風輸出的語音信號或是電話線來的已調資料信號,也
可以是編碼後在數位鏈路上傳輸或在電腦中儲存的攝影機圖像信號。


輸入 DSP 平滑 輸出
混疊 A∕D D∕A
晶片 濾波
濾波

圖 1-1 典型的 DSP 應用系統

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
4 DSP 晶片的原理與應用

一般輸入信號首先進行帶限濾波和抽樣,然後進行類比/數位(A/D,Analog
to Digital)變換,將信號變換成數位位元流。根據奈奎斯特抽樣定理,對低通
類比信號,為保持資訊的不丟失,抽樣頻率必須至少是輸入帶限信號最高頻率
的 2 倍。
DSP 晶片的輸入是 A/D 變換後得到的以抽樣形式表示的數位信號,DSP 晶
片 對 輸 入 的 數 位 信 號 進 行 某 種 形 式 的 處 理,如 進 行 一 系 列 的 乘 累 加 操 作
(MAC)。數位處理是 DSP 的關鍵,這與其他系統(如電話交換系統)有很
大的不同。在交換系統中,處理器的作用是進行路由選擇,它並不對輸入資料
進行修改。因此,雖然兩者都是即時系統,但兩者的即時約束條件卻有很大的
不同。最後,經過處理後的數位樣值再經 D/A(Digital to Analog)變換轉換
為類比樣值,之後再進行內插和平滑濾波就可得到連續的類比波形。
必須指出的是,上面得出的 DSP 應用系統模型只是一個典型模型,但並
不是所有的 DSP 應用系統都必須包括模型中的所有部分。例如,語音識別系
統在輸出端並不是連續的波形,而是識別結果,如數位、文字等。有些輸入信
號本身就是數位信號,如 CD(Compact Disk),因此就不必進行 A/D 變換了。

1.2.2 DSP 應用系統的特點

數位信號處理系統是以數位信號處理為基礎的,因此具有數位處理的全部
優點:
介面方便:DSP 應用系統與其他以現代數位技術為基礎的系統或設備都
是相互相容的,它與這樣的系統介面以實現某種功能要比類比系統與這
些系統介面要容易得多。
編程方便:DSP 應用系統中的可程式 DSP 晶片可使設計人員在開發過
程中靈活方便地對軟體進行修改和升級。
穩定性好:DSP 應用系統以數位處理為基礎,受環境溫度以及雜訊的影
響較小、可靠性高。
精度高:16 位數位系統可以達到級的精度。
可重複性好:類比系統的性能受元器件參數性能變化的影響比較大,而
數位系統基本不受影響,因此數位系統便於測試、除錯和大規模生產。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 概 述 5

整合方便:DSP 應用系統中的數位部件有高度的規範性,便於大規模整
合。
當然,數位信號處理也存在一些缺點。例如,對於簡單的信號處理任務
(如與類比交換線的電話介面),若採用 DSP 則使成本增加。DSP 系統中的
高速時鐘可能帶來高頻干擾和電磁洩漏等問題,而且 DSP 系統消耗的功率也
較大。此外,DSP 技術更新的速度快,對數學知識要求高,開發和除錯工具還
有待於進一步完善。
雖然 DSP 應用系統存在著上述這些缺點,但其突出的優點已經使它在通
信、語音、圖像、雷達、生物醫學、工業控制、儀器儀錶等領域得到越來越多
的應用。

1.3 DSP 應用系統的設計過程

圖 1-2 是 DSP 應用系統設計的一般過程:

DSP 應用

定義系統性能指標

選擇 DSP 晶片

軟體程式設計 硬體設計

軟體除錯 硬體除錯

系統整合

系統測試和除錯

圖 1-2 DSP 應用系統的設計流程

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
6 DSP 晶片的原理與應用

定義系統性能指標:在設計 DSP 系統之前,首先必須根據應用系統的


目標確定系統的性能指標、信號處理的要求,這通常可用資料流程圖、
數學運算序列、正式的符號或自然語言來描述。
採用高階語言進行性能類比:一般來說,為了實現系統的最終目標,需
要對輸入的信號進行適當的處理,而處理方法的不同會導致不同的系統
性能,要得到最佳的系統性能必須在這一步確定最佳的處理方法,即數
位信號處理的演算法(Algorithm),因此這一步也稱演算法類比或模
擬階段。例如,語音壓縮編碼演算法就是要在確定的壓縮比條件下,獲
得最佳的合成語音。演算法類比所用的輸入資料是實際信號經採集而獲
得的,通常以電腦文件的形式儲存為資料檔案。語音壓縮編碼演算法類
比時所用的語音信號就是經實際採集而獲得並儲存為電腦文件形式的語
音資料檔案。有些演算法類比時所用的輸入資料並不一定要求是實際採
集的信號資料,只要能夠驗證演算法的可行性,輸入假設的資料也是可
以的。
設計即時的 DSP 應用系統:即時 DSP 應用系統的設計包括硬體設計和
軟體設計兩個方面。硬體設計首先要根據系統運算量的大小、對運算精
度的要求、系統成本限制以及體積、功耗等要求選擇一合適的 DSP 晶
片。然後設計 DSP 晶片的週邊電路及其他電路。軟體設計和編程主要
根據系統要求和所選的 DSP 晶片編寫相應的 DSP 組合語言程式,若系
統運算量不大且有高階語言組譯器支援,也可用高階語言(如 C 語言)
編程。當然由於現有的高階語言組譯器的效率還比不上手工編寫組合語
言的效率,因此在實際應用系統中常常採用高階語言和組合語言的混合
編程方法,即在演算法運算量大的地方,用手工編寫的方法編寫組合語
言,而運算量不大的地方則採用高階語言。採用這種方法,既可縮短軟
體發展的週期,提高程式的可讀性和可攜性,又能滿足系統即時運算的
要求。
借助開發工具進行軟硬體除錯:軟體的除錯一般借助於 DSP 開發工具,
如軟體模擬器、DSP 開發系統或模擬器等。除錯 DSP 演算法時一般採
用比較即時結果與類比結果的方法,如果即時程式和類比程式的輸入相
同,則兩者的輸出應該一致。應用系統的其他軟體可以根據實際情況進

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 概 述 7

行除錯。硬體除錯一般採用硬體模擬器進行除錯,如果沒有相應的硬體
模擬器,且硬體系統不是十分複雜,也可以借助於一般的工具進行除錯。
系統整合與獨立系統運行:系統的軟體和硬體分別除錯完成後,就可以
將軟體脫離開發系統而直接在應用系統上運行。當然,DSP 應用系統的
開發,特別是軟體發展是一個需要反覆進行的過程,雖然通過演算法類
比基本上可以知道即時系統的性能,但實際上類比環境不可能做到與即
時系統環境完全一致,而且將類比演算法移植到即時系統時必須考慮演
算法是否能夠即時運行的問題。如果演算法運算量太大而不能在硬體上
即時運行,則必須重新修改或簡化演算法。

1.4 DSP 應用系統的開發工具

根據圖 1-2 的設計流程,要開發一個完整的 DSP 應用系統,需要借助於諸


多軟硬體開發工具,表 1-1 列出了可能需要的開發工具。需要注意的是,有些
工具也不一定是必備的,如邏輯分析儀。有些工具則是可選的,如演算法類比
時可以用 C 語言,也可以用 MATLAB 語言,還可以用其他程式語言。而如果
有 CCS(Code Composer Studio)工具軟體,由於它是一個整合開發的環境,
因此包括了編輯、編譯、彙編、鏈結、軟體類比、除錯等幾乎所有需要的軟
體。此外,如果 DSP 應用系統中還有其他微處理器(如 MCS-51 系列單片機),
當然還必須有相應的開發工具支援。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
8 DSP 晶片的原理與應用

表 1-1 DSP 應用系統開發工具支援

開發 開發 開發工具支持
步驟 內容 硬體支持 軟體支持

1 演算法模擬 計算機 C 語言、MATLAB 語言等

2 DSP軟體程式設計 計算機 編輯器(如 Edit、Ultraedit 等)

DSP 代碼生成工具(包括組譯
器、彙編器、鏈結器等)、DSP
3 DSP 軟體除錯 計算機、DSP 模擬器等 代碼除錯工具(C/彙編來源碼除
錯器、DSP 軟體模擬器 Simula-
tor、CCS 等)

電路設計軟體(如 Prote198、
4 DSP 硬體設計 計算機 Prote199 等)、其他相關軟體
(如 EDA 軟體等)

計算機、DSP 模擬器、示
5 DSP 硬體除錯 波器、信號發生器、邏輯 相關支持軟體
分析儀等

計算機、DSP 模擬器、組
6 系統整合 譯器、示波器、信號發生 相關支持軟體
器、邏輯分析儀等

1.5 可程式 DSP 晶片

1.5.1 什麼是 DSP 晶片

DSP 晶片,即數位信號處理晶片,也稱數位信號處理器,是一種特別適合
於進行數位信號處理運算的微處理器,其主要應用是即時快速地實現各種數位
信號處理演算法。根據數位信號處理的要求,DSP 晶片一般具有以下主要特點:

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 概 述 9

在一個指令週期內可完成一次乘法和一次加法。
程式和資料空間分開,可以同時存取指令和資料。
內部具有快速 RAM,通常可通過獨立的資料匯流排在兩節中同時存取。
具有低開銷或無開銷迴圈及跳躍的硬體支援。
快速的中斷處理和硬體 I/O 支援。
具有在單週期內操作的多個硬體位址產生器。
可以並行執行多個操作。
支援流水線(pipeline)操作,使取提取、解碼和執行等操作可以並行
執行。
與通用微處理器相比,DSP 晶片的其他通用功能相對較弱些。但是,近年
來新推出的 DSP 晶片已經將通用微處理器的一些功能整合在晶片中,DSP 晶
片已經可以實現普通微處理器的功能。

1.5.2 DSP 晶片的發展

世界上第一片單片 DSP 晶片是 1978 年 AMI 公司宣布的 S2811,1979 年,


美國 Intel 公司宣布誕生的商用可程式器件 2920 是 DSP 晶片的一個主要里程
碑。這兩種晶片內部都沒有現代 DSP 晶片所必須有的單週期乘法器。1980 年,
日本 NEC 公司推出的 PD7720 是第一片具有乘法器的商用 DSP 晶片。
在這之後,最成功的 DSP 晶片當數美國德州儀器公司(Texas Instruments,
簡稱 TI)的一系列產品。TI 公司在 1982 年成功推出其第一代 DSP 晶片 TMS32010
及其系列產品 TMS32011、TMS320C10/C14/C15/C16/C17 等,之後相繼推出
了 第 二 代 DSP 晶 片 TMS32020、TMS320C25/C26/C28,第 三 代 DSP 晶 片
TMS320C30/C31/C32,第四代 DSP 晶片 TMS320C40/C44,第五代 DSP 晶片
TMS320C5x/C54x,第二代 DSP 晶片的改進型 TMS320C2xx,集多片 DSP 晶
片於一體的高性能 DSP 晶片 TMS320C8x 以及目前速度最快的第六代 DSP 晶
片 TMS320C62x/C67x 等。TI 公司常用的 DSP 晶片可以歸納為三大系列,即:
TMS320C2000 系列(包括 TMS320C2xx/C24x/C28x 等)、TMS320C5000 系
列(包 括 TMS320C54x/C55x)、TMS320C6000 系 列(TMS320C62x/C67x/
C64x)。如今,TI 公司的一系列 DSP 產品已經成為當今世界上最有影響的 DSP

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
10 DSP 晶片的原理與應用

晶片。TI 公司已經成為世界上最大的 DSP 晶片供應商,其 DSP 市場占有量占


全世界份額的近 50%。
第一個採用 CMOS 工藝生產浮點 DSP 晶片的是日本的 Hitachi 公司,該公
司於 1982 年推出了浮點 DSP 晶片。1983 年,日本 Fujitsu 公司推出的 MB8764,
其指令週期為 120ns,且具有雙內部匯流排,從而使處理的傳輸量發生了一個
大的飛躍。而第一片高性能的浮點 DSP 晶片是 AT&T 公司於 1984 年推出的
DSP32。
與其他公司相比,Motorola 公司在推出 DSP 晶片方面相對較晚。1986 年,
該公司推出了定點處理器 MC56001。1990 年,推出了與 IEEE 浮點格式相容的
浮點 DSP 晶片 MC96002。
美國模擬器件公司(Analog Devices,簡稱 AD)在 DSP 晶片市場上也占
有較大的份額,它相繼推出了一系列具有自己特點的 DSP 晶片,其定點 DSP
晶 片 有 ADSP2101/2103/2105、ASDP2111/2115、ADSP2161/2162/2164 以 及
ADSP2171/2181 等,浮點 DSP 晶片有 ADSP21000/21020、ADSP21060/21062 等。
自 1980 年以來,DSP 晶片突飛猛進的發展,DSP 晶片的應用越來越廣泛。
從運算速度來看,MAC(一次乘法和一次加法)時間已經從 20 世紀 80 年代初
的 400ns(如 TMS32010)減少到 10ns 以下(如 TMS320C54x、TMS320C62x/67x/
C64x 等),處理能力提高了幾十倍,甚至上百倍。DSP 晶片內部關鍵的乘法
器部件從 1980 年的占模片區(die area)的 40%左右下降到 5%以下,內部 RAM
數量增加一個數量級以上。從製程來看,1980 年採用 4 m 的 N 溝道 MOS
(NMOS)製程,而現在則普遍採用亞微米(Micron)CMOS 製程。DSP 晶片
的接腳數量從 1980 年的最多 64 個增加到現在的 200 個以上,接腳數量的增
加,意味著結構靈活性的增加,如外部記憶體的擴展和處理器間的通信等。此
外,DSP 晶片的發展,使 DSP 應用系統的成本、體積、重量和功耗都有很大
程度的下降。表 1-2 是 TI 公司 DSP 晶片發展比較表。表 1-3 是世界上主要 DSP
晶片供應商的部分晶片的一些資料。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 概 述 11

表 1-2 TIDSP 晶片發展比較表(典型值)


年 份 1982 1992 1999 2002
製 程 4 m NMOS 0.8 m CMOS 0.3 m CMOS < 0.18 m CMOS
處理速度 5MIPS 40MIPS 100MIPS 160MIPS
頻 率 20MHz 80MHz 100MHz 160MHz
內部 RAM 144 Word 1K Word 32K Word 64K Word
內部 ROM 1.5K Word 4K Word 16K Word 32K Word
價 格 $150.00 $15.00 $5.00~$25.00 $5.00~$25.00
功 耗 250mW/MIPS 12.5mW/MIPS 0.45mW/MIPS 0.05mW/MIPS

1.5.3 DSP 晶片的分類

DSP 晶片可以按照下列三種方式進行分類:

1.按基礎特性分

這是根據 DSP 晶片的工作時鐘和指令類型來分類的。如果在某時鐘頻率


範圍內的任何時鐘頻率上,DSP 晶片都能正常工作,除計算速度有變化外,沒
有性能的下降,這類 DSP 晶片一般稱為靜態 DSP 晶片。例如,日本 OKI 電氣
公司的 DSP 晶片、TI 公司的 TMS320 系列晶片屬於這一類。
如果有兩種或兩種以上的 DSP 晶片,它們的指令集和相應的機器代碼機
管腳結構相互相容,則這類 DSP 晶片稱為一致性 DSP 晶片。例如,美國 TI 公
司的 TMS320C54x 就屬於這一類。

2. 按資料格式分

這是根據 DSP 晶片工作的資料格式來分類的。資料以定點格式工作的 DSP


晶片稱為定點 DSP 晶片,如 TI 公司的 TMS320C1x/C2x、TMS320C2xx/C5x、
TMS320C54x/C62xx 系 列、AD 公 司 的 ADSP21xx 系 列、AT&T 公 司 的
DSP16/16A、Motolora 公司的 MC56000 等。以浮點格式工作的 DSP 晶片稱為
浮點 DSP 晶片,如 TI 公司的 TMS320C3x/C4x/C67x、AD 公司的 ADSP21xxx

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
12 DSP 晶片的原理與應用

系列、AT&T 公司的 DSP32/32C、Motolora 公司的 MC96002 等。

表1 3 單片可程式 DSP 晶片
公司 DSP 晶片 推出時間 MAC 週期/ns 定點位數 浮點位數
AMI S2811 1978 300 12/16
NEC PD77230 1980 250 16/32
PD7720 1985 150 32
TI TMS32010 1982 390 16/32
TMS32020 1987 200 16/32
TMS320C25 1989 100 16/32
TMS320C30 1989 60 24/32 32/40
TMS320C40 1992 40 32 40
TMS320C50 1990 35 16/32
TMS320C203 1996 12.5 16/32
TMS320LC549 1996 10 16/32
TMS320C62x 1997 5 16/32
TMS320VC5510-200 2001 5 16/32
Motorola MC56001 1986 75 24
MC96002 1990 50 32/64 32/44
MC56002 1991 50 24/48
AT&T DSP32C 1988 80 16 或 24 32/40
DSP16A 1988 25 16/36
DSP3210 1992 60 24 32/40
AD ADSP2101 1990 60 16
ADSP21020 1991 40 32 32/40

不同浮點 DSP 晶片所採用的浮點格式不完全一樣,有的 DSP 晶片採用自


定義的浮點格式,如 TMS320C3x,而有的 DSP 晶片則採用 IEEE 的標準浮點
格式,如 Motorola 公司的 MC96002、FUJITSI 公司的 MB86232 和 ZORAN 公
司的 ZR35325 等。

3. 按用途分

按照 DSP 的用途來分,可分為通用型 DSP 晶片和專用型 DSP 晶片。通用

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 概 述 13

型 DSP 晶片適合普通的 DSP 應用,如 TI 公司的一系列 DSP 晶片屬於通用型


DSP 晶片。專用 DSP 晶片是為特定的 DSP 運算而設計,更適合特殊的運算,
如 數 位 濾 波、卷 積 和 FFT,如 Motorola 公 司 的 DSP56200、Zoran 公 司 的
ZR34881、Inmos 公司的 IMSA100 等就屬於專用型的 DSP 晶片。
本書主要討論通用型的 DSP 晶片。

1.5.4 DSP 晶片的選擇

設計 DSP 應用系統,選擇 DSP 晶片是非常重要的一個環節。只有選定了


DSP 晶片才能進一步設計其週邊電路及系統的其他電路。總的來說,DSP 晶片
的選擇應根據實際的應用系統需要而確定。不同的 DSP 應用系統由於應用的
場合、應用目的等不盡相同,對 DSP 晶片的選擇也是不同的。一般來說,選
擇 DSP 晶片時應考慮到以下諸多因素:

1. DSP 晶片的運算速度

運算速度是 DSP 晶片的一個最重要的性能指標,也是選擇 DSP 晶片時所


需要考慮的一個主要因素。DSP 晶片的運算速度可以用以下幾種性能指標來衡
量:
指令週期:即執行一條指令所需的時間,通常以 ns(奈秒)為單位。如
TMS320VC5402-100 在主頻為 100MHz 時的指令週期為 10 ns。
MAC 時間:即一次乘法加上一次加法的時間。大部分 DSP 晶片可在一
個指令週期內完成一次乘法和加法操作,如 TMS320VC5402-100 的 MAC
時間就是 10ns。
FFT 執行時間:即執行一個 N 點 FFT 程式所需的時間。由於 FFT 運算
涉及的運算在數位信號處理中很有代表性,因此 FFT 運算時間常作為衡
量 DSP 晶片運算能力的一個指標。
MIPS:即每秒執行百萬條指令。如 TMS320VC5402-100 的處理能力為
100MIPS,即每秒可執行 1 億條指令。
MOPS:即每秒執行百萬次操作。如TMS320C40 的運算能力為 275MOPS。
MFLOPS:即每秒執行百萬次浮點操作。如 TMS320C31 在主頻為 40MHz

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
14 DSP 晶片的原理與應用

時的處理能力為 40MFLOPS。
BOPS:即每秒執行十億次操作。如 TMS320C80 的處理能力為 2BOPS。

2. DSP 晶片的價格

DSP 晶片的價格也是選擇 DSP 晶片所需考慮的一個重要因素。如果採用


價格昂貴的 DSP 晶片,即使性能再高,其應用範圍肯定也會受到一定的限制,
尤其是民用產品。因此根據實際系統的應用情況,需確定一個價格適中的 DSP
晶片。當然,由於 DSP 晶片發展迅速,DSP 晶片的價格往往下降較快,因此
在開發階段選用某種價格稍貴的 DSP 晶片,等到系統開發完畢,其價格可能
已經下降一半甚至更多。

3. DSP 晶片的硬體資源

不同的 DSP 晶片所提供的硬體資源是不相同的,如內部 RAM、ROM 的


數量,外部可擴充的程式和資料空間,匯流排界面、I/O 介面等。即使是同一
系列的 DSP 晶片(如 TI 的 TMS320C54x 系列),系列中不同 DSP 晶片也具有
不同的內部硬體資源,可以適應不同的需要。

4. DSP 晶片的運算精度

一般的定點 DSP 晶片的字長為 16 位元,如 TMS320 系列。但有的公司的


定點晶片為 24 位元,如 Motorola 公司的 MC56001 等。浮點晶片的字長一般為
32 位元,累加器為 40 位元。

5. DSP 晶片的開發工具

在 DSP 系統的開發過程中,開發工具是必不可少的。如果沒有開發工具
的支援,要想開發一個複雜的 DSP 系統幾乎是不可能的。如果有功能強大的
開發工具的支援,如 C 語言支援,則開發的時間就會大大縮短。所以,在選擇
DSP 晶片的同時必須注意其開發工具的支援情況,包括軟體和硬體的開發工具。

6. DSP 晶片的功耗

在某些 DSP 應用場合,功耗也是一個需要特別注意的問題。如攜帶型的

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 概 述 15

DSP 設備、手持設備、野外應用的 DSP 設備等對功耗有特殊的要求。目前,


3.3V 及以下供電的低功耗高速 DSP 晶片已大量使用。

7. 其他因素

除了上述因素外,選擇 DSP 晶片還應考慮到封裝的形式、質量標準、供


貨情況、生命週期等。有的 DSP 晶片可能有 DIP、PGA、PLCC、PQFP 等多
種封裝形式。有些 DSP 系統可能最終要求的是工業級或軍用級標準,在選擇
時就需要注意到所選的晶片是否有工業級或軍用級的同類產品。如果所設計的
DSP 系統不僅僅是一個實驗系統,而是需要批量生產並可能有幾年甚至十幾年
的生命週期,那麼需要考慮所選的 DSP 晶片供貨情況如何,是否也有同樣甚
至更長的生命週期等。
在上述諸多因素中,一般而言,定點 DSP 晶片的價格較為便宜、功耗較
低,但運算精度稍低。而浮點 DSP 晶片的優點是運算精度高,用 C 語言程式
除錯方便,但價格稍貴,功耗較大。例如 TI 的 TMS320C2xx/C54x 系列屬於定
點 DSP 晶片,低功耗和低成本是其主要的特點。而 TMS320C3x/C4x/C67x 屬
於浮點 DSP 晶片,運算精度高,用 C 語言編程方便,開發週期短,但同時其
價格和功耗也相對較高。
DSP 應用系統的運算量是確定選用處理能力多大的 DSP 晶片的基礎。運
算量小則可以選用處理能力不是很強的 DSP 晶片,從而可以降低系統成本。
相反,運算量大的 DSP 系統則必須選用處理能力強的 DSP 晶片,如果 DSP 晶
片的處理能力達不到系統要求,則必須用多個 DSP 晶片並行處理。那麼如何
確定 DSP 系統的運算量以選擇 DSP 晶片呢?下面我們來考慮兩種情況:
按樣點處理:所謂按樣點處理,就是 DSP 演算法對每一個輸入樣點迴
圈一次。數位濾波就是這種情況。在數位濾波器中,通常需要對每一個
輸入樣點計算一次。例如,一個採用 LMS 演算法的 256 抽頭的自適應
FIR 濾波器,假定每個抽頭的計算需要 3 個 MAC 週期,則 256 抽頭計
算需要 256×3=768 個 MAC 週期。如果採樣頻率為 8kHz,即樣點之間的
間隔為 125 s,DSP 晶片的 MAC 週期為 200ns,則 768 個 MAC 週期需
要 153.6 s 的時間,顯然無法即時處理,需要選用速度更高的 DSP 晶
片。表 1-4 指出了兩種信號帶寬對三種 DSP 晶片的處理要求,三種 DSP

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
16 DSP 晶片的原理與應用

晶片的 MAC 週期分別為 200ns、50ns 和 25ns。從表中可以看出,對語


音應用,後兩種 DSP 晶片可以即時實現,對聲頻應用,只有第三種 DSP
晶片能夠即時處理。當然,在這個例子中,沒有考慮其他的運算量。

表 1-4 用 DSP 晶片實現數位濾波


應用 採樣率 採樣週期 256 抽頭 LMS 濾波 每樣點允許 每樣點允許 每樣點允許
領域 (kHz) ( s) 運算量 MAC 指令數 MAC 指令 MAC 指令
(MAC 指令數) (200ns) 數(50ns) 數(25ns)
語音 8 125 768 625 2500 5000
聲頻 44.1 22.7 768 113 453 907

按幀處理:有些數位信號處理演算法不是每個輸入樣點迴圈一次,而是
每隔一定的時間間隔(通常稱為幀)迴圈一次。例如,中低速語音編碼
演算法通常以 10ms 或 20ms 為一幀,每隔 10ms 或 20ms 語音編碼演算
法迴圈一次。所以,選擇 DSP 晶片時應該比較一幀內 DSP 晶片的處理
能力和 DSP 演算法的運算量。假設 DSP 晶片的指令週期為 p(ns),一
幀的時間為 (ns),則該 DSP 晶片在一幀內所能提供的最大運算量
為 /p 條指令。例如 TMS320VC5402-100 的指令週期為 10ns,設幀長
為 20ms,則 一 幀 內 TMS320VC5402-100 所 能 提 供 的 最 大 運 算 量 為
20ms/10ns=200 萬條指令。因此,只要語音編碼演算法的運算量不超過
200 萬條指令,就可以在 TMS320VC5402-100 上即時執行。

1.5.5 DSP 晶片的典型應用

自從 20 世紀 80 年代初 DSP 晶片誕生以來,DSP 晶片得到了快速的發展。


DSP 晶片的高速發展,一方面得益於積體電路技術的發展,另一方面也得益於
巨大的應用市場。在 20 年時間裏,DSP 晶片已經在信號處理、通信、雷達等
許多領域得到廣泛的應用。目前,DSP 晶片的價格越來越低,性能價格比日益
提高,具有巨大的應用潛力。DSP 晶片的應用主要有:
信號處理:如數位濾波、自適應濾波、快速傅立葉變換、相關運算、譜

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 概 述 17

分析、卷積、模式匹配、加窗、波形產生等。
通信:如數據機、自適應均衡、資料加密、資料壓縮、回波抵消、多
工、傳真、寬頻通信、糾錯編碼、視訊電話等。
語音:如語音編碼、語音合成、語音識別、語音增強、說話人辨認、說
話人確認、語音郵件、語音儲存等。
圖形/圖像:如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強、動
畫、機器人視覺等。
軍事:如保密通信、雷達處理、聲納處理、導航、導彈制導等。
儀器儀錶:如頻譜分析、函數發生、鎖相環、地震處理等。
自動控制:如引擎控制、聲控、自動駕駛、機器人控制、磁片控制等。
醫療:如助聽、超聲波設備、診斷工具、病人監護等。
家用電器:如高保真音響、音樂合成、音調控制、玩具與遊戲、數位電
話/電視等。
隨著 DSP 晶片性能價格比的不斷提高,DSP 晶片將會在更多的領域內得
到更為廣泛的應用。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
18 DSP 晶片的原理與應用

習題與思考題

數位信號處理演算法一般的實現方法有哪些?
簡述 DSP 晶片的發展歷程。
什麼是可程式 DSP 晶片?它有什麼特點?
什麼是定點 DSP 晶片和浮點 DSP 晶片?各有什麼優缺點?
設計 DSP 應用系統時,如何選擇合適的 DSP 晶片?
TMS320VC5416-160 的指令週期是多少 ns?它的運算速度是多少 MIPS?
如果 DSP 演算法是按幀處理的,且幀長是 10ms,則該晶片在一幀時間
內最多可運行多少個指令週期?
簡述 DSP 應用系統的典型構成和特點。
簡述 DSP 應用系統的一般設計過程。
開發 DSP 應用系統,一般需要哪些軟硬體工具?
寫 出 以 下 縮 寫 詞 的 中 英 文 全 稱:DSP、TI、MAC、MIPS、MOPS、
MFLOPS、BOPS、DIP、PGA、PLCC 和 QFP。

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
DSP 晶片的基本結構和特徵

◆ 引言
◆ DSP 晶片的基本結構
◆ TI 定點 DSP 晶片
◆ TI 浮點 DSP 晶片
◆ 其他 DSP 晶片簡介
◆ 小結
◆ 習題與思考題

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
20 DSP 晶片的原理與應用

2.1 引 言

可程式 DSP 晶片是一種具有特殊結構的微處理器,為了達到快速進行數


位信號處理的目的,DSP 晶片一般都具有程式和資料分開的匯流排結構、流水
線(pipeline)操作功能、單週期完成乘法的硬體乘法器以及一套適合數位信
號處理的指令集。本章首先介紹 DSP 晶片的基本結構,然後介紹 TI 公司的各
種 DSP 晶片的特徵,最後簡要介紹其他公司的 DSP 晶片的特點。

2.2 DSP 晶片的基本結構

為了快速地實現數位信號處理運算,DSP 晶片一般都採用特殊的軟硬體結
構。下面我們以 TMS320 系列為例介紹 DSP 晶片的基本結構。
TMS320 系列 DSP 晶片的基本結構包括: 哈佛結構; 流水線操作;
專用的硬體乘法器; 特殊的 DSP 指令; 快速的指令週期。這些特點使得
TMS320 DSP 晶片可以實現快速的 DSP 運算,並使大部分運算(例如乘法)
能夠在一個指令週期內完成。由於 TMS320 DSP 晶片是軟體可程式器件,因此
具 有 通 用 微 處 理 器 方 便 靈 活 的 特 點。下 面 我 們 分 別 介 紹 這 些 特 點 是 如 何 在
TMS320 系列 DSP 晶片中應用並使得晶片的功能得到加強。

2.2.1 哈佛結構

哈佛結構是不同於傳統的馮‧諾依曼(Von Neumann)結構的並行體系結
構,其主要特點是將程式和資料儲存在不同的儲存空間中,即程式記憶體和資
料記憶體是兩個相互獨立的記憶體,每個記憶體獨立定址,獨立存取。與兩個
記憶體相對應的是系統中設置了程式匯流排和資料匯流排兩條匯流排,從而使
資料的存取速度提高了一倍。而馮‧諾依曼結構是將指令、資料、位址儲存在
同一記憶體中,統一定址,依靠指令計數器提供的位址來區分是指令、資料還

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
DSP晶片的原理與應用/張雄偉, 陳亮, 徐
光輝編著. --初版.--臺北市:五南,
2004[民93]
 面; 公分
參考書目:面
ISBN 978-957-11-3651-4 (平裝)
1.微電腦
471.516 93010855

5D57

DSP晶片的原理與應用
DSP Chip : Fundamental and Application

編  著 ─ 張雄偉 陳 亮 徐光輝

校  訂 ─ 黃英哲

發 行 人 ─ 楊榮川

總 編 輯 ─ 龐君豪

主  編 ─ 穆文娟

責任編輯 ─ 李敏華

出 版 者 ─ 五南圖書出版股份有限公司

地  址:106台 北 市 大 安 區 和 平 東 路 二 段 3 3 9 號 4 樓

電  話:(02)2705-5066  傳  真:(02)2706-6100

網  址:http://www.wunan.com.tw

電子郵件:wunan@wunan.com.tw

劃撥帳號:0 1 0 6 8 9 5 3

戶  名:五南圖書出版股份有限公司

台中市駐區辦公室/台中市中區中山路6號

電  話:(04)2223-0891  傳  真:(04)2223-3549

高雄市駐區辦公室/高雄市新興區中山一路290號

電  話:(07)2358-702   傳  真:(07)2350-236

法律顧問 元貞聯合法律事務所 張澤平律師

出版日期 2 0 0 4 年 8 月 初 版 一 刷

版權聲明 定  價 新 臺 幣 8 5 0 元

本書為中國電子工業出版社獨家授權的中文繁體字
版本,僅限於台灣地區出版發行,本書專有出版權
屬中國電子工業出版社所有,該專有出版權受法律
保護。

※版權所有.欲利用本書內容,必須徵求本公司同意※

本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066

You might also like