【嵌入式】适配大多数STM32的最小系统设计

2024-06-19 02:04

本文主要是介绍【嵌入式】适配大多数STM32的最小系统设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        大多数的参赛作品以及毕业设计中都仅仅简单的使用STM32F103最小系统板加上洞洞板或面包板。这样的设计虽然可以进行功能演示,但是由于市面上的最小系统板太过简单,并没有发挥出STM32系列MCU的强大功能,而且看起来很不美观,为了在参加比赛的时候做出更加具有竞争力的作品,我在查找了多篇文章后,设计了一个比较通用的电路模板。在设计自己的电路时,可以很方便的进行适配。

(工程文件正在审核,在立创开源平台发布工程文件后会更新本文章)

目录

电路设计

电路适配方法

配置最小系统


电路设计

选择贴片器件时尽量选择0805或者更大的封装,便于手工焊接。

最小系统包括一个8MHz晶振、一个32.768Hz的晶振、供电电路、复位电路和下载调试电路。

1、晶振电路

晶振电路要注意尽量离芯片近一些,两端需要画等长电路。

2、供电电路

可以选择性拓展一个USB转串口电路,如果不使用串口电路,把Type-C的NP和DP都加上非链接标识即可。

2-1、Type-C USB接口电路,使用TYPE-C-31-M-12(供应商编号:C165948)

2-2、5V 转3.3V电路,使用 AMS1117-3.3(供应商编号:C6186)

2-3、拓展USB转串口电路,使用CH340N(供应商编号:C506813)

3、复位电路

4、下载调试电路,我使用SWD四线下载和调试方式,经过我的研究,发现这种方式最方便。

注意,这种方式需要将BOOT0和BOOT1接地。

5、芯片上的模拟电位引脚也需要注意,不要忘记,样本如下图所示:

6、供电与通信模块的PCB布线建议(GDN未连接,后期做铺铜处理即可)

 

 

电路适配方法

 以STM32F407ZGT6的适配为例,搜索器件然后放到原理图中。如果没有标注功能引脚,可以查看ST官方文档或从STM32CubeMX软件中直接查看。

我喜欢直接从STM32CubeMX软件中直接查看,因为这个手册并不好找,即使找到了也没有图形化界面来的简单和清晰明了。

新建工程

搜索芯片

可以选择配置最小系统,如果你知道大致名称,还可以用右下角的搜索功能。

如图:搜索配置中找不到的NRST(复位引脚),搜索到后会在模型图中闪烁。

配置最小系统

 System Core --> RCC

 System Core --> SYS

如果需要串口的话,在 Connectivity --> USART1 处做如下设置

然后你会发现,右边的模型上会出现绿色的点,这就是前面配置的引脚。(上滑鼠标滚轮放大,点击即可拖动)

 

这就是STM32生态的强大之处。

然后进行位号的标注即可,以RCC_OSC32为例。

打开电路设计软件,新建电路图。(作者使用的是嘉立创EDA)

复制前面画好的电路,在电路设计软件中放置芯片

找到PC14和15

 引出一段导线并选中该导线,然后可以在基础属性栏的名称中选择网络

这样就适配完成了。 

这篇关于【嵌入式】适配大多数STM32的最小系统设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073697

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网