汽车电子与软件

文章数:1511 被阅读:4580472

datasheet推荐 换一换
随便看看
账号入驻

英飞凌 Aurix™ 2G TC3xx 入门介绍

最新更新时间:2024-07-09
    阅读数:

全文约4,600字


作者 | 林Nova

出品 | 汽车电子与软件


本文主要介绍Infineon Aurix™ 2G TC3xx系列芯片。




#01

前  言


英飞凌AURIX™ 2G TC3xx系列是针对汽车电子应用设计的高性能微控制器系列。这一系列产品采用了英飞凌的第二代AURIX( A u tomotive R ealtime I ntelligence e X tended)架构,满足功能安全ASIL-D,旨在满足汽车领域对安全性、性能和效率的严格要求。


AURIX™ 2G芯片从TC32X一直到旗舰的TC39X,覆盖多个性能和功能区间,给用户提供了较大的选择空间。下图是该系列芯片的官方命名规则:



自2018年发布以来,AURIX™ 2G TC3xx系列被众多主机厂以及零部件供应商选为控制器主控芯片,即MCU,与瑞萨RH850、恩智浦S32等系列共同占据着车规MCU的主流市场。




#02

内  核


2.1 内核介绍


我们知道,每款芯片都需要有内核架构,或者说内核指令集,比如ARM内核、RSIC-V内核等。


英飞凌Aurix™ 2G TC3XX系列芯片的内核架构是一种混合架构,同时结合了精简指令集计算机(RISC)和复杂指令集计算机(CISC)的特征,称为TriCore内核架构(以下简称TriCore)。它是一款专门为实时性进行了优化的32位的单核(这里的单核并非指芯片的单核,而是系统架构只涉及一个核,多核之间相互独立,区别于多核架构)嵌入式系统架构。并因此配套形成了独具特色的TriCore指令集系统。之所以命名为TriCore,是因为其集成了RISC架构、DSP架构和实时系统的技术于一体,形成了兼具三方优势的内核架构。



TriCore架构采用了RISC-V的高性能load/store数据处理模式,同时具有DSP的数据处理能力。TriCore是32位计算机系统,因此采用32位地址空间,支持可选的虚拟地址空间。


AURIX™ 2G TC3xx系列使用的是TriCore 1.6.2版本的内核,采用同构的方式,组成多核芯片。


2.2 上下文机制


TriCore内核独创了一种上下文保存机制,采用独立的Context Save Area(CSA)内存区域,将函数调用、中断、Trap等的上下文(寄存器、返回地址、PSW等)与栈进行隔离,大大提高了上下文的安全性。而且利用硬件自动保存、读取的机制,很大程度上提高了系统的实时性。



2.3 中断系统


TC3xx系列芯片采用的是一种中断路由的方式,通过IR模块去接收所有外设请求,然后路由到指定的CPU或DMA,进行中断服务(Service Request)。



其使用了中断服务例程与优先级绑定的中断向量表管理,极大程度上方便了中断的应用。


2.4 异常处理系统


TriCore具有完善的异常捕捉系统,称为Trap系统,其将异常分为8类,通过异常向量表进行管理,发生异常后由硬件进行上下文保存,并迅速跳转至异常处理例程中,极大程度提升了实时性。




#03

芯片架构


3.1 架构总览


MCU芯片包括CPU(内核)、辅助核、总线、存储系统、外设以及外部接口等,是计算处理和交互的总和。因此除了内核架构以外,芯片的架构设计也至关重要。下图是英飞凌官方的芯片架构示意图:


从图中我们可以看到,Aurix™ 2G TC3xx系列最多支持6个核,支持锁步功能,内核主频最高支持300MHz,且每个核集成了最多240kB数据RAM(Data Scratch Pad RAM, DSPR),配备16kB的DCache;每个核集成了最多64kB的程序RAM(Program Scratch Pad RAM,PSPR),配备32kB的PCache。Program Flash最多有16MB,被分成与核数量对等的物理块,每个核与其耦合的PFlash之间有内部接口,加速程序取值。


