图书介绍

DSP开发宝典【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

DSP开发宝典
  • 郑阿奇主编;孙承龙编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121150685
  • 出版时间:2012
  • 标注页数:813页
  • 文件大小:365MB
  • 文件页数:832页
  • 主题词:数字信号处理

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

DSP开发宝典PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章TMS320C6000系列DSP概述1

1.1 DSP产生、特点及其应用1

1.1.1 DSP的产生1

1.1.2 DSP的特点2

1.1.3 DSP的应用3

1.2 TMS320C6000系列DSP主要特点及其应用4

第2章TMS320C6000系列CPU、指令系统、伪指令6

2.1 TMS320C6000系列CPU的结构6

2.2 TMS320C6000系列CPU的数据通路和控制8

2.2.1通用寄存器组10

2.2.2数据通路的功能单元12

2.2.3寄存器组交叉通路13

2.2.4存储器存取通路14

2.2.5数据地址通路14

2.2.6 TMS320C6000控制寄存器组14

2.2.7 TMS320C67x控制寄存器扩展18

2.2.8 TMS320C64x控制寄存器扩展22

2.3 TMS320C6000系列DSP的存储器24

2.3.1程序存储器24

2.3.2内部数据存储器30

2.3.3二级内部存储器33

2.4 TMS320C6000系列DSP指令系统38

2.4.1 TMS320C6000系列DSP指令集39

2.4.2流水线51

2.4.3汇编伪指令64

第3章 程序开发基础81

3.1软件开发工具概述81

3.2 C/C++编译器概述83

3.2.1 ISO标准83

3.2.2输出文件83

3.2.3编译器接口84

3.2.4编译器操作84

3.2.5编译器工具84

3.3使用C/C++编译器85

3.3.1编译器85

3.3.2调用C/C++编译器85

3.3.3设置选项改变编译器的行为87

3.3.4常用选项91

3.3.5指定文件名93

3.3.6设置目录93

3.3.7设置默认的编译选项94

3.4优化代码95

3.4.1执行优化95

3.4.2优化软件流水97

3.4.3冗余循环100

3.4.4调试和剖析优化代码101

3.4.5基于价值的寄存器分配101

3.4.6别名消除102

3.4.7优化跳转和简化控制流102

3.4.8数据流优化102

3.4.9简化表达式102

3.4.10内联函数扩展103

3.4.11寄存器跟踪与分配104

3.5使用汇编优化器105

3.5.1增强性能的代码开发流程105

3.5.2线性汇编知识106

第4章 C/C++程序开发112

4.1 TMS320C6000系列C/C++语言实现112

4.1.1 TMS320C6000系列C语言特点112

4.1.2 TMS320C6000系列C++语言特点114

4.1.3 TMS320C6000系列C/C++语言关键字114

4.1.4 pragma伪指令119

4.1.5初始化静态变量和全局变量125

4.2运行时环境126

4.2.1存储器模型126

4.2.2对象的表示129

4.2.3中断处理134

4.2.4系统初始化135

4.3运行时支持函数139

4.3.1编译器包括的库139

4.3.2 C语言的I/O函数140

4.3.3运行时支持库函数和宏的描述148

4.4 TMS320C6000系列C/C++代码优化151

4.4.1 C/C++语言代码的编写151

4.4.2编译C/C++代码152

4.4.3优化C代码153

4.5 C/C++语言和汇编的混合编程157

4.5.1在C/C++代码中调用汇编语言模块157

4.5.2用内嵌函数访问汇编语言158

4.5.3在C/C++语言中嵌入汇编语言159

4.5.4在C/C++语言中访问汇编语言变量159

第5章 线性汇编优化代码165

5.1汇编优化器选项与伪指令165

5.2编写并行代码169

5.2.1点积的C代码169

5.2.2 C代码转换为线性汇编170

5.2.3画相关性图171

5.2.4非并行汇编代码与并行汇编代码172

5.2.5使用字访问短型数据与使用双字访问176

5.3软件流水183

5.3.1模迭代间隔编排表185

5.3.2使用汇编优化器产生优化循环189

5.3.3最终汇编190

