第1章 绪论 1
1.1 TMS320系列DSP芯片 2
1.2 TMS320C28xx系列DSP芯片简介 3
1.3 TMS320F281x系列DSP芯片 6
1.3.1 TMS320F281x的功能和特点 6
1.3.2 TMS320F281x的主要外设模块 8
1.3.3 TMS320F281x芯片的封装 10
1.4 基于DSP的运动控制系统 11
1.4.1 数字控制系统 11
1.4.2 运动控制技术 13
1.4.3 基于TMS320F281x的运动控制系统 13
习题与思考题 14
第2章 系统控制及中断 15
2.1 时钟及系统控制 15
2.1.1 时钟概述 15
2.1.2 振荡器与基于锁相环的时钟模块 16
2.1.3 外设时钟的配置 19
2.1.4 低功耗模式 20
2.1.5 看门狗 22
2.2 CPU定时器 25
2.3 通用数字I/O 29
2.3.1 GPIO概述 29
2.3.2 GPIO寄存器 32
2.4 外设中断扩展模块 33
2.4.1 PIE控制器概述 34
2.4.2 中断向量表的映射 36
2.4.3 中断源及其响应过程 37
2.4.4 PIE中断向量表 39
2.4.5 定时器0中断举例 43
习题与思考题 45
第3章 存储器及外部接口 46
3.1 片内存储器接口 46
3.1.1 CPU内部总线 46
3.1.2 32位数据访问的地址分配 48
3.2 存储器映射 48
3.3 片内Flash存储器 52
3.3.1 Flash存储器概述 52
3.3.2 Flash存储器空间分配 52
3.4 外部扩展接口 54
3.4.1 外部接口功能描述 54
3.4.2 XINTF的配置 56
3.4.3 配置建立、有效和保持阶段的等待状态 61
3.4.4 XINTF的寄存器 63
3.4.5 外部接口的DMA访问 66
3.5 外部接口的应用 67
3.5.1 扩展外部存储器 67
3.5.2 扩展D/A转换器 68
习题与思考题 69
第4章 串行通信接口 71
4.1 SCI模块 71
4.1.1 SCI模块概述 71
4.1.2 SCI模块的结构 72
4.1.3 SCI的通信格式 74
4.1.4 波特率设置 76
4.1.5 SCI的中断 77
4.1.6 SCI的FIFO操作 78
4.2 SCI模块的多处理器通信 79
4.2.1 多处理器通信概述. 79
4.2.2 空闲线多处理器模式 81
4.2.3 地址位多处理器模式 82
4.3 SCI的寄存器 83
4.4 SCI应用举例 90
4.4.1 标准串行总线接口 90
4.4.2 通信接口电路 93
4.4.3 SCI接口编程举例 94
习题与思考题 97
第5章 串行外设接口 98
5.1 SPI模块概述 98
5.2 SPI的操作模式 101
5.2.1 SPI的数据发送和接收 101
5.2.2 SPI的主/从操作模式 102
5.3 SPI模块的设置 103
5.3.1 SPI的数据格式 103
5.3.2 设置波特率和时钟模式 104
5.3.3 SPI的中断控制 106
5.3.4 SPI的初始化 106
5.3.5 数据传输举例 107
5.4 SPI的FIFO操作 108
5.5 SPI模块的寄存器 110
5.6 SPI模块应用举例 116
5.6.1 与温度传感器芯片ADT7301的接口 116
5.6.2 与D/A转换器MAX5253的接口 119
5.6.3 扩展多个SPI接口外设芯片 123
习题与思考题 124
第6章 增强型CAN控制器 125
6.1 eCAN模块概述 126
6.2 eCAN网络与功能模块 127
6.2.1 CAN协议概述 127
6.2.2 eCAN控制器 128
6.2.3 消息邮箱 131
6.3 eCAN模块的寄存器 134
6.4 eCAN模块的配置与操作 156
6.4.1 CAN模块的初始化 156
6.4.2 eCAN模块的配置步骤 159
6.4.3 远程帧邮箱的处理 162
6.4.4 CAN模块的中断操作 163
6.4.5 CAN模块的掉电模式 168
6.5 eCAN模块的应用 169
6.5.1 CAN网络接口 169
6.5.2 eCAN模块应用举例 170
习题与思考题 175
第7章 事件管理器 176
7.1 事件管理器概述 176
7.2 通用定时器 182
7.2.1 通用定时器概述 182
7.2.2 通用定时器的功能模块 183
7.2.3 通用定时器的计数操作 189
7.2.4 通用定时器的比较操作 192
7.2.5 应用通用定时器产生PWM信号 196
7.3 比较单元及PWM电路 198
7.3.1 全比较单元 199
7.3.2 与比较单元相关的PWM电路 202
7.3.3 PWM波形的产生 206
7.3.4 空间矢量PWM波形的产生 209
7.3.5 应用事件管理器产生PWM波形 211
7.4 捕获单元 213
7.4.1 捕获单元的结构 214
7.4.2 捕获单元的操作 215
7.4.3 正交编码脉冲电路 217
7.5 事件管理器的中断 220
7.5.1 事件管理器的中断概述 220
7.5.2 事件管理器的中断寄存器 222
习题与思考题 224
第8章 A/D转换模块 225
8.1 A/D转换模块概述 225
8.2 自动转换排序器的工作原理 227
8.3 ADC模块的转换操作 231
8.3.1 排序器的连续排序模式 231
8.3.2 排序器的启动-停止模式 233
8.3.3 启动A/D转换的触发源 234
8.3.4 排序转换时的中断操作 235
8.4 ADC时钟的预定标 237
8.5 低功耗模式与上电次序 237
8.6 ADC模块的寄存器 239
8.7 ADC模块应用举例 245
习题与思考题 247
第9章 DSP系统硬件设计基础 249
9.1 DSP系统设计概述 249
9.2 DSP最小系统设计 253
9.2.1 DSP最小系统组成 253
9.2.2 时钟电路 254
9.2.3 电源与复位电路 254
9.2.4 JTAG仿真接口 256
9.2.5 3.3V与5V混合逻辑系统设计 259
9.3 基于TMS320F2812的实验开发系统 260
9.3.1 实验开发系统概述 260
9.3.2 DSP实验系统的硬件设置 261
习题与思考题 265
第10章 TMS320C28x的软件开发 266
10.1 TMS320C28x的C语言编程基础 266
10.1.1 数据类型 266
10.1.2 外设寄存器的位域结构定义 267
10.1.3 编译预处理 270
10.1.4 在C语言中嵌入汇编语言 272
10.1.5 关键字 273
10.1.6 pragma伪指令 276
10.1.7 如何分配段至存储器中 277
10.1.8 链接命令文件 279
10.2 典型的C工程文件 280
10.2.1 典型的工程文件组成 280
10.2.2 软件执行流程 287
10.2.3 软件开发流程 289
10.3 从片内Flash运行应用程序 290
10.3.1 将段链接至存储器 290
10.3.2 将段从Flash复制至RAM 291
10.3.3 复位后如何从Flash中运行程序 295
10.3.4 在引导过程如何屏蔽看门狗定时器 296
10.3.5 从Flash引导的链接命令文件实例 297
10.3.6 设置引导模式 300
习题与思考题 300
第11章 无刷直流电机控制 301
11.1 无刷直流电动机的工作原理 301
11.1.1 基本组成 301
11.1.2 工作原理 303
11.1.3 数学模型 305
11.2 基于F281x的无刷直流电机控制系统 307
11.2.1 无刷直流电机控制系统概述 307
11.2.2 硬件结构 308
11.2.3 软件设计 310
11.3 陀螺仪壳体翻滚装置设计 317
11.3.1 系统组成 318
11.3.2 轨迹规划 318
11.3.3 控制系统分析与仿真 320
11.3.4 实验结果及分析 321
习题与思考题 322
附录A F281x系列DSP芯片的引脚信号 324
附录B DSP实验装置电路原理图 327
附录C 部分英文缩写 333
参考文献 336