文档库 最新最全的文档下载
当前位置:文档库 › 678821c7-5e23-4118-bf9e-0aa0537ed041

678821c7-5e23-4118-bf9e-0aa0537ed041

第一章绪论

单片机嵌入式系统的硬件基本构成可分成两大部分,单片微控制器芯片和外围的接口电路。其中单片微控制器是构成单片机嵌入式系统的核心。

单片微控制器(Microcontroller)又称为单片微型计算机(Single-Chip Microcomputre 或One-Chip Microcomputre),我国普遍采用的名字为单片机(许多年以来,国内一直采用单片机的叫法,为了符合我国的实际情况,本书仍采用单片机的名称)。它的外表通常只是一块大规模集成电路芯片,但在芯片中却集成了中央处理器(CPU)、存储器(种类有RAM、ROM、EPROM、E2PROM和FlashROM 等)、和各种输入/输出接口(定时器/计数器、并行I/O、串行I/O 以及A/D转换接口等)。因此,一片芯片构成了一个基本的微型计算机系统。

由于单片机芯片的微小体积,极低的成本和面向控制的设计,使的它作为智能控制的核心器件被广泛地应用于嵌入到工业控制、智能仪器仪表、家用电器、电子通信产品等各个领域中的电子设备和电子产品中。可以说,由单片机为核心构成的单片机嵌入式系统已成为现代电子系统中最重要的组成部分。

第一节单片机嵌入式系统基础知识

1.1.1 嵌入式计算机系统

计算机的出现首先是应用于数值计算。随着计算机技术的不断发展,计算机的处理速度越来越快,存储容量越来越大,外围设备的性能越来越好,满足了高速数值计算和海量数据处理的需要,形成了高性能的通用计算机系统。

以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为大型计算机、中型机、小型机和微型计算机,并以此来组织学科和产业分工,这种分类沿袭了约40年。近20年来,随着计算机技术的迅速发展,以及计算机技术和产品对其它行业的广泛渗透,使得以应用为中心的分类方法变得更为切合实际。具体的说,就是按计算机的嵌入式应用和非嵌入式应用将其分为嵌入式计算机系统和通用计算机系统。

通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出现并应用在社会的各个方面,现在广泛普及应用的PC机就是其最典型的代表。而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中的。

在许多的应用领域中,如工业控制、智能仪器仪表、家用电器、电子通信设备等电子系统和电子产品中,对计算机的应用有着不同的要求。这些要求是:

(1) 面对控制对象。面对物理量传感器变换的信号输入;面对人机交互的操作控制;面对对象的伺服驱动和控制。

(2) 嵌入到应用系统。体积小、低功耗、价格低廉,可方便地嵌入到应用系统和电子产品中。

(3) 能在工业现场环境中可靠运行。

(4) 优良的控制功能。对外部的各种模拟和数字信号能及时地捕捉,对多种不同的控制对象能灵活地进行实时控制。

可以看出,满足上述要求的计算机系统与通用计算机系统是不同的。我们将具备高速计算能力和海量存储,用于高速数值计算和海量数据处理的计算机称为通用计算机系统。而将面对工控领域对象,嵌入到各种控制应用系统、各类电子系统和电子产品中,实现嵌入式应用的计算机系统称之为嵌入式计算机系统,简称嵌入式系统(Embedded System)。

嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统将应用程序和操作系统与计算机硬件集成在一起,简单讲就是系统的应用软件与系统的硬件一体化。这种系统具有软件代码小,高度自动化,响应速度快等特点,特别适应与面向对象的要求实时的和多任务的应用。

嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5-10个嵌入式系统,键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。

嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的‘计算能力’已超过了IBM”,由此可以想见嵌入式计算机工业的规模和广度。1998年11月在美国加州圣.何塞举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。 美国著名未来学家尼葛洛庞帝1999年1月访华时预言,4~5年后嵌入式智能(电脑)工具将是PC和因特网之后最伟大的发明。

通用计算机系统和嵌入式计算机系统形成了计算机技术的两大分支。与通用计算机系统相比,嵌入式系统最显著的特性是面对工控领域的测控对象。工控领域的测量对象都是一些物理量,如压力、温度、速度、位移等;控制对象则包括马达、电磁开关等。嵌入式计算机系统对这些参量的采集、处理、控制速度是有限的,而对控制方式和能力的要求则是多种多样的。显然,这一特性形成并决定了嵌入式计算机系统和通用计算机系统在系统结构、技术、学习、开发和应用等诸方面的差别,也使得嵌入式系统成为计算机技术发展中的一个重要分支。

嵌入式计算机系统以其独特的结构和性能,越来越多地应用的国民经济的各个领域。

1.1.2 单片机嵌入式系统

嵌入式计算机系统的构成,根据其核心控制部分的不同可分为几种不同的类型:

a. 各种类型的工控机;

b. 可编程逻辑控制器PLC;

c. 以通用微处理器构成的计算机主板模块;

d. 单片机嵌入式系统等。

采用上述不同类型的核心控制部件所构成的系统都实现了嵌入式系统的应用,成为嵌入式系统应用的庞大家族。而以单片机作为控制核心的单片机嵌入式系统不仅有着广泛的应用,而且也是形成其它嵌入式系统的基础,推动了嵌入式系统的发展。

单片机嵌入式的核心控制部件是单片机,它从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能最好地满足面对控制对象、应用系统的嵌入、现场的可靠运行和优良的控制功能要求。因此,单片机嵌入式应用是发展最快、品种最多、数量最大的嵌入式系统,也有着广泛的应用前景。由于单片机有嵌入式系统应用的专用体系结构和指令系统,因此在其基本体系结构上,可衍生出能满足各种不同应用系统要求的系统和产品。用户可根据应用系统的各种不同要求和功能,选择最佳型号的单片机。

