单片机的发展相当的迅速,现在各个厂商们也在速度、内存、功能上此起彼伏,竞争激烈,同时涌现出一大批拥有代表性单片机的厂商:Atmel、TI、ST、MicroChip、ARM…国内的宏晶STC单片机也是可圈可点。为初学者首先要搞清楚他们之间的区别,掌握avr单片机选型技巧,才能够更好的设计产品。
由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系列
avr单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业。 avr单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用4~8MHz,故短 指令执行时间为250~125ns。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系列还是要的…
缺点:
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单片机常用的是5V与3.3V两种电压。本线路以开关切换两种电压,并且以双色二极管指示(5V时为绿灯,3.3V时为红灯)。JP3输入电压为7.5v—9v。
串口电路设计
串口使用一个max232芯片。
使用跳线JMP2—1,不使用串口时,请将其断开,防止串口电路对IO口的干扰。
VCC与R2out之间接串上一个电阻R2和一个发光二极管LED1,特别说明,只有当此二极管闪的时候才说明串口在工作,直接接上的时候,此发光二极管也可能会亮。
AD转换滤波线路
为减小AD转换的电源干扰,Mega16芯片有独立的AD电源供电。文档推荐在VCC串上一只10uH的电感(L1),然后接一只0.1uF的电容到地(C3)。
Mega16内带2.56V标准参考电压。也可以从外面输入参考电压,比如在外面使用TL431($0.0625)基准电压源。不过一般的应用使用内部自带的参考电压已经足够。习惯上在AREF脚接一只0.1uF的电容到地(C4)。
Mega16已经内置RC振荡线路,可以产生1M、2M、4M、8M的振荡频率。不过,内置的毕竟是RC振荡,在一些要求较高的场合,比如要与RS232($780.5000)通信需要比较的波特率时,建议使用外部的晶振线路。
早期的90S系列,晶振两端均需要接22pF左右的电容。Mega系列实际使用时,这两只小电容不接也能正常工作。不过为了线路的规范化,我们仍建议接上。
pic单片机系列是美国微芯公司(Microship)的产品,共分三个级别,即基本级、中级、,是当前市场份额增长快的单片机之一,CPU 采用RISC结构,分别有33、35、58条指令,属精简指令集,同时采用Harvard双总线结构,运行速度快,它能使程序存储器的访问和数据存储器的 访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期,这 也是高效率运行的原因之一,此外pic单片机之所以成为一时非常热的单片机不外乎以下特点:
特点
1.具有低工作电压、低功耗、驱动能力强等特点。pic系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。I/O脚增加了用于设置输入或输出状态的方向寄存器,从而解决了51系列I/O脚为高电平时同为输入和输出的状态。
2.当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。相对于51系列而言,这是一个很大的优点
3.它可以直接驱动数码管显示且外电路简单。它的A/D为10位,能满足要求。具有在线调试及编程(ISP)功能。
不足之处
其专用寄存器(SFR)并不像51系列那样都集中在一个固定的地址区间内(80~FFH),而是分散在四个地址区间内。只有5个专用寄存器PCL、 STATUS、FSR、PCLATH、INTCON在4个存储体内同时出现,但是在编程过程中,少不了要与专用寄存器打交道,得反复地选择对应的存储体, 也即对状态寄存器STATUS的第6位(RP1)和第5位(RP0)置位或清零。数据的传送和逻辑运算基本上都得通过工作寄存器W(相当于51系列的累加 器A)来进行,而51系列的还可以通过寄存器相互之间直接传送,因而pic单片机的瓶颈现象比51系列还要严重,这在编程中的朋友应该深有体会。
使用多的器件pic16F873、pic16F877
下表格对avr、pic和STM32这三种系列的单片机进行比较,对象都选择各个系列的64脚封装的芯片,其中Mega128和pic18F6680均为其所在系列中高端芯片。通过表格可以看出不管在处理速度,外围设备还是价格上,STM32都具有非常大的优势,不足之处就是stm32暂时还未集成内部EEPROM,但可以使用Flash的IAP功能来替代,在可靠性上应该更高点。
在使用C语言编程方面,pic的体系结构是不适合的,且编译软件无法与GCC,keilc相比。
在抗干扰方面,主要还是和开发者的水平有关,而一定要说哪种单片机的抗干扰强,哪种弱,其实标准不一样,结果也不一样。人们普遍认为pic的抗干扰很强,但那是C系列,现在集成内部Flash的F系列要差许多,特别是早期出厂的几批。avr系列单片机普遍被认为抗干扰性能是比较差的,曾经有人列出了一个表格,使用日本的测试方法,结果是avr排在了,其实对于一般的应用也没什么问题。STM32是由的ST公司生产的,该公司一直致力于电机控制芯片的研发生产,而且做的很出色,我想抗干扰应该没什么问题,至少不会比前两种差。
各种单片机都有各自的优缺点,应根据需要选择。选择单片机原则如下:
1. 单片机的基本参数例如速度,程序存储器容量,I/O 引脚数量
2. 单片机的增强功能,例如看门狗,双指针,双串口,RTC(实时时钟),EEPROM,扩展 RAM,CAN 接口,I2C 接口,SPI 接口,USB 接口。
3. Flash 和OTP(性可编程)相比较,是Flash。
4. 封装 IP(双列直插),PLCC(PLCC 有对应插座)还是贴片。DIP 封装在做实验时可能方便一点。
5. 工作温度范围,工业级还是商业机。如果设计户外产品,必须选用工业级。
6. 功耗,比如设计并口加密狗,信号线取电只能提供几个 mA,用pic 就是因为低功耗,后来出了MSP430 也不错。
7. 工作电压范围。例如设计电视机遥控器,2 节干电池供电,至少应该能在 1.8-3.6V电压范围内工作。
8. 供货渠道畅通。能申请样片,小批量购买有现货。像标准 51,中发里随便找个柜台就能买到。
9. 价格低。
10. 有服务商,像周立功公司推 Philips,双龙公司推avr,都提供了很多有用的技术支持,起码烧写器有地方买。
11. 烧录器价格低,如果是ICP(把单片机放在烧录器上编程)能否利用现有的烧录器,如果是表贴封装,买一个转接座也很贵,至少得一二百元。能否 ISP(在系统编程,即把芯片先焊到板子上再通过预留的 ISP 接口编程),一般 ISP 编程器比较便宜大约一二百元甚至几十元。
12. 仿真器便宜。对于 FLASH 型单片机,仿真器不是必备的。但是对于OTP(性可编程)型单片机,必须购买或者租用仿真器。
13. 单片机汇编语言是自己熟悉的,并且能支持 C 语言。编程环境要像keil 一样好用,并且还是的。 14. 网站速度快,资料丰富。包括芯片手册,应用指南,设计方案,范例程序。有中文,像Atmel 就不错。
15. 保密性能好,查一下解密网站上的黑名单,再发个 mail 咨询一下解密价格。
16. 抗干扰性能好。我曾经把XXC52 改为S52 后发现抗干扰性能下降,只好改回去。
17. 和其他外设芯片放在一起的综合考虑。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。