微控制器

单芯片微型计算机
展开 2个同名词条
收藏
0 有用+1
0
微控制器是将 微型计算机 的主要部分集成在一个芯片上的 单芯片 微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如 电机控制 条码阅读器 / 扫描器 、消费类电子、 游戏设备 、电话、 HVAC 、楼宇安全与 门禁控制 工业控制 与自动化和 白色家电 (洗衣机、 微波炉 )等。
中文名
微控制器
外文名
Microcontroller Unit
诞生于
20世纪70年代中期
作 者
(印度)卡莫(Kamal.R.)

发展历程

Intel公司作为最早推出 微处理器 的公司,同样也是最早推出微控制器的公司。继1976年推出MCS-48后,又于1980年推出了MCS-51,为发展具有良好 兼容性 的新一代微控制器奠定了良好的基础。在8051技术实现开放后,Philips、Atmel、Dallas和Siemens等公司纷纷推出了基于80C5l内核(805l的CMC)S版本)的微控制器。这些各具特色的产品能够满足大量嵌入式应用需求。基于80C51内核的微控制器并没有停止发展的脚步,例如现在Maxim/Dallas公司提供的DS89C430系列微控制器,其单周期指令速度已经提高到了805l的12倍。
基于CISC架构的微控制器除了80C51外,还包括Motorola提供的68HC系列微控制器,这也是大量应用的8位微控制器系列。
基于RISC架构的微控制器则包括Microchip的PIC系列8位微控制器等。在16位RISC架构的微控制器中,Maxim公司推出的MAXQ系列微控制器以其高性能、低功耗和卓越的代码执行效率,成为许多需要高精度混合信号处理以及便携式系统和电池 供电系统 的理想选择。

分类

