手把手教你搓一个最小系统板【画PCB-->布线 -->制版-->焊接】

news2024/9/27 2:50:04

文章目录

  • 一、基础电路
    • 1. 晶振电路
    • 2. 稳压电路
    • 3. 复位/按键电路
    • 4. BOOT电路
    • 5. SWD接口
    • 6. 滤波电容
    • 7. LED电路
    • 8. 拓展引脚
    • 设计总览
  • 二、布局布线
  • 三、制版
  • 四、焊接


在大学嵌入式相关专业,有许多同学是更偏向软件上的设计,并不懂硬件上的实现,而当在面临就业时,经常会被一些面试官问到你硬件上的盲区,为在有限的时间里有高质量的提升,这里我以STM32F407最小系统设计为例展开详述,从画PCB到下单制版,然后拿到手焊接,烧程序验证,完整流程如下:

一、基础电路

这里我的开发环境是嘉立创EDA
在画PCB时,你首先需要知道都要画些什么东西,整个框架是啥样的,正所谓先把东西拿到手,再来分析。

1. 晶振电路

用于提供稳定的时钟信号,驱动微控制器的运行、数据传输和外设控制。
一般选择32.768khz的晶振用于提供内部时钟,8Mhz用于提供外部时钟,打开嘉立创EDA,在工程文件的左下方“库”中直接搜索你的需求即可:在这里插入图片描述
其中我这里表示选用32.768KHz的无源晶振,封装是3215,表示器件大小 方便布局焊接。
在晶振电路中,通常并联两个电容,有助于提高晶振电路的稳定性、抗干扰能力

设计如下:
在这里插入图片描述

2. 稳压电路

在脱机跑的时候,需要给板子供电,而板子的对电压相对比较严谨,过高和过低都会给板子造成损害,至此这里需要用到稳压芯片,用于提供稳定可靠的电源信号,常见的稳压芯片有AMS1117-3.3、5v,在芯片两端常并联两组大小电容用于电源滤波和提供稳定输出信号。

设计如下:
在这里插入图片描述

3. 复位/按键电路

复位电路是将系统恢复到可控的初始状态,按键则是可以通过设计信号的触发去实现自定义操作
复位/按键通常设计是并联一个电容再上拉一个电阻,提供稳定的按键信号,并消除抖动干扰,在空闲状态下保持高电平。

设计如下:
在这里插入图片描述

4. BOOT电路

boot电路用于启动模式选择,boot0和boot1的不同状态下表示3中不同的启动方式,如果想方便布线,可直接将boot0和boot1拉低,表示Flash启动,在实际开发下,大多也是这样,在下面示例中可通过跳线帽去更改boot状态。

我的设计如下:
在这里插入图片描述

5. SWD接口

用于调试和烧入程序,直接将芯片的引脚引出来即可

设计如下:
在这里插入图片描述

6. 滤波电容

吸收电源中的瞬态噪声、纹波和快速变化的电压波动,提供相对稳定的电源电压给后续的电路和设备。
简单来说 芯片有多少个VDD/VCC, 就选择多少个104电容用于滤波,例如我这里选用的芯片有12个VDD/VCC,也就是串联12组电容放置VCC和GND之间。

设计如下:
在这里插入图片描述

7. LED电路

这里可以用于检测电源,也可以通过检测led灯闪烁检测程序执行情况,直接串联一个电阻即可。

设计如下:
在这里插入图片描述

8. 拓展引脚

用于引出芯片其他闲置 后续开发的引脚
在这里插入图片描述

设计总览

在这里插入图片描述

二、布局布线

在画完PCB之后,更重要的是布局布线,这点也更是耗时,首先你需要定好布局,然后再布线,布局决定布线。

大多数情况下 我们习惯将主控芯片放置中央位置,然后滤波电容围着芯片四周,晶振也放置近处,因为放置较远有信号干扰,晶振就有可能起不来,其次是拓展引脚放置两边靠中位置,SWD放置边沿方便烧录调试,稳压电路可放置电源附近,方便测试,其他就没有什么讲究,自己随意放置即可,当然 也是在方便布线的前提下。

