编辑:CrazyRabbit
日期:2022年7月27日
本文是英飞凌官方培训的笔记摘录,入门篇第一节课。
1. 总述
1.1 功能框图
首先看功能框图:
- Security & Safety :信息/功能安全,包含有SMU(Safety Manage Unit)模块、HSM(Hardware Security Module)模块
- Memories:存储模块包括片上RAM(分为DSPR、PSPR、Cache等)、内嵌式FLASH(分为DFLASH和PFLASH)
以TC275为例,3个核CPU0/1/2有各自的RAM,分为程序RAM和数据RAM,即PSPR和DSPR。PSPR(或者叫做PRAM)主要用于放置静态函数,提高函数执行效率,或放置Fash驱动函数以擦写Flash(可参考官方Flash Demo);DSPR主要用于全局变量、现场保护的上下文管理和堆栈等数据。
- Tricores:从最低端的1核,到最高端的TC39x,拥有6个核
- Timers:定时器,分为STM(系统定时器)和GPT(通用定时器)
- Peripherals:外设,有DMA(Direct Memory Access,直接存储器访问))、ADC(模数转化器,Analog To Digital Converter)、GTM(源于博世的通用定时器单元)、CCU6(捕获/比较单元 ,Capture Compare Unit 6)
- Communication Interfaces:通讯接口,MCMCAN、Gigabit Ethernet MAC(以太网)、SPI、UART、I2C
1.2 亮点
1.3 关键特性
接下来,围绕这三个关键特性做讲解
2. Embedded FLASH
内嵌式FLASH的框图如下:
AURIX的FLASH分为多个模块,如上图的PF0~PFx(最多PF5)以及DF0和DF1,PF是存储代码,DF是存储数据。
PF0~PF5是每个CPU的Local Flash,CPU访问Local PFlash是不需要访问系统总线的,只需要访问自己的Local总线即可。每个CPU也可以访问其他核的PFLASH,但需要跨总线访问,速度会慢。正式这个特性,我们最好把需要在本地直行的代码放到对应的CPU的Local PFLASH中。
DFLASH主要是存放数据,具有UCB功能(User Configure Block,用户配置模块),UCB中可以配置启动方式、启动地址,也可以设置FLASH访问权限,设置DEBUG保护口等功能。
由于有分块的概念,TC3xx系列支持云端刷写。
每个模块有自己的SRI(Shared Resource Interconnnect)、ECC解码和预取指功能。用户可以配置SMU(Safety Management Unit)和IR(Interrupt Router)单元配置相应的中断报错来调用服务函数。
总结:正因为有内嵌式FLASH和Local的分块概念,使得我们的代码存储更加高效,也具有更高等级的安全机制。
3. TriCore
TriCore集成了以下三种功能于一身:
- 实时微控制器
- 精简指令集
- 协处理器DSP,具有乘累加指令
另外,以TC 1.6.2P核(视频制作时)为例:
- 超标量的哈佛架构,支持6级流水线300MHz的时钟
- 算力最高是2.3 DMIPS/MHz
每个CPU都有一个32位的浮点数计算单元。
4. 外设
支持的外设有: