1997年,由Atmel公司挪威设计中心的A先生与V先生利用Atmel公司的Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR。相对于出现较早也较为成熟的51系列单片机,AVR系列单片机片内资源更为丰富,接口也更为强大,同时由于其价格低等优势,在很多场合可以替代51系列单片机。2006年,Atmel继AVR(8bit MCU)之后,推出的32位AVR,Atmel独立研发(这点与ARM不同),它也不同于其他32位的ARM。
目前,AVR单片机主要的类型有32位AVR UC3、AVR XMEGA、MegaAVR、TinyAVR等。
AVR的32bit单片机作为业界最高效的32位微处理器,将芯片的效率提高到了一个新的水平,特别是在高性能和低功耗上。该类芯片支持定点DSP、双端口SRAM、多层数据总线、外设DMA控制器、外设时间系统和智能外设移动性能和功耗的控制。AVR32将AVR的产品从原有的8位和16位扩展到了32位和64位的领域,增强了处理能力和应用面。
XMEGA系列MCU提供了可靠的实时性能,高集成和功率效率的领先组合。高度集成的设计减少其他外设的使用。芯片具有AES和DES加密、高速的模拟量模块,灵活的计时/计数器,多种通信模块和方式以及高效的电源管理等功能。DMA控制器,创新的事件系统,确保即使在高负荷条件下的实时性。
MegaAVR系列MCU适用于外设较多的应用场合。其提供了高达20MIPS的实质性程序和数据存储,具有较大的数据吞吐。MegaAVR系列单片机通过创新的picoPower技术大幅度地减少了芯片的电力消耗。该系列MCU还能实现处理速度、安全、低成本的电路升级。同时还支持在程序运行状态下的flash擦写。MegaAVR系列单片机目前得到了非常广泛的应用。
TinyAVR提供了一个小型化、处理能力强、模拟性能好和系统级高度集成的完美集合。TinyAVR是在AVR家族中最紧凑的设备和装置,其具备了在0.7V供电下的工作能力。所有TinyAVR的MCU均基于相同的架构,并与其他AVR器件兼容。内部集成了ADC、E2 PROM、掉电检测器使得应用无需添加其他外部元件。TinyAVR提供快速、安全、低成本的在线升级,大幅缩短产品的周期。
1.AVR单片机的优势特征
单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低廉。单片机种类很多,在简易机器人制作和创新中,AVR单片机具有以下优势。
(1)简便易学,费用低廉
首先,对于非专业人员来说,选择AVR单片机的最主要原因是进入AVR单片机开发的门槛非常低,只要会操作电脑就可以学习AVR单片机的开发。单片机初学者只需一条ISP下载线,把编辑、调试通过的软件程序直接在线写入AVR单片机,即可以开发AVR单片机系列中的各种封装的器件。AVR单片机因此在业界号称“一线打天下”。
其次,AVR单片机便于升级。AVR程序写入是直接在电路板上进行程序修改、烧录等操作,这样便于产品升级。
再次,AVR单片机费用低廉。学习AVR单片机可使用ISP在线下载编程方式(即把PC上编译好的程序写到单片机的程序存储器中),不需购买仿真器、编程器、擦抹器和芯片适配器等,即可进行所有AVR单片机的开发应用,这可节省很多开发费用。程序存储器擦写可达10000次以上,不会产生报废品。
(2)高速、低耗、保密
首先,AVR单片机是高速嵌入式单片机
1)AVR单片机具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。
2)多累加器型,数据处理速度快。AVR单片机具有32个通用工作寄存器,相当于有32座立交桥,可以快速通行。
3)中断响应速度快。AVR单片机有多个固定中断向量入口地址,可快速响应中断。
其次,AVR单片机耗能低。对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。有的器件最低1.8V即可工作。
再次,AVR单片机保密性能好。它具有不可破解的位加密锁Lock Bit技术,保密位单元深藏于芯片内部,无法用电子显微镜看到。
(3)I/O口功能强,具有A-D转换等电路
1)AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。工业级产品,具有大电流(灌电流)10~40mA,可直接驱动晶闸管或继电器,节省了外围驱动器件。
2)AVR单片机内带模拟比较器,I/O口可用作A-D转换,可组成廉价的A-D转换器。ATmega48/8/16等器件具有8路10位A-D。
3)部分AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。
4)AVR单片机可重设启动复位,以提高单片机工作的可靠性。有看门狗定时器实行安全保护,可防止程序跑飞,提高了产品的抗干扰能力。
(4)有功能强大的定时器/计数器及通信接口
定时器/计数器T/C有8位和16位,可用作比较器。计数器外部中断和PWM(也可用作D-A)用于控制输出,某些型号的AVR单片机有3~4个PWM,是作为电动机无级调速的理想器件。AVR单片机有串行异步通信UART接口,不占用定时器和SPI同步传输功能,因其具有高速特性,故可以工作在一般标准整数频率下,而波特率可达576kbit/s。
与其他8bit MCU相比,AVR 8bit MCU最大的特点是:(www.xing528.com)
1)哈佛结构,具备1MIPS/MHz的高速运行处理能力。
2)超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采用单一ACC进行处理造成的瓶颈现象。
3)快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发。
4)输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10~20mA灌电流的能力。
5)片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠。
6)大部分AVR片上资源丰富:带E2PROM、PWM、RTC、SPI、UART、TWI、ISP、AD、Analog Comparator和WDT等,另外,大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。
2.AVR32的特点
2006年,Atmel公司推出了AVR32的新型专利32位架构处理器。AVR32的32位RISC处理器内核是专门针对同时要求高性能和低功耗的现代化应用而开发的,可在每个时钟周期内处理更多的工作,因此能够以更低的时钟频率、非常低的功耗,达到相同的吞吐量。
事实上,与最大的竞争产品相比,AVR32CPU在每个时钟周期内完成的处理量要高出约3倍。这意味着能够以更低的时钟速度、更低的功耗来执行现今应用所要求的计算密集的算法。在AVR32的开发过程中,Atmel公司申请了18项与优化架构创新技术相关的专利。AVR32AP内核能够最大限度地减小载入/存储和分支跳转操作方面的所花费的系统代价,使传输途径的吞吐量最大化,从而能以较同等处理器低得多的时钟频率和功耗执行复杂的算法。
3.AVR开发软件
(1)AVR Studio
Atmel公司的AVR单片机的集成环境汇编级开发调试软件完全免费。Atmel AVR Studio集成开发环境(IDE)包括了AVR Assembler编译器、AVR Studio调试功能、AVR Prog串行、并行下载功能和JTAG ICE仿真等功能。
(2)SL ISP
双龙公司开发的ISP下载软件。之前的版本都比较普通,最新版本1.423引入了STK500的熔丝位界面,让操作比较简易,并且不容易出错,是国产的老牌下载器。
(3)PnoyProg
经典的ISP下载软件。但这个版本有一个缺陷:该软件读出的时钟校正值只有1MHz的校正,其他频率的校正值无法读出。这是一个很好用的免费软件,2005年5月更新了一个新版本,支持了Tiny2313、Mega8515、Mega8535,但仍不支持M48/88/168。
(4)Vmlab
Vmlab是AVR系列单片机的一个纯软件模拟仿真工具。从V3.12开始,它变成了免费的版本。Vmlab还能仿真ST62系列的单片机。
(5)GCCAVR(WinAVR)
GCC是Linux的唯一开发语言。就嵌入系统应用来说,几乎所有市面上有一定市场份额的8bit以上MCU都有爱好者移植GCC在其上。
GCC的编译器优化程度可以说是目前世界上民用软件中做得最好的,完全用ANSIC规范写出的超过10000行代码的程序,目前还没有任何一种编译器产生的目标代码能比GCC产生的代码速度更快,同时它的bug数量却也可以算作所有民用C编译器中最少的。
就8bit开发而言,GCC还有一个很严重的缺陷就是,不支持Float数据类型,实际上GCC在所有环境中都把Float直接定义为Double,这样,对8bit环境来说,就显得负担过重了。
GCC被移植到Windows平台上,整合了各个组件后的Windows版GCCAVR就是WinAVR。不是IDE,自己定制IDE的时候就要用到makefile,makefile的重要作用就是,指定所用的单片机类型,指定编译的文件,设定编译优化条件等。
(6)ICC
ICC是用来给AVR单片机编写C语言程序的,比较专业,但需要付费。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。