认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇5

继续看硬件设计

上电复位(POR)/ 掉电复位(PDR)

  • 芯片内部集成 POR/PDR 电路,VDD 到 2V 起即可正常启动。
  • VDD 低于设定阈值 VPOR/PDR 期间,器件一直处于复位模式,不需要外部复位电路。
  • 上下电复位阈值的具体数值,查低密度、中密度、高密度、XL密度和互联型 STM32F10xxx 数据手册的电气特性章节。

上图的意思是,上电的时候,VCC<VPDR+tRSTTEMPO时系统处于复位状态,下电时VCC<VPDR时系统也处于复位状态,这个和其他的器件不同,类似FPGA或者其他SOC,都要上电完成复位一段时间才行,所以STM32的复位引脚不接外部复位电路也是可以正常工作的。

可编程电压检测器(PVD)

PVD 监控 VDD,与电源控制寄存器(PWR_CR)中 PLS2:0 位选定的阈值比较。

置位 PVDE 位使能 PVD。

电源控制/状态寄存器(PWR_CSR)中 PVDO 标志位指示 VDD 高于还是低于 PVD 阈值。

该事件内部接到 EXTI Line16,经 EXTI 寄存器使能后可产生中断。

VDD 跌破 PVD 阈值时产生中断,或 VDD 回升超过阈值时产生中断,取决于 EXTI Line16 的上升沿/下降沿配置。

例:中断服务程序里做紧急关断动作。

可以做掉电保存数据,或者电池产品防拆的功能等。

系统复位

系统复位把全部寄存器置为复位值。例外是时钟控制器 CSR 寄存器中的复位标志,以及备份域中的寄存器(见图 1)。

出现下列任一事件,产生一次系统复位:

1,NRST 引脚低电平(外部复位)

2,窗口看门狗计数结束条件(WWDG 复位)

3,独立看门狗计数结束条件(IWDG 复位)

4,软件复位(SW 复位)

5,低功耗管理复位

复位源查控制/状态寄存器 RCC_CSR 中的复位标志即可确定。

STM32F1xx 上电不需要外部复位电路。建议只加一颗下拉电容,提升 EMS 性能,保护器件不被寄生复位。见图 5。

下拉电容通过内部电阻充放电,会增加器件功耗。推荐容值 100nF 可以降到 10nF,以此限制这部分功耗。

时钟

驱动系统时钟(SYSCLK)的时钟源有三个:

  • HSI 振荡器时钟(高速内部时钟信号)
  • HSE 振荡器时钟(高速外部时钟信号)
  • PLL 时钟

器件另有两个次级时钟源:

  • 40kHz 低速内部 RC(LSI RC),驱动独立看门狗,也可选驱动 RTC,用于停机/待机模式的自动唤醒。
  • 32.768kHz 低速外部晶振(LSE 晶振),可选驱动实时时钟(RTCCLK)。

不用的时钟源可以各自单独开关,用来优化功耗。

时钟树的描述见参考手册:

  • RM0008,对应 STM32F101xx、STM32F102xx、STM32F103xx、STM32F105xx/107xx
  • RM0041,对应 STM32F100xx 超值系列

HSE 振荡器时钟

高速外部时钟信号(HSE)可以由两种源产生:

  • HSE 外部晶振/陶瓷谐振器(见图 7)
  • HSE 用户外部时钟(见图 6)

1,REXT 取值取决于晶体特性。典型值 5 到 6 倍 RS(谐振器串联电阻)。个人理解就是调节晶振振动幅值,通过REXT电阻限制驱动功率的作用。

2,负载电容 CL 按下面式子算:CL = CL1 x CL2 /(CL1 + CL2)+ Cstray。Cstray 是引脚电容加 PCB 板或走线相关电容,典型 2 到 7pF。压小这个值的方法见第 6 节。

外部时钟源(HSE 旁路)

这个模式下必须外部提供时钟源。频率上限:

  • STM32F100xx 超值系列 24MHz
  • STM32F101xx、STM32F102xx、STM32F103xx 25MHz
  • 互联型 50MHz

外部时钟信号(方波、正弦、三角波),占空比约 50%,接 OSC_IN 引脚。OSC_OUT 引脚悬空,保持高阻(见图 7、图 6)。

外部晶振/陶瓷谐振器(HSE 晶振)

外部振荡器频率范围:

  • STM32F101xx、STM32F102xx、STM32F103xx 4 到 16MHz
  • STM32F100xx 超值系列 4 到 24MHz
  • 互联型 3 到 25MHz