除了内核以外,TC3xx系列还集成了其他核。包括硬件安全模块(Hardware Security Module,HSM)、休眠控制器(Standby Controller,SCR)等,能够单独进行软件开发,与主核以核间通信方式进行交互。


另外还有一些IP核,以外设的形式集成到TC3xx系列中,如通用定时器(Generic Timer Module,GTM)、硬件信号加速单元(Signal processing unit,SPU)、千兆MAC(ETH MAC)等等。这些外设核为MCU提供各种复杂的硬件功能。


除此之外,TC3xx对于对于嵌入式领域常用外设,具有丰富的支持,如DMA、ADC、SPI、CAN、I2C等。


我们可以看到,图上各个模块之间,有两条灰色的线进行连接,一个是用于传递数据的System Resource Intercoonect,SRI总线;一个是用于外设控制的System Peripheral Bus,SPB外设总线。


TC3xx系列内部有三种总线:


  • System Resource Interconnect Fabric ( SRI Fabric );


  • System Peripheral Bus ( SPB );


  • Back Bone Bus ( BBB )。


其中SRI总线用于将CPU、DMA或者其他高带宽请求设备连接到内存,用于进行数据访问或程序取指。


SPB外设总线用于将CPU、DMA或者其他SPB总线的主设备,连接到外设(一般为中低速),用于外设访问控制。


BBB总线用于将CPU、DMA或其他SPB总线的主设备,连接到ADAS资源。BBB总线使用较少,仅用于ADAS相关功能,本文不展开介绍。


3.2 总线


下图为SRI总线示意图:



我们通过上图来介绍TC3xx SRI总线结构。首先在6核架构中,前4个核及其耦合的内存连接到SRI0中,剩余两个核则连接到SRI1中。SRI0和SRI1通过S2S进行桥接。对于核内耦合的DSPR、PSPR和PFlash,通过本地总线接口进行访问,如果跨核则需要通过SRI总线。


而对于挂在SRI总线上的设备(SRI Agent),存在主/从之分,对于CPU、DMA等进行数据存取的模块,属于Master,而DSPR、PSPR、PFlash这些被访问的内存单元,则属于Slave。所有挂在SRI总线上的Master都可以访问其上的Slave,这样的多对多连接方式形成了XBar结构,如下图所示。



SRI为Master提供了Master Connection Interfaces(MCI)接口,用于连接Master与SRI总线,对于Slave则提供了Slave Connection Interfaces(SCI)接口。SRI总线负责进行从设备的访问仲裁,以在多Master同时访问Slave时解决冲突。其连接关系如下图所示:



而SPB总线主要用于CPU进行各个外设的控制、数据收集,包括寄存器读写等。




#04

存储系统


4.1 存储结构


TC3xx系列的内存类型主要有以下几种:


  • Data Scratch Pad RAM:DSPR,核内数据RAM;

  • Program Scratch Pad RAM:PSPR,核内程序RAM,可在启动时将Flash中部分代码拷贝到次,以提升取指速度;

  • Distributed LMU memory:DLMU,分布式核外RAM,一般作为多核共享RAM;

  • Program Flash:PFlash,程序flash,用于存储代码和常量,也就是我们使用刷写工具刷写的地方。

TC3xx系列的内存系统采用的是内核耦合设计,以上4种内存类型,每个核都有配套。



我们从上图可以看出,对于核内耦合的相关内存,可以通过内部总线进行访问,速度快于SRI总线。但是对于跨核访问,也并不需要做额外的操作,可以说是无感,在这一点上对于多核系统设计非常友好,只是速度会略有差距。参考下表关于数据访问的时钟延迟。



4.2 地址映射

TC3xx地址映射以Segment进行划分,每个Segment对应最高字节。


DSPR和PSPR一般是按照核进行地址分配的,比如DSPR0位于0x7000 0000(具体尺寸取决于具体型号),DSPR1位于0x6000 0000,其他核依此类推。而PSPR0位于0x7010 0000,PSPR1等依此类推。



