SoC片上系统:从原理到应用的全面解析
2024-05-10 09:34:32 10,213
片上系统简称Soc,狭义上是信息系统核心的芯片集成,即将系统的关键部件集成在一块芯片上;从广义上讲,SoC是一种微小型系统。如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。国内外学术界普遍倾向于将SoC定义为将微处理器、模拟IP核、数字IP核和存储器(或片外存储器控制接口)集成在单个芯片上,通常是定制的或面向特定用途的。标准产品。
#SoC#定义的基本内容主要有两个方面:一是其组成,二是其形成过程。系统级芯片的组成可以是系统级芯片控制逻辑模块、微处理器/微控制器CPU核心模块、数字信号处理器DSP模块、嵌入式存储器模块以及与外部通信的接口模块、ADC /DAC模块。模拟前端模块、电源、电源管理模块,对于无线SoC来说还有射频前端模块、用户自定义逻辑(可以用FPGA或ASIC实现)、微机电模块等重要的是,SoC芯片内嵌有基础软件(RDOS或COS等应用软件)模块或可加载的用户软件等。片上系统的形成或生成过程包括以下三个方面:
(1)基于单片集成系统的软硬件协同设计与验证;
(2)有效提高逻辑区技术的使用和产能比例,即开发研究IP核生成和复用技术,特别是大容量存储器模块嵌入等的重复应用;
(3)超深亚微米(VDSM)和纳米集成电路设计理论与技术。
SoC设计关键技术
SoC关键技术主要包括总线架构技术、IP核复用技术、软硬件协同设计技术、SoC验证技术、可测试性设计技术、低功耗设计技术、超深亚微米电路实现技术、嵌入式软件移植等。
一个能够实现一定功能的电路系统是由多个模块组成的,如处理器、接口、存储器、模数转换器等。这些功能模块可以通过分立器件实现,然后组合在印刷电路板(PCB)上,最终形成板上系统。车载系统示意图如下所示:
上图所示的板载系统中,绿色矩形代表印刷电路板(PCB),上面各种颜色的小矩形代表系统中的各种功能模块,例如存储器。这些模块的功能由独立的硅芯片实现,并通过PCB上的金属走线连接,最终形成一个完整的系统。
片上系统是指在单个硅芯片上实现整个系统的功能。示意图如下:
如上图所示,片上系统(SoC)将存储、处理、逻辑、接口等各种功能模块实现在一个芯片中,而不是像系统那样需要几个不同的物理芯片来实现。与板载系统相比,SoC解决方案成本更低,能够在不同系统单元之间实现更快、更安全的数据传输,具有更高的整体系统速度、更低的功耗、更小的物理尺寸和更好的可靠性。
SOC与 CPU的区别
SOC:指片上系统,即将多个电子系统集成到单个芯片中,可以处理数字信号、模拟信号,甚至混合信号,常用于嵌入式系统。 SoC是系统级芯片,具有MCU集成度高和MPU超强计算能力的特点,即内置RAM和ROM,功能与MPU一样强大。 SoC可以存储和运行系统级代码,即可以运行操作系统(主要是LinuxOS)。可以这样比较:MCU只是芯片级芯片,而SoC则是系统级芯片。它集成了MCU和MPU的优点,即内置RAM和ROM,功能与MPU一样强大。
CPU(中央处理单元):是计算机的计算核心和控制核心。 #CPU#由运算器、控制器和寄存器以及实现它们之间连接的数据、控制和状态的总线组成。几乎所有 CPU 都分四个阶段工作:获取、解码、执行和写回。 CPU从内存或高速缓存中取出指令,放入指令寄存器,解码指令并执行指令。所谓计算机的可编程性主要是指CPU的编程能力。
早期的CPU
早期的CPU,芯片集成度很低。 CPU是单芯片。它只集成了一个运算单元和一个控制器。它只能计算和控制。这个时候CPU内部的能力就派不上用场了。内存、CPU剩余内存无法计算。当年CPU里是没有内存的,因为内存不能集成,其他的比如串口也不能集成,所以只有一个CPU。如果需要使用串口,则需要在CPU外部使用串口控制芯片。 PCB走线与CPU相连,然后整个PCB板就由CPU组成,这些外围芯片就称为系统板。该系统板可以与另一个系统板通信。 CPU 通过其串行端口控制器与另一个系统通信。板卡上的串口控制器进行通信,串口控制器等功能无法集成到CPU芯片中。例如,如果这里也使用LCD,则需要在外围添加LCD控制芯片,并通过接线与CPU连接。由这些芯片组成的整板称为系统板。这些 UART 控制器和 LCD 控制器称为外设。将它们与CPU结合在一块板上是目前K60芯片实现的功能,但它们被集成到一个小芯片中。这里的外设是指系统板内部,CPU以外的外设称为外设,CPU内部称为内件,内部只有运算单元和控制器的称为内件。
目前的系统芯片
目前CPU的集成度非常高。以上功能现在都集成到CPU中,成为一个芯片。比如我现在使用的K60芯片就有这些外围功能。早期CPU外设的四颗芯片现在都集成到一颗芯片上了,所以现在的系统就是在一颗芯片上。也就是片上系统(SoC),所以理论上CPU和SoC是有区别的。标准CPU是指早期仅包含运算单元和控制器的芯片,而SoC则将系统集成为一个整体芯片。所以,现在买的芯片都是SoC,标准的CPU买的也不算太大。现在的CPU内部集成了很多外设。
SoC 与 SoM
片上系统 (SoC)
片上系统 (SoC) 是嵌入式架构的核心,也是实际图像处理发生的地方。在许多情况下,技术术语“SoC”通俗地等同于“处理器”。但实际上,SoC 包含的内容远不止这些。除了单核或多核并行CPU(中央处理单元)外,还有GPU(图形处理单元)、接口控制器(如USB、以太网、I²C等)、内部总线系统、多媒体硬件(如(如视频编码和视频解码)、内部电源管理等,全部包含在这个单芯片中。简而言之,SoC 巧妙地将 PC 中的许多核心组件集成到一个中。
NVIDIA的Tegra K1、高通的Snapdragon 820、NXP的I.MX系列都是当前一代SoC的杰出代表。
智能手机和平板电脑的快速普及,使得SoC技术得以发展。苹果和三星等主要制造商有能力生产自己的 SoC。开发专有的 SoC 很容易花费数百万(甚至数十亿),许多公司无法承担如此高的成本。
SoC 实际上是嵌入式计算机模块。它包括CPU、GPU、总线系统和接口控制器。
模块系统 (SoM)
科技型中小企业的处境稍微尴尬一些。一方面,SoC技术使得强大的处理器能够被紧凑地构建,这一点非常了不起,因为它使得下一代产品变得更小、更快。另一方面,制造专用SoC所需的高昂开发成本使得公司无法自行开发该技术。使用大众制造商的现有 SoC 会对业务更有利。
许多公司(如Toradex、Inforce、SECO等)都在试图改变这种困境,从而开发出“系统模块”(SoM,有时也称为“计算机模块[CoM]”)技术。 SoM 包含 SoC。它配备了 RAM(内存)、电源管理和其他总线系统等重要组件来控制组件,也使 SoC 非常有用。例如:如果SoC是一个不与外界连接的工厂,SoM会添加仓库,连接水电,在街道上添加网点,并与工厂负责人进行沟通。
SoM 具有一个或多个标准化插头连接器,可用于 SoM(也用于 SoM 上的所有组件,包括 SoC)与外界进行通信。事实上,这些插头连接器无法连接到网络、电源或相机等外部设备。连接时需要载板。
然而,只要涉及到 SoM,就意味着 SoC 已经包含在组件中。
模块系统 (SoM) 是小芯片上的完整(计算机)系统。 SoM可以作为一个完整的模块使用。