8位、32位处理器的动向
在嵌入式处理器中,8位和32位可以说是嵌入式的生力军,前者市场最为庞大,后者崛起速度最为迅速。嵌入式的发展有何新的动向?
8位:开拓更多的应用
近年来,8位单片机(MCU)的性能在不断拓展,现场可编程,成本不断下降,I/O、指令更完备,开发工具方便、廉价,部分模拟和数字功能加入其中,超低功耗。
8位MCU的功能不断拓展,其驱动力是应用领域的不断扩大。MICroChip的安防、单片机及技术开发部副总裁Steve Drehobl列举了8位MCU的一些新的有趣应用。MCU开关不是机械的集成,它好像触摸屏或按键式开关。过去的机械开关是旋钮式,而MCU里的开关采用数字式(笔者推测是由处理器芯核外的模拟电路来实现的,原理如模拟IC中的可调增益,利用可选电阻排编程来实现)。例如洗衣机过去调整功能、转速要用旋钮,现用按键即可。机械电子的好处是可以降低成本,提高开关功能。
典型的例子是压缩机关闭延时(图1)。尽管Microchip的PIC10F MCU比开关贵一些(多10美分),但应用方面确实带来了好处。传统的机械定时延迟开关装在压缩机内。PIC10F可以完全代替这种开关,并且还是小型智能单片机。压缩机的测试需要很长时间,有了这种MCU,可对压缩机的供电条件进行预设,模拟时帮助节省很多时间,且非常准确。
如果把整个ASIC设计改变或修订的话,成本相当于5万美元,因此很多设计师宁可不搞这种大规模的修复,而使用“电子胶”——MCU(图2)。MCU可以把这些功能预先设计进来,就象给产品上了保险一样,任何变化都可以让设计师随时调整。
因此,在设计PC板等电路板时往往会预留空间,把可能会出现问题或系统需要升级的地点事先安排好,一旦出现故障,马上用备用的器件进行修理;或者一旦市场上需要新的功能,马上就可升级。这正符合美国的一句俚语:像撒胡椒面一样,先撒上。
因此,电子胶可用于ASIC、电路板、器件的修复、功能升级、后期变更和其他针对产品快速量产需要的补充件。
MCU的特点是量体裁衣,但随着MCU的应用层出不穷,量体裁衣越来越困难了。因为现在应用太多了,而且人们的想法层出不穷,厂家新型号与性能很难赶上。因此MCU公司如Microchip采用MCU的核心技术,集成部分外围及可编程内存,开发出系列小巧灵活的产品。“在产品交货上我们不做任何工作,让我们的用户充分发挥创造力与想象力来开发出他们所需要的应用。” Drehobl总结道。
32位与操作系统
完成一个好的设计,操作系统与处理器同样重要,还要有平台开发概念。 在32位领域靠IP(知识产权)打遍天下的ARM公司,其处理器核的特点是低功耗、高性能和低成本。但这也离不开操作系统等第三方合作伙伴的紧密配合。此次是ARM进入中国两年多来第一次以嵌入式Linux为主题的研讨会。此前ARM也曾携手mC/OS做研讨会。这次之所以选择Linux,是因为嵌入式Linux是个群众团体,同样有很大的发展潜力。ARM希望通过这次大会,帮助第三方在ARM芯片上做Linux的开发、创业和增值。 为了推广基于ARM的操作系统,ARM还宣布了一个对中国用户来说的好消息:把许多资源贡献了出来,供广大用户免费下载,使ARM对kernel(内核)的裁减、优化成果及时与用户共享。
嵌入式OS所要做的
不同于台式机与服务器领域,嵌入式操作系统有很多种,这是由嵌入式的应用多姿多彩决定的,例如MP3、多媒体播放、工控、洗衣机、微波炉。可见嵌入式是个很新的市场,也是一个分得很细的市场,因此没有一家公司的操作系统可以垄断这个市场。 嵌入式对操作系统有了很多新要求,因为在台式电脑中Linux无所谓大小,功耗也不是问题,性能也不是问题。但在嵌入式里,若用5V电池跑台式Linux实现PDA,仅CPU就已不够用了,怎么能降低功耗?ARM kernel运行起来时,即可听音乐,又可低功耗,还要带外设,如何对kernel优化呢?这是ARM正在做的,过几年要对kernel进行裁减,将来在开发中实现嵌入式优势。
中国有大量的开发人员,在开发嵌入式产品方面蕴涵着无限商机。不同于台式电脑开发,例如x86 CPU,通过开发环境就可实现编程的功能—微软、Intel的软件、母板里都做好了各类控制。因此在台式电脑中该做的都做完了,没有什么商机了。
嵌入式系统不同,你拿到芯片后启动都启动不起来。台式电脑按启动后,当你看到Windows时,里面已有十多个嵌入式软件启动起来了。嵌入式开发商要做的工作是拿这个芯片怎么实现引导功能,这个挑战很大,从传统的C++开发到嵌入式开发,是很大的挑战,要写引导和驱动。正因为挑战才有商机,才能有进步和跳跃。
OS开发思路
可见嵌入式是今后几年工程师的课题。因为现在流行的电子产品多是嵌入式:智能家电、手机,未来的高清晰电视,这些不是微软能做的。开发时是否一定要硬件环境来支持?的确需要硬件环境,同时要有平台概念。你想做的是个系统,而不是一个CPU,这时想到要做个板子。对于Linux,如何把kernel裁减,然后把BSP写进来,这是新的挑战,一定要打破传统的你一开机、Windows就已经给你提供所有环境的观念。
移动产品的开发
目前手机上的移动开发成为热点。智能手机就是台电脑,有操作系统和应用。应用很可能是与台式电脑一样,不同之处是没有现成的开发环境。如果我们用Palm,就用Palm开发环境;微软用微软的;Linux用Linux的。
不过,移动是未来商机很大的平台。如果你现在的手机是黑白的,就相当于10年前的486电脑,如果你用的是Smart Phone(智能手机),就相当于5年前用的奔1、奔2电脑。摩尔定律预示着今后三、四年里,手机性能将相当于前两年的笔记本电脑一样;今后6、7年,手机很可能像今天的笔记本电脑!那时的手机开发不是今天意义上的手机开发了,那时将需要开发很多功能,不仅是打电话,还能玩三维游戏,用GPS,以及实现很多办公室才能完成的事情。那时Linux等OS将会有很大的开发前景。因此,微软6月与联通签约,尽管联通运营不是电脑厂商,但在联通的手机中微软要把其OS放到里面去。
Linux如何发展?
Linux在国外很热,但在中国有个不容乐观的现实:对其关注的人倒很多,真正了解Linux的人很少,在Linux上成功的人更不多。因为Linux的业务模型是免费的,这样你做得再好,也要免费给人家,供应商不能靠销售赚钱,只能通过服务盈利。
但由于嵌入式世界的特殊性,确实可通过增值服务获取利润。例如,做MP3、机顶盒,若用Linux,不是下载后就能运行起来的,用供应商的Linux可以帮助客户裁减内存。因此,在嵌入式里也许Linux是一个新的商机。
对于“一次编程,处处可运行”的Java,在台式电脑中用得不多,在嵌入式里也不多。究其原因,Java编程不错,但每次运行的速度慢,嵌入式业界不能忍受的是若用Java虚拟机,所耗的内存会更较高,在嵌入式里用的内存通常是Flash(闪存),Flash费用高。ARM为此在芯片中加入了Java指令集,将来下载Java时直接在指令集上运行。将来在手机中跑Java的速度是普通机的8倍以上;但功耗却没有很大区别。今年下半年,高通、TI、Motorola的芯片中就会有这样的CPU了。
但是,有些基于ARM的CPU不能用Linux,例如Oki的ARM基处理器,需要用OKi开发的平台。因为Linux需要虚拟内存和MMU。Oki等公司采用的是非Linux CPU核。即使这样,在一些简单CPU中还是可以用mCLinux。mCLinux是裁减过的Linux,把虚拟内存的需求关掉了。
当然,Linux与mC/OS也有竞争,ARM对二者都支持。二者的区别是mC/OS 是商业操作系统,Linux是免费操作系统。
嵌入式处理器/核的特点
32位处理器与Intel CPU不同,不会新一代出来,老的就被淘汰了。ARM核有的是低功耗,有的为高性能,新核的出现是为了满足新的应用需求,例如手机。ARM认为,对于嵌入式处理器,速度不是主要的问题,而功耗特别重要,用ARM核做的处理器速度没有上限,你可做得很快,问题是5V电池供电,还要考虑安全性,重量等。可见,手机等便携式产品在小空间里要实现奔2的性能,如何解决噪音、功耗等是非常大的挑战。
|