由于在写这边博文前 我已经画好了,由于时间问题我这里就不再重新演示了,有问题可通过下方公众号随时联系我。

在这里插入图片描述

实际制版后效果如下(颜色可选):
在这里插入图片描述

三、制版

可在嘉立创EDA中直接下单,当然只要板尺寸在10*10范围每个月都可以享用两次免费打板,具体怎么领取我就不演示了,网上自查

在这里插入图片描述

下单页面如下,选择推荐的默认免费通道即可
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、焊接

在拿到板子后,对着PCB去焊接元器件

焊好之后如下:
在这里插入图片描述

后面再用万用表对线路进行检测,比如导通、极性、线序等。

基本没问题之后,就可以上电啦

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

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

相关文章

CMake构建Qt工程

在https://blog.csdn.net/fengbingchun/category_12172633.html 上有直接通过vs2022建的Console、Widgets、Quick三个工程,这里增加通过CMake构建。 build.sh内容如下: #! /bin/bashif [ $# ! 1 ]; thenecho "Error: requires one parameter: Rele…

(八)springboot实战——springboot3下的webflux项目全局异常处理

前言 在webflux响应式编程中,如何处理系统运行时异常是本节的主要内容。在传统的Servlet阻塞式web项目中主要通过HandlerExceptionResolver处理器来处理,而在webflux响应式web项目中,则是通过DispatchExceptionHandler异常处理器来处理异常。…

vue模拟聊天页面列表:滚动到底部,滚动到顶部触发加载更多

先看下效果&#xff1a; 代码&#xff1a; <template><div><div style"text-align: center"><button click"scrollTop">滚动到顶部</button><button click"scrollBottom">滚动到底部</button></d…

R12.2 EBS 修改 APPS 密码 详细步骤

目录 前言准备修改步骤1.关闭应用层2.FNDCPASS 修改密码3. 运行 autoconfig4.单独启动 webLogic 服务5.登录weblogic&#xff0c;更新apps密码6.启动应用层7.验证 结尾 前言 本文的目的是修改 apps 密码&#xff0c;主要参考官方文档 metalink 1674462.1&#xff0c;请注意本文…

go语言(十九)---- channel

channel的使用 //1. 发送value到channelchannel <- value //2. 接收并将其丢弃<- channel //3. 从channel中接收数据&#xff0c;并将其赋值给x x : <- channel 例子 package mainimport "fmt"func main() {//定义一个channelc : make(chan int)go func…

如何在Shopee平台上进行宠物类目的选品丨shopee宠物选品

在Shopee平台上进行宠物类目的选品是一个重要的任务&#xff0c;它直接关系到卖家的销售业绩和市场竞争力。为了成功选择适合的宠物用品&#xff0c;在选品过程中&#xff0c;卖家可以遵循以下策略&#xff1a; 先给大家推荐一款shopee知虾数据运营工具知虾免费体验地址&#…

【C语言/数据结构】排序(直接插入排序|希尔排序)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​​​ 目录 插入排序 直接插入排序&…

网站服务器中毒或是被入侵该怎么办?

随着互联网的普及和发展&#xff0c;网站服务器已经成为了企业和个人存储数据、展示信息的重要平台。然而&#xff0c;网络安全问题也日益突出&#xff0c;其中网站服务器中毒或被入侵的事件时有发生。一旦发生这种情况&#xff0c;不仅会导致网站无法正常运行&#xff0c;还可…

大数据期望最大化(EM)算法:从理论到实战全解析

文章目录 大数据期望最大化&#xff08;EM&#xff09;算法&#xff1a;从理论到实战全解析一、引言概率模型与隐变量极大似然估计&#xff08;MLE&#xff09;Jensen不等式 二、基础数学原理条件概率与联合概率似然函数Kullback-Leibler散度贝叶斯推断 三、EM算法的核心思想期…

Scratch:启蒙少儿编程的图形化魔法

