1.1微机的产生与发展
1.1.1 微机的发展
微型计算机自出现以来,便以其集成度高、功能强、体积小、功耗低、价格廉、灵活方便等一系列优点,广泛应用于国防、航空航天、海洋、地质、气候、教育、经济、日常生活的各个领域,并发挥着巨大的作用。自第一台微型计算机MCS-4诞生后,一直到现在,微型计算机的发展非常迅速,对于微型计算机的发展,一般以字长和典型的微处理器芯片作为划分标志,将微型计算机的发展划分为五个阶段。
第一个阶段(1971年~1973年)主要是字长为4位的微型机和字长为8位的低档微型机。这一阶段的典型微处理器有:世界上第一个微处理器芯片4004,以及随后的改进版4040,它们都是字长为4 位的。在随后的第二年,Intel又研制出了字长为8位的处理器芯片8008,集成度和性能都有所提高。第一代微型机就采用了PMOS工艺,基本指令时间约为10~20μS,字长为4位或8位,指令系统比较简单,运算功能较差,速度较慢,系统结构仍然停留在台式计算机的水平上,软件主要采用机器语言或简单的汇编语言,其价格低廉。
第二个阶段(1974年~1978年)主要是字长为8位的中、高档微型机。这一阶段典型的微处理器芯片有:Intel公司的I8080、I8085,Motorola公司的M6800等。第二代微型机的特点是采用NMOS工艺,集成度提高1~4倍,运算速度提高10~15倍,基本指令执行时间约为1~2μS,指令系统比较完善,已经具有典型的计算机系统结构以及中断DMA等控制功能,寻址能力也有所增强,软件除采用汇编语言外,还配有BASIC、FORTRAN、PL/M等高级语言及其相应的解释程序和编译程序,并在后期开始配上操作系统。
第三个阶段(1979年~1985年)主要是字长为16位的微型机。这一阶段典型的微处理器芯片有:Intel公司的8086/8088/80286,Motorola公司的M68000等。第三代微型机的特点是采用HMOS工艺,基本指令时间约为0.05μS,从各个性能指标评价,都比第二代微型机提高了一个数量级,已经达到或者超过中、低档小型机的水平。这类16位微型机通常都具有丰富的指令系统,采用多级中断系统、多重寻址方式、多种数据处理形式、段式寄存器结构、乘除计算硬件,电路功能大为增强,并都配备了强有力的系统软件。
第四个阶段(1986年~2000年)主要是字长为32位的微型机。这一阶段典型微处理器芯片有:Intel公司的80386/486/Pentium/Pentium II/Pentium III /Pentium IV 等。以80386为例,其集成度达到27.5万晶体管片,每秒钟可完成500万条指令,工作主频达到25MHz,有32位数据线和24位地址线,以80386为CPU的COMPAQ 386、AST 386、IBM PS2/80等机种相继诞生。同时随着内存芯片的发展和硬盘技术的提高,出现了配置16MB内存和1000MB外存的微型机,微机已经成为超小机型,可执行多任务、多用户作业。由微型机组成的网络工作站相继出现,从而扩大了用户的应用范围。
第五个阶段(2000年以后)出现了字长为位的微处理器芯片。主要还是面向服务器和工作站等一些高端应用场合。如2000年Intel推出的微处理器Itanium(安腾),它采用全新指令架构IA-。而AMD公司的位微处理器Athlon 则仍沿用了x86指令体系,能够很好地兼容原来的IA-32结构的个人微机系统,具有一定的普及性。
随着微型计算机的发展,在每一个阶段,它在集成度、性能等方面都有非常大的提高,微型计算机在今后将会有更快、更惊人的发展。
1.1.2 微机的基本结构
首先介绍一下微处理器(Microprocessor)、微型计算机(Microcomputer,简称微机)和单片机(Single-Chip Microcomputer)的概念。
●微处理器是由一片或几片大规模集成电路组成的具有运算器和控制器的处理机部件,即CPU(Central Processing Unit)。微处理器本身不是计算机,但它是小型计算机或者微型计算机的控制和处理部分。
●微型计算机是指以微处理器为核心,加上由大规模集成电路制作的存储器、接口适配器(即输入/输出接口电路)以及系统总线所组成的计算机。
●单片机就是将微处理器、一定容量的RAM和ROM以及I/O接口、定时器等电路集成在一块芯片上,构成单片微型计算机。
计算机系统是一个复杂的工作系统,它由硬件系统和软件系统组成。所谓计算机的硬件系统,通俗地说就是构成计算机看得见摸得着的部件,即构成计算机的硬设备。例如:计算机的主机、显示器、键盘、磁盘驱动器等。软件系统包括系统软件和应用软件。微型计算机的硬件组成部分主要有微处理器(CPU)、存储器、I/O接口设备和系统总线。微机的基本结构如图1-1所示。
●微处理器(CPU):它由运算器、控制器和寄存器三大部分组成。
●存储器:主要是存储代码和运算数据。
●I/O设备:能把外部信息传送到计算机的设备叫输入设备。将计算机处理完的结果转换成人和设备都能识别的和接收的信息的设备叫输出设备。
●系统总线:连接各硬件部分的线路。第一组是用来传递数据信息的,叫数据总线简称DB(Data Bus);第二组是用来传递地址信息的,叫地址总线简称AB(Address Bus);第三组是专门用来传递控制信息的,叫控制总线简称CB(Contol Bus)。
图1-1 微机的基本结构
1.1.3微处理器的基本组成
微处理器包括三大部分:运算器、控制器和寄存器。
1.运算器
运算器由运算部件——算术逻辑单元(ALU)、累加器和寄存器等几部分组成。ALU的作用是把传送到微处理器的数据进行算术或逻辑运算。ALU具有两个主要的输入来源:一个来自累加器,另一个来自数据寄存器。ALU执行不同的运算操作是由不同控制线上的信号所确定的。通常,ALU接收来自累加器和数据寄存器的两个8位二进制数,因为要对这些数据进行某些操作,所以将这两个输入的数据均称为操作数。
ALU可对两个操作数进行加、减、与、或和大小等操作,最后将结果存入累加器。例如,两个数4和6相加,在相加之前,操作数6放在累加器中,4放在数据寄存器中,执行两数相加的运算的控制线发出“加”操作信号,ALU即把两个数相加,并把所得结果10存入累加器,取代累加器原来存放的数6。总之,运算器有两个主要功能:
●执行各种算术运算;
●执行各种逻辑运算,并进行逻辑测试。
通常,一个算术操作产生一个运算结果,而一个逻辑操作产生一个判决。
2.控制器
控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的部分,即协调和指挥整个计算机系统的操作,控制器的主要功能有:
●从内存中取出一条指令,并指出下一条指令在内存中的位置;
●对指令进行译码或测试,并产生相应的操作控制信号,以便执行规定的动作,比如一次内存读/写操作、一个算术/逻辑运算操作或一个输入/输出操作等;
●指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。
相对控制器而言,运算器接收控制器的命令而进行操作,即运算器所执行的全部操作都是由控制器发出的控制信号来指挥的。
3.CPU中的主要寄存器
●累加器(A):累加器是微处理器中最忙碌的寄存器。在算术和逻辑运算时,它具有双重功能:运算前,用于保存一个操作数;运算后,用于保存所得的运算结果。
●数据寄存器(DR):数据寄存器是通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。
●指令寄存器(IR)及指令译码器(ID):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器中,然后再传送到指令寄存器。指令分为操作码和地址码字段,由二进制数字组成。为执行给定的指令,必须对操作码进行译码,以便确定所要求的操作。指令译码器就是负责这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
●程序计数器(PC):为了保证程序能够连续地执行下去,CPU必须采取一些手段来确定下一条指令的地址。程序计数器就是起到了这种作用,所以通常也称其为指令地址计数器。
●地址寄存器(AR):地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存和CPU之间存在着速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。
ALU、计数器、寄存器和控制器除在微处理器内通过内部总线相互联系外,还通过外部总线与外部存储器和I/O接口电路联系。外部总线一般分为数据总线DB、地址总线AB和控制总线CB,统称为系统总线。存储器包括RAM和ROM。微型计算机通过I/O接口电路可与各种外围设备连接。
1.2常用单片机系列介绍
目前,市场上的单片机种类很多,不同厂商均推出很多不同侧重功能的单片机类型。下面是主流单片机简介:
1.8051单片机
最早由Intel公司推出的8051类单片机也是世界上用量最大的几种单片机之一。由于Intel公司在嵌入式应用方面将重点放在286、386、奔腾等与PC类的高档芯片的开发上,8051单片机主要由Philips、Dallas、Siemens、Atmel、华邦、LG等公司接手生产。这些公司都以MCS-51中的基础结构8051为基准推出了许多各具特色、具有优异性能的单片机。这样,把这些厂家以8051为基准推出的各种型号的兼容型单片机统称为51系列单片机。Intel公司MCS-51系列单片机中的8051是其中最基础的单片机型号。图1-2是Intel公司主要单片机系列介绍。
图1-2 Intel主要单片机系列
2.ATMEL单片机
ATMEL公司的90系列单片机是增强型RISC内载Flash的单片机,通常为AVR单片机。AVR单片机是ATMEL公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1MIPS/MHz),克服了如8051 MCU采用单一ACC进行处理造成的瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软/硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。
3.Microship单片机
PIC单片机系列是美国微芯公司(Microship)的产品,是当前市场份额增长最快的单片机之一。CPU采用RISC结构,分别有33、35、5指令(视单片机的级别而定),属精简指令集。而51系列有111条指令,AVR单片机有11指令,都比前者复杂。采用Harvard双总线结构,运行速度快(指令周期约160~200ns),它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期(个别除外),这也是高效率运行的原因之一。此外,它还具有低工作电压、低功耗、驱动能力强等特点。
4.Motorola单片机
Motorola是世界上最大的单片机厂商。从M6800开始,开发了广泛的品种,4位、8位、16位和32位的单片机都能生产, Motorola单片机的特点之一是在同样单片机种类的速度下所用的时钟频率较Intel类单片机低得多,因而使得高频噪声低,抗干扰能力强,更适合于工控领域及恶劣的环境。
5.Micon单片机
工业级OTP单片机,Micon公司生产,与PIC单片机管脚完全一致,海尔集团的电冰箱控制器,TCL通信产品,长安奥拓铃木小轿车功率分配器就采用这种单片机。
6.Scenix单片机
Scenix公司推出的8位RISC结构SX系列单片机与Intel的Pentium II等一起被评选为1998年世界十大处理器。在技术上有其独到之处:SX系列双时钟设置,指令运行速度可达50/75/100MIPS(每秒执行百万条指令,Million Instruction Per Second);具有虚拟外设功能,柔性化I/O端口,所有的I/O端口都可单独编程设定,公司提供各种I/O的库函数,用于实现各种I/O模块的功能,如多路UART、多路A/D、PWM、SPI、DTMF、FS、LCD驱动等等。采用EEPROM/Flash程序存储器,可以实现在线系统编程。通过计算机RS232C接口,采用专用串行电缆即可对目标系统进行在线实时仿真。
7.华邦单片机
华邦公司的W77、W78系列8位单片机的脚位和指令集与8051兼容,但每个指令周期只需要4个时钟周期,速度提高了三倍,工作频率最高可达40MHz。同时增加了WatchDog Timer、6组外部中断源、2组UART、2组Data pointer以及Wait state control pin。W741系列的4位单片机带液晶驱动、在线烧录、保密性高、低操作电压(1.2V~1.8V)等特点。
8.freescale单片机
飞思卡尔S12和S12X微控制器可以为汽车和工业应用提供高性能的16位控制功能。S12X微控制器具有创新的XGATE模块,无需CPU干预即可处理中断事件。这让S12X控制器具备了通常在32位控制器上才有的高性能处理能力。16位产品组合也包括一大系列的数字信号控制器(DSC),将微控制器功能与DSP性能合二为一。它们特别适合先进的电机控制应用。
9.TI单片机
德州仪器 (TI) 超低功耗混合信号微处理器的 MSP430™ 16 位单片机,为各种低功耗和便携式应用提供了最终解决方案。同时德州仪器为 MSP430 16 位 MCU 提供强大的设计支持,其中包括技术文档、培训、工具以及软件等。
1.3 单片机的发展及应用领域
1.3.1 单片机的发展
单片机也被称为微控制器(Micro Controller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。Intel的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是4位或8位的,其中最成功的是Intel的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031基础上发展出了MCS51系列单片机系统,基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品的快速发展,单片机技术得到巨大提高。随着Intel I960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1~2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作,单片机的数量不仅远超过PC机和其他计算机的总和,甚至比人类的数量还要多。
单片机的发展历史并不长,它诞生于1971年,经历了SCM、MCU、SoC三大阶段:
●SCM (Single Chip Microcomputer) (单片微型计算机)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。"创新模式"获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系立发展道路上,Intel公司功不可没。
●MCU (Micro Controller Unit)(微控制器)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,发展对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此发展MCU的重任不可避免地落在电气、电子技术厂家肩上。在发展MCU方面,最著名的厂家当数Philips公司,Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。
●SoC (System on Chip)(片上系统)阶段,单片机是嵌入式系统的发展之路。向MCU阶段发展的重要推动力,就是寻求应用系统在芯片上的最大化解决,因此,单片专用机的发展自然形成了SoC化趋势。使用SoC技术设计系统的核心思想,就是要把整个应用电子系统全部集成在一个芯片中。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
1.3.2单片机的特点
单片机技术的发展已经由初期逐渐走向成熟。一方面,性能高和数据处理能力更强的16位机、32位机发展迅猛;另一方面,8位单片机的应用范围仍然很广,8位单片机也不断采用新技术、新工艺,出现了大量性价比高的产品。其特点主要表现在以下几个方面:
1.高集成度,体积小,高可靠性。单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令、常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。
2.控制功能强。为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件,分支转移能力,I/O口的逻辑操作以及位处理能力,非常适用于专门的控制功能。
3.低电压,低功耗,便于生产便携式产品。为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。
4.易扩展。片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。
5.优异的性能价格比。单片机的性能极高,为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破KB的,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。
1.3.3单片机的应用领域
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗器械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴:
1.在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。
2.在工业控制中的应用
单片机I/O线多,位指令丰富,逻辑操作能力强,特别适用于实时控制,既可以作单机控制,又可以作多级控制的前沿处理机,应用领域相当广。用单片机可以构成形式多样的控制系统、数据采集系统,例如工厂流水线的智能化管理、电梯智能化控制、各种报警系统、与计算机联网构成二级控制系统等。
3.在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材,再到电子秤量设备,五花八门,无所不在。
4.在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信,再到日常工作中随处可见的移动电话、集群移动通信、无线电对讲机等。
5.单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
此外,单片机在工商、金融、科研、教育、国防航空航天等领域都有着十分广泛的用途。综上所述,单片机已经成为计算机发展和应用的一个重要方面。此外,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已经能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次。