当前位置:首页 > 工业技术
TMS320F2802x DSP原理及源码解读  基于TI Piccolo系列
TMS320F2802x DSP原理及源码解读  基于TI Piccolo系列

TMS320F2802x DSP原理及源码解读 基于TI Piccolo系列PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:任润柏,姜建民,姚钢等著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2013
  • ISBN:9787512412767
  • 页数:623 页
图书介绍:相对于早期的2812而言,Piccolo 28027系列在ePWM,HRPWM,eCAP及ADC采用了TI全新的理念(较2812根本上不同),4个外设是数字信号处理的核心部分。本书的各章由两部分组成:前面部分为英文原文档的译文,包含原理及寄存器;后一部分是源码解读。特别是上述4章,对TI的现有源码及为了理清概念额外加入的源码,都进行了详细的解读和演绎。
《TMS320F2802x DSP原理及源码解读 基于TI Piccolo系列》目录

第1章 CCSv5.2简介 1

1.1 新建工作目录 1

1.2 构建项目 1

1.3 导入已有的项目 6

1.3.1 进入“导入CCS Eclipse项目”界面 7

1.3.2 导入已有的CCS Eclipse项目 8

1.3.3 项目属性设置 8

1.4 CCS常用按钮 10

1.4.1 编译界面常用按钮 10

1.4.2 调试界面常用按钮 10

1.5 新项目变量的设置 12

1.5.1 确定工作平台的链接资源(Linked Resources) 12

1.5.2 确定链接资源中的新变量路径 13

1.5.3 构建变量(Build Variables) 15

1.6 为新项目添加共享源文件及命令(CMD)文件 16

1.6.1 增加共享源文件 16

1.6.2 增加DSP2802x_GlobalVariableDefs.c文件 18

1.6.3 增加CMD文件 18

1.7 新建项目的属性(Properties)配置 18

1.7.1 打开属性配置窗口 19

1.7.2 CpuTimer项目属性设置步骤 20

1.7.3 直接路径法 22

1.8 构建新项目的简单方法 23

1.9 CCS3.3项目的导入 24

1.9.1 导入遗留的CCSv3.3项目(Import Legacy CCSv3.3 Project) 25

1.9.2 CCSv3.3导入项目的属性设置 27

1.10 实时模式的设置 29

1.10.1 将变量添加到表达式窗口 29

1.10.2 实时模式的设置 29

1.10.3 调试断点的设置 31

1.10.4 实时时钟的设置 33

1.11 在片Flash的烧录 34

1.11.1 改变链接器命令文件(Linker Command File,CMD) 34

1.11.2 当前项目中增加两个文件 34

1.11.3 主文件头部增加3条指令 35

1.11.4 在主函数中嵌入两个函数 35

第2章 28027微型控制器及实验平台 36

2.1 TMS320F28027硬件资源简介 36

2.1.1 资源概览 36

2.1.2 TMS320F2802x引脚图 37

2.1.3 信号说明 37

2.2 功能概述 47

2.3 简要说明 50

2.4 寄存器映射 58

2.5 器件仿真寄存器 59

2.6 28027 LAUNCHXL-F28027概述 60

2.6.1 下载和安装 62

2.6.2 C2000 LaunchPad的调试 62

2.6.4 硬件配置 64

2.6.4 LaunchPad引脚定义 65

2.6.5 LaunchPad引脚使用标识 66

第3章 系统时钟与定时器 67

3.1 系统时钟控制电路 67

3.1.1 启动/禁止外设模块时钟 68

3.1.2 低速外设时钟预分频的配置 71

3.2 振荡器(OSC)和锁相环(PLL)模块 72

3.3 低功耗模块 91

3.4 CPU看门狗模块 94

3.5 32位CPU位定时器 100

3.6 定时器时钟及时钟源概念小结 104

3.7 示例源码 106

3.7.1 CPU定时器及动态正弦曲线(CpuTimer_SinCurve) 106

3.7.2 看门狗及操作要领(zWatchdog) 117

3.7.3 低功耗模式的3个示例 121

3.7.4 内部振荡器补偿示例(zOSC_Comp) 124

第4章 通用输入/输出口(GPIO) 128

4.1 GPIO模块概述 128

4.2 配置概述 132

4.3 数字通用I/O的控制 133

4.4 输入限定器 135

4.5 GPIO和外设引脚复用 138

4.6 寄存器位定义 143

4.7 GPIO多路复用设置步骤 161

4.8 GPIO多路复用设置实例 163

第5章 串行通信接口(SCI) 165

5.1 增强型SCI模块概述 165

5.1.1 SCI模块信号汇总 169

5.1.2 多处理器及异步通信模式 169

5.1.3 SCI可编程数格式 169

5.1.4 SCI多处理器通信 170

5.1.5 空闲线多处理器模式 171

