聊聊TDA4芯片异构芯片设计、启动及工作原理

发布时间:2023-06-29  

超异构芯片是具有高水平的系统集成,以实现先进汽车的可扩展性和更低成本的支持集中式 ECU。关键核心包括具有标量和矢量内核的下一代 DSP,专用深度学习的NN计算核和传统算法加速器,用于通用计算的最新 ARM 和 GPU 处理器,集成的下一代生成成像子系统 (ISP),视频编解码器,以太网集线器和隔离的 MCU 功能安全岛,所有受保护汽车级安全和安保硬件加速器等。

图片

一般情况下,除了芯片选型外,设计超异构芯片时需还要满足如下设计规则:

  • 片上存储器应设计 ECC 保护并互连

  • 内置自检 (BIST) 、故障注入CPU 和片上RAM

  • 对于引脚错误设置故障信号模式

  • 运行时安全诊断、电压、温度和时钟监控,窗口化看门狗定时器,用于存储器的 CRC 引擎完整性检查

  • 可用于应用的功能安全需要满足 ISO26262 要求的ASIL D

  • 启用需要大量数据的系统带宽、PCIe 集线器和千兆以太网交换机以及 CSI-2 端口以支持许多传感器输入的吞吐量。

1.超异构芯片内核解析

对于超异构芯片而言,一般是基于异构、可扩展的架构开发,多核异构的优点是各核充分发挥其处理效能的优点,再加上专用硬件加速器也可处理特定任务,从而在性能、功耗和成本上达到最佳平衡。

当前被各厂家广泛使用比较成熟的超异构芯片当属TI的Jacinto™ 7 家族的处理器了,当然这也只是初级超异构芯片。不同厂家对其使用方式不完全一致,有将其完全作为SOC芯片使用的,充分使用了其上的AI算力,有些厂家在不太考虑其安全等级要求的情况下也可能将其当做MCU来使用。

本文将以TI的这块TDA4的芯片为例进行详细介绍,说明相应的内部架构。

图片

其中主要的几个异构模块包括如下:

1)处理器及加速器

①MCU域:

相当于异构芯片域控的MCU芯片单元所起的作用,用于启动底层硬件驱动、同步时间,启动操作系统及顶层应用软件中控制执行类部分逻辑运算。这里MCU域主要是指MCU Island中用于锁步功能的Arm Cortex-R5F充当;TI这类超异构芯片而言,CPU模块(Cortex R5F)用于对SOC域核周边对应的模块需要单独进行电压和时钟设计,同时,采用专用内存和接口确保其能够与更大的 SoC 隔离。

②SOC域:

此类模块通常使用高度定制化的NN加速器来实现。在环境感知模块中都会涉及大量的典型神经网络(NN)的运算,过程中深度学习算力主要被消耗掉。包括常见的各类图像、激光点云检测算法,比如物体检测、车道线检测、红绿灯识别等。

以TI为例设计的异构芯片中,微处理器系统端包括:Arm® Cortex®-A72和Arm® Cortex®-R5F、C71、C66几大模块。

其中,在各家域控Tier1开发过程中一般会考虑在A72上运行HLOS(如Linux或QNX),其余核则运行RTOS,整个运行核均可支持AutoSar。使用A72独立双核集群配置有助于多操作系统应用对软件管理程序的最低需求。

R5F子系统支持低级时序关键处理任务,用于实时性要求比较高的硬件驱动。使用C71(MMA)进行深度学习神经网络NN和模型运算,所以说MMA主要计算单位主要是以Tops为计算单位。

DSP处理器(C66)功能包含前端和后端视觉处理两方面。前端视觉主要是NV12转BGR、环视拼图,后端进行浮点运算用以充当AI加速器的CNN后处理。

如上这种结构是一种典型的AI运算模块(又称为AI-DSA),适用于对AI运算性能要求高,算法相对稳定的情况。由于AI-DSA模块在整个智能驾驶场景运算上使用更为普遍,性能更加敏感,对于云端、边缘计算及自动驾驶几段场景的工程化落地更加具有可使用性。

③GPU域:

用于图像处理加速单元,包含大量浮点运算和实现动态 3D 渲染以增强观看效果应用程序。同时GPU域也可以认为是高效率的AI运算平台,对于异形场景CornerCase的适配计算效率是最高的。

如上如果兼顾执行效率和执行性能上,可以做自适应的AI算力分配,普通场景的AI运算可以采用常规CPU+DSA方式进行,而特殊边缘场景可以采用GPU加速核方式进行高效能计算。

④其他处理模块:

VENC/ VDEC用于视频编解码单元,通常高性能的超异构芯片需要适配H.265/HEVC这类高清视频编码器。对于下一代自动驾驶系统来说可以提供更高清的视频编码能力,实现高清视频压缩传输。

VPAC(Vision Processing Accelerator)用于对图像进行去畸变、下裁剪(Crop)、重整型(Resides)。其目的是确保输入给神经网络单元进行处理的图像已经被初步处理过了,这样可以提升图像网络处理速度和性能。

如下图是以简单的图像传输和处理可以讲清楚在这一类超异构芯片上如何进行数据链路的传输和处理。

图片

2)存储单元

下图是大多数开发板所有的一个存储单元框架,接下来以此图为基础描述ARM芯片的上电启动流程。

图片

ROM: 芯片内部固化存储代码的存储器,其中固化在芯片iROM中的启动代码为BL0。

