什么是soc?SOC与MCU的区别是什么?
自己做了单片机开发10年,看了很多关于soc的文章介绍,承认自己孤陋寡闻了。
但是如果不是我用过几款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能够解决你产品的功能需求,现在很多公司研发产品基本上都是这样做的。
什么是soc?SOC与MCU的区别是什么?相关推荐
- ARM、MCU、DSP、FPGA、SOC各是什么?区别是什么?(转)
ARM ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器.更早称作Acorn RISC Machine.ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等 ...
- SOC与MCU的区别是什么
如果拿SOC和MCU对比,大家可以理解成SOC就是定制功能版本的MCU. 当然,SOC不仅仅局限于MCU,还可以是更高端的CPU.MPU的功能定制版. 有一个误区, 并不是所有SOC都那么强悍,实际上 ...
- matlab soc,soc估算matlab仿真
将 Matlab 仿真结果与同等条件下的实验 结果进行对比分析,证明了 DKF 算法能够有效地在线估算电池 SOC 及其欧姆内 阻 R0,且误差在 3%以内.最后,证明了 DKF 算法...... 收 ...
- 芯片,SOC和MCU区别;裸机和带系统
结论: (以上这是一个典型的soc包括进去的东西) (这是常见的soc,一般很多外面都有一个壳子,这个就是个壳子,东西都在里面,就是上图的那些东西,等于一个完整的单片机,当然也可以增或者减少) 注意邮 ...
- 一文搞懂CPU、MPU、MCU、SOC的联系与区别
转载于read://https_www.elecfans.com/?url=https%3A%2F%2Fwww.elecfans.com%2Fd%2F1813764.html 1 CPU CPU(Ce ...
- CPU巨型机,大型机,中型机,小型机和微型计算机中央处理器都称为CPU、MPU(微型化的CPU,在微机中CPU=MPU)、MCU和SOC
CPU CPU是Central Processing Unit的缩写,计算机的运算控制核心就是CPU.CPU是由运算器.控制器和寄存器及相应的总线构成.众所周知的三级流水线:取址.译码.执行的对象就是 ...
- CPU、MPU、MCU、SOC的概念和区别
概念 1.cpu cpu(central processing unit)是一台计算机的运算核心和控制核心,CPU由运算器.控制器和寄存器以及实现他们联系的数据.控制总线构成,cpu典型的三级流水线操 ...
- ARM-CPU工作原理,基于ARM的SOC讲解
CPU原理,基于ARM的SOC讲解 一.计算机架构 在了解计算机架构之前,我们先来认识几位对计算机的发明做出关键共享的几位大佬. 1. 巴贝奇 机械计算机之父,英国贵族,曾孤军奋战下造出的第一台差分机 ...
- 2. 从0开始学ARM-CPU原理,基于ARM的SOC讲解
关于ARM的一些基本概念,大家可以参考我之前的文章: <到底什么是Cortex.ARMv8.arm架构.ARM指令集.soc?一文帮你梳理基础概念[科普]> 关于ARM指令用到的IDE开发 ...
最新文章
- JAVA应用小程序(Applet)
- 记录call、apply、bind的源码
- ASP.NET MVC涉及到的5个同步与异步,你是否傻傻分不清楚?[下篇]
- java阻塞超时_JAVA防线程阻塞(超时控制)
- P4011 孤岛营救问题
- haproxy keepalived_Haproxy+KeepAlived+Mycat实现高可用集群
- linux 双网卡 双交换机,linux双网卡bond及交换机配置
- Python3.0的新改动
- dubbo mysql_Dubbo学习系列之六(微服务架构实战)
- 投简历:求求你给我个机会「小废物招聘全记录①」
- 史上最全人工智能英文原版PDF教材1.03G资源包Artificial Intelligence
- mysql 查询视图_MySQL查看视图
- 微博缓存视频导出自行解决方案
- endNote教程 -4-编辑参考文件格式
- uni-app 退出app操作
- 拓扑学+计算机,拓扑学是什么
- 关于如何在coursera.org上旁听好课
- MATLAB函数bsxfun
- 第六章 Wi-Fi扫描流程
- c语言统计字母字符数字字符个数,C语言统计字符个数代码分享
热门文章
- git pull --rebase PK git pull
- MySQL数据库综合练习4
- php 数据常驻内存,Asf PHP开发之配置信息常驻系统内存
- 用java怎么算学生的学分绩点,pyhthon 求GPA平均学分绩点
- [附源码]计算机毕业设计Python游戏交易平台(程序+源码+LW文档)
- pta 天梯赛 7-2 圆形体体积计算器 (20 分)day5
- Geospatial Data Science (1):Introduction and Geometric objects
- Python 竟能绘制出如此酷炫的三维图
- 啃完这些 Spring 知识点,我竟吊打了阿里面试官(附面经 + 笔记)
- VS2017调试Qt源码