购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 STM32系列微控制器概述

以实现出色性能和能效为设计目标,同时保留开放工业标准的ARM架构和开发环境的优点,目前意法半导体公司所生产的基于Cortex-M3内核的STM32微控制器已有4个产品线:基本型系列STM32F101、USB基本型系列STM32F102、增强型STM32F103和互联型STM32F105/7。

3.1.1 产品种类和应用

36MHz基本型系列和72MHz增强型系列微控制器,这些低密度产品是代码量很大且成本敏感型设备的理想选择。这两个系列产品的闪存密度从16KB延伸到512KB,基本型系列的SRAM容量最高达48KB,增强型系列的SRAM容量最高达64KB,目前各有22款产品。为支持设计小型化和节省成本,除提供丰富的存储密度选择外,新产品还集成功能先进的外设,如速率高达4.5Mb/s的嵌入式USART、18MHz 的SPI主从控制器接口、输入频率72MHz的PWM定时器、最高频率48MHz的SDIO和最高采样速率48kHz的I2S模块。图3.1所示为STM32产品线。

图3.1 STM32产品线

USB基本型系列微控制器是把一个价格具有竞争力的低功耗产品家族再集成“USB全速设备”外设,内置闪存密度为16~128KB。采用LQFP64和LQFP48两种封装,目前共有8款产品上市。为加快设计和开发周期,STM32 USB配套开发工具提供一整套USB认证固件库,支持4种传输模式:控制传输、中断传输、数据块传输和同步传输,以及固件更新和虚拟COM操作。

72MHz互联型系列是ST最新推出的STM32产品线。这是一款集成了USB OTG、支持IEEE1588的以太网、双CAN和音频级I2S接口的32位微控制器。STM32互联型产品线内置了从64~256KB不等的闪存、高达64KB的SRAM和14个通信接口。该产品线共有LQF64、LQFP100和BGA100三种封装,STM32F105有6款产品、STM32F107有4款供客户选择。图3.2所示为STM32内部外设比较。

图3.2 STM32内部外设比较

目前STM32共有62款产品,这4个系列的产品线在引脚排列、软件、固件和开发工具方面相互兼容,为设备厂商开发对MIPS速度要求很高的高性能应用和电池驱动设备提供了一个共同的开发基础。开发商能够提高硬件、代码、工具和知识的投资收益,缩短产品上市时间,节省开发成本。

STM32所拥有的丰富外设可广泛应用于各种领域。

◆ 工业应用:PLC、变频器、打印机、扫描仪、工业网络、电机控制。

◆ 建筑和安防:警报系统、视频监控和HVA。

◆ 低功耗应用:血糖测量、电表、电池供电系统。

◆ 消费类产品:PC外设、游戏机、家庭音响、电磁烹饪、医疗监控。

3.1.2 STM32F101/2/3x系列微控制器

STM32F103和STM32F101两个系列的产品拥有相同的片内闪存选项,在软件和引脚封装方面兼容。增强型系列产品将32位MCU的性能和功效引向一个新的级别。内含的Cortex-M3内核工作在72MHz,能实现高端的运算。而外设的配置则带来出众的控制和连接能力。基本型系列是STM32系列的入门产品,只有16位MCU的价格却拥有32位MCU的性能。外设的配置能提供极好的控制和连接能力。

图3.3所示为STM32F10x框图。

图3.3 STM32F10x框图

3.1.3 STM32F105/107系列微控制器

STM32互联型产品线是ST新推出的STM32产品线。这是一款集成了USB OTG、支持IEEE 1588的以太网、双CAN和音频级I2S接口的32位微控制器。STM32互联型产品线主要应用于互联和实时要求较高的场合:工业控制、安防设备的控制面板、UPS、汽车电子和家用电器。STM32互联型产品线内置了从64~256KB不等的闪存、高达64KB的SRAM和14个通信接口。该产品线共有LQF64、LQFP100和BGA100三种封装供客户选择。图3.4所示为互联型产品。

图3.4 互联型产品

特性:

◆ 10/100M以太网MAC控制器,内置专用DMA,硬件支持IEEE 1588协议;

◆ 支持Mll和RMll接口连接以太网物理层芯片;

◆ USB 2.0 OTG全速控制器,内置OTG物理层;

◆ 双CAN 2.0B主动接口;