RAM: 在ROM启动运行的时候,只有RAM是可用的,因此必须要自动从外扩存储器(nand/sd/usb)中拷贝的uboot.bin二进制文件的头最大16K(一般是4K或8K)代码(BL1)。

SDROM: 芯片外部的运行内存,由运行在RAM上的BL1进行初始化,用于运行BL2与应用程序。

Nand Flash : 芯片外部非易失闪存技术的存储器,没有地址总线,不能直接运行代码,需要将代码加载到RAM上面才能运行。

就举例的TDA4芯片而言,BL1 和 BL2 没有被集成(Jacinto7集成 了 DMSC&MCU R5 取代了 BL1 和BL2 的功能), BL31 执行 ATF,BL32 执行 OP-TEE,BL33 是SPL/U-boot。

相应的存储单元涉及Main域和MCU域的管理,且两域分别单独用于片上共享存储单元,他们分别通过多核共享存储控制器MSMC实现相应的存储管理。TDA4内部还存在LPDDR4 w/ECC模块,即使未使用 DDR 接口,其VDDS_DDR均需要使用 LPDDR4 电压范围进行供电。

2.超异构芯片的启动说明

对于超异构芯片而言,由于采用了多核异构的架构,因系统需求的差异,其相应的启动流程也有一定的差异性,并且由于集成多核制会导致其启动流程比单核和多核同构的处理器会复杂些。

Bootloader 是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。两种bootloader 可以选择 SPL (Secondary Program Loader)或 SBL(Secondary bootloader)两种驱动加载。

SPL表示程序加载,分为两级加载程序过程。第一级Bootloader是指从ROM 里面的程序中根据启动方式的选择引导并加载 SPL。第二级Bootloader是指对硬件的初始化过程,引导下一级的 bootloader 核或加载并运行应用程序。

SBL表示驱动加载。可以实现对外围设备进行配置,比如 DDR,可以加载并启动其它核。为了满足快速启动 MCU 执行相关的应用,MCU可以先启动,然后使用BOOT APP 进而引导其它应用程序。在 SBL 启动流程中,SBL 可以直接加载 Linux内核和 DTB。

如下图显示了完整的异构芯片TDA4的程序加载过程。

图片

对于如上超异构芯片而言,用的最广的要数ARM Cortex-A72核了,因为其在整数、浮点、内存等性能皆有不同程度的提升,虽然还缺少一些细节,不过IPC性能上相对于之前的产品提升了16-30%左右。如下图表示了芯片A72的具体启动原理。

图片

整个代码启动运行过程包括首先把BL1加载到RAM中运行,然后由BL1对SDRAM进行初始化。最后,代码重定向完成后在内存中执行的uboot的完整代码BL2。

从应用层面的系统需求来讲,不同的应用可以部署在不同的核,不同核的启动时序影响着系统需求是否能实现。总体来讲,针对系统的应用需求,可能有如下的额外要求:提前Can信息响应、提前启动画面、提前启动摄像头、 提前分配Linux使用空间、提前显示视频动画等。我们应设计合理的 Soc 启动流程来满足系统的需求。


3.总结

超异构芯片Super SOC作为ADAS系统普遍应用的处理器,在面向 ADAS 和自动驾驶车辆 (AV) 应用过程中起着举足轻重的作用。智驾领域中,SOC需要深度学习算法中会比传统芯片提供提供高性能计算能力,同时可以有效优化其功耗和系统集成度。最终实现支持集中式ECU 或多种传感器的高级汽车平台实现可扩展性和更低的成本。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    17条PCB布局法则,轻松搞定80%以上的设计;当我们对整个电路原理分析好以后,就可以开始对整个电路进行布局布线。Today,我们唠唠布局的思路和原则。本文引用地址: 1、首先,我们......
    板的第一步。 接下来,我们进入第二步——分析电路原理图。 电路原理图,可以看作是电路板的灵魂蓝图,它展......
    ,“com2”和“open2”相通。其电路原理图1.1所示: 2.参考电压源模块 在系统板上写有“参考电压源”区域中,是由TL431来完成参考电压的调节,调节范围在0-2.50V之间;主要为是系统板上需要参考电压芯片......
    1.25V的稳压源。当输入到3脚的电压高于或低于1.25V时,芯片会自动调节PWM占空比的减小或增大,以得到稳定的输出。 图2.1 基于MAX1771的Boost电路原理图 LED 的排列方式及LED......
    运算放大器反相放大电路仿真应用解析; 目录 一、反相放大电路原理(简化电路) 二、反相放大电路电路原理(实际特性) 2.1原理......
    图1为数字万用表直流电压测量电路原理图,该电路是由电阻分压器所组成的外围电路和基本表构成。把基本量程为200mv的量程扩展为五量程的直流电压挡。图中斜线区是导电橡胶,起连接作用。 图1......
    结构如下。 又或者BUCK芯片电路中的续流二极管 5、检波作用 峰值检波电路......
    基于HT82207的西方音乐发生器电路原理图;这是基于单片IC HT82207的西方音乐发生器电路原理图。这条赛道能够带您进入狂野西部的世界。西方音乐已经在芯片中编程。它采用 Holtek 的集......
    7408、7402 逻辑门用来实现6800 时序(读写信号有独立接口的是8080 时序,这里只有使能信号E,需要外逻辑电路将读写信号相与合并使用)。 图3 LCD1602接口电路原理图 以上......
    转速发生电路原理图、图4相位发生电路原理图、图5显示屏幕电路原理图: 图2:系统图 图3:转速发生电路原理图 图4:相位发生电路原理图 图5:显示屏幕电路原理图 1.1 旋变......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>