描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302664192丛书名: 集成电路设计与实践丛书
本书深入浅出地讲解嵌入式系统开发的基础知识,从原理、方法、工程实践等多视角介绍ARM MCU嵌入式开发中的各种常用技术,为每个知识点配备了开发案例,使读者既能掌握工程开发方法,又能掌握技术原理,为后续整个技术生涯奠定坚实基础。
易教易学:针对本科教学的特点,配套了教学视频、实验案例,并开发了配套教学硬件。
理论联系实践:强调工程应用的同时注重底层原理的解释,让读者能知其然、知其所以然。
本书深入浅出地讲解嵌入式系统开发的基础知识,从原理、方法、工程实践等多视角介绍ARMMCU嵌入式开发中的各种常用技术,为每个知识点配备了开发案例,使读者既能掌握工程开发方法,又能掌握技术原理,为后续整个技术生涯奠定坚实基础。
本书共12章,前两章讲述基本概念、开发环境准备及ARMCortex-M3架构;第3~5章讲述基础的GPIO、中断机制和定时器机制;第6~9章讲述常用的通信方法,包括串行通信、I2C、SPI、CAN;第10章讲述ADC的原理与应用;第11章进一步讲述如何通过DMA技术进行ADC采样;第12章通过舵机、步进电机讲解GD32进行电机控制的入门知识。
本书由多位十数年嵌入式研发与教学经验的高校教师、企业工程师组成的团队共同编著完成,所有案例都是基于国产GD32F10x系列芯片实现,并且为每章都配套了详细的视频讲解,助力读者轻松零基础入门并精通ARM单片机开发。本书既可作为高等院校和培训机构相关专业的教学参考书,也可供正在为ARM芯片选择国产替代方案的企业工程师选作技术参考书。
配套课件(PPT)
源码及原理图
第1章概述(112min)
1.1理解嵌入式系统的概念
1.1.1什么是嵌入式系统
1.1.2嵌入式系统的构成原理
1.1.3嵌入式系统的分类
1.1.4嵌入式系统的处理器技术简介
1.2ARM简史
1.2.1ARM的发展历程
1.2.2ARM架构的变迁
1.2.3ARM嵌入式开发的学习路线
1.3准备工作
1.3.1教材配套开发板介绍
1.3.2开发环境准备
1.3.3创建GD32F10x模板工程——点亮一个LED
1.4小结
1.5练习题
1.6实验: 更改模板工程软件,点亮两个LED
第2章GD32F10x的架构(99min)
2.1图灵机与计算机架构
2.1.1图灵机简介
2.1.2冯·诺依曼结构与哈佛结构
2.1.3算术逻辑部件与锁存器
2.2CortexM3架构简介
2.2.1架构总览
2.2.2CortexM3的重点模块
2.2.3ARM指令集与三级流水线
2.2.4存储器映射
2.3GD32F10x对CortexM3架构的实现
2.3.1总体架构
2.3.2存储器与映射
2.3.3启动配置
2.3.4电源控制
2.3.5复位
2.3.6时钟控制
2.4小结
2.5练习题
第3章通用输入/输出端口GPIO(184min)
3.1芯片的常用封装
3.2GPIO工作原理
3.2.1内部结构框图
3.2.2输出工作模式
3.2.3输入工作模式
3.3GPIO主要寄存器简介
3.3.1端口控制寄存器
3.3.2端口输入状态寄存器(GPIOx_ISTAT,x=A..G)
3.3.3端口输出控制寄存器(GPIOx_OCTL,x=A..G)
3.3.4端口位操作与位清除寄存器
3.3.5端口配置锁定寄存器(GPIOx_LOCK,x=A,B)
3.3.6AFIO端口配置寄存器0(AFIO_PCF0)
3.4GPIO常用库函数介绍
3.4.1初始化函数
3.4.2输入输出控制函数
3.4.3状态查询函数
3.5GPIO案例: 按键控制LED亮灭
3.5.1案例需求
3.5.2案例方法
3.5.3案例代码
3.5.4效果分析
3.6小结
3.7练习题
3.8实验: 物理按键软件消抖
3.8.1实验目标
3.8.2实验方法分析
3.8.3实验代码
3.8.4实验现象
第4章中断和事件(107min)
4.1中断的概念
4.2嵌套向量中断控制器NVIC
4.2.1NVIC简介
4.2.2NVIC工作机制
4.2.3NVIC配置
4.3EXTI外部中断/事件控制器
4.3.1EXTI简介
4.3.2EXTI原理
4.3.3EXTI通用IO映像
4.3.4EXTI使用方法
4.4EXTI外部中断处理的常用库函数简介
4.4.1初始化或使能相关函数
4.4.2EXTI外部中断响应处理相关函数
4.5中断案例: 中断式触摸按键控制LED
4.5.1案例需求
4.5.2案例方法
4.5.3案例代码
4.5.4效果分析
4.6小结
4.7练习题
4.8实验: 上升沿和双边沿触发的中断
4.8.1实验目标
4.8.2实验方法分析
4.8.3实验代码
4.8.4实验现象
第5章定时器(439min)
5.1理解定时器
5.1.1可编程定时/计数器
5.1.2理解GD32F10x的时钟树
5.2系统滴答定时器SysTick
5.2.1SysTick的工作原理
5.2.2SysTick的使用方法
5.2.3SysTick案例: SysTick控制LED闪烁
5.3实时时钟
5.3.1RTC的原理
5.3.2常用库函数
5.3.3RTC的使用方法
5.3.4RTC案例——RTC日历
5.4看门狗
5.4.1独立看门狗
5.4.2窗口看门狗
5.4.3看门狗案例——独立看门狗使用示例
5.5定时器
5.5.1基本定时器
5.5.2通用定时器
5.5.3高级定时器
5.5.4定时器使用
5.6小结
5.7练习题
5.8实验: PWM实现呼吸灯效果
5.8.1实验目标
5.8.2实验方法分析
5.8.3实验代码
5.8.4实验现象
第6章通用同步/异步串行通信USART(160min)
6.1串行通信原理概述
6.1.1串行通信的硬件连接
6.1.2异步串行通信的数据帧
6.2GD32F10x的串口工作原理
6.2.1USART的结构框图
6.2.2利用库函数设置和使用串口
6.3UART案例: 以串口查询方式发送数据
6.3.1案例目标
6.3.2案例方法
6.3.3案例代码
6.3.4效果分析
6.4小结
6.5练习题
6.6UART实验: UART的中断式接收
6.6.1实验目标
6.6.2实验方法分析
6.6.3实验代码
6.6.4实验现象
第7章集成电路总线I2C通信(350min)
7.1理解I2C
7.1.1I2C的物理层
7.1.2I2C的协议层
7.2GD32的I2C模块
7.2.1数据有效性
7.2.2开始与停止状态
7.2.3时钟同步和仲裁
7.2.4编程模型
7.2.5DMA模式下数据传输
7.2.6报文错误校验
7.2.7状态、错误和中断
7.3I2C案例: 软件模拟I2C控制LM75AD
7.3.1案例目标
7.3.2案例方法
7.3.3案例代码
7.3.4效果分析
7.4小结
7.5练习题
7.6I2C实验: 硬件I2C控制OLED屏显示
7.6.1实验目标
7.6.2实验方法分析
7.6.3实验代码
7.6.4实验现象
第8章串行外设SPI(252min)
8.1认识SPI
8.1.1SPI协议原理概述
8.1.2一主一从的SPI通信过程
8.1.3一主多从的SPI连接方式
8.2GD32中的SPI外设
8.2.1功能框图
8.2.2模式配置
8.3SPI案例: 软件模拟SPI读写W25Qxx
8.3.1案例目标
8.3.2案例方法
8.3.3案例代码
8.3.4效果分析
8.4小结
8.5练习题
8.6SPI案例: 硬件SPI操作W25Q32
8.6.1实验目标
8.6.2实验方法分析
8.6.3实验代码
8.6.4实验现象
第9章控制器局域网(170min)
9.1理解CAN
9.1.1CAN协议简介
9.1.2CAN协议的物理层
9.1.3CAN协议的数据链路层
9.1.4CAN的位同步
9.2GD32的CAN外设
9.2.1一般使用流程
9.2.2工作与通信模式
9.2.3数据收发
9.2.4过滤功能
9.2.5中断
9.3小结
9.4练习题
9.5CAT实验: 自回环通信模式案例
9.5.1实验目标
9.5.2实验方法分析
9.5.3实验代码
9.5.4实验现象
第10章模数转换器(142min)
10.1ADC一般概念
10.1.1模拟信号与数字信号
10.1.2模数原理概述
10.2GD32F10x的ADC外设
10.2.1ADC电源与时钟
10.2.2ADC通道和转换顺序
10.2.3运行模式
10.2.4采样时间与外部触发配置
10.3ADC库函数的使用
10.3.1常用库函数
10.3.2利用库函数实现ADC步骤
10.4小结
10.5练习题
10.6ADC实验: 测量光敏电阻的阻值
10.6.1实验目标
10.6.2实验方法分析
10.6.3实验代码
10.6.4实验现象
第11章直接数据存储DMA(160min)
11.1概述
11.2DMA控制器原理
11.2.1理解DMA框图
11.2.2MDA寄存器
11.2.3DMA传输过程
11.3GD32F10x的DMA
11.3.1GD32F10x的DMA原理框图
11.3.2DMA传输功能要点
11.3.3DMA流程解析
11.4小结
11.5练习题
11.6DMA实验: DMA ADC摇杆用法
11.6.1实验目标
11.6.2实验方法分析
11.6.3实验代码
11.6.4实验现象
第12章电机控制入门(248min)
12.1舵机
12.1.1构成原理
12.1.2使用方法
12.1.3舵机案例: 旋转编码器控制舵机旋转
12.2步进电机
12.2.1工作原理
12.2.2步进电机驱动ULN2003
12.3小结
12.4练习题
12.5步进电机实验: 步进电机正反转控制
12.5.1实验目标
12.5.2实验方法分析
12.5.3实验代码
12.5.4实验现象
参考文献
党的二十大报告中指出: 教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,这三大战略共同服务于创新型国家的建设。高等教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。
一方面,在信息技术越来越发达的今天,嵌入式系统正在以前所未有的速度融入我们的生活、工作、娱乐等方方面面。从普通的键盘、鼠标,到无人机、3D打印机,甚至月球车、火星车,无不是嵌入式系统在大显身手。另一方面,中美贸易摩擦不断,特别是在芯片相关领域的冲突不断升级,国内相关厂家寻找国产替代主控芯片的工作刻不容缓。
我国厂商在选用国外品牌的ARM主控芯片时通常会碰到两个问题: ①
货源供应不稳定,产能随时会受限制; ②
芯片价格波动大,给终端产品的市场定价、客户维系等带来极大困难。因此,积极寻找国产芯片替代成为目前所有中国嵌入式相关行业上下游厂家的共识。但是,国产芯片由于发展时间相对较短,厂家在选用国产芯片替代时又存在配套学习资源缺乏、熟练的技术人员招聘困难等问题。因此,无论是高校相关专业的师生还是智能硬件相关产业的技术人员,都急需一套专门针对国产ARM芯片的基础教程。
针对上述现状,作者总结多年的嵌入式研发与教学经验、查阅大量参考资料编写成本书,力求清晰地阐述所有ARM单片机开发涉及的知识点,并为所有知识点都配套了讲解详细的视频,同时配有实用性强的案例、与工程实际接近的参考代码等电子资源,使读者学完本书内容后可以直接上手实际项目开发。同时,作者联合业内知名的国产ARM芯片应用厂家开发了一套与教材内容适配的开发板,开发板制作精良、价格实惠,此开发板既可作为学习工具,同时其各个模组的案例代码也可在后续的实际项目开发中直接移植使用。
本书深入浅出地讲解嵌入式系统开发的基础知识,从原理、方法、工程实践等多视角介绍ARM MCU嵌入式开发中的各种常用技术,为每个知识点配备了开发案例(配套电子资源,有翔实注释的代码),使读者既能掌握工程开发方法,又能掌握技术原理,为后续整个技术生涯奠定坚实基础。虽然本书在编写过程中尽量做到深入浅出,以使读者能够从零基础入门嵌入式开发,但依然建议读者在阅读本书之前具备一定的C语言开发基础及硬件电路的基础知识。
本书中的案例全部采用GD官方的标准库函数开发完成,案例均采用模块化的方式进行设计实现,各种模块代码既可以供读者在学习时模仿复现,也可以在将来的技术开发中直接复用。
资源下载提示
素材(源码)等资源: 扫描目录上方的二维码下载。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。
由于编者水平所限,书中难免有疏漏,恳请读者批评指正。
编者
2024年4月
评论
还没有评论。