作为典型的嵌入式系统----单片机嵌入式系统,在我国大规模应用已有十几年的历史。

目前,它以成为广泛应用在中、小型工控领域、智能仪器仪表、家用电器、电子通信设备和电子系统中最重要的工具和最普遍的应用手段。

1.1.3 单片机的发展历史

1970年微型计算机研制成功后,随后就出现了单片机。美国Inter公司在1971年推出了4位单片机4004;1972年推出了雏形8位单片机8008。特别是在1976年推出MCS-48单片机以后的短短的二十几年中,单片机的发展和其相关的技术经历了数次的更新换代。其发展速度大约每三四年要更新一代、集成度增加一倍、功能翻一番。

尽管单片机出现的历史并不长,但以8位单片机的推出为起点,那么,单片机的发展大致可分为四个阶段。

第一阶段(1976年-1978年):初级单片机阶段。以Inter公司MCS-48为代表。这个系列的单片机内集成有8位CPU、I/O接口、8位定时器/计数器,寻址范围不大于4K字节,简单的中断功能,无串行接口。

第二阶段(1978年-1982年):单片机完善阶段。在这一阶段推出的单片机其功能有较大的加强,能够应用于更多的场合。这个阶段的单片机普遍带有串行I/O口、有多级中断处理系统、16位定时器/计数器,片内集成的RAM、ROM容量加大,寻址范围可达64K字节。一些单片机片内还集成了A/D转换接口。这类单片机的典型代表有Inter公司的MCS-51、Motorola公司的6801和Zilog公司的Z8等。

第三阶段(1982年-1992年):8位单片机巩固发展及16位高级单片机发展阶段。在此阶段,尽管8位单片机的应用已广泛普及,但为了更好满足测控系统的嵌入式应用的要求,单片机集成的外围接口电路有了更大的扩充。这个阶段单片机的代表为8051系列。许多半导体公司和生产厂以MCS-51的8051为内核,推出了满足各种嵌入式应用的多种类型和型号的单片机。其主要技术发展有:

(1) 外围功能集成。满足模拟量直接输入的ADC接口;满足伺服驱动输出的PWM;保证程序可靠运行的程序监控定时器WDT(俗称看门狗电路)。

(2) 出现了为满足串行外围扩展要求的串行扩展总线和接口,如SPI、I2C Bus、单总线(1-Wire)等。

(3) 出现了为满足分布式系统,突出控制功能的现场总线接口,如CAN Bus等。

(4) 在程序存储器方面广泛使用了片内程序存储器技术,出现了片内集成EPROM、E2PROM、FlashROM以及MaskROM、OTPROM等各种类型的单片机,以满足不同产品的开发和生产的需要,也为最终取消外部程序存储器扩展奠定了良好的基础。

与此同时,一些公司面向更高层次的应用,发展推出了16位的单片机,典型代表有Inter公司的MCS-96系列的单片机。

第四阶段(1993年-现在):百花齐放阶段。现阶段单片机发展的显著特点是百花齐放、技术创新,以满足日益增长的广泛需求。其主要方面有:

(1) 单片机嵌入式系统的应用是面对最底层的电子技术应用,从简单的玩具、小家电;到复杂的工业控制系统、智能仪表、电器控制;以及发展到机器人、个人通信信息终端、机顶盒等。因此,面对不同的应用对象,不断推出适合不同领域要求的,从简易性能到多全功能的单片机系列。

(2) 大力发展专用型单片机。早期的单片机是以通用型为主的。由于单片机设计生产技术的提高、周期缩短、成本下降,以及许多特定类型电子产品,如家电类产品的巨大的市场需求能力,推动了专用单片机的发展。在这类产品中采用专用单片机,具有低成本、资源有效利用、系统外围电路少、可靠性高的优点。因此专用单片机也是单片机发展的一个主要方向。

(3) 致力于提高单片机的综合品质。采用更先进的技术来提高单片机的综合品质,如提高I/O口的驱动能力;增加抗静电和抗干扰措施;宽(低)电压低功耗等。

1.1.4 单片机的发展趋势

综观二十多年的发展过程,作为单片机嵌入式系统的核心----单片机,正朝着多功能、多选择、高速度、低功耗、低价格、扩大存储容量和加强I/O功能等方向发展。其进一步的发展趋势是多方面的。

1.全盘CMOS化。CMOS电路具有许多优点,如极宽的工作电压范围;极佳的本质低功耗及功耗管理特性等。CMOS化已成为目前单片机及其外围器件流行的半导体工艺。

2.采用RISC体系结构。早期的单片机大多采用CISC结构体系,指令复杂,指令代码、周期数不统一;指令运行很难实现流水线操作,大大阻碍了运行速度的提高。如MCS-51系列单片机,当外部时钟为12MHz时,其单周期指令运行速度也仅为1MIPS。采用RISC体系结构和精简指令后,单片机的指令绝大部分成为单周期指令,而通过增加程序存储器的宽度(如从8位增加到16位),实现了一个地址单元存放一条指令。在这种体系结构中,很容易实现并行流水线操作,大大提高了指令运行速度。目前一些RISC结构的单片机,如美国ATMEL公司的AVR系列单片机已实现了一个时钟周期执行一条指令。与MCS-51相比,在相同的12MHz外部时钟下,单周期指令运行速度可达12MIPS。一方面可获得很高的指令运行速度,另一方面,在相同的运行速度下,可大大降低时钟频率,有利于获得良好的电磁兼容效果。

