华为胡厚崑:中国算力网络标准需统一,硬件、应用接口、数据共享应相互兼容
480 2022-09-26
看到这个问题,也看了下各位达人的解答,说的已经很全面了,道理也很通俗易懂。我不说教材性质的定义,只从工程应用的角度来回答这个问题。
我一般在工作计划和原理图的说明上,就直接将STM32或者STC89的单片机,标注为MCU。
无论是理解为Micro CPU,还是Microcontroller Unit,我认为都行,也没有仔细去区分去过。自从32位单片机出来后,一些单片机设计的系统确实是具备部分电脑的功能。
你看下面的截图是使用STM32的主控做的系统,桌面的风格和手机是不是特别像。功能上可以看电子书,可以照相,可以看相册,甚至打电话也是没一点问题。
说到这里可能得稍微说一下嵌入式,这名词的范围比较大,我也就取用狭义的一种定义,基于单片机的嵌入式设计(不涉及MMU)。
单片机不是凭空出现的,下面很多优秀的回答已经说明这一点了。开始的单片机使用的x86架构,什么是x86打开电脑的C盘去看看,或许能够得到一点启发。
因为电脑是一个成熟的系统,用着很爽,但是有些小的地方,用不着这么大的家伙,太浪费。我就是想驱动数码管显示一个倒计时的数字就行,你给我一台PC,拿着电费谁出。
所以单片机之所以是“单”,是因为它一个精简的系统。另一方面,也意味着他可以单独运行,当然因为工艺的原因,晶振和电容还是外置的。
在单片机的最小系统之外,其他的电路都是可以剪裁的。甚至我们可以为它加上不同的内存。看下图,这个里面就说了,你喜欢什么样的存储自己选,SRAM、NOR、NAND。后宫佳丽三千人,个个是美人。
当然,你不选也行,单片机一样能跑起来,所以它叫单片机。
本来说单片机的,说了MCU已经是偏题了,怎么还有个SOC。是不是只听说过SOS,没关系听我慢慢道来。
上面的STM32单片机,仔细分其实可以分为ARM核和外设,这个是不同的公司做的,具体的内容我也说不清,毕竟我只是个应用工程师(复制+粘贴)。
所谓的SOC其实就是system on ship 的意思,片上系统。它集合了ARM核和外设以及特殊的外设,比如蓝牙、wifi是最常见的。
由于对蓝牙稍微熟悉一点,所以就说说其中的一款------NRF51822。这里是集成了M0的内核,特殊的外设是蓝牙功能。
在官方下载了SDK,我们就能在一块IC上完成STM32单片机+蓝牙模块的功能。当然,这里的最小电路就多了天线的发射电路。
其他的IC 分论,就单单这个IC来说,它的应用编程就很有意思。
当你不使用蓝牙功能的时候,它有一套程序运行的定义地址,不需要协议栈;如实需要蓝牙功能,即便是点灯的程序,程序的大小就要增加200K+。
这是什么概念呢,就拿NRF51822QFAA来说,Flash一半没有了。
说了这么多,单片机是什么呢,简单理解为:厂商---将电脑精简为单个芯片,现场---特殊的环境下外围电路由工程师随便加的IC。