stm32f103与stm32f105有什么区别
1
拍明芯城
STM32F103与STM32F105的深度对比分析
一、产品定位与市场背景
在嵌入式系统开发领域,STM32系列微控制器凭借其高性能、低功耗和丰富的外设资源,成为工业控制、消费电子和汽车电子等领域的核心组件。其中,STM32F103与STM32F105作为同一系列的代表产品,虽共享ARM Cortex-M3内核,但在设计定位、外设配置和应用场景上存在显著差异。本文将从技术原理、功能特性、应用场景及替代方案等维度,系统剖析二者的异同,为开发者提供选型参考。

1.1 市场定位与目标用户
STM32F103定位为“基本型”(Performance Line),主打通用控制场景,适用于成本敏感型项目,如电机驱动、工业自动化和消费电子。其设计目标是通过均衡的性能与外设配置,满足中低复杂度应用的需求。例如,在智能家居领域,STM32F103常用于智能照明、温湿度传感器等设备,通过GPIO、ADC和PWM等基础外设实现数据采集与控制。
STM32F105则属于“互联型”(Connectivity Line),强调通信与接口扩展能力,面向需要高速网络通信和多协议支持的场景,如工业网关、车载娱乐系统和医疗设备。其设计目标是通过集成以太网MAC、USB OTG和双CAN接口,简化复杂系统的硬件设计。例如,在工业自动化中,STM32F105可作为PLC的核心控制器,通过以太网实现设备互联,同时利用CAN总线与传感器网络通信。
1.2 技术演进与产品迭代
STM32F103系列自2007年发布以来,凭借其72MHz主频、64KB-512KB Flash和20KB-64KB SRAM的配置,成为入门级开发的标杆产品。随着物联网和工业4.0的兴起,ST于2010年推出STM32F105系列,通过增加以太网MAC、USB OTG和硬件TCP/IP协议栈支持,填补了基本型与高端型之间的市场空白。例如,STM32F105VCT6型号集成256KB Flash和64KB SRAM,支持双CAN 2.0B接口和USB 2.0全速主机/设备模式,可同时处理多种通信协议。
二、工作原理与核心架构
2.1 ARM Cortex-M3内核特性
二者均基于ARM Cortex-M3内核,采用32位RISC架构,具备以下共性:
三级流水线:取指、解码、执行并行处理,单周期指令吞吐量达1.25DMIPS/MHz;
嵌套向量中断控制器(NVIC):支持240个中断源,可配置8级优先级,实现低延迟中断响应;
Thumb-2指令集:结合16位与32位指令,平衡代码密度与性能;
硬件除法与单周期乘法:加速数学运算,适用于实时控制算法。
2.2 存储器系统对比
| 特性 | STM32F103 | STM32F105 |
|---|---|---|
| Flash容量 | 64KB-512KB | 64KB-256KB |
| SRAM容量 | 20KB-64KB | 64KB(固定) |
| 外部存储器接口 | 支持FSMC(灵活静态存储控制器) | 仅支持基本并行接口 |
| 代码执行效率 | 依赖Flash加速器(0等待周期) | 同左 |
STM32F103的Flash容量范围更广,适合存储复杂程序;而STM32F105的64KB SRAM为多任务处理和数据缓存提供更大空间。例如,在需要同时运行RTOS和TCP/IP协议栈的网关设备中,STM32F105的SRAM优势显著。
2.3 总线架构差异
STM32F103采用传统AHB/APB总线架构:
AHB总线:连接内核、DMA和存储器,提供高带宽数据传输;
APB总线:挂载低速外设(如I2C、SPI),通过总线矩阵实现多主设备访问。
STM32F105在此基础上优化了总线优先级:
以太网MAC直连AHB:减少数据传输延迟,提升网络吞吐量;
USB OTG独立DMA通道:避免与通用DMA冲突,保障实时性。
例如,在USB Host模式下,STM32F105可通过专用DMA通道实现480Mbps数据传输,而STM32F103需共享通用DMA,可能引发资源竞争。
三、外设资源与功能特性
3.1 通信接口对比
| 外设 | STM32F103 | STM32F105 |
|---|---|---|
| USB | 全速设备模式(12Mbps) | OTG主机/设备模式(12Mbps) |
| CAN | 单通道CAN 2.0B | 双通道CAN 2.0B |
| 以太网 | 不支持 | MAC层(需外接PHY) |
| I2C | 最多2路 | 最多3路 |
| SPI | 最多3路 | 最多3路 |
| USART | 最多5路 | 最多5路 |
关键差异:
USB OTG:STM32F105支持主机模式,可直接连接U盘、键盘等外设,而STM32F103仅能作为设备被主机控制;
双CAN接口:STM32F105可同时处理两条CAN总线数据,适用于汽车电子中的动力总成与车身控制网络分离场景;
以太网MAC:STM32F105集成10/100Mbps MAC层,配合PHY芯片(如LAN8720)可实现工业以太网通信,而STM32F103需外接专用以太网控制器(如W5500)。
3.2 模拟外设对比
| 外设 | STM32F103 | STM32F105 |
|---|---|---|
| ADC | 12位,最多18通道 | 12位,最多16通道 |
| DAC | 12位,2通道 | 12位,2通道 |
| 模拟比较器 | 2路 | 2路 |
应用场景:
STM32F103:在电机控制中,通过ADC采集电流/电压信号,结合PWM输出实现闭环控制;
STM32F105:在医疗设备中,利用DAC生成精确模拟信号,驱动传感器或执行器。
3.3 定时器与PWM
二者均支持:
4个通用定时器(TIM2-TIM5),支持输入捕获、输出比较和PWM生成;
2个高级定时器(TIM1/TIM8),支持互补PWM输出和死区时间控制。
差异点:
STM32F105的定时器资源更适用于多轴运动控制。例如,在工业机器人中,TIM1控制X轴电机,TIM8控制Y轴电机,同时利用通用定时器生成编码器反馈信号。
四、引脚功能与封装设计
4.1 引脚复用与配置
二者均采用AFIO(复用功能IO)寄存器实现引脚功能切换,但STM32F105的引脚资源更丰富:
STM32F103:LQFP64封装提供51个GPIO,支持USART1/SPI1/I2C1等基础外设;
STM32F105:LQFP100封装提供80个GPIO,额外支持以太网RMII接口、USB OTG引脚和第二路CAN总线。
配置示例:
在STM32F105中,PA11/PA12默认作为USB DM/DP引脚,通过AFIO重映射可切换为普通GPIO或CAN_RX/CAN_TX。
4.2 电源与复位设计
二者均支持2.0-3.6V宽电压供电,但STM32F105的电源管理更精细:
低功耗模式:均支持睡眠、停止和待机模式,但STM32F105的待机模式唤醒时间更短(<5μs vs. 10μs);
备份域:通过VBAT引脚为RTC和备份寄存器供电,实现断电数据保留。
4.3 封装选项对比
| 型号 | STM32F103 | STM32F105 |
|---|---|---|
| 最小封装 | LQFP48(48引脚) | LQFP64(64引脚) |
| 最大封装 | LQFP144(144引脚) | LQFP100(100引脚) |
| BGA选项 | 不支持 | 支持(如STM32F105RBT6) |
选型建议:
空间受限场景(如可穿戴设备)优先选择LQFP48封装的STM32F103;
需要多通信接口的复杂系统(如工业网关)选择LQFP100封装的STM32F105。
五、典型应用场景与案例分析
5.1 STM32F103的核心应用
5.1.1 电机控制
案例:无人机飞控系统
功能实现:通过TIM1生成PWM信号控制无刷电机,ADC采集电池电压与电流,UART与遥控器通信;
优势:STM32F103的72MHz主频和硬件除法器可实时运行PID控制算法,同时其低功耗特性延长飞行时间。
5.1.2 消费电子
案例:智能手环
功能实现:利用I2C接口连接加速度传感器,SPI接口驱动OLED显示屏,UART与蓝牙模块通信;
优势:STM32F103的LQFP48封装和低成本特性适合大规模量产。
5.2 STM32F105的核心应用
5.2.1 工业自动化
案例:PLC控制器
功能实现:通过双CAN接口连接分布式I/O模块,以太网MAC实现与SCADA系统通信,USB OTG下载用户程序;
优势:STM32F105的64KB SRAM可同时运行RTOS和Modbus TCP协议栈,满足实时性要求。
5.2.2 汽车电子
案例:车载网关
功能实现:CAN接口连接动力总成ECU,以太网接口连接T-Box实现车联网通信,USB OTG支持诊断仪接入;
优势:STM32F105的-40℃~105℃工业级温宽和AEC-Q100认证确保可靠性。
六、替代方案与选型指南
6.1 STM32F103的替代型号
6.1.1 同系列升级
STM32F107:增加以太网MAC和USB OTG,适用于需要网络功能的场景;
STM32F100:降低主频至24MHz,但功耗更低,适合电池供电设备。
6.1.2 跨系列替代
STM32F401:基于Cortex-M4内核,主频84MHz,集成FPU,适合浮点运算密集型应用;
NXP LPC54608:双核Cortex-M4,支持10/100Mbps以太网,价格与STM32F105相当。
6.2 STM32F105的替代型号
6.2.1 高性能替代
STM32F429:主频180MHz,集成LCD控制器和Chrom-ART加速器,适合HMI应用;
TI AM335x:基于ARM Cortex-A8,运行Linux系统,适用于复杂网关设备。
6.2.2 低成本替代
STM32F103ZET6:通过外接以太网控制器(如ENC28J60)实现网络功能,成本降低30%;
NXP LPC1768:主频100MHz,集成以太网和USB OTG,但SRAM仅64KB。
6.3 选型决策树
是否需要网络功能?
是→STM32F105/F107或LPC54608;
否→STM32F103或LPC1768。
是否需要高性能计算?
是→STM32F429或AM335x;
否→STM32F103或F105。
是否受限于成本?
是→STM32F103+外设扩展或NXP LPC1768;
否→直接选择目标型号。
七、开发工具与生态系统支持
7.1 开发环境对比
| 工具 | STM32F103 | STM32F105 |
|---|---|---|
| STM32CubeIDE | 全功能支持(HAL库) | 全功能支持(HAL库) |
| Keil MDK | 支持(需购买许可证) | 支持(需购买许可证) |
| IAR Embedded Workbench | 支持(高优化代码) | 支持(高优化代码) |
| PlatformIO | 社区支持(OpenOCD调试) | 社区支持(OpenOCD调试) |
7.2 调试工具
ST-Link V2:官方调试器,支持SWD/JTAG接口,价格低廉;
J-Link:高速调试器,支持无限断点,适合复杂项目;
OpenOCD:开源调试工具,可通过FT2232芯片实现低成本调试。
7.3 操作系统支持
FreeRTOS:二者均支持,STM32F105的64KB SRAM可运行更多任务;
RT-Thread:提供丰富的组件(如LwIP协议栈),适合网络设备开发;
Linux:仅STM32F429/AM335x等高端型号支持。
八、总结与展望
STM32F103与STM32F105作为STM32F1系列的代表产品,分别针对通用控制与通信扩展场景优化设计。前者以低成本和均衡性能成为入门级开发的首选,后者凭借多协议支持和高性能外设满足复杂系统需求。随着物联网和工业4.0的深化,未来微控制器将向更高集成度、更低功耗和更强安全性演进。例如,ST已推出STM32U5系列,集成PSA Certified Level 3安全认证和AI加速单元,预示着下一代嵌入式系统的发展方向。开发者在选型时,需综合考虑性能、成本、生态和长期维护等因素,以实现最优技术方案。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。

产品分类

2012- 2022 拍明芯城ICZOOM.com 版权所有 客服热线:400-693-8369 (9:00-18:00)