**51 stm8 arduino esp8266 esp32 stm32 树莓派 等单片机使用对比**

摘要:该文总结了(STC)51,STM8,Arduino,ESP8266/ESP32,STM32,树莓派等单片机的优缺点及使用情况,重点对比了ESP32和STM32的性能和使用范围。在今后一段时间里ESP32和STM32仍旧会被广泛应用。当然更需要根据不同的使用情况,选择更加适合的单片机。

1、51单片机/STC单片机:(低成本,寄存器编程)

最经典,使用最为广泛的8位单片机,广泛应用于低端市场。

主要优势:1、价格十分低是最大的优点,自从国产化之后,价格很低。2、开发资料十分丰富。3、完整的按位逻辑操作系统。

主要缺点:1、运行速度慢,性能与stm32单片机等相比相差很多,适用于对性能要求不高的场合。2、通信接口,定时器,中断等外设不如stm32丰富,片上资源较少,使用十分注意内存的使用。

STC公司(南通国芯微电子有限公司),已经占有了全球80%以上的51单片机的市场份额。近几年STC公司对51单片机进行了改进,所以运行速度、外设、稳定性等都有了很大的提升,而价格仍旧非常低。

2、STM8:(低成本,库函数编程)

STM8和51都是8位单片机,同样应用于低端市场,支持寄存器开发和库函数开发。与51单片机相比,stm8外设更多,在正常使用情况下stm8比51更有优势。但在恶劣环境中,51单片机比stm8抗干扰能力更强。

3Arduino:(在国外很流行,国内开源环境不好)

主要优点:1、Arduino最大的优势就是开源,软硬件完全开放,技术上不做任何保留。能根据现有丰富的库进行更改就能做复杂的项目。

2、上手速度很快,学习者不需要懂单片机硬件和寄存器原理。

3、代码可读性高,指令简单,只需要有一点C语言基础就能上手。

缺点:1、正版Arduino板价格稍贵。

2、适合用于DIY项目。

3、在国内误导下由于该开发板上手很快,中学生都能玩的转,被挂上低端玩具的名头。实际上该开发板性能碾压51和stm8。稳定性需要进一步确认。

4ESP8266ESP32:(性能很强,广泛用于物联网)

乐鑫聚焦物联网领域好多年了,先是推出了ESP8266这样的低价wifi芯片,安信可又推出了基于该芯片的wifi模组,使得基于wifi的物联网行业进步了一大块。要知道,传统的wifi模组,即便是最便宜的也要几十块钱。而ESP8266的出现,直接把价格控制在10元左右。2016年,乐鑫推出了ESP32,它的性能相比ESP8266又向前迈进了一大步,价格20元左右,同价格区间内几乎看不到对手。

外设对比

性能对比

外设

ESP8266

ESP32

模块

ESP8266

ESP32

GPIO

9个

24个

CPU核心数

单核

双核

I2C

任意IO

任意IO

主频

80M/160MHz

240Hz

SPI

支持

支持

蓝牙

蓝牙4.2

串口

1个

3个

WiFi速度

72.2Mbps

150 Mbps

以太网MAC

支持

PWM

任意IO

DAC转换

支持

ADC转换

支持

CAN总线

CAN2.0

根据表中可见ESP32可用引脚比ESP8266更多,且性能上升了不止一倍,有了ESP32一般都不用ESP8266了。ESP32总结下来:

优点:1、双核处理器能够多线程实时处理

2、高速主频240MHZ,对比STM32F1的72MHZ和STM32F4的168MHZ,速度快很多,而且价格上比STM系低很多。

3、自带蓝牙和Wifi,不用另外购置模块,降低了成本。

4、编程上可以使用arduino环境,编程难度比STM32低很多,开源项目很多,开发速度很快。

缺点:引脚数量过少仍旧是ESP32的弊端之一

在小吃机开发中需要大量的IO口来检测开关状态,同时需要大量引脚控制电机,因此选择了STM32。

但ESP32的性能、物联网开发以及价格上的优势都在STM32之上。

5、STM32:(目前国内主流的控制单片机)

STM32是一种基于ARM架构的32位微控制器。

优点如下:

1、通讯接口十分丰富,如USART,I2C,SPI,CAN,以太网通讯等。

2、可用GPIO数量非常多,可以控制大量设备。

3、定时器数量很多,中断系统也十分完善,能实现非常复杂的逻辑。

4、多路ADC和DAC功能,可用于读取大量传感器等。

5、可运行Free RTOS,RT thread,UCOS等实时操作系统,可用于控制复杂系统。

6、可连接SD卡,LCD屏,有摄像头接口,可读取USB功能等。

缺点:

1、目前国际芯片形势不好,价格一直在上涨。但STM32F1系列价格相较于STM32F4系列价格会低很多,如果不需要以太网、摄像头和DACD等功能时可以考虑F1系列。