5.4多周期循环的模迭代204

5.4.1转换C代码为线性汇编204

5.4.2确定最小迭代间隔204

5.4.3画相关性图206

5.4.4线性汇编资源分配207

5.4.5模迭代间隔编排207

5.4.6使用汇编优化器产生加权矢量和214

5.4.7最终汇编215

5.5循环传递路径216

5.5.1将C代码的内核循环转换为线性汇编217

5.5.2画相关性图217

5.5.3确定最小迭代间隔218

5.5.4线性汇编资源分配220

5.5.5模迭代间隔安排220

5.5.6使用汇编优化器处理IIR滤波器221

5.5.7最终汇编222

5.6循环中的if-then-else语句222

5.6.1 if-then-else的C代码223

5.6.2转换C代码为线性汇编223

5.6.3画相关性图224

5.6.4确定最小迭代间隔224

5.6.5线性汇编资源分配225

5.6.6最终汇编226

5.6.7性能比较226

5.7循环展开227

5.7.1展开if-then-else的C代码228

5.7.2 C代码转换为线性汇编228

5.7.3画相关性图229

5.7.4确定最小迭代间隔230

5.7.5线性汇编资源安排230

5.7.6最终汇编231

5.8生命太长问题232

5.8.1具有生命太长问题的C代码232

5.8.2 C代码转换为线性汇编233

5.8.3画相关性图234

5.8.4确定最小迭代间隔234

5.8.5线性汇编资源安排235

5.8.6带MV指令的最后汇编236

5.9消除冗余取数238

5.9.1转换C代码为线性汇编239

5.9.2画相关性图240

5.9.3确定最小迭代间隔241

5.9.4线性汇编资源分配241

5.9.5最终汇编242

5.10存储体244

5.10.1 FIR滤波器的内核循环245

5.10.2展开的FIR滤波器的C代码246

5.10.3将C代码转换为线性汇编247

5.10.4画相关性图248

5.10.5含有.mptr命令的展开后FIR线性汇编249

5.10.6线性汇编资源分配250

5.10.7确定最小迭代间隔250

5.10.8最终汇编251

5.11软件流水外循环253

5.11.1展开FIR滤波器的C代码253

5.11.2最终汇编254

5.12同内循环一起条件地执行外循环257

5.12.1展开FIR滤波器的C代码257

5.12.2将内核循环的C代码转换为线性汇编258

5.12.3将外环的C代码转换为线性汇编258

5.12.4展开FIR滤波器的C代码259

5.12.5 C代码转换为线性汇编(内核循环)260

5.12.6确定最小迭代间隔262

5.12.7最终汇编262

5.12.8性能比较265

5.13通用目标文件格式265

5.13.1段265

5.13.2汇编器对段的处理266

5.13.3连接器对段的处理271

第6章 汇编语言工具273

6.1宏语言273

6.2连接器描述274

6.3 MEMORY伪指令277

6.4 SECTIONS伪指令279

6.4.1 SECTIONS伪指令格式279

6.4.2绑定282

6.4.3指定存储器283

6.4.4指定输入段284

6.4.5使用多个存储器区域定位286

6.4.6在非连续的存储器区域自动分裂输出段286

6.4.7把文档库一个成员分配到输出段288

6.5指定段的运行地址289

6.5.1指定加载地址和运行地址289

6.5.2未初始化段290

6.5.3使用.label伪指令引用加载地址290

第7章 软件集成开发296

7.1应用软件开发流程及工具296

7.2集成开发环境(CCS)298

7.2.1 CCS概述298

7.2.2 CCS开发环境的安装和配置299

7.2.3文本编辑器313

7.2.4调试工具317

7.2.5自动化(项目管理)320

7.2.6 DSP/BIOS插件321

7.3开发应用程序324

7.3.1创建工程文件324

7.3.2向工程添加文件325

7.3.3查看源代码325

7.3.4编译和运行程序327

7.3.5修改程序选项和纠正语法错误328

7.3.6使用断点和观察窗口329

7.3.7测算源代码执行时间330

7.4开发DSP/BIOS程序331

