当前位置: 首页 > news >正文

STM32L010F4 最小系统设计

画一个 STM32L010F4 的测试板子...... by 矜辰所致

前言

最近需要用到一个新的 MCU: STM32L010F4 ,上次测试的 VL53L0X 需要移植到这个芯片上,网上一搜 STM32L010F4,都是介绍资料,没有最小系统,使用说明等。

想着就自己画个最小系统的小板子把,反正以后用起来也有可以测试的板子,虽然简单,也得顺带记录一下。

那本文的内容就是画一个 STM32L010F4 的最小系统板子。

目录

  • 前言
  • 一、芯片基础了解
    • 1.1 关于晶振
    • 1.2 启动模式
    • 1.3 串口,调试接口等引脚
  • 二、原理图和PCB
    • 2.1 原理图设计
    • 2.2 PCB设计
  • 结语

一、芯片基础了解

本次使用的芯片带上后缀名字为 STM32L010F4P6 ,TSSOP20 封装的。

在这里插入图片描述

在设计之前简单的看了下资料,其实也就主要看看 Pin definitions 引脚的功能部分 :

在这里插入图片描述

1.1 关于晶振

简单看过,然后在在立创商城查看这个芯片的时候显示是有验证PCB板子:

在这里插入图片描述

但是验证 PCB 板子是以 STM32F030F4P6 为原型设计的,虽然是好像和 STM32L010F4 是 Pin to Pin 的,但是关键在于一个地方,时钟部分有点问题。

参考图 2 脚和 3 脚是外接的 8M 高速晶振,但是 STM32L010F4 的 2 , 3 脚是 OSC32_IN 和 OSC32_OUT 是用来接外部 32.768 kHz 低速晶体振荡器的。所以还是不参考那张图,这里我们还有一个很好的办法,就是打开 STM32CubeMX ,在 RCC 部分选择时钟以后可以看到他的连接图:

在这里插入图片描述

那需不需要和 F103 那些一样通常都要接外接高速晶振呢?

在手册可以看到,STM32L010F4 具备一个精度在 1% 的16Mhz 内部晶振,相对来说还是可以的了:

在这里插入图片描述

而且在 STM32L010F4 手册的 Pin definitions 好像没有看到外接电源的 IO 口,但是手册里面也有关于 HSE 的说明,那么这时候我们又可以用到 CubeMX,我们勾选一下使用外部晶振会怎样:

在这里插入图片描述

上面可以看到,确实是可以接外部晶振的,但是只能接一个脚。

通常来说,这样单引脚接入的时钟信号一般都是有源晶振(一般而言啊,不是所有单引脚都是)。

这里额外提一下 有源晶振 和 无源晶振:
.
有源晶振之所以可以单引脚是因为有源晶振内部已经包含了振荡电路,它能够直接输出稳定的时钟信号,因此不需要额外的反馈引脚(例如 OSC_OUT 引脚)来形成振荡回路。
.
无源晶振需要两个引脚形成一个振荡回路,外部的石英晶体通过输入信号和反馈信号不断振荡,从而产生稳定的时钟信号。一般需要连接 MCU 的 OSC_IN 和 OSC_OUT 引脚。
.
OSC_IN 引脚:这个引脚接收到微控制器内部的驱动信号,施加在石英晶体上,开始激发其振荡。
.
OSC_OUT 引脚:这个引脚用来提供晶振振荡信号的反馈。振荡信号在晶体上产生后,反馈到微控制器的内部振荡电路,保持持续振荡。

多说了一点关于晶振的问题,那回到本次设计,我们就不接外部高速晶振,直接用 STM32L010F4 的 HSI 。

1.2 启动模式

对于 STM32L010F4 的启动模式,手册上面有如下说明:

在这里插入图片描述

我们熟悉的 STM32F系列一般都是由 BOOT1 和 BOOT0 共同决定的,但是 STM32L010F4 实际上没有 BOOT1 引脚,只有 BOOT0 。

虽然手册上提到了 nBOOT1 ,这是一个内部选项位 。其实我们这里不用管太多,我们本次需要知道的是 STM32L010F4 不同的启动模式主要依赖于BOOT0引脚的状态 。

主Flash存储器启动(Main Flash memory)配置:BOOT0 = 0(通过将BOOT0引脚连接到地)这是默认的启动模式,程序存储在内部Flash中,系统复位后直接从Flash启动程序。系统存储器启动(System memory)配置:BOOT0 = 1(通过将BOOT0引脚连接到高电平,通常是3.3V或Vdd)在这种模式下,系统存储器被映射到启动空间。系统存储器中通常存储了STM32自带的Bootloader程序,允许用户通过串行接口(如UART)将新的程序代码下载到Flash Memory中。内置SRAM启动(Embedded Memory)配置:通常不用于STM32L010F4,因为这种模式一般用于程序调试,而STM32L010F4的低功耗特性意味着它通常不用于频繁的程序调试。

