微控制器与片上系统


24

我开始对微控制器进行编程,并且正在阅读一些文档和教科书。我对微控制器和片上系统之间的区别感到困惑吗?

一些文档可互换使用这两个术语。但是大多数教科书指出,交替使用两个术语是不正确的,因此必须有一些显着的区别...

谢谢!


4
感谢您接受我的回答,但我真的建议您下次等待更长的时间再接受。其他人可能有不同的看法和见解,但通常可能会忽略一个已经接受了答案的问题-我知道我愿意。您想花一些时间收集共识,尤其是对于涉及灰色区域的问题。
奥林·拉斯洛普

@Olin Cool,下次请记住这一点!
2011年

Answers:


27

微控制器是一种内置了程序和数据存储器的处理器。这些芯片专用于小型嵌入式控制应用,因此,将引脚留给I / O而不需要外部存储器总线非常有用。一些微控制器只有6个引脚,可以做有用的事情。将其与用于PC的通用计算处理器进行对比。这些东西在阵列中有数百个引脚,并需要大量的外部电路。

对于片上系统,这是一个定义不太明确的术语。塞浦路斯称其某些零件为PSOC(可编程片上系统)。这些基本上是在同一芯片上具有小型FPGA的微控制器。无需内置外设,您就可以在FPGA的可用资源内进行所需的任何操作。

总的来说,我认为片上系统是一个微控制器,其中集成了一些所谓的系统级逻辑。当然,您尝试进入系统的距离越远,使用任何一套额外的硬件的可能性就越小,因此某种可配置性非常有用。但是,就目前而言,“片上系统”更多是市场术语,而不是真正的术语。


20

片上系统(或SoC)是行销人员使用的一个笼统的词,实际上并没有多大意义。也有许多变化,例如:

PSoC:赛普拉斯半导体公司的可编程片上系统。

SOPC:Altera的可编程芯片上的系统

本质上,SOC是一个单芯片,可以完成过去占用多个芯片的所有工作。没有什么可以说必须包含CPU或RAM。因此,由于我们可以在芯片上安装更多的晶体管,并且已经在芯片上获得越来越多的功能,因此与10或20年前相比,几乎所有东西都可以称为SoC。 !

更糟糕的是:有很多被称为SoC的示例,它们仍然需要多个芯片才能发挥作用。通常,您会遇到某种形式的CPU +外设,但仍需要外部Flash,RAM和电源。因此,即使SoC名称也具有误导性。

MCU可能是SoC应该是的最简洁的示例-但这是一个非常有限的示例。


@ David-kesner +1作为SoC的营销用语。
弗兰克,

12

通常,将微控制器视为嵌入式设备,该嵌入式设备在内部进行编程以执行特定任务。用户交互最少,几乎没有灵活性。微控制器通常功耗很低,仅具有少量的内存和ROM(闪存)。

相反,片上系统是频谱的另一端。它更适合于完全的灵活性和用户交互。它通常包括诸如用于较大硬件的IO驱动程序(例如硬盘驱动器等),甚至有时还包括图形适配器。片上系统更像是完整的计算机系统,是的,在芯片上。

两者之间有很多交叉点-什么时候停止成为微控制器而开始成为片上系统?这是很多困惑的来源。

基本上,如果它能够执行计算机可以执行的操作,那么它就是片上系统。例如,如果要安装在管理联系人列表的台式电话内,键盘输入系统中或在CNC机床上运行电机,那么它就是微控制器。

ps,请不要在此引用我的信息-正如我所说的,两者之间存在很多交叉。


5

