0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

汽车ECU开发 来源:焉知智能汽车 2023-03-27 18:07 次阅读

超异构芯片最近是比较火的一个名词,其集中特性是将各类不同的芯片内核进行融合,这种集成式芯片设计可以充分整合芯片资源,进一步提升数据计算效率。并且由于芯片在设计之初就打通了相互之间互通兼容性,其内部功能划分和交互统一构建的逻辑优化,相比单芯片功能方案而言,可以显著降低彼此功能和交互的各种掣肘;并且很多设计原理图上可以在芯片之间通过共享某些资源,融合型单芯片可以进一步降低成本。

另外,对于自动驾驶系统设计而言,(80%-90%)的轻量级场景+10%左右的挑战场景+10%左右的极端场景需要提供高性能以行业领先的功率/性能比计算传统和深度学习算法,这些完全可以通过超异构的不同芯片核进行覆盖,充分降低复杂度和系统规模。

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

34020662-cb0b-11ed-bfe3-dac502259ad0.png  

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

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

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

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

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

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

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

1.超异构芯片内核解析

对于超异构芯片而言,一般是基于异构、可扩展的架构开发,多核异构的优点是各核充分发挥其处理效能的优点,再加上专用硬件加速器也可处理特定任务,从而在性能、功耗和成本上达到最佳平衡。 当前被各厂家广泛使用比较成熟的超异构芯片当属TI的Jacinto 7 家族的处理器了,当然这也只是初级超异构芯片。

不同厂家对其使用方式不完全一致,有将其完全作为SOC芯片使用的,充分使用了其上的AI算力,有些厂家在不太考虑其安全等级要求的情况下也可能将其当做MCU来使用。 本文将以TI的这块TDA4的芯片为例进行详细介绍,说明相应的内部架构。

3413b61e-cb0b-11ed-bfe3-dac502259ad0.png  

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

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

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

342df614-cb0b-11ed-bfe3-dac502259ad0.jpg  

2)存储单元

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

3445d6da-cb0b-11ed-bfe3-dac502259ad0.jpg  

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的程序加载过程。

34548130-cb0b-11ed-bfe3-dac502259ad0.png  

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

347bc5a6-cb0b-11ed-bfe3-dac502259ad0.jpg  

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

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

3.总结

超异构芯片Super SOC作为ADAS系统普遍应用的处理器,在面向 ADAS 和自动驾驶车辆 (AV) 应用过程中起着举足轻重的作用。

智驾领域中,SOC需要深度学习算法中会比传统芯片提供提供高性能计算能力,同时可以有效优化其功耗和系统集成度。最终实现支持集中式ECU 或多种传感器的高级汽车平台实现可扩展性和更低的成本。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 加速器
    +关注

    关注

    2

    文章

    770

    浏览量

    36779
  • 编解码器
    +关注

    关注

    0

    文章

    230

    浏览量

    24050
  • ecu
    ecu
    +关注

    关注

    14

    文章

    834

    浏览量

    54046
  • adas
    +关注

    关注

    309

    文章

    2089

    浏览量

    208155
  • 异构芯片
    +关注

    关注

    0

    文章

    9

    浏览量

    2059

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

