但是如果不是我用过几款SOC,还真看得云里雾里,太学术化了。
如果拿SOC和MCU比拟,大家可以理解成SOC便是定制功能版本的MCU。
当然,SOC不仅仅局限于MCU,还可以是更高真个CPU、MPU的功能定制版。

有一个误区, 并不是所有SOC都那么刁悍,实际上低真个SOC用量也很大,紧张看产品需求。
下面分别来先容下:
一.什么是MCU
MCU便是微掌握器,别名叫单片机,这是烂大街的术语了。
上图便是一个STC89C52的MCU。
MCU只是一个芯片,须要合营外围电路才能完成终极产品功能。
比如上图这个开拓板,MCU就像大脑,其它乱七八糟的按键、蜂鸣器、LED灯、数码管等等就相称于手、眼睛、嘴巴、脚等等。
我们可以根据电路事理图用C措辞和汇编写程序,程序编译好往后下载到单片机里,就可以掌握相应的外围电路(按键、蜂鸣器、LED灯、数码管等)去”动作”了。
下面先容一下MCU的一些特性:
1.内部集成
上图是最大略51内核MCU的内部组成,有CPU、RAM、ROM、定时器(计数器)、串口、外部中断组成。
还有ARMv7架构Cortex-M3内核的STM32,内部组成会更繁芜。
通过内部模块图可以看得出来,多了很多外设资源。
2.价格
MCU价格一样平常比较低,几毛到几十块都有。
3.常见厂家
(宏晶科技)STC、意法半导体(ST)、瑞萨(Renesas)、爱特梅尔(Atmel)等等。
4.常见MCU
比如STC的51单片机,ST的STM8、STM32、Arduino的AVR、TI的MSP430等等。
5.操作系统
MCU一样平常最多只运行实时操作系统(RTOS),不会上Linux,更多的是”裸机”编程。
二、什么是SOC
低真个SOC便是内部集成了MCU+特定功能模块外设。
高真个SOC该当是内部集成MPU/CPU+特定功能模块外设,高真个我也没用过,我猜的,本日我们低真个SOC。
我来拿之前产品开拓用过的计量SOC的产品列表给大家看看。
大家看产品列表的MCU Core可以创造,这些Soc实质也是MCU,有51内核的,也有繁芜点ARM内核的。
我们打开51内核的芯片手册看看内部组成。
相对传统的8051单片机的,外设资源多一些,有些还比较陌生,比如说TBS、EMU、KBI这些。
这几个外设一看便是定制化功能,比如说是专门用来做电量计量功能的。
电量计量这种功能一样平常用在电表,插座这类产品,其它领域一样平常用不上,并非通用的外设功能。
厂家把电量计量功能模块直接集成在一颗51内核的MCU里了,这种就属于SOC,准确点叫计量SOC。
除了计量以外,不同的领域也会有不同的定制化需求,比如说蓝牙。
Ti的一款蓝牙芯片(CC2541)便是针对蓝牙这个领域的SOC。
我们来看看芯片内部的组成。
看我赤色框起来的,原来你一贯以为很高大上的蓝牙,竟然是51内核的,目瞪狗呆吧?
再看看它的外设资源,除了一些通用的外设,比如GPIO、串口、定时器等等。
还有芯片内置的无线电模块(Radio Arbiter),再跑上TI公司的蓝牙协议栈,就实现了蓝牙功能。
以是,SOC芯片都有一个共同特点:都是为了更方便,本钱更低、稳定性更好地办理特定行业的需求。
三、MCU和SOC的差异
看到这里,我相信你已经大概知道差异了。
我再来总结下,低真个SOC实质是MCU内核,只是在51/ARM内核根本上增加了特定功能外设模块重新封了一款芯片。
如果用MCU去完成一些特定功能,比如说蓝牙协议,Zigbee协议,电量计量等等会比较麻烦,研发周期长,稳定性差,本钱也更高。
不用把soc想得这么高端神秘,拿我们身边的例子,比如无际单片机主机这个项目:
433M软解码那块内容是一个难点,解码不难,难在如何兼容不同厂家的设备,很多学员和工程师都搞不定,那我可以把这个软解码做成特定模块,内置在51内核里,再重新封一款芯片叫无线解码SOC,专门用来解EV1527和2262的无线协议。
这样,如果你产品有解码EV1527/2262协议需求的时候,用我这个SOC就行了,就不用关心怎么用程序去解码了,我直接供应寄存器给你读数据,效率是不是高很多?这也是SOC的代价所在。
以是,我们在研发产品之前,首先也要做的便是看看市情上有没有现成SOC能够办理你产品的功能需求,现在很多公司研发产品基本上都是这样做的。
末了彩蛋韶光,最近很多小伙伴找我要一些单片机学习资料,然后我根据自己从业十年履历,业余熬夜肝了几个通宵,精心整理一份「单片机入门到高等教程+工具包」,全部无偿共享给大家!
!
!
可以找「无际单片机」,全网同名的。