当前位置: 首页 > news >正文

【PCB】3. 信号部分设计

 在之前的学习中,我偏向的多是嵌入式软件开发的工作,如果想要自己diy一款具备特定功能的嵌入式工具的话,还需要具备画板子的能力。但由于我目前还没学模电,故我打算直接找个b站的学习视频先跟着画个板子出来,简单理解各个模块的功能,后续再详细了解其内部原理。

我选择的课程是expert实验室的PCB大师篇教学视频,链接如下:

【大师篇】8-stm32开发板原理图设计(单片机最小系统)_哔哩哔哩_bilibili

我将跟随教程做一个stm32f103vet6开发板出来,具体需求和方案如下:

接下来,我会尽可能以博客的形式将我每期的学习总结下来,仅供交流,如有谬误,欢迎指正。

本系列博客目录如下:

【PCB】1. 芯片选型及电源电路设计-CSDN博客

【PCB】2. 单片机最小系统设计-CSDN博客


1. 本节概述

1.1. 信号部分组成

简单来说,信号部分由以下几个部分组成:

1. USB接口。

2. ADC/DAC接口

3.通信接口,包括SPI、IIC、串口

4. LED电路。

5. 按键电路。

6. 下载电路,包括SWD下载和串口自动下载电路。

7. M3螺丝孔,用于固定。


2. 总体原理图及BOM表

2.1. 总体原理图

最终,信号部分的原理图页如下:

2.2. BOM表

DesignatorFootprintValueManufacturer Part
BT1BAT-SMD_CR1220-2ZXCR1220-2ZX
C1,C2CAP-SMD_BD5.0-L5.3-W5.3-FD4.7uFEMVE500ADA4R7ME55G
C3,C7,C9,C11,C12,C13,C14,C15,C16,C17,C18,C24,C25,C26,C27,C28C0603100nF
C4C060310nF
C5,C6CAP-SMD_BD5.0-L5.3-W5.3-FD47uFEMVE500ADA4R7ME55G
C8,C10C060310UF
C19C060310uF
C20,C21C060320pF
C22,C23C060310pF
CN1CONN-TH_2P-P3.81_MX128L-3.81-GN01-02P-CU-Y-AMX128L-3.81-02P-GN01-Cu-Y-A
D1SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BRBAT54C
D2SOD-123FL_L3.0-W1.8-LS3.7-RD1N4007W
DC1DC-005_2.5
H1HDR-TH_6P-P2.54-V-R2-C3-S2.54_A2541WV-2X3P
H2,H3HDR-TH_46P-2.54-V-M-R2-C23-S2.54X6521WV-2x23H-C60D30
H4HDR-TH_4P-P2.54-V-M
L1IND-SMD_L7.3-W6.615uH
LED1,LED2,LED3,LED4,LED5LED_0603
P1,P2,P3CONN-SMD_XH2.54-4PSMDCONN-SMD_XH2.54-4PSMD
Q1SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BRS8550
Q2SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BRS8050
R1,R2,R13,R14R06035.1K
R3R06033.16K
R4,R10,R11,R12,R15,R27R060310K
R5,R16,R17,R18R06032K
R6R06033K
R7,R8R06030
R9,R28,R29,R30R06031K
R19,R20,R21,R22,R23,R24,R25,R26R06034.7K
SCREW1,SCREW2,SCREW3,SCREW4M3螺丝
SW1,SW2,SW3,SW4SW-SMD_4P-L6.0-W6.0-P4.50-LS9.0-2
U1,U3SMA_L4.2-W2.6-LS5.1-RDSS54
U2SOIC-8_L4.9-W3.9-P1.27-LS6.0-BL-EPTPS5450QDDARQ1
U4SW-SMD_YSSP2AG00YSSP2AG00
U5F1206JK-nSMD005/60V
U6SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BRAMS1117-3.3
U7LQFP-100_L14.0-W14.0-P0.50-LS16.0-BLSTM32F103VET6
U8SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BRTL431
U9,U10,U11,U12SMA-TH_HL-SMA-KHD26GHzHL-SMA-KE-02
U13,U14CONN-SMD_6P-P2.50-HXH2.54mm-LI-6P
U15SOP-16_L10.0-W3.9-P1.27-LS6.0-BLCH340C
USB1,USB2USB-C-SMD_KH-TYPE-C-16PHC-TYPE-C-16P-01B
X1CRYSTAL-SMD_4P-L3.2-W2.5-BL_SIT8008BI8MHzXL2EL89CSI-111YLC-8M
X2OSC-SMD_L3.2-W1.5-SF32WK32768D31T002

3. 模块设计细节

这部分的讲解可能会因为我在模电知识上的缺乏导致错误,欢迎各位指正!

3.1. USB接口

这部分其实跟第一阶段画USB供电(【PCB】1. 芯片选型及电源电路设计-CSDN博客)时的原理图很像,区别在于USB的两个正负极接口要跟单片机上的USB复用IO口相接,关于到底哪个IO口可以复用USB,可以在数据手册中找到答案:

注意由于USB通信协议的要求,USBP上应该接一个10k的上拉电阻。

3.2. ADC/DAC接口

3.2.1. ADC接口

