所有分类
  • 所有分类
  • 精品课程
  • 课件资料
  • 标准资料
  • 资料手册
  • 图纸模型
  • 解说文案

嵌入式多核DSP应用开发与实践

嵌入式多核DSP应用开发与实践  

出版时间: 2017年版 

内容简介 

  嵌入式多核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 

资源下载
下载价格10 金币
VIP免费
0
没有账号?注册  忘记密码?

社交账号快速登录