代码编织梦想

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

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

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

下面分别来介绍下:

一.什么是MCU

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

上图就是一个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能够解决你产品的功能需求,现在很多公司研发产品基本上都是这样做的。

转自:百度安全验证

soc和mcu的区别_爱吃冰淇凌的羊驼的博客-爱代码爱编程_mcu和soc

预备知识点: 1、CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储

cpu mpu mcu soc sopc 区别与联系-爱代码爱编程

1.CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。差不多所有的CPU的运作原理可分为四个阶段:提取(

cpu、mcu和soc的区别以及外设的概念理解-爱代码爱编程

1、CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储器中取出指令,放

mcu 和 soc 的区别_-星星-的博客-爱代码爱编程_mcu soc区别

1、CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储器中取出指令,放

关于SOC和MCU的区别-爱代码爱编程

1、CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。 CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。 2、MPU (Micro Processor Unit),叫微处理器(非微控制器),通常代表一

嵌入式linux和soc,嵌入式设备里SOC与MCU的区别深度解析-爱代码爱编程

描述 什么是SOC方案,什么是MCU方案呢?要了解这两个概念,首先要了解模组。要了解模组,首先需要了解什么是微控制单元(MCU)。 微控制单元MCU(Microcontroller Unit)又叫单片机、微处理器,是集成电路的一种。MCU类似于CPU,是可以执行嵌入式程序的一种集成电路。书上定义就先不讲了。 以前没有集成电路的时候,是用密密麻麻的

CPU、MPU、MCU、SOC的概念与区别-爱代码爱编程

参考资料:SoC和MCU的区别CPU、MCU和SOC的区别以及外设的概念理解CPU、MPU、MCU和SOC还傻傻分不清楚 看这篇文章就够了 1. 概念 1.1 CPU(Central Processing Unit) CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之

什么是soc?SOC与MCU的区别是什么?-爱代码爱编程

自己做了单片机开发10年,看了很多关于soc的文章介绍,承认自己孤陋寡闻了。 但是如果不是我用过几款SOC,还真看得云里雾里,太学术化了。 如果拿SOC和MCU对比,大家可以理解成SOC就是定制功能版本的MCU。 当然,SOC不仅仅局限于MCU,还可以是更高端的CPU、MPU的功能定制版。 有一个误区, 并不是所有SOC都那么强悍,实际上低端的SO

MCU与SOC的区别,RTOS与LINUX区别-爱代码爱编程

前言 MCU与SOC的区别,RTOS与LINUX区别 一、MCU? 1.阐述 MCU就是微控制器,别名叫单片机,具体像STC的51单片机,ST的STM8、STM32、Arduino的AVR、TI的MSP430等等。 2.在操作系统层面 MCU一般最多只运行实时操作系统(RTOS),不会上Linux,更多的是”裸机”编程。RTOS像freerto

soc,mcu,mpu相关概念_k6604125的博客-爱代码爱编程

1.SoC: (System on Chip),称为系统级芯片,也有称片上系统 ①如果拿SOC和MCU对比,大家可以理解成SOC就是定制功能版本的MCU。 当然,SOC不仅仅局限于MCU,还可以是更高端的CPU、MPU的功能定制版。 ②低端的SOC就是内部集成了MCU+特定功能模块外设。 高端的SOC应该是内部集成MPU/CPU+特定功能模块外设,高端

soc和mcu区别_xueqian e的博客-爱代码爱编程

SOC就是集成了很多个MCU的功能,以前的由多个MCU协同干的事情被集成了,MCU没有了,取而代之的是对外的IO引脚,连接IO引脚就可以实现交互,完成以前MCU的功能。      架构上,SOC就是MCU+外围控制器,也可以理解成为就是以前的MCU芯片变成了一些控制器controller,这些controller来处理问题,然后对外给出IO脚就够了。

cpu、mpu、mcu、soc的概念和区别_三岁囍的博客-爱代码爱编程

概念 1、cpu cpu(central processing unit)是一台计算机的运算核心和控制核心,CPU由运算器、控制器和寄存器以及实现他们联系的数据、控制总线构成,cpu典型的三级流水线操作是取值、译码、执行,差不多所有CPU的执行原理可以分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writebac

soc 与 mcu_soc 和 mcu的工作原理-爱代码爱编程

1、CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。差不多所有的CPU的运作原理可分为四个阶段:提取(