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 位单片机来说,难点在于了解 芯片的时钟,以及启动模式,烧录调试引脚是哪些引脚以及怎么连接,剩下的基本就好说了。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/450650.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算生物学与生物信息学漫谈-1-测序一路走来

最近工作中,反思自己计算生物学基础非常薄弱,然而作为一门非常新兴的交叉学科,涉及计算机、物理、生物、数学等多多学科,国内并没有这样完善的教程,因此想要自己做一个教程,使用费曼学习法学习,…

探讨淘宝商品 API 接口:运用及收益

在当今电子商务蓬勃发展的时代,淘宝作为全球领先的电商平台,拥有海量的商品资源和庞大的用户群体。而淘宝商品 API 接口的出现,为开发者和企业提供了一种强大的工具,能够实现对淘宝商品数据的高效获取和利用。本文将深入探讨淘宝商…

C语言 | Leetcode C语言题解之第492题构造矩形

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> constructRectangle(int area) {int w sqrt(1.0 * area);while (area % w) {--w;}return {area / w, w};} };

2024年PDF转JPG新趋势,4款常用编辑工具梳理,不容错过

嘿&#xff0c;大家好&#xff0c;我是你们的老朋友&#xff0c;今天咱们聊个超实用的技巧——把PDF文件变成JPG图片&#xff0c;这样分享起来就方便多了。不管是工作汇报、学习资料还是生活照片&#xff0c;这招都能让你事半功倍。 1. 福昕PDF编辑器 闪现 ✚ https://editor…

排序---java---黑马

排序算法 名称平均时间复杂度最好情况最坏情况空间复杂度稳定性冒泡排序 O ( n 2 ) O(n^2) O(n2) O ( n ) O(n) O(n) O ( n 2 ) O(n^2) O(n2) O ( 1 ) O(1) O(1) Y Y Y选择排序 O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2) O ( 1 ) O(1) O(1) N N …

【JavaScript】网页交互的灵魂舞者

我的主页&#xff1a;2的n次方_ 1. JavaScript 的三种引入方式 引⼊⽅式 语法描述 ⽰例 ⾏内样式 直接嵌⼊到 html 元素内部 <input type"button" value"点我⼀下" οnclick"alert(haha)"> 内部样式 定义<script>标签&a…

PDF 软件如何帮助您编辑、转换和保护文件

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案&#xff0c;还是尝试组织和编辑主文档&#xff0c;PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时&#xff0c;请考虑这些因素。 1. 确定您的…

蒙特卡洛法面波频散曲线反演(matlab)

面波频散曲线反演是一种地震波形反演方法&#xff0c;用于估计地下结构的物理参数。其原理基于面波频散现象&#xff0c;即地震波在地下传播时会由于地下结构的变化而导致波速的变化&#xff0c;从而在地震记录中形成不同频率的相位延迟。具体而言&#xff0c;面波频散曲线反演…

Jmeter接口测试企业级项目实战day3

1.了解Jmeter的内部细节&#xff0c;排查错误的原因 取样器&#xff1a;发送请求&#xff0c;接受响应 -> 查看结果树请求和响应&#xff08;头和正文&#xff09; 断言&#xff1a;验证响应 ->查看结果树&#xff08;采样结果&#xff09; 提取…

JavaWeb 22.Node.js_简介和安装

有时候&#xff0c;后退原来是向前 —— 24.10.7 一、什么是Node.js Node.js 是一个于 Chrome V8 的 JavaScript 运行时环境&#xff0c;可以使 JavaScript 运行在服务器端。使用 Node.js&#xff0c;可以方便地开发服务器端应用程序&#xff0c;如 Web 应用、API、后端服务&a…

FreeRTOS学习笔记1

结合汇编 ldr r3, pxCurrentTCB ldr r2 R3 value0x20000054,R2 value0x2002B950 pxCurrentTCB 020028950 pxTopOfStsck 0x2002B8FC 解释这些寄存器的值是怎么变化的 1. ldr r3, pxCurrentTCB 这一行指令将 全局变量 pxCurrentTCB 的地址加载到寄存器 r3 中。pxCu…

