手把手教你学DSP:基于TMS320X281x(第2版)

手把手教你学DSP:基于TMS320X281x(第2版)
作 者: 顾卫钢
出版社: 北京航空航天大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 计算机/网络 行业软件及应用
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《手把手教你学DSP:基于TMS320X281x(第2版)》作者简介

内容简介

本书以TMS320X281xDSP的开发为主线,采用生动的语言深入浅出地介绍与DSP开发相关的方方面面,包括DSP开发环境的搭建、新工程的建立、CCS3.3的使用、GEL文件与CMD文件的编写、硬件电路的设计、存储器的映像、三级中断系统以及TMS320X281x的各个外设模块的功能和使用。每部分内容都结合应用实例,手把手地讲解例程的编写过程,所有代码都标注有详细的中文注释,为读者快速熟悉并掌握DSP的开发方法和技巧提供了方便。相比第1版,本书主要更新了DSP仿真器在WIN7环境下的安装方面的内容。本书共享相关的资料,包括:所有实例的C语言程序代码、Flash烧写所需资源以及常用的一些调试工具软件,可以在HELLODSP论坛本书书友会下载。 本书可供高等院校电子、通信、计算机、自动控制和电力电子技术等专业的本科和研究生作为“数字信号处理原理与应用”相关课程的教材或参考书,也可以作为数字信号处理器应用开发人员的参考书。

图书目录

第1章如何开始DSP的学习和开发1

1.1DSP基础知识1

1.1.1什么是DSP1

1.1.2DSP的特点2

1.1.3DSP与MCU、ARM、FPGA的区别2

1.1.4学习开发DSP所需要的知识3

1.2如何选择DSP4

1.2.1DSP厂商介绍4

1.2.2TI公司各个系列DSP的特点5

1.2.3TI

DSP具体型号的含义6

1.2.4C2000系列DSP选型指南7

1.3DSP开发所需要准备的工具以及开发平台的搭建9

1.3.1CCS的版本10

1.3.2CCS3.3的安装10

1.3.3仿真器的安装15

1.3.4Setup

Code

Composer

Studio

v3.3的配置23

1.3.5基于HDSPSuper2812开发平台的搭建25

1.4如何学好DSP26

1.4.1众多工程师的讨论和经验27

1.4.2作者的建议33

1.5C2000助手软件介绍34

第2章TMS320X2812的结构、资源及性能36

2.1TMS320X2812的片内资源36

2.1.1TMS320X2812的性能38

2.1.2TMS320X2812的片内外设39

2.2TMS320X2812的引脚分布及引脚功能41

2.2.1TMS320X2812的引脚分布41

2.2.2TMS320X2812的引脚功能42

第3章TMS320X281x的硬件设计51

3.1如何保证X2812系统的正常工作51

3.2常用硬件电路的设计52

3.2.1TMS320X2812最小系统设计52

3.2.2电源电路的设计52

3.2.3复位电路及JATG下载口电路的设计52

3.2.4外扩RAM的设计53

3.2.5外扩Flash的设计55

3.2.6PWM电路的设计56

3.2.7串口电路的设计56

3.2.8A/D保护及校正电路的设计57

3.2.9CAN电路的设计58

3.3D/A电路的设计以及波形发生器的实现59

第4章如何构建一个完整的工程61

4.1一个完整的工程由哪些文件构成61

4.1.1头文件63

4.1.2库文件67

4.1.3源文件69

4.1.4CMD文件69

4.2通用扩展语言GEL69

4.2.1GEL语法71

4.2.2GEL函数71

4.2.3GEL语句73

4.2.4加载或卸载GEL函数75

4.2.5使用关键字在GEL菜单中添加GEL函数76

4.2.6CCS自带的GEL函数79

4.2.7解读c2812.gel文件88

4.2.8体验有趣的GEL函数90

4.3手把手教你创建新的工程92

第5章CCS3.3的常用操作97

