随着现在很多32位单片机的价格越来越低,原本一些比较小的项目,之前可能由于成本因素采用的是51等8位单片机设计方案,现在也慢慢开始使用32位单片机进行开发替代。整个行业中,32位单片机占比越来越高,8位单片机占比越来越低,另外还有一部分16位的单片机的市场也被32位单片机大量抢占,甚至很多原厂都已经不再主推8位16位单片机了。
那么8位32位指的是什么呢,其实单片机的多少位,所指的是内部CPU处理数据的总线宽度,也就是就是参与运算的寄存器的数据长度,如果单片机总线宽度为8位,通常只能处理8位数据,也就是我们说的8位单片机,32位单片机总线宽度为32位,能处理32位的数据。现在的32位单片机使用的越来越多绝不仅仅是因位这个总线宽度和数据处理能力,而是整个单片机的性能及功能性的提高,特别是在现在越来越多的产品的应用趋于相对复杂,如网络化、系统化,导致很多8位单片机不仅处理能力有限,在一些片上外设方面也显得心有余而力不足。
以STM32为代表与51单片机做对比分析,STM32采用的是arm cortex-m内核的32位单片机,现在已经由M0、M0+、M3、M4等多个系列,内存包括64KB到256KB闪存和 20KB到64KB SRAM甚至更高,STM32时钟频率达到72MHz,并且内部也内嵌了RC震荡,而8051单片机不仅FLASH非常的小,如4K、8K等规格,并且主频只有12MHZ,一些增强型的8051可以达到16MHZ,从内存和主频可以看出,在面对大量数据处理和存储的时候,51单片机与STM32的差别是巨大的,如在有一些参数设置存储的时候,STM32可以充分利用片内空间,开辟出一块片内FLASH进行数据的存储,而51单片机基本上都是需要外置一片专门的FLASH芯片进行数据的存储。
在片上外设方面,STM32可以拥有100个管脚、5个USART接口、2个IIC接口、2通道12位D/A、12通道DMA控制器、USB控制器、以外网控制器等等,不说DMA、USB和ETH,在基本的总线通讯口上,除了数量的差别以外,很多总线通讯的模式都是51单片机所不具备的,这样在很多产品设计时,如果用的是51单片机就不得不在增加芯片来完成功能设计,这样反而会增加系统的复杂性。另外STM32在时钟管理、功耗管理、OTA升级等方面相比较51单片机也会增加有优势。 除了芯片本身的性价比差异以外,在开发上,STM32也会显得更便捷,如STM32官方提供了很多开发固件库和相关辅助工具,改变了以往51单片机的寄存器开发模式,也便于代码的解读与移植。
虽然32位单片机好,但是随着MCU整个市场的增长,一些性能好的8位单片机也完全可以满足很多设计,尤其在成本敏感的一些设计方案中,8位单片机还是有自己还是有自己存在价值,只不过如果32位单片机的价格进一步拉低,8位单片机的市场就会被进一步的压缩。
|