机械

微控制器

单芯片微型计算机

中文名:微控制器 外文名: 用途: 英文名:Microcontroller Unit 诞生于:20世纪70年代中期 作者:(印度)卡莫(Kamal.R.)
微控制器介绍
微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。[1]

分类

微控制器可从不同方面进行分类:根据数据总线宽度可分为8位、16位和32位机。根据存储器结构可分为Harvard结构和Von Neumann结构;根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和闪存Flash;根据指令结构又可分为CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。本文将结合不同指令结构微控制器的发展及其特性进行论述。

发展历程

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系列微控制器,这也是大量应用的微控制器系列。

基于RISC架构的微控制器则包括Microchip的PIC系列8位微控制器等。在16位RISC架构的微控制器中,Maxim公司推出的MAXQ系列微控制器以其高性能、低功耗和卓越的代码执行效率,成为许多需要高精度混合信号处理以及便携式系统和电池供电系统的理想选择。

迄今为止,MCS-51已成为8位机中运行最慢的系列。现在Dallas推出的DS89C430系列产品在保持与80C51引脚和指令集兼容的基础上,每个机器周期仅为一个时钟,实现了8051系列的最高吞吐率。一般而言,对于现有的基于8051的应用软件可以直接写入DS89C430而无需进行更改。除此之外,DS89C430还在许多其他方面引入了新的功能,从而为具体应用提供了更多灵活性。下面介绍DS89C430不同于8051的功能和特点。

内核

基于8051内核的CISC微控制器,迄今为止,MCS-51已成为8位机中运行最慢的系列。现在Dallas推出的DS89C430系列产品在保持与80C51引脚和指令集兼容的基础上,每个机器周期仅为一个时钟,实现了8051系列的最高吞吐率。一般而言,对于现有的基于8051的应用软件可以直接写入DS89C430而无需进行更改。除此之外,DS89C430还在许多其他方面引入了新的功能,从而为具体应用提供了更多灵活性。下面介绍DS89C430不同于8051的功能和特点。

片内程序存储器及应用

片内程序存储器逻辑上分为成对的8KB、16KB或32KB闪存单元,以支持在应用编程。这允许器件在应用软件的控制下修改程序存储器,应用系统能够在执行其主要功能的情况下,完成在线软件升级。DS89C430集成了64B加密阵列,允许用户以加密形式查看数据,进行程序代码校验。

器件支持通过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。

对于某具体应用,电容和电源电压相对固定,而处理器的处理速度在不同时刻可能是不同的,因此工作频率可以根据不同需要进行调整,从而在不影响系统性能的前提下达到降低功耗的要求。

体系

哈佛结构

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。

哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11,51单片机也属于哈佛结构。

诺伊曼结构

冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。

目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺伊曼结构。

相关资讯
内容声明

1、本网站为开放性注册平台,以上所有展示信息均由会员自行提供,内容的真实性、准确性和合法性均由发布会员负责,本网站对此不承担任何法律责任。

2、网站信息如涉嫌违反相关法律规定或侵权,请发邮件至599385753@qq.com删除。

Copyright © 趣爱秀