商品参数
书名:国产32位微控制器APM32E103原理与应用
书号:9787301353141
定价:58.00
作者/编者: 丁励,郜超军,侯广乾 主编
出版社:北京大学出版社
出版时间: 2024年09月
编辑推荐:
(1)关注基础知识和基本原理,关注细节。
(2)突出理论联系实际。“学中做、做中学”。
(3)全面覆盖,重点突出。
(4)本书的作者既是学校一线教师,又是长期从事芯片检测和SDK库开发的科研及工程技术人员。
(5)教学资源丰富,包括课件、案例视频、源代码。
本书以珠海极海半导体有限公司设计生产的APM32E103微控制器为例,详细讲解了ARM Cortex-M3处理器内核的基本原理及APM32E103微控制器的外设接口、SDK库和编程。主要内容包括ARM Cortex-M3处理器内核、APM32E103微控制器及SDK库、通用输入输出、中断和事件、定时器、USART接口、I2C接口、模拟量模块AD/DA、DMA控制器、SPI接口、SDIO接口、实时时钟和备份寄存器、CAN接口、EMMC控制器和USB接口及其他外设应用实例。本书在重视基础知识的同时,还列举了大量翔实的实例,这些实例大部分源自编者在微控制器测试过程中的积累与沉淀。
本书可作为高等院校计算机、自动化、电子信息、测控技术、电气工程等专业开设嵌入式微控制器课程的教材,也可作为从事嵌入式微控制器开发及应用的相关工程技术人员的参考用书。
目 录
第1章 ARM Cortex-M3处理器内核 1
1.1 ARM Cortex-M3处理器概述 1
1.1.1 ARM Cortex-M3处理器简介 1
1.1.2 ARM Cortex-M3处理器特性 2
1.2 ARM Cortex-M3处理器架构 2
1.2.1 架构简介及模块框图 3
1.2.2 操作模式和状态 5
1.2.3 寄存器 5
1.3 指令集 7
1.3.1 指令集背景简介 7
1.3.2 指令集分类 8
1.4 异常和中断 10
1.4.1 异常 10
1.4.2 嵌套向量中断控制器(NVIC) 11
1.4.3 向量表 12
1.5 存储器系统 13
1.5.1 存储器特性简介 13
1.5.2 存储器映射 13
1.6 复位 14
1.7 调试 15
本章小结 17
习题1 17
第2章 APM32E103微控制器及SDK库 18
2.1 APM32E103微控制器 18
2.1.1 概述 18
2.1.2 系统架构 18
2.1.3 存储器映射 22
2.1.4 位段 23
2.1.5 启动配置 24
2.1.6 电源 24
2.1.7 复位 25
2.1.8 时钟 26
2.2 APM32E103微控制器的SDK库 28
2.2.1 SDK库概述 28
2.2.2 SDK库的使用 30
2.2.3 SDK例程使用 35
2.3 本章小结 37
习题2 37
第3章 通用输入输出 38
3.1 通用输入输出概述 38
3.1.1 GPIO功能及配置 38
3.1.2 AFIO功能及配置 41
3.2 GPIO框图剖析及原理 42
3.2.1 GPIO输入模式剖析 43
3.2.2 GPIO输出模式剖析 44
3.2.3 GPIO位带操作原理 46
3.2.4 GPIO初始化结构体 47
3.3 APM32-GPIO编程实例 48
3.3.1 实例目标 48
3.3.2 硬件设计 48
3.3.3 软件设计 49
3.3.4 下载验证 51
本章小结 52
习题3 52
第4章 中断和事件 53
4.1 中断和事件概述 53
4.2 NVIC原理及配置 54
4.2.1 中断和异常向量表 54
4.2.2 中断优先级 58
4.2.3 中断挂起与解挂 59
4.2.4 中断活动与使能控制 60
4.2.5 中断编程要点 60
4.3 EINT原理及框图分析 61
4.3.1 EINT中断/事件线路 61
4.3.2 EINT结构框图分析 62
4.3.3 EINT中断/事件配置 64
4.3.4 EINT中断、事件线对比 66
4.4 中断和事件编程实例 67
4.4.1 实例目标 67
4.4.2 硬件设计 67
4.4.3 软件设计 67
4.4.4 下载验证 70
本章小结 72
习题4 72
第5章 定时器 73
5.1 APM32E103微控制器的定时器 73
5.2 APM32E103微控制器的基本定时器(TMR6/7) 75
5.2.1 基本定时器的主要结构 75
5.2.2 时钟源选择 75
5.2.3 计数方式 76
5.2.4 基本定时器的寄存器 77
5.3 APM32E103微控制器的通用定时器(TMR2/3/4/5) 77
5.3.1 通用定时器的主要结构 77
5.3.2 计数模式 79
5.3.3 输入捕获模式 82
5.3.4 比较输出模式 83
5.3.5 PWM输出模式 83
5.3.6 PWM输入模式 84
5.3.7 单脉冲模式 85
5.3.8 编码器接口模式 85
5.3.9 强制输出模式 85
5.3.10 中断和DMA请求 85
5.4 APM32E103微控制器的高级定时器(TMR1/8) 85
5.5 APM32E103微控制器的定时器编程 88
5.5.1 与定时器相关的库函数 88
5.5.2 定时器编程实例 91
本章小结 94
习题5 94
第6章 USART接口 95
6.1 串行通信简介 95
6.2 APM32E103微控制器的USART简介 98
6.2.1 主要特征 99
6.2.2 功能简介 99
6.2.3 USART中断 101
6.2.4 USART的DMA操作 102
6.3 USART串口通信编程 103
6.3.1 USART初始化 103
6.3.2 APM32E103微控制器的USART库函数 104
6.3.3 串口中断收发实例 105
本章小结 109
习题6 109
第7章 I2C接口 110
7.1 I2C总线概述 110
7.1.1 I2C总线物理结构 110
7.1.2 I2C总线数据传输 112
7.2 APM32E103微控制器的I2C接口 115
7.2.1 主要特点 116
7.2.2 APM32E103微控制器I2C接口结构 116
7.2.3 I2C通信中的事件 126
7.2.4 工作模式 128
7.2.5 I2C中断 129
7.2.6 I2C接口的DMA操作 130
7.3 APM32E103微控制器的I2C接口编程 131
7.3.1 I2C的相关库函数 131
7.3.2 I2C编程实例 133
本章小结 139
习题7 139
第8章 模拟量模块AD/DA 140
8.1 模拟/数字转换器概述 140
8.2 APM32E103微控制器的ADC功能描述 141
8.2.1 APM32E103微控制器的ADC简介 141
8.2.2 ADC的转换模式 142
8.2.3 单通道转换 143
8.2.4 多通道转换 144
8.2.5 ADC的相关设置 149
8.3 APM32E103微控制器的ADC编程 152
8.3.1 编程步骤 152
8.3.2 编程具体示例 153
8.4 数字/模拟转换器概述 156
8.5 APM32E103微控制器的DAC功能描述 158
8.5.1 APM32E103微控制器的DAC功能简介 158
8.5.2 DAC的相关设置 159
8.6 APM32E103微控制器的DAC编程 161
本章小结 163
习题8 164
第9章 DMA控制器 165
9.1 DMA概述 165
9.2 APM32E103微控制器的DMA功能描述 166
9.2.1 DMA简介 166
9.2.2 DMA请求 167
9.2.3 DMA传输 168
9.3 APM32E103微控制器的DMA编程 170
本章小结 174
习题9 174
第10章 SPI接口 175
10.1 SPI总线概述 175
10.1.1 SPI总线物理结构 175
10.1.2 SPI总线数据传输 177
10.2 APM32E103微控制器的SPI接口 179
10.2.1 主要特性 179
10.2.2 主要结构 180
10.3 APM32E103微控制器的SPI编程 187
10.3.1 SPI库函数 187
10.3.2 SPI编程实例 189
10.4 APM32E103微控制器的I2S接口 195
10.4.1 I2S总线物理结构 195
10.4.2 I2S设备互联 196
10.4.3 I2S数据格式 197
10.4.4 APM32E103微控制器的I2S接口简介 198
本章小结 200
习题10 200
第11章 SDIO接口 201
11.1 SDIO简介 201
11.1.1 SDIO总线物理层 201
11.1.2 SDIO总线协议 202
11.2 APM32E103微控制器的SDIO 206
11.2.1 主要特征 206
11.2.2 功能描述 207
11.2.3 标准库介绍 207
11.3 SD卡读写测试实例 210
11.3.1 硬件设计 210
11.3.2 软件设计 211
11.3.3 实例输出结果 213
本章小结 213
习题11 213
第12章 实时时钟和备份寄存器 214
12.1 实时时钟概述 214
12.1.1 内部结构 214
12.1.2 功能特性 215
12.1.3 复位过程 216
12.2 备份寄存器(BAKPR) 217
12.3 RTC编程 218
12.3.1 RTC初始化 218
12.3.2 RTC时间写入初始化 219
12.3.3 APM32E103微控制器的RTC库函数 220
12.3.4 利用APM32E103微控制器的RTC模块实现数字日历和闹钟功能实例 220
本章小结 227
习题12 227
第13章 CAN接口 228
13.1 CAN协议简介 228
13.1.1 CAN物理层 229
13.1.2 CAN协议层 236
13.2 CAN控制器 240
13.2.1 CAN功能及配置 240
13.2.2 CAN编程要点 249
13.3 APM32E103 CAN编程 254
13.3.1 目标 254
13.3.2 工作原理 254
13.3.3 编程要点及代码分析 254
13.3.4 下载验证 257
本章小结 258
习题13 258
第14章 EMMC控制器和
USB接口 259
14.1 EMMC控制器 259
14.1.1 EMMC控制器介绍 259
14.1.2 EMMC控制器实例 261
14.2 USB接口 266
14.2.1 USB应用场景 266
14.2.2 USB模拟HID设备
实例 268
本章小结 280
习题14 280
第15章 其他外设应用实例 281
15.1 SysTick 281
15.2 看门狗定时器 283
15.3 Flash及ISP、IAP编程 285
15.3.1 APM32E103微控制器芯片启动方式介绍 285
15.3.2 ISP编程实验 286
15.3.3 IAP编程实例 287
15.4 浮点运算单元 292
15.4.1 APM32E103微控制器的FPU 292
15.4.2 浮点运算单元编程实例 293
15.5 功耗管理 295
15.5.1 供电方案 296
15.5.2 SLEEP模式编程实例 297
15.5.3 STANDBY模式
编程实例 300
本章小结 302
习题15 302
参考文献 303
特别鸣谢 304
丁励
----------------------------
丁励,郑州大学—艾派克集成电路设计与应用研究院院长;浙江大学电气工程学院研究生企业导师;浙江省浙江大学-珠海艾派克联合实验室副主任;教育部嵌入式系统广东省珠海分中心副主任;广东省珠海市软件行业协会专家委员会副主任职务;教育部重点实验室“光电成像技术与系统”珠海分室学术委员会委员;珠海市集成电路行业杰出人物;获“珠海市香洲区人才”称号;中国第一枚通用耗材芯片设计者,基于国产CPU打印机主控SoC芯片研发带头人,2017年国家01重大专项负责人。
郜超军
----------------------------
郜超军,郑州大学-艾派克集成电路设计与应用研究院副院长。授权软件著作权1项,实用新型6项、发明专利2项;集成电路布图登记10项;参与《国产打印机核心SoC芯片系列化自主研制及规模化应用》项目,获得中国电子学会科技进步一等奖。指导学生参加研究生电子设计大赛获得国家特等奖,为郑州大学历史最高奖项。指导学生参加“互联网+”大赛,获得国家金奖。
侯广乾
----------------------------
侯广乾,郑州大学-艾派克集成电路设计与应用研究院副院长;极海微电子股份有限公司监事、研发总监;珠海艾派克盈丰投资中心(有限合伙)执行事务合伙人。
2011年,获得珠海市科技进步一等奖;2014年,获得珠海市青年优秀人才荣誉称号;2019年,获得广东省科技进步二等奖;2017年-2020年,主导参与工信部核高基《国产嵌入式CPU规模化应用》项目; 2021年,获得珠海市科技进步特等奖;2022年,获得中国电子学会科技进步一等奖。