微控制器(Microcontroller Unit,即 MCU )可从不同方面进行分类:根据 数据总线宽度 可分为8位、16位和32位机;根据 存储器结构 可分为Harvard结构和Von Neumann结构;根据内嵌程序存储器的类别可分为 OTP 掩膜 EPROM / EEPROM 和闪存 Flash ;根据指令结构又可分为 CISC (Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。

内核

迄今为止,MCS-51已成为8位机中运行最慢的系列。现在Dallas推出的 DS 89C430 系列产品 在保持与80C51引脚和指令集兼容的基础上,每个 机器周期 仅为一个时钟,实现了8051系列的最高 吞吐率 。一般而言,对于现有的基于8051的应用软件可以直接写入DS89C430而无需进行更改。除此之外,DS89C430还在许多其他方面引入了新的功能,从而为具体应用提供了更多灵活性。下面介绍DS89C430不同于8051的功能和特点。
片内 程序存储器 及应用
片内程序存储器逻辑上分为成对的8 KB、16 KB或32 KB闪存单元,以支持在应用编程。这允许器件在应用软件的控制下修改程序存储器,应用系统能够在执行其主要功能的情况下,完成在线 软件升级 。DS89C430集成了64 B加密阵列,允许用户以加密形式查看数据,进行程序代码校验。
器件支持通过 RS-232 串口实现在 系统编程 。在系统编程通过将器件的一个或多个外部引脚设置为某特定状态来激活引导加载程序。器件启动后,开始执行驻留于器件内部专用 ROM 的加载程序。一旦收到一个回车符号,串口就执行自动 波特率 功能,并与主机的波特率同步。如图1所示是在系统编程的 物理连接 .简单的引导加载 程序接口 允许使用几种方法来实现PC机与目标微控制
器间的通信。最简单的方法是使用Dallas的微控制器 工具包 (MTK)软件.它具有高度前端特征,简化了目标配置,上传、下载代码以及 特殊功能 配置等任务操作。
双数据指针
8051微控制器是通过MOVX指令来访问片外 数据空间 的,用MOVX@DPTR指令可访问整个64 KB的片外数据存储器。传统的8051只有一个数据指针DPTR,要将数据从一个地址移到另一个地址非常麻烦。DS89C430则具备双数据指针DPTR0和DPTRl,因此软件可以使用一个指针装载源地址,另一个指针装载目的地址。DPTR0的SFR地址与805l相同(82H和83H),因此使用该指针时 源代码 无需更改,DPTRl位于84H和85H地址。所有与数据指针相关的操作都使用活动数据指针,活动指针通过控制位SEL选择。每个指针还各有
一个控制位,决定INCDPTR操作是递增还是递减数据指针值。
在拷贝 数据块 时,与使用单数据指针相比,双数据指针可以节省大量代码。用户通过转换SEL位来转换活动数据指针,其中一种方法可通过执行INCDPS指令来实现。对于这些大的数据块拷贝,用户必须频繁执行该指令来转换DPTR0和DPTRl。为了在节省代码的同时提高 运行速度 和效率,DS89C430又包含了一个转换选择位 (TSL),来确定执行MOVX指令时硬件是否自动转换SEL位,这样就可以省去INCDPS指令并进一步提高运行速度。
大的数据块拷贝需要源指针和目的指针逐字节寻址数据空间,传统的方法是通过使用INCDPTR指令来增加数据指针。为了进一步提高 数据传输速率 ,引入了自动增减控制位(AID),用以确定执行MOVX指令时,是否会自动增减活动指针值。表l为各种情况下DS80C320和DS89C430进行64B数据块传输时的速度比较。从表l中可以看出,采用双数据指针后运行速度得到极大提高。
电源管理和时钟分频控制
CMOS电路 的功耗主要由两部分组成:连续漏电流造成的 静态功耗 以及对 负载电容 进行充放电所需的 转换开关 电流造成的 动态功耗 。其中,动态功耗是总体功耗的主要部分,该功耗(PD)可以通过负载电容(CL)、电源电压( VDD )和 工作频率 (f)进行计算,即:PD=CL×VDD2×f。
对于某具体应用,电容和电源电压相对固定,而处理器的处理速度在不同时刻可能是不同的,因此工作频率可以根据不同需要进行调整,从而在不影响 系统性能 的前提下达到降低功耗的要求。
DS89C430支持三种低功耗节电模式。
系统时钟 分频 控制:允许微控制器使用内部分频的 时钟源 继续工作,以节省功耗。通过软件设置时钟分频控制位,设置工作速率为每机器周期1024个 振荡器 周期.
②空闲模式:以静态方式保持 程序计数器 ,并挂起处理器。在此模式中,处理器不取指令也不 执行指令 。除了外围接口时钟保持为活动状态以及 定时器 看门狗 、串口和电源监视功能仍然工作外,所有的资源均保存。处理器能够使用允许的中断源退出空闲模式。
③停机模式:禁止处理器内部的所有电路。所有片内时钟、定时器和 串口通信 都停止运行,处理器不执行任何指令。通过使用六个 外部中断 中的任何一个,处理器都能够退出停机模式。

架构

MAXQ2000微控制器是Maxino/Dallas公司推出的一款基于RISC架构的16位微控制器。理解这款微控制器的一些结构特点,可以使我们更好地理解RISC结构微控制器的最新 发展趋势 和技术特点,从而为我们构建新型系统提供更加理想的选择。MAXQ2000的指令读取和执行操作在一个周期内完成,而没有流水线操作,这是因为指令既包含了 操作码 也包括了数据。字母Q表示这款微控制器的一个重要特点便是“安静”,MAXQ架构通过智能化的时钟管理来降低噪声.这意味着MAXQ只向那些需要使用时钟的电路提供时钟,这样既降低了功耗,又为 模拟电路 的整合提供了一个最安静的环境。它包含 液晶显示 LCD )接口,最多可以驱动100或132段(两种版本)。这款微控制器的功耗指标和MIPS/MHz代码效率方面都在同类微控制器当中遥遥领先.下面介绍MAXQ2000的主要特性。

指令集

指令集 由23条对 寄存器 存储器 进行操作的固定长度的16位指令组成。指令集高度正交,允许算术和 逻辑操作 使用 累加器 和任何寄存器。 特殊功能寄存器 控制外围设备,并细分成寄存器模块。 产品系列 的结构是模块化的,因此新的器件和模块能够继续使用为现有 产品开发 的代码.该结构是基于传送触发的,这意味着对某一寄存器位置的读或写会产生额外作用。这些额外作用构成了由 汇编器 定义的高层操作码的基础,如ADDC、OR和JUMP等。

存储器

