第1章 TMS320F2833x的硬件架构 1
1.1 系统结构 1
1.1.1 总线系统 1
1.1.2 中央处理器单元CPU 2
1.1.3 数学运算单元 3
1.1.4 F2833x寄存器组 4
1.2 存储器配置 6
1.2.1 片上存储单元 7
1.2.2 片外存储单元(XINTF)的应用及注意事项 8
1.3 DMA控制器 18
1.3.1 DMA的数据传输 18
1.3.2 F2833x的DMA中断事件及寄存器配置 19
1.3.3 F2833x的DMA示例 22
1.4 轻松玩转硬件系统 29
第2章 片上初始化单元 34
2.1 时钟及控制 34
2.1.1 时钟的产生 34
2.1.2 F28335系统时钟的分配 36
2.1.3 F28335的看门狗电路 38
2.2 中断系统分析 42
2.2.1 中断系统的结构 42
2.2.2 可屏蔽中断处理 44
2.2.3 非屏蔽中断处理 46
2.2.4 外设中断扩展模块(PIE)的使用详解 47
2.2.5 非法中断产生原因及解决方案 51
2.2.6 中断嵌套之我见 51
2.2.7 中断应用分析 56
2.3 F2833x的低功耗模式 59
2.3.1 低功耗的分类及应用 59
2.3.2 低功耗模式程序分析 61
2.4 F2833x的CPU定时器 64
2.4.1 基础结构及原理 64
2.4.2 定时器的应用设计 66
2.5 通用IO原理及应用 67
2.5.1 GPIO功能结构 67
2.5.2 GPIO的示例详解 70
2.5.3 GPIO常见问题 73
2.6 寄存器的保护 76
2.7 轻松玩转软件系统 77
2.7.1 如何在CCS6.0下新建一个F28335的工程 77
2.7.2 CCS6.0导入工程 81
2.7.3 CCS浮点运算性能优化 83
2.7.4 CCS及Code Generation常见问题 84
第3章 程序应用语言 88
3.1 C语言编程基础 88
3.1.1 F28335的C语言数据类型 88
3.1.2 几个重要的关键字 89
3.1.3 C语言程序渐进示例 90
3.1.4 F28x的8位寻址 96
3.2 链接器命令文件CMD 97
3.2.1 存储器映射说明及程序段放置 98
3.2.2 CMD常见问题 101
3.3 F2833x数据格式解析 103
3.3.1 IEEE754单精度浮点格式 104
3.3.2 整型数据格式 105
3.3.3 IQ数据格式 106
3.4 浮点运算的定点编程 108
3.4.1 定点-浮点数据的转换 108
3.4.2 IQMath库的使用 110
3.4.3 IQMath库的功能说明 112
第4章 F2833x片上控制类外设 125
4.1 增强型脉宽调制模块ePWM 125
4.1.1 PWM原理概述 125
4.1.2 时间基准子模块及应用 125
4.1.3 计数器比较子模块及应用 130
4.1.4 动作限定子模块 132
4.1.5 如何产生对称及非对称信号 138
4.1.6 死区子模块 139
4.1.7 斩波子模块 141
4.1.8 触发子模块 144
4.1.9 事件触发器子模块 146
4.2 增强型捕获模块eCAP 148
4.2.1 eCAP模块的捕获操作模式 148
4.2.2 辅助脉宽调制APWM操作模式 149
4.2.3 eCAP模块的寄存器 150
4.2.4 捕获及APWM操作模式示例 151
4.3 增强型QEP模块 154
4.3.1 QEP功能概述 154
4.3.2 eQEP模块结构单元 155
4.3.3 eQEP模块寄存器 160
4.4 模数转换器模块ADC 163
4.4.1 ADC模块构成 163
4.4.2 时钟及采样频率 163
4.4.3 ADC的4种工作模式 164
4.4.4 ADC模块校准及常见问题 167
4.4.5 ADC寄存器 168
4.4.6 ADC基本应用程序分析 174
4.5 轻松玩转片上控制类外设 176
4.5.1 三相桥式电路的SPWM发波 176
4.5.2 SVPWM传统发波算法 179
4.5.3 SVPWM简易发波算法及CCS6的波形观测 187
4.5.4 SVPWM快速发波算法 191
4.5.5 三电平电路的DSP实现 199
4.5.6 eQEP模块程序分析 202
4.5.7 ADC的DMA数据读取 205
4.5.8 控制外设综合示例 209
第5章 F2833x片上通信类外设 213
5.1 SCI通信模块 213
5.1.1 SCI工作原理及数据格式 213
5.1.2 多处理器通信方式 214
5.1.3 SCI相关寄存器 215
5.2 SPI通信模块 219
5.2.1 SPl数据传输方式 219
5.2.2 SPI相关寄存器 220
5.2.3 SPI常见问题 222
5.3 I2C通信模块 223
5.3.1 I2C总线基础 223
5.3.2 I2C数据格式 224
5.3.3 I2C模块寄存器 228
5.4 CAN通信模块 230
5.4.1 CAN通信工作原理及数据格式 230
5.4.2 F2833x的CAN模块 234
5.5 轻松玩转片上通信类外设 245
5.5.1 SCI模块应用实例 245
5.5.2 SPI模块应用实例 250
5.5.3 CAN模块应用实例及常见问题 251
5.5.4 I2C模块应用实例 256
第6章 轻松玩转DSP——揭开BootLoader神秘的面纱 259
6.1 系统复位源 259
6.2 解密DSP的程序引导模式 260
6.2.1 程序引导流程及代码详解 260
6.2.2 引导模式之——跳转模式及函数解析 267
6.2.3 引导模式之——加载模式及关键代码解析 269
6.3 主函数运行之前发生了什么 280
6.3.1 运行环境的建立 280
6.3.2 “_c_int00”作用及意义 281
第7章 轻松玩转DSP——拨云见日,FLASH编程 283
7.1 FLASH初始化 283
7.2 FLASH编程基础 285
7.2.1 FLASH编程原理及操作指南 285
7.2.2 常用FLASH编程方式 286
7.2.3 如何使用API进行自定义编程 290
7.2.4 轻松玩转用户自定义的FLASH Kernel 293
7.3 使用FLASH应注意什么 304
7.3.1 为什么DSP某些段必须加载到RAM运行 304
7.3.2 FLASH应用的常见问题 309
7.4 代码安全模块CSM的应用 310
7.4.1 加密及解锁操作 311
7.4.2 CSM常见问题 314
第8章 轻松玩转DSP——数字电源的数学建模及DSP设计 316
8.1 数学建模基本方法 316
8.1.1 基本交流小信号分析法 316
8.1.2 状态空间平均法 317
8.1.3 电路平均法 319
8.1.4 开关平均法 320
8.2 数字化同步Buck电路的研究 321
8.2.1 数学建模 322
8.2.2 控制器设计 323
8.2.3 实验结果 327
第9章 轻松玩转DSP——数字锁相环的DSP设计 328
9.1 数字锁相环概述 328
9.1.1 锁相环的工作原理 328
9.1.2 锁相环的数学建模 329
9.2 基于旋转坐标系的三相锁相环的算法分析 330
9.2.1 旋转矢量生成原理 330
9.2.2 三相锁相环的软件设计 331
9.3 基于自适应陷波滤波器的算法分析 334
9.3.1 传统PLL锁相在并网型逆变器中的缺陷 334
9.3.2 自适应陷波滤波器在PLL中的理论分析 335
9.3.3 MATLAB仿真分析 337
9.3.4 DSP程序设计 342
9.4 基于二阶广义积分器的算法分析 344
9.4.1 二阶广义积分器在PLL中的理论分析 345
9.4.2 MATLAB仿真分析 346
9.4.3 DSP程序设计 350
第10章 轻松玩转DSP——数字滤波器的DSP应用 354
10.1 有限长冲击响应滤波器(FIR)的DSP设计 354
10.1.1 FIR滤波器的理论背景 354
10.1.2 DSP的汇编程序设计 356
10.1.3 DSP的C程序设计 358
10.2 无限长冲击响应滤波器(IIR)的DSP设计 359
10.2.1 IIR滤波器的理论背景 359
10.2.2 DSP的汇编程序设计 359
10.2.3 DSP的C程序设计 363
第11章 轻松玩转DSP——永磁同步电动机(PMSM)的数字化控制 365
11.1 PMSM的基本数学模型 365
11.2 有速度传感器的永磁同步电动机控制系统设计 367
11.2.1 永磁同步电动机矢量控制原理 367
11.2.2 C程序分析 369
11.3 无速度传感器的永磁同步电动机控制系统设计 377
11.3.1 基于滑模算法的无速度传感器控制原理 377
11.3.2 C程序设计 379
第12章 轻松玩转DSP——静止无功发生器控制技术的研究 383
12.1 电网无功功率概述 383
12.1.1 无功功率的产生及其危害 383
12.1.2 无功补偿的作用 383
12.1.3 无功补偿的类型 384
12.2 无功电流检测与控制策略 387
12.2.1 静止无功发生器基本原理 387
12.2.2 瞬时无功功率理论 389
12.2.3 常用的几种无功电流检测方法 390
12.2.4 三相三线制SVG控制策略 392
12.3 基于F28335的静止无功发生器设计 393
12.3.1 系统总体结构 393
12.3.2 硬件设计 393
12.3.3 SVG系统仿真模型建立 395
附录 400
附录A GPIO功能配置 400
附录B 受EALLOW保护的寄存器汇总 403
附录C 浮点汇编指令 406
参考文献 424