◆ 专用于USB OTG和双CAN的缓存;

◆ PLL模块为内核和外设提供高级的时钟管理;

◆ 支持以太网、USB、CAN、SPI、I2C、UART/IrDA、10个定时器和高达80个5V兼容的通用I/O口,模拟功能包括2个12位模/数转换器、2个12位数/模转换器和完整的电压监控功能;

◆ 灵活的bootloader程序支持从USART、CAN和USB接口(DFU类)实现固件升级;

◆ 灵活的电源和时钟管理,支持多种低功耗模式,可设置唤醒时间的低功耗实时时钟(3.3V时典型电流1.4μA),84字节的数据备份空间。

优点:

◆ 低廉的联网成本,精确的时钟同步;

◆ 灵活选择不同的PHY芯片;

◆ 支持USB主机功能,无须外接USB OTG控制器和PHY芯片;

◆ 两条单独的CAN总线可实现网关功能,在单CAN模式下具有双倍的滤波器;

◆ USB和CAN可同时使用,可以实现网关功能;

◆ 可以为USB、CAN、以太网MAC、以太网物理层芯片和音频级I2S接口提供同步时钟,所以设计灵活,成本优化;

◆ 因为所有这些外设都能够同时工作,所以STM32互联型产品线是一个出色的通信网关;

◆ 通信接口灵活安全——因为bootloader程序不能删除,所以永远可以更新代码;

◆ 可以根据实际需要随时灵活配置产品以平衡产品的性能和功耗,即便在待机模式下,实时时钟仍能靠电池维持正常运行,重要的应用数据可以保存在84B的备份空间中。

3.1.4 主要优点

对于使用同一平台进行多个项目开发而言,STM32是最佳的平台选择。从仅需少量的存储空间和引脚的应用到需要更多的存储空间和引脚的应用,从苛求性能的应用到电池供电的应用,从简单且对成本敏感的应用到高端应用,全系列脚对脚、外设及软件的高度兼容性,带来全方位的灵活性。可以在不必修改原始框架及软件的条件下,将应用升级到需要更多存储空间、或精简到使用更少存储空间、或改用不同的封装规格。

STM32使用ARM最新的、先进架构的Cortex-M3内核,具有优异的实时性能和杰出的功耗控制,单片最大程度的集成整合及创新的外设,简单齐全的开发套件,可使产品快速进入市场。

1.具业界领先架构的Cortex-M3内核

◆ 哈佛结构。

◆ 1.25 DMIPS/MHz和0.19mW/MHz。

◆ Thumb-2指令集以16位的代码密度带来了32位的性能。

◆ 单周期乘法指令和硬件除法指令。

◆ 内置了快速的中断控制器:优越的实时特性,中断的延迟时间降到只需6个CPU周期,从低功耗模式唤醒的时间只需6个CPU周期。

◆ 与ARM7TDMI ® 相比,运行速度最多可快35%且代码最多可节省45%。

2.出众的功耗效率

高性能并非就意味着高耗电。STM32经过特殊的处理,针对市场上主要的三种能耗需求进行了优化:

◆ 运行模式下高效率的动态耗电机制;

◆ 待机状态时极低的电能消耗;

◆ 电池供电时的低电压工作能力。

当代码从Flash中以72MHz的全速运行时,STM32仅消耗27mA电流。在待机模式下,复位电路开启时,典型的耗电值仅为2mA。2.0~3.6V的供电电压范围,适合于电池供电的应用。STM32具有三种低功耗模式和灵活的时钟控制机制,用户可以根据自己所需的耗电/性能要求进行合理的优化。

STM32还内嵌了实时时钟(RTC),它既可以由32kHz外部晶体也可以由内部RC电路提供频率基准。RTC有其单独的供电电路,内置的开关使其可由外接硬币大小的电池供电,或由主电源供电。在3.3V的供电电压下,其典型的消耗电流仅为1.4mA。RTC中还包含了用于数据备份的84B RAM。

从停机模式唤醒通常只需要不到6ms时间,而从待机模式或复位状态启动通常只需50ms就可进入运行状态。图3.5所示为各模式下的功耗。

图3.5 各模式下的功耗

3.内部高度集成

◆ 内嵌电源监控器,减少对外部器件的需求:上电复位、低电压检测、掉电检测、自带时钟的看门狗定时器。

