STM32简单项目

项目需要的硬件设施

1.STM32主板

将STM32最小系统板插在面包板上,作为基本的硬件单元

STM32支持SWD和JTAG两种调试方式

项目所用为:

STM32F103C8T6:

系列:主流系列STM32F1,内核:ARM Cortex-M3,主频:72MHZ,RAM(运行内存):20K(SRAM:实际存储介质),ROM(程序存储器 ):64K(Flash:实际存储介质),供电:2.0V~3.6V(标准3.3V),封装:LQFP48。

项目使用STLINK来下载调试程序,STLINK用的是SWD的方式。

2.OLED

OLED作为调试和显示的屏幕。

3.STLINK:一款"下载器"兼"调试器"

STLIMK插在电脑上用于把程序烧录进芯片 ,以及实时调试芯片上正在运行的程序 。和供电

4.LED发光二极管(指示灯)

通过发光(或不发光)以及光的变化,来告诉你设备内部正在发生什么。

5.蜂鸣器(BZ/BUZ)

将电信号转换为声音信号 ,即发声 。它主要用于向用户提供听觉反馈。

6.TB6612FNC直流电机驱动模块

连接控制大脑(如单片机)和动力心脏(电机),把大脑(单片机)的弱信号,转化成驱动电机的大电流,并实现精密控制。

软件设备

Keil5 MDK:专门用来给ARM架构芯片(特别是常用的STM32系列**)编写和调试程序的。**

其他的一些设备

电位器:通过改变电阻值,来连续地调节电路中的电压或电流

USB转串口模块:使STM32和电脑进行串口通信。

光敏电阻模块:把"光线的强弱"这个物理量,转换成一个电路可以识别和处理的"电信号"(通常是电压高低或电阻大小)。进行IO口读取实验或者AD实验。

热敏电阻模块:把"温度的高低"这个物理量,转换成一个电路可以识别和处理的电信号(电压或电阻值)

对射式红外模块:利用"红外线通路是否被阻断"来检测两个物体之间是否存在遮挡物 。它相当于一个非接触式的、由光线控制的电子开关

反射式红外模块:利用"红外线是否被反射回来"来判断前方一定距离内是否有物体存在 。它相当于一个非接触式的、主动发射光线的"接近开关"

W25Q64 Flash存储模块:用于存储数据 并且是用SPI总线进行通信的。

MPU6050陀螺仪和加速度计:让电子设备能够精确地感知自身的运动姿态和受力情况, MPU6050 与主控芯片(如 Arduino、STM32)通过I2C 接口通信

旋转编码器:可以输出两路正交的方波信号,用于指示旋转的方向和速度

直流电机:把电能转换成机械能。

SG90舵机:用PWM进行控制,就是精确地旋转到一个指定的角度,并保持住这个位置 。它不像普通直流电机那样连续旋转,而是像一只"机械手",能够听从指令,将输出轴固定在0到180度之间的任意一个角度上。是一种特殊的位置伺服电机 ,它的核心任务就是定位。可以用来做一些机器人或者机械臂的关节。

STM32简介

STM32是基于ARM Coretx-M内核开发的32位微控制器。

STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等。

STM32功能强大、性能优异、片上资源丰富(除了内核和存储器,其他的就是片上资源(外设资源))、功耗低,是一款经典的嵌入式微控制器。

ARM

Cortex-R系列 和Cortex-M系列适用于嵌入式领域(单片机领域)。

Cortex-A系列适用于高端应用型领域(手机领域),性能最高。

片上资源/外设

STM32系统结构

ICode和DCode用来连接Flash和内核

Flash存放编写的程序

ICode指令总线用来加载程序指令

DCode数据总线用来加载数据,比如常量和调试数据

System系统总线连接内核和SRAM、FSMC

SRAM用于存储程序运行时的变量数据

AHB系统总线(AHB:先进高性能总线):用于挂载最基本或者性能高的外设,如复位和时钟控制、SDIO

APB:先进外设总线(用于连接一般的外设)

因为AHB和APB的总线协议、总线速度、数据传输格式的差异,所以需要两个桥接来完成数据的转换和缓存

性能:AHB(72MHz) > APB2(72MHz) > APB1(32MHz)

DMA:做一些简单反复的事情,如数据搬运

引脚定义

标橙色的是电源相关的引脚,标蓝色的是最小系统相关的引脚,标绿色的是IO口、功能口相关的引脚。

S代表电源,I代表输入,O代表输出,I/O代表输入输出