5.1了解CCS3.3的布局和结构97

5.2编辑代码时的常用操作98

5.2.1创建新的工程99

5.2.2打开已存在的工程100

5.2.3新建一个文件101

5.2.4向工程添加文件102

5.2.5移除工程中的文件103

5.2.6给工程添加库文件104

5.2.7查找变量105

5.2.8替换变量106

5.2.9查看源码107

5.3编辑完成后常用的操作107

5.3.1生成可执行代码107

5.3.2链接目标板上的DSP108

5.3.3将可执行文件下载入DSP109

5.3.4运行、暂停程序110

5.4调试时常用的操作111

5.4.1添加、移除断点111

5.4.2单步调试112

5.4.3使用Watch

Window观察变量114

5.4.4保存并导出变量的值116

5.4.5观察指定存储空间内的数据118

5.4.6统计代码的运行时间119

5.4.7在CCS3.3中显示图形121

第6章使用C语言操作DSP的寄存器127

6.1寄存器的C语言访问127

6.1.1了解SCI的寄存器127

6.1.2使用位定义的方法定义寄存器129

6.1.3声明共同体131

6.1.4创建结构体文件132

6.2寄存器文件的空间分配134

第7章存储器的结构、映像及CMD文件的编写137

7.1存储器相关的总线知识137

7.2F2812的存储器139

7.2.1F2812存储器的结构139

7.2.2F2812存储器映像139

7.2.3F2812的各个存储器模块的特点143

7.3CMD文件146

7.3.1COFF格式和段的概念146

7.3.2C语言生成的段147

7.3.3CMD文件的编写149

7.4外部接口XINTF155

7.4.1XINTF的存储区域156

7.4.2XINTF的时钟159

7.5手把手教你访问外部存储器159

7.5.1外部RAM空间数据读/写160

7.5.2外部Flash空间数据读/写163

第8章X281x的时钟和系统控制172

8.1振荡器OSC和锁相环PLL172

8.2X2812中各种时钟信号的产生173

8.3看门狗电路174

8.4低功耗模式176

8.5时钟和系统控制模块的寄存器176

8.6手把手教你写系统初始化函数181

第9章通用输入/输出多路复用器GPIO184

9.1GPIO多路复用器184

9.1.1GPIO的寄存器184

9.1.2GPIO寄存器位与I/O引脚的对应关系189

9.2手把手教你使用GPIO引脚控制LED灯闪烁193

第10章CPU定时器198

10.1CPU定时器工作原理198

10.2CPU定时器寄存器200

10.3分析CPU定时器的配置函数203

第11章X2812的中断系统206

11.1什么是中断206

11.2X2812的CPU中断207

11.2.1CPU中断的概述207

11.2.2CPU中断向量和优先级208

11.2.3CPU中断的寄存器210

11.2.4可屏蔽中断的响应过程212

11.3X2812的PIE中断213

11.3.1PIE中断概述214

11.3.2PIE中断寄存器215

11.3.3PIE中断向量表218

11.4X281x的三级中断系统分析223

11.5成功实现中断的必要步骤226

11.6手把手教你使用CPU定时器0的周期中断来控制LED灯的闪烁228

第12章事件管理器EV233

12.1事件管理器的功能233

12.2通用定时器236

12.2.1通用定时器的时钟238

12.2.2通用定时器的计数模式239

12.2.3通用定时器的中断事件242

12.2.4通用定时器的同步243

12.2.5通用定时器的比较操作和PWM波244

12.2.6通用定时器的寄存器247

12.3比较单元与PWM电路252

12.3.1全比较单元253

12.3.2带有死区控制的PWM电路254

12.3.3比较单元的中断事件257

12.3.4比较单元的寄存器257

12.4捕获单元263

12.4.1捕获单元的结构264

12.4.2捕获单元的操作264

12.4.3捕获单元的中断事件266

12.4.4捕获单元的寄存器267

