关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > CISC和RISC微控制器

CISC和RISC微控制器

——
作者:时间:2006-10-27来源:CE china收藏
是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、与自动化和白色家电(洗衣机、微波炉)等。       

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

1 微控制器的发展历程       

Intel公司作为最早推出微处理器的公司,同样也是最早推出微控制器的公司。继1976年推出MCS-48后,又于1980年推出了MCS-51,为发展具有良好兼容性的新一代微控制器奠定了良好的基础。在8051技术实现开放后,Philips、Atmel、Dallas和Siemens等公司纷纷推出了基于80C5l内核(805l的CMC)S版本)的微控制器。这些各具特色的产品能够满足大量嵌入式应用需求。基于80C51内核的微控制器并没有停止发展的脚步,例如现在Maxim/Dallas公司提供的DS89C430系列微控制器,其单周期指令速度已经提高到了805l的12倍。       

基于C架构的微控制器除了80C51外,还包括Motorola提供的68HC系列微控制器,这也是大量应用的微控制器系列。       

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

2 基于8051内核的COSC微控制器       

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

2.1 片内程序存储器及应用        

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

器件支持通过RS-232串口实现在系统编程。在系统编程

通过将器件的一个或多个外部引脚设置为某特定状态来激活引导加载程序。器件启动后,开始执行驻留于器件内部专用ROM的加载程序。一旦收到一个回车符号,串口就执行自动波特率功能,并与主机的波特率同步。如图1所示是在系统编程的物理连接.简单的引导加载程序接口允许使用几种方法来实现PC机与目标微控制器间的通信。最简单的方法是使用Dallas的微控制器工具包(MTK)软件.它具有高度前端特征,简化了目标配置,上传、下载代码以及特殊功能配置等任务操作。  

在系统编程的物理连接


2.2 双数据指针       

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中可以看出,采用双数据指针后运行速度得到极大提高。  


2.3 电源管理和时钟分频控制       

CMOS电路的功耗主要由两部分组成:连续漏电流造成的静态功耗以及对负载电容进行充放电所需的转换开关电流造成的动态功耗。其中,动态功耗是总体功耗的主要部分,该功耗(PD)可以通过负载电容(CL)、电源电压(VDD)和工作频率(f)进行计算,即:PD=CL



评论


相关推荐

技术专区

关闭