目录
2025年09月26日
目录
前言
第1章 绪论
1.1 DSP的发展与DSP芯片的特点
1.2 典型DSP控制器应用系统及其设计过程
1.典型DSP应用系统
2.DSP控制器应用系统设计开发过程
3.DSP芯片的选择
1.3 C2000系列DSP控制器
1.C24x系列DSP控制器
2.C28x系列DSP控制器
3.Piccolo系列DSP控制器
4.Delfino系列数字信号控制器
5.Concerto系列微控制器
1.4 DSP控制器的应用
1.5 数的定标与定点运算
1.二进制补码
2.数的定标
3.定点运算
1.6 思考题与习题
第2章 2803x DSP控制器总体结构
2.1 2803x引脚及其功能
2.2 2803x片内硬件资源
2.3 片内Flash和OTP存储器
1.Flash和OTP存储器的特点
2.Flash和OTP存储器功耗模式
3.Flash和OTP存储器性能
4.Flash流水线模式
5.Flash和OTP寄存器汇总
2.4 代码安全模块CSM
1.代码安全模块的功能
2.代码安全模块对其他片内资源的影响
3.代码安全功能的使用
2.5 时钟与低功耗模式
1.时钟
2.振荡器与锁相环模块
3.低功耗模式
2.6 看门狗定时器
2.7 32位CPU定时器
2.8 通用输入/输出GPIO
1.通用I/O端口概述
2.GPIO模块配置
3.输入限定功能
4.GPIO端口寄存器
2.9 片内外设寄存器
1.外设寄存器空间
2.受EALLOW保护的寄存器
3.DSP仿真寄存器
2.10 外设中断扩展PIE
1.PIE控制器
2.中断向量表映射
3.中断源
4.PIE配置和控制寄存器
5.外部中断控制寄存器
2.11 思考题与习题
第3章 C28x DSP的CPU与指令系统
3.1 中央处理器
3.1.1 CPU结构
3.1.2 CPU的寄存器
3.2 寻址方式
3.2.1 寻址方式概述
3.2.2 直接寻址方式
3.2.3 堆栈寻址方式
3.2.4 间接寻址方式
3.2.5 寄存器寻址方式
3.2.6 数据/程序/IO空间立即寻址方式
3.2.7 程序空间间接寻址方式
3.2.8 字节寻址方式与32位操作数的定位
3.3 C28x DSP指令系统
3.4 思考题与习题
第4章 DSP软件开发与C语言编程
4.1 DSP开发工具与软件开发流程
1.DSP开发工具
2.软件开发流程
3.软件工具
4.2 集成开发环境CCS
1.软件安装与设置
2.CCS主要菜单与功能
3.采用CCS开发应用程序的步骤
4.3 DSP的C项目文件
4.3.1 公共目标文件格式COFF
4.3.2 链接命令文件
4.4 DSPC语言程序设计基础
4.4.1 数据类型
4.4.2 C语言运算符与基本语句
4.4.3 函数
4.4.4 指针
4.4.5 编译预处理命令
4.4.6 C语言与汇编语言混合编程
4.4.7 C28xDSP编译器的几个关键字
4.5 DSPC程序举例
4.6 思考题与习题
第5章 模-数转换器与比较器
5.1 2803x的模-数转换器的特点
5.2 转换启动操作原理
1.采样保持窗口
2.触发操作
3.通道选择
4.单发(ONESHOT)单转换支持
5.3 ADC转换优先级
5.4 同时采样模式
5.5 转换结束与中断运行
5.6 ADC上电顺序与ADC校准
1.ADC上电顺序
2.ADC校准
5.7 内部与外部参考电压选择
1.内部参考电压
2.外部参考电压
5.8 ADC寄存器
1.ADC控制寄存器1(ADC Control Register 1,ADCTRL1)
2.ADC控制寄存器2(ADC Control Register 2,ADCTRL2)
3.ADC中断标志寄存器(ADC Interrupt Flag Register,ADCINTFLG)
4.ADC中断标志清除寄存器(ADC Interrupt Flag Clear Register,ADCINTFLGCLR)
5.ADC中断溢出寄存器(ADC Interrupt Overflow Register,ADCINTOVF)
6.ADC中断溢出清除寄存器(ADC Interrupt Overflow Clear Register,ADCINTOVF-CLR)
7.中断选择寄存器
8.SOC优先级控制寄存器(ADC Start of Conversion Priority Control Register,SOCPRICTL)
9.采样模式寄存器(ADC Sample Mode Register,ADCSAMPLEMODE)
10.中断触发SOC选择寄存器1(ADC Interrupt Trigger SOC Select 1 Register,ADCINTSOCSEL1)
11.中断触发SOC选择寄存器2(ADC Interrupt Trigger SOC Select 2 Register,ADCINTSOCSEL2)
12.SOC标志寄存器1(ADC SOC Flag 1 Register,ADCSOCFLG1)
13.SOC强制寄存器1(ADC SOC Force 1 Register,ADCSOCFRC1)
14.SOC溢出寄存器1(ADC SOC Over flow 1 Register,ADCSOCOVF1)
15.SOC溢出清除寄存器1(ADC SOC Over flow Clear 1 Register,ADCSOCOVFCLR1)
16.SOC0~SOC15控制寄存器(ADC SOC 0~SOC15 Control Registers,ADCSOCxCTL)
17.参考修整寄存器(ADC Reference/Gain Trim Register,ADCREFTRIM)
18.偏移修整寄存器(ADC Offset Trim Register,ADCOFFTRIM)
19.版本寄存器(ADC Revision Register,ADCREV)
20.ADC结果寄存器(ADC Result Register,x=0~15,ADCRESULTx)
5.9 内部温度传感器
5.10 ADC的C语言编程实例
5.11 比较器模块
1.比较器特点
2.比较器的功能
3.DAC参考电压
4.初始化
5.数字范围的操作
6.比较器模块的寄存器
5.12 思考题与习题
第6章 控制律加速器
6.1 控制律加速器概述
6.2 CLA与主CPU接口
1.CLA存储器
2.CLA存储器总线
3.共享的外设与EALLOW保护
4.CLA任务与中断向量
6.3 CLA配置与调试
1.建立一个CLA应用程序
2.典型CLA初始化顺序
3.调试CLA代码
4.CLA非法代码行为
5.复位CLA
6.4 寄存器集合
1.寄存器映射
2.任务中断向量寄存器
3.配置寄存器
4.执行寄存器
6.5 流水线
1.流水线概述
2.CLA流水线对齐
3.ADC提前中断到CLA反应
4.并行指令
6.6 指令系统
1.指令描述
2.寻址方式与编码
3.指令
6.7 思考题与习题
第7章 脉宽调制模块
7.1 ePWM模块概述
7.2 时基子模块
1.时间基准子模块的功能
2.PWM的周期和频率
3.时基周期影子寄存器
4.ePWM模块时基时钟同步
7.3 计数比较子模块
1.计数比较子模块的作用
2.计数比较子模块的操作介绍
7.4 动作限定子模块
1.动作限定子模块的功能
2.动作限定子模块事件的优先权
3.动作限定子模块控制PWM波形产生
7.5 死区生成子模块
1.死区生成子模块的作用
2.死区生成子模块的控制和操作
7.6 PWM斩波子模块
1.斩波子模块的作用
2.斩波子模块的控制
3.PWM斩波子模块波形图
4.单发脉冲
7.7 脱开区子模块
1.脱开区(Trip-Zone)子模块的作用
2.脱开区子模块的控制和操作
3.数字比较事件(DCAEVT1/2和DCBEVT1/2)
7.8 事件触发子模块
1.事件触发子模块的作用
2.事件触发子模块的控制和操作
7.9 数字比较子模块
1.数字比较子模块的作用
2.数字比较子模块的运行
7.10 ePWM模块的寄存器
1.时基周期寄存器(Time-Base Period Register,TBPRD)
2.时基相位寄存器(Time-Base Phase Register,TBPHS)
3.时基计数器(Time-Base Counter Register,TBCTR)
4.时基控制寄存器(Time-Base Control Register,TBCTL)
5.时基状态寄存器(Time-Base Status Register,TBSTS)
6.计数比较寄存器A(Counter-Compare A Register,CMPA)
7.计数比较寄存器B(Counter-Compare B Register,CMPB)
8.计数比较控制寄存器(Counter-Compare Control Register,CMPCTL)
9.输出动作限定控制寄存器A(Action-Qualifier Output A Control Register,AQCTLA)
10.输出动作限定控制寄存器B(Action-Qualifier Output A Control Register,AQCTLB)
11.动作限定软件强制寄存器(Action-Qualifier Software Force Register,AQSFRC)
12.动作限定连续软件强制寄存器(Action-Qualifier Continuous Software ForceReg-ister,AQCSFRC)
13.死区生成控制寄存器(Dead-Band Generator Control Register,DBCTL)
14.死区生成上升沿寄存器(DBRED)
15.死区生成下降沿寄存器(Dead-Band Generator Rising Edge Delay Register,DBFED)
16.PWM斩波控制寄存器(PWM-Chopper Control Register,PCCTL)
17.脱开区选择寄存器(Trip-Zone Select Register,TZSEL)
18.脱开区控制寄存器(Trip-Zone Control Register,TZCTL)
19.脱开区中断使能寄存器(Trip-Zone Enable Interrupt Register,TZEINT)
20.脱开区标志寄存器(Trip-Zone Flag Register,TZFLG)
21.脱开区清除寄存器(Trip-Zone Clear Register,TZCLR)
22.脱开区强制寄存器(Trip-Zone Force Register,TZFRC)
23.事件触发选择寄存器(Event-Trigger Selection Register,ETSEL)
24.事件触发分频寄存器(Event-Trigger Prescale Register,ETPS)
25.事件触发标志寄存器(Event-Trigger Flag Register,ETFLG)
26.事件触发清除寄存器(Event-Trigger Clear Register,ETCLR)
27.数字比较脱开选择寄存器(Digital Compare Trip Select Register,DCTRIPSEL)
28.数字比较A控制寄存器(Digital Compare A Control Register,DCACTL)
29.数字比较B控制寄存器(Digital Compare B Control Register,DCBCTL)
30.数字比较滤波控制寄存器(Digital Compare Filter Control Register,DCFCTL)
31.数字比较捕获控制寄存器(Digital Compare Capture Control Register,DCCAPCTL)
32.数字比较计数器捕获寄存器(Digital Compare Counter Capture Register,DCCAP)
33.数字比较滤波偏移寄存器(Digital Compare Filter Offset Register,DCFOFFSET)
34.数字比较滤波偏移计数器寄存器(Digital Compare Filter Offset Counter Register,DCFOFFSETCNT)
35.数字比较滤波窗口寄存器(Digital Compare Filter Window Register,DCFWINDOW)
36.数字比较滤波窗口计数器寄存器(Digital Compare Filter Window Counter Regis-ter,DCFWINDOWCNT)
7.11 ePWM模块在功率电路中的应用
1.多模块概述
2.主要配置能力
3.用独立频率控制多个降压逆变器
4.用同一频率控制多个降压逆变器
5.控制多个半H桥(HHB)逆变器
6.控制三相电动机逆变器
7.在PWM模块之间采用相位控制的实际应用
8.控制三相交叉DC/DC逆变器
9.控制零电压开关全桥(ZVSFB)逆变器
10.控制峰值电流模式控制的降压逆变器模块
11.控制H桥LLC谐振逆变器
7.12 高分辨率脉宽调制器
1.HRPWM概述
2.HRPWM模块运行
3.定标系数优化软件(SFO)
4.HRPWM应用实例
5.HRPWM模块寄存器
7.13 思考题与习题
第8章 捕获模块
8.1 eCAP模块概述
8.2 捕获与APWM工作模式
8.3 捕获模式
1.事件预分频
2.边沿极性选择和限定器
3.连续捕获与单发捕获控制
4.32位计数器和相位控制
5.捕获控制寄存器
6.中断控制
7.影子寄存器装载与禁止装载控制
8.APWM模式的运行
8.4 捕获模块的寄存器
1.时间标记计数器(Time-Stamp Counter Register,TSCTR)
2.计数相位寄存器(Counter Phase Control Register,CTRPHS)
3.捕获寄存器1(Capture-1 Register,CAP1)
4.捕获寄存器2(Capture-2 Register,CAP2)
5.捕获寄存器3(Capture-3 Register,CAP3)
6.捕获寄存器4(Capture-4 Register,CAP4)
7.捕获控制寄存器1(ECAP Control Register1,ECCTL1)
8.捕获控制寄存器2(ECAP Control Register 2,ECCTL2)
9.中断使能寄存器(ECAP Interrupt Enable Register,ECEINT)
10.中断标志寄存器(ECAP Interrupt Flag Register,ECFLG)
11.中断清除寄存器(ECAP Interrupt Clear Register,ECCLR)
12.中断强制寄存器(ECAP Interrupt Forcing Register,ECFRC)
8.5 eCAP模块应用
8.6 APWM模式应用
8.7 思考题与习题
第9章 正交编码脉冲模块
9.1 eQEP概述
1.增量式编码器测速原理
2.eQEP输入
3.eQEP模块的主要功能
4.eQEP模块寄存器映射
9.2 正交解码单元
1.位置计数器输入模式
2.eQEP输入极性选择
3.位置比较同步输出
9.3 位置计数器与控制单元
1.位置计数器操作方式
2.位置计数器锁存
3.位置计数器初始化
4.位置比较电路
9.4 eQEP边沿捕获单元与eQEP看门狗
1.eQEP边沿捕获单元
2.eQEP看门狗
9.5 单位定时器基准与eQEP中断结构
1.单位定时器基准
2.eQEP中断结构
9.6 eQEP寄存器
1.QEP解码器控制寄存器(QEP Decoder Control Register,QDECCTL)
2.eQEP控制寄存器(eQEP Control Register,QEPCTL)
3.eQEP位置比较控制寄存器(eQEP Position-compare Control Register,QPOSCTL)
4.eQEP捕获控制寄存器(QCAPCTL)
5.eQEP位置计数器(eQEP Position Counter Register,QPOSCNT)
6.eQEP位置计数器初始化寄存器(eQEP Position Counter Initialization Register,QPOSINIT)
7.eQEP最大位置计数寄存器(eQEP Maximum Position Count Register,QPOSMAX)
8.eQEP位置比较寄存器(eQEP Position-compare Register,QPOSCMP)
9.eQEP零位位置锁存器(eQEP Index Position Latch Register,QPOSILAT)
10.eQEP选通位置锁存器(eQEP Strobe Position Latch Register,QPOSSLAT)
11.eQEP位置计数锁存器(eQEP Position Counter Latch Register,QPOSLAT)
12.eQEP单位定时器(eQEP Unit Timer Register,QUTMR)
13.eQEP单位周期寄存器(eQEP Register Unit Period Register,QUPRD)
14.eQEP看门狗定时器(eQEP Watchdog Timer Register,QWDTMR)
15.eQEP看门狗周期寄存器(eQEP Watchdog Period Register,QWDPRD)
16.eQEP中断使能寄存器(eQEP Interrupt Enable Register,QEINT)
17.eQEP中断标志寄存器(eQEP Interrupt Flag Register,QFLG)
18.eQEP中断清除寄存器(eQEP Interrupt Clear Register,QCLR)
19.eQEP强制中断寄存器(eQEP Interrupt Force Register,QFRC)
20.eQEP状态寄存器(eQEP Status Register,QEPSTS)
21.eQEP捕获定时器(eQEP Capture Timer Register,QCTMR)
22.eQEP捕获周期寄存器(eQEP Capture Period Register,QCPRD)
23.eQEP捕获定时锁存器(eQEP Capture Timer Latch Register,QCTMRLAT)
24.eQEP捕获周期锁存器(eQEP Capture Period Latch Register,QCPRDLAT)
9.7 eQEP应用实例
9.8 思考题与习题
第10章 串行通信接口
10.1 SCI模块概述
10.2 SCI模块的结构
1.串行通信接口的信号
2.多处理器和异步通信模式
3.串行通信接口可编程数据格式
4.SCI多处理器通信
5.空闲线多处理器模式
6.地址位多处理器模式
7.SCI通信格式
8.串行通信接口中断
9.SCI波特率计算
10.3 SCI的寄存器
1.SCI通信控制寄存器(SCICCR)
2.SCI控制寄存器1(SCICTL1)
3.波特率选择寄存器(SCIHBAUD,SCILBAUD)
4.SCI控制寄存器2(SCI Control Register 2,SCICTL2)
5.SCI接收状态寄存器:SCIRXST
6.SCI接收数据缓冲寄存器(SCIRXEMU,SCIRXBUF)
7.SCI发送数据缓冲寄存器(SCITXBUF)
8.SCI优先级控制寄存器(SCI Priority Control Register,SCIPRI)
9.SCI增强功能的寄存器
10.4 SCI应用实例
10.5 思考题与习题
第11章 串行外设接口
11.1 SPI模块的结构
11.2 SPI的操作
1.主模式
2.从模式
3.SPI的中断
11.3 SPI的设置
1.数据格式
2.SPI波特率
3.SPI的时钟模式
4.SPI的初始化
5.SPIFIFO概述
11.4 SPI的寄存器
1.SPI配置控制寄存器SPICCR
2.SPI控制寄存器SPICTL
3.SPI状态寄存器SPISTS
4.SPI波特率寄存器SPIBRR
5.SPI接收仿真缓冲寄存器SPIRXEMU
6.SPI接收缓冲寄存器SPIRXBUF
7.SPI发送缓冲寄存器SPITXBUF
8.SPI串行数据寄存器SPIDAT
9.SPIFIFO发送寄存器SPIFFTX
10.SPI FIFO接收寄存器SPIFFRX
11.SPIFIFO控制寄存器SPIFFCT
12.SPI优先级控制寄存器SPIPRI
11.5 SPI应用实例
11.6 思考题与习题
第12章 CAN控制器模块
12.1 CAN总线概述
1.CAN总线特点
2.CAN总线帧格式
12.2 eCAN控制器模块结构
1.eCAN模块
2.eCAN控制器
3.信息对象
4.信息邮箱
12.3 eCAN模块的寄存器
1.邮箱使能寄存器CANME(Mailbox Enable Register)
2.邮箱方向寄存器CANMD(Mailbox Direction Register)
3.发送请求置位寄存器CANTRS(Transmission-Request Set Register)
4.发送请求复位寄存器CANTRR(Transmission-Request-ResetRegister)
5.发送应答寄存器CANTA(Transmission-Acknowledge Register)
6.发送终止应答寄存器CANAA(Abort-Acknowledge Register)
7.接收信息悬挂寄存器CANRMP(Received Message Pending Register)
8.接收信息丢失寄存器CANRML(Received-Message-Lost Register)
9.远程帧悬挂寄存器CANRFP(Remote-Frame-Pending Register)
10.全局接收屏蔽寄存器CANGAM(Global Acceptance Mask Register)
11.主控制寄存器CANMC(Master Control Register)
12.位时间配置寄存器CANBTC(Bit-Timing Configuration Register)
13.错误和状态寄存器CANES(Error and Status Register)
14.CAN错误计数寄存器CEC(CAN Error Counter Register)
15.中断寄存器
16.过写保护控制寄存器CANOPC(Overwrite Protection Control Register)
17.eCANI/O控制寄存器CANTIOC,CANRIOC(eCANI/OControl Registers)
18.定时管理单元寄存器
19.邮箱设置寄存器
20.接收屏蔽寄存器
12.4 eCAN控制器的配置
12.4.1 eCAN模块的初始化
12.4.2 eCAN的配置步骤
12.4.3 远程帧邮箱的处理
12.4.4 中断
12.4.5 CAN模块的掉电模式
12.5 eCAN模块的应用
1.CAN驱动电路设计
2.软件设计
12.6 思考题与习题
第13章 I2C模块
13.1 I2C模块概述
13.1.1 主要特征
13.1.2 功能概述
13.1.3 时钟产生
13.2 I2C模块的操作
13.2.1 输入和输出电平
13.2.2 数据状态
13.2.3 操作模式
13.2.4 I2C模块启动与停止条件
13.2.5 串行数据格式
13.2.6 不应答(NACK)位产生
13.2.7 时钟同步
13.2.8 仲裁
13.3 I2C模块的中断请求
13.3.1 I2C模块基本中断
13.3.2 I2C模块的FIFO中断
13.4 复位/禁止I2C模块
13.5 I2C模块的寄存器
13.6 I2C模块应用实例
13.7 思考题与习题
第14章 引导ROM
14.1 引导ROM存储器映射
14.1.1 片内引导ROM的IQmath表
14.1.2 片内引导ROM的IQmath函数
14.1.3 片内Flash API
14.1.4 CPU向量表
14.2 引导装载器特点
14.2.1 引导装载器函数的运行
14.2.2 引导装载器设备配置
14.2.3 PLL倍频器与DIVSEL选择
14.2.4 看门狗模块
14.2.5 产生ITRAP中断
14.2.6 内部上拉电阻
14.2.7 PIE配置
14.2.8 保留的存储器
14.2.9 装载器模式
14.2.10 Device_Cal
14.2.11 引导装载器数据流结构
14.2.12 基本传输过程
14.2.13 InitBoot汇编程序
14.2.14 SelectBootMode函数
14.2.15 CopyData函数
14.2.16 SCI_Boot函数
14.2.17 Parallel_Boot函数(GPIO)
14.2.18 SPI_Boot函数
14.2.19 I2CBoot函数
14.2.20 eCAN Boot函数
14.2.21 ExitBoot汇编程序
14.3 建立引导表
14.3.1 C2000 Hex应用程序
14.3.2 eCAN引导装载COFF文件准备实例
14.4 思考题与习题
第15章 DSP控制器应用系统设计
15.1 2803x系统硬件设计
1.电源电路
2.时钟电路
3.复位电路
4.JTAG接口
5.其他电路扩展
15.2 基于DSP控制器的数字运动控制系统
1.永磁同步电动机矢量控制原理
2.永磁同步电动机数字伺服系统控制原理
3.永磁同步电动机空间矢量PWM控制
4.伺服控制系统结构与硬件设计
5.软件设计
15.3 快速傅里叶变换与FIR数字滤波器
15.3.1 快速傅里叶变换
15.3.2 FIR数字滤波器
15.4 基于CAN总线的分布式温度测量系统
1.温度测量
2.显示器电路
3.温度测量系统程序与MAX7219显示程序
4.分布式温度测量系统的DSP与PCCAN总线通信
15.5 思考题与习题
附录
附录A DSP控制器术语与符号英汉对照表
附录B 逻辑电路符号对照表
参考文献