DSP芯片已成为现代信息处理技术的重要器件。何苏勤编著的《DSP系统与实验教程》以TMS320F2812为例介绍DSP的基本特点、硬件结构、中断系统和指令系统;详细介绍CCS开发环境和C语言在DSP芯片的编写特点和方法,以及芯片的外设接口模块。本书还介绍了DSP实验系统的电路设计,对10个应用实例进行详细分析,给出硬件设计电路图和C语言程序代码,并标有详细的程序说明,为读者快速应用DSP的知识进行应用开发和教学实验提供方便。本书系统性强,实验项目丰富,具有较强的实用性。全书将DSP芯片原理、结构和系统设计、实验融为一体,既方便读者掌握DSP的基础知识,也有利于读者进行DSP系统的项目开发。本书可以作为高等学校电类各专业的本科生和研究生的教材,同时也可作为DSP开发应用人员的参考书。本书免费提供C语言程序代码,读者可登录华信教育资源网。
DSP芯片已成为现代信息处理技术应用的重要器件。何苏勤编著的《DSP系统与实验教程》以TMS320F2812为例介绍了DSP的基本特点、硬件结构、中断系统和指令系统;详细介绍了CCS开发环境和c语言在DSP芯片的编写特点和方法,以及芯片的外设接口模块。《DSP系统与实验教程》还介绍了DSP实验开发系统的电路设计,对10个应用实例进行详细分析,给出硬件设计电路图和C语言程序代码,并标有详细的程序说明,为读者快速应用DSP的知识进行应用开发和教学实验提供方便。
本书系统性强,实验项目丰富,具有较强的实用性。全书将DSP芯片原理、结构和系统设计、实验融为一体,既方便读者掌握DSP的基础知识,也有利于读者进行DSP一系统的项目开发,可以作为高等学校电类各专业的本科生和研究生的教材,同时也可作为DSP开发应用人员的参考书。
第1章 绪 论 1
1.1 DSP的特点 1
1.2 DSP芯片分类 2
1.2.1 按基础特性分类 2
1.2.2 按用途分类 2
1.2.3 按数据格式分类 2
1.3 DSP的性能指标及选型 3
1.3.1 DSP的性能指标 3
1.3.2 DSP的选型 4
1.4 TI及其他公司的DSP 5
1.5 DSP开发方案的设计与选择 8
1.5.1 DSP的功能需求分析 8
1.5.2 算法的验证与模拟 8
1.5.3 DSP芯片及其开发工具的选择 9
1.5.4 DSP系统的软/硬件设计 9
1.5.5 系统的软/硬件调试 10
1.6 DSP软件开发的流程 10
1.7 DSP的应用和前景 10
第2章 TMS320F2812内部结构 13
2.1 TMS320F2812中央处理单元 14
2.1.1 TMS320F2812 CPU内部结构 14
2.1.2 TMS320F2812 CPU内部寄存器 15
2.1.3 TMS320F2812总线结构 21
2.2 TMS320F2812的存储器配置 23
2.2.1 TMS320F2812存储器的类型及映射空间 24
2.2.2 TMS320F2812的片内存储器配置 26
2.2.3 TMS320F2812外部存储器扩展及其接口 27
2.2.4 TMS320F2812 FLASH存储器 28
2.3 TMS320F2812的引导加载方式 29
2.3.1 Boot ROM基本原理 29
2.3.2 引导加载程序BootLoader的工作原理 30
2.4 TMS320F2812的时钟及系统控制 31
2.4.1 TMS320F2812系统时钟寄存器组 31
2.4.2 TMS320F2812晶体振荡器OSC与锁相环PLL时钟模块 35
2.4.3 TMS320F2812 CPU定时器 37
2.4.4 TMS320F2812看门狗定时器模块及其应用 41
2.4.5 TMS320F2812的低功耗模式 44
第3章 TMS320F2812中断系统 48
3.1 TMS320F2812中断的基本原理与结构 48
3.2 PIE中断扩展 49
3.3 中断向量表 51
3.3.1 中断向量的分配 51
3.3.2 中断向量表的映射 52
3.4 可屏蔽中断 58
3.5 非屏蔽中断 59
3.6 中断服务程序 61
第4章 TMS320F2812指令系统与汇编程序设计 65
4.1 寻址方式 65
4.1.1 寻址方式选择位(AMODE) 65
4.1.2 立即寻址方式 66
4.1.3 寄存器寻址方式 66
4.1.4 直接寻址方式 67
4.1.5 间接寻址方式 68
4.1.6 堆栈寻址方式 70
4.1.7 其他寻址方式 71
4.2 指令系统 73
4.2.1 指令系统概述 73
4.2.2 TMS320F2812指令系统 73
4.2.3 指令系统列表 73
4.2.4 TMS320F2812指令集中部分指令简介 74
4.3 汇编语言 77
4.3.1 汇编语言格式 77
4.3.2 伪指令 78
4.3.3 通用目标文件格式 79
4.3.4 链接器与链接命令文件 80
第5章 C语言程序编写基础 83
5.1 C编译器概述 83
5.1.1 C语言的主要特征 83
5.1.2 C编译器输出文件 84
5.1.3 C编译器接口 84
5.1.4 C编译器操作 85
5.1.5 C编译器工具 86
5.2 C语言编程基础 86
5.2.1 C语言数据类型 86
5.2.2 C语言关键词 87
5.2.3 TMS320F2812伪指令 91
5.2.4 使用C语言编写DSP程序的注意事项 92
5.2.5 C语言开发中工程模板文件 93
5.2.6 传统的#define方法 99
5.3 C语言和汇编语言的混合编程方法 101
5.3.1 混合编程概述 101
5.3.2 C/C++语言与汇编混合编程 103
5.4 C程序举例 103
第6章 DSP系统开发环境CCS 105
6.1 CCS的安装与配置 105
6.1.1 CCS 3.3系统的安装 105
6.1.2 系统配置 106
6.2 初识CCS 107
6.2.1 CCS的组成 107
6.2.2 CCS的集成开发环境功能说明 114
6.2.3 CCS的常用工具 119
6.2.4 简单程序开发流程 120
6.3 CCS的C语言程序调试实例 127
第7章 通用输入/输出及事件管理模块 130
7.1 通用输入/输出(GPIO)多路复用器 130
7.1.1 GPIO多路复用器工作原理 130
7.1.2 GPIO多路复用器的寄存器 130
7.2 事件管理器(EV)模块 134
7.2.1 通用定时器(GPT) 136
7.2.2 全比较单元和脉宽调制电路(PWM) 146
7.2.3 捕获单元 158
7.2.4 正交编码脉冲(QEP)电路 162
7.2.5 事件管理器(EV)模块的中断 164
第8章 模/数转换模块与串行接口模块 170
8.1 模/数转换器(ADC) 170
8.1.1 ADC模块的结构特征 170
8.1.2 自动排序器的工作原理 172
8.1.3 ADC模块的工作方式 176
8.1.4 ADC模块中的寄存器 178
8.2 串行通信接口(SCI)模块 185
8.2.1 SCI模块的结构特征 186
8.2.2 多处理器和异步通信模式 187
8.2.3 SCI的传输方式 189
8.2.4 SCI中断 190
8.2.5 SCI波特率计算 190
8.2.6 SCI的FIFO 191
8.2.7 SCI模块寄存器 192
8.3 串行外设接口(SPI)模块 201
8.3.1 串行外设接口(SPI)的结构和特点 201
8.3.2 SPI的操作 203
8.3.3 SPI的中断 204
8.3.4 SPI的配置 205
8.3.5 SPI FIFO说明 206
8.3.6 SPI的初始化 207
8.3.7 SPI模块的寄存器 208
第9章 eCAN总线及F2812的eCAN模块 216
9.1 F2812的eCAN模块结构特点 216
9.2 F2812的eCAN模块消息邮箱的结构 217
9.3 F2812的eCAN模块的初始化 220
9.4 F2812的eCAN模块的中断 223
9.5 F2812的eCAN模块的寄存器 225
第10章 DSP实验开发系统设计及实验指导 251
10.1 DSP实验开发系统设计 251
10.1.1 DSP最小系统板设计 251
10.1.2 SCI串行通信模块设计 254
10.1.3 CAN总线接口 255
10.1.4 语音模块设计 256
10.1.5 电机控制模块设计 256
10.1.6 模拟信号产生模块设计 258
10.1.7 D/A转换模块设计 259
10.1.8 键盘—显示模块设计 260
10.1.9 DSP实验系统使用说明 260
10.2 实验一 DSP实验装置和CCS的使用实验 261
10.3 实验二 I/O(输入/输出)端口实验 263
10.4 实验三 事件捕获实验 267
10.5 实验四 PWM电路控制步进电机转动 271
10.6 实验五 A/D-D/A转换实验 278
10.7 实验六 定时器触发ADC转换实验 281
10.8 实验七 SCI异步串行通信实验 285
10.9 实验八 SPI串行同步模块双机通信实验 288
10.10 实验九 语音信号传输实验 292
10.11 实验十 eCAN邮箱自收发模式通信实验 297
附录A 305
附录B 316
参考文献 323