从某种意义上说,这种区别更多地与营销相关,而不是技术上的相关,但我建议通常,微控制器的“可编程”部分仅限于单个相对狭窄的“意识流”。本质上,在任何给定时刻,微控制器的下一个相对较小的操作都将由其编程方式决定,但是系统中的所有其他逻辑都是硬连线的,并且将在构建时执行。诸如计时器之类的东西可能会提供一些配置选项(例如,以固定速率进行计数,而不是对输入上的脉冲进行计数),但总的来说,系统的接线是固定的。如果希望响应某些输入信号而改变某些输出信号,并且没有明确的硬件可以做到这一点,程序将必须定期查看输入信号,如果更改,则切换输出信号。如果希望输出模拟电压响应输入模拟电压而发生变化,则处理器可以对输入电压进行采样,计算所需的响应,并请求所需的输出电压。可以通过让处理器查看输入并计算输出来产生实际类型的所需刺激/响应,但是响应时间通常比专用硬件所产生的响应时间要慢几个数量级。

片上系统的总体思想是允许为电路提供足够的多路复用器和其他路由功能,以便信号可以通过电路路由以产生许多有用类型的激励/响应模式,而无需处理器干预。这样的电路无法产生与处理器产生的速度一样快的刺激/响应模式,但是在许多情况下,它们可以比处理器能够执行的速度快几个数量级。


2

在我看来,SoC是具有很多定义的术语,实际上它会随着时间的推移而不断变化。另一方面,十年后将以同样的方式定义微控制器。当您说微控制器时,它在单个芯片上附带了一些基本的东西,例如存储器,IO端口,计时器和计数器等...但是当您说SoC时,它没有关于什么的特定标准。它应包含的电路类型。例如,他们试图将SoC引入其中的主要应用是Smartphone。在当前情况下,智能手机应包含一些基本的车载功能,例如,

  1. NFC
  2. 全球定位系统
  3. 加速度计和陀螺仪
  4. 无线上网
  5. CPU和GPU

在目前的情况下,如果我想制造智能手机,我必须拿起一个CPU和一个GPU,并与之接口。但是SoC基于单芯片的概念,该芯片具有以上所有功能,并且具有发展的能力(尽管以非常基本的方式)。另外,我说SoC的定义在不断变化,因为对智能手机,计算机或任何电子设备的基本要求将日益提高,而SoC的定义也会随着这些要求而变化。


0

是的,SoC基本上是一个经常使用的营销术语。有设备和主机术语。主机是戴尔,惠普,IBM等大型PC制造商,它们内部使用的CPU通常是英特尔,AMD等制造的。主要在主板上提供CPU或SoC(称为CPU),有些还提供CPU + SoC(用于特定目的以减轻外围设备的活动,例如传感器或GPS设备,否则原本会非常耗电)它们直接连接到CPU)。SoC有时也称为协处理器,其工作与我之前写的工作相同。现在,与主板相连的是各种外设(基本上连接到CPU或SoC),这些外设基本上是通过和总线(i2c,SPI,USB)直接连接到它们(SOC或CPU),或者通常都连接到了微控制器。 。控制器制造商)以及PC制造商,因为他们正在获得更好的设备(外围设备+微控制器)。因此,最重要的是微控制器一词,您会在设备端(与SoC进行接口连接(现在您知道什么是SOC)了)和主机端SoC(在PC端)上会更频繁地看到。可以说CPU是父亲的工作,他将工作委托给SoC,以提高设备(Micro +外围设备)的电源性能.Soc基本上拥有更多内存来托管OS Unliek微控制器,最多可以支持RTO。


1
哇 !当人们这样做而没有声明太多需要的评论时,真的很喜欢下降投票!
拉乌普,2015年

3
目前还不清楚。我无法在这种意识流中进退两难。
ivan_pozdeev

0

总结一下,在我看来:

MCU通过使用提供不同功能的几种不同芯片来提供大量内存,VGA等接口以及GPU等功能。

MCU仅提供最少的内存,接口等,从而使所有组件都适合单个芯片。

SoC通过突破单个芯片可以完成的工作,将所有东西都集成到单个芯片上。

MCU可以通过最小化成本来实现价值,SoC可以通过最大化功能来实现价值,两者都在单个芯片上实现。如果它与TLL逻辑竞争,则可能是MCU。如果与微处理器(AMD,英特尔)竞争,则可能是SoC。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.