对于Programe Flash,则位于以0x8000 0000起始的区域,比如PFlash0位于0x8000 0000,PFlash1位于0x8030 0000,依此类推。



Segment 8与Segment A对应的是相同的物理空间,只不过通过Segment 8访问是Cached,而通过Segment A访问则不经过Cache,没有其他区别。


DLMU则位于Segment 9:



同样,DLMU也有跨Cache访问的地址Segment B,其与Segment 9在物理上对应同一块区域:





#05

外设系统


作为车规级定制芯片,TC3xx系列为汽车行业应用提供了丰富的外设功能。下面我们针对常用的外设进行简要介绍。


5.1 DMA


TC3xx系列支持最多128通道的Direct Memory Access(DMA),DMA设备通过SRI总线连接各个内存单元,具有灵活、高速的DMA搬运设置。


另外TC3xx系列芯片进行了独具特色的连接设计,将硬件信号通过中断路由器传递至DMA,以实现从各类定时器、通讯外设到DMA的触发链路,以配合实现较为复杂的数据处理逻辑,大大解放了CPU的计算能力。


5.2 CAN


作为车规MCU,CAN是最重要的通讯方式,虽然当下车载以太网发展迅速,但是CAN网络仍然是众多主机厂电子电器架构的重要组成部分。


TC3xx系列采用了Bosch的M_CAN内核,符合ISO 11898-4协议,支持J1939协议,支持CAN2.0b标准,支持最多64字节的CANFD,支持5Mbit/s的波特率,且在时钟高达80MHz的情况下可扩展至8Mbit/s。


TC3XX系列最多集成3个M_CAN模块,每个模块包含4个CAN Node,也就是最多支持12路CAN。每个Node拥有64个接收Buffer和32个发送Buffer。另外也可进行灵活的FIFO、Queue配置。


5.3 Ethernet


随着智能汽车的发展,车载以太网也逐渐普及,尤其在智驾和座舱领域,因此对于车规MCU来说,Ethernet MAC模块已然成为标配。


英飞凌Aurix™ 2G TC3xx系列芯片的GETH模块采用的是新思科技(Synopsys)的内核,全称DesignWare Cores Ethernet Quality-of-Service(DWC_ether_qos)。


DWC_ether_qos通常用于嵌入式系统或网络设备中,可以帮助实现更可靠的数据传输、更低的延迟和更好的网络性能。


TC3xx系列中除了旗舰的TC39X系列具有两个GETH模块,即支持两路MAC,其他大部分型号都只支持一路MAC。支持10Mbps\100Mbps的RMII协议以及1000Mbps的RGMII协议(部分中低型号不支持RGMII),提供符合IEEE 802.3-2008的MAC、MII协议。


5.4 STM、GPT12定时器


TC3xx的每个核都集成了一个64位不间断的定时器System Timer(STM),可用于软件计时、定时功能,同时还可用于Os的硬件Counter。


而从芯片层级,TC3xx系列集成了General Purpose Timer Unit (GPT12) ,分为GPT1和GPT2两个子模块,提供最多5路定时器功能,支持单次、连续定时,也可作为Os的硬件Counter。


5.5 GTM


在电机控制领域,或者一些传感器来说,PWM信号的发送和采样对于MCU来说是非常重要的功能。另外在某些场景下,存在信号边缘计数、时间戳等功能,这时候就不得不依赖于高精度的定时器。


除了芯片自身的STM和GPT定时器,TC3xx还系列集成了Bosch的Generic Timer Module(GTM),最高支持200MHz时钟频率,且提供自由度极高的分频配置,提供最高24位宽的定时器功能。


GTM具有多个子模块,模块可单独工作,包括高精度定时功能、PWM波输出功能和ICU波形监控功能,也可进行组合实现各种复杂功能,如电机半桥死区输出功能、霍尔电机控制功能等。也可作为Os的硬件Counter。


