在今天的电子展上,恩智浦披露了其全新微控制器产品——LPC800系列的细节,这是其基于ARM迄今为止最小且功耗最低的内核——ARM Cortex M0+的首款MCU。作为ARM Cortex-M0和LPC产品的长期用户,我一直都在期待能深入探究M0+芯片的细节,发现它与其他Cortex-M系列相通的地方。尽管此次发布有些出人意料,但绝不会令人失望。
M0+有何不同之处?
M0+芯片基于极受欢迎的Cortex-M0内核,因此很可能会针对同一细分市场,即功率和成本敏感的嵌入式解决方案,在该解决方案中整体芯片尺寸、效率以及电池寿命是重要的考虑因素。
Thomas Ensergueix在其博客帖子“ARM Cortex-M0+:不仅仅是低功耗处理器”中论述了其与Cortex-M0的许多关键差别,但在这里仍值得重点介绍一下其中一项最大的改进。
促使M0+运行功耗更低的关键因素之一是全新的两级流水线。正如ARM在其文章“Cortex-M0+处理器简介:低功率的终极解决方案”中所解释的那样:
这是ARM首次设计具有两级流水线架构的处理器,其在提升性能的同时,维持了相同的高频率。最后的成果非常振奋人心。在Dhrystone循环功耗分析测试中,Cortex-M0+处理器消耗的动态功耗仅是现有Cortex-M0处理器的三分之二。
...通过采用两级流水线设计,处理器的阴影分支得以降低,从而削减了闪存的存取次数。在微控制器所消耗的功耗中,闪存功耗往往占了很大一部分比例,因此,减少闪存的存取次数会对总体功耗产生直接的影响。
M0+现在还支持单循环IO访问(相对于M0的双循环),其快速位拆裂等功能的速度可能达到M0的两倍...所有这些都具有较小的总占位空间和较低的功耗。这点非常重要,因为我经常发现自己倾向于通过M3获取额外的性能提升,但是既然M0+可在更小的内核上几乎同样有效地执行某些IO任务,那么我也能通过较低的总体功耗和BOM成本获得类似的性能。
实施事项!
外设与架构改进同样重要,它是所有神奇的来源,也是任何事实决定的基础。ARM通过其内核向每家公司都提供了公平的竞争环境,但我很好奇飞思卡尔和恩智浦相比将会如何,因为正是这两家公司提供了基于全新M0+的产品。
恩智浦的做法的确让我非常惊讶。我期待飞思卡尔和恩智浦会针对芯片的各项功能进行合理竞争,但很明显两者却用各自的芯片来解决截然不同的问题。恩智浦将LPC800定位为基本8位MCU的直接替代产品,这对于如此小型和高效的内核来说非常自然;而飞思卡尔将其M0+芯片定位为更为中等级别的解决方案(成本和复杂性更高)。这非常合理,因为飞思卡尔重点关注的是M4,它有更大的差距需要填补,而恩智浦已经很好地覆盖从M0到M3到M4的整个范围(针对M0的LPC1100、针对入门级M3的LPC1300、针对高端M3的LPC1700和LPC1800以及针对M4 DSP型处理和高度嵌入式提升的LPC4300)。
首款真正基于ARM的8位替代产品?
可能和很多人一样,我也期待与广受欢迎的LPC1100系列相似的M0+版本(尽管我想这也是工作成果)。但是在产品发布后,恩智浦已经做出明智的决定,将其首款M0+芯片定位为8位到32位应用的连接桥梁,因为其已完全覆盖其余的深度嵌入式产品。
目前已经有很多关于ARM将统占嵌入式领域的言论,但现实情况是,8位应用与入门级M0器件(如LPC1100芯片等)之间仍存在巨大的鸿沟,并且它们无法使用SW或MCU内核。许多8位架构占主导地位的低成本产品仍采用TSSOP或DIP封装,通过手工或波峰焊进行装配(也有极少数例外,比如DIP LPC1114),但是ARM在很大程度上已被限定于采用QFN、QFP或BGA等更现代的和机器可放置的封装。价格也是一个问题,即便1美元的LPC111x芯片在其刚推出时在价格上是一个突破(它们现在依然非常有价值!),但价格为0.39美元、采用类似DIP和TSSOP封装的LPC800芯片一经推出,定价规则将被彻底改变。
全新外设
现在我终于拿到了一个早期样品,在我迫切想了解该芯片的技术细节,并开始动手测试一些外设时,我还要提一下这款全新芯片的关键亮点:
全新的开关矩阵(简介视频)可极大地提升灵活性,只需一行代码就能将任意功能轻松指定到任意引脚。它的主要优势是能够通过引脚和功能的重新映射来创建小型且简洁的2层电路板。
内核IP块已得到简化,使得对I2C、SPI和USART的操作更加轻松;将驱动程序添加到ROM中,节省了宝贵的闪存空间并避免代码膨胀,同时使其更适合于在低功耗情形下使用(比如将SPI时钟从核心时钟中分离,该核心时钟之前必须以4倍的SPI时钟频率运行)。
另外值得关注的是,该芯片还带有一个全新的模式匹配引擎(用于引脚状态组合可配置为引发中断的中断),带16位和32位定时器/计数器、用于可编程状态管理的状态可配置定时器(SCT),以及一个具有内部或外部参考电平的模拟比较器。
恩智浦在其官方公告中已经对LPC800进行了详尽的描述,但是我有机会通过实际硬件和代码来更加深入了解这些全新外设,并在此基础上就我认为可解决的问题提出了更多的想法。
我期待能够就该芯片撰写更多内容并进行实际测试...真正见证只有指甲那么大且采用8位封装的芯片的潜力究竟有多大!
上一篇:STM32的串口配置(中断方式)
下一篇:uClinux平台下的Flash存储技术
推荐阅读最新更新时间:2024-03-16 13:21