STM32最小系统硬件组成详解

0组成: 电源   复位   时钟    调试接口  启动

1、电源 : 一般3.3V  LDO供电   加多个0.01uf去耦电容  

2、复位:有三种复位方式:上电复位、手动复位、程序自动复位

通常低电平复位:(51单片机高电平复位,电容电阻位置调换)

上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,计算方式如下:t = 1.1RC(固定计算公式)  1.1*10K*0.1uF=1.1ms

需求的复位信号持续时间约在1ms左右。

手动复位:按键按下时,RESET和地导通,从而产生一个低电平,实现复位。

3、时钟 :   晶振+起振电容  +(反馈电阻MΩ级)   

如使用内部时钟:

对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。

2)对于少于100脚的产品,有2种接法:

iOSC_INOSC_OUT分别通过10K电阻接地。此方法可提高EMC性。

32.768KHZ:

可选择只接高速外部时钟8MHZ或 既多接一个32.768MHZ的外部低速时钟。

32.768KHZ时钟作用:      用于精准计时电路  万年历

通常会选择32.768KHz的晶振,原因在于32768=2^15,而嵌入式芯片分频设置寄存器通常是2的次幂的形式,这样经过15次分频后,就很容易的1HZ的频率。实现精准定时。用于精准计时电路  万年历 

晶振:一般选择8MHZ  方便倍频     

有源:更稳定 成本更高 需要接电源供电  不需要外围电路      3脚单线输出  

无源:精度基本够 方便灵活 便宜          最大区别:是否需要单独供电         无源晶振需要外接起振电容:晶振的两侧有两个电容

OSC——OUT不接,悬空

有源晶振

作用:

1、使晶振两端的等效电容等于或接近于负载电容;

2、起到一定的滤波的作用,滤除晶振波形中的高频杂波;

该起振电容的大小一般选择10~40pF,当然根据不同的单片机使用手册可以具体查阅,如果手册上没有说明,一般选择20pF、30pF即可,这是个经验值。

调整电容可微调振荡频率:

一般情况下,增大电容会使振荡频率下降,而减小电容会使振荡频率升高,

反馈电阻:   1M    负反馈    同时也是限流

1、连接晶振的芯片端内部是一个线性运算放大器,将输入进行反向180度输出,晶振处的负载电容电阻组成的网络提供另外180度的相移; 整个环路的相移360度,满足振荡的相位条件,

2、 晶振输入输出连接的电阻作用是产生负反馈,保证放大器工作在高增益的线性区,一般在M欧级;

3、 限流的作用,防止反向器输出对晶振过驱动,损坏晶振,有的晶振不需要是因为把这个电阻已经集成到了晶振里面。

4、启动:  用户使用通常都设置成Boot0  Boot1均为0即均为低电平  

M3核的器件有3种启动方式,M4的有4种。通过BOOT0,BOOT1的电平进行选择。

       STM32三种启动模式对应的存储介质均是芯片内置的,它们是:

1)用户闪存 = 芯片内置的Flash。

2)SRAM = 芯片内置的RAM区,就是内存啦。

3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区,它是使用USART1作为通信口。

       M4在上述基础上又增加了可在FSMC的BANK1区域启动。

5、调试接口:STM32有两种调试接口,JTAG为5针,  SWD为2线串行(一共四线)

此外还有采用USB进行程序烧写数据输出:和电脑USB口连接也可以进行小负载驱动供电。

通常采用CH340G的芯片:实现USB转串口。

需要单独的振荡电路 12MHZ

使用该芯片将电脑的USB映射为串口使用,  注意电脑上应安装串口驱动程序,否则不能正常识别。

当烧写程序时,我们希望BOOT0=1,BOOT1=0。当烧写完成后我们希望BOOT0=0,BOOT1=0(这个模式BOOT1可以是0可以是1,这里我们让BOOT1拉低,即整个过程BOOT1都为L接地,简化电路设计)。