GTM模块具有独立的内核,支持对其进行编程调试,也可作为芯片外设,通过外设寄存器进行访问控制。Aurix™ 2G系列芯片中集成的版本为GTM IP v3.1.5.1,支持作为外设使用,通过SPB总线控制,且与芯片内部其他模块如中IR中断路由模块、Adc模块等进行了连接设计,可配合实现复杂外设功能,同时解放CPU负载。


5.6 LIN


TC3xx系列中的LIN通讯通过ASCLIN模块来实现,支持LIN version 1.3、LIN version 2.0、LIN version 2.1&2.2、J2602。


5.7 Flexray


FlexRay是一种用于汽车的高速、可确定性的,具备故障容错能力的总线技术,它将事件触发和时间触发两种方式结合起来,具有高效的网络利用率和系统灵活性的特点。FlexRay能满足传统的CAN方案不能满足的汽车线控系统(X-by-Wire)的要求,更多的使用在地盘领域。


TC3xx集成了E-Ray模块,用来实现Flexray相关协议。支持FlexRay™ protocol specification v2.1,最高支持10 Mbit/s通信速率。


5.8 其他通信模块


除了上述以外,TC3xx还支持常规的SPI、I2C、Uart、Hssl等标准的板载级通信模块,供用户进行丰富的外设控制。


5.9 Port


TC3xx系列中提供多组引脚,一组引脚称为Port,每个Port有最多16个Pin脚,支持丰富的驱动特性,如驱动强度,偏移率,上拉/下拉,推挽或开路漏极操作,选择TTL或CMOS/自动输入电平。每个Pin脚最多可通过寄存器配置7种复用功能,这对硬件电路设计提供了极大的便利。

TC3xx的引脚还具备急停功能,能够根据急停输入,截断所配置引脚的输出功能。


5.10 ADC


Infineon Aurix™ 2G TC3xx中有两个ADC模块,一个是增强型Delta-Sigma模数转换器(Enhanced Delta-Sigma Analog-to-Digital Converter,EDSADC),该模块转换速度快,主要为了配合旋变控制器进行电机控制;另一个就是增强型多功能模数转换器(Enhanced Versatile Analog-to-Digital Converter,EVADC),采用逐次逼近式转换原理进行模数转换。




#06

其他功能


6.1 OTA功能


OTA(Over-The-Air,空中升级)技术当今已经逐渐普及,这就要求MCU具有与之匹配的特性。TC3XX提供了一种A/BSwap的无感升级方案,在物理上将Flash分区A区和B区,升级时升级备份分区,然后由Flash硬件进行地址映射翻转,实现对于App无感的升级方案。此方案下App无需进行地址适配,升级失败也能维持原有版本的运行。



6.2 Overlay


测量标定是车载控制器不可或缺的功能,尤其是电机、地盘等领域,因此就需要MCU支持Overlay功能。


TC3xx支持最多4MB Overlay内存空间,支持重定向的内存包括LMU、DSPR、PSPR等,支持重定向到PFlash、OLDA等。可配置32字节到128kB不等的32块区域,分别进行重定向。



6.3 Wdg


TC3xx系列支持内部WatchDog功能,每个核配备一个独立的Wdg硬件模块,除此之外,系统还配备一个SafetyWdg。


6.4 ADAS


TC3xx系列还为智驾相关控制器提供了定制化的额外功能,比如Peripheral Sensor Interface(PSI5)用来与外部核进行通讯;



Signal Processing Unit(SPU)用于对来自一个或多个专用ADC接口的数据执行快速傅里叶变换。



Radar Interface(RIF)模块用于配合SPU与外界最多4个ADC信号进行连接,用于快速处理雷达等传感器数据。





#06

小   结


本文介绍了英飞凌Aurix™ 2G TC3xx系列芯片,包括内核、芯片架构和外设等。


参考资料:


  1. Infineon-AURIX_TC3xx_Architecture_vol1-UserManual-v01_00-EN.pdf

  2. Infineon-AURIX_TC3xx_Part1-UserManual-v02_00-EN.pdf

  3. Infineon-AURIX_TC3xx_Part2-UserManual-v02_00-EN.pdf



/ END /



 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved