STM32F100x 系列微控制器:设计指南与应用剖析

电子说

1.4w人已加入

描述

STM32F100x 系列微控制器:设计指南与应用剖析

在嵌入式系统的广阔领域中,微控制器犹如一颗璀璨的明珠,为各类应用提供着强大的计算和控制能力。今天,我们将深入探讨 STM32F100x4、STM32F100x6、STM32F100x8 和 STM32F100xB 这一系列微控制器,为电子工程师们提供一份全面的设计指南。

文件下载:STEVAL-IHM038V1.pdf

一、概述

STM32F100x 系列微控制器属于低和中密度超值系列,集成了高性能的 ARM Cortex - M3 32 位 RISC 内核,运行频率高达 24 MHz。它拥有高速嵌入式存储器,包括最大 128 Kbytes 的 Flash 存储器和最大 8 Kbytes 的 SRAM,以及丰富的增强型外设和 I/O 接口,连接到两个 APB 总线。这些特性使得该系列微控制器适用于广泛的应用场景,如应用控制、用户界面、医疗设备、手持设备等。

1.1 产品分类

在这个系列中,STM32F100x4 和 STM32F100x6 被归类为低密度设备,而 STM32F100x8 和 STM32F100xB 则属于中密度设备。不同的密度对应着不同的存储器容量和外设配置,工程师可以根据具体的应用需求进行选择。

1.2 相关手册

在进行设计时,我们需要结合低和中密度 STM32F100xx 参考手册来深入了解其功能和使用方法。对于内部 Flash 存储器的编程、擦除和保护信息,可参考 STM32F100xx Flash 编程手册。此外,关于 Cortex - M3 核心的详细信息,可从 ARM 官网的 Cortex - M3 技术参考手册中获取。

二、特性剖析

2.1 ARM Cortex - M3 核心

ARM Cortex - M3 处理器是嵌入式系统领域的佼佼者,它为 MCU 实现提供了低成本平台,具有引脚数量少、功耗低的优点,同时具备出色的计算性能和对中断的高级系统响应能力。该处理器代码效率极高,能够在通常与 8 位和 16 位设备相关的内存大小下实现 ARM 核心的高性能。由于 STM32F100xx 系列嵌入了 ARM 核心,因此它与所有 ARM 工具和软件兼容,这为开发者提供了极大的便利。

2.2 存储器

  • Flash 存储器:最大可提供 128 Kbytes 的嵌入式 Flash 存储器,用于存储程序和数据。其编程时间、擦除时间等特性在不同的温度条件下有明确的规定,例如在 - 40 至 +105 °C 的温度范围内,16 位编程时间为 40 - 70 µs,页(1 KB)擦除时间为 20 - 40 ms。
  • SRAM:最大 8 Kbytes 的嵌入式 SRAM 可在 CPU 时钟速度下以 0 等待状态进行读写操作,为数据处理提供了快速的存储支持。

2.3 时钟与启动

系统时钟在启动时进行选择,复位时默认选择内部 8 MHz RC 振荡器作为 CPU 时钟。也可以选择外部 4 - 24 MHz 时钟,并且系统会对其进行故障监测。若检测到故障,系统会自动切换回内部 RC 振荡器,并在启用时生成软件中断。此外,还可以通过多个预分频器配置 AHB、APB1 和 APB2 总线的频率,这些总线的最大频率均为 24 MHz。

2.4 电源管理

  • 电源供应:该系列微控制器的标准工作电压为 2.0 - 3.6 V,模拟工作电压在 ADC 未使用时与标准工作电压相同,使用 ADC 时为 2.4 - 3.6 V。备份工作电压为 1.8 - 3.6 V,用于 RTC、外部 32 kHz 时钟振荡器和备份寄存器。
  • 电源监控:设备集成了上电复位(POR)/掉电复位(PDR)电路,确保从 2 V 开始就能正常工作。同时,还具备嵌入式可编程电压检测器(PVD),可监测 (V{DD}) 和 (V{DDA}) 电源供应,并与 (V_{PVD}) 阈值进行比较,当电压低于或高于阈值时可生成中断。
  • 低功耗模式:支持睡眠、停止和待机三种低功耗模式,以在低功耗、短启动时间和可用唤醒源之间取得最佳平衡。在睡眠模式下,只有 CPU 停止工作,所有外设继续运行并可在发生中断/事件时唤醒 CPU;停止模式可在保留 SRAM 和寄存器内容的同时实现最低功耗;待机模式则可实现最低功耗,但会丢失除备份域和待机电路外的 SRAM 和寄存器内容。

2.5 定时器与看门狗

  • 定时器:包括一个高级控制定时器、六个通用定时器、两个基本定时器。高级控制定时器 TIM1 可看作是三相 PWM 多路复用在 6 个通道上,具有互补 PWM 输出和可编程插入死区时间的功能。通用定时器如 TIM2、TIM3、TIM4 等可用于生成 PWM 输出或作为简单的时基。基本定时器 TIM6 和 TIM7 主要用于 DAC 触发生成。
  • 看门狗:有独立看门狗和窗口看门狗。独立看门狗基于 12 位递减计数器和 8 位预分频器,由独立的 40 kHz 内部 RC 时钟驱动,可在停止和待机模式下工作。窗口看门狗基于 7 位递减计数器,由主时钟驱动,具有早期警告中断功能。

