Day 4
一.什么是单片机
单片机(Single - Chip Microcomputer)单片机微型计算机,是一种集成电路芯片,把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、闪存 flash、多种 I/O 口和中断系统、定时器 / 计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
架构:

特点:体积小,功耗低,集成度高,使用方便,扩展灵活
二.Cortex-M系列介绍
2.2 Cortex-M 系列介绍
2.2.1 ARM 公司与 ST 公司
ARM 公司:只做内核设计和 IP 授权,不参与芯片设计。
ST 公司:拿到 ARM 公司授权后,进行芯片设计。类似的公司还有华为、高通、NXP 等。
2.2.2 ARM 内核系列
A 系列:Application 缩写。高性能应用,比如:手机、电脑、电视等。
R 系列:Real-time 缩写。实时性强,汽车电子、军工、无线基带等。
M 系列:Microcontroller 缩写。超低功耗,工控、消费电子、家电、医疗器械等。
性能由高到低,时钟频率由高到低。
2.2.3 STM32 命名规则
ST-- 意法半导体
M–Microelectronics 微电子
32-- 总线宽度
我们用的上官二号开发板使用的是STM32F103C8T6

三.关于数据手册
3.1关于数据手册
ST官网:www.ST.com 在ST官网搜索芯片型号,然后下载手册
万能的某宝详情页白嫖 万能的某度
3.2如何阅读数据手册

两个里选一个 重点关注引脚定义

四.嵌入式硬件基础
4.1 认识上官二号核心板(核心板)
- 主控芯片: STM32F103C8T6
- 高速晶振: 8M
- 低速晶振: 32.768k
- LED: 5 颗
- KEY: 3 个
| 项目 | 介绍 |
|---|---|
| 内核 | Cortex-M3 |
| Flash | 64K x 8bit |
| SRAM | 20K x 8bit |
| GPIO | 37 个 GPIO,分别为 PA0 - PA15、PB0 - PB15、PC13 - PC15、PD0 - PD1 |
| ADC | 2 个 12bit ADC 合计 12 路通道,外部通道: PA0 到 PA7 + PB0 到 PB1 内部通道:温度传感器通道 ADC_Channel_16 和内部参考电压通道 ADC_Channel_17 |
| 定时器 / 计数器 | 4 个 16bit 定时器 / 计数器,分别为 TIM1、TIM2、TIM3、TIM4,TIM1 带死区插入,常用于产生 PWM 控制电机 |
| 看门狗定时器 | 2 个看门狗定时器 (独立看门狗 WDG、窗口看门狗 WWDG) |
| 滴答定时器 | 1 个 24bit 向下计数的滴答定时器 systick |
| 工作电压、温度 | 2V - 3.6V、-40°C - 85°C |
| 通信串口 | 2 * IIC,2 * SPI,3 * USART,1 * CAN |
| 系统时钟 | 内部 8MHz 时钟 HSI 最高可倍频到 64MHz,外部 8MHZ 时钟 HSE 最高可倍频到 72MHZ |
4.2 STM32F103C8T6引脚分布
- 电源引脚
基本以字母 V 开头,比如 VDD/VSS、VDDA/VSSA、VREF+/VREF-、VBAT 等。
VDD/VSS:数字部分电源正 / 负引脚,为 STM32 供电。
VDDA/VSSA:模拟部分电源正 / 负引脚,为内部模拟部分供电。
VREF+/VREF-:为 ADC/DAC 提供参考电压,100 脚以上的型号才有这两个脚。
VBAT:RTC / 后备区域供电引脚。 - 晶振引脚
一共两组:OSC_IN/OSC/OUT、OSC_IN32/OSC_OUT32。
OSC_IN/OSC/OUT:外部 HSE 晶振引脚(高速),用于给 STM32 提供高精度系统时钟。
OSC_IN32/OSC_OUT32:外部 LSE 晶振引脚(低速),用于给 STM32 内部 RTC 提供晶振。
内部晶振:HSI、LSI - 复位引脚
只有一个:NRST
用于复位 STM32,低电平有效。 
只能下载程序,无法调试
BOOT引脚
BOOT0 和 BOOT1
4.3STM32最小系统
单片机最小系统是指能够将单片机芯片运行所必需的最少的硬件电路集成在一起的系统。
它是一种基本的单片机应用系统,通常由主芯片,时钟电路,复位电路,电源电路,BOOT 启动电路,程序下载电路,扩展接口组成,为单片机提供时钟信号、复位信号以及外设接口等必要功能。

STM32 中的晶振是一个非常重要的组成部分,它为整个系统提供了一个稳定的时钟源。具体来说,晶振在 STM32 中的作用如下:
- 提供时钟信号:晶振是一个振荡器,它会产生连续的脉冲信号,这些信号的频率非常稳定。STM32 微控制器中的 CPU 和其他外围设备需要一个稳定的时钟信号来协调它们的工作。因此,晶振为整个系统提供了一个可靠的时钟源,使得各个模块能够以相同的频率工作,从而保证系统的稳定性和准确性。
- 决定 CPU 的工作速度:晶振的频率决定了 CPU 的工作速度。频率越高,CPU 的执行速度就越快;反之,频率越低,CPU 的执行速度就越慢。因此,根据实际需求选择合适的晶振,可以确保系统在满足性能要求的同时,不会造成不必要的功耗浪费。
- 确保外围设备的正常工作:除了 CPU 之外,系统中还有很多其他的外围设备,如串口、定时器、ADC 等。这些外围设备也需要时钟信号来进行工作。晶振提供的时钟信号可以确保这些外围设备正常、准确地工作。
- 解决电磁兼容性问题:一些外围设备在工作时可能会产生电磁干扰,这些干扰可能会影响系统的稳定性。而晶振产生的时钟信号是高度稳定的,因此使用晶振可以减少由于电磁干扰导致的系统误差或故障。
综上所述,晶振在 STM32 微控制器中起着非常重要的作用。它不仅为整个系统提供了一个稳定的时钟源,还决定了 CPU 的工作速度和外围设备的正常工作。因此,选择合适的晶振对于保证系统的稳定性和准确性至关重要。
4.4电路基础知识
上拉、下拉电阻