对于STM32L010F4,通常只需要关注BOOT0引脚的状态即可进行程序的下载和调试。如果需要从系统存储器启动,只需将BOOT0引脚拉高即可。

所以我们在设计的时候需要把 PB9 - BOOT0 拉低接地。

1.3 串口,调试接口等引脚

时钟看完了,我们这里还是可以根据 CubeMX 直接勾选看看效果。

  • SYS -> Debug Serial Wire 烧录调试接口
  • Connectiviyt 里面的 两个串口

调试接口我们需要用到,串口计划预留一个做打印串口。

这么一来,其实剩下的就是一些 IO 口了,如下图:

在这里插入图片描述

通过上面的了解,我们应该也知道了对于 STM32L010F4 MCU ,哪些是必须要用的 IO ,哪些是可以接外设的 IO,下面我们就可以开始最小系统板子的设计了。

二、原理图和PCB

这次的设计,除了把能用的 IO 口引出来,还需要测试一下在 STM32L010F4 上面使用 VL53L0X ,所以我们除了基本的最小系统板子的设计,也会附带一下连接 VL53L0X 的电路图(传感器小板子还是用我自己画的那块小板子)。

2.1 原理图设计

先画一个芯片整体部分,外接32.768kHz 的晶振,复位引脚,BOOT0 接地,电源和 GND 画好:

在这里插入图片描述

然后是供电部分,和串口通讯部分,就画在一起了,串口加上一个跳线端子,方便后期 IO 口用作其他用途:

在这里插入图片描述

其实到这里,这样画出来的板子就可以测试起来了,我们再把与传感器的连接部分补上:

在这里插入图片描述

最后,最后加上一个按键,一个 LED灯,再把 IO 口引成排针,基本就完成了:

在这里插入图片描述

2.2 PCB设计

因为只是一个测试板子,而且没有特殊要求,PCB 就很简单了,根据自己的习惯,布局连线就好了,感觉没有什么特别的地方,因为实在是简单没什么好说的。

直接就是布局连线,画好了的结果如下图:

在这里插入图片描述

上一下铺铜过后的图和 3D 效果图:

在这里插入图片描述

完成,最后就是发出制板。

最后补上一下实物图把,凑合看一下,也不是什么特别的板子:

在这里插入图片描述

结语

本文我们画了一个 STM32L010F4 最小系统板子,整体来说是很简单的。

对于不了解的一款普通 32 位单片机来说,难点在于了解 芯片的时钟,以及启动模式,烧录调试引脚是哪些引脚以及怎么连接,剩下的基本就好说了。

等样板到了,再来更新一下实物图,以及简单的测试情况说明。

好了,本文就到这里,谢谢大家!

相关文章:

STM32L010F4 最小系统设计

画一个 STM32L010F4 的测试板子...... by 矜辰所致前言 最近需要用到一个新的 MCU: STM32L010F4 ,上次测试的 VL53L0X 需要移植到这个芯片上,网上一搜 STM32L010F4,都是介绍资料,没有最小系统,使用说明等。…...

AI 工具大赏:探索智能时代的得力助手

在当今这个科技飞速发展的时代,人工智能(AI)技术已经深入到我们生活的方方面面。从日常办公到创意设计,从学术研究到娱乐休闲,AI 工具正以其强大的功能和便捷的使用体验,成为人们不可或缺的得力助手。那么&…...

安通物流借助CRM重塑企业客户关系管理新格局

安通控股股份有限公司(以下简称"安通控股")是一家扎根集装箱多式联运物流产业的现代综合物流服务企业,致力于为客户提供绿色、经济、高效、安全的集装箱全程物流解决方案。 据Alphaliner排名统计,截至2023年10月,安通控股综合运力全球排名21位,位居国内内贸集装箱物…...

C++标准模板库--vector

vector 介绍 vector(向量)是一种序列容器,表示为可以改变大小的数组。vector中的元素使用连续的存储位置,这意味着也可以使用指向其元素的常规指针偏移量来访问任意元素,且与数组一样高效。但与数组不同的是&#xff…...

通信学习干货:运营商为什么要大力推广FTTR?

随着数字化时代的来临,互联网的需求不断增长,家庭网络也在不断演进。光纤到家(FTTH)已经成为提供高速互联网连接的标配,但随着技术的发展,我们迎来了FTTR(光纤到房间)技术&#xff0…...

【Spring篇】初识之Spring的入门程序及控制反转与依赖注入

🧸安清h:个人主页 🎥个人专栏:【计算机网络】,【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 文章目录 🎯初始Spring …...

OpenLayers:构建高质量的Web地图应用

OpenLayers:构建高质量的Web地图应用 文章目录 OpenLayers:构建高质量的Web地图应用简介为什么选择 OpenLayers?跨平台兼容性高性能渲染高度可定制化社区支持 安装与设置功能扩展矢量图层地理编码投影转换 交互与事件其他高级特性控制动画数据…...