文章出处:【微信号:eng2mot,微信公众号:汽车ECU开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电源芯片工作原理 电源芯片怎么测好坏 电源芯片如何接到pcb板上

    电源芯片工作原理 电源芯片怎么测好坏 电源芯片如何接到pcb板上 电源芯片是电子设备中常见的一种集成电路,用于提供稳定的直流电源给其他电子
    的头像 发表于 03-28 15:37 3413次阅读

    FPGA芯片工作原理和使用

    FPGA(现场可编程门阵列)芯片的使用和工作原理对于初学者来说,可能是一个相对复杂但非常有趣的学习领域。
    的头像 发表于 03-27 14:59 437次阅读

    集成芯片工作原理 集成芯片的作用有哪些

    集成芯片(Integrated Circuit,简称IC)的工作原理和作用可以从以下几个方面来理解。
    的头像 发表于 03-25 13:53 537次阅读

    光电集成芯片工作原理是什么

    光电集成芯片工作原理涉及了光学和电子学的深度融合,展现了科技的前沿魅力。这种芯片结合了光子和电子的特性,通过精密的设计和制造工艺,实现了光信号和电信号之间的高效转换和处理。
    的头像 发表于 03-20 16:06 423次阅读

    集成芯片测量工作原理

    集成芯片测量工作原理主要涉及到一系列的技术和步骤,用以验证芯片的功能和性能。
    的头像 发表于 03-19 16:55 401次阅读

    555集成芯片工作原理

    555集成芯片工作原理主要基于其内部电路结构和外部连接电路的共同作用。
    的头像 发表于 03-19 15:46 1453次阅读

    基准电压芯片工作原理是什么?

    基准电压芯片工作原理是什么? 基准电压芯片是一种常用于电子设备中的重要元件,用于产生稳定的电压信号。其工作原理涉及到稳压原理、参考电压和反馈控制等方面,下面将详细介绍基准电压
    的头像 发表于 01-29 15:33 1690次阅读

    异构专用AI芯片的黄金时代

    异构专用AI芯片的黄金时代
    的头像 发表于 12-04 16:42 380次阅读
    <b class='flag-5'>异构</b>专用AI<b class='flag-5'>芯片</b>的黄金时代

    异构集成 (HI) 与系统级芯片 (SoC) 有何区别?

    异构集成 (HI) 与系统级芯片 (SoC) 有何区别?
    的头像 发表于 11-29 15:39 778次阅读
    <b class='flag-5'>异构</b>集成 (HI) 与系统级<b class='flag-5'>芯片</b> (SoC) 有何区别?

    电压检测芯片工作原理 电源电压检测芯片的构成

    电压检测芯片工作原理 电源电压检测芯片的构成  电压检测芯片是一种常用的电子元件,用于监测电源电压的变化并提供相应的反馈信号。它在电子设备中起到了至关重要的作用,保护了电路不受过高或
    的头像 发表于 11-09 09:36 2904次阅读

    什么是时钟芯片?时钟芯片工作原理 时钟芯片的作用

    什么是时钟芯片?时钟芯片工作原理 时钟芯片的作用 时钟芯片是一种用于计算机或其他电子设备中的集成电路,它提供精准的时钟信号。时钟信号是计算
    的头像 发表于 10-25 15:02 3675次阅读

    芯片是如何工作的呢?工作原理是什么呢?芯片是如何实现运算的?

    芯片是如何工作的呢?工作原理是什么呢?芯片是如何实现运算的? 芯片是一种集成电路器件,其中包含了很多个晶体管、电容、电阻和其他元件。这些元件
    的头像 发表于 10-25 15:02 7042次阅读

    TDA4 SPL SBL启动流程简析

    TDA4是TI推出的一款高性能、超异构的多核SoC,拥有ARM Cortex-R5F、ARM Cortex-A72、C66以及C71内核,可以部署AUTOSAR CP系统、HLOS(Linux
    的头像 发表于 10-24 16:37 1363次阅读
    <b class='flag-5'>TDA4</b> SPL SBL启动流程简析

    buck芯片工作原理

    Buck芯片基本的工作原理是将输入电压转化为脉冲信号,然后使用电感和输出滤波电容将其转换为稳定的输出电压。Buck芯片的脉冲宽度调制(PWM)控制的信号是由一个比较器产生的,它将一个固定的参考电压与反馈在输出电压上的电压比较。
    的头像 发表于 08-26 10:05 2191次阅读

    k2184芯片工作原理

    k2184芯片工作原理 K2184芯片是一款非接触式IC卡芯片,具有高度的安全性和稳定性,被广泛应用于门禁系统、物流管理、会员卡、公交卡等领域。它采用密码学算法,支持加密解密操作和卡片
    的头像 发表于 08-17 11:28 808次阅读