在当今这个数字化时代&#xff0c;编程已经成为了一项重要的基础技能。就像学习阅读和写作一样&#xff0c;掌握编程能够打开通往未来世界的大门。对于孩子们来说&#xff0c;Scratch作为一种图形化编程语言&#xff0c;不仅简单有趣&#xff0c;而且非常适合作为编程学习的入门…

蓝桥杯——每日一练(简单题)

题目 问题描述   123321是一个非常特殊的数&#xff0c;它从左边读和从右边读是一样的。   输入一个正整数n&#xff0c; 编程求所有这样的五位和六位十进制数&#xff0c;满足各位数字之和等于n 。 输入格式   输入一行&#xff0c;包含一个正整数n。 输出格式   按从…

SpringBoot系列之JPA实现按年月日查询

SpringBoot系列之JPA实现按年月日查询 通过例子的方式介绍Springboot集成Spring Data JPA的方法&#xff0c;进行实验&#xff0c;要先创建一个Initializer工程&#xff0c;如图&#xff1a; 选择&#xff0c;需要的jdk版本&#xff0c;maven项目 选择需要的maven配置&#x…

最小二乘3D圆拟合(高斯牛顿法)

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 本期话题&#xff1a;最小二乘3D圆拟合 相关背景资料 点击前往 3D圆拟合输入和输出要求 输入 8到50个点&#xff0c;全部采样自3D圆上。每个点3个坐标&#xff0c;坐…

pom文件首行报错问题处理

项目开发过程中&#xff0c;有时候在田间某个以来的时&#xff0c;会遇到pom文件首行报错&#xff0c;如下图所示 1、将鼠标移动到首行报错位置&#xff0c;点击红色❌&#xff0c;便会显示报错原因&#xff0c;这个项目遇到报错原因为“Missing artifact jdk.tools:jdk.tools:…

两个让你心跳加速的网站,赶紧收藏吧

1、方小童在线工具集 网址&#xff1a; 方小童 该网站是一款在线工具集合的网站&#xff0c;目前包含PDF文件在线转换、随机生成美女图片、精美壁纸等功能&#xff0c;喜欢的可以赶紧去试试&#xff01; 2、电子书搜索 网址&#xff1a;https://libstc.cc 很强大一个网站&a…

搭建nginx图片服务器

&#xff08;1&#xff09;将图片存储于/home/data/images目录&#xff1b; &#xff08;2&#xff09;配置nginx.conf user nginx; worker_processes 4;error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;events {worker_connections 10000; }ht…

架构师的36项修炼-08系统的安全架构设计

本课时讲解系统的安全架构。 本节课主要讲 Web 的攻击与防护、信息的加解密与反垃圾。其中 Web 攻击方式包括 XSS 跨站点脚本攻击、SQL 注入攻击和 CSRF 跨站点请求伪造攻击&#xff1b;防护手段主要有消毒过滤、SQL 参数绑定、验证码和防火墙&#xff1b;加密手段&#xff0c…

「研发部」GitFlow规范-升级版(二)

前言 上一篇文章简单整理过一次产研团队的GitFlow《Git 分支管理及Code Review 流程 (一)》 GitFlow是一种流行的Git分支管理策略&#xff0c;它提供了一种结构化的方式来管理项目的开发和发布流程。以下是GitFlow规范的主要组成部分&#xff1a; 主要分支&#xff1a; mast…

计算机毕业设计 | SpringBoot 求职招聘管理系统(附源码)

1&#xff0c;绪论 1.1 开发背景 高学历人群是网络求职者的主体&#xff0c;且结构趋向固定。而在疫情肆虐的今日&#xff0c;线上招聘成了越来越多企业和个人选择的方式。在疫情期间线下招聘转为线上招聘&#xff0c;是疫情防控的需要。不能否定的是新的招聘模式的出现一定会…

【Git】windows系统安装git教程和配置

一、何为Git Git(读音为/gɪt/)是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。 二、git安装包 有2种版本&#xff0c;Git for Windows Setup和Git for Windows Portable(便携版)两个版本都可以。 三、Git for Windows Por…