7.4.1创建配置文件331

7.4.2创建用户模板332

7.4.3为模块设置全局属性333

7.4.4通过配置工具创建对象333

7.4.5层次树窗口334

7.4.6显式DSP/BIOS插件339

7.4.7内核/对象窗口调试341

7.4.8线程调度345

7.4.9利用执行图查看程序的执行346

第8章 程序调试与实例分析348

8.1程序调试348

8.1.1建立调试环境348

8.1.2内存映射353

8.1.3仿真(Simulation)355

8.1.4基础调试357

8.1.5高级调试特征367

8.1.6实时调试371

8.1.7复位芯片375

8.2实时分析376

8.2.1数据可视化376

8.2.2 DSP/BIOS实时分析(RTA)工具377

8.2.3代码覆盖范围和多事件剖析工具379

8.3程序调试与分析实例379

8.3.1打开和查看工程380

8.3.2查看源程序380

8.3.3为I/O文件增加探针断点382

8.3.4显示图形383

8.3.5执行程序和绘制图形384

8.3.6调节增益385

8.3.7观察范围外变量386

8.3.8使用GEL文件388

8.3.9调节和测试processing函数388

8.3.10打开和查看工程389

8.3.11查看源程序390

8.3.12修改配置文件392

8.3.13用Execution Graph查看任务执行情况394

8.3.14修改和查看load值395

8.3.15 分析任务的统计数据397

8.3.16增加STS显式测试398

8.3.17观察显式测试统计数据399

8.4应用程序代码调整(ACT)400

8.4.1调整面板401

8.4.2高速缓存调整工具(Cache Tune)403

第9章 外部存储器接口404

9.1概述404

9.1.1 SDRAM接口405

9.1.2 SBSRAM接口411

9.1.3异步接口413

9.1.4复位EMIF419

9.1.5 HOLD接口420

9.1.6访问EMIF寄存器时的边界条件421

9.1.7时钟输出使能421

9.2 TMS320C620x/C670x DSP的EMIF422

9.2.1概述423

9.2.2 EMIF接口信号423

9.2.3 SDRAM接口426

9.2.4 SBSRAM接口432

9.2.5 ROM访问模式434

9.2.6存储器请求优先级434

9.3 TMS320C621x/C671xDSP的EMIF435

9.3.1概述435

9.3.2 EMIF接口信号435

9.3.3 SDRAM接口438

9.3.4 SBSRAM接口445

9.3.5存储器请求优先级446

9.4 TMS320C64x DSP的EMIF447

9.4.1概述447

9.4.2 EMIF接口信号448

9.4.3 SDRAM接口449

9.4.4可编程同步接口456

9.4.5外部设备传输(PDT)460

9.5 TMS320C6000 DSP的EMIF寄存器466

9.6时钟输出使能472

第10章 中断系统474

10.1 TMS320C6000的中断概述474

10.1.1中断类型和中断信号474

10.1.2中断服务表(IST)476

10.1.3中断控制寄存器479

10.2中断控制481

10.2.1中断使能寄存器(IER)481

10.2.2设置和清除中断的状态(IFR…ISR和ICR)482

10.2.3中断返回服务485

10.3编程注意事项486

10.3.1单任务编程486

10.3.2嵌套中断486

10.3.3手动中断处理487

10.3.4陷阱487

10.4中断选择器与外部中断488

10.4.1可用中断源488

10.4.2中断选择寄存器489

10.4.3外部中断信号时序492

10.5中断应用实例492

第11章 直接存储器访问(DMA)512

11.1概述512

11.2 DMA控制寄存器514

11.2.1 DMA主控制寄存器(PRICTL)515

11.2.2 DMA从控制寄存器(SECCTL)517

11.3 DMA的初始化和启动519

11.3.1初始化一个DMA块传输519

11.3.2 DMA自动初始化519

11.3.3 DMA信道重载寄存器520

11.4传输计数521

11.5同步传输521

11.5.1 DMA通道事件的锁定和清除522

11.5.2同步控制523

11.6地址的产生524

11.7通道的分裂操作525

11.7.1 DMA分裂操作525

