历史上的今天
返回首页

历史上的今天

今天是:2024年12月14日(星期六)

2019年12月14日 | AVR系列单片机的主要特性及选型

2019-12-14 来源:elecfans

AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点:


在相同的系统时钟下AVR运行速度最快;


芯片内部的Flsah、EEPROM、SRAM容量较大;


所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP);


多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作;


每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强;


内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。

目前支持AVR单片机编译器的语言主要有汇编语言、C语言、BASIC语言等。其中C编译器主要有CodeVisionAVR、 AVRGCC、IAR、ICCAVR等,C语言编译器由于它具有功能强大、 运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。


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


AVR的主要特性

高可靠性、功能强、高速度、低功耗和低价位,一直是衡量单片机性能的重要指标,也是单片机占领市场、赖以生存的必要条件。


早期单片机主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以 后的 CMOS单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观(51以及51兼容)。此间虽有某些精简指令集单片机(RISC)问世,但依然沿袭对时钟分频的作法。

AVR单片机的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令 完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。当然这种速度上的升跃,是以高可靠性为其后盾的。


AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软 /硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。

AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。内嵌长寿命的 EEProm可长期保存关键数据,避免断电丢失。片内大容量的RAM不仅能满足一般场合的使用,同时也更有效的支持使用高级语言开发系统程序,并可像 MCS-51单片机那样扩展外部 RAM。


AVR 单片机片内具备多种独立的时钟分频器,分别供URAT、I2C、SPI使用。其中与8/16位定时器配合的具有多达10 位的预分频器,可通过软件设定分频系数提供多种档次的定时时间。AVR单片机独有的“以定时器/计数器(单)双向计数形成三角波,再与输出比较匹配寄存器 配合,生成占空比可变、频率可变、相位可变方波的设计方法(即脉宽调制输出PWM)”更是令人耳目一新。


增强性的高速同/异步串口,具有硬 件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。


面向字节的高速硬件串行接口TWI、SPI。TWI与I2C接口兼容,具备ACK信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主 /从机的收/发全部4种组合的多机通信。SPI支持主/从机等4种组合的多机通信。


AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。