2、上手有一定难度,需要一定的时间。

(目前小吃机购买使用的stm32)STM32F407ZGT6:

STM32:ARM内核32位微控制器。F:代表stm32子系列。407:ARM Cortex-M4内核,高达1MB闪存/192+4KB RAM,包含以太网,USB,和摄像头等接口。Z:144针脚。G:1MKb 闪存(大容量)。T:LQFP封装类型。6:工作温度范围-40~85℃。

命名规则:

STM32

F

407

Z

G

T

6

B

xx

1

2

3

4

5

6

7

8

9

1产品系列:

STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU;

2产品类型:

F:通用快闪(Flash memory);L:低电压(1.65~3.6V);F类型中F0xx和F1xx系列为2.0~3.6V;F2xx和F4xx系列为1.8~3.6V;W:无线系统芯片,开发版。

3产品子系列:

050:ARMCortex-M0内核;051:ARMCortex-M0内核;

100:ARMCortex-M3内核,超值型;101:ARMCortex-M3内核,基本型;102:ARMCortex-M3内核,USB基本型;103:ARMCortex-M3内核,增强型;105:ARMCortex-M3内核,USB互联网型;107:ARMCortex-M3内核,USB互联网型、以太网型;108:ARMCortex-M3内核,IEEE802.15.4标准;151:ARMCortex-M3内核,不带LCD;152/162:ARMCortex-M3内核,带LCD。

205/207:ARMCortex-M3内核,不加密模块。(备注:150DMIPS,高达1MB闪存/128+4KBRAM,USBOTGHS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头)

215/217:ARMCortex-M3内核,加密模块。(备注:150DMIPS,高达1MB闪存/128+4KBRAM,USBOTGHS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头)

405/407:ARMCortex-M4内核,不加密模块。(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KBRAM,USBOTGHS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头)。

415/417:ARMCortex-M4内核,加密模块。(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KB RAM,USBOTGHS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头)。

4管脚数:

F:20针脚;G:28针脚;K:32针脚;T:36针脚;H:40针脚;C:48针脚;U:63针脚;R:64针脚;O:90针脚;V:100针脚Q:132针脚;Z:144针脚;I:176针脚;

5Flash存存容量:

4:16KBflash;(小容量);6:32KBflash;(小容量);8:64KBflash;(中容量);B:128KBflash;(中容量);C:256KBflash;(大容量);D:384KBflash;(大容量);E:512KBflash;(大容量);F:768KBflash;(大容量);G:1MKBflash;(大容量)

6封装:

T:LQFP;H:BGA;U:VFQFPN;Y:WLCSP/WLCSP64;

7温度范围:

6:-40℃-85℃;(工业级);7:-40℃-105℃;(工业级)

8内部代码:

“A” or blank;A:48/32脚封装;Blank:28/20脚封装;

9包装方式:

TR:带卷;XXX:盘装;D:电压范围1.65V–3.6V且BOR无使能;无特性:电压范围1.8V-3.6V且BOR使能;

6、树莓派:(复杂计算,如图像识别等)

树莓派是一种微型电脑,主要运行Linux操作系统,连上屏幕、鼠标和键盘就是一个电脑了,可以进行复杂计算,例如图像处理等。有操作系统就意味着可以直接在系统上进行编程,而单片机需要在电脑上编译烧录。

缺点就是:相较于单片机价格很贵。工业控制上,进行大量计算时性能有所不足,直接在电脑上计算可能更好。更适合小型智能化设备。

总结:

1、51和stm8更适合低端市场,如遥控器、小家电、小玩具中。当然STC公司经过升级的stc51单片机也可以考虑使用在工业控制中。

2、Arduino所有硬件和软件全部免费,有丰富的开源项目,且对开发者要求不高,可以快速上手。但由于国内专业人士的偏见,Arduino目前不适合商用(个人看法)。

3、esp32性能极强,性价比很高,自带蓝牙和WiFi,而且各种接口和外设都十分丰富,但是数量上却力不从心。如果需要控制的东西较少,在esp32的IO口允许范围内,绝对是最好的选择。也可以运行实时操作系统。

4、stm32各种接口和外设都十分全面,基本囊括了目前所有需要,且定时器、中断、PWM通道等数量极多,可用于大量开关和传感器的监测,以及大量控制电机等。而且可以运行实时操作系统,工控领域也应用广泛。而且stm32型号很多,可根据需要选择适合的型号,各种型号程序之间的移植也不复杂,方便程序的借鉴使用。相比于esp32,stm32只有单核心,且即使是stm32f4系列主频也只有168MHz,性能上不如esp32,如果需要WiFi时另外需要购买模块。

另外,工业控制中,当工况恶劣时,PLC控制更具有优势。当然除了这六种还有其他类型单片机,由于尚未接触,故不做论述。

你可能感兴趣的:(单片机,stm32,嵌入式硬件)