12.5正交编码电路270

12.6事件管理器的中断及其寄存器273

12.7手把手教你产生PWM波形280

12.7.1输出占空比固定的PWM波形280

12.7.2输出占空比可变的PWM波形286

第13章模/数转换器ADC291

13.1X281x内部的ADC模块291

13.1.1ADC模块的特点293

13.1.2ADC的时钟频率和采样频率295

13.2ADC模块的工作方式297

13.2.1双序列发生器模式下顺序采样299

13.2.2双序列发生器模式下并发采样302

13.2.3级联模式下的顺序采样304

13.2.4级联模式下的并发采样307

13.2.5序列发生器连续自动序列化模式和启动/停止模式308

13.3ADC模块的中断309

13.4ADC模块的寄存器312

13.5手把手教你写ADC采样程序320

13.6ADC模块采样校正技术324

13.6.1ADC校正的原理325

13.6.2ADC校正的措施326

13.6.3手把手教你写ADC校正的软件算法327

第14章串行通信接口SCI335

14.1SCI模块的概述335

14.1.1SCI模块的特点336

14.1.2SCI模块信号总结337

14.2SCI模块的工作原理337

14.2.1SCI模块发送和接收数据的工作原理338

14.2.2SCI通信的数据格式339

14.2.3SCI通信的波特率340

14.2.4SCI模块的FIFO队列341

14.2.5SCI模块的中断342

14.3SCI多处理器通信模式344

14.3.1地址位多处理器通信模式345

14.3.2空闲线多处理器通信模式345

14.4SCI模块的寄存器346

14.5手把手教你写SCI发送和接收程序356

14.5.1查询方式实现数据的发送和接收357

14.5.2中断方式实现数据的发送和接收363

14.5.3采用FIFO来实现数据的发送和接收368

第15章串行外设接口SPI375

15.1SPI模块的通用知识375

15.2X281x

SPI模块的概述377

15.2.1SPI模块的特点378

15.2.2SPI的信号总结378

15.3SPI模块的工作原理379

15.3.1SPI主从工作方式380

15.3.2SPI数据格式382

15.3.3SPI波特率383

15.3.4SPI时钟配置384

15.3.5SPI的FIFO队列385

15.3.6SPI的中断386

15.4SPI模块的寄存器387

15.5手把手教你写SPI通信程序395

第16章增强型控制器局域网通信接口eCAN401

16.1CAN总线的概述401

16.1.1什么是CAN401

16.1.2CAN是怎样发展起来的402

16.1.3CAN是怎样工作的402

16.1.4CAN有哪些特点403

16.1.5什么是标准格式CAN和扩展格式CAN404

16.2CAN2.0B协议404

16.2.1CAN总线帧的格式和类型404

16.2.2CAN总线通信错误处理410

16.2.3CAN总线的位定时要求411

16.2.4CAN总线的位仲裁412

16.3X281x

eCAN模块的概述413

16.3.1eCAN模块的结构413

16.3.2eCAN模块的特点415

16.3.3eCAN模块的存储空间415

16.3.4eCAN模块的邮箱416

16.4X281x

eCAN模块的寄存器419

16.5X281x

eCAN模块的配置434

16.5.1波特率的配置434

16.5.2邮箱初始化的配置435

16.5.3消息的发送操作437

16.5.4消息的接收操作437

16.6eCAN模块的中断439

16.7手把手教你实现CAN通信442

16.7.1手把手教你实现CAN消息的发送442

16.7.2手把手教你实现CAN消息的接收(中断方式)447

第17章基于HDSPSuper2812的开发实例451

17.1谈谈通常项目的开发过程451

17.2设计一个有趣的时钟日期程序452

17.2.1硬件设计453

17.2.2软件设计(含I2C接口程序)453

17.3设计一个SPWM程序464

17.3.1原理分析464

17.3.2软件设计466

17.4代码烧写入Flash固化470

参考文献473