嵌入式多核DSP應用開發與實踐

陳泰紅 肖 婧 馮 偉

  • 嵌入式多核DSP應用開發與實踐-preview-1
嵌入式多核DSP應用開發與實踐-preview-1

商品描述

嵌入式多核DSP應用開發與實踐
  本書從C66x的內核架構、關鍵外設、多核編程等方面進行翔實介紹,同時通過基於CCSV5Simulator軟件仿真以及TMDXEVM6678LEVM硬件仿真的實例精解,從更多細節上介紹基於TMS320C6678的電路設計開發和boot設計,給出用實例測試的片內外設應用測試程序,最後介紹中科院某所基於TMS320C6678的星載毫米波SAR GMTI系統數字中頻接收機的總體設計。
  本書適合於廣大DSP愛好者、大學高年級學生、研究生,以及從事DSP等嵌入式技術開發的企業工程技術人員參考。

目錄大綱

第1章多核DSP技術……………………………………………………………… 1
1.1 DSP概述………………………………………… ………………………… 1
1.2 TI公司DSP器件的發展………………………………………………… 1
1.2.1 C2000系列DSP ……………… …………………………………… 2
1.2.2 C5000系列DSP …………………………………………………… 3
1.2.3 C6000單核系列DSP ……………………………………………… 3
1.2.4達芬奇系列DSP …………………………………………………… 3
1.2. 5多核系列DSP ……………………………………………………… 4
1.3高性能多核TIDSP性能……………………………………………… … 6
1.4 KeyStoneⅠ多核DSP處理器…………………………………………… 8
1.4.1 KeyStoneⅠ概述………………………………………………… … 8
1.4.2應用領域…………………………………………………………… 11
1.5 KeyStoneⅡ多核DSP處理器………………………………… ………… 13
1.5.1 KeyStoneⅡ概述………………………………………………… 13
1.5.2 KeyStoneⅡ多核架構…………………………………… ……… 14
1.5.3專用服務器應用…………………………………………………… 15
1.5.4企業和工業應用…………………………………………………… 16
1.5.5綠色能效網絡處理……………………………………… ………… 16
1.5.6產品優勢…………………………………………………………… 17

第2章TMS320C66x的多核處理器架構………………… ……………………… 18
2.1 C66x內核………………………………………………………………… 18
2.1.1概述………………… …………………………………………… 18
2.1.2 C66xDSP架構指令增強………………………………………… 20
2.1.3 C66x內核中CPU數據通路和控制……………………………… 22
2.2 TMS320C66xDSP內核………………………………………………… 24
2.2.1 C66x內核介紹…………… ……………………………………… 24
2.2.2 C66x內核內部模塊概述………………………………………… 25
2.2.3 IDMA …………… ………………………………………………… 31
2.2.4中斷控制器………………………………………………………… 33
2.3多核導航器………………………………………………………………… 39
2.3.1概述…………………………………………… ………………… 39
2.3.2多核導航器的功能………………………………………………… 43
2.3.3多核導航器的基本概念…………… ……………………………… 44
2.4高速通信接口……………………………………………………………… 49
2.4.1 HyperLink接口………………………………………… ………… 51
2.4.2 RapidIO接口……………………………………………………… 57
2.4.3 PCIe接口………………………………… ……………………… 62
2.5多核共享資源……………………………………………………………… 70
2.5.1存儲器資源分配…………… ……………………………………… 70
2.5.2 EDMA資源……………………………………………………… 71
2.5.3硬件信號量… ……………………………………………………… 72
2.5.4 IPC中斷…………………………………………………………… 76

第3章C66x片內外設、接口與應用……………………………………………… 77
3.1 EDMA3 …………………………………………… ……………………… 77
3.1.1 EDMA3概述……………………………………………………… 77
3.1.2 EMDA3傳輸類型………………… ……………………………… 81
3.1.3 EDMA功能實例………………………………………………… 83
3.2 Ethernet/MDIO ………………… ……………………………………… 86
3.3 AIF2天線接口…………………………………………………………… 87
3.3.1概述……………………………………………………………… 87
3.3.2 OBSAI協議概述……………………………………… ………… 88
3.3.3 AIF2硬件框圖…………………………………………………… 90

第4章CCS5集成開發環境…………………………… ………………………… 92
4.1 CCS5的安裝和配置……………………………………………………… 93
4.1.1 CCSV5.5的下載……… ………………………………………… 93
4.1.2 CCSV5.5的安裝………………………………………………… 94
4.1.3 CCSV5. 5的使用………………………………………………… 97
4.2 CCSV5操作小技巧…………………………………………………… 107
4.2 .1更改顯示………………………………………………………… 107
4.2.2多線程編譯…………………………………………… ………… 107
4.2.3多核斷點調試…………………………………………………… 108
4.2.4 L1P、L1D、L2cache分析工具………………… ……………… 110
4.3 GEL的使用……………………………………………………………… 110
4.3.1 GEL功能簡介…………………… ……………………………… 110
4.3.2實現GEL腳本的基本要素…………………………………… 110
4.3.3 GEL腳本應用技巧……………… ……………………………… 116