5.1.6 地址位多处理器模式 173

5.1.7 SCI通信格式 173

5.1.8 SCI中断 176

5.1.9 SCI的波特率计算 176

5.1.10 SCI增强的功能 177

5.2 SCI时钟及波特率的计算 180

5.3 SCI相关的寄存器 181

5.4 SCI示例源码 195

5.4.1 Piccolo与PC的通信(zSci_SendPc) 195

5.4.2 Piccolo与PC的双向通信(zSci_Echoback) 201

5.4.3 通过中断进行SCI FIFO回送测试(zSci_FFDLB_int) 203

第6章 串行外设接口(SPI) 207

6.1 增强的SPI模块概述 207

6.1.1 SPI模块框图 208

6.1.2 SPI信号汇总 209

6.1.3 SPI模块寄存器概述 210

6.1.4 SPI操作 211

6.1.5 SPI中断 213

6.1.6 SPI的FIFO介绍 218

6.1.7 SPI 3线模式 220

6.1.8 音频传输中的SPI STEINV位 222

6.2 SPI时钟及波特率计算归纳 223

6.3 SPI寄存器及波形 224

6.4 SPI示例源码 238

6.4.1 SPI FIFO数字回送程序(zSpi_FFDLB) 239

6.4.2 采用中断进行SPI FIFO数字回送程序(zSpi_FFDLB_int) 242

6.4.3 LED数码管显示程序(zSpi_LedNumber) 245

第7章 内部集成电路(I2C) 247

7.1 I2C模块概述 247

7.2 I2C模块工作细节 250

7.3 I2C模块产生的中断请求 256

7.4 复位/禁止I2C模块 258

7.5 I2C模块寄存器 259

7.6 I2C软件模拟示例zI2C_eepromMN 278

第8章 模/数转换器(ADC) 288

8.1 特征 288

8.2 ADC内核总成(ADC模块框图) 289

8.3 SOC的操作原则 291

8.4 A/D转换的优先级 295

8.5 同步采样模式 298

8.6 EOC及中断操作 298

8.7 上电序列 299

8.8 ADC校准 300

8.9 内/外部参考电压选择 302

8.10 ADC寄存器 302

8.11 ADC时序图 322

8.12 内置温度传感器 328

8.13 比较器模块 329

8.14 比较器寄存器 331

8.15 示例源码 333

8.15.1 通过EPWMx触发ADC模块转换(zAdcSoc_TripEpwmx.c) 333

8.15.2 通过定时器0中断触发模数转换(zAdcSoc_TripTINTx.c) 339

8.15.3 通过外部中断2触发模数转换(zAdcSOC_TripXINT.c) 341

8.15.4 温度传感器示例(zAdc_TempSensor.c) 345

8.15.5 软件强制温度传感器转换示例(zAdc_TempSensorConv.c) 347

第9章 Piccolo增强型脉宽调制器(ePWM)模块 350

9.1 概述 351

9.1.1 子模块概述 351

9.1.2 寄存器映射 354

9.1.3 子模块总体概览 357

9.2 时基模块(TB) 359

9.2.1 时基模块的作用 359

9.2.2 时基模块的控制与观察 359

9.2.3 PWM周期和频率的计算 361

9.2.4 多个ePWM模块时的时钟锁相 366

9.2.5 时基计数器模式和计时波形 366

9.3 比较器模块(CC) 368

9.3.1 比较计数器模块的作用 369

9.3.2 比较计数器模块的控制和观察 369

9.3.3 比较计数器子模块的操作要点 370

9.3.4 计数模式的波形 370

9.4 动作限定模块(AQ) 372

9.4.1 动作限定模块的作用 373

9.4.2 动作限定子模块的控制和观察 373

9.4.3 动作限定器事件优先级 375

9.4.4 一般配置下的波形 377

9.5 死区子模块(DB) 385

9.5.1 死区子模块的作用 385

9.5.2 死区子模块的控制和观察 386

9.5.3 死区子模块操作要点 386

9.6 PWM斩波子模块(PC) 389

9.6.1 PWM斩波子模块的作用 390

9.6.2 PWM斩波模块的控制和观察 390

9.6.3 PWM斩波子模块操作要点 390

9.6.4 PWM斩波子模块波形 391

9.7 触发区子模块(TZ) 393

9.7.1 触发区子模块的作用 393

9.7.2 故障捕获模块的控制和观察 394

9.7.3 触发区子模块的操作要点 395

9.7.4 产生捕获事件中断 397

9.8 事件触发子模块(ET) 398

9.8.1 事件触发子模块操作纵览 400

9.9 数字比较器子模块(DC) 403

9.9.1 数字比较器子模块的作用 404

9.9.2 数字比较子模块的控制和观察 404

9.9.3 数字比较器子模块的操作要点 405