2.6 通信接口

  • I²C 总线:支持多主和从模式,可支持标准和快速模式,支持双从地址(仅 7 位)和主模式下的 7/10 位寻址,嵌入了硬件 CRC 生成/验证功能,可由 DMA 服务,支持 SM Bus 2.0/PM Bus。
  • USART:嵌入了三个通用同步/异步收发器,通信速度可达 3 Mbit/s,提供 CTS 和 RTS 信号的硬件管理,支持 IrDA SIR ENDEC、多处理器通信模式、单总线半双工通信模式和 LIN 主/从能力,可由 DMA 控制器服务。
  • SPI:最多两个 SPI 接口,可在主从模式下以全双工和单工通信模式实现高达 12 Mbit/s 的通信速度,3 位预分频器提供 8 种主模式频率,帧可配置为 8 位或 16 位,也可由 DMA 控制器服务。
  • HDMI CEC:嵌入了 HDMI - CEC 控制器,为消费电子控制(CEC)提供硬件支持,该协议可在环境中的所有视听产品之间提供高级控制功能。

2.7 ADC 与 DAC

  • ADC:12 位模数转换器最多有 16 个外部通道,可在单次或扫描模式下进行转换。具有模拟看门狗功能,可精确监测所选通道的转换电压,当电压超出编程阈值时会生成中断,并且可由 DMA 控制器服务。
  • DAC:两个 12 位缓冲 DAC 通道可将两个数字信号转换为两个模拟电压信号输出,支持同步更新、噪声波生成、三角波生成等功能,每个通道都具有 DMA 能力和外部触发转换功能。

三、引脚与封装

3.1 引脚定义

该系列微控制器提供了详细的引脚定义,不同的引脚具有不同的功能,如输入、输出、电源供应、时钟输入等。部分引脚还具有复用功能,可通过软件配置实现不同的外设功能。例如,PA0 引脚在复位后默认功能为 PA0,还可复用为 WKUP、USART2_CTS、ADC1_IN0 等功能。

3.2 封装类型

提供了三种不同的封装类型,包括 LQFP48、LQFP64 和 LQFP100,引脚数量从 48 到 100 不等。不同的封装适用于不同的应用场景,工程师可以根据电路板的空间和设计要求进行选择。

四、电气特性

4.1 绝对最大额定值

在设计过程中,我们需要注意设备的绝对最大额定值,如 (V{DD} - V{SS}) 的范围为 - 0.3 至 4.0 V,输入电压 (V_{IN}) 在五伏容忍引脚和其他引脚也有相应的限制。超过这些额定值可能会导致设备永久性损坏。

4.2 工作条件

  • 电源电压:标准工作电压 (V{DD}) 为 2.0 - 3.6 V,模拟工作电压 (V{DDA}) 在不同情况下有不同的要求。
  • 时钟频率:内部 AHB、APB1 和 APB2 时钟频率的最大值均为 24 MHz。
  • 温度范围:根据不同的后缀版本,环境温度范围有所不同,如后缀 6 版本的环境温度范围为 - 40 至 85 °C 或 - 40 至 105 °C,后缀 7 版本的环境温度范围为 - 40 至 105 °C 或 - 40 至 125 °C。

4.3 电流消耗

电流消耗是设计中需要考虑的重要因素之一,它受到多种参数和因素的影响,如工作电压、环境温度、I/O 引脚负载、设备软件配置、工作频率等。在不同的工作模式下,如运行模式、睡眠模式、停止模式和待机模式,电流消耗也有所不同。例如,在运行模式下,当外部时钟为 8 MHz 且 PLL 开启时,全外设启用且 (f{HCLK}=24 MHz),从 Flash 运行代码的数据处理时的最大电流消耗在 (T{A}=85 °C) 时为 15.4 mA,在 (T_{A}=105 °C) 时为 15.7 mA。

五、应用建议

5.1 温度范围选择

在订购微控制器时,需要根据应用的实际情况选择合适的温度范围。可以通过计算应用的功率消耗和结温来确定最佳的温度范围。例如,对于一个高性能应用,假设最大环境温度 (T{Amax}=82 °C),(I{DDmax}=50 mA),(V{DD}=3.5 V),经过计算得出 (P{Dmax}=447 mW),对于 LQFP64 封装,(T_{Jmax}=82^{circ} C+(45^{circ} C/W × 447 mW)=102.1^{circ} C),此时应选择至少带有温度范围后缀 6 的部件。

5.2 EMC 设计

为了确保设备在电磁环境中的稳定性,需要进行 EMC 设计。在设计过程中,应注意软件流程图中对失控条件的管理,如程序计数器损坏、意外复位、关键数据损坏等。可以通过手动强制 NRST 引脚或振荡器引脚为低电平 1 秒来重现常见的故障,当检测到意外行为时,可对软件进行加固以防止不可恢复的错误发生。

5.3 PCB 设计

在 PCB 设计中,电源供应去耦是关键。根据 (V{REF+}) 是否连接到 (V{DDA}),应采用不同的去耦方式。10 nF 陶瓷电容应尽可能靠近芯片放置,以减少电源噪声对设备的影响。

六、总结

STM32F100x 系列微控制器以其丰富的功能、高性能和低功耗的特点,为电子工程师们提供了一个强大的设计平台。在设计过程中,我们需要充分了解其特性和电气参数,根据具体的应用需求进行合理的选择和配置。同时,注意温度范围选择、EMC 设计和 PCB 设计等方面的问题,以确保设备的稳定性和可靠性。希望本文能为广大电子工程师在使用 STM32F100x 系列微控制器时提供一些有益的参考。

你在使用 STM32F100x 系列微控制器的过程中遇到过哪些有趣的问题或挑战呢?欢迎在评论区分享你的经验和见解。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分