第1章绪论1
1.1数字信号处理1
1.1.1模拟和数字信号的处理方式1
1.1.2数字信号处理的优缺点2
1.2DSP的发展及特点3
1.3DSP产品简介5
1.3.1TI公司的DSP产品5
1.3.2TMS320C28x产品简介6
第2章F28335的结构原理8
2.1F28335的内部结构8
2.2F28335的CPU10
2.2.1CPU运算单元10
2.2.2CPU寄存器组12
2.2.3辅助寄存器算术单元ARAU14
2.2.4FPU浮点运算单元15
2.3F28335的存储器及应用15
2.3.1SARAM存储器17
2.3.2FLASH及使用详解17
2.3.3Boot ROM22
2.3.4CSM及使用详解24
2.3.5OTP存储器31
2.3.6外设帧31
2.3.7外部存储器接口32
2.4外设及引脚功能33
2.5F28335的时钟及控制36
2.5.1系统时钟的产生36
2.5.2系统时钟的分配37
2.5.3F28335的低功耗模式及相关寄存器42
2.5.4F28335的看门狗模块44
2.6F28335的CPU定时器47
2.6.1定时器结构47
2.6.2定时器中断申请48
2.6.3定时器寄存器及位域结构体定义48
2.6.4定时器应用例程——如何记录函数的运行时间51
第3章集成开发环境及程序开发语言53
3.1CCS集成开发环境53
3.1.1CCS集成的工具软件53
3.1.2CCS v5.4安装及基本配置55
3.1.3Control Suite简介59
3.1.4在CCS v5.4下运行工程项目59
3.1.5CCS v3.3到CCS v5.4的项目迁移66
3.1.6在CCS v5.4下新建一个工程文件68
3.2F28335汇编语言概述74
3.2.1F28335汇编指令描述75
3.2.2寻址方式及常用汇编指令76
3.2.3CMD文件及汇编程序示例80
3.2.4汇编语言应用例程82
3.3F28335的C语言编程基础83
3.3.1F28335的C语言数据类型84
3.3.2C语言的重要关键字85
3.3.3C语言CMD文件的编写86
第4章F28335的通用I/O口90
4.1GPIO的功能结构90
4.2GPIO寄存器及传统定义方法示例92
4.2.1GPIO控制类寄存器92
4.2.2GPIO数据类寄存器94
4.2.3传统寄存器定义方法示例95
4.3寄存器的位域结构方法示例96
4.3.1GPIO寄存器组类型定义96
4.3.2定义存放寄存器组的存储器段101
4.3.3寄存器组的存储器段地址定位102
4.3.4寄存器位结构定义的使用102
4.4GPIO应用例程103
第5章F28335的中断系统104
5.1中断系统的结构104
5.1.1中断管理机制104
5.1.2中断处理及响应过程106
5.1.3CPU中断向量106
5.1.4CPU级中断相关寄存器108
5.2PIE外设中断扩展模块109
5.2.1PIE模块的结构109
5.2.2PIE中断向量表映射110
5.2.3PIE模块相关寄存器117
5.2.4PIE模块寄存器的程序操作119
5.3非屏蔽中断123
5.3.1软件中断123
5.3.2非法指令中断124
5.3.3硬件NMI中断124
5.3.4硬件复位中断XRS125
5.4中断应用实例——如何创建中断嵌套服务程序125
第6章模/数转换单元ADC127
6.1ADC模块概述127
6.1.1ADC模块构成及原理127
6.1.2时钟及采样频率130
6.1.3ADC采样工作方式131
6.2ADC模块校准功能及使用详解135
6.3ADC模块寄存器136
6.4ADC模块的应用——如何进行数据处理及程序校准144
第7章F28335片上控制外设146
7.1增强型脉宽调制模块ePWM146
7.1.1时间基准子模块TB原理及应用148
7.1.2计数器比较子模块CC原理及应用153
7.1.3动作限定子模块AQ原理及应用156
7.1.4死区控制子模块DB原理及应用161
7.1.5错误控制子模块TZ原理及应用164
7.1.6事件触发子模块ET原理及应用168
7.2增强型捕获模块eCAP172
7.2.1eCAP工作模式173
7.2.2捕获模块寄存器176
7.2.3eCAP程序例程——如何捕获外部脉冲信号182
第8章F28335的片上串行通信单元184
8.1串行通信的基本概念184
8.1.1异步通信和同步通信184
8.1.2串行通信的传输方向185
8.1.3串行通信的错误校验185
8.2SCI通信模块及应用186
8.2.1SCI通信模块简介186
8.2.2SCI工作原理187
8.2.3SCI基本数据格式187
8.2.4多处理器通信方式189
8.2.5SCI相关寄存器190
8.2.6SCI应用实例——如何实现异步通信数据的收发193
8.3SPI通信模块及应用194
8.3.1SPI模块简介194
8.3.2SPI工作原理195
8.3.3SPI的时钟与波特率197
8.3.4SPI相关寄存器197
8.3.5SPI模块应用实例——如何建立有效的全双工数据通信201
8.4McBSP模块及应用202
8.4.1McBSP数据收发原理203
8.4.2数据的压缩和扩展204
8.4.3McBSP数据帧204
8.4.4时钟及采样率发生器206
8.4.5McBSP工作模式简介209
8.4.6McBSP相关寄存器209
8.4.7McBSP的应用——如何实现在SPI模式下的数据收发217
8.5I2C通信模块及应用219
8.5.1I2C总线基础219
8.5.2I2C相关寄存器222
8.5.3I2C应用实例——EEPROM数据的读/写226
8.5.4I2C真实波形数据格式分析228
8.6CAN通信模块231
8.6.1CAN模块简介231
8.6.2CAN相应寄存器232
8.6.3CAN应用注意事项及数据收发程序详解238
第9章浮点运算单元244
9.1浮点单元简介244
9.1.1C28x+FPU的特点244
9.1.2浮点指令流水线结构245
9.1.3IEEE754单精度浮点格式246
9.2FPU的寄存器247
9.3浮点汇编指令详解249
9.3.1移动指令250
9.3.2浮点算术运算指令258
9.3.3寄存器数据传递指令271
9.3.4特殊运算指令274
9.3.5寄存器清0指令275
9.4F28335库函数使用详解276
9.4.1FPU Fast RTS库简介277
9.4.2FPU Fast RTS库使用方法278
9.4.3FPU Fast RTS库软件优化279
9.4.4FPU软件应用实例280
第10章BootLoader原理及应用282
10.1BootLoader基本工作流程282
10.1.1F2833x片内引导过程283
10.1.2基本工作流程代码解析284
10.2BootLoader基本数据传输协议288
10.2.116位数据流结构288
10.2.28位数据流结构289
10.2.3数据引导装载过程290
10.2.4数据格式转换291
10.3引导模式之跳转模式293
10.3.1FLASH上电复位跳转模式及代码解析293
10.3.2片上其他跳转模式295
10.4引导模式之加载模式296
第11章打开FLASH升级的“潘多拉”盒子298
11.1F2833x FLASH烧录基础298
11.1.1FLASH烧录的一般要求298
11.1.2FLASH烧录步骤299
11.2CCS插件升级方式299
11.2.1CCS v3.3版本下的FLASH升级299
11.2.2CCS v5.4版本下的FLASH升级300
11.3SDFLASH插件操作方式304
11.3.1SDFLASH的串行升级基本操作304
11.3.2如何更改串行升级文件309
11.4用户自定义升级方式310
11.4.1FLASH API的应用解析310
11.4.2基于SCI总线的远程FLASH加载方案314
第12章基于F28335的电力电子应用案例分析322
12.1数据定标322
12.2电路基本变量数学建模及实现323
12.2.1数学模型的搭建323
12.2.2数学模型的软件实现326
12.3电力电子常见拓扑及发波算法分析327
12.3.1单相半桥电路及SPWM的DSP应用327
12.3.2单相全桥电路及单极倍频SPWM333
12.3.3三相桥式电路及SVPWM相关算法应用341
12.3.4三相四桥臂电路及3DSVPWM算法应用355
12.3.5三电平电路及DSP应用365
12.4数字锁相环设计370
12.4.1锁相环的工作原理370
12.4.2锁相环的数学建模372
12.4.3算法分析372
12.4.4软件代码详解374
12.5数字滤波器的设计376
12.5.1FIR滤波器的数学模型及算法设计376
12.5.2IIR滤波器的数学模型及算法设计378
12.6基于F28335有源滤波器设计380
12.6.1谐波的基本概念381
12.6.2并联APF工作原理382
12.6.3数学模型及算法分析384
12.6.4DFT变换法控制器系统设计386
12.6.5软件算法关键代码解析387
附录ACRC数据表393
附录BSCI Boot参考代码395
参考文献398