◆ 一个主晶振可以驱动整个系统:低成本的4~16MHz晶振即可驱动CPU、USB及所有外设。内嵌PLL产生多种频率,可以为内部实时时钟选择32kHz的晶振。

◆ 内嵌出厂前调校的8MHz RC振荡电路,可以用做主时钟源。

◆ 额外的针对RTC或看门狗的低频率RC电路。

◆ LQPF100封装芯片的最小系统只需7个外部无源器件。

4.灵活的静态存储控制器(FSMC)

灵活的静态存储控制器向用户提供:

◆ 4块独立的分区支持外部存储器;当系统运行在72MHz时,外部存储器的速度可以高达36MHz。

◆ 支持CompactFlash、SRAM、PSRAM、NOR及NAND等各种存储器。

◆ 可编程的时序,可支持更宽范围的外部设备。

◆ 可以从外部存储器中执行代码。

◆ 连接LCD控制器的并行接口,支持Intel的8080和Motorola的6800时序。

5.STM32轻松开发、快速投放市场

图3.6所示STM32的开发过程。从构想到实现,就像1、2、3那样简单。

图3.6 STM32的开发过程

● STM32固件库

STM32固件库提供易用的函数,可以使用户方便地访问STM32的各个标准外设,并使用它们的所有特性。这个免费的软件包提供的驱动覆盖了从GPIO到定时器,再到CAN、I2C、FSMC、I2S、SDIO、DAC、SPI、UART和ADC等的所有标准外设。

对应的C源代码只是用了最基本的C语言编程的知识,经过严格测试,并且配有完整的文档。它兼容所有基于ARM内核的C编译器,并且和2004版的MISRA C兼容。

STM32固件库沿用了STR7和STR9的API(应用程序接口),与其相同。

● USB开发工具集

在更广的应用领域中,USB功能的实现将变得越来越方便,因为USB开发工具集提供了完整的、经过认证的固件包,使得用户可以顺利地开发各个类的USB固件,其中包括:

◆ 用于普通的设备管理任务的控制传输;

◆ 中断传输,附带人机界面类(HID)鼠标/游戏杆例程;

◆ 批量传输,附带大规模存储(Mass Storage)例程;

◆ 同步传输,附带扬声器/麦克风例程。

这个工具集还包含了通过USB接口进行固件升级的DFU及在USB接口上模拟RS-232接口的虚拟串口例程(CDC类的实现)。

● STM32电机矢量控制固件库

根据用户需求,可以免费提供优化的、具有完整文档的、用于PMSM和交流无刷电机矢量控制(FOC)的C语言固件库。配合ST提供的硬件,这些模块化的库支持以上两种类型电机的脱机操作。免费提供所有的源文件,采用MISRA C,与IEC60730兼容。

● STM32F103x的加密库采用AES-ECB128的加密算法

针对STM32 32位微控制器优化的加密库满足数据保密的需求。结合AES-ECB 128位的对称钥算法和STM32的Cortex-M3内核的优异性能,为数据提供了强大的保密功能。Keil、IAR和Hitex工具下的16位/32位/64位/128位明文的、针对STM32的AES-ESB 128位标准测试程序可以根据用户需要提供参考。

3.1.5 STM32命名规则

STM32微控制器包括4个系列62个型号,产品命名主要包括7部分:器件类别、产品类型、产品系列、引脚数目、闪存大小、封装形式、工作温度。对于STM32微控制器的器件类别,是基于ARM的32位微控制器。

产品系列可选101、102、103、105/7,分别表示基本型、USB基本型、增强型和互联型。

引脚数目可选T=36、C=48、R=64、V=100、Z=144。

闪存大小可选4=16KB、6=32KB、8=64KB、B=128KB、C=256KB、D=384KB、E=512KB。

封装形式可选T=LQFP、U=VFQFPN、H=BGA。

例如:STM32F101C4T6,其中F表示通用类型,产品系列是101,表示基本型,C表示48个引脚,4表示16KB闪存,T表示LQFP封装,6表示工作温度是−40~85℃。 OdKrqUSLkAKHm9wtTJUhXSM9/K41T9A5DBYkUK3PO8xMgJaMGQ/pUO+9l+Q/iK0V

点击中间区域
呼出菜单
上一章
目录
下一章
×