书籍详情
《嵌入式多核DSP应用开发与实践》[26M]百度网盘|亲测有效|pdf下载
  • 嵌入式多核DSP应用开发与实践

  • 出版社:北京航空航天大学出版社
  • 出版时间:2017-03
  • 热度:10689
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

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

前言/序言

  TMS320C66xDSP是美国德州仪器公司(TI)推出的高性能多核DSP处理器。
  TMS320C66xDSP采用TI多年的研发成果:KeyStone多内核架构,具有高性能协处理器,丰富的独立片内连接层技术;多核导航器,支持内核与存储器存取之间的直接通信,从而解放外设存取,充分释放多核性能;片上交换架构———TeraNet2,速度高达2Mb/s,可为所有SoC组成部分提供高带宽和低时延互连;多核共享存储器控制器,可使内核直接访问存储器,提高片上及外设存储器的存取速度;HyperLink,可提供芯片级互连,跨越多个芯片。TMS320C66x有2核、4核、8核之分,可供不同应用场合使用,并且引脚兼容。每个内核都同时具备定点和浮点运算能力,并且都有40个GMAC @1.25GHz,20个GFLOP @1.25GHz,其性能是市场上已发布的多内核DSP 的5 倍,特别是8 核TMS320C6678,运行速率能达到10 GHz。TMS320C66x具有低功耗和大容量,采用TIGreenPower技术构架、动态电源监控和SmartReflex。这样的结构,让用户设计时不再需要使用FPGA 或者ASIC。
  KeyStone多核系列DSP包括多种器件,这些器件旨在以最低的功耗级别和成本提供最高的处理性能。KeyStone多核平台的处理能力和低功耗适用于高端设备大数据量的处理。多核器件包括TI的C667x和C665x系列DSP。该系列结合了定点和浮点的处理能力,其中C6678有高达8颗C66xCPU。
  KeyStoneⅡ多核系列DSP+ARM 以低于多芯片解决方案的功耗,提供高达5.6GHz的ARM 和11.2GHz的DSP处理能力,因此适用于嵌入式基础实施应用,例如云计算、高性能计算、转码、安全、游戏、分析、媒体处理和虚拟桌面等。66AK2H12使用新的KeyStoneⅡ架构。该器件是第一种将4个ARMCortex A15与8个TMS320C66x高性能结合在一起的器件,代表型号有66AK2H0(2ARM15+4C66x)、66AK2E05等。TMS320C66x的目标应用领域有关键任务、测试与自动化、医学影像、智能电网、新型宽带以及高性能计算等。例如,医疗电子有几个热门的方向,即彩色超声波、用于引导手术的实时透视、超声波便携式设备、内窥镜等,C667xDSP凭借其实时处理、便携式、低功耗、可编程性、高性能的优势,能方便实现这些医疗应用。
  本书从C66x的内核架构、关键外设、多核编程等方面进行了翔实介绍,同时通过基于CCSV5Simulator软件仿真以及TMDXEVM6678LEVM 硬件仿真的实例精解,从更多细节上介绍基于TMS320C6678的电路设计开发和boot设计,给出用实例测试的片内外设应用测试程序,最后介绍中科院某所基于TMS320C6678的星载毫米波SAR GMTI系统数字中频接收机的总体设计。
  本书适合于广大DSP爱好者、大学高年级学生、研究生,以及从事DSP等嵌入式技术开发的企业工程技术人员参考。期望帮助读者尽快熟悉并掌握该项技术。
  在编著本书的过程中,作者一直战战兢兢。作者基于之前所著《手把手教你学DSP》系列丛书的经验,力求帮助开发者设计和完善总体电路与软件评测,所有实例均在自己所做的电路板上验证。唯一的愿望,就是希望能对阅读本书的人有所帮助。
  本书介绍TIC66x系列多核编程过程中的一些基本概念与原理,更深入地掌握这门技术,还需要进一步阅读TI公司提供的参考手册,并在实际项目中锻炼。TI公司的技术文档以繁多著称,初学者难免陷入不知所措之中,因此建议以实际应用为主,各个击破,以点连线,以线画面。
  虽然,我们努力提供可重复的工作,但由于参考的软件版本以及软件安装的环境可能会有细微差别,因此请在理解本书所介绍内容的基础上重复书中涉及的实例,简单照搬不一定能有结果,敬请注意。
  本书得到了国家自然科学基金(61603073)、辽宁省自然科学基金(201602200)、中央高校基本科研业务费专项基金(DCPY2016002)的支持,在此表示衷心的感谢。
  本书第二作者肖婧,现为大连民族大学信息与通信工程学院专任教师,主要从事信息智能处理技术的研究,重点研究高维多目标智能优化算法及其在复杂网络挖掘中的应用;先后承担并主持国家自然科学基金1项、省部级科研项目2项、市厅级科研项目2项;发表学术论文20余篇,出版学术专著2部。
  本书第三作者冯伟,任职于66061部队,主要从事通信网络工程设计、规划、建设与应用管理以及计算机软件开发测试,研究方向包括通信网络管理、规划与设计,数字信号处理与分析等。
  参加本书编写工作的有石厚兰、陈关岭、杭欢欢、陈小杭、王苏亚、杭进财、陈帅、吕会杰、陈静源、陈凯、何艳、陈萌萌、杭翔宇、胡亦卓、杭文菁、杨才远、程伟、马艺文等,他们为本书提供了大量资料,进行了大量实验,编写验证了各个应用程序等,再次表示感谢。
  本书在成书过程中还得到北京航空航天大学出版社策划编辑人员的大力支持,没有他们的帮助,出版本书是不可想象的;在这里还要感谢所有与出版此书相关的工作人员,他们参与了编辑、校对和录入工作;感谢无名网友在网络上无偿分享的资料。
  本书尽量列出所有参考资料的源出处,若有遗漏,敬请谅解。
  由于时间仓促,水平有限,书中存在的错误和遗漏,恳请读者不吝指正。
  陈泰红
  2016年12月13日