联系方式  客服中心 会员中心 切换到繁體中文

 单片机技术培训基地
 | 网站首页 | 资讯 | 培训中心 | 技术文章 | 软件下载 | 产品展示 | 留言板 | 电子商城 | 供求信息 | 求职招聘 | 
您现在的位置: 华信单片机 > 培训中心 > 关于单片机 > 培训正文 用户登录 新用户注册
[组图]2006年微控制器五大趋势-核心篇         ★★★★ 【字体:
2006年微控制器五大趋势-核心篇
作者:郭长佑    培训来源:本站收集整理    点击数:    更新时间:2007-10-24    

   MCU追求的是「五脏俱全、短小精悍」,因此在小小一颗封装中就完整具备了处理器、存储器、外围I/O等功效,所以初期才会被人称为「单芯片」,意指过去同样的电路系统需倚赖多颗芯片的搭组才能实现。

 在单芯片中,以8051最为经典,至今仍是最普及、广泛使用的8-bit MCU架构(另一则是PIC架构或68HC05/08/11架构),不仅成功取代它的前一款芯片:8048,而且还成为今日各校「集成电路控制应用」课程的首选标准教案。

     尽管8051是20年来的经典,至今未有衰退的迹象,然而今日的8051 MCU已经与过去的8051大不相同,虽然主轴架构大致维持(如:脚位排列兼容、指令集兼容等),但随著半导体工艺的进步,许多业者都运用自己的技术为8051兼容芯片进行更多的强化,如此的强化不仅在外围I/O层面,也包括核心的处理器、存储器层面。

 因此,本文以下将针对今日8051兼容芯片的诸多革新进行了解,以期控制应用的设计者能熟悉与善用这些新特点,而非仅止于原有的基本型8051。

附注:最初的8051是用NMOS制程制造,之后才换用CMOS制程,为了让前后不同制程的产品容易区分,将使用新(CMOS)制程的改命为80C51,多加插一个C字母于其中,C即CMOS制程之意,CMOS制程的一大优点是比NMOS制程省电。

运作时脉的进步

 8051刚推出时的标准运作时脉为12MHz,若有使用内建的UART(Universal Asynchronous Receiver/Transmitter,泛用型非同步接收/传送器)外围功能则需改用11.059MHz。

 不过,更先进的半导体制程大幅加速了8051兼容MCU的运作时脉,例如Atmel的多款8051兼容MCU都有16/24/33/40MHz的时脉频率,其中最高更达60MHz,是过往的5倍速率。又如MAXIM/Dallas Semiconductor的DS80C320(亦是8051兼容芯片)可达33MHz。

 不仅如此,华邦电子(Winbond)的标准型8051兼容芯片皆有40MHz的水平,至于新进的8-bit MCU业者:Silicon Laboratories(简称:SiLabs)更是有达100MHz的8051兼容MCU(如C8051F120)。

 另外,Intel原厂也有高速型的MCS 51(即8051),时脉可达33MHz,或者鼓励替换成MCS 251(即80251,更早前还有80151),MCS 251能兼容执行8051程序指令,且比标准8051快上5倍,若能够以80251的新指令改写则更可快上15倍。


▲Atmel的AT89LP系列标榜Single Cycle(每个机器周期仅1个时脉)的执行特点,执行效能可达20 MIPS,并且具低功耗性的省电运作。(图片来源:Atmel.com)



机器周期的缩短

 标准8051是以每12个时脉周期(Clock Cycle)为1个机器周期(Machine Cycle),且8051所有的机制运作皆以1个机器周期作为基础循环,多数的8051指令会在1或2个机器周期内执行完毕,少数会用及3个机器周期。

附注:对于80年代首次发表的8051,今日多称为Standard 8051、Traditional 8051,Intel原厂亦以「Classic,古典、经典、典型」称之。


▲Dallas Semiconductor的DS89C430/440/450在执行效能上可达33 MIPS(传统8051为1 MIPS),每个机器周期仅1个时脉(传统8051为12个时脉),以及2个UART、2个DPTR(可自动递增或递减指位值),相对的传统8051仅1个UART、1个DPTR,且DPTR无法自动递增或递减。(图片来源:Maxim-ic.com)



 同样的,「每12个时脉周期为1个机器周期」是80年代的设计,今日的逻辑技术早已能超越此规限,例如Philips的8051兼容芯片:LPC700族系,便将机器周期缩短成6个时脉周期,这意味著在相同运作时脉下能够比传统标准8051快上一倍的执行效能,更何况如前所述,多数的8051兼容MCU早已突破12MHz的时脉频率,如此两种加速方式产生加乘效益,效能变成倍速提升。