AVR 单片机具有多种省电休眠模式,且可宽电压运行(5-2.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。


AVR单片机技术体现了单片机集多种器件(包括FLASH程序存储器、看门狗、EEPROM、同/异步串行口、TWI、SPI、A/D模数转换器、定时器 /计数器等)和多种功能(增强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系统、具输入捕获和比较匹配输出等多样化功能的定时器/计 数器、具替换功能的I/O端口…… )于一身,充分体现了单片机技术的从“片自为战”向“片上系统SoC”过渡的发展方向。


综上所述,AVR单片机博采众长,又具独特技术,不愧为8位机中的佼佼者。


AVR系列单片机的选型

AVR单片机系列齐全,可适用于各种不同场合的要求。

AVR单片机有3个档次:

低档Tiny系列AVR单片机:主要有Tiny11/12/13/15/26/28等;

中档AT90S系列AVR 单片机:主要有AT90S1200/2313/8515/8535等; (正在淘汰或转型到Mega中)

高档ATmega系列AVR单片机:主要有ATmega8/16/32/64/128( 存储容量为8/16/32/64/128 KB)以及ATmega8515/8535等。


AVR器件引脚从8脚到64脚,还有各种不同封装供选择。

推荐阅读

史海拾趣

Greenlee公司的发展小趣事

为了进一步扩大市场份额,GREEGOO公司积极实施全球化战略。公司首先在欧洲市场设立了分支机构,通过参加国际展会、建立销售渠道等方式,成功打入欧洲市场。随后,GREEGOO又陆续在北美、亚洲等地设立分支机构,形成了覆盖全球的营销网络。在全球化布局的过程中,GREEGOO不仅注重产品的本地化适应和品牌建设,还积极与当地企业开展合作,共同开拓新市场。

CHINFA公司的发展小趣事

在环保日益受到重视的今天,CHINFA公司积极响应国家号召,践行绿色环保理念。公司致力于研发和生产节能、环保的电子产品,通过技术创新和材料替代,减少了对环境的污染和破坏。同时,公司还加强了对生产废弃物的处理和回收利用,实现了资源的循环利用和可持续发展。

Austek Microsystems公司的发展小趣事

随着业务的发展,Austek Microsystems逐渐意识到,单凭自身的力量难以在市场中取得长远的发展。因此,公司开始积极寻求与业内知名企业的合作。通过与这些企业的深入合作,Austek Microsystems不仅获得了更多的技术支持和市场资源,还成功将自身的产品推向了更广阔的市场。

ADDtek公司的发展小趣事

Austek Microsystems成立之初,便以研发创新为核心驱动力。面对竞争激烈的市场环境,公司团队凭借深厚的技术积累,成功开发出了一款具有高性能和低功耗特点的微控制器芯片。这款芯片不仅满足了当时市场对高效能计算的需求,也为Austek Microsystems在电子行业中赢得了初步的市场认可。

General Industrial Controls ( GIC )公司的发展小趣事
确保所有元件均为合格产品,无损坏或老化现象。特别是电感器,其载流能力、Q值和工作频率等参数需满足要求。
Cyrix Corp公司的发展小趣事

在成功推出数学协处理器后,Cyrix于1992年推出了其第一款CPU——486SLC和486DLC。这两款产品旨在与英特尔的486SX和486DX竞争,并因其引脚兼容性和低廉的价格而广受制造商欢迎。尽管其性能略逊于英特尔的同类产品,但Cyrix凭借价格优势在市场上占据了一席之地。

问答坊 | AI 解惑

I2C 总线接口器件的应用设计

自己找的 分享一下 还有VHDL的编程…

查看全部问答>

3个影响职场心态的故事

故事之一:你的心过门了吗?     洞房花烛夜,当新郎兴奋地揭开新娘的盖头,羞答答的新娘正低头看着地上,忽然间掩口而 笑,并以手指地:“看,看,看老鼠在吃你家的大米。“第二天早上,新郎还在酣睡,新娘起得床来,一声怒喝: ...…

查看全部问答>

SQLCE的RDA通信问题

A、开发环境是:windows xp sp3 + sql server 2005 + visual studio 2005 B、需要实现的功能:使用SQL server 提供的RDA方式,在PC的数据库和手机(windows mobile 6.0)的数据库(sql server ce)之间进行通信。需要用GPRS连通。 C、现在已实现 ...…

查看全部问答>

SD卡的密码擦出

           u8 param[6] = { 0x6A,0x00,0x00,0x00,0x00,0x95} ;                sdEnable();         SPIDelay( 1 ) ;       &n ...…

查看全部问答>

请问这个NDS是什么功能的设备呀?上网搜不到

我在控制面板-->电源-->设备状态里面看见2个设备一个是NDS0,另外一个是PWR1 我的电路板是qq2440 wince5.0 请问这个NDS是什么功能的设备呀?上网搜不到…

查看全部问答>

pxa270 wince5.0下可以用Usb otg吗?

想问一下大家,pxa270 wince5.0下可以用Usb otg吗?我在wince6.0下看到有Usb otg的驱动,但是在5.0下没有,device和host是分开的,不知道在5.0下可以用usb otg吗?…

查看全部问答>

STM32在Keil创建工程的问题!!!!

我用的v3.0.0库!!!请大虾帮我看看哪里出问题了!!!     急急啊!!!!…

查看全部问答>

430新手求开发环境

去年挖宝得了一个LaunchPad,想玩一下,求一个CCS4.0的下载地址,CCS是TI自己的吗?在官网上没找到。有用过的给你地址! 另外有在LaunchPad写过程序的给在下几个程序玩玩!谢谢!…

查看全部问答>

菜鸟问:本地端口号和远程主机端口号需要一样吗?

如图所示:tcp_bind()和tcp_connect()这两个函数中的\"port\"参数需要设置的一样吗? tcp_bind()中port是本地端口号,意思是LM3S和服务器相连的端口, tcp_connect()中的port是远程主机的端口号,也就是服务器的端口号,应该可以设为不一样的吧? ...…

查看全部问答>

uboot的内存命令使用mw(修改)md(显示)

修改:mw [内存地址] [值] [长度]    例如:mw 0x02000000 0 128    表示修改地址为0x02000000~0x02000000+128的内存值为0.    显示:md [内存地址] [长度]例如:md 0x02000000 128    表示显示0x02000000的 ...…

查看全部问答>