第1章 緒論 1
1.1 TMS320系列DSP簡介 1
1.1.1 TMS320系列DSP的歷史、發(fā)展和優(yōu)勢 1
1.1.2 TMS320系列DSP的典型應用 2
1.2 TMS320C54x DSP簡介 3
1.3 TMS320C54x DSP的主要特征 4
第2章 TMS320C54x DSP體系結構總體介紹 7
2.1 總線結構 8
2.2 內部存儲器組織 8
2.2.1 片內ROM 9
2.2.2 片內雙存取RAM(DARAM) 9
2.2.3 片內單存取RAM(SARAM) 10
2.2.4 片內雙向共享RAM 10
2.2.5 片內存儲器保護 10
2.2.6 存儲器映射寄存器 10
2.3 中央處理單元(CPU) 10
2.3.1 算術邏輯運算單元(ALU) 11
2.3.2 累加器 11
2.3.3 桶形移位器 11
2.3.4 乘法器/加法器單元 12
2.3.5 比較、選擇和存儲單元(CSSU) 12
2.4 數(shù)據(jù)尋址 12
2.5 程序存儲器尋址 13
2.6 流水線操作 13
2.7 片內外設 13
2.7.1 通用的I/O引腳 14
2.7.2 軟件可編程等待狀態(tài)產生器 14
2.7.3 可編程的塊切換邏輯 15
2.7.4 硬件定時器 15
2.7.5 時鐘產生器 15
2.7.6 直接存儲器訪問(DMA)控制器 15
2.7.7 主機接口(HPI) 15
2.8 串行口 16
2.8.1 同步串口 16
2.8.2 緩沖串口(BSP) 16
2.8.3 多通道緩沖串口(McBSP) 17
2.8.4 時分復用(TDM)串口 17
2.9 外部總線接口 17
2.10 IEEE 1149.1掃描邏輯標準 17
第3章 存儲器 18
3.1 存儲器空間 18
3.2 程序存儲器 25
3.2.1 程序存儲器配置 25
3.2.2 片內ROM組織 25
3.2.3 程序存儲器地址映射和片內ROM內容 26
3.2.4 片內ROM代碼內容和映射 26
3.2.5 擴展程序存儲器 27
3.3 數(shù)據(jù)存儲器 29
3.3.1 數(shù)據(jù)存儲器配置 29
3.3.2 片內RAM組織 30
3.3.3 存儲器映射寄存器 31
3.3.4 CPU存儲器映射寄存器 31
3.4 I/O存儲器 34
3.5 程序和數(shù)據(jù)安全保護 34
第4章 中央處理器(CPU) 36
4.1 CPU狀態(tài)與控制寄存器 36
4.1.1 狀態(tài)寄存器(ST0與ST1) 36
4.1.2 處理器模式狀態(tài)寄存器(PMST) 39
4.2 算術邏輯單元(ALU) 41
4.2.1 算術邏輯單元(ALU)的輸入 42
4.2.2 溢出處理 43
4.2.3 進位位 43
4.2.4 雙16位模式 44
4.3 累加器 44
4.3.1 存儲累加器的內容 45
4.3.2 累加器移位和循環(huán)移位操作 45
4.3.3 累加器存儲的飽和處理 46
4.3.4 專用指令 46
4.4 桶形移位器 47
4.5 乘/累加單元 48
4.5.1 乘法器輸入來源 49
4.5.2 乘/累加(MAC)指令 50
4.5.3 MAC和MAS的乘法飽和處理 51
4.6 比較、選擇和存儲單元(CSSU) 51
4.7 指數(shù)編碼器 53
第5章 數(shù)據(jù)尋址 54
5.1 立即尋址 54
5.2 絕對尋址 55
5.2.1 數(shù)據(jù)存儲器地址(dmad)尋址 56
5.2.2 程序存儲器地址(pmad)尋址 56
5.2.3 口地址(PA)尋址 56
5.2.4 *(lk)尋址 56
5.3 累加器尋址 57
5.4 直接尋址 57
5.4.1 以數(shù)據(jù)頁指針(DP)為基準的直接尋址 58
5.4.2 以堆棧指針(SP)為基準的直接尋址 59
5.5 間接尋址 59
5.5.1 單操作數(shù)尋址 60
5.5.2 輔助寄存器算術單元(ARAU)和地址產生操作 60
5.5.3 單操作數(shù)地址的修改 61
5.5.4 雙操作數(shù)地址修改 66
5.5.5 兼容(ARP)模式 69
5.6 存儲器映射寄存器尋址 70
5.7 堆棧尋址 71
5.8 存儲器訪問的數(shù)據(jù)類型 72
第6章 程序存儲器尋址 74
6.1 程序存儲器地址產生 74
6.2 程序計數(shù)器(PC) 75
6.3 跳轉 76
6.3.1 無條件跳轉 76
6.3.2 條件跳轉 77
6.3.3 遠程跳轉 78
6.4 調用 78
6.4.1 無條件調用 78
6.4.2 條件調用 79
6.4.3 遠程調用 80
6.5 返回 80
6.5.1 無條件返回 80
6.5.2 條件返回 81
6.5.3 遠程返回 82
6.6 條件操作 82
6.6.1 多個條件的使用 83
6.6.2 條件執(zhí)行指令(XC) 84
6.6.3 條件存儲指令 84
6.7 單指令重復操作 85
6.8 指令塊重復操作 87
6.9 復位操作 88
6.10 中斷 89
6.10.1 中斷標志寄存器(IFR) 90
6.10.2 中斷屏蔽寄存器(IMR) 92
6.10.3 階段1:接收中斷請求 93
6.10.4 階段2:確認中斷 94
6.10.5 階段3:執(zhí)行中斷服務程序(ISR) 94
6.10.6 中斷現(xiàn)場保護 95
6.10.7 中斷延遲 95
6.10.8 中斷操作總結 96
6.10.9 重新映射中斷向量地址 96
6.10.10 中斷表 98
6.11 節(jié)電模式(Power-Down) 106
6.11.1 IDLE1模式 107
6.11.2 IDLE2模式 107
6.11.3 IDLE3模式 108
6.11.4 保持(HOLD)模式 108
6.11.5 其他降低功耗的性能 109
第7章 直接存儲器訪問(DMA)控制器 110
7.1 DMA概述 110
7.2 DMA操作和配置 111
7.2.1 寄存器子尋址方式 111
7.2.2 DMA通道優(yōu)先級和使能控制寄存器 114
7.2.3 通道現(xiàn)場(channel-context)寄存器 117
7.3 擴展尋址 131
7.4 DMA存儲器映射 132
7.4.1 C5402 DMA存儲器映射 132
7.4.2 C5410 DMA存儲器映射 132
7.4.3 C5420 DMA存儲器映射 134
7.5 DMA傳送延遲 135
7.6 通過DMA控制器的增強型主機接口的訪問 137
7.7 C5420中處理器之間的FIFO通信 137
7.8 節(jié)電模式下的DMA操作 138
7.9 編程實例 138
第8章 流水線 149
8.1 流水線操作 149
8.1.1 流水線中的跳轉指令 152
8.1.2 流水線中的調用指令 153
8.1.3 流水線中的返回指令 156
8.1.4 流水線中的條件執(zhí)行指令 160
8.1.5 流水線中的條件調用指令和條件跳轉指令 161
8.2 中斷和流水線 164
8.3 雙存取存儲器和流水線 165
8.3.1 解決取指令和讀操作數(shù)之間的沖突 167
8.3.2 寫操作數(shù)和讀雙操作數(shù)之間的沖突 167
8.3.3 解決寫操作數(shù)和讀雙操作數(shù)之間的沖突 168
8.4 單存取存儲器和流水線 169
8.5 流水線延遲 170
8.5.1 訪問存儲器映射寄存器的推薦指令 170
8.5.2 修改ARx、BK或SP——一個可以自動解決的沖突 172
8.5.3 確定DAGEN寄存器訪問沖突的規(guī)則 175
8.5.4 ARx和BK的延遲 176
8.5.5 堆棧指針的延遲 180
8.5.6 暫存器T的延遲 186
8.5.7 訪問狀態(tài)寄存器的延遲 188
8.5.8 塊重復循環(huán)的延遲 196
8.5.9 PMST的延遲 200
8.5.10 對累加器進行存儲器映射訪問的延遲 202
第9章 片內外設 205
9.1 有效的片內外設 205
9.2 外設中的存儲器映射寄存器 205
9.3 通用的I/O引腳 216
9.3.1 跳轉控制輸入引腳( ) 216
9.3.2 外部標志輸出引腳(XF) 216
9.4 定時器 217
9.4.1 定時器寄存器 217
9.4.2 定時器的操作 218
9.5 時鐘產生器 220
9.5.1 硬件配置的PLL 220
9.5.2 軟件可編程PLL 221
第10章 主機接口 228
10.1 標準主機接口概述 228
10.1.1 標準主機接口基本功能描述 229
10.1.2 標準主機接口的操作 231
10.1.3 主機對HPI的讀/寫訪問 235
10.1.4 DSPINT和HINT功能操作 239
10.1.5 改變HPI存儲器訪問模式(SAM/HOM)和使用IDLE2/3的考慮 240
10.1.6 在復位過程中的HPI存儲器訪問 241
10.2 增強型8位主機接口(HPI-8) 242
10.2.1 增強型8位主機接口(HPI-8)簡介 242
10.2.2 HPI-8的基本功能描述 243
10.2.3 HPI-8操作的詳細描述 244
10.2.4 主機對HPI-8的讀/寫訪問 250
10.2.5 DSPINT和HINT操作 255
10.2.6 改變時鐘模式時HPI-8傳送的注意事項 256
10.2.7 使用IDLE時的注意事項 257
10.2.8 復位對HPI操作的影響 258
10.2.9 用作通用輸入/輸出引腳的HPI-8數(shù)據(jù)引腳(不適用于C5410) 259
10.3 增強型16位主機接口(HPI-16) 263
10.3.1 HPI-16操作概述 264
10.3.2 復用模式 266
10.3.3 非復用模式 272
10.3.4 HPI-16的存儲器映射 272
10.3.5 HPI-16與DMA的相互作用 274
10.3.6 復位時HPI-16的操作 275
10.3.7 IDLEn期間的HPI-16操作 275
10.3.8 影響HPI-16的DSP時鐘模式變化 276
第11章 串行口 277
11.1 串行口簡介 277
11.2 串行接口 278
11.2.1 串行口寄存器 278
11.2.2 串行口操作 280
11.2.3 串行口配置 281
11.2.4 突發(fā)模式下的發(fā)送和接收操作 288
11.2.5 連續(xù)模式下的發(fā)送和接收操作 293
11.2.6 串行口故障條件 294
11.2.7 串口操作的實例 298
11.3 緩沖串口(BSP) 299
11.3.1 標準模式下的BSP操作 300
11.3.2 自動緩沖單元(ABU)操作 304
11.3.3 BSP操作的系統(tǒng)考慮 310
11.3.4 緩沖區(qū)未對準中斷(BMINT)(僅適用于C549) 313
11.3.5 節(jié)電(power-down)模式的BSP操作 313
11.4 時分復用(TDM)串行接口 314
11.4.1 基本的時分復用操作 314
11.4.2 TDM串行接口寄存器 315
11.4.3 TDM串行口操作 316
11.4.4 TDM模式發(fā)送和接收操作 319
11.4.5 TDM串行口的故障條件 320
11.4.6 TDM串口操作實例 320
第12章 多通道緩沖串行口 324
12.1 McBSP特征 324
12.2 McBSP概述 325
12.2.1 串行口結構 327
12.2.2 接收和發(fā)送控制寄存器:RCR[1,2]和XCR[1,2] 332
12.3 數(shù)據(jù)的發(fā)送和接收流程 335
12.3.1 串口復位:(R/X) 和 336
12.3.2 確定準備就緒狀態(tài) 338
12.3.3 CPU中斷:(R/X)INT 339
12.3.4 幀和時鐘的配置 339
12.3.5 McBSP標準操作 347
12.3.6 幀同步忽略 349
12.3.7 串口錯誤條件 351
12.3.8 接收數(shù)據(jù)調整和符號擴展:RJUST 357
12.4 μ律/A律壓擴硬件操作:(R/X)COMPAND 358
12.4.1 壓擴內部數(shù)據(jù) 359
12.4.2 位排序 360
12.5 可編程的時鐘和幀信號 360
12.5.1 采樣率產生器的時鐘與幀信號 361
12.5.2 數(shù)據(jù)時鐘的產生 363
12.5.3 幀同步信號的產生 366
12.5.4 定時舉例 368
12.6 多通道選擇操作 370
12.6.1 多通道操作控制寄存器 371
12.6.2 使能多通道選擇 373
12.6.3 通道的使能和屏蔽 373
12.6.4 A-bis接口功能(僅適用于C5410) 378
12.7 SPI協(xié)議:McBSP時鐘停止模式 379
12.7.1 時鐘停止模式配置和信號描述 381
12.7.2 作為SPI主設備的McBSP操作 382
12.7.3 作為SPI從設備的McBSP操作 383
12.7.4 SPI模式的McBSP初始化 384
12.8 仿真Free和Soft位 385
12.9 McBSP引腳用作通用I/O 385
12.10 節(jié)電模式下McBSP的操作 386
12.11 McBSP編程代碼實例 387
第13章 外部總線操作 388
13.1 外部總線接口 388
13.2 外部總線優(yōu)先級 389
13.3 外部總線控制 390
13.3.1 等待狀態(tài)產生器 390
13.3.2 塊切換邏輯 392
13.4 外部總線接口時序 395
13.4.1 存儲器存取時序 396
13.4.2 I/O存取時序 398
13.4.3 存儲器和I/O存取時序 398
13.5 啟動存取時序 402
13.5.1 復位 402
13.5.2 IDLE3 402
13.6 保持模式 404
13.6.1 保持模式期間的中斷 405
13.6.2 保持模式和復位 406
13.7 增強型外部總線接口 407
13.7.1 增強型外部并行接口(XIO2)簡介 407
13.7.2 總線時序 408
第14章 處理器之間的通信 410
14.1 多核DSP內部的通信 410
14.2 雙向FIFO 411
14.3 從外部存儲器空間訪問HPI-16 413
14.4 使用McBSP的子系統(tǒng)通信 415
14.5 處理器之間的中斷 416
附錄A 使用XDS510仿真器時的設計考慮 417
附錄B 開發(fā)支持和零件訂購信息 434
附錄C 向TI提交ROM代碼 439
參考文獻 441