第5章多核軟件開發包…………………………………………………………… 125
5.1多核軟件開發包概述………………………………… ………………… 125
5.2 Linux/MCSDK ………………………………………………………… 127
5.3 BIOS-MCSDK …………………………… ……………………………… 129
5.3.1 BIOS-MCSDK簡介……………………………………………… 129
5.3.2 BIOS-MCSDK2.x開發…… …………………………………… 133
5.3.3 MCSDK2.x使用指南…………………………………………… 135
5.3.4運行演示應用程序…… ………………………………………… 142
5.4 CSL與底層驅動………………………………………………………… 145
5.4.1 CSL介紹………………………………………………………… 145
5.4.2 LLDs介紹……………………………………………………… 145
5.4.3 EDMA3驅動介紹……………………………………………… 147
5.5算法處理庫……………………………………………………… ……… 147
5.5.1數字信號處理庫(DSPLIB)……………………………………… 147
5.5.2圖像處理庫(IMGLIB) …………………………… …………… 148
5.5.3數學函數庫(MATHLIB) ……………………………………… 149
5.6網絡開發工具NDK …………………………………………………… 150
5.6.1 NDK概述………………………………………………… ……… 151
5.6.2 NDK組織結構…………………………………………………… 152
5.6.3 NDK實現過程………………………………… ………………… 153
5.6.4 CCS創建NDK工程…………………………………………… 155
5.6.5配置NDK ……………………………… ……………………… 157
5.6.6 NDK開發中應注意的問題……………………………………… 157
5.7 HUA實例…………………………… ………………………………… 158
5.7.1概述…………………………………………………………… 158
5.7.2軟件設計……… ………………………………………………… 161
5.8 ImageProcessing實例講解…………………………………………… 162
5.8.1概述………… ………………………………………………… 162
5.8.2軟件設計………………………………………………………… 162
5.8. 3軟件實例介紹…………………………………………………… 165

第6章SYS/BIOS ………………………………………………… ……………… 168
6.1 SYS/BIOS基礎………………………………………………………… 168
6.1.1 SYS/BIOS概述………………………………………………… 168
6.1.2 SYS/BIOS與DSP/BIOS的區別…………………………… … 169
6.1.3 XDCtools概述…………………………………………………… 170
6.1.4 SYS/BIOS開發流程…………………………………… ……… 173
6.2 IPC核間通信…………………………………………………………… 174
6.2.1 IPC功能架構…………………………… ……………………… 174
6.2.2 IPC主要模塊介紹……………………………………………… 176
6.2.3使用IPC需要解決的問題…………… ………………………… 183
6.3 SYS/BIOS組成………………………………………………………… 183
6.4 SYS/BIOS工程創建和配置……… …………………………………… 189
6.4.1用TI資源管理器創建SYS/BIOS工程……………………… 189
6.4.2用CCS工程嚮導創建SYS/BIOS工程………………………… 191
6.5 SYS/BIOS啟動過程…………………………………………………… 196

第7章硬件設計指南……………… ……………………………………………… 198
7.1電源設計、節電模式和功耗評估………………………………………… 198
7.1.1功耗分析………………………………………………………… 198
7.1.2系統總體方案設計……………………………………………… 199
7.1.3電源濾波設計……………………………………………… …… 201
7.1.4電源控制電路…………………………………………………… 201
7.1.5 3.3V輔助電路………………………………… ……………… 203
7.1.6上電時序控制電路……………………………………………… 203
7.1.7在線軟件控制………………………… ………………………… 205
7.2時鐘設計………………………………………………………………… 206
7.2.1時鐘需求…………… …………………………………………… 206
7.2.2時鐘電路設計…………………………………………………… 208
7.3復位電路設計… ………………………………………………………… 215
7.3.1復位需求統計…………………………………………………… 215
7.3.2復位電路及時序設計…………………………………………… 215
7.4 DDR3接口設計…………………………………………………… …… 216
7.4.1 DDR3技術綜述………………………………………………… 216
7.4.2 TMS320C6678的DDR3控制器……………………………… 217
7.4.3 DDR3-SDRAM選型…………………………………………… 217
7.4.4 DDR3電路設計……………………………………………… … 218
7.4.5 PCB設計中的注意事項………………………………………… 219
7.5 EMIF16接口設計…………………………………………………… … 222
7.5.1 EMIF16接口介紹……………………………………………… 222
7.5.2 EMIF16存儲空間分配………………………………………… 223
7.5.3 NORFlash接口設計…………………………………………… 223
7.5.4 NANDFlash接口設計………………………………………… 225
7.6 SRIO接口設計………………………………………………………… 226
7.6.1設計原理…………………………………………………… …… 226
7.6.2 PCB設計中的注意事項………………………………………… 227
7.6.3 GbE設計………………………………………… ……………… 228
7.7 SPI接口設計…………………………………………………………… 233
7.8 I2C接口設計…………………………… ……………………………… 233
7.9外中斷設計……………………………………………………………… 234
7.10 JTAG仿真…………… ………………………………………………… 235
7.11硬件設計檢查表………………………………………………………… 235
7.12電路設計小技巧………………………………………………………… 240
7.12.1 UltraLibrarian的使用………………………………………… 240
7.12.2 Cadence模塊化復用………………………………………… 243

