第1章 绪论 1
1.1 DSP概述 1
1.1.1 DSP的发展 1
1.1.2 DSP的特点 2
1.1.3 DSP的选型 2
1.1.4 TI公司的DSP 4
1.2 DSP的典型应用 5
1.3 DSP的发展 5
1.4 DSP系统开发 6
1.4.1 系统的需求分析 7
1.4.2 系统的基本结构 7
1.4.3 系统开发 8
第2章 CCS软件应用基础2.1 CCS介绍 12
2.2 Code Composer Studio3.1的安装与配置 12
2.2.1 Code Composer Studio3.1的安装 12
2.2.2 目标系统配置 13
2.2.3 启动GEL文件 15
2.2.4 主机开发环境设置 16
2.3 Step-by-Step简单应用 17
2.3.1 CCS常用工具 17
2.3.2 简单程序开发 18
2.4 代码创建 19
2.4.1 新建一个工程 19
2.4.2 工程配置 21
2.5 CCS3.1基本应用 21
2.5.1 编辑源程序 22
2.5.2 查看和编辑代码 23
2.5.3 查找替换文字 23
2.5.4 书签的使用 24
2.5.5 全速运行(Running)/单步运行(Step Run) 24
2.5.6 断点设置 26
2.5.7 探针的使用 28
2.5.8 观察窗口 30
2.6 分析和调整 31
2.6.1 应用代码分析 32
2.6.2 应用代码优化 33
第3章 C/C++程序编写基础3.1 C/C++编辑器概述 34
3.1.1 C/C++语言的主要特征 34
3.1.2 输出文件 34
3.1.3 编译器接口 35
3.1.4 编译器操作 35
3.1.5 编译器工具 37
3.2 TMS320X28xx的C/C++编程 37
3.2.1 概述 37
3.2.2 传统的宏定义方法 37
3.2.3 位定义和寄存器文件结构方法 39
3.2.4 位区和寄存器文件结构体的优点 45
3.2.5 使用位区的代码大小及运行效率 46
3.3 C/C++语言与汇编混合编程 49
3.4 TMS320X28xx定点处理器算法实现 57
3.4.1 定点与浮点处理器比较 57
3.4.2 采用Iqmath库函数实现定点处理器的运算 58
第4章 TMS320X28xx系列DSP综述4.1 TMS320X28xx系列DSP内核特点 73
4.2 TMS320X28xx系列DSP比较 75
4.2.1 工作频率和供电 77
4.2.2 存储器 77
4.2.3 外设 78
4.3 TMS320X28xx处理器外设功能介绍 79
4.3.1 事件管理器(281x处理器) 80
4.3.2 ePWM、eCAP、eQEP(F2808、F2806、F2801处理器) 80
4.3.3 A/D转换模块 82
4.3.4 SPI外设接口 82
4.3.5 SCI通信接口 83
4.3.6 CAN总线通信模块 83
4.3.7 看门狗 83
4.3.8 通用目的数字量I/O 84
4.3.9 PLL时钟模块 84
4.3.10 多通道缓冲串口 84
4.3.11 外部中断接口 84
4.3.12 存储器及其接口 84
4.3.13 内部集成电路(I2C) 85
4.4 TMS320X28xx的应用领域 85
第5章 双供电DSP电源设计5.1 总线冲突 86
5.2 内核和I/O供电次序控制策略 87
5.2.1 3.3 V单电源上电次序控制 87
5.2.2 输入电压大于3.3 V的上电次序控制 92
5.3 TMS320F28xx电源设计 94
第6章 TMS320F2812的时钟及看门狗6.1 时钟单元 95
6.1.1 时钟单元基本结构 95
6.1.2 锁相环电路 96
6.1.3 时钟单元寄存器 98
6.2 看门狗 101
6.2.1 看门狗的基本结构 101
6.2.2 看门狗基本操作 101
6.2.3 看门狗寄存器 103
6.2.4 看门狗应用 105
第7章 可编程数字量通用I/O7.1 功能概述 108
7.2 端口配置 109
7.3 数字量I/O寄存器及其应用 111
7.3.1 I/O复用寄存器及其应用 111
7.3.2 I/O数据寄存器及其应用 117
7.4 数字量I/O应用举例 119
第8章 中断系统及其应用8.1 中断概述及中断源 122
8.2 PIE中断扩展 123
8.2.1 外设级中断 125
8.2.2 PIE级中断 125
8.2.3 CPU级中断 126
8.3 中断向量 126
8.3.1 中断向量的分配 126
8.3.2 中断向量的映射方式 127
8.4 可屏蔽中断处理 134
8.4.1 中断标志设置(产生中断) 134
8.4.2 中断使能(单独使能中断) 134
8.4.3 全局使能(全局使能中断) 135
8.5 定时器中断应用举例 135
8.5.1 定时器基本操作 135
8.5.2 定时器寄存器 136
8.6 定时器中断应用举例 139
第9章 事件管理器及其应用 139
9.1 事件管理器概述 143
9.2 通用定时器 144
9.2.1 通用定时器计数模式 145
9.2.2 定时器的比较操作 147
9.2.3 通用定时器寄存器 154
9.3 比较单元及PWM输出 159
9.3.1 比较单元功能介绍 159
9.3.2 PWM信号 160
9.3.3 与比较器相关的PWM电路 161
9.3.4 PWM输出逻辑及死区控制 162
9.3.5 PWM信号的产生 164
9.3.6 比较单元寄存器 169
9.4 捕获单元 175
9.4.1 捕获单元的应用 175
9.4.2 捕获单元的结构 176
9.4.3 捕获单元的操作 176
9.4.4 捕获单元相关寄存器 178
9.5 正交编码脉冲单元 180
9.5.1 光电编码器原理 180
9.5.2 正交编码脉冲单元结构及其接口 181
9.5.3 QEP电路时钟 182
9.5.4 QEP的解码 182
9.5.5 QEP电路的寄存器设置 183
9.5.6 QEP电路应用 183
9.6 事件管理器中断 185
9.6.1 中断产生及中断矢量 187
9.6.2 定时器的中断 187
9.6.3 捕获中断 188
9.6.4 中断寄存器 188
9.7 事件管理器应用举例 192
第10章 SPI接口及其应用 192
10.1 SPI模块功能概述 200
10.2 SPI的数据传输 202
10.2.1 主控制器模式 203
10.2.2 从设备模式 204
10.2.3 FIFO操作 204
10.3 SPI寄存器 205
10.3.1 SPI配置控制寄存器(SPICCR) 205
10.3.2 SPI操作控制寄存器(SPICTL) 207
10.3.3 SPI状态寄存器(SPISTS) 208
10.3.4 SPI波特率设置寄存器(SPIBRR) 209
10.3.5 SPI仿真缓冲寄存器(SPIRXEMU) 210
10.3.6 SPI串行接收缓冲寄存器(SPIRXBUF) 211
10.3.7 SPI串行发送缓冲寄存器(SPITXBUF) 211
10.3.8 SPI串行数据寄存器(SPIDAT) 212
10.3.9 SPIFFTX寄存器 213
10.3.10 SPIFFRX寄存器 214
10.3.11 SPIFFCT寄存器 215
10.3.12 SPI优先级控制寄存器(SPIPRI) 215
10.4 应用实例 216
第11章 eCAN总线及其应用11.1 CAN总线概述 222
11.1.1 CAN总线特点 222
11.1.2 CAN总线数据格式 223
11.1.3 CAN总线的协议 225
11.2 C28x的eCAN模块介绍 228
11.2.1 eCAN总线模块概述 228
11.2.2 eCAN总线模块特点 229
11.3 eCAN总线模块的使用 232
11.3.1 eCAN模块初始化 232
11.3.2 消息发送 250
11.3.3 消息接收 254
11.3.4 过载情况的处理 260
11.3.5 远程帧邮箱的处理 261
11.3.6 CAN模块中断及其应用 263
11.3.7 eCAN模块定时器管理 272
11.3.8 CAN模块的掉电模式 275
11.4 CAN总线应用举例 276
11.4.1 消息发送例程 277
11.4.2 消息接收例程 282
第12章 SCI接口应用12.1 SCI接口特点 286
12.2 SCI数据格式 288
12.3 SCI增强功能 291
12.3.1 SCI的16级FIFO缓冲 291
12.3.2 SCI自动波特率检测 292
12.3.3 多处理器通信 293
12.4 SCI接口应用 296
12.4.1 硬件设计 296
12.4.2 SCI寄存器 297
12.4.3 SCI初始化 298
12.4.4 SCI发送数据 304
12.5 接收发送数据 317
第13章 A/D转换单元13.1 A/D转换单元概述 329
13.2 排序器操作 331
13.2.1 排序器操作方式 332
13.2.2 排序器的启动/停止模式 345
13.2.3 输入触发源 346
13.2.4 排序转换的中断操作 346
13.3 ADC的时钟控制 348
13.4 ADC参考电压 349
13.5 ADC单元寄存器 350
13.5.1 ADC模块控制寄存器1 350
13.5.2 ADC模块控制寄存器2 352
13.5.3 ADC模块控制寄存器3 355
13.5.4 最大转换通道寄存器(MAXCONV) 357
13.5.5 自动排序状态寄存器(AUTO_SEQ_SR) 358
13.5.6 ADC状态和标志寄存器(ADC_ST_FLG) 359
13.5.7 ADC输入通道选择排序控制寄存器 361
13.5.8 ADC转换结果缓冲寄存器(RESULTn) 361
13.6 ADC应用举例 362
第14章 存储器应用及Boot引导模式14.1 F28xx映射空间概述 367
14.2 XINTF接口扩展 369
14.2.1 XINTF接口概述 369
14.2.2 XINTF接口操作 370
14.2.3 XINTF接口应用举例 371
14.3 Flash及其应用 372
14.3.1 Flash存储器特点 372
14.3.2 Flash存储器寻址空间分配 372
14.3.3 C28x启动顺序 373
14.3.4 Flash初始化 374
14.3.5 Flash编程 375
14.4 其他引导方式 381
14.4.1 处理器引导配置 381
14.4.2 C28x中断向量表 383
14.4.3 BOOTROM基本情况介绍 383
14.4.4 BootLoader数据流 384
14.4.5 BootLoader传输流程 386
14.4.6 初始引导汇编函数 386
14.4.7 SCI引导装载 387
14.4.8 并行GPIO装载 387
14.4.9 SPI引导模式 389