▲指拨开关(DIP Switch)能够储存简易的组态设定,即便应用系统断电也依旧可以保存组态资料,图中为典型的4组式指拨开关,等同于可储存4-bit的组态信息。(图片来源:tonh.net)



 Philips只是其一,Winbond也相同,Winbond的Turbo-51系列及Enhanced-51系列等8051兼容MPU,皆是采「每4个时脉为1个机器周期,4clocks/machine cycle」,如此理论上可以比传统8051快上3倍,不过实际上的总体效能仍会低些,约2.5倍。然而Turbo-51系列的运作时脉可达25MHz,是传统8051的2倍有余,所以加乘效益将可达56倍的加速。

 再举一例,TI的MSC1210也是4clocks/machine cycle的设计,加上33MHz时脉频率,如此等同于让一颗8051以82.5MHz的速率在执行。此外,Dallas Semiconductor(今已属MAXIM)的DS80C320也相同,亦是4clocks/machine cycle、33MHz。

 更进一步的,Mentor Graphics的软式IP(矽智财):M8051 E-Warp可缩减至2clocks/machine cycle,Infineon的语音应用芯片:SDA80D51 UniSpeech就使用此一快速的8051核心并搭配一个16-bit DSP(称为Oak核心,技术来自DSP Group公司)。

 不过,缩至每周期2时脉并非已至极致,如今也能够达一时脉一周期的境界,如Atmel的AT89LP族系、SiLabs的所有8051兼容MCU、Dallas Semiconductor的DS89C430/440/450等,都已是一时脉一周期。

指令时间的缩短

 除了提升时脉频率、缩短每机器周期的时脉数之外,业者也从「缩短指令执行的时间」着手,将原本要耗用2个机器周期的指令缩短成1个,或将3个机器周期缩短成2个,甚或1个,最理想是将8051的111个指令统统整齐划一,皆在1个机器周期内执行完成。

 也因为缩短了指令的执行时间,使之前以简单整数倍换算的加乘加速效益不再全然适用,进而有另一个效能指标作为补充,即MIPS(Million Instructions Per Second,每秒能执行几个「百万次指令」),且有时会搭配运作时脉频率一起表示,如:5 MIPS with a 40MHz,或如:40 MIPS using an 80 MHz clock。

增加内部存储器资源

 传统8051的程序存储器(Program Memory,泛指ROM)有4KB,而传统8052(8051推出后的接续强化版)则有8KB。另外资料存储器(Data Memory,泛指RAM)方面8051有128Bytes,而8052一样加倍:256Bytes。


▲Winbond的W77LE532时序图,其每个机器周期为4个时脉,如此在相同的工作频率下也能比传统8051快上3倍效率。(图片来源:Winbond.com)

 无论是4KB或8KB,也无论是128B或256B,从今日撰写控制应用程序的角度观之,都是相当拘限的容量,因此各业者也积极强化8051的资料存储器资源。

 先拿Intel原厂来说,Intel提出了具有Expanded RAM的8xC51RA/RB/RC,RA具有8KB程序存储器,RB有16KB,RC则是32KB,比过去扩增了2、4倍容量,同时三者都有512B的资料存储器,也比过去再增一倍。

 接著来是Atmel,Atmel的AT83C51RD2、TS83C51RD2等在程序存储器上可至8051定址的满档极限:64KB,并具有1024Bytes的资料存储器,此外也有多款8051兼容MCU在资料存储器上大幅扩充,如AT89C51AC2可至1280Bytes(1KB+256B),AT89C51ED2可至2048Bytes,AT89C51AC3更可至2304Bytes(2KB+256B)。

 更有甚者,SiLabs的C8051F12x在ROM部份达到128KB,RAM部份达到8448B(8KB+256B),其它如Philips、Winbond的兼容8051 MCU亦都有所扩增。

 说明至此,有8051基础者必然疑惑?8051在RAM的定址上最高8-bit(256B),在ROM的定址上最高16-bit(64KB),何以有8KB RAM、128KB ROM的可能?

 其实这不难理解,先说明RAM的部份,由于8051也能使用外部资料存储器(类似MPU般的并列位址解码存取),但须使用MOVX的指令,且经常搭配DPTR(Data Pointer,资料指位器)暂存器一同运作,更明白的说,过去需透过外部定址、解码、存取的资料存储器,如今直接内建到MCU内,如此而已。事实上更详细的技术文件中就会注明此属On-Chip的XRAM(eXternal RAM),即在存取行为上属外部,但实体配置上却是在内。

 除了增加RAM容量外,依据过往的程序撰写经验,标准8051仅一组DRTR暂存器在实际运用时经常有不敷使用的情形,使撰写需要更多的资料搬移、暂存控制,所以新的8051兼容MCU多会再增一组DPTR,达2组DPTR。


