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中的元素使用连续的存储位置,这意味着也可以使用指向其元素的常规指针偏移量来访问任意元素,且与数组一样高效。但与数组不同的是ÿ…...
通信学习干货:运营商为什么要大力推广FTTR?
随着数字化时代的来临,互联网的需求不断增长,家庭网络也在不断演进。光纤到家(FTTH)已经成为提供高速互联网连接的标配,但随着技术的发展,我们迎来了FTTR(光纤到房间)技术࿰…...
【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 共享式以太网 共享式以太网是当今局域网中广泛采…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
