MCU最小系统电路设计(以STM32F103C8T6为例)

目录

一、何为最小系统?

二、最小系统电路设计

1.电源

(1)各种名词解释

(2)为什么会有VDD_1 _2 _3区分?

(3)Mirco USB

(4)5v->3.3v滤波电路

(5)电源指示灯

2.复位电路

(1)什么是复位

(2)复位引脚和电路

3.晶振模块

(1)复位引脚

(2)时钟和时钟树

(3)为什么不直接使用内部8M时钟源?

(4)8MHz主晶振介绍

(5)为什么选择32.768KHz RTC晶振?

(6)晶振原理图

4.程序下载口

(1)JTAG下载:

(2)SWD下载:

(3)串口下载:

(4)程序下载口原理图​编辑

5.启动方式

(1)三种启动方式:

(2)启动原理图


一、何为最小系统?

最小系统板就是一个最精简的电路,精简到只能维持MCU最基本的正常工作

二、最小系统电路设计

1.电源

(1)各种名词解释

VCC电路的供电正电压VDDD芯片的工作数字正电压
GND电路的供电负电压VSSD芯片的工作数字负电压
VDD芯片的工作正电压VREF+ADC基准参考正电压
VSS芯片的工作负电压VREF-ADC基准参考负电压
VDDA芯片的工作模拟正电压VBAT电池或其他电源供电
VSSA芯片的工作模拟负电压VEE负电压供电

VDDA,VSSA:

VBAT:(RTC为实时时钟,LSE为低速外部时钟)

(2)为什么会有VDD_1 _2 _3区分?

因为VDD和VSS在芯片内部都是连在一起的,封装的时候从不同的地方分别引出,目的是为了提供可靠的电源完整性。

(3)Mirco USB

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

(4)5v->3.3v滤波电路

(5)电源指示灯

电路:

示例图:

2.复位电路

(1)什么是复位

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

 

(2)复位引脚和电路

复位引脚:当NRST为低电平时复位

复位电路:

3.晶振模块

(1)复位引脚

(2)时钟和时钟树

时钟:

时钟树:

(3)为什么不直接使用内部8M时钟源?

通过数据手册我们可以得知:内部的HSI是由ST出厂时校准过的,但是精度并不高,在0~70℃下误差范围达到1.3%到2%,即便是在标准的25℃下,也有 -1.1%到1.8% 的误差。

对于高波特率的异步串口通讯,或者需要高精度定时的场合,(如:需要跑积分算法的时候),用HSI就有隐患,甚至根本达不到设计要求。

(4)8MHz主晶振介绍

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

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

晶振分为无源和有源,但是本质上都是皮尔斯震荡电路(反相放大器+电阻+电容+晶体+电源),只不过对于单片机而言,单片机内部集成了反相放大器和电阻以及电源,外接晶体和电容就可以了,这里的晶体就称之为无源晶振。

而有源晶振是将皮尔斯振荡器作成一个整体,直接加电源即可工作,当然,价格也会比无源的贵一些。

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

(5)为什么选择32.768KHz RTC晶振?

32.768KHZ的晶振产生的振荡信号经过石英钟内部分频器进行15次分频后得到1HZ/秒的信号。

那为什么选择15分频呢?

频度越高计时精度越高,误差越小。

通常工作频率越高,单片机等数字电路的功耗越大,32.768KHz这个频率比较低,对降低电路功耗有利。 

综上选择32.768Hz是取折中的选择!

(6)晶振原理图

4.程序下载口

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

(1)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引脚要接地。

(2)SWD下载:

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

(3)串口下载:

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

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

(4)程序下载口原理图

5.启动方式

(1)三种启动方式:

第一种方式(boot0 = 0):Flash memory启动方式

启动地址:0x08000000 是STM32内置的Flash

因为JTAG或者SWD模式下载程序时,是下载到内置的Flash中

所有重启后需要从内置Flash启动程序。

第二种方式(boot0 = 1;boot1 = 0):System memory启动方式

启动地址:0x1FFF0000从系统存储器启动,这种模式启动的程序功能是由厂家设置的。

系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序, 这是一块ROM,出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader 中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。

第三种方式(boot0 = 1;boot1 = 1):SRAM启动方式。

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

(2)启动原理图

总结:

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

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

相关文章

JVM相关工具【jps、jstat、jinfo、jmap、jhat、jstack、VisualVM、GCEasy、MAT、GCViewer、Arthas】

JVM相关工具 JDK工具包jpsjstatjinfojmapjhatjstackVisualVM 第三方工具【GCEasy、MAT、GCViewer、Arthas】 转自 《极客时间》 JDK工具包 jps jstat jinfo jmap jhat jstack VisualVM 第三方工具【GCEasy、MAT、GCViewer、Arthas】

常见面试题——说说堆内存与栈内存的区别

在C中,堆(heap)和栈(stack)是两种不同的内存分配方式,它们在存储数据、生命周期和访问方式上有很大的区别。让我们深入了解一下这两者之间的关键区别: 栈(Stack)&#xf…

用户故事编写指南:写出最贴近用户实际场景的故事

用户故事在软件开发过程中被作为“描述需求”的一种表达形式,是定义用户想要什么的简单方法。通过它可以清楚地解释产品。一个好的用户故事能帮助利益相关者理解产品的功能,并且有助于向客户介绍产品是什么。用户故事都会写,但如何写出最贴近…

Stable Diffusion 模型分享:【Checkpoint】YesMix(动漫、2.5D)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四下载地址模型介绍 条目内容类型大模型基础模型SD 1.5来源

10个常考的前端手写题,你全都会吗?(上)