11.7.2 DMA分裂地址产生526

11.8 DMA控制器526

11.8.1 TMS320C6201/C6701/C6202器件的DMA结构526

11.8.2 TMS320C6202B/C6203B/C6204/C6205器件的DMA结构527

11.8.3 DMA操作528

11.8.4 DMA性能528

11.8.5 DMA的外引脚528

11.9 DMA应用实例528

第12章 增强型直接存储器访问(EDMA)547

12.1 EDMA概述547

12.2 EDMA的控制寄存器549

12.2.1事件寄存器(ER, ERL, ERH)550

12.2.2事件使能寄存器(EER, EERL, EERH)550

12.2.3事件清除寄存器(ECR, ECRL, ECRH)551

12.2.4事件设置寄存器(ESR, ESRL, ESRH)552

12.2.5事件编码器553

12.3参数RAM553

12.4 EDMA传输参数555

12.5 EDMA传输556

12.6 EDMA传输的分类558

12.6.1一维传输558

12.6.2二维传输560

12.7单元大小与对齐562

12.8传输计数与地址更新563

12.9 EDMA传输参数的链接564

12.10终止EDMA传输565

12.11 EDMA中断566

12.12事件链接EDMA通道567

12.12.1 TMS320C621x/C671x EDMA传输链568

12.12.2 TMS320C64x EDMA传输链569

12.13 EDMA性能569

12.14快速DMA (QDMA)569

12.14.1 QDMA的控制569

12.14.2 QDMA的性能571

12.14.3 QDMA的优先级571

12.15传输请求递交571

12.15.1请求链571

12.15.2传输交叉开关572

12.15.3地址产生/传输逻辑573

12.16传输实例574

12.16.1块搬移实例574

12.16.2子帧提取实例575

12.16.3数据分类的实例577

12.16.4非猝发外设578

12.17 EDMA应用实例585

12.17.1应用实例分析585

12.17.2完整的程序代码589

第13章 多通道缓冲串口(McBSP )616

13.1概述616

13.2 McBSP接口信号和控制寄存器617

13.3数据发送和接收619

13.3.1串口的复位620

13.3.2确定就绪状态621

13.3.3 CPU中断621

13.3.4时钟和帧的配置622

13.4 McBSP的标准操作627

13.4.1数据接收627

13.4.2数据发送628

13.4.3最高帧频率628

13.5忽略帧同步的传输629

13.5.1帧同步忽略与非预期的帧同步脉冲629

13.5.2利用帧同步忽略位的数据打包630

13.6串行异常的情况631

13.6.1接收满:RFULL631

13.6.2非预期的接收帧同步:RSYNCERR632

13.6.3数据覆盖时的发送633

13.6.4发送空数据634

13.6.5非预期的发送帧同步635

13.7 μ-律/A-律压扩硬件操作636

13.8可编程时钟与帧同步637

13.8.1采样率发生器638

13.8.2 McBSP初始化过程640

13.9多通道选择操作641

13.9.1多通道控制寄存器(MCR)641

13.9.2多通道选择的使能与屏蔽644

13.9.3增强型多通道选择模式(C64x)647

13.9.4 DX使能器650

13.10 SPI协议:CLKSTP651

13.10.1 McBSP作为SPI主设备652

13.10.2 McBSP作为SPI从设备653

13.10.3 SPI初始化653

13.11 McBSP引脚作为通用I/O654

13.12 McBSP应用实例654

第14章 主机并行接口(HPI)672

14.1概述672

14.2 HPI外部接口674

14.2.1 TMS320C620x/C670x DSP的HPI674

14.2.2 TMS320C621x/C671xDSP的HPI675

14.2.3 TMS320C64x DSP的HPI16或HPI32676

14.3 HPI接口信号677

14.3.1数据总线678

14.3.2访问控制选择信号678

14.3.3半字识别选择信号678

14.3.4地址选通输入信号679

14.3.5字节使能信号679

14.3.6读/写选择信号680

14.3.7选通信号680

14.3.8就绪信号681

14.3.9对主机的中断681

14.4 HPI总线访问681