3.多功能集成化。单片机在内部已集成了越来越多的部件,这些部件不仅包括一般常用的电路,如:定时/计数器,模拟比较器,A/D转换器,D/A转换器,串行通信接口,WDT 电路,LCD控制器等,还有的单片机为了构成控制网络或形成局部网,内部含有局部网络控制模块CAN总线,以用于在控制、系统较为复杂时,方便地构成一个控制网络。为了能在变频控制中方便使用单片机,形成最具经济效益的嵌入式控制系统。有的单片机内部设置了专门用于变频控制的脉宽调制控制电路PWM。

4.片内存储器的改进与发展。目前新型的单片机一般在片内集成两种类型的存储器:随机读写存储器SRAM,做为临时数据存储器存放工作数据用;只读存储器ROM,做为程序存储器存放系统控制程序和固定不变的数据。片内存储器的改进与发展的方向是扩大容量、ROM 数据的易写和保密等。

片内存储容量的增加。新型的单片机一般在片内集成的SRAM在128字节至1K字节,ROM的容量一般为4K字节至8K字节。为了适应网络、音视频等高端产品的需要,

高挡的单片机在片内集成了更大容量的RAM和ROM存储器。如 ATMEL公司的

ATmega16,片内的SRAM为1K字节,FlashROM为16K字节。而该系列的高端产品

ATmega128片内的SRAM为4K字节,FlashROM为128K字节。

片内程序存储器由EPROM型向FlashROM发展。早期的单片机在片内往往没有程序存储器或片内集成EPROM型的程序存储器。将程序存储器集成在单片机内可以大大提

高单片机的抗干扰性能、提高程序的保密性、减少硬件的设计的复杂性和空间等许

多优点,因此片内集成程序存储器已成为通用的方式。但由于EPROM需要高电压编

程写入、紫外线光照擦除、重写入次数有限等缺点,这给使用带来了不便。新型的

单片机则采用FlashROM以及MaskROM、OTPROM做为片内的程序存储器。FlashROM

具有使用通常电压(如5v/3v)编程写入和擦除,不需要紫外线擦除,重写次数在

10000次以上,并可实现在线编程写入ISP技术的优点,为使用带来了及大的方便。

采用MaskROM的微控制器称为掩模芯片,它是在芯片制造过程中就将程序“写入”

了,并永远不能改写。采用OTPROM的微控制器,其芯片出厂时片内的程序存储器是

“空的”,它允许用户将自己编写好的程序一次性的编程写入,之后便再也无法修改

了。后两种类型的单片机适合于大批量产品生产的使用,而前两种类型的微控制器

则适合产品的设计开发、批量生产以及学习培训的应用。

程序保密化。一个单片嵌入式系统的系统程序是系统的最重要的部分,是知识产权保护的核心。为了片内的程序防止被非法读出复制,新型的单片机往往采用对片内

的程序存储器采用加锁保密。系统程序编程写入片内的程序存储器后,可以再编程

加密保护单元,使芯片加锁。加密以后,从芯片的外部无法读取片内的系统程序代

码,若将加密单元擦除,则片内的程序也同时擦除掉,这样便达到了程序保密的目

的。

5.ISP、IAP及基于ISP、IAP技术的开发和应用。ISP(In System Programmable)称为在线系统可编程技术。微控制器采用片内集成E2PROM、FlashROM的发展,导致了ISP技术在单片机中的应用。首先实现了系统程序的串行编程写入(下载),使得不必将焊接在系统电路板上的芯片取下,可直接将程序下载到单片机的程序存储器中,淘汰了专用的程序下载写入设备。其次,基于ISP技术,使模拟仿真开发技术重新兴起。在单时钟、单指令运行的RISC结构的单片机中,可实现PC机通过串行电缆对目标系统的在线仿真调试。在ISP技术应用的基础上,用户可随时根据需要对原有的系统方便的在线更新软件、修改软件,还能实现对系统软件的远程诊断、远程调试和远程更新。

6.实现全面功耗管理。采用CMOS工艺后,单片机具有极佳的低功耗和功耗管理功能。它包括:

传统的CMOS单片机的低功耗运行方式,既闲置方式(Idle Mode)、掉电方式(Power Down Mode)。

双时钟技术。配置有高速(主)和低速(子)两个时钟系统。在不需要高速运行时,转入子时钟控制下,以节省功耗。

片内外围电路的电源管理。对集成在片内的外围接口电路实行供电管理。再该外围电路不运行时,关闭其供电。

低电压节能技术。CMOS电路的功耗与电源电压有关,降低系统的供电电压,能大幅度减少器件的功耗。新型的单片机往往具有宽电压(3V-5V)或低电压(3V)运行

的特点。低电压低功耗是手持便携式系统重要的追求目标,也是绿色电子的发展方

向。

7.以串行总线方式为主的外围扩展。目前,单片机与外围器件接口技术发展的一个重要方面是由并行外围总线接口向串行外围总线接口的发展。采用串行总线方式为主的外围扩展技术具有方便、灵活、电路系统简单、占用I/O资源少等特点。采用串行接口虽然比采用并行接口数据传输速度慢,但随着半导体集成电路技术的发展,大批采用标准串行总线通信协议(如:SPI、I2C、1-Wire等)的外围芯片器件的出现,串行传输速度不断提高(可达到1M-10M的速率),片内集成程序存储器而不必外部并行扩展程序存储器,加之单片嵌入式系统有限速度的要求,使得以串行总线方式为主的外围扩展方式能够满足大多数系统的需求,成为流行的扩展方式,而并行接口扩展技术则成为辅助方式。