前言 📫 大家好,我是南木元元,热爱技术和分享,欢迎大家交流,一起学习进步! 🍅 个人主页:南木元元 今天来分享一下10个常见的JavaScript手写功能。 目录 1.实现new 2.call、apply、…

XXE 漏洞简单研究

近期在做个基础的 web 常见漏洞的 ppt,主要参考 OWASP TOP 10 2017RC2,此版本中增加了 XXE 攻击,所以自己简单的研究下 XXE 攻击。XXE(XML External Entity)XML 外部实体,当前端和后端通信数据采用 xml&…

迭代器模式:分离遍历逻辑与数据结构,实现统一访问接口与灵活扩展

文章目录 一、引言二、应用场景与技术背景三、模式定义与实现四、优缺点分析总结: 一、引言 ​ 迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种方法顺序访问聚合对象的元素,而又不暴露其底层表示。迭…

STC-ISP原厂代码研究之 V3.7d汇编版本

最近在研究STC的ISP程序,用来做一个上位机烧录软件,逆向了上位机软件,有些地方始终没看明白,因此尝试读取它的ISP代码,但是没有读取成功。应该是目前的芯片架构已经将引导代码放入在了单独的存储块中,而这存储块有硬件级的使能线,在面包板社区-宏晶STC单片机的ISP的BIN文…

uniapp:使用DCloud的uni-push推送消息通知(在线模式)java实现

uniapp:使用DCloud的uni-push推送消息通知(在线模式)java实现 1.背景 今天开发app的时候遇到一个需求: 业务在出发特定条件的时候向对应的客户端推送消息通知。 为什么选择在线模式,因为我们使用的是德邦类似的手持终端&#xf…

vue如何重写移动端长按文字复制的功能

移动端长按文字会出现 “复制 全选”的默认弹框(这里拿安卓举例) 但是有的时候需要在长按的时候增加别的功能 这时候就需要禁用原生的弹框然后重写自己的功能 第一步:禁用掉原生弹窗 但是支持划选文字 重要css属性: -webkit-t…

StarRocks——Stream Load 事务接口实现原理

目录 前言 一、StarRocks 数据导入 二、StarRocks 事务写入原理 三、InLong 实时写入StarRocks原理 3.1 InLong概述 3.2 基本原理 3.3 详细流程 3.3.1 任务写入数据 3.3.2 任务保存检查点 3.3.3 任务如何确认保存点成功 3.3.4 任务如何初始化 3.4 Exactly Once 保证…

Ethernet/IP转Modbus TCP网关

产品功能 1 YC-EIP-TCP工业级EtherNet/IP 网关 2 Modbus TCP 转 EtherNet/IP 3支持ModBus主从站 4 即插即用 无需编程 轻松组态 ,即实现数据交互 5导轨安装 支持提供EDS文件 6 EtherNET/IP与ModBus互转数据透明传输可接入PLC组态 支持CodeSys/支持欧姆龙PLC 支持罗克韦尔(AB) 典…

LACP——链路聚合控制协议

LACP——链路聚合控制协议 什么是LACP? LACP(Link Aggregation Control Protocol,链路聚合控制协议)是一种基于IEEE802.3ad标准的实现链路动态聚合与解聚合的协议,它是链路聚合中常用的一种协议。 链路聚合组中启用了…

jenkins+kubernetes+git+dockerhub构建devops云平台

Devops简介 k8s助力Devops在企业落地实践 传统方式部署项目为什么发布慢,效率低? 上线一个功能,有多少时间被浪费了? 如何解决发布慢,效率低的问题呢? 什么是Devops? 敏捷开发 提高开发效率&…

卖东西的微信小程序多少钱?卖货小程序怎么做?

部分商家在寻找一个简单的解决方案来在线销售商品,需求并不复杂,能让客户轻松下单并完成支付的商城小程序就已足够。那么做一个这样的商城小程序要怎么做呢?多少钱? 您可能会想:我不懂编程,也没有搭建过小程…

导览系统厂家|景区电子导览|手绘地图|AR导览|语音导览系统

随着元宇宙、VR、AR等新技术的快速发展,旅游服务也更加多元化、智能化。景区导览系统作为旅游服务的重要组成部分,其形式更加多元化智能化。智能导览系统作为一种新的服务方式,能够为游客提供更加便捷的旅游服务和游览体验,也逐渐…

windows安装部署node.js并搭建Vue项目

一、官网下载安装包 官网地址:https://nodejs.org/zh-cn/download/ 二、安装程序 1、安装过程 如果有C/C编程的需求,勾选一下下图所示的部分,没有的话除了选择一下node.js安装路径,直接一路next 2、测试安装是否成功 【winR】…

如何搭建零售行业经营分析体系?

​怎么搭建零售行业的经营分析体系? 整体思路就是:利用数据中台基于业务全价值链的数据沉淀,借助大数据技术进行采集、计算、存储和加工,同时统一数据建模与治理,构建数据资产,充分挖掘数据,实…

[electron] electron环境搭建

electron组成部分 Electron作为一个跨平台的框架。按照道理来说Node.js作为语言已经统一了不同平台的操作,为什么还有Native apis。好吧,先不管那么多首先我们需要先下载Node.js nodejs官网 。记得还要安装npm包管理,这里就不细讲。 npm换源…

[极客大挑战 2019]LoveSQL1 题目分析与详解

一、题目简介: 二、通关思路: 1、首先查看页面源代码: 我们发现可以使用工具sqlmap来拿到flag,我们先尝试手动注入。 2、 打开靶机,映入眼帘的是登录界面,首先尝试万能密码能否破解。 username: 1 or 11…