《嵌入式多核DSP应用开发与实践》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:陈泰红,肖婧,冯伟编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2017
  • ISBN:9787512421226
  • 页数:435 页
图书介绍:围绕C66x多核DSP,介绍了KeyStone架构体系以及内存管理、高速外设接口通信,CCSV5.5的使用、SYS/BIOS、多核编程技术、以C6678为例典型电路设计和软件设计,并且在CCSV5 Simulator,以及C6678EVM硬件环境下运行图像处理、IPC,VLFFT,ImagingProcessing,HuA、SRIO/PCIE/GMII等实例,最后介绍了多核Boot的原理与实例。同时,也给出了多核DSP的应用,如雷达信号处理,VPX高速板卡设计等成功应用案例。

第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 高性能多核TI DSP性能 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 C 66x内核 18

2.1.1 概述 18

2.1.2 C66x DSP架构指令增强 20

2.1.3 C66x内核中CPU数据通路和控制 22

2.2 TMS320C66x DSP内核 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 CCS V5.5的下载 93

4.1.2 CCS V5.5的安装 94

4.1.3 CCS V5.5的使用 97

4.2 CCS V5操作小技巧 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- MCSDK 2.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 Image Processing实例讲解 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 NOR Flash接口设计 223

7.5.4 NAND Flash接口设计 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 Ultra Librarian的使用 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 SPI NOR启动步骤及注意事项 264

8.5 SRIO方式 266

8.6 以太网方式 268

8.7 PCIe方式 270

8.7.1 PCIe启动原理 270

8.7.2 PCle启动分析 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 VISA API 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章 TMDSEVM6678L EVM及视频编解码实现 335

11.1 EVM概述 335

11.1.1 TMDSEVM6678L概述 336

11.1.2 TMDSEVM66781电路介绍 338

11.2 多相机视频编解码实现 344

11.2.1 系统介绍 344

11.2.2 开发包支持 344

11.2.3 性能评估 344

第12章 KeyStone Ⅰ自测程序指南 348

12.1 自测程序概述 348

12.1.1 程序框架 349

12.1.2 通用测试方案 350

12.1.3 测试范围 352

12.1.4 EVM板测试步骤 352

12.1.5 移植程序注意事项 354

12.1.6 自动执行测试程序 354

12.1.7 测试程序特性总结 360

12.2 存储器测试 365

12.2.1 存储器系统概述 365

12.2.2 存储器测试算法 367

12.2.3 存储器测试CCS工程项目 369

12.2.4 测试配置 371

12.2.5 测试时间分析 372

12.3 存储器性能测试 372

12.3.1 测试算法 373

12.3.2 CCS工程项目 373

12.3.3 测试配置 374

12.4 EMIF接口存储器测试 376

12.4.1 CCS工程项目 376

12.4.2 测试配置与程序移植 377

12.5 通用模块测试 379

12.5.1 GPIO模块测试 379

12.5.2 I2C模块测试 380

12.5.3 SPI模块测试 383

12.5.4 Timer模块测试 386

12.5.5 UART模块测试 389

12.6 AIF模块测试 393

12.6.1 概述 393

12.6.2 测试算法 394

12.6.3 AIF2调试 396

12.6.4 CCS工程项目 398

12.6.5 测试工程配置 399

12.7 HyperLink模块测试 400

12.7.1 概述 400

12.7.2 HyperLink配置 401

12.7.3 HyperLink性能考虑 403

12.7.4 CCS工程项目 404

12.7.5 测试配置 405

12.8 多核导航器模块测试 406

12.8.1 多核导航器介绍 406

12.8.2 测试算法 408

12.8.3 CCS工程项目 410

12.8.4 测试配置 411

12.9 鲁棒性测试 411

12.9.1 概述 411

12.9.2 测试算法 412

12.9.3 CCS工程项目 415

12.9.4 测试配置 417

第13章 星载毫米波SAR-GMTI系统数字中频接收机 419

13.1 总体设计 419

13.1.1 设计原则 419

13.1.2 硬件架构 420

13.1.3 软件架构 421

13.1.4 接口设计 421

13.2 硬件设计 423

13.3 软件设计 426

13.3.1 概述 426

13.3.2 A/D采集及存储模块 426

13.3.3 数据传输模块 427

13.3.4 数据处理模块 428

附录 多核DSP开发网络资源 432

参考文献 433