MAXQ2000具有32KB闪存、lKBRAM、4KB的内部ROM存储器块和16级 堆栈 存储器。存储器缺省配置成Harvard结构,程序和数据存储器具有独立的 地址空间 ,还可以使能为Vorl Ncumann存储器配置模式,即将固定用途ROM、代码和数据存储器放置到一个连续的 存储器映射 中.这适合于需要进行动态程序修改或特殊存储器配置的应用。闪存程序存储器可以通过16字密钥进行 密码保护 ,从而防止未授权者访问程序存储器。同时,还具有3个数据指针,支持高效快速地 处理数据
固定用途ROM由可以在应用软件中进行调用的 子程序 组成(缺省起始地址为8000H).包括:通过 JTAG UART 接口进行在系统编程(引导加载程序);在电路 调试程序 测试程序 内部存储器 测试,存储器加载等);用于在应用闪存编程和快速 查找表 的用户可调用程序。无论以任何方式复位,都从固定用途ROM开始运行程序。R。M软件决定程序立刻跳转到8000H位置、用户应用代码的起始位置、还是上面提到的某特定用途子程序.用户可访问固定用途ROM中的程序,并且可以由应用软件调用这些程序。

寄存器组

器件的大多数功能是由 寄存器组 来控制的。这些寄存器为存储器操作提供 工作空间 ,并配置和寻址器件上的外设寄存器。寄存器分成两大类:系统寄存器和外设寄存器.公共寄存器组也称作系统寄存器,包括ALU、累加器寄存器、 数据指针 堆栈指针 等。外设寄存器定义了可能包含在基于MAXQ架构的不同产品中的 附加功能

电源管理

MAXQ2000同样提供了先进的 电源管理 功能,根据系统不同时刻的不同 性能需求 ,可以动态设置 处理速度 ,从而大大降 低功耗 。通过软件选择分频功能,来 选择系统 时钟周期 是l、2、4或者8个振蔼周期。为进一步降低功耗,还有另外三种低功耗模式,256分频、32 kH。和停机模式。

中断

提供多个 中断源 ,可对内部和外部事件 快速响应 。MAXQ结构采用了单一 中断向量 (IV)和单一 中断服务程序 (ISR)设计。必须在用户中断程序内清除中断标志,以避免由同一中断源引发重复中断。当检测到 使能 的中断时,软件跳转到一个用户可编程的中断向量位置。
一旦软件 控制权 转移到ISR,可以使用中断识别寄存器(IIR)来判定中断源是系统寄存器还是外设寄存器。然后,就可以查询特定模块以确定具体中断源,并采取相应的操作。由于中断源是由 用户软件 识别的,因此用户可以为每种应用确立一个独特的 中断优先级 方案。

硬件乘法器

集成的 硬件乘法器 模块执行高速乘法、 乘方 和累加操作,并能在一个周期内完成一个16位×16位乘法和累加操作。硬件乘法器由2个]6位并行加载 操作数 寄存器( MA MB )和1个累加器组成。加载寄存器能够 自动启动 操作,从而节省了重复计算的时间。硬件乘法器的累加功能是 数字滤波 信号处理 以及PII)控制系统中的一个基奉单元,这使得MAXQ2000可以胜任需要大量数学运算的应用。

体系结构

哈佛结构是一种将程序指令存储和 数据存储 分开的存储器结构。 中央处理器 首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。
哈佛结构的微处理器通常具有较高的执行效率。其程序指令和 数据指令 分开组织和存储的,执行时可以预先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有 摩托罗拉 公司的MC68系列、 Zilog 公司的Z8系列、 ATMEL公司 的AVR系列和安谋公司的 ARM 9、ARM10和 ARM11 ,51 单片机 也属于哈佛结构。
诺伊曼结构
冯·诺伊曼 结构也称 普林斯顿结构 ,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如 英特尔 公司的8086中央处理器的程序指令和数据都是16位宽。
目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、 MIPS公司 MIPS处理器 也采用了冯·诺伊曼结构。

发展前景

通过以上两种基于CISC.和RISC架构的微控制器的对比分析,会发现许多共同的特性,如 安全特性 、外围设备、电源管理和在系统编程等。显然.它们都是适应具体应用的共性要求而增加的功能。两者最大的不同是指令结构的差异。MCS一5l有50条基本指令,若累计各种不同 寻址方式 ,指令共计lll条,对应的 机器指令 有单字节、双字节和三字节指令~68H(:05有62条基本指令,加上多种寻址方式,最终指令达210条,也分为单字节、双字节和三字节指令。比较而言,RIS(:微控制器的所有指令是由一些简单、等长度的指令构成.精简指令使微控制器的线路可以尽量优化,硬件结构更加简单,从而可以实现较低的成本和功耗,当然完成相同的工作可能需要更多的指令。所以,二者取舍之间没有 绝对优势 ,只能说根据应用的不同需求和侧重来进行选择。
微处理器 是20世纪伟大的技术创新之一,由此而衍生的微控制器将微处理器和外设集于一身,为多种应用开创了新局面,并将继续发挥不可替代的作用。