STM32——MCU简单介绍

本文介绍了MCU的基础知识,包括其组成和常见类型,重点讲解了STM32系列,解析了STM32产品型号的命名规则。同时,阐述了如何查阅数据和参考手册,以及搭建STM32的最小系统环境。此外,还提及了STM32的开发方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、单片机基础简介

本篇文章仅作为作者个人笔记使用以及帮助有需要的人,不作权威性使用。

1.MCU简介

mcu目前的使用广泛,多为小型智能产品,如:手环、空气检测仪、智能垃圾桶等等。

(1)MCU的组成

查看视频:https://b23.tv/JSiw8s 单片机的内部结构及工作原理视频介绍。
在这里插入图片描述
内核ARM的介绍:ARM公司只设计内核(IP核)
8位、16位、32位、64位 – 内核的处理数据能力。
芯片厂商:海思、乐鑫、兆易、三星、高通、ST、NXP等等
在这里插入图片描述
在这里插入图片描述
获取输入信号,经过逻辑分析,输出输出信号。
1.数据接口 – 硬件连接+时序(bug)
2.逻辑分析数据,处理数据 – 编程语言
MCU:智能集成电路(处理器+内存+硬盘+USB接口+网口等等)。
MCU主要做数据采集、数据小量的处理以及控制。 – 与底层传感器、电机等等设备接触。
MCU底层的通信以及接口比较多
采集信号,处理信号,输出控制信号

(2)常见的MCU

以控制为主:NXP(恩智浦)、 ST(意法半导体)、兆易等等
以无线通信为主:TI(德州仪器)、乐鑫等等
以低功耗等等
国产MCU:
国产MCU品牌汇总|单片机品牌汇总|国产MCU优势 (360doc.com)
2022年50家国产MCU厂商综合信息汇总 - 知乎 (zhihu.com)
在这里插入图片描述
国产GD32和STM32的区别:
总结了STM32和GD32的一些区别-技术圈 (proginn.com)

芯片的选型:
先看芯片的资源和项目是否匹配:
芯片引脚越多,价格越贵,根据项目需求选择合适数量的芯片
芯片的rom和ram,
在芯片资源相同的情况:
考虑芯片的价格和芯片的资料是否完善,芯片资料越完善,开发难度越低

2.STM32简介

STM32是意法半导体(意大利)采用ARM公司设计的内核,设计一系列32位单片机芯片。
在这里插入图片描述
命名:STM32F103ZET6
芯片资源
开发资料:中文参考手册/数据手册/固件库使用手册
单片机运行:需要晶振去提供

(1)STM32&STM8产品型号–各个字母的含义

在这里插入图片描述

3.如何查手册

一般有数据手册和参考手册,可以到官网下 https://www.st.com/content/st_com/zh.html
数据手册主要用于芯片的选型和设计原理图时候参考,参考手册主要用于在编程的时候查阅。

(1)数据手册

找到单片机型号的数据手册,里面有详细的引脚的查找与使用

·芯片信息

在这里插入图片描述
(1) 内核:arm 32bit的Cortex-M3 CPU
(2) 最大工作频率:72MHZ
(3) 存储:
256/512Kbyte—Flash;
64Kbyte—SRAM;
(4) 低功耗模式:睡眠/停机/待机
(5) Debug模式:SWD/JTAD接口
(6) 3个ADC、2个DAC转换;
(7) 高达112个快速IO通道;
(8) 11个定时器
(9) 13个通信接口
(10) 内置CRC计算单元和芯片ID

·总线框图

在这里插入图片描述
双向箭头:数据总线
AHB、APB1、APB2总线用于CPU和各个外设进行通信交流。

·时钟树

在这里插入图片描述
MCU(微型计算机)在同一的时钟节拍下同步工作,时钟节拍为高、低电平组成的波,一个时钟周期内只能执行一条指令。
在这里插入图片描述
时钟周期的长度影响微控制器的速度,所以时钟频率也称为微控制器的主频,主频越高,微控制的性能越高。

2个外部:通过晶振
高速:HSE – 4~16MHz (咱们使用8MHz) – 整个单片机提供时钟
低速:LSE – 32.768KHz – RTC提供(实时时钟)
2个内部:通过RC振荡电路
高速:HSI – 8MHz
低速:LSI – 40KHz – 看门狗定时器

·内存映射

在这里插入图片描述

程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。
可访问的存储器空间被分成8个主要块,每个块为512MB。
数据字节以小端格式存放在存储器中。一个字里的最低地址字节被认为是该字的最低有效字节,而最高地址字节是最高有效字节。

(2)参考手册

在这里插入图片描述

(3)芯片选型手册

根据不同所需选择不同型号的单片机
在这里插入图片描述

4.MCU最小电路环境