8.单片机嵌入式系统网络化。在计算机网络高速发展的今天,单片机嵌入式系统的联网应用也越来越多。如将若干个分布在不同地点单个的控制系统互相连接起来,构成智能的网络控制系统。特别是随着Internet的发展,单片机嵌入式系统和Internet的连接已是一种趋势,网络家电、网络自动售货机已有产品问世。除了继续使用和发展RS485总线联网外,采用CAN总线的联网应用,通过现有的网络通信线路(电话、GSM)等联网传送数据,特别是接入Internet的应用已大量出现。国际上一些公司已推出了在片内集成了CAN总线、USB 总线底层硬件接口电路的单片机。目前,为了把单片机为核心的嵌入式系统和Internet相

连,已有多家公司在进行研究,较为典型的有emWare和TASKING公司。国际上嵌入Internet 联盟ETI(Embedded The Internet Consortium)也在紧密合作,共同开发嵌入式Internet 的解决方案。

9. 单片机向片上系统SOC的发展。SOC(System On Chip)是一种高度集成化、固件化的芯片级集成技术,其核心思想是把除了无法集成的某些外部电路和机械部分之外的所有电子系统电路全部集成在一片芯片中。现在一些新型的单片机(如AVR系列单片机)已经是SOC的雏形,在一片芯片中集成了各种类型和更大容量的存储器,更多性能更加完善和强大的功能电路接口,这使得原来需要几片甚至十几片芯片组成的系统,现在只用一片就可以实现。其优点不仅是减小了系统的体积和成本,而且也大大提高了系统硬件的可靠性和稳定性。

第二节单片机嵌入式系统的结构与应用

1.2.1 单片机嵌入式系统结构

仅由一片单片机芯片是不能构成一个应用系统的。作为一个核心控制芯片,它往往需要与一些外围芯片、器件和控制电路一起组成一个单片机系统,嵌入到应用对象的环境体系中,作为其中的核心智能化控制单元而构成典型的单片机嵌入式应用系统,如洗衣机、电视机、空调、VCD、打印机、复印机、手机、PDA、智能仪器、智能仪表等等。

单片机嵌入式系统的结构如图1-1所示,通常包括三大部分:既能实现嵌入式对象各种应用要求的单片机、全部系统的硬件电路和应用软件。

1. 单片机。单片机是单片机嵌入式系统的核心控制芯片,由它实现对控制对象的测控、系统运行管理控制和数据运算处理等功能。

2. 系统硬件电路。根据系统采用单片机的特性以及嵌入对象要实现的功能要求而配备的外围芯片、器件所构成的全部硬件电路。通常包括以下几部分:

基本系统电路。单片机系统运行所需要的时钟电路、复位电路、系统供电电路、驱动电路、扩展的存储器等。

前向通道接口电路。这是应用系统面向对象的输入接口,通常是各种物理量的测量传感器、变换器输入通道。根据现实世界物理量转换成电量输出信号的类型,如模

拟电压电流、开关信号、数字脉冲信号等的不同,接口电路也不同。常见的有传感

器、信号调理器、模\数转换器ADC、开关输入、频率测量接口等。

后向通道接口电路。这是应用系统面向对象的输出控制电路接口。根据应用对象伺服和控制要求,通常有数\模转换器DAC、开关量输出、功率驱动接口、PWM输出控

制等。

人机交互通道接口电路。人机交互通道接口是满足应用系统人机交互需要的电路,有键盘、拨动开关、LED发光二极管、数码管、LCD液晶显示器、打印机等多种输

入输出接口电路。

数据通信接口电路。数据通信接口电路是满足远程数据通信或构成多机网络应用系统的接口。通常有RS232、PSI、I2C、CAN总线、USB总线等通信接口电路。

3. 系统的应用软件。系统应用软件的核心就是下载到单片机中的系统运行程序。整个嵌入式系统全部硬件的相互协调工作、智能管理和控制都由系统运行程序决定。它可认为是单片机嵌入式系统核心的核心。一个系统应用软件设计的好坏,往往决定了整个系统性能的好坏。系统软件是根据系统功能要求设计的,一个嵌入式系统的运行程序实际上就是该系统的监控与管理程序。对于小型系统的应用程序,一般采用汇编语言编写。而对于中型和大型系统的应用程序,往往采用高级程序设计语言如 C语言、Basic语言来编写。编写嵌入式系统应用程序与编写其它类型的软件程序有很大的不同,因为嵌入式系统的应用软件不仅要直接面对单片机和与它连接的各种不同种类和设计的外围硬件电路编程,还要面对系统的具体应用和功能编程。整个运行程序常常是输入、输出接口设计,存储器,外围芯片,中断处理等多项功能交织在一起。因此,系统应用软件的设计是嵌入式系统开发研制过程中最重要也是最困难的任务之一。

1.2.2 单片机嵌入式系统的应用领域

以单片机为核心构成的单片机嵌入式系统已成为现代电子系统中最重要的组成部分。在现代的数字化世界中,单片机嵌入式系统已经大量地渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的时实控制和数据处理,生产流水线上的机器人,医院里先进的医疗器械和仪器,广泛使用的各种智能IC卡,小朋友的程控玩具和电子宠物都是典型的单片机嵌入式系统应用。由于单片机芯片的微小体积,极低的成本和面向控制的设计,使的它作为智能控制的核心器件被广泛地用于嵌入到工业控制、智能仪器仪表、家用电器、电子通信产品等各个领域中的电子设备和电子产品中,主要的应用领域有以下几个方面。

