1、基于 AV R 的单片嵌入式系统原理与实践应用 第1章 单片嵌入式系统概述 在各种不同类型的嵌入式系统 中,以单片微控制器(Microcontroller)作为系统的主要控制核心所构成的单片嵌入式系统(国内通常称为单片机系统)占据着非常重要的地位。本书将介绍以 AVR 系列单片微控制器为核心的单片嵌入式系统的原理、硬软件设计、调试等应用方法。 单片嵌入式系统的硬件基本构成可分成两大部分:单片微控制器芯片和外围的接口与控制电路。其中单片微控制器是构成单片嵌入式系统的核心。 单片微控制器又被称为单片微型计算机(Single-Chip Microcomputre 或 One-C hip Microc
2、omputre),或者嵌入式微控制器(Embedded Microcontroller) 。而在国内普遍采用的名字为“单片机”。尽管单片机的“机”的含义并不十分恰当,比较模糊,但考虑到多年来国内习惯了单片机的叫法,为了符合我国的实际情况,本书仍采用单片机的名称。 所谓的单片微控制器即单片机,它的外表通常只是一片大规模集成电路芯片。但在芯片的内部却集成了中央处理器单元(CPU), 各种存储器(RAM、 ROM、 EPROM、 E2PROM 和FlashROM 等),各种输入/输出接口(定时器/计数器、并行 I/O、串行 I/O 以及 A/D 转换接口等),等众多的功能部件。因此,一片芯片就构成了
3、一个基本的微型计算机系统。 由于单片机芯片的微小体积,极低的成本和面向控制的设计,使的它作为智能控制的核心器件被广泛地应用于嵌入到工业控制、智能仪器仪表、家用电器、电子通信产品等各个领域中的电子设备和电子产品中。可以说,由单片机为核心构成的单片嵌入式系统已成为现代电子系统中最重要的组成部分。 1.1 嵌入式系统简介 1.1.1 嵌入式计算机系统 计算机的出现首先是应用于数值计算。随着计算机技术的不断发展,计算机的处理速度越来越快,存储容量越来越大,外围设备的性能越来越好,满足了高速数值计算和海量数据处理的需要,形成了高性能的通用计算机系统。 1. 什么是嵌入式系统 以往我们按照计算机的体系结构
4、、运算速度、结构规模、适用领域,将其分为大型计算机、中型机、小型机和微型计算机,并以此来组织学科和产业分工,这种分类沿袭了约40 年。近20年来,随着计算机技术的迅速发展,以及计算机技术和产品对其它行业的广泛渗透,使得以应用为中心的分类方法变得更为切合实际。具体的说,就是按计算机的非嵌入式应用和嵌入式应用将其分为通用计算机系统和嵌入式计算机系统。 通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出现,并应用在社会的各个方面。现在我们在办公室里、家庭中,最广泛普及使用的 PC 机就是通用计算机其最典型的代表。 而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中的。
5、在许多的应用领域中,如工业控制、智能仪器仪表、家用电器、电子通信设备等电子系统和电子产品中,对计算机的应用有着不同的要求。这些要求的主要特征为: (1) 面对控制对象。面对物理量传感器变换的信号输入;面对人机交互的操作控制;面对对象的伺服驱动和控制。 华东师范大学 电子科学技术系 马潮 1-1 第 1 章 单片嵌入式系统概述 (2) 嵌入到应用系统。体积小、低功耗、价格低廉,可方便地嵌入到应用系统和电子产品中。 (3) 能在工业现场环境中可靠运行。 (4) 优良的控制功能。对外部的各种模拟和数字信号能及时地捕捉,对多种不同的控制对象能灵活地进行实时控制。 可以看出,满足上述要求的计算机系统与通
6、用计算机系统是不同的。换句话讲,能够满足和适合以上这些应用的计算机系统与通用计算机系统在应用目标上有巨大的差异。 我们将具备高速计算能力和海量存储,用于高速数值计算和海量数据处理的计算机称为通用计算机系统。而将面对工控领域对象,嵌入到各种控制应用系统、各类电子系统和电子产品中,实现嵌入式应用的计算机系统称之为嵌入式计算机系统,简称嵌入式系统(Embedded System)。 特定的环境、特定的功能,要求计算机系统与所嵌入的应用环境成为一个统一的整体,并且往往要满足紧凑、高可靠性、实时性好、低功耗等技术要求。对于这样一种面向具体专用应用目标的计算机系统的应用,以及系统的设计方法和开发技术,构成
7、了今天嵌入式系统的重要内涵,也是嵌入式系统发展成为一个相对独立的计算机研究和学习领域的原因。 2. 嵌入式系统的特点与应用 因此,嵌入式系统就是指用于实现独立功能的专用计算机系统。它由包括微处理器、微控制器、定时器、传感器等一系列微电子芯片与器件,以及嵌入在存储器中的微型操作系统或控制系统软件组成,完成诸如实时控制、监测管理、移动计算、数据处理等各种自动化处理任务。 嵌入式系统是以应用为核心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、安全性、成本、体积、重量、功耗、环境等方面有严格要求的专用计算机系统。嵌入式系统将应用程序和操作系统与计算机硬件集成在一起,简单讲就是系统的
8、应用软件与系统的硬件一体化。这种系统具有软件代码小,高度自动化,响应速度快等特点,特别适应与面向对象的要求实时的和多任务的应用。 嵌入式计算机系统在应用数量上远远超过了各种通用计算机系统,一台通用计算机系统,如 PC 机的外部设备中就包含了 5-10 个嵌入式系统:键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB 集线器等均是由嵌入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。 通用计算机系统和嵌入式计算机系统形成了计算机技术的两大分支。与通用计算机系统相比,
9、嵌入式系统最显著的特性是面对工控领域的测控对象。工控领域的测量对象都是一些物理量,如压力、温度、速度、位移等;控制对象则包括马达、电磁开关等。嵌入式计算机系统对这些参量的采集、处理、控制速度是有限的,而对控制方式和能力的要求则是多种多样的。显然,这一特性形成并决定了嵌入式计算机系统和通用计算机系统在系统结构、技术、学习、开发和应用等诸方面的差别,也使得嵌入式系统成为计算机技术发展中的一个重要分支。 嵌入式计算机系统以其独特的结构和性能,越来越多地应用的国民经济的各个领域。 1.1.2 单片嵌入式系统 嵌入式计算机系统的构成,根据其核心控制部分的不同可分为几种不同的类型: a. 各种类型的工控机
10、 华东师范大学 电子科学技术系 马潮 1-2 基于 AV R 的单片嵌入式系统原理与实践应用 b. 可编程逻辑控制器 PLC c. 以通用微处理器或数字信号处理器构成的嵌入式系统 d. 单片嵌入式系统 采用上述不同类型的核心控制部件所构成的系统都实现了嵌入式系统的应用,成为嵌入式系统应用的庞大家族。 以单片机作为控制核心的单片嵌入式系统大部分应用于专业性极强的工业控制系统中。其主要特点是:结构和功能相对单一、存储容量较小、计算能力和效率比较低,简单的用户接口。由于这种嵌入式系统功能专一可靠、价格便宜,因此在工业控制、电子智能仪器设备等领域有着广泛的应用。 作为单片嵌入式系统的核心控制部件单片机
11、,它从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能最好地满足面对控制对象、应用系统的嵌入、现场的可靠运行和优良的控制功能要求。因此,单片嵌入式应用是发展最快、品种最多、数量最大的嵌入式系统,也有着广泛的应用前景。由于单片机具有嵌入式系统应用的专用体系结构和指令系统,因此在其基本体系结构上,可衍生出能满足各种不同应用系统要求的系统和产品。用户可根据应用系统的各种不同要求和功能,选择最佳型号的单片机。 作为一个典型的嵌入式系统单片嵌入式系统,在我国大规模应用已有几十年的历史。它不但是在中、小型工控领域、智能仪器仪表、家用电器、电子通信设备和电子系统中最重要的工具和最普遍的应用手段
12、,同时正是由于单片嵌入式系统的广泛应用和不断发展,也大大推动了嵌入式系统技术的快速发展。因此对于电子、通信、工业控制、智能仪器仪表等相关专业的学生来讲,深入学习和掌握单片嵌入式系统的原理与应用,不仅能对自己所学的基础知识进行检验,而且能够培养和锻炼自己的问题分析、综合应用、和动手实践的能力,掌握真正的专业技能和应用技术。同时,深入学习和掌握单片嵌入式系统的原理与应用,也为更好的掌握其它嵌入式系统的打下重要的基础,这个特点尤其表现在硬件设计方面。 1.1.3 单片机的发展历史 1970 年微型计算机研制成功后,随后就出现了单片机。美国 Inter 公司在 1971 年推出了 4 位单片机 400
13、4;1972 年推出了雏形 8 位单片机 8008。特别是在 1976 年推出 MCS-48单片机以后的三十年中,单片机的发展和其相关的技术经历了数次的更新换代。其发展速度大约每三四年要更新一代、集成度增加一倍、功能翻一番。 尽管单片机出现的历史并不长,但以 8 位单片机的推出为起点,那么,单片机的发展大致可分为四个阶段。 第一阶段(1976 年-1978 年) :初级单片机阶段。以 Inter 公司 MCS-48 为代表。这个系列的单片机内集成有 8 位CPU、I/O 接口、8 位定时器/计数器,寻址范围不大于 4K字节,简单的中断功能,无串行接口。 第二阶段(1978 年-1982年) :
14、单片机完善阶段。在这一阶段推出的单片机其功能有较大的加强,能够应用于更多的场合。这个阶段的单片机普遍带有串行 I/O 口、有多级中断处理系统、16 位定时器/计数器,片内集成的 RAM、ROM 容量加大,寻址范围可达 64K 字节。一些单片机片内还集成了 A/D 转换接口。这类单片机的典型代表有 Inter 公司的 MCS-51、Motorola 公司的6801 和Zilog 公司的Z8 等。 第三阶段(1982 年-1992 年) :8 位单片机巩固发展及 16 位高级单片机发展阶段。在此阶段,尽管8 位单片机的应用已广泛普及,但为了更好满足测控系统的嵌入式应用的要求,单片机集成的外围接口电
15、路有了更大的扩充。这个阶段单片机的代表为 8051 系列。许多半导体公司和生产厂以 MCS-51 的8051为内核, 推出了满足各种嵌入式应用的多种类型和型号华东师范大学 电子科学技术系 马潮 1-3 第 1 章 单片嵌入式系统概述 的单片机。其主要技术发展有: (1) 外围功能集成。满足模拟量直接输入的 ADC 接口;满足伺服驱动输出的 PWM;保证程序可靠运行的程序监控定时器 WDT(俗称看门狗电路) 。 (2) 出现了为满足串行外围扩展要求的串行扩展总线和接口,如 SPI、I2C Bus、单总线(1-Wire)等。 (3) 出现了为满足分布式系统,突出控制功能的现场总线接口,如 CAN
16、Bus 等。 (4) 在程序存储器方面广泛使用了片内程序存储器技术,出现了片内集成 EPROM、EEPROM、FlashROM 以及 MaskROM、OTPROM 等各种类型的单片机,以满足不同产品的开发和生产的需要,也为最终取消外部程序存储器扩展奠定了良好的基础。 与此同时,一些公司面向更高层次的应用,发展推出了 16 位的单片机,典型代表有Inter 公司的 MCS-96 系列的单片机。 第四阶段(1993 年-现在) :百花齐放阶段。现阶段单片机发展的显著特点是百花齐放、技术创新,以满足日益增长的广泛需求。其主要方面有: (1)单片嵌入式 系统的应用是面对最底层的电子技术应用,从简单的玩
17、具、小家电;到复杂的工业控制系统、智能仪表、电器控制;以及发展到机器人、个人通信信息终端、机顶盒等。因此,面对不同的应用对象,不断推出适合不同领域要求的,从简易性能到多全功能的单片机系列。 (2)大力发展专 用型单片机。早期的单片机是以通用型为主的。由于单片机设计生产技术的提高、周期缩短、成本下降,以及许多特定类型电子产品,如家电类产品的巨大的市场需求能力,推动了专用单片机的发展。在这类产品中采用专用单片机,具有低成本、资源有效利用、系统外围电路少、可靠性高的优点。因此专用单片机也是单片机发展的一个主要方向。 (3)致力于提高 单片机的综合品质。采用更先进的技术来提高单片机的综合品质,如提高
18、I/O 口的驱动能力;增加抗静电和抗干扰措施;宽(低)电压低功耗等。 1.1.4 单片机的发展趋势 综观三十年的发展过程,作为单片嵌入式系统的核心单片机,正朝着多功能、多选择、高速度、低功耗、低价格、扩大存储容量和加强 I/O功能等方向发展。其进一步的发展趋势是多方面的。 (1) 全盘 CMOS 化。CMOS 电路具有许多优点,如极宽的工作电压范围;极佳的低功耗及功耗管理特性等。CMOS化已成为目前单片机及其外围器件流行的半导体工艺。 (2) 采用 RISC 体系结构。 早期的单片机大多采用 CISC结构体系, 指令复杂,指令代码、周期数不统一;指令运行很难实现流水线操作,大大阻碍了运行速度的
19、提高。如 MCS-51 系列单片机,当外部时钟为 12MHz 时,其单周期指令运行速度也仅为 1MIPS。采用 RISC 体系结构和精简指令后,单片机的指令绝大部分成为单周期指令,而通过增加程序存储器的宽度(如从 8 位增加到 16 位) ,实现了一个地址单元存放一条指令。在这种体系结构中,很容易实现并行流水线操作,大大提高了指令运行速度。 目前一些RISC结构的单片机,如美国ATMEL公司的 AVR 系列单片机已实现了一个时钟周期 执行一条指令。与 MCS-51 相比,在相同的12MHz 外部时钟下,单周期指令运行速度可达 12MIPS。一方面可获得很高的指令运行速度,另一方面,在相同的运行
20、速度下,可大大降低时钟频率,有利于获得良好的电磁兼容效果。 (3) 多功能集成化。单片机在内部已集成了越来越多的部件,这些部件不仅包括一般常用的电路,如:定时/计数器,模拟比较器,A/D 转换器,D/A 转换器,串行通信接口,WDT电路,LCD 控制器等,还有的单片机为了构成控制网络或形成局部网,内部含有局部网络控华东师范大学 电子科学技术系 马潮 1-4 基于 AV R 的单片嵌入式系统原理与实践应用 制模块 CAN总线,以方便地构成一个控制网络。为了能在变频控制中方便使用单片机,形成最具经济效益的嵌入式控制系统。有的单片机内部设置了专门用于变频控制的脉宽调制控制电路PWM。 (4) 片内存
21、储器的改进与发展。目前新型的单片机一般在片内集成两种类型的存储器:随机读写存储器 SRAM,做为临时数据存储器存放工作数据用;只读存储器 ROM,做为程序存储器存放系统控制程序和固定不变的数据。片内存储器的改进与发展的方向是扩大容量、 ROM数据的易写和保密等。 z 片内存储容量的增加。 新型的单片机一般在片内集成的SRAM在128字节至1K字节,ROM 的容量一般为 4K 字节至 8K 字节。为了适应网络、音视频等高端产品的需要,高挡的单片机在片内集成了更大容量的 RAM和 ROM 存储器。如 ATMEL 公司的ATmega16,片内的 SRAM为 1K 字节,FlashROM为16K 字节
22、。而该系列的高端产品 ATmega256,片内集成了 8K 字节的SRAM,256K字节的FlashROM 和4K 字节的EEPROM。 z 片内程序存储器由 EPROM 型向 FlashROM 发展。早期的单片机在片内往往没有程序存储器或片内集成 EPROM 型的程序存储器。将程序存储器集成在单片机内可以大大提高单片机的抗干扰性能、提高程序的保密性、减少硬件的设计的复杂性和空间等许多优点,因此片内集成程序存储器已成为新型单片机的标准方式。 但由于 EPROM 需要使用 12v 高电压编程写入、紫外线光照擦除、重写入次数有限等缺点,这给使用带来了不便。新型的单片机则采用FlashROM 以及
23、MaskRO M、OTPROM 做为片内的程序存储器。FlashROM 在通常电压(如 5v/3v)下就可以实现编程写入和擦除操作,重写次数在 10000 次以上,并可实现在线编程写入 ISP技术的优点,为使用带来了及大的方便。采用 MaskROM 的微控制器称为掩模芯片,它是在芯片制造过程中就将程序“写入”了,并永远不能改写。采用 OTPROM 的微控制器,其芯片出厂时片内的程序存储器是“空的”,它允许用户将自己编写好的程序一次性的编程写入,之后便再也无法修改了。后两种类型的单片机适合于大批量产品生产的使用,而前两种类型的微控制器则适合产品的设计开发、批量生产以及学习培训的应用。 z 程序保
24、密化。一个单片嵌入式系统的系统程序是系统的最重要的部分,是知识产权保护的核心。为了片内的程序防止被非法读出复制,新型的单片机往往采用对片内的程序存储器采用加锁保密。系统程序编程写入片内的程序存储器后,可以再对加密保护单元编程,使芯片加锁。加锁加密后,从芯片的外部则无法读取片内的系统程序代码,若将加密单元擦除,则片内的程序也同时擦除掉,这样便达到了程序保密的目的。 (5) ISP、IAP 及 基于 ISP、IAP 技术的开发和应用。ISP( In System Programmable)称为在线系统可编程技术。随着微控制器在片内集成 EEPROM、FlashROM 的发展,导致了 ISP技术在单
25、片机中的应用。首先实现了系统程序的串行编程写入(下载),使得不必将焊接在PCB 印刷电路板上的芯片取下,就可直接将程序下载到单片机的程序存储器中,淘汰了专用的程序下载写入设备。其次,基于 ISP 技术的实现,使模拟仿真开发技术重新兴起。在单时钟、单指令运行的 RISC 结构的单片机中,可实现 PC 机通过串行电缆对目标系统的在线仿真调试。在 ISP 技术应用的基础上,又发展了 IAP(In Applica tion Programmable)技术,也称在应用可编程技术。利用 IAP 技术,实现了用户可随时根据需要对原有的系统方便的在线更新软件、修改软件,还能实现对系统软件的远程诊断、远程调试和
26、远程更新。 (6) 实现全面功耗管理。采用 CMOS 工艺后,单片机具有极佳的低功耗和功耗管理功能。它包括: z 传统的 CMOS单片机的低功耗运行方式,既闲置方式(Idle Mode) 、掉电方式(Power Down Mode) 。 z 双时钟技术。配置有高速(主)和低速(子)两个时钟系统。在不需要高速运行时,则转入子时钟控制下,以节省功耗。 华东师范大学 电子科学技术系 马潮 1-5 第 1 章 单片嵌入式系统概述 z 片内外围电路的电源管理。对集成在片内的外围接口电路实行供电管理,当该外围电路不运行时,关闭其供电。 z 低电压节能技术。CMOS 电路的功耗与电源电压有关,降低系统的供电
27、 电压,能大幅度减少器件的功耗。新型的单片机往往具有宽电压(3V5V)或低电压(3V)运行的特点。低电压低功耗是手持便携式系统重要的追求目标,也是绿色电子的发展方向。 (7) 以串行总线方式为主的外围扩展。目前,单片机与外围器件接口技术发展的一个重要方面是由并行外围总线接口向串行外围总线接口的发展。采用串行总线方式为主的外围扩展技术具有方便、灵活、电路系统简单、占用 I/O 资源少等特点。采用串行接口虽然比采用并行接口数据传输速度慢,但随着半导体集成电路技术的发展,大批采用标准串行总线通信协议(如:SPI、I2C、1-Wire 等)的外围芯片器件的出现,串行传输速度也在不断提高(可达到 1M1
28、0M 的速率) ,片内集成程序存储器而不必外部并行扩展程序存储器,加之单片嵌入式系统有限速度的要求,使得以串行总线方式为主的外围扩展方式能够满足大多数系统的需求,成为流行的扩展方式,而采用并行接口的扩展技术则成为辅助方式。 (8) 单片机向片上系统 SOC 的发展。SOC(System On Chip)是一种高度集成化、固件化的芯片级集成技术,其核心思想是把除了无法集成的某些外部电路和机械部分之外的所有电子系统电路全部集成在一片芯片中。现在一些新型的单片机(如 AVR 系列单片机)已经是SOC 的雏形,在一片芯片中集成了各种类型和更大容量的存储器,更多性能更加完善和强大的功能电路接口,这使得原
29、来需要几片甚至十几片芯片组成的系统,现在只用一片就可以实现。其优点不仅是减小了系统的体积和成本,而且也大大提高了系统硬件的可靠性和稳定性。 1.2 单片嵌入式系统的结构与应用领域 1.2.1 单片嵌入式系统结构 仅由一片单片机芯片是不能构成一个应用系统的。系统的核心控制芯片,往往还需要与一些外围芯片、器件和控制电路机构有机的连接在一起,才构成了一个实际的单片机系统,进而再嵌入到应用对象的环境体系中,作为其中的核心智能化控制单元而构成典型的单片嵌入式应用系统,如洗衣机、电视机、空调、智能仪器、智能仪表等等。 单片嵌入式系统的结构如图 1-1 所示,通常包括三大部分:既能实现嵌入式对象各种应用要求
30、的单片机、全部系统的硬件电路和应用软件。 1单片机:单片机是单片嵌入式系统的核心控制芯片,由它实现对控制对象的测控、系统运行管理控制和数据运算处理等功能。 2系统硬件电路:根据系统采用单片机的特性以及嵌入对象要实现的功能要求而配备的外围芯片、器件所构成的全部硬件电路。通常包括以下几部分: z 基本系统电路。提供和满足单片机系统运行所需要的时钟电路、复位电路、系统供电电路、驱动电路、扩展的存储器等。 z 前向通道接口电路。这是应用系统面向对象的输入接口,通常是各种物理量的测量传感器、变换器输入通道。根据现实世界物理量转换成电量输出信号的类型,如模拟电压电流、开关信号、数字脉冲信号等的不同,接口电
31、路也不同。常见的有传感器、信号调理器、模/数转换器 ADC、开关输入、频率测量接口等。 z 后向通道接口电路。这是应用系统面向对象的输出控制电路接口。根据应用对象伺服和控制要求,通常有数/模转换器 DAC、开关量输出、功率驱动接口、PWM输出控制等。 z 人机交互通道接口电路。人机交互通道接口是满足应用系统人机交互需要的电路,有键盘、拨动开关、LED 发光二极管、数码管、LCD 液晶显示器、打印机等多种输入输出接口华东师范大学 电子科学技术系 马潮 1-6 基于 AV R 的单片嵌入式系统原理与实践应用 电路。 z 数据通信接口电路。数据通信接口电路是满足远程数据通信或构成多机网络应用系统的接
32、口。通常有 RS232、PSI、I2C、CAN 总线、USB 总线等通信接口电路。 3系统的应用软件:系统应用软件的核心就是下载到单片机中的系统运行程序。整个嵌入式系统全部硬件的相互协调工作、智能管理和控制都由系统运行程序决定。它可认为是单片嵌入式系统核心的核心。一个系统应用软件设计的好坏,往往也决定了整个系统性能的好坏。 系统软件是根据系统功能要求设计的,一个嵌入式系统的运行程序实际上就是该系统的监控与管理程序。对于小型系统的应用程序,一般采用汇编语言编写。而对于中型和大型系统的应用程序,往往采用高级程序设计语言如 C 语言、Basic 语言来编写。 编写嵌入式系统应用程序与编写其它类型的软
33、件程序(如基于 PC 的应用软件设计开发)有很大的不同,嵌入式系统应用程序更加面向硬件低层和控制,而且还要面对有限的资源(如有限的 RAM) 。因为嵌入式系统的应用软件不仅要直接面对单片机和与它连接的各种不同种类和设计的外围硬件电路编程,还要面对系统的具体应用和功能编程。整个运行程序常常是输入、输出接口设计,存储器,外围芯片,中断处理等多项功能交织在一起。因此,除了硬件系统的设计,系统应用软件的设计也是嵌入式系统开发研制过程中重要和困难的任务。 需要强调说明的是,针对单片嵌入式系统的硬件设计和软件设计两者之间的关系是十分紧密,互相依赖和制约的。因此,通常要求嵌入式系统的开发人员即要具备扎实的硬
34、件设计单片嵌入式系统 系 统 硬 件 电 路 单片机 系统软件 基 本 系 统 电 路 前向通道接口电路 后向通道接口电路 人机交互通道接口 数据通信接口电路 图 1-1 单片嵌入式系统结构 华东师范大学 电子科学技术系 马潮 1-7 第 1 章 单片嵌入式系统概述 能力,同时也要具备相当优秀的软件程序设计能力。 1.2.2 单片嵌入式系统的应用领域 以单片机为核心构成的单片嵌入式系统已成为现代电子系统中最重要的组成部分。在现代的数字化世界中,单片嵌入式系统已经大量地渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输
35、,工业自动化过程的时实控制和数据处理,生产流水线上的机器人,医院里先进的医疗器械和仪器,广泛使用的各种智能 IC 卡,小朋友的程控玩具和电子宠物都是典型的单片嵌入式系统应用。 由于单片机芯片的微小体积,极低的成本和面向控制的设计,使的它作为智能控制的核心器件被广泛地用于嵌入到工业控制、智能仪器仪表、家用电器、电子通信产品等各个领域中的电子设备和电子产品中,主要的应用领域有以下几个方面。 (1) 智能家用电器。俗程带“电脑”的家用电器,如电冰箱、空调、微波炉、电饭锅、电视机、洗衣机等。传统的家用电器中嵌入了单片机系统后使产品性能特点都得到很大的改善,实现了运行智能化、温度的自动控制和调节、节约电
36、能等。 (2) 智能机电一体化产品。单片机嵌入式系统与传统的机械产品相结合,使传统的机械产品结构简化,控制智能化,构成新一代的机电一体化产品。这些产品已在纺织、机械、化工、食品等工业生产中发挥出巨大的作用。 (3) 智能仪表仪器。用单片机嵌入式系统改造原有的测量、控制仪表和仪器,能促使仪表仪器向数字化、智能化、多功能化、综合化、柔性化发展。由单片机系统构成的智能仪器仪表可以集测量、处理、控制功能与一体,赋予传统的仪器仪表以崭新的面貌。 (4) 测控系统。用单片机嵌入式系统可以构成各种工业控制系统、适应控制系统、数据采集系统等。例如,温室人工气候控制、汽车数据采集与自动控制系统。 1.3 AVR
37、单片 机简介 1.3.1 ATMEL公司的单片机产品 ATMEL 公司是世界上著名的生产高性能、低功耗、非易失性存储器和各种数字模拟 IC芯片的半导体制造公司。在单片微控制器方面,ATMEL 公司有基于 8051 内核、基于 AVR 内核和基于 ARM 内核的三大系列单片机产品(确切的讲,最后一款应称为嵌入式微处理器)。ATMEL 公司在它的单片机产品中,融入了先进的 EEPROM 电可擦除和 Flash ROM 闪速存储器技术,使得该公司的单片机具备了优秀的品质,在结构、性能和功能等方面都有明显的优势。 ATMEL 公司把 8051 内核与其擅长的 Flash 存储器技术相结合,是国际上最早
38、推出片内集成可重复擦写 1000 次以上 Flash 程序存储器、采用低功耗 CMOS 工艺的 8051 兼容单片机的生产商之一。市场上家喻户晓的 AT89C51、AT89C52、AT89C 1051、AT89C2051 就是 ATMEL公司生产的基于 8051 内核系列单片机中的典型产品(现在已升级换代为 AT89Sxx 系列,采用 ISP 在线编程技术) 。该系列单片机一直在我国的单片机市场上占有相当大的份额。 8051 结构的单片机采用复杂指令系统 CISC(Complex Ins truction Set Computer)体系。由于 CISC 结构存在指令系统不等长,指令数多,CPU
39、 利用效率低,执行速度慢等缺陷,已不能满足和适应设计中高档电子产品和嵌入式系统应用的需要。ATMEL公司发挥其 Flash 存储器技术的特长,于 1997 年研发和推出了全新配置采用精简指令集 RISC(Reduced Instruction Set CPU)结构的新型单片机,简称 AVR 单片机。 华东师范大学 电子科学技术系 马潮 1-8 基于 AV R 的单片嵌入式系统原理与实践应用 精简指令集 RISC结构是20世纪90年代开发出来的一种综合了半导体集成技术和提高软件性能的新结构,是为了提高 CPU运行的速度而设计的芯片体系。它的关键技术在于采用流水线操作(Pipelining),和等
40、长指令体系结构,使一条指令可以在一个单独操作中完成,从而实现在一个时钟周期里完成一条或多条指令。同时 RISC 体系还采用了通用快速寄存器组的结构,大量使用寄存器之间的操作,简化了 CPU 中处理器、控制器和其它功能单元的设计。因此,RISC 的特点就是通过简化 CPU 的指令功能,使指令的平均执行时间减少,从而提高 CPU 的性能和速度。在使用相同的晶片技术和相同的运行时钟下,RISC 系统的运行速度是 CISC 的 24 倍。正由于 RISC 体系所具有的优势,使得它在高端系统得到了广泛的应用。例如,ARM 以及大多数 32 位的处理器都采用 RISC 体系结构。 ATMEL 公司的 AV
41、R 是 8 位单片机中第一个真正的 RISC 结构的单片机。它采用了大型快速存取寄存器组、快速的单周期指令系统以及单级流水线等先进技术,使得 AVR 单片机具有高达 1MIPSMHz 的高速运行处理能力。 AVR 采用流水线技术,在前一条指令执行的时候,就取出现行的指令,然后以一个周期执行指令。大大提高了 CPU 的运行速度。而在其它的CISC 以及类似的 RISC 结构的单片机中,外部振荡器的时钟被分频降低到传统的内部指令执行周期,这种分频最大达 12 倍(8051) 。 另外一点,传统的基于累加器的结构单片机(如 8051),需要大量的程序代码来完成和实现在累加器和存储器之间的数据传送。而
42、在 AVR 单片机中,由于采用 32 个通用工作寄存器构成快速存取寄存器组,用 32 个通用工作寄存器代替了累加器,从而避免了在传统结构中累加器和存储器之间数据传送造成的瓶颈现象,进一步提高了指令的运行效率和速度。 随着电子产品更新换代的周期缩短以及不断向高端发展,为了加快产品进入市场的时间和简化系统的设计、开发、维护和支持,对于以单片机为核心所组成的高端嵌入式系统来说,用高级语言编程已成为一种标准设计方法。AVR 单片机采用 RISC 结构,其目的就是在于能够更好地采用高级语言(例如 C 语言、BASIC 语言)来编写嵌入式系统的系统程序,从而能高效地开发出目标代码。 AVR 单片机采用低功
43、率、 非挥发的 CMOS工艺制造, 内部分别集成 Flash、 EEPROM 和SRAM三种不同性能和用途的存储器。除了可以通过使用一般的编程器(并行高压方式)对 AVR单片机的 Flash 程序存储器和 EEPROM 数据存储器进行编程外,大多数的 AVR 单片机还具有ISP 在线编程的特点以及 IAP 在应用编程的特点。这些优点为使用 AVR 单片机开发设计和生产产品提供了及大的方便。在产品的设计生产中,可以“先装配后编程”,从而缩短了研发周期、工艺流程,并且还可以节约购买开发仿真编程器的费用。同样,对于学习和使用 AVR单片机的用户来说,也不必购买昂贵的开发仿真硬件设备,只需要具备一套好
44、的 AVR开发软件平台,就可以从事 AVR 单片机系统的学习、设计和开发工作了。 1.3.2 AVR单片机的主要特点 AVR 单片机吸取了 PIC 及 8051 等单片机的优点,同时在内部结构上还作了一些重大改进,其主要的优点如下: z 程序存储器为价格低廉、可擦写 1 万次以上、 指令长度单元为 16 位(字)的FlashROM (即程序存储器宽度为 16 位,按 8 位字节计算时应乘 2) 。而数据存贮器为 8 位。因此 AVR 还是属于 8 位单片机。 z 采用 CMOS 技术和 RISC 架构,实现高速(50n s)、低功耗(A)、具有 SLEEP(休眠)功能。AVR 的一条指令执行速
45、度可达 50ns(20MHz),而耗电则在 1uA2.5mA 间。AVR 采用 Harvard结构,以及一级流水线的预取指令功能,即对程序的读取和数据的操作使用不同的数据总线,因此,当执行某一指令时,下一指令被预先从程序存储器中取出,这使得指令可以在每一个华东师范大学 电子科学技术系 马潮 1-9 第 1 章 单片嵌入式系统概述 时钟周期内被执行。 z 高度保密。可多次烧写的 Flash 且具有多重密码保护锁定(LOCK)功能,因此可低价快速完成产品商品化,且可多次更改程序(产品升级),方便了系统调试,而且不必浪费 IC 或电路板,大大提高了产品质量及竞争力。 z 工业级产品。 具有大电流10
46、20mA(输出电流)或40mA(吸电流)的特点, 可直接驱动LED、SSR 或继电器。有看门狗定时器(WDT)安全保护,可防止程序走飞,提高产品的抗干扰能力。 z 超功能精简指令。具有 32 个通用工作寄存器(相当于 8051 中的 32 个累加器),克服了单一累加器数据处理造成的瓶颈现象。片内含有 128-4K 字节 SRAM,可灵活使用指令运算,适合使用功能很强的 C语言编程,易学、易写、易移植。 z 程序写入器件时,可以使用并行方式写入(用编程器写入),也可使用串行在线下载(ISP)、在应用下载(IAP)方法下载写入。也就是说不必将单片机芯片从系统板上拆下拿到万用编程器上烧录,而可直接在
47、电路板上进行程序的修改、烧录等操作,方便产品升级,尤其是对于使用 SMD 表贴封装器件,更利于产品微型化。 z 通用数字 I/O 口的输入输出特性与 PIC 的HI/LOW输出及三态高阻抗 HI-Z输入类同,同时可设定类同与 8051 结构内部有上拉电阻的输入端功能, 便于作为各种应用特性所需(多功能 I/O 口),AVR 的I/O 口是真正的 I/O 口,能正确反映 I/O 口的输入/输出的真实情况。 z 单片机内集成有模拟比较器,可组成廉价的 A/D 转换器。 z 像 8051 一样,有多个固定中断向量入口地址,可快速响应中断,而不是像 PIC 一样所有中断都在同一向量地址,需要以程序判别
48、后才可响应,这会浪费且失去控制时机的最隹机会。 z 同 PIC 一样,带有可设置的启动复位延时计数器。AVR 单片机内部有电源上电启动计数器,当系统 RESET 复位上电后,利用内部的 RC 看门狗定时器,可延迟 MCU 正式开始读取指令执行程序的时间。这种延时启动的特性,可使 MCU 在系统电源、外部电路达到稳定后再正式开始执行程序,提高了系统工作的可靠性,同时也可节省外加的复位延时电路。 z 具有多种不同方式的休眠省电功能和低功耗的工作方式。 z 许多 AVR 单片机具有内部的 RC 振荡器,提供 1/2/4/8MHz 的工作时钟,使该类单片机无需外加时钟电路元器件即可工作,非常简单和方便
49、。 z 有多个带预分频器的 8位和 16 位功能强大的计数器/定时器(C/T) ,除了实现普通的定时和计数功能外,还具有输入捕获、产生 PWM输出等更多的功能。 z 性能优良的串行同/异步通讯 USART口,不占用定时器。可实现高速同/异步通信。 z Mega8515及Mega128 等芯片具有可并行扩展的外部接口,扩展能力达 64KB。 z 工作电压范围宽 2.7V6.0V,具有系统电源低电压检测功能,电源抗干扰性能强。 z 有多通道的 10 位A/D 及实时时钟 RTC。许多 AVR 芯片内部集成了 8 路10 位A/D 接口,如:mega8、mega16、mega8535 等。 z AVR 单片机还在片内集成了可擦写 10万次的 EEPROM 数据存储器,等于又增加了一个芯片,可用于保存系统的设定参数、固定表格和掉电后的数据的保存。即方便了使用,减小了系统的空间,又大大提高了系统的保密性。 1.3.3 AVR系列单片机简介 ATMEL 公司的 AVR 单片机有三个系列的产品。为满足不同的需求和应用,ATMEL 公司对AVR单片机的内部资源进行了相应的扩展和删减, 推出了ti