(1)供电:提供给MCU工作的电源

在这里插入图片描述

(2)复位:复位键未点击,RESET为高电平,点击为低电平

在这里插入图片描述
在这里插入图片描述

(3)时钟:高速晶振8MHZ,低速晶振32.768KHZ

在这里插入图片描述
在这里插入图片描述

(4)下载电路:向单片机烧录程序的电路

在这里插入图片描述
在这里插入图片描述

5.STM32开发的几种方式

在这里插入图片描述

### STM32冷链物流监测系统毕业设计方案 #### 1. 系统概述 基于STM32的冷链物流监测系统旨在解决冷链运输过程中温度监控和运输平稳性的需求。该系统通过集成多种传感器(如温度传感器、加速度传感器),实现了对货物运输环境的全面监测,并提供实时数据显示功能,确保货物在运输过程中的安全性和稳定性。 此方案的核心目标是利用STM32微控制器的强大处理能力,结合现代传感技术与通信手段,构建一套高效可靠的冷链物流监测解决方案[^3]。 --- #### 2. 硬件设计 ##### (1) 主控芯片选择 选用STM32系列微控制器作为核心处理器,因其具备高性能ARM Cortex-M内核、丰富的外设接口以及低功耗特性,非常适合应用于嵌入式系统开发[^1]。 ##### (2) 关键硬件模块 - **温度传感器**:采用DS18B20或其他高精度数字温度传感器,用于实时采集环境温度数据。 - **加速度传感器**:使用MPU6050等惯性测量单元,检测运输过程中的振动和倾斜角度变化。 - **显示屏**:配备OLED或LCD屏幕,直观显示当前温度及其他重要参数。 - **无线通信模块**:可选配Wi-Fi或NB-IoT模组,支持远程数据上传至云端服务器。 - **电源管理模块**:设计高效的锂电池充电电路及稳压供电机制,保障长时间运行。 | 模块名称 | 型号/规格 | 功能描述 | |----------------|--------------------|------------------------------| | 主控MCU | STM32F103RCT6 | 数据处理与逻辑控制 | | 温度传感器 | DS18B20 | 实时获取环境温度 | | 加速度传感器 | MPU6050 | 测量运输平稳性 | | 显示屏 | SSD1306 OLED | 展示监测结果 | | 无线通信模块 | ESP8266 Wi-Fi模组 | 提供网络连接功能 | 上述表格展示了主要硬件组件及其对应的功能定位。 --- #### 3. 软件架构 软件部分分为以下几个层次: ##### (1) 驱动层 编写针对各外围设备的基础驱动程序,例如IIC总线协议库、SPI通讯函数以及UART串口收发例程。这些底层代码构成了整个项目的基石[^4]。 ```c // IIC初始化函数 void IIC_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC_GPIOB_CLK_ENABLE(); // 开启GPIOB时钟 GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7; // SDA/SCL引脚配置 GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; // 复用开漏模式 GPIO_InitStruct.Pull = GPIO_PULLUP; // 上拉电阻启用 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); } ``` ##### (2) 应用层 应用层负责实现具体业务逻辑,包括但不限于以下方面: - 定期读取温湿度数值并通过算法校准; - 记录加速度传感器输出值判断是否存在异常颠簸现象; - 将收集到的数据打包发送至上位机或者互联网服务平台存储分析。 以下是简单的定时器中断服务例程演示如何周期性调用任务调度方法: ```c void TIM2_IRQHandler(void){ if(__HAL_TIM_GET_FLAG(&htim2,TIM_IT_UPDATE)!=RESET){ __HAL_TIM_CLEAR_IT(&htim2,TIM_IT_UPDATE); Task_Scheduler(); } } void Task_Scheduler(){ static uint8_t counter=0; switch(counter++){ case 0: Read_Temperature(); break; // 获取温度信息 case 1: Check_Acceleration(); break; // 检查加速度状况 default: Send_Data_To_Server(); counter=0; break;// 向服务器提交报告 } } ``` --- #### 4. PCB布局与布线注意事项 为了提高信号质量减少干扰,在PCB设计阶段需遵循一些基本原则: - 敏感模拟输入端远离高频开关节点布置; - 地平面连续完整无分割缝裂隙存在; - 所有去耦电容器靠近相应IC放置以降低阻抗路径长度; 以上措施有助于增强电子产品的可靠性与耐用程度。 --- #### 5. 性能测试与优化建议 完成初步组装调试之后还需经历多轮严格检验环节才能投入实际应用场景当中。重点考察指标涵盖工作电流消耗水平、响应延迟时间长短等方面的表现情况。如果发现某些地方效率低下则考虑引入DMA直接内存访问操作加快数据交换速率或是调整滤波系数改善噪声抑制效果等等。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值