1.智能家用电器。俗程带“电脑”的家用电器,如电冰箱、空调、微波炉、电饭锅、电视机、洗衣机、VCD\DVD等。传统的家用电器中嵌入了单片机系统后使产品性能特点都得到很大的改善,实现了运行智能化、温度的自动控制和调节、节约电能等。

2.电子通信产品。现代的通信产品都是智能化的,如手机、传真机、PDA以及众多的通信设备等,它们则是典型的单片机嵌入式系统的应用。

3.智能机电一体化产品。单片机嵌入式系统与传统的机械产品相结合,使传统的机械产品结构简化,控制智能化,构成新一代的机电一体化产品。这些产品已在纺织、机械、化工、食品等工业生产中发挥出巨大的作用。

4.智能仪表仪器。用单片机嵌入式系统改造原有的测量、控制仪表和仪器,能促使仪表仪器向数字化、智能化、多功能化、综合化、柔性化发展。由单片机系统构成的智能仪器仪表可以集测量、处理、控制功能与一体,赋予传统的仪器仪表以崭新的面貌。

5.测控系统。用单片机嵌入式系统可以构成各种工业控制系统、适应控制系统、数据采集系统等。例如,温室人工气候控制、汽车数据采集与自动控制系统。

第三节 AVR单片机系列简介

1.3.1 ATMEL公司的单片机产品

ATMEL公司是世界上著名的生产高性能、低功耗、非易失性存储器和各种数字模拟IC芯片的半导体制造公司。在单片机微控制器方面,ATMEL公司有基于8051内核、基于AVR内核和基于ARM内核的三大系列单片机产品(确切的讲,最后一款应称为嵌入式微处理器)。ATMEL 公司在它的单片机产品中,融入了先进的E2PROM电可擦除和Flash ROM闪速存储器技术,使得该公司的单片机具备了优秀的品质,在结构、性能和功能等方面都有明显的优势。

ATMEL公司把8051内核与其擅长的Flash存储器技术相结合,是国际上最早推出片内集成可重复擦写1000次以上Flash程序存储器、采用低功耗CMOS工艺的8051兼容单片机的生产商之一。市场上家喻户晓的AT89C51、AT89C52、AT89C1051、AT89C2051就是ATMEL 公司生产的基于8051内核系列单片机中的典型产品(现在已升级换代为AT89Sxx系列,采用ISP在线编程技术)。该系列单片机一直在我国的单片机市场上占有相当大的份额。

8051结构的单片机采用复杂指令系统CISC(Complex Instruction Set Computer)体系。由于CISC结构存在指令系统不等长,指令数多,CPU利用效率低,执行速度慢等缺陷,已不能满足和适应设计中高档电子产品和嵌入式系统应用的需要。ATMEL公司发挥其Flash存储器技术的特长,于1997年研发和推出了全新配置采用精简指令集RISC(Reduced Instruction Set CPU)结构的新型单片机,简称AVR单片机。

精简指令集 RISC结构是20世纪90年代开发出来的一种综合了半导体集成技术和提高软件性能的新结构,是为了提高CPU运行的速度而设计的芯片体系。它的关键技术在于采用流水线操作(Pipelining),和等长指令体系结构,使一条指令可以在一个单独操作中完成,从而实现在一个时钟周期里完成一条或多条指令。同时RISC体系还采用了通用快速寄存器组的结构,大量使用寄存器之间的操作,简化了CPU中处理器、控制器和其它功能单元的设计。因此,RISC的特点就是通过简化CPU的指令功能,使指令的平均执行时间减少,从而提高CPU的性能和速度。在使用相同的晶片技术和相同的运行时钟下,RISC系统的运行速度是CISC的2~4倍。正由于RISC体系所具有的优势,使得它在高端系统得到了广泛的应用。例如,ARM以及大多数32位的处理器都采用RISC体系结构。

ATMEL公司的AVR是8位单片机中第一个真正的RISC结构的单片机。它采用了大型快速存取寄存器组、快速的单周期指令系统以及单级流水线等先进技术,使得AVR单片机具有高达1MIPS/MHz的高速运行处理能力。

AVR采用流水线技术,在前一条指令执行的时候,就取出现行的指令,然后以一个周期执行指令。大大提高了CPU的运行速度。而在其它的CISC以及类似的RISC结构的单片机中,外部振荡器的时钟被分频降低到传统的内部指令执行周期,这种分频最大达12倍(8051)。

另外一点,传统的基于累加器的结构单片机(如8051),需要大量的程序代码来完成和

实现在累加器和存储器之间的数据传送。而在AVR单片机中,由于采用32个通用工作寄存器构成快速存取寄存器组,用32个通用工作寄存器代替了累加器,从而避免了在传统结构中累加器和存储器之间数据传送造成的瓶颈现象,进一步提高了指令的运行效率和速度。

随着电子产品更新换代的周期缩短以及不断向高端发展,为了加快产品进入市场的时间和简化系统的设计、开发、维护和支持,对于以单片机为核心所组成的高端嵌入式系统来说,用高级语言编程已成为一种标准设计方法。AVR单片机采用RISC结构,其目的就是在于能够更好地采用高级语言(例如C语言、BASIC语言)来编写嵌入式系统的系统程序,从而能高效地开发出目标代码。