9.10 应用电源拓扑 409

9.10.1 多模块概览 409

9.10.2 关键的配置 409

9.10.3 使用独立的频率控制多个降压变换器 410

9.10.4 使用相同的频率控制多个降压变换器 412

9.10.5 控制多个半H桥变换器 415

9.10.6 控制电机(ACI和PMSM)的两个三相逆变器 418

9.10.7 在ePWM之间相位控制的应用 421

9.10.8 控制三相交错的DC/DC变换器 421

9.10.9 控制零电压开关全桥(ZVSFB)变换器 424

9.10.10 通过控制一个峰值电流模式来控制降压模块 427

9.10.11 控制H桥LLC谐振变换器 428

9.11 ePWM模块寄存器 430

9.11.1 时基子模块寄存器 430

9.11.2 计数器-比较器子模块寄存器 437

9.11.3 动作限定器子模块寄存器 442

9.11.4 死区子模块寄存器 447

9.11.5 PWM-斩波子模块寄存器 449

9.11.6 触发区子模块控制和状态寄存器 450

9.11.7 数字比较子模块寄存器 459

9.11.8 事件触发器子模块寄存器 465

9.11.9 正常的中断启动步骤 470

9.12 ePWM示例源码 471

9.12.1 ePWM时基时钟的计算 471

9.12.2 ePWM初始化指令顺序 471

9.12.3 ePWM_增模式下的动作控制(zEPwm_UpAQ) 472

9.12.4 ePWM_增减模式下的动作控制(zEPwmUpDownAQ) 477

9.12.5 EPWM死区的建立(zEpwm_DeadBand) 480

9.12.6 PWM故障捕获(zEpwm_TripZone.c) 484

9.12.7 PWM数字比较器故障捕获事件(zEpwm_DCEventTrip.c) 487

9.12.8 PWM滤波(zEPwm_Blanking.c) 490

9.12.9 通过动作限定器建立步进电机的4拍方式控制 495

9.12.10 EPWM模块的定时器中断(zEPwm_TimerInt.c) 496

第10章 高分辨率脉宽调制(HRPWM) 502

10.1 概述 502

10.2 HRPWM的操作说明 503

10.3 HRPWM的功能控制 505

10.4 HRPWM的配置 507

10.5 工作原理 508

10.5.1 边沿定位 509

10.5.2 CMPA:CMPAHR的计算 510

10.5.3 占空比的范围限制 512

10.5.4 高分辨率周期 514

10.5.5 高分辨率周期配置 515

10.6 比例因子优化软件(SFO) 516

10.7 使用优化汇编代码的HRPWM示例 517

10.7.1 实现一个简单的降压变换器 517

10.7.2 利用R+C滤波器实现简单DAC功能 519

10.8 HRPWM寄存器 522

10.9 SFO函数库软件—SFO_TI_Build_V6.lib 528

10.9.1 比例因子优化函数-int SFO() 528

10.9.2 软件的使用 530

10.9.3 SFO库软件各版本的不同之处 532

10.10 HRPWM示例源码 532

10.10.1 微边沿定位(MEP)概念的进一步说明 532

10.10.2 采用Q15及Q0格式计算CMPA:CMPAHR 534

10.10.3 zHRPWM_Duty_SFO_V6项目 537

第11章 增强型捕获模块(eCAP) 543

11.1 概述 543

11.1.1 eCAP的使用和特性 543

11.1.2 运行机制框图说明 544

11.2 捕获和APWM工作模式 545

11.2.1 捕获模式的描述 545

11.2.2 APWM工作模式 550

11.3 寄存器 551

11.4 eCAP示例源码 561

11.4.1 APWM测试(zECap_apwm.c) 561

11.4.2 捕获模式测试(zECap_CapturePwm.c) 564

11.4.3 绝对时戳上升沿触发示例(zECap_CaptureRePwm.c) 570

11.4.4 绝对时戳双边沿触发示例(zECap_CaptureReFePwm.c) 574

11.4.5 上升沿分时触发示例(zECap_CaptureReDifPwm.c) 575

11.4.6 上升沿和下降沿分时触发示例(zECap_CaptureReFeDifPwm.c) 576

第12章 外设中断扩展 579

12.1 PIE控制器概述 579

12.2 向量表映射 582

12.3 中断源 583

12.3.1 处理复用中断的流程 584

12.3.2 使能和禁止多路复用外设中断的步骤 585

12.3.3 从外设到CPU的多路复用中断请求流程 586

12.3.4 PIE向量表 588

12.4 PIE寄存器 594

12.5 外部中断控制寄存器 604

12.6 用软件区分中断优先权示例(zSWPrioritizedInterrupts) 606

12.7 外部中断示例(zExternalInterrupt) 610

附录 619

参考文献 622

返回顶部