这个ADC座子的四个接口接地散热,一个接口与STM32上的ADC接口相接,同样,我们可以在数据手册上找到哪些IO口可以复用为ADC接口。

3.2.2. DAC接口

同ADC接口类似,我们仍旧将重点放在寻找可以复用为DAC接口的IO口即可:

3.3. 通信接口

3.3.1. SPI接口

这里的SPI采用的是软件模拟SPI,效果一般会比硬件SPI好一些。我们先简要知道SPI通信的四个引脚的基本含义即可:

SPI_CSS:片选引脚,由该引脚决定主机与哪个从机通信。

SPI_CLK:时钟引脚,用于实现同步通信。

SPI_MISO:主进从出引脚,用于主机向从机传递数据。(master in server out)

SPI_MOSI:主出从进引脚,用于从机向主机传递数据。(master out server in)

注意,由于是软件模拟,这里的四个GPIO口随意选就可以,因为本质是通过改变IO口的电平状态来模拟通信时序。

3.3.2. IIC接口

跟SPI类似,IIC我们同样采用软件模拟,核心的两条线是SCL(时钟线)和SDA(数据线),不过需要注意的是软件模拟IIC时,为了避免同一线上多个从机带来的短路风险,一般会将GPIO配置为开漏输出模式,因此在硬件上需要在外设置4.7k的上拉电阻。

同样,这里用于模拟SCL和SDA的两个IO口任选两个GPIO就可以。

3.3.3. 串口接口

与之前的软件模拟不同,串口通信我们直接使用STM32自带的串口通信引脚,因此我们需要查看STM32的数据手册以确定哪些IO口可用来复用为串口:

值得注意的是,我们在原理图上还加了两个上拉电阻,其目的是为了让该接口也可复用为IIC接口。当我们需要该接口作为串口使用时,就不焊那两个上拉电阻,IO配置为串口模式;如果需要将该接口作为IIC通信接口使用,则需要焊上上拉电阻,IO配置为开漏输出模式。

3.4. LED电路

LED电路较为简单,不过需要注意的是此处的配置为低电平有效,即当我们手动将PB6、PB7、PD8的电平置低时,灯才会亮。设置为低电平有效的原因是这样比用IO做正极带来的驱动能力更强,灯也会更亮。

3.5. 按键电路

按键电路也比较简单,注意使用一个滤波电容来做消抖。

3.6. 下载电路

3.6.1. SWD下载

观察数据手册我们可以发现STM32的PA13和PA14是用来SWD下载的,因此我们用短接标识符做说明:

3.6.2.串口自动下载

关于自动下载电路部分,我只能阐述其功能,关于其原理更推荐大家去看原UP主的视频:

【大师篇】9-stm32开发板原理图设计(接口部分)_哔哩哔哩_bilibili

总的来说,我们将typec接口与CH340芯片连接,该芯片通过控制RTS和DTR的电平状态来实现串口自动的固件下载。

需要注意的是,PA9和PA10要与CH340的RXD和TXD交叉连接:

这个电路是STM32中比较常见的自动下载方案。

3.7. M3螺丝孔

螺丝孔就没什么好说的了,功能是用于固定。


总结

本文讲解了项目-stm32f103vet6开发板设计的信号设计部分,主要模块包含USB接口、ADC/DAC接口、通信接口、LED电路、按键电路、下载电路。

http://www.dtcms.com/a/316671.html

相关文章:

  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘keras’问题
  • Nginx入门:高性能Web服务器详解
  • 商用密码应用安全性评估(密评)实施指南:法律依据与核心要点解析
  • 神坛上的transformer
  • 如何测量滚珠花键的旋转方向间隙?
  • PYQT的QMessageBox使用示例
  • unity之 贴图很暗怎么办
  • Redis作为MySQL缓存的完整指南:从原理到实战
  • 《算法导论》第 4 章 - 分治策略
  • Nature Neuroscience | 如何在大规模自动化MRI分析中规避伪影陷阱?
  • 虚拟电场:能源互联网的隐形交响乐团
  • 基于SD地图增强无图车道线和拓扑推理
  • 【25-cv-23395】宠物/婴儿玩具品牌BESTSKY商标维权!
  • 面向对象编程基础:类的实例化与对象内存模型详解
  • Java基础面试题(1)—Java优势(JVM,JRE,JIT,Java类,方法)
  • RHCA04--系统模块管理与资源限制
  • 91、【OS】【Nuttx】【启动】栈溢出保护:配置项添加
  • 第13届蓝桥杯Scratch_选拔赛_初级组_真题2022年1月22日
  • GPTs和AssistantAPl和Alagent的区别联系
  • 8月5号打卡
  • 智慧社区(八)——社区人脸识别出入管理系统设计与实现
  • 1panel服务器管理工具
  • QML开发:QML的第一个程序
  • Qt Quick 之动态旋转刻度盘(无人机中指南针 Demo )
  • 400V降24V,200mA,应用领域:从生活到工业的 “全能电源管家”WD5208
  • 华清远见25072班C语言学习day2
  • Z20K118库中寄存器及其库函数封装-CLOCK库
  • Boosting 知识点整理:机制、对比与应用场景
  • TDengine 中 TDgp 中部署时序基础模型
  • Android10 系统休眠调试相关