avr单片机和stm32区别与优缺点分析

嵌入式操作系统

57人已加入

描述

  摘要:avr单片机和stm32单片机是目前使用较广泛的单片机,那么avr单片机和stm32单片机有什么区别呢?有什么优劣势呢?

  一、AVR单片机介绍

  AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。

  avr单片机特点:

  1. avr系列没有类似累加器A的结构,它主要是通过R16~R31寄存器来实现A的功能。在avr中,没有像51系列的数据指针DPTR,而是由X(由 R26、R27组成)、Y(由R28、R29组成)、Z(由R30、R31组成)三个16位的寄存器来完成数据指针的功能(相当于有三组DPTR),而且 还能作后增量或先减量等的运行,而在51系列中,所有的逻辑运算都必须在A中进行;而avr却可以在任两个寄存器之间进行,省去了在A中的来回折腾,这些 都比51系列出色些

  2. avr的专用寄存器集中在00~3F地址区间,无需像pic那样得先进行选存储体的过程,使用起来比pic方便。avr的片内RAM的地址区间为 0~00DF(AT90S2313) 和0060~025F(AT90S8515、AT90S8535),它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用寄 存器的功能。当程序复杂时,通用寄存器R0~R31就显得不够用;而51系列的通用寄存器多达128个(为avr的4倍),编程时就不会有这种感觉。

  3. avr的I/O脚类似pic,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电流在10mA左右,低电平吸入电流20mA。这点虽不如pic,但比51系列还是要优秀。

  AVR单片机优点:

  AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作 业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用4~8MHz,故 最短指令执行时间为250~125ns。

  avr单片机缺点:

  1. 是没有位操作,都是以字节形式来控制和判断相关寄存器位的

  2. C语言与51的C语言在写法上存在很大的差异,这让从开始学习51单片机的朋友很不习惯

  3. 通用寄存器一共32个(R0~R31),前16个寄存器(R0~R15)都不能直接与立即数打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接与立即数打交道,显然要优于前者。

  最多的器件:ATUC64L3U、ATxmega64A1U、AT90S8515

  每种MCU都有自身的优点与缺点,与其它8-bit MCU相比,avr 8-bit MCU最大的特点是:

  ● 哈佛结构,具备1MIPS / MHz的高速运行处理能力;

  ● 超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采用单一ACC进行处理造成的瓶颈现象;

  ● 快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发;

  ● 作输出时与pic的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力;

  ● 片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠;

  ● 大部分avr片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等;

  ● 大部分avr除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。

  ● 性价比高。

  AVR单片机用途应用

  市场角度

  性价比:AVR大部分型号的性价比较高,性价比表现突出的型号有:atmega48、atmega8、atmega16、atmega169P。

  供货方面:通用型号的AVR供货较为稳定,非常规型号的AVR样品及供货仍存在问题。

  市场占有率:AVR的市场占有率还是不如PIC与51,但AVR的优点使得AVR的市场占有一直在扩展,AVR的年用量也一直在上涨。

  应用区域

  AVR已被广泛用于:

  空调控制板

  打印机控制板

  智能电表

  智能手电筒

  LED控制屏

  医疗设备

  GPS

  avr单片机典型应用电路图

STM32

  avr单片机最常用的是5V与3.3V两种电压。本线路以开关切换两种电压,并且以双色二极管指示(5V时为绿灯,3.3V时为红灯)。JP3输入电压为7.5v—9v。