STM32最小系统硬件组成详解相关推荐

  1. STM32的最小系统组成的详解

    经常使用STM32开发的工程师对于它的开发环境的最小系统是必须要有所了解的,特别是硬件工程师在设计硬件的时候对这个最小系统就要更加的深入了解了,如果最小系统的搭建都有问题,那以后的使用很难避免不出现问 ...

  2. 【STM32】系统时钟RCC详解(超详细,超全面)

    转载:https://blog.csdn.net/as480133937/article/details/98845509 1什么是时钟 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的 ...

  3. STM32最小系统详解

    STM32最小系统详解 1. 电源电路 2. 晶振电路 3. 复位电路 4. 下载电路(串口下载) 本文章将以普中的STM32F103系列的开发板为载体,任何一款STM32开发板都是在其最小系统基础上 ...

  4. Android 系统(252)---Android:BLE智能硬件开发详解

    Android:BLE智能硬件开发详解 目录 前言 BLE是个什么鬼 BLE中的角色分工 主要的关键词和概念  GATT(Generic Attribute Profile ) Characteris ...

  5. 【STM32-I2C学习总结】STM32:硬件-IIC详解 , 固件库编程 , 手把手教你实现IIC

    STM32:硬件-IIC详解 , 固件库编程 , 手把手教你实现IIC 一 .I2C物理层 二.协议层 1.I2C基本读写过程 (1)主机写数据到从机 (2)主机由从机中读数据 (3)I2C 通讯复合 ...

  6. 硬件电路设计之如何设计一个STM32最小系统?

      STM32最小系统主要由STM32F103RCT6微处理器.时钟晶振电路.按键复位电路.电源稳压电路以及BOOT电路等部分构成,该最小系统所使用的微处理器是一款32位的处理器,该处理器基于高性能的 ...

  7. STM32最小系统(以F103为例)

    STM32最小系统(以F103为例) 总览 晶振电路 电源电路 复位电路 下载电路 参考学习文章 总览 单片机最小系统一般有晶振电路.电源电路.复位电路.下载电路(调试电路). 晶振电路 作用: 用来 ...

  8. Linux系统守护进程详解

    文中有不对或者有不清楚的地方,请大家告诉我,谢谢!   Linux系统守护进程详解 不要关闭下面这几个服务: acpid, haldaemon, messagebus, klogd, network, ...

  9. IBM p5服务器上的虚拟 分享,IBMp5服务器系统虚拟技术详解

    <IBMp5服务器系统虚拟技术详解>由会员分享,可在线阅读,更多相关<IBMp5服务器系统虚拟技术详解(10页珍藏版)>请在人人文库网上搜索. 1.IBM p5 服务器系统虚拟 ...

最新文章

  1. 深入浅析nginx部署及简单优化
  2. 毕业论文 | 信号的抽取与插值技术研究(源代码)
  3. maven shade
  4. 计算机图形学应用:java2d和3d_?硬核儿童节礼物:MIT学神、太极作者胡渊鸣送你一门计算机课程...
  5. android学习笔记---39_采用Service实现电话监控器,刻录打电话者的声音后通过socket上传到服务端
  6. Ubuntu 远程管理常用命令
  7. CSP202006-2 稀疏向量(100分)【map】
  8. Java1.5并发包下阻塞队列的生产者与消费者功能简单实现
  9. android 微信分享小程序 图片显示不全
  10. 04轨迹规划基础----正逆运动学的C++代码编写
  11. c语言dp算法,通过leetcode学算法——动态规划(dp)
  12. 地址总线/数据总线/控制总线的作用
  13. 【图像融合】基于多模态实现CT图像无缝融合附matlab代码
  14. Gaussian Blurring
  15. 计算机怎么弄64位,64位系统怎么装?安装64位系统教程
  16. Learning to Collaborate: Multi-Scenario Ranking via Multi-Agent Reinforcement Learning
  17. Git学习-Git时光机之版本回退(二)
  18. int计算机考试,全国计算机等级考试是什么程序执行?
  19. 言语理解-片段阅读的结构剖析练习
  20. mall 电商 api 接口文档

热门文章

  1. 逆向分析 Android 程序
  2. Android Butter Knife(黄油刀) 的使用
  3. taro 引入js_Taro 兼容 h5 踩坑指南
  4. C#使用EPPlus.dll动态库在一般处理程序中实现将datatable导出到excel
  5. vue H5跳转小程序
  6. 外部h5跳转小程序页面传递参数
  7. 实例教学:如何与下属进行绩效反馈
  8. 服务器虚拟hub,什么是虚拟集线器HUB?
  9. 2.2.2 胸腰差和胸臀差的应用_米人NOONE_新浪博客
  10. R语言使用dplyr包的groupby函数和summarise函数计算每个分组数据的百分位数、quantile函数计算百分位数、通过设置probs参数计算百分位数