【网络】详解TCP协议的延时应答、捎带应答、异常处理

【网络】详解TCP协议的延时应答和捎带应答 一. 延时应答模型 二. 捎带应答模型再谈四次挥手 三. 异常处理1.一方出现进程崩溃2.一方出现关机&#xff08;正常流程关机&#xff09;3.一方出现断电4.网线断开 一. 延时应答 也是基于滑动窗口&#xff0c;想要尽可能的去提高效率。…

用Java爬虫API,轻松获取taobao商品SKU信息

在电子商务的世界里&#xff0c;SKU&#xff08;Stock Keeping Unit&#xff0c;库存单位&#xff09;是商品管理的基础。对于商家来说&#xff0c;SKU的详细信息对于库存管理、价格策略制定、市场分析等都有着重要作用。taobao作为中国最大的电子商务平台之一&#xff0c;提供…

制药企业MES与TMS的数据库改造如何兼顾安全与效率双提升

*本图由AI生成 在全球制造业加速数字化转型的浪潮中&#xff0c;一家来自中国的、年营业额超过200亿元的制药企业以其前瞻性的视角和果断的行动&#xff0c;成为该行业里进行国产化改造的先锋。通过实施数据库改造试点项目&#xff0c;该企业实现了其关键业务系统MES&#xff0…

IEC104规约的秘密之九----链路层和应用层

104规约从TCP往上&#xff0c;分成链路层和应用层。 如图&#xff0c;APCI就是链路层&#xff0c;ASDU的就是应用层 我们看到报文都是68打头的&#xff0c;因为应用层报文也要交给链路层发送&#xff0c;链路层增加了开头的6个字节再进行发送。 完全用于链路层的报文每帧都只有…

【初阶数据结构】归并排序 - 分而治之的排序魔法

文章目录 前言1. 什么是归并排序&#xff1f;1.1 归并排序的步骤 2. 归并排序的代码实现2.1 归并排序代码的关键部分讲解2.1.1 利用递归2.1.2 将拆解的数组的元素放到一个临时空间中进行重新排序2.1.3 将在临时空间中排好的数组复制到目标数组中 3. 归并排序的非递归写法 前言 …

CTFHub | HTTP协议 - 请求方式 | 题解实操

CTFHUB 的 HTTP 请求方式题目为参与者带来了独特的挑战和学习机会。在这个题目中&#xff0c;要求参与者使用特定的方式请求来获取 flag。这不仅考验了参与者对 HTTP 请求方法的理解和掌握程度&#xff0c;还促使他们探索不同的工具和技术来解决问题。 题目背景设定在网络安全…

关于MyBatis-Plus 提供Wrappers.lambdaQuery()的方法

实例&#xff1a; private LambdaQueryWrapper<XXX> buildQueryWrapper(XXXBo bo) { Map<String, Object> params bo.getParams(); LambdaQueryWrapper<XXX> lqw Wrappers.lambdaQuery(); lqw.eq(bo.getOrgId() ! null, XXX::getOrgId, bo.getOrgId()); lq…

拼三角问题

欢迎来到杀马特的主页&#xff1a;羑悻的小杀马特.-CSDN博客 目录 一题目&#xff1a; 二思路&#xff1a; 三解答代码&#xff1a; 一题目&#xff1a; 题目链接&#xff1a; 登录—专业IT笔试面试备考平台_牛客网 二思路&#xff1a; 思路&#xff1a;首先明白能组成三角形…

新生入门季 | 学习生物信息分析,如何解决个人电脑算力不足的问题?

随着生物信息学在科研和教育中的快速普及&#xff0c;越来越多的新生开始接触基因组测序、RNA分析等复杂计算任务。然而&#xff0c;在面对这些大规模数据时&#xff0c;个人电脑的算力往往显得捉襟见肘。你是否也在为自己的笔记本性能不足而苦恼&#xff1f; 这篇文章将为你提…