1.1 单片机的发展及应用
1.1.1 嵌入式系统与单片机
微课:单片机分类及应用
自1946年计算机诞生以来,它始终是用于实现数值计算的大型设备。直到20世纪70年代,微处理器的出现,才使得计算机技术的发展有了历史性的变化。人们以应用为中心,将微型计算机嵌入到一个应用对象体系中,以实现对象智能化控制的要求。这样的计算机就有别于通用的计算机系统,它失去了通用计算机的标准形态和功能。这种以应用为中心,以计算机技术为基础,软硬件可裁剪,针对具体应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统被称为嵌入式系统。
由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。通用计算机的微处理器迅速从286、386、486发展到奔腾系列,操作系统则迅速扩张计算机基于高速海量的数据文件处理能力,使通用计算机系统进入尽善尽美阶段。而嵌入式计算机则走上了芯片化道路,它完全按照嵌入式应用要求设计全新的体系结构、微处理器、指令系统、总线方式、管理模式,将计算机做在一个芯片上,这就是嵌入式系统独立发展的单片机时代。随着微电子工艺水平的提高,其后发展的产品DSP迅速提升了嵌入式系统的技术水平,使嵌入式系统无处不在。
今天,嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机、数字电视、多媒体、汽车、微波炉、数码相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、工业自动化仪表与医疗仪器等。
简单地说,一个嵌入式系统就是一个硬件和软件的集合体。硬件包括嵌入式处理器、存储器及外部设备器件、输入/输出端口、图形控制器等;软件包括操作系统和应用程序。
嵌入式系统的核心就是嵌入式处理器。嵌入式处理器对实时和多任务有很强的支持能力、对存储区的保护功能强、具有可扩展的处理器结构及低功耗等特点。据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1 000种,流行的体系结构有30多个系列。其中8051体系占多一半,生产这种单片机的半导体厂家有20多个,共有350多种衍生产品,仅Philips公司就有近100种。现在几乎每个半导体制造商都生产嵌入式处理器。
嵌入式处理器可分成下面几类。
(1)嵌入式微处理器
嵌入式微处理器(Embedded Micro Processor Unit,EMPU)采用“增强型”通用微处理器。对工作温度、电磁兼容性以及可靠性方面的要求较高,在功能方面与标准的微处理器基本上是一样的。嵌入式微处理器组成的系统将嵌入式微处理器及其存储器、总线、外部设备等安装在一块电路主板上,具有体积小、质量轻、成本低、可靠性高的优点,但系统的技术保密性较差。嵌入式微处理器目前主要有80X86 系列、Power PC 系列及68 000系列等。
(2)微控制器
微控制器(Micro Controller Unit,MCU)又称单片机,它将整个计算机系统集成到一块芯片中。微控制器一般以某种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了ROM、EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O口、串行口、脉宽调制输出、A-D、D-A、Flash ROM、E2PROM等各种必要的功能部件和外部设备。为适应不同的应用需求,可对功能的设置和外部设备的配置进行必要的修改和裁减定制。和嵌入式微处理器相比,微控制器使应用系统的体积大大减小、功耗和成本大幅下降、可靠性提高,使得微控制器成为嵌入式系统应用的主流。目前MCU约占嵌入式系统市场份额的70%。最典型的就是MCS-51系列产品。
(3)嵌入式DSP处理器
由于实际应用中对数字信号进行处理的要求,使DSP 算法被大量应用于嵌入式系统。DSP应用从在通用单片机中以普通指令实现 DSP 功能,过渡到采用嵌入式 DSP 处理器。DSP处理器在系统结构和指令等方面进行了特殊设计,使之更适用于运算量较大,特别是向量运算、指针线性寻址等较多的场合。EDSP (Embedded Digital Signal Processor,EDSP)处理器比较有代表性的产品是TI公司的TMS320系列和Motorola的DSP56000系列。
(4)片上系统
随着EDA的推广和VLSI设计的普及化,以及半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就产生了SoC (System on Chip,SoC)技术。除了某些无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简单,对于减小整个应用系统的体积和功耗、提高可靠性非常有利。流行的SoC有Cirrus Logic公司的Maverick系列——EP7312和EP9312,Motorola公司的MC9328MX1,Intel公司的Strong ARM及TI公司的OMAP等。
1.1.2 单片机的发展趋势
单片机的应用面极广,发展速度很快,其发展大致经历了以下3个历史阶段。
1974~1978 年,为单片机芯片化阶段。第一代单片机始于 1974 年,以 Intel 公司的MCS-48 系列为代表,其特点是专门的结构设计。单片机在片内集成了8位CPU、并行I/O端口,8位定时/计数器、RAM、ROM等,资源少、无软件,只能保证基本的控制功能。这一代单片机产品,还有Motorola公司的6801系列和Zilog公司的Z8系列。
1978~1983年,为单片机完善阶段。以Intel公司的MCS-51系列为代表,其技术特点是具有完善的总线结构,包括8位数据总线、16位地址总线及相应的控制总线组成的三总线结构及串行总线;具有强大的指令系统,其中大量的位操作指令与片内位地址空间构成了单片机所独有的布尔操作系统,建立了计算机外围功能电路的SFR集中管理模式;具有多级中断处理、16位定时/计数器,较大容量的片内RAM和ROM,有的单片机内部还带有A-D转换接口。这一代单片机真正开创了单片机作为微控制器的发展方向。
1983年至今,为单片机向微控制器过渡阶段。在这一时期,一方面不断完善高档8位单片机,另一方面发展16位单片机及专用单片机。将许多测控系统中所使用的电路技术、接口技术及可靠性技术应用于单片机中,如程序运行监视器(WDT)、脉冲宽度调制器(PWM)、高速I/O口、A-D、D-A等,将这些满足嵌入式应用要求的外围扩展加入到芯片内部使单片机内部的外围功能电路得到增强,使其更符合智能控制器的特征。同时加强了各种总线扩展技术,如SPI、I2C、CAN等总线接口,以及电源管理功能等。
单片机在目前的发展形势下,表现出以下几大趋势。
[1] 采用多核CPU提高处理能力。
[2] 加大存储容量,采用新型存储器,方便用户擦写程序及数据,加强程序的保密措施。
[3] 单片机内部所集成的部件越来越多,和模拟电路结合越来越紧密,使其应用水平不断提高。如NS公司(美国国家半导体公司)已将语音、图像部件也集成到单片机中。
[4] 通信和联网功能不断加强。
[5] 集成度不断提高,功耗越来越低,电源电压范围加宽。
随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人们可能发现,单片机与微机系统之间的距离越来越小,甚至难以区别。
1.1.3 单片机主要产品及应用
随着集成电路的飞速发展,单片机从问世到现在发展迅猛,拥有繁多的系列,五花八门的机种。根据控制单元设计方式与采用技术的不同,可将目前市场上的单片机分为两大类型:复杂指令集(CISC)和精简指令集(RISC)。采用CISC 结构的单片机数据线和指令线分时复用,指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格偏高。采用RISC结构的单片机数据线和指令线分离,即所谓哈佛结构。这使得取指令和取数据可同时进行,执行效率更高,速度亦更快。
微课:单片机主要产品
属于CISC结构的单片机有Intel的MCS-51/96系列、Motorola的M68HC系列、Atmel的AT89系列、中国台湾Winbond (华邦)的W78系列、荷兰Philips的PCF80C51系列等;属于RISC 结构的有 Microchip 公司的 PIC16C5X/6X/7X/8X 系列、Zilog 公司的 Z86 系列、Atmel公司的AT90S系列等。一般来说,控制关系较简单的小家电,可以采用RISC型单片机;控制关系较复杂的场合,如通信产品、工业控制系统应采用CISC单片机。
各类单片机的指令系统各不相同,功能也各有所长,其中最具代表性的当属 Intel 的8051系列单片机。世界上许多知名厂商都生产与8051 兼容的芯片,如 Philips、Siemens、Dallas、Atmel等公司,通常把这些公司生产的与8051兼容的单片机统称为MCS-51系列。特别是在近年来,MCS-51系列又推出了一些新产品,主要是改善单片机的控制功能,如内部集成了高速I/O口、ADC、PWM、WDT等,以及低电压、微功耗、电磁兼容、串行扩展总线、控制网络总线性能等。由于它应用广泛且功能不断完善,因此成为单片机初学者的首选机型。
现将国际上较大的单片机公司以及产品销量大、发展前景看好的各系列8位单片机简介如下。
1.Intel公司的MCS-51系列单片机
Intel公司的MCS-51系列单片机的型号及性能指标如表1-1所示。
表1-1 MCS-51系列单片机的型号及性能指标
其中,带有“C”的型号为CHMOS工艺的低功耗芯片,否则为HMOS工艺芯片; MCS-51系列单片机大多采用DIP、PLCC封装形式。
2.89系列单片机
89系列单片机与MCS-51系列单片机完全兼容,已成为使用者的首选主流机型,其特征为片内Flash ROM是一种高速E2PROM,可在内部存放程序,能方便地实现单片系统、扩展系统、多机系统。
(1)Atmel公司的AT89系列单片机
美国Atmel公司推出的AT89系列单片机是一种8位Flash ROM单片机,采用8031CPU的内核设计,产品性能指标如表1-1所示,其型号含义如图1-2所示。
图1-2 AT89系列单片机型号含义
Atmel单片机型号由前缀、型号和后缀3个部分组成。例如,AT89CXXXX-XXXX,其中,“AT”是前缀,“89CXXXX”是型号,型号之后的“ XXXX”是后缀。
其中“ AT”表示公司代码,“ C”为CMOS工艺产品,“ LV”表示低电压,“ S”表示该器件含有系统可编程功能(ISP)。芯片采用DIP、SOIC、TQFP等封装形式。
AT89系列单片机还有 AT89C1051、AT89C2051 和 AT89C4051 等产品,这些芯片是在AT89C51的基础上将一些功能精简后形成的精简版,它们兼容MCS-51指令系统,但只有20条引脚。例如:AT89C4051去掉了P0口和P2口,内部的Flash ROM为4 KB,封装形式也由40脚改为20脚的DIP或 SOIC封装。这几种产品还在芯片内集成了一个精密比较器,为测量一些模拟信号提供了极大的方便,在外加几个电阻和电容的情况下,就可以测量电压、温度等常见的模拟量信号,特别适合在一些智能玩具、手持仪器、家用电器等程序量不大的产品上使用。
目前,市场占有率最高的Atmel公司已经宣布停止生产AT89C51/52等C系列产品,全面生产AT89S51/52等S 系列产品。S 系列的最大特点就是具有在系统可编程(In System Programming,ISP)功能。用户只需要连接好下载电路,就可以在不拔下51芯片的情况下,直接对芯片进行编程操作。这一系列产品还具有工作频率更高、电源范围更宽、编程次数更多、加密功能更强等优点,而且自带了看门狗电路。
(2)Philips公司的P89系列单片机
荷兰Philips公司推出的P89系列单片机也是一种8位的Flash单片机,与Atmel的AT89系列产品类似,各档次单片机性能指标如表1-1所示。
3.Motorola公司的MC68HC系列单片机
MC68HC系列单片机是Motorola公司推出的8位单片机,其型号繁多,但是同一系列单片机的CPU均相同,指令系统也相同。它与51系列单片机不兼容,程序指令也不相同。其单片机的型号命名方法如图1-3所示。
MC68HC08系列单片机的性能指标如表1-2所示。其中PWM为脉冲宽度调制功能。
图1-3 MC68HC系列单片机型号含义
表1-2 MC68HC08系列单片机的性能指标
4.Microchip公司的PIC系列单片机
PIC系列单片机是由美国Microchip (微芯)公司推出的8位高性能单片机,该系列单片机是首先采用RISC结构的单片机系列。PIC的指令集只有35条指令,4种寻址方式,同时指令集中的指令多为单字节指令。指令总线和数据总线分离,允许指令总线宽于数据总线,即指令线为14位,数据线为8位。PIC有的型号单片机只有8个引脚,为世界上最小的单片机。PIC单片机的主要特点是:精简了指令集,使得指令少、执行速度快。同时,功耗低,驱动能力强,有的型号还具有I2C和SPI串行总线端口,有利于单片机串行扩充外围器件。常用的PIC系列单片机特性如表1-3所示。
表1-3 常用的PIC系列单片机特性
5.Atmel公司的AVR系列单片机
AVR单片机是1997年由Atmel的工程师研发出RISC精简指令集的高速8位单片机。采用RICS指令集,运行效率高,同时AVR比51能处理更多的任务。相对看来,AVR也比51功耗更小。目前AVR被广泛用于工业控制、小家电控制、医疗设备等应用领域。
Atmel公司的ATmega系列 AVR 单片机型号含义如图1-4 所示,其主要产品特性见表1-4。
图1-4 ATmega系列AVR单片机型号含义
例如ATmega48-20AU,不带“ V”表示工作电压为2.7~5.5V,“20”表示可支持最高为20MHz的系统时钟,“ A”表示TQFP封装,“ U”表示无铅工业级。
表1-4 常用AVR系列单片机的主要产品特性
AVR单片机是高速嵌入式单片机,具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。具有32个通用工作寄存器、多累加器型,数据处理速度快。有多个固定中断向量入口地址,可快速响应中断。AVR单片机功耗低,看门狗关闭时为100 nA,更适用于电池供电的应用设备,有的器件最低1.8 V电压即可工作。AVR单片机保密性能好,具有不可破解的位加密锁技术(Lock Bit),保密位单元深藏于芯片内部。
AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。工业级产品,具有大电流(灌电流)10~40 mA,可直接驱动晶闸管SCR或继电器,节省了外围驱动器件。AVR单片机有串行异步通信UART接口,不占用定时器和SPI同步传输功能,因其具有高速特性,故可以工作在一般标准整数频率下,而波特率可达576 kb/s。
AVR单片机内带模拟比较器,I/O 口可用作 A/D 转换,可组成廉价的 A/D 转换器。ATmega48/8/16等器件具有8路10位A/D。它的定时/计数器T/C有8位和16位,可用于比较器。计数器外部中断和PWM (也可用于D/A)用于控制输出,是作为电机无级调速的理想器件。
由于单片机的种种优点和特性,其应用领域无所不至,无论是工业部门、民用部门还是家用等领域,处处可以见到它的身影。单片机主要应用于以下几个方面。
1.在智能仪表中的应用
这是单片机应用最多、最活跃的领域之一。在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化水平和精度,简化仪器仪表的硬件结构,提高性价比。
2.在工业方面的应用
单片机广泛用于工业生产过程的自动控制、物理量的自动检测与处理、工业机器人、智能传感器、电机控制、数据传输等领域中。
3.在电信业的应用
单片机在程控交换机、手机、电话机、智能调制解调器、智能线路运行控制等方面的应用也很广泛。
4.在军用导航方面的应用
单片机应用在航天航空导航系统、电子干扰系统、宇宙飞船、尖端武器、导弹控制、智能武器装置、鱼雷制导控制等方面。
5.在日常生活中的应用
目前国内外各种家用电器已普遍采用单片机代替传统的控制电路。例如:单片机广泛用于洗衣机、电冰箱、空调机、微波炉、电饭煲等家用电器以及高级的电子玩具、电子字典、数码相机等产品中,从而提高了自动化程度,同时还增加了功能。当前家电领域的主要发展趋势是模糊控制,现已形成了众多的模糊控制家电产品,而单片机正是这些产品的最佳选择。
6.其他方面的应用
单片机除了以上各方面的应用之外,还广泛应用于办公自动化领域;商业营销领域;汽车的点火控制、变速控制、防滑刹车、排气控制、节能控制、冷气控制、汽车报警、测试设备及计算机内部设备等各领域中。
1.1.4 单片机系统的开发
对于一个单片机控制系统(或称为目标系统),从提出任务到设计、调试,最终正确地投入运行并完成既定的功能,这一过程称为开发。单片机的应用开发可分为5个步骤,如图1-5 所示。
(1)总体方案设计
首先要明确系统的运行环境与条件,制定总体方案。制定总体方案时,应注意方案的完整性与合理性,不但要满足系统的功能指标要求,而且要保证系统的可靠性。也就是说,制定总体方案不但要进行功能性设计,同时还要进行系统的可靠性设计。可靠性设计应贯穿于项目研发的每个环节,从总体方案的确定、外围单元电路的选型、PCB设计、元器件的安装焊接一直到软件的编写调试,无论哪个环节处理不当都会影响系统的可靠运行,甚至会造成灾难性的后果。另外,对大多数嵌入式系统,在制定总体方案时还要进行机械结构方面的设计。
图1-5 单片机系统开发步骤
制定总体方案时,应根据系统的具体要求,如存储容量、通道数目、精度、响应时间及可靠性等,设计出多种方案,经过系统论证,最后选择一种最佳方案实施。
(2)硬件单元电路设计与制作
总体方案确定后,便可以开始设计各单元电路。根据总体方案的要求,应明确对各单元电路功能和技术指标的具体要求,合理选择元器件并确定电路形式。设计系统原理图和PCB,并完成器件的安装焊接。
(3)应用程序的设计与调试
根据系统要求及硬件设计,编写应用程序,可使用各种汇编工具软件进行源程序的编写、编译及调试等。
(4)系统联调
使用仿真器对硬件进行在线调试或使用软件进行仿真调试,不断修改、完善硬件和软件。
仿真可以分为软件模拟仿真和仿真器硬件仿真两大类。目前模拟仿真软件Proteus已成为各类单片机开发人员必备的软件仿真系统,但软件模拟仿真的缺点是不能进行硬件系统的调试和故障诊断。因此,在开发过程中,硬件仿真是必不可少的。硬件仿真器采用通用微型计算机加仿真接口方式构成。仿真接口与通用微型计算机间以串行通信的方式连接。这种开发方式必须有微型计算机的支持,利用微型计算机系统配备的组合软件进行源程序的编辑、汇编和仿真调试。如伟福(WAVE)仿真器。
(5)固化(烧写)与脱机运行
用专用的单片机编程器(烧写器)将编译完成的二进制文件或十六进制文件写入单片机芯片中,进行系统的脱机运行与调试。