外部振荡器主时钟频率准。硬件配置见图 7。

谐振器和负载电容尽量靠近振荡器引脚接,压缩输出失真和起振稳定时间。负载电容值按所选振荡器调整。

CL1 和 CL2 建议用高频用高质量陶瓷电容,5pF 到 25pF(典型),按晶振或谐振器的要求选。CL1 和 CL2 一般取相同值。晶振厂家标的负载电容,是 CL1 与 CL2 的串联组合。算 CL1 和 CL2 时要把 PCB 与 MCU 引脚电容算进去,引脚加板子电容合计可用 10pF 粗估。

细节看数据手册的电气特性章节。

LSE 振荡器时钟

低速外部时钟信号(LSE)可由两种源产生:

  • LSE 外部晶振/陶瓷谐振器(见图 9)
  • LSE 用户外部时钟(见图 8)

注:

1,"External clock"图:CL1 与 CL2 上限 15pF,别超。强烈建议选负载电容 CL 不大于 7pF 的谐振器。负载电容 12.5pF 的谐振器不能用。

2,"External clock"与"crystal/ceramic resonators"图:OSC32_IN 与 OSC_OUT 引脚也能当 GPIO 用。同一个应用里不建议既当 RTC 引脚又当 GPIO 用。

3,"Crystal/ceramic resonators"图:REXT 取值看晶体特性。0 欧电阻能用,但不是最优。典型值 5 到 6 倍 RS(谐振器串联电阻)。要细调 RS,见 AN2867,ST 单片机振荡器设计指南。

外部时钟源(LSE 旁路)

外部提供时钟源。频率上限 1MHz。外部时钟信号为方波、正弦波或三角波。占空比约 50%。接 OSC32_IN 引脚。OSC32_OUT 引脚悬空,保持高阻。见图 9、图 8。

外部晶振/陶瓷谐振器(LSE 晶振)

LSE 晶振是 32.768kHz 低速外部晶振或陶瓷谐振器。给实时时钟外设(RTC)提供低功耗、高精度时钟源。用于时钟/日历或其他计时功能。

谐振器和负载电容尽量靠近振荡器引脚接。压缩输出失真和起振稳定时间。负载电容值按所选振荡器调整。

时钟安全系统(CSS)

时钟安全系统由软件开启。开启后,时钟检测在 HSE 起振延时之后生效,HSE 停振时关闭。

  • HSE 时钟检测到失效,振荡器自动关闭。失效事件送到 TIM1 高级控制定时器的 break 输入,同时产生中断通知软件(时钟安全系统中断 CSSI),让 MCU 做抢救动作。CSSI 挂在 Cortex-M3 的 NMI(不可屏蔽中断)异常向量上。
  • HSE 直接或间接作为系统时钟时(间接指 HSE 作 PLL 输入,PLL 时钟作系统时钟),检测到失效会切到 HSI,并关闭外部 HSE。失效发生时如果 HSE 时钟(分频或不分频)正是用做系统时钟的 PLL 输入,PLL 也一起关闭。

细节见 STM32F10xxx(RM0008)和 STM32F100xx(RM0041)参考手册,ST 官网 www.st.com。

相关推荐
爱吃汽的小橘1 小时前
FPGA/数字IC设计的时序优化
fpga开发
FPGA小迷弟1 小时前
FPGA 与无线电:从软件定义无线电到 5G 基带的硬件实现之路
5g·fpga开发·架构·dsp开发·fpga·无线电
恒锐丰科技林技术员1 小时前
CL5012A 升压型双节锂电池充电芯片方案解析
经验分享·嵌入式硬件·硬件工程
yingheceping2 小时前
2026 国产 FPGA 核心板怎么选?工控/视觉/通信/科研,四场景对板指南
fpga开发·fpga
樱木花道長2 小时前
AMD Ross 深度系列 7:六组对照实验看Ross如何赋能AI完成Vivado 硬核IP配置
人工智能·fpga开发
小向是个Der10 小时前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本
Kuakewei88811 小时前
PW6606快充协议诱骗芯片:纯硬件电阻配置五档电压方案
嵌入式硬件
车软学堂11 小时前
从测试转开发,到底要补什么
网络·人工智能·python·功能测试·单片机·车载系统·自动化
LCG米11 小时前
STM32 ADC多通道DMA定时器触发实测:TRGO触发链、采样率精确控制与乒乓缓冲落地
stm32·单片机·嵌入式·adc