8位MCU依然有存在的必要
近年来STM32等32位的MCU风光无两,苹果电脑CPU用了ARM核,更是添了一把火。现在说嵌入式MCU,通常是32位的。那么,像51单片机这种8位的MCU的情形又如何,本文简单分析下很多嵌入式工程师的一些误解。
8位MCU正在被淘汰?
这是最常见的误解。
先说事实,根据最新的Gartner的市场报告,8位的市场营收额和增长额跟32位的相比都仅仅差几个百分点。考虑到8位的单个芯片比32位芯片要便宜很多的事实,8位的出货量其实远高于32位的。
打个直观的比方,现在我们有了高铁,是不是所有传统的普快、特快火车都要立即淘汰呢?显然事实并非如此,至于原因就太多了。
现实情况就是8位MCU曾经的应用领域并不能立即用32位的MCU直接替代。
8位处理器缺乏创新?
不少人会认为既然现在市场的宠儿是32位的MCU,厂商们是不是都没有投入研发资源在8位产品上了。
这么想的人可能一想到8位的MCU,脑海中会浮现40DIP的“经典8051”的形象。事实上芯片厂商们并没有停止创新。比如CIP-51内核因为采用了一个时钟周期等同于一个指令周期的设计,瞬间将同频率的8051性能提高了12倍。
国内的一些半导体厂商也有基于8051或其他8位内核的创新。
8位处理器难以使用C/C++语言编程?
如果你了解Arduino的设计原理,这个误解就不攻自破。
当然坦白讲,8位的MCU使用高级语言编程确实比32位的MCU要困难些,主要障碍就是内存地址的不统一。比如8051内核的内存地址就分为CODE、data、sfr、idata和xdata。如果涉及到banking就更复杂了。
8位的PIC还有硬件Stack这样更加“非主流”的设计,但是这些障碍都可以通过工具的优化来缓解。
8位处理器专为简单应用而生?
这个观点倒是有几分真实,但是嵌入式应用本身就是简单应用居多。
嵌入式系统应用的本身特点决定了8位依然有很多用武之地。外设和编译器的进化将慢慢拓展8位处理器的应用范畴。
8位处理器不能胜任IoT应用需求?
IoT应用不是一个单独的应用,而是一个复合应用。
智能手表、智能音箱、主控制器、网关这种当然需要复杂的处理器来实现。但是IoT应用还包含大量的传感器节点、执行节点和转换节点。这种节点用低功耗的8位处理器来实现更加适合。
8位机还是有创新的,但是被淘汰应该是趋势了 8位MCU确实还有市场需求,尤其在简单控制和成本敏感的场景下非常有竞争力。 那个高铁和普快的比喻挺形象,技术进步不代表旧技术马上就要淘汰。 CIP-51的创新蛮有意思,性能提升不少,确实打破了8位MCU“老旧”的刻板印象。 Arduino的成功就说明8位MCU依然能用C/C++开发,而且上手门槛不高。 IoT应用里有大量传感器和节点任务,8位MCU在这块非常适合,低功耗优势明显。 如果只是简单的信号采集和控制,非要用32位芯片还真是资源浪费了。 8051的分段内存管理确实有点复杂,但用好工具还是能简化开发。 PIC那些非主流设计虽然有点反直觉,但性能和成本上都有独特优势。 外设和编译器的进化确实拓宽了8位处理器的应用场景,这趋势挺明显。 IoT不止是“大脑”部分,小节点更需要轻量化的8位MCU,这个市场不会消失。
页:
[1]