|
The recent developments of MCU and related technologies
1 概述 ---当今的微控制器市场主要被Microchip、Atmel和飞利浦等重量级厂商所把持,此外,许多规模较小的制造商也在该领域取得了一些颇为独到的开发成果。还有一些制造并不以微控制器产品而著称,比如东芝公司(目前提供的产品有TMP86xxx系列)、ZiLog(Z80的发明者,产品有Z8 Encore!和eZ80系列)、Dallas Semiconductor公司(产品有DS89C420)、Cypress公司(代表产品有PSoC,即可编程系统级芯片,如CY8C27x)和名气不大的Cygnal公司(产品有C8051xxx)等。 ---为了在已呈供过于求之势的微控制器市场上崭露头角,必须在产品特性上有过人之处。几年前,Microchip公司推出的PIC就成功地做到了这一点。但对另外一些公司而言,这个问题或许并不十分突出。以东芝公司为例,由于它同时还生产数量可观的笔记本电脑和影音设备等终端产品,所以自然而然地为自己的微控制器产品提供了市场。 ---本文将重点关注规模较大的微控制器制造商,他们丰富的从业经验和不容置疑的领先实力使之成为诞生创新开发成果的温床。
微控制器的发展趋势 1 集成度越来越高、功能日益强大 ---微控制器的一个非常明显的发展趋势就是功能越来越强大,所包含的存储器、输入/输出端口和集成外围元件等的数量不断增加。例如,Microchip公司在其12Cxxx的基础上开发出了12Fxxx,这种型号的差异反映了两者之间的一个重要差异:12C是一款OTP(One Time Programmable,可一次编程)器件,而12F提供了快闪存储器,可进行数千次的编程和擦除。这些芯片采用8引脚或14引脚封装,主要面向低成本应用。而就在几年以前,微控制器还因为外形尺寸和成本方面的限制无法进入该领域。以12F629为例,它在8引脚封装内集成了1kb快闪存储器、128b的EEPROM、64b的RAM、6条I/O线、一个8位和一个16位可编程定时器。12F675则在12F629的基础上又增加了一个10位、4通道ADC。这些IC可采用频率高达4MHz的内部RC时钟脉冲源或频率高达20MHz的外部晶体。Atmel公司推出的ATtiny系列共包括9款不同版本的器件。虽然不是真正意义上的新产品,但ATtiny2313仍很值得关注,它包括一个2kb快闪存储器、一个UART(通用异步接收器/发送器)和多达18条的I/O线,采用20引脚封装,晶体频率高达20MHz。 ---在“小型”微控制器领域,Microchip公司可谓独领风骚。由于微控制器目前已被广泛应用于遥控装置中,Microchip公司决定向市场投放rfPIC(radio frequency PIC)。除了微控制器,rfPIC还集成了一个用于ASK(幅移键控)或FSK(频移键控)发送器的完整电路,以及一个用于保证频率稳定的VCO(压控振荡器)和一个基于电路晶体频率的PLL。作为基本器件版本的rf12C509包括一个12C509和一个内置发送器,而增加了射频部分的rf12F675则更加引人关注。如图1所示,这些微控制器的使用都非常简单。
2 工作频率不断提高 ---虽然许多电路仍然采用4MHz晶体,但来自Microchip、Atmel和Motorola等公司的产品中包含了大量工作频率为16MHz或20MHz的IC。需要指出的是,不能简单地通过比较时钟频率来武断地推测微控制器的性能。比如,Atmel公司ATmega128的时钟频率虽然“仅”为16MHz,但它能够在一个时钟周期内完成几乎所有指令的执行。相比之下,Motorola公司HCS12系列的MC9S12D尽管工作频率高达25MHz,但每条指令的执行都需要多个时钟周期。
3 内部外围元件的专用化 ---大多数制造商的高端微控制器都具有UART和SPI接口,目前正在增添更多的专用接口。实际上,所有制造商都支持I2C总线,虽然接口有的时候仅工作于最简单的从属模式,但也常常工作于主控模式。因PC市场的蓬勃发展而得以普及的USB接口正在迅速进入微控制器领域。Microchip公司推出了16C745、16C765、18F2455和18F255;Atmel公司投放市场的是AT91RM3400;Motorola公司则在其老式6805微控制器的基础上开发出了改进型的68HC705JBx。
4 可能跳过16位阶段 ---说到微控制器,就不能不提及ARM公司。虽然该公司实际上并不制造微控制器,但它多年来一直在为许多知名的微控制器厂商(比如AMI、Atmel、Cirrus Logic、Philips、Samsung、STMicroelectronics和TI等)提供32位芯核。人们对性能更高、功能更多且仍然具备维护和使用简易性的产品的需求将不可避免地对系统的“大脑”——微控制器产生影响,因此,从传统的4位或8位微控制器向更高位微控制器的过渡是大势所趋。不少公司已开始采用被业界广泛接受的ARM公司的32位芯核来开发自己的32微控制器。从目前的开发成果来看,微控制器大有跨过16位而直接进入32位的势头,根本原因就在于32位微控制器具有更高的性能和无与伦比的灵活性。表1列出了来自Atmel(ATmega128)、Microchip(18F8720)和Motorola公司(MC9S12H256)的三款先进微控制器产品。
微控制器相关技术的动向 1 程序和开发工具 ---当一个微控制器只包含1kb或2kb存储器时,采用汇编程序来编程是唯一切实可行的方案。而且,编制真正的实时程序或使微控制器发挥其最高性能,汇编程序是一种不可或缺的工具。不过,目前人们更倾向于采用较高级的编程语言。大多数编程人员偏爱BASIC或C语言。如今已经有了可用于所有微控制器系列的C编译程序,既有价格非常昂贵的CCS C PIC编译程序,也有来自Htsoft公司的免费的PICC-Lite C编译程序。 ---那些不喜欢采用C编译程序或汇编程序的编程人员可以采用性能尚佳的BASIC编译程序,比如来自Micro Engineering Labs的PicBasic Pro Compiler和来自Crownhill Associates公司的Proton。对于Atmel公司的AVR系列微控制器,可以选用MCS Electronics公司的Bascom AVR。8051系列可以选用Bascom的一款专用版本和一种免费C编译程序——SDCC。只是可供Motorola微控制器选用的编译程序较少。 ---鉴于大多数软件开发人员经常采用相同的编程单元(Programming Element),Microchip首创了一种名为Maestro的新型程序,借助它,几乎不需要进行实际的编程就能够完成应用程序的开发。该开发环境可从Microchip公司的网站免费下载,并使得标准模块的联接成为可能,从而实现了近乎自动的程序汇编。 ---除了编译程序之外,还需要其他的开发工具。Microchip和Atmel公司分别推出了MPLAB和AVR Studio。这些运行于Windows操作系统上的开发环境囊括了编程人员所需要的一切(包括程序仿真器)。目前,相关的开发工作仍在继续(MPLAB的最新版本为6.5,AVR Studio的最新版本为4.0),以便对更新推出的产品提供良好的支持。
2 电路内编程 ---ISP(In System Programming,系统内编程)和ICSP(In Circuit Serial Programming,电路内串行编程)虽然已经不是新概念,但毋庸置疑,它们仍是微控制器编程领域中最为重要的开发活动。当编程人员以正确的形式完成了程序的编制时,即可借助一部标准的PC,通过一个非常简单的接口来对支持该程序的微控制器进行编程,而控制器本身则能够继续处于电路之中,其工作原理如图2所示。微控制器从PCB获取其所需的电源和时钟信号,IC上的两个或三个端口引脚短暂地具有“择一功能(Alternative Function)”,使其能够对程序存储器进行擦除和编程操作。如果应用并未使用这些引脚,则可将其直接连接至PC。否则在编程期间就需要采用一些跨接线或DIP开关来对电路进行隔离。所有带快闪存储器的高级微控制器都支持这种编程算法,而且,互联网上还提供了无数针对各种控制器的免费软件。 ---在此领域别具一格的程序是由Atmel公司免费提供的FLIP,它或许是目前通用性最好的程序。它可用来对Atmel推出的众多微控制器进行编程,前提条件是它们具有某种类型的串行接口(RS232、SPI、USB或CAN总线)。
3 特殊的微控制器 ---还有几种特殊的微控制器是必须提及的,比如BASIC Stamp、PIC Basic和Basic Tiger。这些采用24、28或40引脚封装的IC在一块纤巧的印刷电路板上集成了一个快速微控制器,并采用一种面向高级语言的解释程序对该微控制器进行了预编程。通常采用的是BASIC语言,其他的编程语言也正在越来越多地被使用,比如用于Parallax公司Javelin Stamp的Java语言。而借助OOPic,甚至还能够采用一种面向对象的语言来进行编程。 ---虽然这些产品非常成功,但是其价格与实用型微控制器相比则显得过于昂贵,这主要是由于制造方式所致。这些微控制器似乎最适合于实验用途或小规模的生产性运行。
结语 ---微控制器已经成为电子产品不可或缺的组成部分,它的发展对于电子产品的各个方面都表现出日益重要的作用。它们当中既有功能强大的复杂产品,也有针对特定用途的规模较小、成本较低的产品。不仅如此,微控制器的应用还因为得到了众多免费开发工具和编译程序的辅助而变得越来越容易了。
|