内容简介
《手把手教你学DSP:基于TMS320X281x(第2版)》以TMS320X281xDSP的开发为主线,采用生动的语言深入浅出地介绍与DSP开发相关的方方面面,包括DSP开发环境的搭建、新工程的建立、CCS3.3的使用、GEL文件与CMD文件的编写、硬件电路的设计、存储器的映像、三级中断系统以及TMS320X281x的各个外设模块的功能和使用。每部分内容都结合应用实例,手把手地讲解例程的编写过程,所有代码都标注有详细的中文注释,为读者快速熟悉并掌握DSP的开发方法和技巧提供了方便。相比第1版,《手把手教你学DSP:基于TMS320X281x(第2版)》主要更新了DSP仿真器在WIN7环境下的安装方面的内容。.
《手把手教你学DSP:基于TMS320X281x(第2版)》共享相关的资料,包括:所有实例的C语言程序代码、Flash烧写所需资源以及常用的一些调试工具软件,可以在HELLODSP论坛下载。
《手把手教你学DSP:基于TMS320X281x(第2版)》可供高等院校电子、通信、计算机、自动控制和电力电子技术等专业的本科和研究生作为“数字信号处理原理与应用”相关课程的教材或参考书,也可以作为数字信号处理器应用开发人员的参考书。
内页插图
目录
第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
前言/序言
手把手教你学DSP-基于TMS320X281x(第2版)自2011年4月出版第1版以来,转眼过了4年时间,今天迎来了改版,心里很是高兴,首先非常感谢北京航空航天大学出版社给了我这次机会,能让我有机会把所学的知识通过书本的形式与大家分享。
《手把手教你学DSP:基于TMS320X281x(第2版)》出版后,我陆续录制了与本书配套的教学视频,4年时间里,在优酷上的播放量已超过50万。看到本书能够受到大家的喜爱,我感到非常欣慰,同时也感到惭愧,因为自己水平有限,难免在书中出现一些小的错误,在读者的指正下,在第2版中做了更正。为了帮助读者能够更好地使用本书,能够更快地掌握TMS320F2812的相关知识,我开发了“C2000助手”软件。读者使用此软件,可以方便地查询到TMS320F2812的各个寄存器,不用再为查找寄存器而前后翻书。与本书相关的资源也都可以在此软件中找到。
《手把手教你学DSP:基于TMS320X281x(第2版)》的再版需要感谢编辑的辛勤付出,感谢东南大学博士生导师林明耀教授的悉心指导,需要感谢我的儿子顾徐晨小朋友、我的妻子徐丹以及所有关爱我的亲人和朋友。最后,感谢所有关心和支持南京傅立叶电子技术有限公司发展的用户、朋友和合作者们,正是有了你们的帮助,才有了我的成长。
顾卫钢
2015年5月于南京
手把手教你学DSP:基于TMS320X281x(第2版) 下载 mobi epub pdf txt 电子书 格式