《∈嵌入式控制系统原理及设计》樊卫华 | PDF下载|ePub下载
∈嵌入式控制系统原理及设计 版权信息
- 出版社:机械工业出版社
- 出版时间:2020-07-01
- ISBN:9787111645764
- 条形码:9787111645764 ; 978-7-111-64576-4
∈嵌入式控制系统原理及设计 内容简介
本书以嵌入式系统在自动控制系统中的应用为背景,基于ARM Cortex-M3 内核的STM32 嵌入式微处理器,系统地介绍嵌入式控制系统的基础知识、软件设计技术、接口设计技术以及嵌入式控制系统的特殊需求和设计内涵。 本书共7 章:第1 章介绍了嵌入式控制系统的基础知识;第2 章介绍了ARM Cortex-M3 内核的基础知识;第3 章介绍了嵌入式系统的汇编语言、C 语言程序设计、Thumb-2 指令集、嵌入式C 语言及混合编程;第4 章介绍了嵌入式控制系统的设计步骤和方法;第5 章介绍了嵌入式控制系统接口技术;第6 章介绍了嵌入式操作系统;第7 章介绍了嵌入式控制系统的设计案例。 本书可作为普通高校电气工程自动化、电子信息、计算机等相关专业的本科教材,也可供有关专业的研究生使用,并对从事自动控制系统设计的技术人员有较高的参考价值。
∈嵌入式控制系统原理及设计 目录
前言
第1章嵌入式控制系统基础1
1.1嵌入式系统的概念1
1.1.1嵌入式系统的定义1
1.1.2嵌入式系统的组成3
1.1.3嵌入式系统的特点6
1.1.4嵌入式系统的应用7
1.2嵌入式控制系统9
1.2.1嵌入式控制系统的概念9
1.2.2嵌入式控制系统的工作原理10
1.2.3嵌入式控制系统的优势13
本章小结13
思考题与习题14
第2章ARM微处理器基础15
2.1微处理器的基础知识15
2.1.1微处理器的基本结构17
2.1.2微处理器的工作原理19
2.2嵌入式微处理器概述22
2.2.1嵌入式微处理器的特点22
2.2.2嵌入式微处理器的分类23
2.3ARM微处理器概述26
2.3.1ARM微处理器的体系结构26
2.3.2ARM微处理器的特点28
2.3.3ARMCortex-M3微处理器内核28
2.4ARMCortex-M3的编程模型30
2.4.1数据类型30
2.4.2存储器格式30
2.4.3寄存器组织31
2.4.4操作模式34
2.4.5异常和中断35
本章小结39
思考题与习题39
第3章编程基础40
3.1汇编基础40
3.1.1汇编语言:基本语法40
3.1.2汇编语言:后缀的使用41
3.1.3汇编语言:统一汇编语言41
3.1.4指令列表42
3.2指令描述47
3.2.1汇编语言:传送数据47
3.2.2LDR和ADR伪指令49
3.2.3汇编语言:处理数据50
3.2.4汇编语言:调用和无条件跳转53
3.2.5汇编语言:决断和条件跳转54
3.2.6汇编语言:组合比较和条件跳转55
3.2.7汇编语言:使用IT指令的条件执行55
3.2.8汇编语言:指令屏障和存储器屏障指令56
3.2.9汇编语言:饱和运算56
3.3Cortex-M3支持的其他汇编语言57
3.3.1MSR和MRS57
3.3.2SDIV和UDIV58
3.3.3REV?REVH和REVSH58
3.3.4位反转58
3.3.5SXTB?SXTH?UXTB和UXTH58
3.3.6位域清除和位域插入59
3.3.7UBFX和SBFX59
3.3.8LDRD和STRD59
3.3.9表格跳转字节和表格跳转半字60
3.4嵌入式C语言程序设计基础60
3.5汇编语言与C语言的混合编程63
3.5.1简介63
3.5.2内嵌汇编指令64
3.5.3汇编与C程序的变量相互访问66
3.5.4汇编与C程序的函数相互调用68
本章小结70
思考题与习题70
第4章嵌入式控制系统设计基础71
4.1嵌入式控制系统的设计方法71
4.1.1嵌入式控制系统设计流程71
4.1.2软硬件协同设计技术73
4.2嵌入式系统硬件设计75
4.2.1原理图设计的基本原则75
4.2.2PCB图设计的基本规则79
4.3嵌入式系统软件设计82
4.3.1交叉开发环境82
4.3.2轮询系统83
4.3.3前后台系统84
4.3.4实时多任务系统86
本章小结88
思考题与习题88
第5章嵌入式系统接口技术90
5.1嵌入式微处理器的*小系统90
5.1.1电源电路91
5.1.2晶振电路94
5.1.3复位电路95
5.1.4JTAG调试接口电路96
5.1.5STM32启动模式电路97
5.2GPIO端口98
5.2.1GPIO端口简介98
5.2.2GPIO寄存器99
5.2.3GPIO库函数102
5.2.4GPIO使用示例105
5.3UART串行接口108
5.3.1串行通信基础108
5.3.2USART简介109
5.3.3STM32的USART硬件结构110
5.3.4USART操作112
5.3.5USART寄存器113
5.3.6USART库函数113
5.3.7RS-232接口电路及使用示例116
5.4EXTI中断系统121
5.4.1中断的基本概念122
5.4.2STM32的中断系统简介122
5.4.3嵌套向量中断控制器126
5.4.4NVIC和EXTI寄存器128
5.4.5库函数128
5.4.6中断示例130
5.5通用定时器133
5.5.1STM32的通用定时器134
5.5.2通用定时器的寄存器136
嵌入式控制系统原理及设计
5.5.3通用定时器的库函数137
5.5.4通用定时器的使用示例139
5.6模/数转换器(ADC)142
5.6.1ADC简介142
5.6.2STM32的ADC概述143
5.6.3ADC的寄存器146
5.6.4ADC的库函数146
5.6.5ADC示例150
5.7CAN总线153
5.7.1CAN简介153
5.7.2CAN总线的帧结构154
5.7.3STM32CAN总线156
5.7.4CAN的寄存器161
5.7.5CAN的库函数162
5.7.6CAN接口电路及示例166
本章小结171
思考题与习题171
第6章嵌入式操作系统及应用173
6.1嵌入式实时操作系统概述173
6.1.1嵌入式实时操作系统的概念174
6.1.2应用程序在操作系统上的执行过程176
6.1.3操作系统的分类177
6.1.4常见的嵌入式操作系统178
6.2?C/OS-II的内核机制182
6.2.1?C/OS-II的内核结构182
6.2.2?C/OS-II的任务管理188
6.2.3?C/OS-II的时间管理190
6.2.4任务间的通信与同步191
6.3?C/OS-II的程序设计模式193
6.4?C/OS-II的移植195
6.4.1?C/OS-II的体系结构195
6.4.2移植文件196
6.4.3测试移植代码200
本章小结200
思考题与习题200
第7章嵌入式控制系统案例分析202
7.1设计背景202
7.2双轴伺服转台的需求分析203
7.3系统总体设计204
目录
7.3.1系统总体结构204
7.3.2控制策略设计209
7.4系统研发218
7.4.1硬件概要设计218
7.4.2软件概要设计219
7.4.3控制算法设计221
7.5系统测试222
7.5.1测试设备222
7.5.2测试方法223
本章小结226
思考题与习题226
附录227
参考文献229
第1章嵌入式控制系统基础1
1.1嵌入式系统的概念1
1.1.1嵌入式系统的定义1
1.1.2嵌入式系统的组成3
1.1.3嵌入式系统的特点6
1.1.4嵌入式系统的应用7
1.2嵌入式控制系统9
1.2.1嵌入式控制系统的概念9
1.2.2嵌入式控制系统的工作原理10
1.2.3嵌入式控制系统的优势13
本章小结13
思考题与习题14
第2章ARM微处理器基础15
2.1微处理器的基础知识15
2.1.1微处理器的基本结构17
2.1.2微处理器的工作原理19
2.2嵌入式微处理器概述22
2.2.1嵌入式微处理器的特点22
2.2.2嵌入式微处理器的分类23
2.3ARM微处理器概述26
2.3.1ARM微处理器的体系结构26
2.3.2ARM微处理器的特点28
2.3.3ARMCortex-M3微处理器内核28
2.4ARMCortex-M3的编程模型30
2.4.1数据类型30
2.4.2存储器格式30
2.4.3寄存器组织31
2.4.4操作模式34
2.4.5异常和中断35
本章小结39
思考题与习题39
第3章编程基础40
3.1汇编基础40
3.1.1汇编语言:基本语法40
3.1.2汇编语言:后缀的使用41
3.1.3汇编语言:统一汇编语言41
3.1.4指令列表42
3.2指令描述47
3.2.1汇编语言:传送数据47
3.2.2LDR和ADR伪指令49
3.2.3汇编语言:处理数据50
3.2.4汇编语言:调用和无条件跳转53
3.2.5汇编语言:决断和条件跳转54
3.2.6汇编语言:组合比较和条件跳转55
3.2.7汇编语言:使用IT指令的条件执行55
3.2.8汇编语言:指令屏障和存储器屏障指令56
3.2.9汇编语言:饱和运算56
3.3Cortex-M3支持的其他汇编语言57
3.3.1MSR和MRS57
3.3.2SDIV和UDIV58
3.3.3REV?REVH和REVSH58
3.3.4位反转58
3.3.5SXTB?SXTH?UXTB和UXTH58
3.3.6位域清除和位域插入59
3.3.7UBFX和SBFX59
3.3.8LDRD和STRD59
3.3.9表格跳转字节和表格跳转半字60
3.4嵌入式C语言程序设计基础60
3.5汇编语言与C语言的混合编程63
3.5.1简介63
3.5.2内嵌汇编指令64
3.5.3汇编与C程序的变量相互访问66
3.5.4汇编与C程序的函数相互调用68
本章小结70
思考题与习题70
第4章嵌入式控制系统设计基础71
4.1嵌入式控制系统的设计方法71
4.1.1嵌入式控制系统设计流程71
4.1.2软硬件协同设计技术73
4.2嵌入式系统硬件设计75
4.2.1原理图设计的基本原则75
4.2.2PCB图设计的基本规则79
4.3嵌入式系统软件设计82
4.3.1交叉开发环境82
4.3.2轮询系统83
4.3.3前后台系统84
4.3.4实时多任务系统86
本章小结88
思考题与习题88
第5章嵌入式系统接口技术90
5.1嵌入式微处理器的*小系统90
5.1.1电源电路91
5.1.2晶振电路94
5.1.3复位电路95
5.1.4JTAG调试接口电路96
5.1.5STM32启动模式电路97
5.2GPIO端口98
5.2.1GPIO端口简介98
5.2.2GPIO寄存器99
5.2.3GPIO库函数102
5.2.4GPIO使用示例105
5.3UART串行接口108
5.3.1串行通信基础108
5.3.2USART简介109
5.3.3STM32的USART硬件结构110
5.3.4USART操作112
5.3.5USART寄存器113
5.3.6USART库函数113
5.3.7RS-232接口电路及使用示例116
5.4EXTI中断系统121
5.4.1中断的基本概念122
5.4.2STM32的中断系统简介122
5.4.3嵌套向量中断控制器126
5.4.4NVIC和EXTI寄存器128
5.4.5库函数128
5.4.6中断示例130
5.5通用定时器133
5.5.1STM32的通用定时器134
5.5.2通用定时器的寄存器136
嵌入式控制系统原理及设计
5.5.3通用定时器的库函数137
5.5.4通用定时器的使用示例139
5.6模/数转换器(ADC)142
5.6.1ADC简介142
5.6.2STM32的ADC概述143
5.6.3ADC的寄存器146
5.6.4ADC的库函数146
5.6.5ADC示例150
5.7CAN总线153
5.7.1CAN简介153
5.7.2CAN总线的帧结构154
5.7.3STM32CAN总线156
5.7.4CAN的寄存器161
5.7.5CAN的库函数162
5.7.6CAN接口电路及示例166
本章小结171
思考题与习题171
第6章嵌入式操作系统及应用173
6.1嵌入式实时操作系统概述173
6.1.1嵌入式实时操作系统的概念174
6.1.2应用程序在操作系统上的执行过程176
6.1.3操作系统的分类177
6.1.4常见的嵌入式操作系统178
6.2?C/OS-II的内核机制182
6.2.1?C/OS-II的内核结构182
6.2.2?C/OS-II的任务管理188
6.2.3?C/OS-II的时间管理190
6.2.4任务间的通信与同步191
6.3?C/OS-II的程序设计模式193
6.4?C/OS-II的移植195
6.4.1?C/OS-II的体系结构195
6.4.2移植文件196
6.4.3测试移植代码200
本章小结200
思考题与习题200
第7章嵌入式控制系统案例分析202
7.1设计背景202
7.2双轴伺服转台的需求分析203
7.3系统总体设计204
目录
7.3.1系统总体结构204
7.3.2控制策略设计209
7.4系统研发218
7.4.1硬件概要设计218
7.4.2软件概要设计219
7.4.3控制算法设计221
7.5系统测试222
7.5.1测试设备222
7.5.2测试方法223
本章小结226
思考题与习题226
附录227
参考文献229