第1章 绪论 1
1.1 TMS320系列DSP芯片 2
1.2 TMS320C28x系列DSP芯片简介 3
1.3 TMS320F281x系列DSP芯片 7
1.3.1 TMS320F281x的功能和特点 7
1.3.2 TMS320F281x的主要外设模块 9
1.3.3 TMS320F281x芯片的封装 11
1.4 基于DSP的运动控制系统 12
1.4.1 数字控制系统 12
1.4.2 运动控制技术 13
1.4.3 基于TMS320F281x的运动控制系统 14
习题与思考题 15
第2章 系统控制及中断 16
2.1 时钟及系统控制 16
2.1.1 时钟概述 16
2.1.2 振荡器与基于锁相环的时钟模块 17
2.1.3 外设时钟的配置 20
2.1.4 低功耗模式 21
2.1.5 看门狗 23
2.2 CPU定时器 26
2.3 通用数字I/O 30
2.3.1 GPIO概述 30
2.3.2 GPIO寄存器 33
2.4 外设中断扩展模块 34
2.4.1 PIE控制器概述 35
2.4.2 中断向量表的映射 37
2.4.3 中断源及其响应过程 38
2.4.4 PIE中断向量表 40
2.4.5 定时器0中断举例 44
习题与思考题 46
第3章 存储器及外部接口 47
3.1 片内存储器接口 47
3.1.1 CPU内部总线 47
3.1.2 32位数据访问的地址分配 49
3.2 存储器映射 49
3.3 片内Flash存储器 53
3.3.1 Flash存储器概述 53
3.3.2 Flash存储器空间分配 53
3.4 外部扩展接口 55
3.4.1 外部接口功能描述 55
3.4.2 XINTF的配置 57
3.4.3 配置建立、有效和保持阶段的等待状态 62
3.4.4 XINTF的寄存器 64
3.4.5 外部接口的DMA访问 67
3.5 外部接口的应用 68
3.5.1 扩展外部存储器 68
3.5.2 扩展D/A转换器 69
习题与思考题 70
第4章 串行通信接口 72
4.1 SCI模块 73
4.1.1 SCI模块概述 73
4.1.2 SCI模块的结构 74
4.1.3 SCI的通信格式 75
4.1.4 波特率设置 77
4.1.5 SCI的中断 78
4.1.6 SCI的FIFO操作 79
4.2 SCI模块的多处理器通信 80
4.2.1 多处理器通信概述 80
4.2.2 空闲线多处理器模式 82
4.2.3 地址位多处理器模式 83
4.3 SCI的寄存器 84
4.4 SCI应用举例 91
4.4.1 标准串行总线接口 91
4.4.2 通信接口电路 94
4.4.3 SCI接口编程举例 95
4.4.4 SCI通信软件设计 98
习题与思考题 100
第5章 串行外设接口 101
5.1 SPI模块概述 101
5.2 SPI的操作模式 104
5.2.1 SPI的数据发送和接收 104
5.2.2 SPI的主/从操作模式 105
5.3 SPI模块的设置 106
5.3.1 SPI的数据格式 106
5.3.2 设置波特率和时钟模式 107
5.3.3 SPI的中断控制 109
5.3.4 SPI的初始化 109
5.3.5 数据传输举例 110
5.4 SPI的FIFO操作 111
5.5 SPI模块的寄存器 113
5.6 SPI模块应用举例 119
5.6.1 与温度传感器芯片ADT7301的接口 119
5.6.2 与D/A转换器MAX5253的接口 122
5.6.3 扩展多个SPI接口外设芯片 126
习题与思考题 127
第6章 增强型CAN控制器 128
6.1 eCAN模块概述 129
6.2 eCAN网络与功能模块 130
6.2.1 CAN协议概述 130
6.2.2 eCAN控制器 131
6.2.3 消息邮箱 134
6.3 eCAN模块的寄存器 137
6.4 eCAN模块的配置与操作 159
6.4.1 CAN模块的初始化 159
6.4.2 eCAN模块的配置步骤 162
6.4.3 远程帧邮箱的处理 165
6.4.4 CAN模块的中断操作 166
6.4.5 CAN模块的掉电模式 171
6.5 eCAN模块的应用 172
6.5.1 CAN网络接口 172
6.5.2 eCAN模块应用举例 173
6.5.3 eCAN模块点对点通信举例 178
习题与思考题 180
第7章 事件管理器 181
7.1 事件管理器概述 181
7.2 通用定时器 187
7.2.1 通用定时器概述 187
7.2.2 通用定时器的功能模块 187
7.2.3 通用定时器的计数操作 194
7.2.4 通用定时器的比较操作 197
7.2.5 应用通用定时器产生PWM信号 201
7.3 比较单元及PWM电路 203
7.3.1 全比较单元 204
7.3.2 与比较单元相关的PWM电路 207
7.3.3 PWM波形的产生 211
7.3.4 空间矢量PWM波形的产生 214
7.3.5 应用事件管理器产生PWM波形 216
7.4 捕获单元 218
7.4.1 捕获单元的结构 219
7.4.2 捕获单元的操作 220
7.4.3 正交编码脉冲电路 222
7.5 事件管理器的中断 225
7.5.1 事件管理器的中断概述 225
7.5.2 事件管理器的中断寄存器 227
习题与思考题 229
第8章 A/D转换模块 230
8.1 A/D转换模块概述 230
8.2 自动转换排序器的工作原理 232
8.3 ADC模块的转换操作 236
8.3.1 排序器的连续排序模式 236
8.3.2 排序器的启动-停止模式 238
8.3.3 启动A/D转换的触发源 239
8.3.4 排序转换时的中断操作 240
8.4 ADC时钟的预定标 242
8.5 低功耗模式与上电次序 242
8.6 ADC模块的寄存器 244
8.7 ADC模块应用举例 250
习题与思考题 252
第9章 DSP系统硬件设计基础 254
9.1 DSP系统设计概述 254
9.2 DSP最小系统设计 258
9.2.1 DSP最小系统组成 258
9.2.2 时钟电路 259
9.2.3 电源与复位电路 259
9.2.4 JTAG仿真接口 261
9.2.5 3.3V与5V混合逻辑系统设计 264
9.3 基于TMS320F2812的实验开发系统 265
9.3.1 实验开发系统概述 265
9.3.2 DSP实验系统的硬件设置 266
习题与思考题 270
第10章 TMS320C28x的软件开发 271
10.1 TMS320C28x的C语言编程基础 271
10.1.1 数据类型 271
10.1.2 外设寄存器的位域结构定义 272
10.1.3 编译预处理 275
10.1.4 在C语言中嵌入汇编语言 277
10.1.5 关键字 278
10.1.6 pragma伪指令 280
10.1.7 如何分配段至存储器中 281
10.1.8 链接命令文件 283
10.2 典型的C工程文件 284
10.2.1 典型的工程文件组成 284
10.2.2 软件执行流程 292
10.2.3 软件开发流程 293
10.3 从片内Flash运行应用程序 294
10.3.1 将段链接至存储器 294
10.3.2 将段从Flash复制至RAM 295
10.3.3 复位后如何从Flash中运行程序 299
10.3.4 在引导过程中如何屏蔽看门狗定时器 300
10.3.5 从Flash引导的链接命令文件实例 301
10.3.6 设置引导模式 303
习题与思考题 304
第11章 无刷直流电动机控制 305
11.1 无刷直流电动机的工作原理 305
11.1.1 基本组成 305
11.1.2 工作原理 307
11.1.3 数学模型 309
11.2 基于F281x的无刷直流电动机控制系统 311
11.2.1 无刷直流电动机控制系统概述 311
11.2.2 硬件结构 312
11.2.3 软件设计 314
11.3 陀螺仪壳体翻滚装置设计 321
11.3.1 系统组成 321
11.3.2 轨迹规划 322
11.3.3 控制系统分析与仿真 323
11.3.4 实验结果及分析 325
习题与思考题 326
第12章 陀螺稳定平台控制 327
12.1 陀螺稳定平台控制概述 327
12.1.1 稳定平台工作原理 327
12.1.2 平台控制系统组成 328
12.1.3 四环平台系统动力学模型 331
12.2 感应同步器测角系统 332
12.2.1 感应同步器的工作原理 332
12.2.2 测角系统硬件电路 335
12.2.3 测角系统软件设计 337
12.2.4 测角系统实验结果 338
12.3 光纤通信系统 339
12.3.1 光纤通信系统硬件组成 340
12.3.2 光纤通信系统软件设计 343
12.3.3 光通信系统实验结果 345
12.4 平台伺服控制系统 345
12.4.1 两相永磁同步力矩电动机的矢量控制 345
12.4.2 位置控制系统分析与设计 347
12.4.3 位置环数字控制器实现 350
12.4.4 平台稳定回路实验结果 354
习题与思考题 355
附录A F281x系列DSP芯片的引脚信号 356
附录B DSP实验装置电路原理图 359
附录C 部分英文缩写 365
参考文献 368