到目前为止,8位MCU所取得的巨大成功可归结两个主要的因素:CPU内核的继承性和价格,许多著名的CPU比如8051、68HC05、6502和Z80都是8位的架构,许许多多的工程师在他们还在上大学的时候就学习在这些架构下编程。在基于MCU的产品设计中,工程师的技巧和经验是影响设计的关键因素,所以大多数的工程师都会选择熟悉的MCU进行设计,这就形成新的CPU架构被工程师使用的无形障碍。另外,过多的8位MCU供应商之间的竞争导致了比较低的价格,也是8位MCU普及的原因。
但如果从CPU架构的角度对8位MCU做更深入的分析,您可以发现8位的MCU在今天的许多应用中实际在做16位MCU的事情,并且由于这一点在性能上有不同程度的损失,最明显的地方就是寻址空间。作为8位的架构,自然的寻址空间仅有256个字节,如今您几乎找不到只有256个字节ROM的MCU,大多数的MCU都有几十K字节的ROM,这样一来编程时就会花费大量的指令来实现跳转、查表和复杂地址计算的程序;另外一个地方是关于数据处理,在大多数的8位MCU上您都会发现有10位AD和16位定时器这样的外设,当您需要从10位AD读取数据或向定时器输出PWM的数据时,您需要使用复杂又麻烦的多字节指令来实现简单的读写操作。这些缺点都会导致8位CPU占用更多的程序空间和消耗更多的功耗。再者,如果我们从硅片的架构来看MCU的成本,CPU核仅占用整个硅片面积很小一部分(根据不同的器件平均占10%或更少)。事实上,片上存储器ROM和RAM占用主要的硅片面积。因此,无论MCU的位宽,拥有更优代码效率的MCU架构可以做到更低的成本,所以拥有更大的寻址空间和可简单方便对10~16位的数据进行处理的16位MCU的架构可用较少的存储空间实现相同的功能,从而带来成本和功耗的优势。在德州仪器,我们在十几年前就针对当时8位MCU的主流应用研究最为优化的架构,我们曾考虑过4位、8位、16位、20位和32位,最后的结论是选择了16位的架构也就是我们今天所熟知的MSP430。事实上,今天许多的MCU供应商也把8位/16位MCU定位在几乎相同的市场应用。简言之,我们认为代码效率更高的16位MCU会在当前8位MCU的主流应用上扮演越来越重要的角色,提供更低成本和更低功耗的解决方案。
最近几年随着16位MCU跟8位MCU相比能提供更高的代码效率和更低的功耗,16位MCU在三表(电表/水表/煤气表)以及烟雾探测器等领域得到越来越多的应用。
事实上,德州仪器很早就进入MCU领域,MSP430是德州仪器推出的非常有特点的16位MCU产品系列。最近几年MSP430在全球取得了巨大的商业成功,每年的业绩成长都超过50%,随着业界对8/16位微控制器的功耗和集成度提出越来越高的要求,MSP430逐渐成为8/16位微控制器应用领域内的明星产品,TI的MSP430微控制器能够在众多的8/16位微控制器产品中脱颖而出,主要是因为MSP430微控制器有以下特点:
1. 超低功耗架构, 针对电池供电的应用可大幅延长电池寿命,包括RAM保持模式仅消耗0.1μA;实时时钟模式仅消耗0.8μA;工作模式仅消耗250μA/MIPS。
2. 丰富的模拟/智能外设集成,含丰富的模拟外设(包括10/12/16位ADC,12位DAC,比较器,运算放大器,电源电压监控……)。此外集成的智能外设(包括具备自动扫描功能和硬件启动转换触发的模数转换器,DMA数据传输机制)可节约CPU的资源。
3. 完整丰富的产品队列(超过100个器件覆盖从1KB到120KB flash 大小,从14管脚到100管脚的不同选择)满足不同客户的需求。
4. 现代的16位RISC CPU以更精简的代码支持各种应用。
5. 通用的开发工具和在线调试功能可降低开发难度, 缩短产品研发周期。
但是,16位MCU也面临着一些挑战。在现实应用中,绝大多数工程师已经熟悉了8位MCU的架构(比如8051)并在传统的8位MCU架构上积累了丰富的软件经验。因此怎样提供简单易用的16位MCU开发平台和基于16位MCU的代码资源成为16位MCU供应商面临的挑战。