Java比较两个Excel是否内容一致

领导每天让比较两个Excel中的内容,为了节省工作效率多摸鱼,就写了个java接口,通过上传两个文件 进行代码比较得到详细的比较结果(这个需要自己根据日志二开) 目前只实现了比较功能 话不多说直接上代码,具体看注释 package com.yx…...

UniApp入门教程

UniApp X 是一种用于构建跨平台应用程序的框架,它基于 Vue.js 并通过 UniApp 技术栈支持多种平台,如微信小程序、支付宝小程序、H5、Android 和 iOS。以下是 UniApp X 的一些关键特点和基础知识: UniApp X 的特点 跨平台支持: 可…...

Vue.js中使用Element UI实现动态表单项管理及验证

在Vue.js项目中,表单是与用户交互的重要部分,特别是在需要动态管理表单项的场景下,如何优雅地实现添加、删除、上移、下移及验证功能变得尤为重要。本文将详细介绍如何使用Element UI来实现一个包含动态表单项管理以及验证功能的表单。 效果…...

一插U盘就提示格式化?原因、恢复与预防全攻略

一、现象直击:U盘插入电脑即提示格式化 在日常的工作与生活中,U盘作为重要的数据存储和传输工具,被广泛应用于各类场景。然而,有时当我们满怀期待地将U盘插入电脑时,却会遭遇一个令人头疼的问题——系统弹出提示框&am…...

云电脑使用教程标准版

云电脑,也称为云桌面,是一种通过互联网连接远程服务器,使用虚拟桌面环境来执行计算任务的技术。川翔云电脑通过创建软件镜像,让用户能够快速启动并使用预配置的软件和资料,提供高效且经济的云服务。相较于公有云服务&a…...

浏览器服务端文件下载控制(安全阻止、文件浏览器打开还是下载行为控制)

文章目录 简介Chrome已阻止不安全内容下载PDF直接打开txt、xml、js文件被自动打开了而不是下载阿里OSS设置response header阿里OSS修改metadata 简介 随着浏览器的发展,有很多安全方面的限制,对我们的文件下载行为产生了很大的影响。 在JavaScript下载…...

机器学习——量子机器学习

量子机器学习: 未来的机器学习方法 量子计算和机器学习的结合为计算科学带来了前所未有的前景。量子机器学习(QML)正在迅速发展,目标是利用量子计算的优势来处理传统计算机无法高效解决的问题。本文将深入探讨量子机器学习的基本概念、量子计算的关键技术、具体的量…...

[Linux] 创建可以免密登录的SFTP用户

本文主要包含: 创建新用户创建密钥对用于免密登录新用户将新建用户改造为SFTP用户为SFTP上传数据设置限速 1. 创建新用户 sudo useradd sftp_user sudo passwd sftp_user # 输入密码2. 创建密钥对 参考这篇文章 [Linux] 生成 PEM 密钥对实现服务器的免密登录 3. 将新建用户…...

【部署篇】Redis-03主从模式部署(源码方式安装)

一、准备主机 主从模式只是解决了数据备份容灾并不能解决单点故障问题,生产环境中需要在主从模式基础上增加哨兵,实现主节点宕机时自动将其中一个重节点设置为新的主节点。 主机IP角色说明192.168.128.31master,主节点可读写。192.168.128…...

C/C++语言基础--C++四大类型转换讲解

本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 通过前面几节课,我们学习了抽象、封装、继承、多态、异常等概念,这一篇我们将继续学习C的类型转换,和C语言还有很大区别的;在本节课最后,也简要说…...

KafKa 集群【docker compose】

文章目录 主机准备部署编辑 docker-compose.ymlcontrollerbroker生成cluster_id 一篇完整的 docker-compose.yml 文件查看集群状态使用 kafka-ui 查看拉取 kafka-ui添加集群查看集群状态 使用命令行查看 配置讲解controllerbroker 主机准备 IPcontroller idbroker id192.168.1…...

【工具篇】MLU运行XInference部署手册

文章目录 前言一、平台环境准备二、代码下载三、安装部署1.正常pip 安装 四、运行结果展示1.如果界面404或没有东西请这样做2.运行效果 前言 Xorbits Inference(Xinference)是一个功能强大、用途广泛的库,旨在为语言、语音识别和多模态模型提…...

计算机网络:数据链路层 —— 扩展共享式以太网

文章目录 共享式以太网共享式以太网存在的问题在物理层扩展以太网扩展站点与集线器之间的距离扩展共享式以太网的覆盖范围和站点数量 在链路层扩展以太网网桥的主要结构网桥的基本工作原理透明网桥自学习和转发帧生成树协议STP 共享式以太网 共享式以太网是当今局域网中广泛采…...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...