I/O口电平:代表IO口所能容忍的电压(FT:5V,没有FT容忍3.3V)

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1号引脚 VBAT:备用电池供电的引脚,接3V的电池,当系统电源断电时,备用电池可以给内部的RTC时钟和备份寄存器提供电源 |
| 2号引脚 IO口或者入侵检测或者RTC:IO口可以根据程序输出或者读取高低电平,侵入检测用来做安全保障的功能,RTC引脚可以用来输出RTC校准时钟、RTC闹钟脉冲或者秒脉冲 |
| 3、4号引脚 IO口或者接3.768KHz的RTC晶振 |
| 5、6号引脚 接系统的主晶振(一般为8MHz):芯片内有锁相环电路,可以对8MHz的频率进行倍频,最终产生72MHz的频率,作为系统的主时钟。 |
| 7号NRST是系统复位引脚,N代表它的低电平复位 |
| 8、9号引脚是内部模拟部分的电源,比如ADC模数转换器、RC振荡器 VSS是负极,接GND。VDD是正极,接3.3V |
| 10~19号引脚都是I/O口:其中PA0还兼具WKUP的功能,可以唤醒处于待机模式的STM32 |
| 20号引脚是I/O口或者BOOT1引脚(用来配置启动模式的) |
| 21,22号都是I/O口 |
| 23号VSS_1和24号VDD_1是系统的主电源口,VSS是负极,VDD是正极 35、36、47、48号都是主电源口 |
| 25~33号引脚都是I/O口 |
| 34号加上37~40号都是I/O口或者调试端口 调试端口:调试程序下载程序 STM32支持SWD和JTAG两种调试方式: SWD需要两根线,分别是SWDIO和SWCLK JTAG需要5根线,分别是JTMS、JTCK、JTDI、JTDO、NJTRST 项目使用STLINK来下载调试程序,STLINK用的是SWD的方式,只需占用PA13和PA14两个I/O口 |
| 41~43和45、46号都是I/O口 |
| 44号BOOT0用来启动配置 |
[引脚简介]

STM32及供电

STM32及供电

STM32图中C4、C5、C6是滤波电容 ,电容可以保证供电电压的稳定,一般遇到供电都会加上滤波电容。

VBAT接备用电池 ,正极接VBAT,负极接GND。备用电池是给RTC和备份寄存器服务的。

晶振电路

接一个8MHz的主时钟晶振,8MHz经过内部锁相环倍频,得到8 * 9 = 7MHz的主频,引脚分别连接STM32 5和6对应的引脚,另外还需要接两个20pF的电容,电容的另一端接GND

复位电路

用来给单片机提供复位信号,NRST接STM327号引脚,NRST是低电平复位。

当复位电路在上电的瞬间,电容是没有电的,电源通过电阻开始向电容充电,并且此时电容呈现短路状态,此时NRST引脚产生低电平。当电容逐渐充满电时,电容相当于断路,此时NRST就会被R1上来为高电平。

上电瞬间的波形就是先低电平,然后逐渐高电平。

K1按键按下时,电容会放电,并且NRST引脚接地,相当于手动产生了低电平复位信号,K1松开后,NRST回归高电平,此时单片机从复位状态转为工作状态。

启动配置

|-------------|--------|-----------------------------------------------|
| 0(低电平/接地) | X(任意) | 主Flash存储器(你烧写的用户程序) |
| 1(高电平/接VDD) | 0(低电平) | 系统存储器(芯片出厂内置的Bootloader,用于通过串口/USB重新烧录程序) |
| 1(高电平) | 1(高电平) | 内置SRAM(用于调试或临时运行程序) |
| 关键机制 :芯片只在复位信号释放(从低变高)的瞬间采样这些引脚的电平,并锁存起来。在正常运行过程中,你再改变这些引脚的电平是无效的。 |||

下载端口

下载端口"就是指把编译好的程序烧录到芯片内部Flash存储器的物理连接接口。它是在PCB上为烧录程序预留的一组引脚。

STM32F103C8T6核心板原理图

相关推荐
周洲08302 小时前
STM32+ESP8266 WiFi 远程环境监测平台|本地 OLED 显示 + TCP 上传电脑 / 手机
stm32·tcp/ip·电脑
GeekArch2 小时前
第8讲:裸机单片机项目——Vibe快速迭代的最优边界
c语言·stm32·单片机·嵌入式硬件·mcu·物联网·ai编程
Delta-delta2 小时前
M85-GCC13.3-CMSIS-接入笔记
笔记·单片机·嵌入式硬件
caimouse3 小时前
Phase1Initialization 函数分析
单片机·嵌入式硬件·reactos
2401_8275012814 小时前
51单片机(二):GPIO、中断、定时器与PWM
单片机·嵌入式硬件·51单片机
尼喃16 小时前
HDMI/DP高速差分接口ESD保护:0.3pF超低电容PWESD-5VSDF方案详解
嵌入式硬件
ACP广源盛1392462567316 小时前
GSV6155@ACP# 搭配 AI 服务器、AI PC 完整适配方案
大数据·服务器·人工智能·分布式·单片机·嵌入式硬件
Saniffer_SH17 小时前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
辰哥单片机设计18 小时前
STM32音乐播放器
stm32·单片机·嵌入式硬件