一、概述
NXP 推出的 S32K3 系列 MCU 是針對汽車應用的高性能車規級 MCU,該系列晶片最高支持 ASIL-D 等級的功能安全,廣泛應用於汽車 BMS、底盤控制器、車身控制器等汽車應用中,本文將給大家介紹下 S32K3 晶片中的 EIM 模塊,即故障注入模塊,該模塊是實現功能安全的主要模塊之一,該模塊主要用於診斷的目的,通過往總線注入錯誤的方式實現,EIM 模塊可以往目標總線注入單比特和多比特的位翻轉,下文將重點介紹這個模塊的功能。
二、主要特性
S32K3 系列晶片最多支持 4 個 EIM 模塊,具體如下表所示:
|
模塊
|
S32K388/S32K389
|
S32K358/S32K348/S32K338/S32K328
|
S32K322/S32K324/S32K344/S32K342/S32K341/S32K314/S32K312/S32K311/S32K310
|
|---|---|---|---|
|
EIM0
|
支持
|
支持
|
支持
|
|
EIM1
|
支持
|
支持
|
不支持
|
|
EIM2
|
支持
|
支持
|
不支持
|
|
EIM3
|
支持
|
不支持
|
不支持
|
EIM 主要有以下特性:
-
支持 17 個錯誤注入通道(EIM0 和 EIM1 分別有 17 個通道,EIM2 有 31 個通道,EIM3 有 11 個通道)
-
通過內部的機制防止意外使能和重新配置故障注入的功能
EIM 模塊的內部框圖如下:


圖 2.1 EIM 模塊內部框圖
每個通道對應的故障注入的位置是不同的,不同晶片平台也有差異,以下是 S32K344 的通道映射(S32K3x1、S32K3x2,S32K324、S32K314 也適用),需要注意的是 S32K342/S32K322/S32K341/S32K312/S32K311 是沒有 SRAM1 的。
|
通道
|
目標內存
|
通道
|
目標內存
|
|---|---|---|---|
|
0
|
SRAM0
|
16
|
Cortex-M7_1 ITCM
|
|
1
|
SRAM1
|
17
|
Cortex-M7_1 D0TCM
|
|
2
|
DMA TCD
|
18
|
Cortex-M7_1 D1TCM
|
|
3
|
Cortex-M7_0 IC tag
|
19
|
EMAC gasket
|
|
4
|
Cortex-M7_0 IC data
|
20
|
Cortex-M7 TCM gasket
|
|
5
|
Cortex-M7_0 DC tag
|
21
|
DMA AXBS S0 gasket
|
|
6
|
Cortex-M7_0 DC data0
|
22
|
DMA AXBS S1 gasket
|
|
7
|
Cortex-M7_0 DC data1
|
23
|
HSE gasket
|
|
8
|
Cortex-M7_1 IC tag
|
24
|
QuadSPI gasket
|
|
9
|
Cortex-M7_1 IC tag
|
25
|
AIPS1 gasket
|
|
10
|
Cortex-M7_1 DC tag
|
26
|
AIPS2 gasket
|
|
11
|
Cortex-M7_1 DC data0
|
27
|
Cortex-M7 lockstep
|
|
12
|
Cortex-M7_1 DC data1
|
28
|
ECC checking address
|
|
13
|
Cortex-M7_0 ITCM
|
29
|
EDC checking wdata
|
|
14
|
Cortex-M7_0 D0TCM
|
30
|
EDC checking rdata
|
|
15
|
Cortex-M7_0 D1TCM
|
|
|
三、功能概述
EIM 模塊支持以下故障注入的情景:
- 生成一個單比特錯誤,根據 EICHDn_WORD 寄存器中的 CHKBIT_MASK 或者 DATA_MASK 配置翻轉其中的一位。
-
生成一個多比特錯誤,根據 EICHDn_WORD 寄存器中的 CHKBIT_MASK 或者 DATA_MASK 配置翻轉其中的兩位。
EIM 模塊不需要初始化,其使能故障注入的流程如下:
-
設置 EICHDn_WORDm 寄存器中的 CHKBIT_MASK 和 DATA_MASK 域
-
通過配置 EICHEN 寄存器使能需要注入故障的通道
-
通過設置 EIMCR[GEIEN] 為 1 全局使能故障注入
四、參考資料
-
《S32K3XXRM.pdf》,Rev 9,2024.07
評論