第4章 单片机概论
4.1 单片机的特点及发展概况
单片机MCU(Micro Controller Unit)是一个以单芯片形态面对测控对象的嵌入式应用计算机系统。它的出现及发展使计算机技术从通用型数值计算领域进入到了智能化的控制领域,从此计算机技术在两个重要领域——通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着当今社会。
4.1.1 单片机——微控制器嵌入式应用的概念
1. 单片机概述
所谓单片机,是指把组成微型计算机的各个功能部件(中央处理器CPU、随机存储器RAM、只读存储器ROM、输入/输出接口电路、定时器/计数器以及串行通信接口等)集成在一块芯片中构成的一个完整的微型计算机。因此单片机早期的含义为单片微型计算机(Single Chip Microcomputer),中文直译为单片机,并一直沿用至今。
由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域应用的要求而诞生的。随着单片机技术的发展,人们可以在芯片内集成许多面对测控对象的接口电路,如ADC、DAC、高速I/O口、PWM和WDT等。这些对外电路及外设接口已经突破了微型计算机(Microcomputer)传统的体系结构,所以,更能确切反映单片机本质的叫法应是微控制器MCU(Micro Controller Unit)。
单片机是以单芯片形态进行嵌入式应用的计算机,它有唯一的专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠地运行的特点,因此单片机又称为嵌入式微控制器(Embedded Micro controller)。
在国内,“单片机”的叫法仍然有着普遍的意义。可以把单片机理解为一个单芯片形态的微控制器,是一个典型的嵌入式应用计算机系统。目前按单片机内部数据通道的宽度,可以分为4位、8位、16位及32位单片机。
2. 单片机和微处理器
随着大规模与超大规模集成电路技术的快速发展,微计算机技术形成了两大分支:微处理器MPU(Micro Processor Unit)和单片机MCU(Micro Controller Unit)。
微处理器MPU是微型计算机的核心部件,它的性能决定了微型计算机的性能。通用型的计算机已从早期的数值计算、数据处理发展到当今的人工智能阶段。它不仅可以处理文字、字符、图形和图像等信息,而且还可以处理音频、视频等信息,并正向多媒体、人工智能、数字模拟和仿真、网络通信等方向发展。它的存储容量和运算速度正在以惊人的速度发展。高性能的32位、64位微型计算机系统正在向中、大型计算机挑战。
单片机MCU主要用于控制领域。它构成的检测控制系统能实时、快速地进行外部响应,能迅速采集到大量数据,能在做出正确的逻辑推理和判断后实现对被控制对象参数的调整与控制。单片机的发展直接利用了MPU的成果,也发展了16位、32位的机型。但它的发展方向是高性能、高可靠性、低功耗、低电压、低噪音和低成本。目前主流的单片机仍然是以8位机为主,16位、32位机为辅。单片机的发展主要还是表现在其接口和性能能不断地满足多种多样检测控制对象的要求上,突出表现在它的控制功能上,例如,构成各种专用的控制器和多机控制系统。
3. 单片机和嵌入式系统
面向检测控制对象、嵌入到应用系统中去的计算机系统称之为嵌入式系统。实时性是它的主要特征,对系统的物理尺寸、可靠性、重启动和故障恢复方面也有特殊的要求。由于被嵌入对象的体系结构、应用环境等的要求,嵌入式计算机系统比通用的计算机系统应用设计更为复杂,涉及面也更为广泛。从形式上可将嵌入式系统分为系统级、板级和芯片级3大类。
系统级嵌入式系统为各种类型的工控机,包括进行机械加固和电气加固的通用计算机系统,各种总线方式工作的工控机和模块组成的工控机。它们大多数有丰富的通用计算机软件及周边外设的支持,有很强的数据处理能力,应用软件的开发也很方便。但由于体积庞大,系统级嵌入式系统适用于具有大空间的嵌入式应用环境,如大型实验装置、船舶以及分布式测控系统等。
板级嵌入式系统则有各种类型的带CPU的主板及OEM产品。与系统级相比,板级的嵌入式系统体积较小,可以满足较小空间的嵌入应用环境。
芯片级嵌入式系统则以单片机最为经典。单片机嵌入到对象的环境、结构体系中,作为其中的一个智能化控制单元使用,是最典型的嵌入式计算机系统。它有唯一的专门为嵌入式应用而设计的体系结构和指令系统,加上芯片级的体积和在现场运行环境下的高可靠性,使得它最能满足各种中、小型对象的嵌入式应用要求。因此,单片机是目前发展最快、品种最多、数量最大的嵌入式计算机系统。但是一般的单片机目前还没有通用的系统管理软件或监控程序,只放置由用户调试好的应用程序。它本身不具备开发能力,常常需要专门的开发工具。
4.1.2 单片机的特点和应用
1. 单片机的基本组成
单片机的结构特征是将组成计算机的基本部件集成在一块晶体芯片上,构成一台功能独特、完整的单片微型计算机。图4-1为单片机的典型结构框图。
图4-1 单片机的典型结构框图
下面对单片机的各个组成部分进行简单的介绍。
(1)中央处理器
单片机中的中央处理器CPU和通用微处理器基本相同,由运算器和控制器组成。另外增设了“面向控制”的处理功能,如位处理、查表、多种跳转、乘除法运算、状态检测以及中断处理等,增强了实时性。
(2)存储器
单片机的存储空间有两种基本结构:普林斯顿结构和哈佛结构。普林斯顿结构(Princeton)中,程序和数据合用一个存储器空间,即ROM和RAM的地址同在一个空间里分配不同的地址。CPU访问存储器时,一个地址对应唯一的一个存储单元,可以是ROM,也可以是RAM,用同类的访问指令。哈佛(Harvard)结构中,程序存储器和数据存储器截然分开,分别寻址,CPU用不同的指令访问不同的存储器空间。由于单片机实际应用中具有“面向控制”的特点,一般需要较大的程序存储器,目前,包括MCS-51和80C51系列的单片机均采用程序存储器和数据存储器截然分开的哈佛结构。
① 数据存储器(RAM)
在单片机中,用随机存取存储器(RAM)来存储数据(运行期间的数据、中间结果、缓冲和标志位等),所以称之为数据存储器。一般在单片机内部设置一定容量(64B~256B)的RAM,并以高速RAM的形式集成在单片机内,以加快单片机的运行速度。同时,单片机内还把专用的寄存器和通用的寄存器在同一片RAM内统一编址,以利于运行速度的提高。对于某些应用系统,还可以外部扩展数据存储器。
② 程序存储器(ROM)
单片机中,通常将开发调试成功后的应用程序存储在程序存储器中。因为不会再发生改变,所以程序存储器通常采用只读存储器ROM的形式。
单片机内部的程序存储器主要有以下几种形式。
掩膜ROM(Mask ROM)。它是由半导体厂家在芯片生产封装时,将用户的应用程序代码通过掩膜工艺制作到单片机的ROM区中,一旦写入后用户不能修改。所以它适合于程序已定型,需要大批量使用的场合。8051就是采用掩膜ROM(Mask ROM)的单片机型号。
EPROM。此种芯片带有透明窗口,可通过紫外线擦除程序擦除存储器中的内容。应用程序可通过专门的写入器脱机写入到单片机中,需要更改时可通过紫外线擦除后重新写入。8751就是采用EPROM的单片机型号。
ROMLESS。这种单片机内部没有程序存储器,使用时必须在外部并行扩展一片EPROM作为程序存储器。8031就是采用ROMLESS的单片机型号。
OTP(One Time Programmable)ROM。这是用户一次性编程写入的程序存储器。用户可通过专用的写入器将应用程序写入OTPROM中,但只允许写入一次。
Flash ROM(MTP ROM)闪速存储器。这是一种可由用户多次编程写入的程序存储器。它不需紫外线擦除,编程与擦除完全通过电来实现,数据不易挥发,可保存10年。编程/擦除速度快,4KB编程只需数秒,擦除时只需10毫秒。例如AT89系列单片机,可实现在线编程,也可下载。这是目前大力发展的一种ROM,大有取代EPROM型产品之势。
(3)并行I/O口
单片机为了突出控制的功能,提供了大量功能强、使用灵活的并行I/O口。这些并行的I/O口不仅可灵活地选作输入或输出口,又可作为系统总线或是控制信号线,从而为扩展外部存储器和I/O接口提供了方便。
(4)串行I/O口
高速的8位单片机都可提供全双工串行I/O口,因而能和某些终端设备进行串行通信,或者和一些特殊功能的器件相连接。
(5)定时器/计数器
单片机在实际的应用中,往往需要精确地定时,或者需对外部事件进行计数,因而在单片机内部设置了定时器/计数器电路,通过中断控制,实现定时/计数的自动处理。
2. 单片机的特点
单片机独特的结构决定了它具有如下4个特点。
(1)高集成度,高可靠性
单片机将各个功能部件集成在一块晶体芯片上,集成度很高,体积非常小。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪声的能力优于一般通用的CPU。单片机程序指令、常数及表格等固化在ROM中,不易破坏,许多信号通道均在一个芯片内,故可靠性高。
(2)控制功能强
为了满足对对象的控制要求,单片机的指令系统具有分支转移能力、I/O口的逻辑操作及位处理能力,非常适合于专门的控制功能场合。
(3)低电压,低功耗
为了满足广泛使用的便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。
(4)优异的性能价格比
单片机的性能极高,为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。其寻址能力也已突破64KB的限制,有的已达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机应用广泛,因此销量极大,但各大公司的商业竞争使其价格十分低廉,性价比极高。
3. 单片机的应用
由于单片机技术的飞速发展,它的应用范围日益广泛,已远远超出了计算机科学的领域。小到玩具、信用卡,大到航天器、机器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活,到处都离不开单片机。其主要的应用领域如下。
(1)在测控系统中的应用
单片机可以用于构成各种工业控制系统、自适应控制系统和数据采集系统等,如工业上的锅炉控制、电机控制、车辆检测系统、水闸自动控制、数控机床及军事上的雷达、导弹系统等。
(2)在智能化仪器仪表中的应用
单片机应用于仪器仪表设备中促使仪器仪表向数字化、智能化、多功能化、综合化等方向发展。单片机的软件编程技术使长期以来测量仪表中的误差得以修正,线性化处理等难题也迎刃而解。
(3)在机电一体化中的使用
单片机与传统的机械产品结合,能使传统的机械产品结构更加简化,控制更加智能化,形成新一代的机电一体化产品。这是机械工业未来的发展方向。
(4)在智能接口中的应用
在计算机系统特别是较大型的工业测控系统中,采用单片机进行接口的控制管理,单片机与主机并行工作,可大大提高系统的运行速度。例如,在大型数据采集系统中用单片机对模/数转换接口进行控制,不仅可提高采集速度,还可以对数据进行预处理,如数字滤波、误差修正、线性化处理等。
(5)在人类生活中的应用
单片机由于价格低、体积小,被广泛应用于人类生活的很多场合,如洗衣机、电冰箱、空调器、电饭煲、视听音响设备、大屏幕显示系统、电子玩具、信用卡以及楼宇防盗系统等。单片机将使人类的生活更加方便舒适和丰富多彩。
4.1.3 单片机的历史与发展
1. 单片机的发展概况
单片机的历史并不长,它的产生与发展和微处理器的产生与发展大体上是同步的。
1970年微型计算机研制成功后,美国Intel公司随即在1971年生产出了4位单片机4004,它的特点是结构简单,功能单一,控制能力较弱,但价格低廉。1976年,Intel公司推出了MCS-48系列单片机,它以体积小、功能全、价格低等特点得到了广泛的应用,它标志着单片机发展进程中一个重要阶段,可谓是第一代单片机。
在MCS-48系列单片机的基础上,Intel公司在20世纪80年代初推出了第二代单片机的代表:MCS-51系列单片机。这一代单片机的主要技术特征是为单片机配置了完美的外部并行总线和串行通信接口,规范了特殊功能寄存器的控制模式,以及为增强控制功能而强化布尔处理系统和相关的指令系统,为发展具有良好兼容性的新一代单片机奠定了良好的基础。
近几年出现的许多具有新特点的单片机可称之为第三代单片机。它以新一代的80C51系列单片机为代表。同时16位单片机也有较大发展。
尽管单片机的品种繁多,但其中最具典型的仍当属Intel公司的MCS-51系列单片机。它的功能强大,兼容性强,软硬件资料丰富。国内也以此系列的单片机应用最为广泛。直到现在,MCS-51仍然是单片机中的主流机型。在今后相当长的时间内,单片机应用领域中的8位机的主流地位还不会改变。
2. 单片机的主要技术发展方向
纵观单片机这二十多年来的发展过程,再结合半导体集成电路技术和微电子设计技术的发展趋势,可以预见,未来单片机将朝着大容量高性能化、小容量低价格化、外围电路的内装化以及I/O接口功能的增强、功耗降低等方向发展。
(1)单片机的大容量化
单片机内存储器容量将进一步扩大。以往片内ROM为1KB~8KB,RAM为64B~256B。现在片内ROM可达40KB,片内RAM可达4KB,I/O也不再需外加扩展芯片。OTPROM、FLASHROM成为主流供应状态。而随着单片机程序空间的扩大,在空余空间可嵌入实时操作系统RTOS等软件。这将大大提高产品的开发效率和单片机的性能。
(2)单片机的高性能化
今后单片机内CPU的性能将进一步得到改善,如加快指令运算速度、提高系统控制的可靠性、加强位处理功能、中断与定时控制功能。并采用流水线结构,指令以队列形式出现在CPU中,因而具有很高的运算速度。有的甚至采用多流水线结构,其运算速度比标准的单片机高出10倍以上。
单片机的扩展方式从并行总线发展出各种串行总线,并被工业界接受,形成一些工业标准,如I2C总线、DDB总线、USB接口等。它们采用3条数据总线代替现行的8位数据总线,从而也减少了单片机引线,降低了成本。
(3)单片机的小容量低廉化
容量小、价格低廉的4位、8位机也是单片机的发展方向之一,其用途是把以往用数字逻辑电路组成的控制电路单片化。专用型的单片机将得到更大发展。使用专用单片机可最大限度地简化系统结构,提高可靠性,最大化资源利用率。当大批量使用时,有着可观的经济效益。
(4)单片机外围电路的内装化
随着单片机集成程度的提高,可以把众多的外围功能器件集成到单片机内。除了CPU、ROM、RAM外,还可把A/D转换器、D/A转换器、DMA控制器、声音发生器、监视定时器、液晶驱动电路以及锁相电路等一并集成在芯片内。为了减少外部的驱动芯片,进一步增强单片机的并行驱动能力,有的单片机可直接输出大电流和高电压,以便于直接驱动显示器。为了进一步加快I/O口的传输速度,有的单片机还设置了高速I/O口,这种I/O口可用最快的速度触动外部设备,也可用最快的速度响应外部事件。
(5)单片机将实现全面的低功耗管理
单片机的全盘CMOS化,将给单片机技术发展带来广阔的天地。最显著的变革是本身低功耗和低功耗管理技术的飞速发展。低功耗技术会提高单片机的可靠性,降低其工作电压,使抗噪声和抗干扰等各方面性能都得到全面提高。这也是一切电子系统所追求的目标。