AVR单片机采用低功率、非挥发的CMOS工艺制造,内部分别集成Flash、E2PROM和SRAM三种不同性能和用途的存储器。除了可以通过使用一般的编程器(并行高压方式)对AVR单片机的Flash程序存储器和E2PROM数据存储器进行编程外,大多数的AVR单片机还具有ISP在线编程的特点以及IAP在应用编程的特点。这些优点为使用AVR单片机开发设计和生产产品提供了及大的方便。在产品的设计生产中,可以“先装配后编程”,从而缩短了研发周期、工艺流程,并且还可以节约购买开发仿真编程器的费用。同样,对于学习和使用AVR单片机的用户来说,也不必购买昂贵的开发仿真硬件设备,只需要具备一套好的AVR开发软件平台,就可以从事AVR单片机系统的学习、设计和开发工作了。

1.3.2 AVR单片机的主要特点

AVR单片机吸取了PIC及8051等单片机的优点,同时在内部结构上还作了一些重大改进,其主要的优点如下:

程序存储器为价格低廉、可擦写1万次以上、指令长度单元为16位(字)的FlashROM(即程序存储器宽度为16位,按8位字节计算时应乘2)。而数据存贮器为8位。因此AVR还是属于8位单片机。

采用CMOS技术和RISC架构,实现高速(50ns)、低功耗(μA)、具有SLEEP(休眠)功能。AVR的一条指令执行速度可达50ns(20MHz),而耗电则在1uA~2.5mA间。AVR采用Harvard 结构,以及一级流水线的预取指令功能,即对程序的读取和数据的操作使用不同的数据总线,因此,当执行某一指令时,下一指令被预先从程序存储器中取出,这使得指令可以在每一个时钟周期内被执行。

高度保密。可多次烧写的Flash且具有多重密码保护锁定(LOCK)功能,因此可低价快速完成产品商品化,且可多次更改程序(产品升级),方便了系统调试,而且不必浪费IC或电路板,大大提高了产品质量及竞争力。

工业级产品。具有大电流10~20mA(输出电流)或40mA(吸电流)的特点,可直接驱动LED、SSR或继电器。有看门狗定时器(WDT)安全保护,可防止程序走飞,提高产品的抗干扰能力。 超功能精简指令。具有32个通用工作寄存器(相当于8051中的32个累加器),克服了单一累加器数据处理造成的瓶颈现象。片内含有128-4K字节SRAM,可灵活使用指令运算,适合使用功能很强的C语言编程,易学、易写、易移植。

程序写入器件时,可以使用并行方式写入(用编程器写入),也可使用串行在线下载(ISP)、在应用下载(IAP)方法或JTAG口下载写入。也就是说不必将单片机芯片从系统板上拆下拿到万用编程器上烧录,而可直接在电路板上进行程序的修改、烧录等操作,方便产品升级,尤其是对于使用SMD表贴封装器件,更利于产品微型化。

通用数字I/O口的输入输出特性与PIC的HI/LOW输出及三态高阻抗HI-Z输入类同,同时可设定类同与8051结构内部有上拉电阻的输入端功能,便于作为各种应用特性所需(多功能I/O口),AVR的I/O口是真正的I/O口,能正确反映I/O口的输入/输出的真实情况。 单片机内集成有模拟比较器,可组成廉价的A/D转换器。

像8051一样,有多个固定中断向量入口地址,可快速响应中断,而不是像PIC一样所有中断都在同一向量地址,需要以程序判别后才可响应,这会浪费且失去控制时机的最隹机会。

同PIC一样,带有可设置的启动复位延时。AVR单片机内部有电源开关启动计数器,当系统RESET复位上电后,利用内部的RC看门狗定时器,可延迟MCU开始运行执行程序的时间。这种延时启动的特性,可使MCU在系统电源、外部电路达到稳定后再正式开始执行程序,因此提高了系统工作的可靠性,同时也可节省外加的复位延时电路。

具有多种不同方式的休眠省电功能和低功耗的工作方式。

许多AVR单片机具有内部的RC振荡器,提供1/2/4/8MHz的工作时钟,使该类单片机无需外加时钟电路元器件即可工作,非常简单和方便。

有多个带预分频器的8位和16位功能强大的计数器/定时器(C/T),除了实现普通的定时和计数功能外,还具有输入捕获、产生PWM输出等更多的功能。

性能优良的串行同/异步通讯USART口,不占用定时器。可实现高速同/异步通信。

Mega8515及Mega128等芯片具有可并行扩展的外部接口,扩展能力达64KB。

工作电压范围宽2.7V~6.0V,具有系统电源低电压检测功能,电源抗干扰性能强。

有多通道的10位A/D及实时时钟RTC。许多AVR芯片内部集成了8路10位A/D接口,如:MEGA8、MEGA16、MEGA8535等。

AVR单片机还在片内集成了可擦写10万次的E2PROM数据存储器,等于又增加了一个芯片,可用于保存系统的设定参数、固定表格和掉电后的数据的保存。即方便了使用,减小了系统的空间,又大大提高了系统的保密性。

1.3.3 AVR系列单片机简介

ATMEL公司的AVR单片机有三个系列的产品。为满足不同的需求和应用,ATMEL公司对AVR单片机的内部资源进行了相应的扩展和删减,推出了tinyAVR、low power AVR和megaAVR,分别对应低、中、高三个不同档次数十种型号的产品(表1.1)。

表1.1 AVR单片机分类表

8位AVR单片机RISC结构 存储器配备(Bytes)

系列 封装 Flash SRAM E2PROM

tinyAVR 8-32 pin 1-2K up to 128 up to 128 low power AVR 8-44 pin 1-8K up to 1K up to 512 megaAVR 28-64 pin 8-128K up to 4K up to 4K

三个系列的所有型号单片机,其内核都是相同的AVR内核,它们的指令系统兼容。只是在内部资源的配备(存储器容量的大小等)、以及片内集成的外围接口的数量和功能上有所不同。不同型号的AVR单片机的也不一样,引脚数从8到64脚,价格从几元到几十元,可以满足不同场合、不同应用的需求,用户可以根据需要选择。从表1.2至1.5为AVR三个系列单片机的选型表。