14.4.1 TMS320C620x/C670x HPI总线访问681

14.4.2 TMS320C621x/C671x HPI总线访问684

14.4.3 TMS320C64x HPI总线访问686

14.5主机访问顺序687

14.5.1 HPIC与HPIA的初始化688

14.5.2固定地址模式下的HPID寄存器读访问689

14.5.3地址自增模式的HPID读访问690

14.5.4固定地址模式的HPID寄存器写访问692

14.5.5地址自增模式的HPID写访问694

14.5.6半字周期(仅适用于TMS320C620x/C670x)696

14.5.7 HPI传输优先级队列——TMS320C621 x/C671 x/C64x697

14.5.8复位时通过HPI的存储器访问697

14.6 HPI寄存器697

14.6.1 HPI数据寄存器697

14.6.2 HPI地址寄存器698

14.6.3 HPI控制(HPIC)寄存器698

14.6.4 HPI传输请求控制(TRCTL)寄存器——仅C64xDSP701

14.7主机并行接口(HPI)应用实例702

第15章 扩展总线722

15.1概述722

15.2扩展总线信号723

15.3扩展总线I/O端口724

15.3.1异步模式726

15.3.2同步FIFO模式727

15.4扩展总线主接口操作729

15.4.1同步主机端口模式730

15.4.2异步主机端口模式735

15.5扩展总线仲裁737

15.5.1内部总线仲裁器使能737

15.5.2内部总线仲裁器禁止738

15.5.3扩展总线请求器优先级738

15.6通过扩展总线进行引导739

15.7扩展总线的寄存器739

15.7.1扩展总线全局控制(XBGC)寄存器740

15.7.2扩展总线XCE空间控制寄存器741

15.7.3扩展总线主机接口控制(XBHC)寄存器742

15.7.4扩展总线内部主设备地址(XBIMA)寄存器743

15.7.5扩展总线外部地址(XBEA)寄存器743

15.7.6扩展总线数据(XBD)寄存器744

15.7.7扩展总线内部从设备(XBISA)寄存器744

第16章 外围设备互联端口(PCI)746

16.1外围设备互联端口(PCI)概述746

16.2 PCI端口结构749

16.3 TMS320C6000 PCI存储器映射751

16.4 PCI存储器服务的特殊考虑752

16.4.1可预取的读操作752

16.4.2 PCI与程序存储器之间的数据传输(仅TMS320C62x DSP)753

16.5从设备传输753

16.5.1 DSP从设备写753

16.5.2 DSP从设备读754

16.6主设备传输754

16.6.1 DSP主设备写755

16.6.2 DSP主设备读755

16.7复位756

16.8中断与状态报告757

16.9 PCI端口的启动配置757

16.10 EEPROM接口758

16.10.1由EEPROM实现PCI自动初始化759

16.10.2 EEPROM内存映射759

16.10.3 EEPROM校验和760

16.10.4 DSP EEPROM接口760

16.11错误处理761

16.11.1 PCI奇偶错误处理761

16.11.2 PCI系统错误处理762

16.11.3 PCI主设备终止协议762

16.11.4 PCI目标设备终止协议762

16.12电源管理(仅适用于TMS320C62x)762

16.12.1 PCI电源管理762

16.12.2 PCI电源管理策略764

16.12.3 DSP复位765

16.13 PCI寄存器765

16.13.1 PCI配置寄存器766

16.13.2 I/O寄存器769

16.13.3内存映射寄存器771

16.14 PCI应用实例780

第17章 定时器795

17.1概述795

17.2定时器的寄存器795

17.3定时器的启动和停止799

17.4定时器计数799

17.5定时器脉冲的产生799

17.6控制寄存器中的边界情况800

17.7定时器引脚配置为通用I/O端口801

第18章 通用输入/输出(I/O)802

18.1概述802

18.2通用输入/输出(I/O)端口的功能803

18.3中断与事件产生803

18.3.1直通模式804

18.3.2逻辑模式805

18.3.3 GPINT与GPO和/或GPINTO的复用805

18.4中断与事件806

18.5通用输入/输出(I/O)端口寄存器806

热门推荐