1.1 MCU51的发展历史
国内大部分嵌入式人员了解嵌入式是从学校开设的MCU51开始的,笔者也一样,2000年接触的是Atmel公司的AT89C51系列处理器,8位数据总线,16位地址总线,最高24MHz外部时钟,12个时钟周期,4KB~64KB FlashROM和128KB~1KB RAM。该系列处理器,因为工作主频低,并且一个指令周期需要12个时钟周期,实际等于一秒钟最多只能执行2M条指令,处理速度低。加上其内部的ROM、RAM太少,只能做一些简单的控制,这也是MCU的名称来源:“微控制单元”,所以这个阶段,很多开发采用汇编语言来编程,C语言编程处于萌芽阶段,目标文件需要用FlashROM烧录器,程序调试依靠仿真器来完成。因为当时低阶半导体制程,工作电压5V,相比今天的高阶工艺的ARM芯片,抗干扰、抗静电能力较强,加上MCU厂商较少,竞争压力小,测试完善,所以ATMEL的MCU51可靠性很高,口碑很好。
基于当时MCU51主频低、ROM、RAM少、价格贵的特征,软件开发基本上都是以汇编为主,以提高效率、降低资源,从而降低MCU51的成本,幸好那个时期控制的对象并不复杂,主要是一些机械、仪表类控制对象,都是简单的逻辑处理,带一些数码管或者是黑白液晶显示器,汇编确实比较适合,这算是最早的“裸奔”软件架构。
2000年以后,周立功单片机公司代理飞利浦半导体公司(独立后改名为NXP),推广NXP的MCU51,比如P89C52x2,可以通过串口TXD、RXD、PSEN和Reset直接下载,不再需要专用的FlashROM烧录器,因为烧录简单,时间又短,都可以采用串口调试来取代仿真器,这大大降低了嵌入式开发人员的开发门槛。同时周立功公司开始推广Keil-C51编译器,让嵌入式人员真正走上了C语言编程。基于以上两点,周立功公司通过一系列MCU51评估板,迅速占领了嵌入式评估板市场,尤其是早期最出名的DP-51开发板,笔者就是基于这款评估板正式走上嵌入式之路的,基于它开发了“实用单片机系统MS”,也为后来的msOS打下了基础。
NXP的芯片相比ATMEL来说,虽然价格相差不大,但此时的价格相比以前已下降了不少,接近普及,并且因为支持串口下载,6时钟周期模式性能可提升一倍,增加了很多特殊寄存器,扩展了一些常用功能如AD、DA、PWM、CAN,极大地丰富了MCU51的内涵,让客户有更多的应用选择,这一切都让大家意识到MCU51普及应用时代的到来。后来国内单片机厂商宏晶科技推出了基于上电串口下载程序,不需要PSEN和Reset脚的解决方案,集成了更多的功能,细分了各种品种,并且以低廉的价格正式引爆了MCU51市场。我们来回顾一下MCU51的发展历史:
1)INTEL发明了8031;
2)ATMEL在MCU内部集成了FlashROM和RAM,实现了真正意义上的单芯片方案;
3)NXP采用四线(TXD、RXD、PSEN、Reset)串口下载程序,抛弃了仿真器;
4)周立功普及MCU51开发板,推广Keil-C51编译器,让MCU51广泛地进入学校。
5)STC采用两线(TXD、RXD)上电串口下载程序,增强性能及功能,细分品种,让MCU51无处不在。
以上几点大家可以看到,MCU51的进步除了Intel发明之外,还有就是基于需求、方便使用,属于微创新,而这些微创新,却极大地普及了MCU51,在市场中产生了质变,然而这些微创新往往不受技术人员重视,他们甚至嗤之以鼻,看不到背后的市场效果。
STC创始人姚永平对技术与市场的独到认识如下:
1)STC做的是通用MCU51,评估板市场已经很成熟,所以初期不出评估板,避免技术支持压力,以透明低价直接挤占大厂市场,虎口夺肉。
2)充分挖掘老工程师对于MCU51的认同,细分市场,细分功能,形成一个系列,覆盖大部分需求,区分价格。进一步提高主频、集成度,减少外围器件,比如单指令周期、40 MHz时钟、支持内部RC时钟,无需外部时钟,甚至考虑内置滤波电容,加上其原有的高抗干扰、抗静电能力,让MCU51成为一颗真正意义上的单芯片方案,用户不需要太多的注意细节,比如PCB布板、干扰、静电等问题。此外,专门针对退出MCU51市场的大厂提供替换型号,承接它们的客户。
3)MCU51简单易用,特别适合高校等教学市场,在ARM的Cortex系列大举进军嵌入式市场,与MCU51重叠之时,深入挖掘高校、学生市场,推出开发板,出版各种书籍,继续延续MCU51生命。
今天STC的单片机已经广泛地被国内外同仁接受,这都是姚先生独到的微创新带来的成就。姚先生作为一个技术人员,深刻认识到市场对技术的影响,尤其是他的这句话深深地影响着笔者:自己做的产品,要建立品牌,天天给她施肥、浇水,一点点地完善,她就能茁壮成长,切忌喜新厌旧。