什么是soc?SOC与MCU的区别是什么?

44次阅读

自己做了单片机开发 10 年,看了很多关于 soc 的文章介绍,承认自己孤陋寡闻了。

但是如果不是我用过几款 SOC,还真看得云里雾里,太学术化了。

如果拿 SOC 和 MCU 对比,大家可以理解成SOC 就是定制功能版本的 MCU。

当然,SOC 不仅仅局限于 MCU,还可以是更高端的 CPU、MPU 的功能定制版。

有一个误区,并不是所有 SOC 都那么强悍,实际上低端的 SOC 用量也很大,主要看产品需求。

下面分别来介绍下:

一. 什么是 MCU

MCU 就是微控制器,别名叫单片机,这是烂大街的术语了。

什么是soc?SOC与MCU的区别是什么?插图

上图就是一个 STC89C52 的 MCU。

MCU 只是一个芯片,需要配合外围电路才能完成最终产品功能。

什么是soc?SOC与MCU的区别是什么?插图1

比如上图这个开发板,MCU 就像大脑,其它乱七八糟的按键、蜂鸣器、LED 灯、数码管等等就相当于手、眼睛、嘴巴、脚等等。

我们可以根据电路原理图用 C 语言和汇编写程序,程序编译好以后下载到单片机里,就可以控制相应的外围电路 (按键、蜂鸣器、LED 灯、数码管等) 去”动作”了。

下面介绍一下 MCU 的一些特性:

1. 内部集成

什么是soc?SOC与MCU的区别是什么?插图2

上图是最简单 51 内核 MCU 的内部组成,有 CPU、RAM、ROM、定时器(计数器)、串口、外部中断组成。

还有 ARMv7 架构 Cortex-M3 内核的 STM32,内部组成会更复杂。

什么是soc?SOC与MCU的区别是什么?插图3

通过内部模块图可以看得出来,多了很多外设资源。

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 的产品列表给大家看看。

什么是soc?SOC与MCU的区别是什么?插图4什么是soc?SOC与MCU的区别是什么?插图5

大家看产品列表的 MCU Core 可以发现,这些 Soc 本质也是 MCU,有 51 内核的,也有复杂点 ARM 内核的。

我们打开 51 内核的芯片手册看看内部组成。

什么是soc?SOC与MCU的区别是什么?插图6

相对传统的 8051 单片机的,外设资源多一些,有些还比较陌生,比如说 TBS、EMU、KBI 这些。

这几个外设一看就是定制化功能,比如说是专门用来做电量计量功能的。

电量计量这种功能一般用在电表,插座这类产品,其它领域一般用不上,并非通用的外设功能。

厂家把电量计量功能模块直接集成在一颗 51 内核的 MCU 里了,这种就属于 SOC,准确点叫计量 SOC。

除了计量以外,不同的领域也会有不同的定制化需求,比如说蓝牙。

Ti 的一款蓝牙芯片 (CC2541) 就是针对蓝牙这个领域的 SOC。

我们来看看芯片内部的组成。

什么是soc?SOC与MCU的区别是什么?插图7

看我红色框起来的,原来你一直以为很高大上的蓝牙,竟然是 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 能够解决你产品的功能需求,现在很多公司研发产品基本上都是这样做的。

最后彩蛋时间 ,最近很多小伙伴找我要一些单片机学习资料,然后我根据自己从业十年经验,业余熬夜肝了几个通宵,精心整理一份「单片机入门到高级教程 + 工具包」 全部无偿共享给大家!!!

据说有小伙伴靠这份资料顺利进入 BAT 大厂,所以保存了一定要好好学习。

几乎覆盖了 C 语言、单片机、模电数电、原理图和 PCB 设计、单片机模块化编程等等,非常适合初学者入门和进阶。

最后奉上个人总结的 最佳学习线路图,以及每个阶段会碰到的瓶颈,让你迅速度过新手阶段。

什么是soc?SOC与MCU的区别是什么?插图8

后期人数多了我也会组建一些交流群,让大家能认识更多的大佬。

这里不方便放链接,大家上要上面 「单片机入门到高级教程 + 工具包」 和想 进入技术社群 的,可以找 「无际单片机」 全网同名 的。

什么是soc?SOC与MCU的区别是什么?插图9

举报 / 反馈

原文链接:https://baijiahao.baidu.com/s?id=1727977863415163424&wfr=spider&for=pc

正文完
 
追风者
版权声明:本站原创文章,由 追风者 2023-11-09发表,共计2165字。
转载说明:声明:本站内容均来自互联网,归原创作者所有,如有侵权必删除。 本站文章皆由CC-4.0协议发布。