首页 > 其他分享 >PCB零基础设计之GD32F103最小系统板(二)

PCB零基础设计之GD32F103最小系统板(二)

时间:2024-09-10 16:22:44浏览次数:10  
标签:GD32F103 引脚 复位 最小 电源 单片机 PCB 晶振 下载

一.何为最小系统?

        首先我们需要思考,什么是最小系统?最小系统板就是一个最精简的电路,精简到只能维持MCU的最基本的正常工作。接着我们就是继续提出一下问题,如最小系统包括哪些模块?为什么这些模块是必要的?如何设计这些模块?

         关于最小系统板,我们想到的模块有电源模块、烧录模块、复位电路、晶振模块、程序下载接口、启动方式,同时电源模块我们还会设计一个电源指示灯,但是最小系统板是有差异性的,比如在做好产品以后,复位电路、启动方式可以不用设计成可选择形式,甚至如果不要求高精度晶振模块都不需要设计,因为单片机有内部高速和低速时钟,还有,你如果觉得电源指示灯你看“晃眼”,那也可以去掉。所以其实最小系统其实并不是说一定是怎么怎么样,而是可以根据每个人的需要略微有所差异。

二.电源模块

16ddad529bac4974bbc2908548292a50.png

        首先我们看到芯片手册中芯片的引脚图,会看到一些和电源相关的引脚,如VDDA、VSSA、VBAT、VSS_1、VDD_1、VSS_2、VDD_2等。初次见到这些电源,我们可能会有点懵逼,会想,为什么会有这么多电源相关的引脚,和这些电源相关的引脚都是什么意思?(多引脚的单片机会有更多其他电源引脚,如VSSD、VDDD等)下面我们来介绍一下电源相关的引脚意思。

a5fce24aab2044d388ef6b88c4213bba.png

在数据手册里,可以找到相关引脚的介绍和简单的解读。

VBAT

        使用电池或其他电源连接到VBAT脚上,当VDD断电时,可以保存备份寄存器的内容和维持RTC的功能。
        VBAT脚为RTC、LSE振荡器和PC13至PC15端口供电,可以保证当主电源被切断时RTC能继续工作。切换到VBAT供电的开关,由复位模块中的掉电复位功能控制。

VDDA        VSSA

        为了提高转换的精确度,ADC使用一个独立的电源供电,过滤和屏蔽来自印刷电路板上的毛刺干扰。
● ADC的电源引脚为VDDA
● 独立的电源地VSSA

        大体的了解了各种各种电源相关的引脚的意思以后,我们可能心中还会有一些问题想问,比如为什么会有VDD_1 _2 _3区分?

        VDD和VSS在芯片内部都是连在一起的,封装的时候从不同的位置分别引出,目的是提供可靠的电源完整性,(我们可以将整个芯片想成一个水池,单端口注水,电源容易不稳定,所以多端口注水,提供更稳定的电源)。

        32单片机的供电一般都是采用3.3V供电。我们选择采用Mirco USB供电,那么我们就需要设计一个降压模块,将5V降压成3.3V。

Mirco USB

(1)Vbus:电源引脚。
(2)D+:数据线+。
(3)D-:数据线-。
(4)ID脚:Identification,检测的意思。ID线—以用于识别不同的电缆端点,mini-A插头(即A外设)中的ID引脚接地,mini-B插头(即B外设)中的ID引脚浮空。
(5)GND:地参考。

5V - 3.3V

        电容为滤波电容,可以将电容简单的想成是水池,先灌水再让水流出,电容为中间容器,让电流变得更平缓,滤除了一些变化巨大的杂波,同时滤波电容先过大电容,再过小电容。

 电源指示灯

        最后为了方便观察,再设计一个电源指示灯。

电源部分电路

        为了方便一些模块的供电使用,在电源模块中引出两套排针,分别为5.5V和3.3V与GND的电源供电排针。

三.复位电路 

        何为复位?

        让单片机程序复位,把除了备份区域寄存器以外所有寄存器状态恢复至原始状态。简单来说就是让程序重头开始跑。

复位 STM32F10xxx 支持三种复位形式,分别为系统复位、上电复位和备份区域复位。 6.1.1 系统复位 除了时钟控制器的 RCC_CSR 寄存器中的复位标志位和备份区域中的寄存器 ( 见图 4) 以外,系统 复位将复位所有寄存器至它们的复位状态。 当发生以下任一事件时,产生一个系统复位: 1. NRST 引脚上的低电平 ( 外部复位 ) 2. 窗口看门狗计数终止 (WWDG 复位 ) 3. 独立看门狗计数终止 (IWDG 复位 ) 4. 软件复位 (SW 复位 ) 5. 低功耗管理复位 可通过查看 RCC_CSR 控制状态寄存器中的复位状态标志位识别复位事件来源。