▲ST的串行型EEPROM:M24512(I2C界面)、M95512(SPI界面),容量皆为512KB,工作电压1.8V,串行型EEPROM普遍用于各种嵌入式控制应用中。(图片来源:ST.com)


 同样的,ROM为何可以到128KB?其实是用8051本有的相同技巧,8051在通用暂存器(General Purpose Register,指R0R7)的使用上可以透过RS0、RS1的选择位元操控,而在4组暂存器库(Register Bank)间切换,相同的概念也可运用在ROM上,在特殊功能暂存器(Special Function Register;SFR)的区域中增设了一个PSBNK暂存器,并操控暂存器中的COBANK位元,就可以达到128KB的程序切换(在两组64KB间切换)。

内建EEPROM

 标准8051本身并没有内建EEPROM,但由于大多数的控制应用都需要储存一些组态资料,且在断电后仍要持留。关于此,如果只是少许的组态资料还可以用指拨关开(DIP Switch)解决,但资料一多时就需要用上EEPROM(并列型EEPROM逐渐减少,由Flash所替,今日多数的EEPROM皆属串行型)。

 所以,8051经常会再以外连方式来扩增EEPROM的储存资源,如此不仅要耗占8051的GPIO接脚,而且也要额外的程序撰写才能与EEPROM进行存取、操控。既然8051(或说8-bit MCU)的控制应用会经常用到EEPROM,也因此有业者改采内建方式提供,不仅内建,甚至也让存取更加方便,只要运用一般的8051指令即可读写EEPROM,并且在写入完成后发出中断通知,让控制程序师省去不少撰写心力。

 在此一样举实例,Atmel的AT89C5115、AT89C51AC2、AT89C51AC3、AT89C51ED2等兼容8051 MCU即有内建2KB的EEPROM,又如Philips的P89LPC938、P89LPC936、P89LPC935等亦内建512B,Winbond的W78E858也有128B,至于MAXIM/Dallas Semiconductor与SiLabs则尚无此种设计。

 至于ROM存储器的本质方面,过去标准8051用的是Mask ROM(8051)或EPROM(8751),如今Mask ROM依旧存在,但愈来愈多应用是改采OTP ROM(只可烧写一次的EPROM),以求取量产成本及修改弹性的均衡,此外也用Flash Memory(此时当称Flash ROM)的8951取代EPROM的8751,并追加在线烧录(In-System Programming;ISP)的机制,如此不仅设计开发时更加方便,且应用产品出货后仍可修补、更新程序,尤其ISP可让产品不需后送搬运,而是在应用现场直接更新。

附注:可重复烧写型的MCU不仅从EPROM换成Flash Memory,同时也不断强化可重复烧写的次数,以及烧写之后的资料保存年限。

结论

 最后,先进的8051兼容MCU还有个共同趋势,但却不是在芯片本身,而是在应用开发层面,那就是用高阶语言撰写控制程序,由于新的8051兼容MCU在效能与资源上都大幅充沛,为讲究撰写开发效率,多数的逻辑、判断程序可用高阶语言来撰写,仅少数部份的低阶操控、快速反应等程序依然维持原有的8051汇编语言(原生指令集)撰写法。

 至于有哪里些高阶语言可用于8051?答案是BASIC、C、Forth、Modular 2、Pascal、PL/M等,然实际上以C语言最被普遍使用。


▲SiLabs的C8051F12x、13x系列,执行效能50100 MIPS,并内建诸多外围功能,如Vref参考电压、Voltage Comparator电压比较器、Temp Sensor温度传感器、ADC类比数码转换器,运算核心甚至有16x16乘加运算器。(图片来源:SiLabs.com)

培训录入:admin    责任编辑:admin 
  • 上一篇培训:

  • 下一篇培训: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关培训
    基于proteus 软件建立单片机…
    单片机温度控制应用设计—温…
    单片机有什么用
    单片机领域的人才缺口
    单片机技术培训(高级)班
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)