STM32

  串口使用一个max232芯片。

  使用跳线JMP2—1,不使用串口时,请将其断开,防止串口电路对IO口的干扰。

  VCC与R2out之间接串上一个电阻R2和一个发光二极管LED1,特别说明,只有当此二极管闪的时候才说明串口在工作,直接接上的时候,此发光二极管也可能会亮。

  STM32

  为减小AD转换的电源干扰,Mega16芯片有独立的AD电源供电。官方文档推荐在VCC串上一只10uH的电感(L1),然后接一只0.1uF的电容到地(C3)。

  Mega16内带2.56V标准参考电压。也可以从外面输入参考电压,比如在外面使用TL431($0.0625)基准电压源。不过一般的应用使用内部自带的参考电压已经足够。习惯上在AREF脚接一只0.1uF的电容到地(C4)。

  STM32

  Mega16已经内置RC振荡线路,可以产生1M、2M、4M、8M的振荡频率。不过,内置的毕竟是RC振荡,在一些要求较高的场合,比如要与RS232($780.5000)通信需要比较精确的波特率时,建议使用外部的晶振线路。

  早期的90S系列,晶振两端均需要接22pF左右的电容。Mega系列实际使用时,这两只小电容不接也能正常工作。不过为了线路的规范化,我们仍建议接上。

  二、stm32单片机介绍

  由ST厂商推出的stm32系列单片机,行业的朋友都知道,这是一款性价比超高的系列单片机,应该没有之一,功能及其强大。其基于专为要求高性能、低成 本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核,同时具有一流的外设:1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表 现,当然和MSP430的功耗比起来是稍微逊色的一些,但这并不影响工程师们对它的热捧程度,由于其简单的结构和易用的工具再配合其强大的功能在行业中赫赫有名。

  特性:

  1.内核:ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHz,单周期乘法和硬件除法

  2.存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器

  3.时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4-16MHz的晶 振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振

  4、调试模式:串行调试(SWD)和JTAG接口。最多高达112个的快速I/O端口、最多多达11个定时器、最多多达13个通信接口

  使用最多的器件:stm32F103系列、stm32 L1系列、stm32W系列

  stm32单片机优点:

  除新增的功能强化型外设接口外,STM32互连系列还提供与其它STM32微控制器相同的标准接口,这种外设共用性提升了整个产品家族的应用灵活性,使开发人员可以在多个设计中重复使用同一个软件。新STM32的标准外设包括10个定时器、两个12位1-Msample/s 模数转换器 (交错模式下2-Msample/s)、两个12位数模转换器、两个I2C接口、五个USART接口和三个SPI端口。新产品外设共有12条DMA通道,还有一个CRC计算单元,像其它STM32微控制器一样,支持96位唯一标识码。

  新系列微控制器还沿续了STM32产品家族的低电压和节能两大优点。2.0V到3.6V的工作电压范围兼容主流的电池技术,如锂电池和镍氢电池,封装还设有一个电池工作模式专用引脚Vbat。以72MHz频率从闪存执行代码,仅消耗 27mA电流。低功耗模式共有四种,可将电流消耗降至两微安。从低功耗模式快速启动也同样节省电能;启动电路使用STM32内部生成的8MHz信号,将微控制器从停止模式唤醒用时小于6微秒。

  STM32由于有各种外设 操作起来简单,可以处理模拟以及数字信号,适用于设计的控制电路

  stm32缺点:

  STM32是跑指令的,适合跑算法,但是针对多路的信号处理就需要很多片DSP来并行处理。

  三、stm32与pic、avr单片机的对比分析

  下表格对avr、pic和STM32这三种系列的单片机进行比较,对象都选择各个系列的64脚封装的芯片,其中Mega128和pic18F6680均为其所在系列中高端芯片。通过表格可以看出不管在处理速度,外围设备还是价格上,STM32都具有非常大的优势,唯一不足之处就是stm32暂时还未集成内部EEPROM,但可以使用Flash的IAP功能来替代,在可靠性上应该更高点。

  在使用C语言编程方面,pic的体系结构是最不适合的,且编译软件无法与GCC,keilc相比。

  在抗干扰方面,主要还是和开发者的水平有关,而一定要说哪种单片机的抗干扰强,哪种弱,其实标准不一样,结果也不一样。人们普遍认为pic的抗干扰很强,但那是C系列,现在集成内部Flash的F系列要差许多,特别是早期出厂的几批。avr系列单片机普遍被认为抗干扰性能是比较差的,曾经有人列出了一个表格,使用日本的测试方法,结果是avr排在了最后,其实对于一般的应用也没什么问题。STM32是由著名的ST公司生产的,该公司一直致力于电机控制芯片的研发生产,而且做的很出色,我想抗干扰应该没什么问题,至少不会比前两种差。

STM32
STM32

  推荐阅读:avr单片机c语言编程风格介绍

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
pml-115 2017-12-18
2 回复 举报
最后一张图,水印好位置 收起回复

全部0条评论

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

×
20
完善资料,
赚取积分