MCU Microcontroller(微控制器)又可简称MCU 或μ C,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM、RAM、 CPU、I/O 集合在同一个芯片中,为不同的应用场合做不同组合控制.微控制器在经过这几年不断地研究,发展,历经4 位,8 位, 到现在的16 位及32 位,甚至64 位.经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。
在MCU 开发方面,以架构而言,可分为两大主流;RISC(如HOLTEK HT48XXX 系列)与CISC(如华邦W78 系列).
RISC (Reduced Instruction Set Computer) 代表MCU 的所有指令都是利用一些简单的指令组成的,简单的指令代表 MCU 的线路可以尽量做到化,而提高执行速率,相对的使得一个指令所需的时间减到最短。HOLTEK 的HT46XX(A/D MCU 系列) HT47XX(R to F MCU 系列) HT48XX(一般I/O MCU 系列) HT49XX(LCD MCU 系列) 便是采用 RISC 结构来设计。不管是 RISC 或是 CISC(Complex Instruction Set Computer),设计MCU 的目的便是为人类服务的,对于 RISC 来说,因为指令集的精简,所以许多工作都必须组合简单的指令,而针对较复杂组合的工作便需要由『编译程序』(compiler) 来执行,而 CISC MCU ,compiler 的工作因而减少许多。 以一个数值运算程序来说,使用 CISC 指令集的MCU 运算对于一个积分表达式可能只需要十个机器指令,而 RISC MCU 在执行相同的程序时,却因为CPU 本身不提供浮点数乘法的指令,所以可能需要执行上百个机器指令 (但每一个指令可能只需要 CISC 指令十分之一的时间),而由程序语言转换成机器指令的动作是由程序语言的 Compiler 来执行,所以在 RISC MCU 的Compiler 便会较复杂 。
因为同样一个语言 A=B*C 的运算,在 RISC MCU 转换为机器指令可能有许多种组合,而每一种组合的『时间/空间』组合都不尽相同。 所以 RISC 与 CISC 的取舍之间,似乎也是MCU 硬件架构与软件(Compiler) 的平衡之争,应该没有优势的一方,只能说因应不同的需求而有不同的产品,例如工作单纯的打印机核心 MCU,便适合使用效能稳定,但单位指令效率较佳的 RISC MCU. (MCU) 微控制器产品架构由早期以累积器为基础的CPU,演进至现今含精简指令(RISC)或同时含RISC、DSP如Motorola的68356, 也有如DEC 的SAIIC、与Hitachi 的SH-DSP 系列等之32 位嵌入式微控制器 ,每一系列产品又因应不同的应用与接口需求 ,衍生出不同规格的产品 。微控制器产品以特性做为区分的标准与市场统计的依据 ,区分为4 位 、8 位 、以及16/32 位等三大类 。各厂商依其不同功能组合 ,发展出系列性的微控制器产品 ,如NEC 供应PD75X 的4 位系列 ,Toshiba 供应47CXX 的4 位系列 、HOLTEK 供应HT48CXX 的8 位系列 、及Intel 之MCS-96 的16 位系列等。
(1)集成度高、体积小。
Mcu将CPU、存储器、I/O接口等各种功能部件集成在一块晶体芯片上,体积小,节省空间。能灵活,方便地应用于各种智能化的控制设备和仪器,实现机电一体化。
(2)可靠性高,抗干扰性强。
Mcu把各种功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了Mcu的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。
(3)低功耗。
许多Mcu的工作电压只有2~4伏特,电流几百微安,功耗很低,适用于便携式系统。
(4)控制功能强。
其CPU可以对I/O端口直接进行操作,可以进行位操作、分支转移操作, 还能方便地实现多机控制,使整个系统的控制效率大为提高,适用于专门的控制领域。
(5)可扩展性好。
Mcu具有灵活方便的外部扩展总线接口,使得当片内资源不够使用时可以非常方便地进行片外扩展。另外,现在Mcu具有越来越丰富的通信接口:如异步串行口SCI、同步串行口SPI、I2C、CAN总线、甚至有的Mcu还集成了USB接口或以太网接口,这些丰富的通信接口使得Mcu系统与外部计算机系统的通信变得非常容易。
(6)性价比高。
Mcu应用广泛,生产批量大,产品供应商的商业竞争使得Mcu产品的性能越来越强而价格低廉,有优异的性能价格比。
由于制程的改进,8 位MCU 与4 位MCU 价差相去无几,8 位已渐成为市场主流;针对4 位MCU,大部份供货商采接单生产,目前4 位MCU 大部份应用在计算器、车表、车用防盗装置、呼叫器、无线电话、CD Player、LCD 、LCD Game、儿童玩具、磅秤、充电器、胎压计、温湿度计、遥控器及傻瓜相机等;8 位MCU 大部份应用在电表、马达控制器、电动玩具机、变频式冷气机、呼叫器、传真机、来电辨识器(Caller ID)、电话录音机、CRT Display、键盘及USB 等; 16 位MCU 大部份应用在行动电话、数字相机及摄录放影机等;32 位MCU 大部份应用在Modem、GPS、PDA、HPC、 STB、Hub、Bridge、Router、工作站、ISDN 电话、激光打印机与彩色传真机;64 位MCU 大部份应用在高阶工作站、多媒体互动系统、电视游乐器(如SEGA 的Dreamcast 及Nintendo 的GameBoy)及终端机等。
这样的区别主要集中在硬件结构、应用领域和指令集特征3个方面:
1)硬件结构
微处理器是一个单芯片CPU,而微控制器则在一块集成电路芯片中集成了CPU和其他电路,构成了一个完整的微型计算机系统。图1-6虚线框中所示是大多数微控制器的完整结构。除了CPU,微控制器还包括RAM、ROM、一个串行接口、一个并行接口,计时器和中断调度电路。这些都集成在一块集成电路上。虽然片上RAM的容量比普通微型计算机系统还要小,但是这并未限制微控制器的使用。在后面可以了解到,微控制器的应用范围非常广泛。
微控制器的一个重要的特征是内建的中断系统。作为面向控制的设备,微控制器经常要实时响应外界的激励(中断)。微控制器必须执行快速上下文切换,挂起一个进程去执行另一个进程以响应一个“事件”。例如,打开微波炉的门就是一个事件,在基于微控制器的产品中这个事件将触发一个中断。微处理器也能拥有强大的中断功能,但是通常需要外部元件的配合,而微控制器在片上集成了所有处理中断必需的电路。
2)应用领域
微处理器通常作为微型计算机系统中的CPU使用。其设计正是针对这样的应用,这也是微处理器的优势所在。然而,微控制器通常用于面向控制的应用。其系统设计追求小型化,尽可能减少元器件数量。在过去,这些应用通常需要用数十个甚至数百个数字集成电路来实现。使用微控制器可以减少元器件的使用数量,只需一个微控制器、少量的外部元件和存储在ROM中的控制程序就能够实现同样的功能。微控制器适用于那些以极少的元件实现对输入/输出设备进行控制的场合,而微处理器适用于计算机系统中进行信息处理。
3)指令集特征
由于应用场合不同,微控制器和微处理器的指令集也有所不同。微处理器的指令集增强了处理功能,使其拥有强大的寻址模式和适于操作大规模数据的指令。微处理器的指令可以对半字节、字节、字,甚至双字进行操作。通过使用地址指针和地址偏移,微处理器提供了可以访问大批数据的寻址模式。自增和自减模式使得以字节、字或双字为单位访问数据变得非常容易。另外,微处理器还具有其他的特点,如用户程序中无法使用特权指 令等。
微控制器的指令集适用于输入/输出控制。许多输入/输出的接口是单/位的。例如,电磁铁控制着马达的开关,而电磁铁由一个1位的输出端口控制。微控制器具有设置和清除单位的指令,也能执行其他面向位的操作,如对“位”进行逻辑与、或和异或的运算,根据标志位跳转等。很少有微处理器具备这些强大的位操作能力,因为设计者在设计微处理器时,仅考虑以字节或更大的单位来操作数据。
在对设备的控制和监视方面(可能是通过一个1位的接口),微控制器具有专门的内部电路和指令用于输入/输出、计时和外部中断的优先权分配。微处理器一般需要配合附加的电路(串行接口芯片、中断控制器、定时器等)才能执行相同的任务。不过,单纯就处理能力而言,微控制器永远达不到微处理器的水平(在其他条件相同的情况下),因为微控制器芯片中的集成电路的很大一部分用于实现其他的片上功能,代价就是牺牲掉一部分处理能力。
由于微控制器芯片上的资源非常紧张,它的指令必须非常精简,大部分指令的长度都短于1个字节。控制程序的设计原则通常是要求程序能够装入片上的ROM,因为即使只增加1片外部ROM也将显着提高产品的硬件成本。微控制器指令集的基本特点就是具有精简的编码方案。微处理器不具备这样的特点,因为它们强大的寻址模式使得指令编码不够简洁。