比如:对这个LED灯来讲,要用上拉电阻 因为上拉电阻导通输出3.3V 如果用下拉(导通输出0v),将会导致LED灯常量
电容:电容常起滤波作用,又叫滤波电容
电感:通直流阻交流
电源:供电系统

这是连接器,又叫做‘排针’

DB9 和 USB接口

这是按键/开关

二极管 : 左边是发光二极管 用来做LED 右边是普通二极管 主要起保护作用 防止电流过大/过小

引脚输出电压比VDD大 多余电流就会往上走 如果输出电压小于Vss 将会从下面往上补电流 因此可以

这是三极管 可以理解为水龙头


如图可见,NPN(N型)三极管必须要高电平才能导通 PNP(P型)三极管必须要低电平才能导通

稳压器件

比如这个稳压器件,输入是5v可稳压到3.3v
各种门电路(不要看原理图,看符号)

非门 :若输入1则 输出0 若输入0 则输出1

与门:两个输入一次输出(两个条件都要满足)

或门:两次输入 一次输出(只需要满足1个条件)

异或门:两次输入一次输出(一样输出0 不一样shu’h’c)
4.5如何查看原理图
主线任务:

电源电路:type-c (如下所示)

VBUS通过右下角的开关,如果右下角开关1拨到3,此时VBUS将会开始主动供电,提供5V的电压
F1:保险丝
DR1:瞬态抑制二极管
瞬态抑制二极管是一种过压保护器件,在电路中主要起以下作用:
-
快速响应:当电路中出现瞬间的高电压脉冲(比如静电放电、雷击感应、电源切换时的浪涌等),TVS 能在极短的时间(纳秒级)内从高阻状态变为低阻状态。
-
钳位电压:迅速导通后,TVS 会将电路中的电压钳制在一个相对安全的水平,避免过高的电压对电路中的其他敏感元件(如芯片、集成电路等)造成损坏。
这是一个稳压器,它可以输出3.3V的电压:

这是几个引脚:

这是我们的芯片:

VDD,VDDA,VBAT都接到一起(3.3v)VDD_X是数字部分的电压VDDA是模拟部分的
VSS 全部接到了GND
这里没有VREF (100引脚以上才有)
复位电路(对应上图芯片中的NRST):

按下SW3 给NRST一个低电平后即可复位 上方R8是上拉电阻
晶振电路:

左边是8MHz高速晶振 右边是32.768K(频率1s)低速晶振(RTC专供)

晶振主要接芯片中圈起来的引脚
下载电路:

只要用SWDIO和SWCLK两个接口 就可以下载
BOOT:

R12是下拉电阻,这里BOOT0默认电压将为0
GPIO口:

按键电路:

这里的电阻是上拉电阻,默认3.3V
LED:

总共五颗LED灯 右上角为常亮(电源指示灯)

这两颗灯通过编程的方式亮灭

这两颗灯接了串口二 一旦有信息通过就会亮
AT24C64芯片:

通过I2C进行通信 这个用于掉电储存(E2PROM)
五.开发环境搭建
5.1 官方安装包获取
5.1.1MDK5
在ST官网可获得官方安装包
5.1.2器件包
什么是器件包呢?由于ST公司生产了非常多的芯片,每颗芯片所需要的支持文件都不一样,这些文件组合起来就是器件包。
但有这么多芯片,他们不可能把所有的器件包都集成在MDK5里,否则MDK5的安装包将变得超级无敌巨大,很占空间也没必要。比较好的解决方案是:你需要用到什么芯片,就安装对应的器件包就可以了。
器件包也是在官网上可以下载到,直接搜索芯片名
5.2Cubemax安装
浏览器搜索即可进入官网,依据电脑版本选择
5.3为什么要安装CH340驱动

由于两个电平不同,所以要安装CH340,进行电平转换
USB转TTL的RX和TX一定要交叉链接(RX-TX TX-RX)
两个作用:串口通信和下载程序
他们不可能把所有的器件包都集成在MDK5里,否则MDK5的安装包将变得超级无敌巨大,很占空间也没必要。比较好的解决方案是:你需要用到什么芯片,就安装对应的器件包就可以了。
器件包也是在官网上可以下载到,直接搜索芯片名
5.2Cubemax安装
浏览器搜索即可进入官网,依据电脑版本选择
5.3为什么要安装CH340驱动
[外链图片转存中…(img-tS0oLZuQ-1750868236467)]
由于两个电平不同,所以要安装CH340,进行电平转换
USB转TTL的RX和TX一定要交叉链接(RX-TX TX-RX)
两个作用:串口通信和下载程序
2215

被折叠的 条评论
为什么被折叠?