第8章TIC66x多核DSP自啟動開發…………………………………………… 253
8.1概述…………………………………………………………… ……… 253
8.1.1 DSP啟動過程…………………………………………………… 255
8.1.2多核啟動原理………………………………… ………………… 256
8.1.3啟動數據的生成………………………………………………… 258
8.2 EMIF16方式……………………………… …………………………… 259
8.3主從I2C方式…………………………………………………………… 259
8.3.1單核啟動模式…… ……………………………………………… 260
8.3.2多核啟動模式…………………………………………………… 261
8.4 SPI方式… ……………………………………………………………… 261
8.4.1 SPI總線的工作原理…………………………………………… 262
8.4.2 SPI啟動的實現………………………………………………… 263
8.4.3 SPINOR啟動步驟及注意事項………………………………… 264
8.5 SRIO方式……………………………………………………………… 266
8.6以太網方式……………………………………………………………… 268
8.7 PCIe方式……………………………………………… ………………… 270
8.7.1 PCIe啟動原理…………………………………………………… 270
8.7.2 PCIe啟動分析……………………… …………………………… 271
8.7.3單模式加載啟動實現…………………………………………… 271
8.7.4多核啟動實現……………… …………………………………… 272
8.7.5 DDR3多模代碼加載啟動實現………………………………… 273
8.8 HyperLink方式…………………… …………………………………… 274

第9章C66x多核編程指南……………………………………………………… 275
9.1應用程序編程框架… …………………………………………………… 275
9.1.1 XDAIS標準……………………………………………………… 275
9.1. 2 IALG接口……………………………………………………… 275
9.1.3 XDM標準…………………………………………………… … 277
9.1.4 VISAAPI ……………………………………………………… 279
9.2應用程序映射到多核導航器…………………………………… ……… 279
9.2.1並行處理模型…………………………………………………… 280
9.2.2識別並行任務………………………………… ………………… 282
9.3多核通信………………………………………………………………… 284
9.3.1數據遷移………………………………………… ……………… 285
9.3.2多核導航器數據移動…………………………………………… 286
9.3.3通知和同步…………………………… ………………………… 287
9.3.4多核導航器的通知方法………………………………………… 288
9.4數據傳輸引擎……………………… …………………………………… 290
9.5共享資源管理…………………………………………………………… 291
9.6存儲器管理………… …………………………………………………… 292
9.7 C66x代碼優化…………………………………………………………… 295
9.7 .1使用內嵌函數…………………………………………………… 295
9.7.2軟件流水……………………………………………… ………… 296
9.7.3混合編程………………………………………………………… 297
9.8線性彙編…………………………………… …………………………… 300
9.8.1 C代碼改寫為線性彙編………………………………………… 300
9.8.2線性彙編使用SIMD指令………… …………………………… 304
9.8.3循環展開………………………………………………………… 305
9.8.4解決存儲器衝突………… ……………………………………… 307
9.9 TI代碼優化設計文檔…………………………………………………… 309

第10章C66x多核DSP軟件開發實例…………………………………… …… 317
10.1 IPC核間通信實例……………………………………………………… 317
10.1.1概述……………………………………… …………………… 317
10.1.2實例詳解………………………………………………………… 318
10.1.3源代碼詳解………………… …………………………………… 319
10.2 VLFFT ………………………………………………………………… 326
10.2.1概述……… …………………………………………………… 326
10.2.2軟件設計………………………………………………………… 328
10.2 .3 VLFFT實驗實例……………………………………………… 330
10.2.4運行結果分析…………………………………………………… 333

第11章TMDSEVM6678LEVM及視頻編解碼實現……………………………… 335
11.1 EVM概述……………………………………………………………… 335
11.1.1 TMDSEVM6678L概述……………………………………… 336
11.1.2 TMDSEVM6678L電路介紹………………………………… 338
11.2多相機視頻編解碼實現… ……………………………………………… 344
11.2.1系統介紹………………………………………………………… 344
11.2.2開發包支持………………………………………… …………… 344
11.2.3性能評估………………………………………………………… 344

第12章KeyStoneⅠ自測程序指南…………………… ………………………… 348

第13章星載毫米波SAR GMTI系統數字中頻接收機……………………… 419

附錄多核DSP開發網絡資源…………………………… ……………………… 432
參考文獻…………………………………………………………………………… 433