复位部分电路

我们在设计复位的时候,同时也设计一个唤醒按键。

四.晶振模块

 时钟树

HSI:内部高速时钟

HSE:外部高速时钟

LSE:外部低速时钟

LSI:内部低速时钟

        居然单片机内部有高速时钟,为什么不用内部自带的高速时钟? 

         看数据手册,内部的HSI是由ST出厂时校准过的,但是精度并不高,在0到70℃下误差范围达到 -1.3%到2%,即便是在标准的25℃下,也有 -1.1%到1.8% 的误差。对于高波特率的异步串口通讯,或者需要高精度定时的场合(如:需要跑积分算法的时候),用HSI就有隐患,甚至根本达不到设计要求。

晶振

        晶振是由石英晶体组成的,石英晶体之所以能当为振荡器使用,是基于它的压电效应:在晶片的两个极上加一电场,会使晶体产生机械变形;在石英晶片上加上交变电压,晶体就会产生机械振动,同时机械变形振动又会产生交变电场,虽然这种交变电场的电压极其微弱,但其振动频率是十分稳定的。当外加交变电压的频率与晶片的固有频率(由晶片的尺寸和形状决定)相等时,机械振动的幅度将急剧增加,这种现象称为“压电谐振”。

        晶振电路为主控芯片提供系统时钟,所有的外设工作,CPU工作都要基于该时钟,类似于整个系统的“心跳节拍”。

        晶振分为无源和有源,但是本质上都是皮尔斯震荡电路(反相放大器+电阻+电容+晶体+电源),只不过对于单片机而言,单片机内部集成了反相放大器和电阻以及电源,外接晶体和电容就可以了,这里的晶体就称之为无源晶振。而有源晶振是将皮尔斯振荡器作成一个整体,直接加电源即可工作,当然,价格也会比无源的贵一些。

8MHz主晶振

 增益控制: 增益很大的反相放大器。
8MHZ谐振器: 晶体。
CL1、CL2: 匹配电容。是电容三点式电路的分压电容,接地点就是分压点。以接地点即分压点为参考点,输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反馈以保证电路持续振荡,它们会稍微影响振荡频率,主要用与微调频率和波形,并影响幅度。
RF: 反馈电阻(一般≥1MΩ)它使反相器在振荡初始时处于线性工作区。
REXT: 限流电阻,与匹配电容组成网络,提供180度相移,同时起到限制振荡幅度,防止反向器输出对晶振过驱动将其损坏。

32.768KHz RTC晶振

        关于RTC晶振,我们可能会有以下疑问,为什么是32.768KHz?32.768KHZ的晶振产生的振荡信号经过石英钟内部分频器进行15次分频后得到1HZ/秒的信号。频度越高计时精度越高,误差越小。通常工作频率越高,单片机等数字电路的功耗越大,32.768KHz这个频率比较低,对降低电路功耗有利。 综上32768Hz是取折中的选择!

 晶振部分电路

五.程序下载接口

STM32F103C8T6烧录下载方法大体上有三种,分别为JTAG下载,SWD下载,以及串口下载。

        JTAG下载,JTAG全名为Joint Test Action Group,即为联合测试行动小组,是一种国际标准测试协议。JTAG下载是需要依靠烧录器的,标准的JTAG接口是4线的,包括JTMS, JTCK, JTDI, JTDO,它们的功能分别是模式选择,时钟输入,数据输入和数据输出,烧录器上的引脚对应连接到STM32F103C8T6的I/O口分别为PA13,PA14,PA15,PB3,加上接VCC和GND,所以JTAG接口最少需要6个引脚。同时单片机的BOOT0,BOOT1引脚要接地。

        SWD下载,SWD全名为Serial Wire Debug,即为串行调试接口。SWD下载是需要依靠烧录器的,SWD接口是2线的,包括SWDIO,SWCLK,它们的功能分别是数据输入输出和时钟输入,烧录器上的引脚对应对应连接到STM32F103C8T6的I/O口分别为PA13,PA14,加上接VCC和GND,所以SWD接口最少需要4个引脚。同时单片机的BOOT0,BOOT1引脚要接地。

        串口下载,通过USART进行烧录下载。串口下载是不需要依靠烧录器的,它直接通过安卓线连接电脑和单片机,其中STM32F103C8T6与电脑相连接的串口为USART2,对应的I/O口为PA2(TX),PA3(RX),一般在开发板上会使用串口下载,简单方便。同时单片机的BOOT0引脚要接高电平,BOOT1引脚要接低电平。

        我们这里采用的烧录方式为SWD下载,下载电路设计时将PA13(SWDIO),PA14(SWCLK),VCC和GND这4个引脚引出

 六.启动方式

 1、第一种方式(boot0 = 0):Flash memory启动方式 启动地址:0x08000000 是STM32内置的Flash,因为JTAG或者SWD模式下载程序时,是下载到内置的Flash中,所有重启后需要从内置Flash启动程序。

