第1章 引论 1
1.1 数字信号处理器简介 1
1.2 DSP的发展 2
1.3 TI TMS320C2000平台 2
1.3.1 TMS320C2000平台介绍 2
1.3.2 TMS320C2000DSP结构 3
1.3.3 TMS320C2000功能及其特点 3
1.4 TMS320C28x系列处理器概述 5
1.4.1 处理器特性 5
1.4.2 处理器结构 7
1.4.3 引脚分布及介绍 8
1.4.4 存储器 19
第2章 CPU与指令系统 25
2.1 概述 25
2.1.1 与其他TMS320系列CPU的兼容 25
2.1.2 CPU的组成 26
2.2 中央处理单元CPU 27
2.2.1 CPU结构 27
2.2.2 CPU寄存器阵列 29
2.2.3 程序流 47
2.2.4 乘法操作 48
2.2.5 移位操作 49
2.3 CPU的中断系统和复位 53
2.3.1 CPU中断概述 53
2.3.2 CPU中断向量和优先级 53
2.3.3 可屏蔽中断 54
2.3.4 非屏蔽中断 60
2.3.5 非法指令陷阱 63
2.3.6 硬件复位(?) 63
2.4 流水线 64
2.4.1 指令流水线 64
2.4.2 可视流水线操作 66
2.4.3 流水线活动的冻结 68
2.4.4 流水线的保护 69
2.4.5 非保护流水线冲突的避免 71
2.5 C28x的寻址方式 73
2.5.1 寻址方式 73
2.5.2 寻址方式选择位(AMODE) 74
2.5.3 汇编器/编译器对AMODE位的跟踪 75
2.5.4 直接寻址方式(DP) 76
2.5.5 堆栈寻址方式(SP) 77
2.5.6 间接寻址方式 77
2.5.7 寄存器寻址方式 81
2.5.8 数据/程序/IO空间立即寻址方式 82
2.5.9 程序空间间接寻址方式 83
2.5.10 字节寻址方式 84
2.5.11 32位操作的定位 85
第3章 系统控制与中断 86
3.1 片内Flash和OTP存储器 86
3.1.1 Flash存储器和OTP存储器 86
3.1.2 Flash和OTP存储器的电源模式 87
3.1.3 Flash和OTP的寄存器 88
3.2 代码安全模块(CSM) 91
3.2.1 功能说明 91
3.2.2 CSM对其他片内资源的影响 92
3.2.3 用户应用程序中的合并代码安全性 92
3.2.4 保护安全逻辑要做的和不要做的(DOs and DON'Ts) 95
3.2.5 CSM特点总结 95
3.3 时钟 96
3.3.1 时钟和系统控制 96
3.3.2 振荡器OSC和锁相环PLL时钟模块 99
3.3.3 低功耗方式模块 100
3.3.4 看门狗模块 102
3.4 外设帧 105
3.5 片内外设中断扩展(PIE) 107
3.5.1 PIE控制器概述 107
3.5.2 向量表映像 109
3.5.3 中断源 110
3.5.4 PIE向量表 114
3.5.5 PIE配置寄存器 119
3.5.6 PIE中断寄存器 120
3.5.7 外部中断控制寄存器 127
第4章 片外存储器及外部接口XINTF 130
4.1 功能说明 130
4.2 XINTF配置综述 131
4.3 建立、激活及跟踪状态的配置 133
4.4 XINT寄存器 136
4.4.1 XINTF定时寄存器 137
4.4.2 XINTF配置寄存器 140
4.4.3 XBANK寄存器 141
4.4.4 XREVISION寄存器 142
4.5 信号说明 142
4.6 波形 143
4.7 外部DMA支持(?、?) 146
第5章 通用输入输出多路复用器 148
5.1 GPIO多路复用器 148
5.2 GPIO多路复用器的寄存器 150
第6章 CPU定时器 156
6.1 CPU定时器的结构与工作原理 156
6.2 CPU定时器的寄存器 157
6.2.1 定时器计数器寄存器 157
6.2.2 定时器计数器寄存器高位 158
6.2.3 定时器周期寄存器 158
6.2.4 定时器控制寄存器 158
6.2.5 定时器预定标计数器低位 159
6.2.6 定时器预定标计数器高位 159
第7章 事件管理器 160
7.1 事件管理器功能概述 160
7.1.1 事件管理器功能 160
7.1.2 EV的增强特性 165
7.1.3 事件管理器的寄存器地址 165
7.1.4 通用目的寄存器 167
7.1.5 使用GP定时器产生PWM输出 177
7.1.6 全比较单元 177
7.2 PWM电路 179
7.2.1 与比较单元相关的PWM电路 179
7.2.2 PWM信号的产生 183
7.2.3 空间向量PWM 185
7.3 捕捉单元 188
7.3.1 捕捉单元概述 188
7.3.2 捕捉单元的操作 189
7.3.3 捕捉单元的FIFO堆栈 190
7.3.4 正交编码脉冲电路(QEP) 190
7.4 事件管理器的中断 192
7.4.1 事件管理器中断概述 192
7.4.2 EV中断请求和服务 193
7.5 事件管理器的寄存器 194
7.5.1 寄存器概述 194
7.5.2 定时器寄存器 194
7.5.3 比较控制寄存器 198
7.5.4 比较行为控制寄存器 201
7.5.5 捕捉单元寄存器 202
7.5.6 事件管理器中断标志寄存器 207
7.5.7 事件管理器控制寄存器 213
7.5.8 寄存器位设置的区别 214
第8章 模数转换器 218
8.1 ADC模块的特点 218
8.2 自动转换序列发生器的工作原理 220
8.2.1 序列采样模式 221
8.2.2 并发采样模式 221
8.2.3 并发采样双序列发生器模式举例 223
8.2.4 并发采样级联序列发生器模式举例 224
8.3 连续自动序列化模式 224
8.3.1 序列发生器启动停止模式 226
8.3.2 并发采样模式 227
8.3.3 输入触发描述 227
8.3.4 序列转换过程中的中断操作 228
8.4 ADC时钟预定标器 229
8.5 低功耗方式 230
8.6 加点顺序 230
8.7 序列发生器的替换特性 230
8.8 ADC寄存器 231
8.8.1 ADC控制寄存器 231
8.8.2 最大转换通道寄存器 234
8.8.3 自动序列状态寄存器 235
8.8.4 ADC状态和标志寄存器 236
8.8.5 ADC输入通道选择序列控制寄存器 237
8.8.6 ADC转换结果缓冲寄存器 238
第9章 多通道缓冲串行口(McBSP) 239
9.1 概述 239
9.1.1 McBSP介绍 239
9.1.2 McBSP操作 241
9.1.3 McBSP的采样率生成器 250
9.1.4 McBSP可能出错的情况 256
9.2 多通道选择模式 262
9.2.1 通道、模块、分区 262
9.2.2 A-bis模式 267
9.2.3 SPI协议 269
9.3 配置接收器和发送器 274
9.3.1 接收器配置 274
9.3.2 发送器配置 287
9.4 仿真和复位事项 300
9.4.1 McBSP仿真模式 300
9.4.2 数据打包实例 302
9.5 McBSP FIFO和中断 304
9.5.1 McBSP FIFO概述 304
9.5.2 FIFO模式下McBSP的功能和限制 305
9.5.3 McBSP FIFO的操作 306
9.5.4 McBSP接收中断的产生 307
9.5.5 McBSP发送中断的产生 307
9.5.6 McBSP FIFO寄存器描述 309
9.6 McBSP寄存器 313
9.6.1 数据接收和发送寄存器 313
9.6.2 串行口控制寄存器(SPCR1和SPCR2) 314
9.6.3 接收控制寄存器(RCR1和RCR2) 316
9.6.4 发送控制寄存器(XCR1和XCR2) 318
9.6.5 采样率生成器寄存器(SRGR1和SRGR2) 319
9.6.6 多通道控制寄存器(MCR1和MCR2) 321
9.6.7 引脚控制寄存器(PCR) 323
9.6.8 接收通道使能寄存器(RCERA—RCERH) 324
9.6.9 发送通道使能寄存器(XCERA—XCERH) 327
9.6.10 寄存器位总结 329
第10章 串行外围接口 334
10.1 增强型SPI模块概述 334
10.2 SPI模块结构和操作过程 335
10.2.1 SPI模块框图 335
10.2.2 SPI操作过程 336
10.2.3 SPI模块寄存器概述 338
10.3 SPI中断 339
10.4 数据格式 339
10.5 波特率和时钟方案 340
10.5.1 波特率的确定 340
10.5.2 SPI时钟模式 340
10.5.3 复位的初始化 341
10.5.4 数据传输实例 342
10.6 SPI FIFO描述 343
10.7 SPI的寄存器组 344
10.7.1 SPI配置控制寄存器(SPICCR) 344
10.7.2 SPI工作控制寄存器(SPICTL) 346
10.7.3 SPI状态寄存器(SPISTS) 346
10.7.4 SPI波特率寄存器 347
10.7.5 SPI仿真缓冲寄存器 347
10.7.6 SPI串行接收缓冲寄存器 347
10.7.7 SPI串行发送缓冲寄存器 348
10.7.8 SPI串行数据寄存器 348
10.7.9 SPI FIFO发送、接收及控制寄存器 348
10.7.10 SPI优先权控制寄存器 350
第11章 串行通信接口SCI 352
11.1 SCI模块概述 352
11.2 SCI模块结构 353
11.2.1 SCI模块方框图 353
11.2.2 SCI寄存器表 354
11.3 SCI模块工作原理 355
11.3.1 SCI的数据帧 355
11.3.2 SCI多处理器通信 356
11.3.3 SCI通信格式 358
11.3.4 SCI中断 360
11.3.5 SCI波特率的计算 361
11.3.6 SCI增强型特点 361
11.4 SCI寄存器组 364
11.4.1 SCI通信控制寄存器 364
11.4.2 SCI控制寄存器1 365
11.4.3 SCI波特率选择寄存器(SCIHBAUD,SCILBAUD) 366
11.4.4 SCI控制寄存器2(SCICTL2) 367
11.4.5 SCI接收状态寄存器(SCIRXST) 367
11.4.6 SCI接收数据缓冲寄存器(SCIRXEMU,SCIRXBUF) 368
11.4.7 SCI发送数据缓冲寄存器 369
11.4.8 SCI FIFO寄存器组 369
11.4.9 优先权控制寄存器 371
第12章 增强型区域网络控制器 373
12.1 eCAN的结构 373
12.1.1 eCAN概述 373
12.1.2 CAN网络和模块 374
12.1.3 eCAN控制器概述 376
12.1.4 消息对象 378
12.1.5 消息邮箱 378
12.2 eCAN的寄存器 381
12.2.1 邮箱使能寄存器(CANME) 381
12.2.2 邮箱方向寄存器(CANMD) 382
12.2.3 发送请求置位寄存器(CANTRS) 382
12.2.4 发送请求复位寄存器(CANTRR) 383
12.2.5 发送应答寄存器(CANTA) 383
12.2.6 发送终止应答寄存器(CANAA) 383
12.2.7 接收消息挂起寄存器(CANRMP) 384
12.2.8 接收消息丢失寄存器(CANRML) 384
12.2.9 远程帧挂起寄存器(CANRFP) 385
12.2.10 全局接收屏蔽寄存器(CANGAM) 386
12.2.11 主控制寄存器(CANMC) 387
12.2.12 位定时配置寄存器(CANBTC) 389
12.2.13 错误和状态寄存器(CANES) 390
12.2.14 错误计数器寄存器(CANTEC/CANREC) 392
12.2.15 中断寄存器 393
12.2.16 覆盖保护控制寄存器(CANOPC) 397
12.2.17 eCANI/O控制寄存器(CANTIOC,CANRIOC) 398
12.2.18 定时器管理单元 398
12.2.19 邮箱设置 402
12.2.20 接收滤波器 404
12.3 eCAN配置 405
12.3.1 CAN模块初始化 405
12.3.2 分步配置eCAN 408
12.3.3 远程帧邮箱的处理 411
12.3.4 中断 411
12.3.5 CAN掉电模式 416
第13章 TMS320F281x软件编程 417
13.1 C28xC语言编程 417
13.1.1 数据类型 417
13.1.2 结构 418
13.1.3 联合 419
13.1.4 变量的存储类型及其作用域 420
13.1.5 指向结构的指针 421
13.1.6 指向中断函数的指针 421
13.1.7 在C语言中嵌入汇编语言 422
13.1.8 关键字 422
13.1.9 pragma对象 424
13.1.10 存储器模型 424
13.2 SPRC097工具包基础应用 425
13.2.1 外设头文件 426
13.2.2 连接命令文件(CMD) 429
13.2.3 boot to FLASH 432
13.2.4 程序搬移及FLASH优化设置 434
13.3 SPRC097工具包外设使用例程 435
13.4 仿真器 439
13.4.1 仿真器的选择 439
13.4.2 仿真器的安装及配置 441
13.5 SCI操作例程 445
13.5.1 SCI驱动模型 445
13.5.2 SCI环形缓冲区结构体 446
13.5.3 SCI初始化 447
13.5.4 SCI发送字节 449
13.5.5 SCI字节读取 450
13.5.6 取待发送字节 450
13.5.7 保存收到的字节 451
13.5.8 SCI发送中断 452
13.5.9 SCI接收中断 453
13.6 SCI烧写TMS320F2812片内Flash 454
参考文献 459