自2002年以来,ATMEL公司对AVR单片机产品线进行了调整,逐步停止了性能重叠的中档 low power AVR单片机中AT90s 系列的生产,而用性能更加优越的mega系列代替。如停止AT90S4414、AT90S8515等芯片的生产,用ATmega8515替代 AT90S8515,用ATmega8535替代 AT90S8535,用ATmega8代替AT90S4433等。由于mega系列单片机的性能更加完美,使用更加方便,功能更加强大,因此,ATMEL公司今后将以mega系列作为AVR单片机的主流产品,逐步减少和停止中档AVR单片机(AT90SXXXX)的生产。从表1.2至1.4 中可以看出,目前tinyAVR和mega系列的单片机已成为了AVR的主流。

TinyAVR系列的AVR内部的资源相对少一些,引脚也少。适合应用在家用电器、简单的

控制方面的应用,如:空调、冰箱、微波炉、烟雾报警器等。

mega系列单片机的性能不仅优越,同时也有非常好的性能价格比。引脚数最少(28个引脚)的ATmega8,在我国国内市场上的价格不超过15元人民币,却有1K的SRAM、8K的Flash、

512个字节的E 2

PROM,2个8位和1个16位共3个超强功能的定时器/计数器,以及USART、

SPI、8路10位ADC、WDT、RTC、ISP、IAP、TWI(I 2

C)、片内高精度RC振荡器等多种功能的接口和特性。

ATmega128是目前AVR中配置最全、功能最强的一款。它的引脚数最多(64个引脚),在

片内集成了4K的SRAM、128K的Flash、4K的E 2

PROM,支持64K空间的外部并行扩展,2个8位和2个16位共4个超强功能的定时器/计数器,以及2路USART、SPI、多路10位ADC、WDT、

RTC、ISP、IAP、TWI(I 2

C)、片内高精度RC振荡器等多种功能的接口和特性,适合在中高档电子产品中应用。

表 1.2 tinyAVR 系列单片机

A T t i n y 11

A T t i n y 12

A T t i n y 13

A T t i n y 15L

A T t i n y 26

A T t i n y 26L

A T t i n y 28L

A T t i n y 28V

A t t i n y 2313

Flash(KB) 1 1 1 1 2 2 2 2 2

E 2PROM(B) - 64 64 64 128 128 - - 128 快速寄存器 32 32 32 32 32 32 32 32 32 SRAM(B) 0 0 0 0 128 128 0 0 128 I/O Pins 6 6 6 6 16 16 11 11 18 中断数目 4 5 9 8 11 11 5 5 8 外部中断口

1 1 6 1(+5) 1 1 2(+8)2(+8)

2 SPI - - - - USI USI - - USI USART - - - - - - - - 1 TWI

- - - - - - - - - 硬件乘法器 - - - - - - - - - 8位定时器 1 1 1 2 2 2 1 1 1 16位定时器 - - - - - - - - 1 PWM 通道 - - 2 1 2 2 - - 4 模拟比较器 Y Y Y Y Y Y Y Y Y 10位A/D 通道 - - 4 4 11 11 - - - 掉电检测BOD

- Y Y Y Y Y - - Y Watchdog Y Y Y Y Y Y Y Y Y 片内系统时钟 Y Y Y Y Y Y Y Y Y 在线编程ISP - Y Y Y Y Y - - Y 自编程SPM - - Y - - - - - Y debugWIRE - - Y - - - - - Y Vcc(V)(最低)

(最高) 2.7 5.5 1.8 5.5 1.85.5 2.7 5.5 4.5 5.5 2.7 5.5 2.7 5.5 1.8 5.5 1.8 5.5 系统时钟(M) 0-6 0-8 0-20 1.6 0-16 0-8 0-4 0-1 0-20

封装形式

P D I P 8 S O I C 8

P D I P 8 S O I C 8

P D I P 8 S O I C 8

P D I P 8 S O I C 8

P D I P 20 S O I C 20 M L F 32

P D I P 20 S O I C 20 M L F 32

P D I P 28 T Q F P 32 M L F 32P D I P 28 T Q F P 32 M L F 32P D I P 20 S O I C 20 M L F 32

A T m e g a 8

A T m e g a 8L

A T m e g a 48

A T m e g a 88

A T m e g a 168

Flash(KB) 8 8 4 8 16 E 2PROM(B) 512 512 256 512 512 快速寄存器 32 32 32 32 32 SRAM(B) 1K 1K 512 1K 1K Max I/O Pins

23 23 23 23 23 中断数目 18 18 26 26 26 外部中断口

2 2 26 26 26 SPI 1 1 1+USART 1+USART 1+USART UART 1 1 1 1 1 TWI

1 1 1 1 1 硬件乘法器 Y Y Y Y Y 8位定时器

2 2 2 2 2 16位定时器 1 1 1 1 1 PWM 通道

3 3 3 3 3 实时时钟RTC Y Y Y Y Y 10位A/D 通道 8 8 8 8 8 模拟比较器 Y Y Y Y Y 掉电检测BOD

Y Y Y Y Y Watchdog Y Y Y Y Y 片内系统时钟 Y Y Y Y Y debugWIRE - - Y Y Y 在线编程ISP Y Y Y Y Y 自编程SPM Y Y Y Y Y Vcc(v)(最低)

(最高) 4.5 5.5 2.7 5.5 1.8 5.5 1.8 5.5 1.8 5.5 系统时钟(MHz)

