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.mzph.cn/pingmian/57113.shtml

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

相关文章

在VMware上创建虚拟机以及安装Linux操作系统,使用ssh进行远程连接VMware安装注意点 (包含 v1,v8两张网卡如果没有的解决办法)

一,VMware上创建虚拟机 1.VMware下载 1)点击VMware官网进入官网 网址:VMware by Broadcom - Cloud Computing for the EnterpriseOptimize cloud infrastructure with VMware for app platforms, private cloud, edge, networking, and security.https…

NAT工作原理详解:网络地址转换的关键角色

NAT工作原理详解:网络地址转换的关键角色 在现代计算机网络中,网络地址转换(NAT)扮演着至关重要的角色。它不仅仅是简单地将私有IP地址转换为公共IP地址,而是在多个方面保证了网络的正常运行和安全性。本文将详细讲解…

从网络请求到Excel:自动化数据抓取和保存的完整指南

背景介绍 在投资和财经领域,论坛一直是投资者们讨论和分享信息的重要平台,而东方财富股吧作为中国最大的财经论坛之一,聚集了大量投资者实时交流股票信息。对于投资者来说,自动化地采集这些发帖信息,并进行分析&#…

Maven私服架构

目录 1.maven私服介绍 1.1 私服介绍 1.2 Nexus介绍 2. maven私服实战 2.1 nexus安装 2.2 nexus仓库类型 2.3 将项目发布到私服 2.4 从私服下载jar包 2.5 将第三方jar包发布到私服 1.maven私服介绍 1.1 私服介绍 正式开发时,不同的项目组开发不同的工程。m…

《深度学习》 了解YOLO基本知识

目录 一、关于YOLO 1、什么是YOLO 2、经典的检测方法 1)one-stage单阶段检测 模型指标介绍: 2)two-stage多阶段检测 二、关于mAP指标 1、概念 2、IOU 3、关于召回率和准确率 4、示例 5、计算mAP 一、关于YOLO 1、什么是YOLO YOL…

工具_OpenSSL

文章目录 常见https证书类型生成nginx使用证书 一句话简介:一个开源的安全相关工具箱软件,apache license 官网:https://www.openssl.org/,这个官网只有Linux 安装包和 源码 windows下载网站:https://slproweb.com/pr…

深度学习-30-基于PyTorch搭建神经网络的全流程

文章目录 1 定义一个Class1.1 方法__init__()1.2 方法forward()2 定义一个实例2.1 定义网络2.2 训练步骤2.3 更新权重3 整体顺序3.1 通用流程3.2 示例应用3.2.1 准备数据3.2.2 通用流程4 参考附录1 定义一个Class pytorch的网络搭建,比tensorflow简单很多。 格式很好理解。 …

一文2500字从0到1实现压测自动化!

大家好,我是小码哥,最近工作有点忙,一直在实现压测自动化的功能,今天来分享一下实现思路 我所在的业务线现在项目比较少了,所以最近一个月我都没有做业务测试,需求开发完后RD直接走免测就上线,…

第十一课 Vue中的按键修饰符

Vue中的按键修饰符 Vue中的事件绑定中,键盘事件有些特殊,我们可以通过获取不同的键值操作不同键盘触发不同的事件 Vue为不同键盘定义了不同的键名 数字按键修饰符 根据不同的键值,可以获取不同的键盘按键 示例:获取回车键&am…

手机ip切换成全局模式怎么弄

在当今数字化时代,智能手机已成为我们日常生活中不可或缺的一部分,无论是工作、学习还是娱乐,都离不开它的陪伴。随着网络技术的不断发展,手机IP地址的切换技术也逐渐走进大众视野,中,“全局模式” 作为IP切…

windows环境下vscode编写c语言连接mysql

创建一个文件夹test02 在文件夹中创建test.c文件 用vscode打开test02文件夹 自动生成tasks.json和launch.json文件,需要安装这里通C/C Runner插件来自动生成json文件和一些文件夹。 接下来配置mysql 本地已经安装了mysql数据库,此安装过程省略。 有…

030 elasticsearch查询、聚合

文章目录 查询聚合查询RestHighLevelClientElasticsearchRestTemplat SpringData对ES客户端的封装:ElasticsearchRestTemplate SpringData对CRUD的封装:ElasticsearchRepository 原生ES客户端:RestHighLevelClient 查询 package com.xd.cube…

java如何部署web后端服务

java如何部署web后端服务 简单记录一下,方便后续使用。 部署流程 1.web打包 2.关掉需要升级的运行中的服务 /microservice/hedgingcustomer-0.0.1-SNAPSHOT/conf/bin/ 执行脚本 sh shutdown.sh 3.解压文件 返回到/microservice 将升级包上传到该路径&#x…

Open3D-Geometry-11:Mesh deformation 网格变形算法

1. as-rigid-as-possible 如果想根据少量约束使三角形网格变形,可以使用网格变形算法。 Open3D 通过SorkineAndAlexa2007实现了 as-rigid-as-possible 方法,优化了以下能量函数 ∑ i ∑ j ∈ N ( i

JAVA IDEA 取消掉Warning:(22, 14) Class ‘XXXController‘ is never used 提示信息

方法一:代码修改 无用的方法: 删除对应的代码。增加该类对应的应用实现。 方法二:取消掉提示 找到settings—Editor—Inspections,搜索Unused declaration 右边的勾取消掉,对应的校验属性。

rabbitmq踩坑(1)

开发中rabbitmq的配置文件写错了,改正后一直报错 error occurred in message handler [org.springframework.integration.amqp.outbound.AmqpOutboundEndpoint36e73413];nested exception is org.springframework.amqp.AmqpIOException: java.io.IOException 配置…

座舱软件开发“道与术”

脑图 仅仅个人归纳见解,欢迎专家莅临指导。

【CHI】CHI协议自问自答

学习CHI有一段时间了,如今回过头来,再读协议,一些问题做个记录。如果有错误的地方,欢迎指正。如果有其他的问题,也欢迎留言讨论。 spec: IHI0050F_amba_chi_architecture_spec 【持续更新ing】 目录 1. …

react18中如何实现同步的setState来实现所见即所得的效果

在react项目中,实现添加列表项,最后一项自动显示在可视区域范围!! 实现效果 代码实现 import { useState, useRef } from "react"; import { flushSync } from "react-dom"; function FlushSyncRef() {con…

JVM成神之路

目录 JVM入门关: 一:JVM的内存布局是咋样的? 二:方法区,永久代,元空间有什么区别? 三:常量池和字符串常量池有什么区别? 四:什么是堆溢出,什…