2、第二种方式(boot0 = 1;boot1 = 0):System memory启动方式
启动地址:0x1FFF0000从系统存储器启动,这种模式启动的程序功能是由厂家设置的。
系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序, 这是一块ROM,出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader 中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。

3、第三种方式(boot0 = 1;boot1 = 1):SRAM启动方式。
启动地址:0x20000000 内置SRAM,既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。假如我只修改了代码中一个小小的 地方,然后就需要重新擦除整个Flash,比较的费时,可以考虑从这个模式启动代码(也就是STM32的内存中),用于快速的程序调试,等程序调试完成后,在将程序下载到SRAM中。

七.全部原理图

标签:GD32F103,引脚,复位,最小,电源,单片机,PCB,晶振,下载
From: https://blog.csdn.net/a1981613393/article/details/141958880

相关文章

  • 浅谈PCB中的EMC设计规则的理解
    一:两个概念 EMI:电磁干扰  电磁干扰可划分为传导性干扰和辐射性干扰。传导性干扰指的是干扰源通过导线等可导电介质将干扰信号从一个系统传导到另一个系统。辐射性干扰指的是干扰源在空间上将干扰信号从一个电路系统传导到另一个电路系统。 EMC:电磁兼容性  电磁......
  • 提升系统安全性,从反射API和最小权限原则开始
    在当今的软件开发中,安全性已成为设计和实施中的首要考量。随着网络攻击手段的日益复杂,强化安全基线变得尤为重要。反射API(ApplicationProgrammingInterface)和最小权限原则是两个关键概念,它们在提升系统安全性方面起着至关重要的作用。一、反射API:动态调用的艺术反射API允许程......
  • 1170. 比较字符串最小字母出现频次
    题目链接1170.比较字符串最小字母出现频次思路题意不易理解;排序+二分(upper_bound)题解链接Python简洁解法关键点预先处理words时间复杂度\(O((n+m)p)\)空间复杂度\(O(1)\)代码实现:classSolution:defnumSmallerByFrequency(self,queries:L......
  • 744. 寻找比目标字母大的最小字母
    题目链接744.寻找比目标字母大的最小字母思路二分法题解链接官方题解关键点循环不变量(开区间):letters[left]<target&&letters[right]>=target时间复杂度\(O(\logn)\)空间复杂度\(O(1)\)代码实现:classSolution:defnextGreatestLetter......
  • 【算法笔记】Kruskal/Prim算法——求解最小生成树问题
    前言生活中经常遇到类似这种的问题:公路修建有一些城市,城市之间要修建高速公路,每两个城市之间都可以修双向的路。其中每两个城市之间修路都需要花费对应的金额。请问如何修路,使得总花费的金额最少,且任意两个城市之间都可以直接或间接通过修建的路来通行?实际上,我们可以把这种......
  • 最小二乘回归算法原理及Python实践
    最小二乘回归算法原理主要基于最小化误差平方和的思想,以找到数据的最佳函数匹配。以下是对其原理的详细阐述:一、基本原理最小二乘法(LeastSquaresMethod,简称LS)是一种数学优化技术,它通过最小化误差的平方和来寻找数据的最佳函数匹配。在回归分析中,最小二乘法被广泛应用于......
  • 偏最小二乘回归算法原理及Python实践
    偏最小二乘回归(PartialLeastSquaresRegression,PLS回归)是一种统计学和机器学习中的多元数据分析方法,特别适用于处理因变量和自变量之间存在多重共线性问题的情况。其原理主要可以归纳为以下几点:一.原理概述PLS回归通过投影分别将预测变量(自变量X)和观测变量(因变量Y)投......
  • Leetcode面试经典150题-76.最小覆盖子串
    解法都在代码里,不懂就留言或者私信理论上提交这个就是最优解classSolution{publicStringminWindow(Strings,Stringt){if(s.length()<t.length()){return"";}/**转成字符数组*/char[]sArr=s.toCharArr......
  • 为什么企业应当实施“最小权限原则”?
        在当今这个高度数字化的世界中,网络安全已经成为一个不可忽视的重要问题。随着技术的不断发展,网络攻击和数据泄露的风险也在不断增加。为了保护网络和数据的安全,许多安全原则和最佳实践被广泛采用,其中核心之一就是“最小权限原则”。    最小权限原则最早......
  • 一种基于YOLOv8的高精度PCB缺陷检测算法(原创自研)
      ......