0-16 0-8 0-20 0-20 0-20 封装形式

P D I P 28 M L F 32 T Q F P 32

P D I P 28 M L F 32 T Q F P 32

P D I P 28 M L F 32 T Q F P 32

P D I P 28 M L F 32 T Q F P 32

P D I P 28 M L F 32 T Q F P 32

ATmega16是中档功能的AVR芯片,它的引脚数为40(44 TQFP),在片内集成了1K字节的

SRAM、16K字节的Flash、512个字节的E 2

PROM,2个8位和1个16位共3个超强功能的定时

器/计数器,以及USART、SPI、多路10位ADC、WDT、RTC、ISP、IAP、TWI(I 2

C)、片内高精度RC振荡器等多种功能的接口和特性,较全面的体现了AVR的特点,不仅适合对AVR了解和使用的入门起步学习,同时也满足一般的普通应用,在实际中得到了大量的使用。

在本书中,我们将以ATmega16为主线,逐步介绍AVR单片机的内部结构,以及各功能部件的使用方法。同时我们与https://www.wendangku.net/doc/1a17007654.html, 网站合作,共同研制开发制作了“AVR-51多功能实验板”与本书配套。书中的实验均可在该板上实现。该实验板具有非常高的性/价比,不仅能够使用AVR单片机,同时也能完全适合8051类型的单片机使用,非常适合初学者使用学习和实验。读者可以通过访问https://www.wendangku.net/doc/1a17007654.html, 网站购买。

A T m e g a 8515

A T m e g a 8535

A T m e g a 16

A T m e g a 32

A T m e g a 64

A T m e g a 162

A T m e g a 165

A T m e g a 169

A T m e g a 128

A T m e g a 128L

Flash(KB) 8 8 16 32 64 16 16 16 128 128 E 2PROM(B) 512 512 512 1K 2K 512 512 512 4K 4K 快速寄存器 32 32 32 32 32 32 32 32 32 32 SRAM(B) 512 512 1K 2K 4K 1K 1K 1K 4K 4K I/O Pins 35 32 32 32 53 35 54 54 53 53 中断数目 16 20 20 19 34 28 23 23 34 34 外部中断口

3 3 2 3 8 3 17 17 8 8 SPI 1 1 1 1 1 1 1+USI 1+USI 1 1 SUART 1 1 1 1 2 2 1 1 2 2 TWI

- Y Y Y Y - Y Y Y Y 硬件乘法器 Y Y Y Y Y Y Y Y Y Y 8位定时器 1 2 2 2 2 2 2 2 2 2 16位定时器 1 1 1 1 2 2 1 1 2 2 PWM 通道 3 4 3 4 8 4 4 4 8 8 实时时钟RTC Y Y Y Y Y Y Y Y 10位A/D 通道 - 8 8 8 8 - 8 8 8 8 模拟比较器 - Y Y Y Y Y Y Y Y Y 掉电检测BOD

Y Y Y Y Y Y Y Y Y Y Wacthdog Y Y Y Y Y Y Y Y Y Y 片内系统时钟

Y Y Y Y Y Y Y Y Y Y JTAG 接口 - - Y Y Y Y Y Y Y Y 在线编程ISP Y Y Y Y Y Y Y Y Y Y 自编程SPM Y Y Y Y Y Y Y Y Y Y Vcc(v)(最低)

(最高) 2.7 5.5 2.7 5.5 4.5 5.5 4.0 5.5 4.55.5 4.5 5.5 4.5 5.5 4.5 5.5 4.5 5.5 2.7 5.5 系统时钟(MHz)

0-16 0-16 0-160-160-160-160-160-16 0-16 0-8 封装形式

T Q F P 44 P D I P 40 M L F 44 P L C C 44

T Q F P 44 P D I P 40 M L F 44 P L C C 44

P D I P 40 M L F 44 T Q F P 44

P D I P 40 M L F 44 T Q F P 44

P D I P 40 M L F 44 T Q F P 44

T Q F P 64 M L F 64

T Q F P 64 M L F 64

思考与练习

1. 什么是通用计算机系统?什么是嵌入式计算机系统?两种系统在应用领域和技术构成等方面有那些相同点和区别?

2. 嵌入式计算机系统有哪几种类型?通过网络、杂志与广告了解各种可以构成嵌入式系统的核心部件的性能、价格与应用领域。

3. 为什么说单片机是典型的嵌入式系统?列举几个你所知道的单片机嵌入式系统的产品和应用。

4. 通过网络、杂志与广告了解国内外主要的单片机生产商,以及它们的产品型号、主

要性能和特点,以及相应的开发系统和工具。

5. 什么是单片机?单片机有何特点?

6. 单片机的主要技术发展方向是什么?

7. 简述单片机嵌入式系统的系统结构,并以具体实例(产品)为例,说明系统结构中各个部分的具体构成与功能。

8. ATmega系列单片机有那些特点?这些特点是否符合单片机的主要发展方向?

9. 将程序存储器集成到单片机内有和优点和不足?片内集成E2PROM、FlashROM以及MaskROM、OTPROM的单片机各有什么特点?

10. 大多数的AVR单片机内部都含有RAM、FlashROM、E2PROM,请给出它们的用途、性能和特点,并举例说明如何使用。

11. 什么是ISP技术?采用 ISP技术的单片机有什么优点?

12. 什么是IAP技术?IAP与ISP的本质区别是什么?说明其主要用途。

13. 以串行总线方式为主的外围扩展方式有什么优点?

14. 在单片机中集成了那些常用的硬件接口电路?简单举例说明其功能和作用。

相关文档