ZHCSCX9 October 2014 RM41L232
PRODUCT PREVIEW Information. Product in design phase of development. Subject to change or discontinuance without notice.
在这个器件上执行一个电压监视器。 这个电压监视器的目的是,当给内核电源和 I/O 电源电压上电时,消除对一个特定序列的要求。
电压监视器在器件上生成电源正常微控制器 (MCU) 信号 (PGMCU) 以及 I/O电源正常 IO 信号 (PGIO)。 在加电或断电期间,当内核或者 I/O 电源低于额定最小监视阀值的时候,PGMCU 和 PGIO 被驱动为低电平。 PGIO 和 PGMCU 成为低电平,在电源加电或者断电期间,隔离内核逻辑以及 I/O 控制。 这样可以使得内核和 I/O 电源能够以任一顺序加电或断电。
当电压监视器在 I/O 电源上检测到一个低电压时,它将一个加电复位置为有效。 当电压监视器在内核电源上检测到一个范围以外的电压时,它以异步方式使所有输出引脚高阻抗,并将一个加电复位置为有效。 当器件进入一个低功耗模式时,电压监视器被禁用。
VMON 还包含一个针对 nPORRST 输入的毛刺脉冲滤波器。 有关这个毛刺脉冲滤波器的时序信息请参考Section 5.2.3.1。
参数 | 最小值 | 典型值 | 最大值 | 单位 | ||
---|---|---|---|---|---|---|
VMON | 电压监视阀值 | VCC 低电平-低于这个阀值的 VCC 电平会由于过低而被删除。 | 0.75 | 0.9 | 1.13 | V |
VCC 高电平-高于这个阀值的 VCC 电平会由于过高而被删除。 | 1.40 | 1.7 | 2.1 | |||
VCCIO 低电平-低于这个阀值的 VCCIO 电平会由于过低而被删除。 | 1.85 | 2.4 | 2.9 |
VMON 具有过滤 VCC 和 VCCIO 电源上毛刺买车的功能。
下面的表格显示了电源滤波的特性。 电源中大于最大技术参数的毛刺脉冲不能被滤除。
参数 | 最小值 | 最大值 |
---|---|---|
VCC 上可以被滤除的毛刺脉冲的宽度 | 250ns | 1us |
VCCIO 上可以被滤除的毛刺脉冲的宽度 | 250ns | 1us |
VCCIO 的斜升和 VCC 电源间没有时序关系。 加电序列随着 I/O 电压上升到高于最小 I/O 电源阀值,(详细信息请见Table 5-4),内核电压上升到高于最小内核电源阀值和加电复位的释放开始。 高频振荡器将首先启动并且其振幅将上升到一个可接受的水平。 振荡器启动时间取决于振荡器的类型并且由振荡器销售商提供。 到器件的不同电源可以以任何顺序加电。
加电期间,此器件经过下列顺序阶段。
振荡器启动和有效性检查 | 1032 个振荡器周期 |
熔丝自动载入 | 1160 个振荡器周期 |
闪存泵加电 | 688 个振荡器周期 |
闪存组加电 | 617 个振荡器周期 |
总计 | 3497 个振荡器周期 |
在上述序列的末尾 CPU 复位被释放并且从地址 0x00000000 中取出第一条指令。
到器件的不同电源可以以任一顺序断电。
只要 I/O 或内核电源在推荐范围之外,这个复位就必须由一个外部电路置为有效。 这个信号的上面有一个毛刺脉冲滤波器。 它还有一个内部下拉电阻器。
编号 | 参数 | 最小值 | 最大值 | 单位 | |
---|---|---|---|---|---|
VCCPORL | 当 nPORRST 在加电期间必须有效时,VCC的低电源电平 | 0.5 | V | ||
VCCPORH | 当 nPORRST 在加电期间必须保持有效并在断电期间变为有效时,VCC的高电源电平 | 1.14 | V | ||
VCCIOPORL | 当 nPORRST 在加电期间必须有效时,VCCIO/VCCP的低电源电平 | 1.1 | V | ||
VCCIOPORH | 当 nPORRST 在加电期间保持有效并且在断电期间变为有效时,VCCIO/VCCP高电源电平 | 3.0 | V | ||
VIL(PORRST) | nPORRST VCCIO的低电平输入电压 > 2.5V | 0.2 *VCCIO | V | ||
nPORRSTVCCIO的低电平输入电压 > 2.5V | 0.5 | V | |||
3 | tsu(PORRST) | 建立时间,加电期间,在 VCCIO和 VCCP> VCCIOPORL前的 nPORRST 有效时间 | 0 | ms | |
6 | th(PORRST) | 保持时间,VCC>VCCPORH后,nPORRST 的有效时间 | 1 | ms | |
7 | tsu(PORRST) | 建立时间,断电期间,在 VCC<VCCPORH前,nPORRST 的有效时间 | 2 | µs | |
8 | th(PORRST) | 保持时间,在 VCCIO和 VCCP>VCCIOPORH后 nPORRST 的有效时间 | 1 | ms | |
9 | th(PORRST) | 保持时间, 在 VCC<VCCPORL后 nPORRST 的有效时间 | 0 | ms | |
tf(nPORRST) | 滤波时间 nPORRST 引脚; 小于最小值 (MIN) 的脉冲将被滤除掉,大于最大值 (MAX) 的脉冲将生成一个复位。 |
475 | 2000 | ns |
这是一个双向复位信号。 内部电路在检测到任何器件复位条件时将此信号驱动为低电平。 一个外部电路能够通过将此信号强制为低电平来将一个器件复位置为有效。 在这个引脚上,输出缓冲器被执行为一个开漏器件(只驱动低电平)。 为了确保外部复位不会随意产生,TI 建议将一个外部上拉电阻连接到该引脚。
这个引脚有一个毛刺脉冲滤波器。 它还有一个内部上拉电阻。
器件事件 | 系统状态标志 |
---|---|
加电复位 | 异常状态寄存器,位 15 |
振荡器故障 | 全局状态寄存器,位 0 |
PLL 跳周 | 全局状态寄存器,位 8 和 9 |
安全装置异常/调试器复位 | 例外状态寄存器,位 13 |
CPU 复位(由 CPUSTC 驱动) | 异常状态寄存器,位 5 |
软件复位 | 异常状态寄存器,位 4 |
外部复位 | 异常状态寄存器,位 3 |
最小值 | 最大值 | 单位 | ||
---|---|---|---|---|
tv(RST) | 有效时间,nPORRST 无效之后 nRST 的有效时间 | 2256tc(OSC)(1) | ns | |
有效时间,nRST 有效的时间(所有其它系统复位条件) | 32tc(VCLK) | |||
tf(nRST) | 滤波器时间 nRST 引脚。 小于 MIN 的脉冲将被滤除掉,大于 MAX 的脉冲将生成一个复位 |
475 | 2000 | ns |
ARM Cortex-R4 CPU 的特性包括:
更多有关 ARM Cortex-R4 CPU 的信息,请参阅www.arm.com。
以下的 CPU 特性在复位时被禁用并且必须在需要时由应用启用。
此器件有两个 Cortex-R4 内核,在 CCM-R4 单元中比较两个 CPU 的输出信号。 为了避免共模影响,将被进行比较的 CPU 的信号延迟 2 个时钟周期,如Figure 5-3所示。
CPU 有一个由下列要求指定的不同的 CPU 布局:
CPU 时钟域被分成两个时钟树,每个 CPU 一个,其中第二个 CPU 的时钟的运行频率一样并且与 CPU1 的时钟协同工作。 请参考Figure 5-3。
这个器件有两个 ARM Cortex-R4 CPU 内核,在这两个内核之中,两个 CPU 的输出信号都在 CCM-R4 中进行比较。 为了避免共模影响,将要进行比较的 CPU 的信号,以下面图表中所示的不同方式将这些信号延迟。
为了避免不正确的 CCM-R4 比较错误,应用软件必须在寄存器被读取前初始化两个 CPU 的寄存器,其中包括将寄存器值压入堆栈的函数调用。
通过将确定性逻辑内置自检 (BIST) 控制器用作测试引擎,CPU STC(自检控制器)被用于测试两个 Cortex-R4 CPU。
自检控制器的主要特性包括:
更多信息请参阅《器件技术参考手册》。
自检的最大时钟速率为 45MHz。 必要时,STCCLK 是从 CPU 时钟上分频的。 这个分频器由位于地址 0xFFFFE108 上的 STCCLKDIV 寄存器配置。
更多信息请参阅《器件技术参考手册》。
Table 5-7显示了每个自检间隔实现的 CPU 测试范围。 它还列出了累积测试周期。 通过将测试周期数量与 STC 时钟周期相乘可以计算出测试时间。
间隔 | 测试覆盖率, % | 测试周期 |
---|---|---|
0 | 0 | 0 |
1 | 60.06 | 1365 |
2 | 68.71 | 2730 |
3 | 73.35 | 4095 |
4 | 76.57 | 5460 |
5 | 78.7 | 6825 |
6 | 80.4 | 8190 |
7 | 81.76 | 9555 |
8 | 82.94 | 10920 |
9 | 83.84 | 12285 |
10 | 84.58 | 13650 |
11 | 85.31 | 15015 |
12 | 85.9 | 16380 |
13 | 86.59 | 17745 |
14 | 87.17 | 19110 |
15 | 87.67 | 20475 |
16 | 88.11 | 21840 |
17 | 88.53 | 23205 |
18 | 88.93 | 24570 |
19 | 89.26 | 25935 |
20 | 89.56 | 27300 |
21 | 89.86 | 28665 |
22 | 90.1 | 30030 |
23 | 90.36 | 31395 |
24 | 90.62 | 32760 |
25 | 90.86 | 34125 |
26 | 91.06 | 35490 |
下面的表列出了器件上可用的时钟源。 可使用系统模块中的 CSDISx 寄存器来启用或禁用每个时钟源。 表中的时钟源数量与针对那个时钟源的 CSDISx 寄存器中的控制位相对应。
此表还显示了每个时钟源的缺省状态。
时钟 源编号 |
名称 | 说明 | 默认状态 |
---|---|---|---|
0 | OSCIN | 主振荡器 | 被启用 |
1 | PLL1 | PLL1的输出 | 被禁用 |
2 | 被保留 | 被保留 | 被禁用 |
3 | EXTCLKIN1 | 外部时钟输入 #1 | 被禁用 |
4 | CLK80K | 内部基准振荡器的低频输出 | 被启用 |
5 | CLK10M | 内部基准振荡器的高频输出 | 被启用 |
6 | 被保留 | 被保留 | 被禁用 |
7 | 被保留 | 被保留 | 被禁用 |
如所示,通过在外部 OSCIN 和 OSCOUT 引脚之间连接适合的基本谐振器/晶振Figure 5-4和负载电容来启用此振荡器。 振荡器是一种单级变换器,由一个集成的偏置电阻器保持在偏置状态。 该电阻在泄漏测试测量期间和低功耗模式中被禁用。
TI 强烈建议顾客提交该器件的样品让谐振器/晶振供应商测试其性能。 供应商有专门设备来确定多大的负载电容能够最好的调节他们的谐振器/晶振来满足微控制器在温度/电压极值范围内对于最优启动和运行的要求。
通过在 OSCIN 引脚上连接一个 3.3V 的时钟信号并使 OSCOUT 引脚悬空(断开)(如下面的图标所示),可使用一个外部振荡器源。
参数 | 最小值 | 典型值 | 最大值 | 单位 | |
---|---|---|---|---|---|
tc(OSC) | 周期时间,OSCIN(当使用一个正弦波输入时) | 50 | 200 | ns | |
tc(OSC_SQR) | 周期时间,OSCIN,(当到 OSCIN 的输入是一个方波时) | 50 | 200 | ns | |
tw(OSCIL) | 脉冲持续时间,OSCIN 低电平的时间(当到 OSCIN 的输入是一个方波时) | 15 | ns | ||
tw(OSCIH) | 脉冲持续时间,OSCIN 高电平的时间(当到 OSCIN 的输入是一个方波时) | 15 | ns |
低功耗振荡器 (LPO) 由一个单宏中的两个振荡器 - 高频 (HF) LPO 和低频 (LF) LPO 组成。
LPO 的主要特性有:
Figure 5-5显示了一个内部基准振荡器的方框图。 这是一个低功耗振荡器 (LPO) 并且提供两个时钟源:一个的标称值为 80KHz,而另一个的标称值为10MHz。
参数 | 最小值 | 典型值 | 最大值 | 单位 | |
---|---|---|---|---|---|
时钟检测 | 振荡器故障频率 - 更低的阀值,使用未经修整的 LPO 输出 | 1.375 | 2.4 | 4.875 | MHz |
振荡器故障频率 - 更高的阀值,使用未经修整的 LPO 输出 | 22 | 38.4 | 78 | MHz | |
LPO-HF 振荡器 (fHFLPO) | 未经修整的频率 | 5.5 | 9 | 19.5 | MHz |
已修整的频率 | 8 | 9.6 | 11 | MHz | |
从待机 (STANDBY) 的启动时间(LPO BIAS_EN 高电平时间至少为 900µs) | 10 | µs | |||
冷启动时间 | 900 | µs | |||
LPO-LF 振荡器 | 未经修整的频率 | 36 | 85 | 180 | kHz |
从待机 (STANDBY) 的启动时间(LPO BIAS_EN 高电平时间至少为 900µs) | 100 | µs | |||
冷启动时间 | 2000 | µs |
PLL 用于将输入频率倍乘以获得更高的频率。
PLL 的主要特性为:
下图显示了一个在该微控制器上的 PLL 宏的高级方框图。
参数 | 最小值 | 最大值 | 单位 | |
---|---|---|---|---|
fINTCLK | PLL1 基准时钟频率 | 1 | 20 | MHz |
fpost_ODCLK | Post-ODCLK-PLL1 后置分频器输入时钟基准 | 400 | MHz | |
fVCOCLK | VCOCLK-PLL1 输出分频器 (OD) 输入时钟基准 | 150 | 550 | MHz |
下面的表格列出了器件时钟域和它们的缺省时钟源。 这个表还显示了被用于为每个时钟域选择一个可用时钟源的系统模块控制寄存器。
时钟域,名称 | 缺省时钟源 | 时钟源选择寄存器 | 说明 |
---|---|---|---|
HCLK | OSCIN | GHVSRC |
|
GCLK | OSCIN | GHVSRC |
|
GCLK2 | OSCIN | GHVSRC |
|
VCLK | OSCIN | GHVSRC |
|
VCLK2 | OSCIN | GHVSRC |
|
VCLKA1 | VCLK | VCLKASRC |
|
RTICLK | VCLK | RCLKSRC |
|
每个时钟模块都有一个专用功能,如在下图中所示。
RM4x平台架构定义了一个特别模块,此模块允许在 ECLK 引脚和 N2HET[2] 器件输出上生成不同的时钟信号。 这个模块被称为时钟测试模块 它对于调试十分有用并且可由系统模块中的 CLKTEST 寄存器配置。
CLKTEST[3-0] | ECLK 上的信号 | CLKTEST[11-8] | N2HET[2] 上的信号 | |
---|---|---|---|---|
0000 | 振荡器 | 0000 | 振荡器有效状态 | |
0001 | 主 PLL 自由运行时钟输出 (PLLCLK) | 0001 | 主 PLL 有效状态 | |
0010 | 被保留 | 0010 | 被保留 | |
0011 | 被保留 | 0011 | 被保留 | |
0100 | CLK80K | 0100 | 被保留 | |
0101 | CLK10M | 0101 | CLK10M 有效状态 | |
0110 | 被保留 | 0110 | 被保留 | |
0111 | 被保留 | 0111 | 被保留 | |
1000 | GCLK | 1000 | CLK80K | |
1001 | RTI时基 | 1001 | 振荡器有效状态 | |
1010 | 被保留 | 1010 | 振荡器有效状态 | |
1011 | VCLKA1 | 1011 | 振荡器有效状态 | |
1100 | 被保留 | 1100 | 振荡器有效状态 | |
1101 | 被保留 | 1101 | 振荡器有效状态 | |
1110 | 被保留 | 1110 | 振荡器有效状态 | |
1111 | 闪存 HD 泵振荡器 | 1111 | 振荡器有效状态 |
LPO 时钟检测 (LPOCLKDET) 模块由一个时钟监视器 (CLKDET) 和一个内部低功耗振荡器 (LPO) 组成。
LPO 提供两个时钟源-一个低频 (LFLPO) 和一个高频 (HFLPO)。
CLKDET 是为一个针对外部提供的时钟信号 (OSCIN) 的监控电路。 在OSCIN 频率下降到低于一个频率窗口的情况下,CLKDET 在全局状态寄存器中标记这个情况(GLBSTAT 位 0:振荡器故障 (OSC FAIL))并且将所有由 OSCIN 供源的时钟域切换至HFLPO 时钟(跛行模式时钟)。
有效 OSCIN 频率范围被定义为:fHFLPO/4<fOSCIN<fHFLPO*4。
ECLK 引脚可被配置为输出一个预分频时钟信号,此信号表示一个内部器件时钟。 这个输出可被外部监视为一个安全诊断。
双时钟比较器 (DCC) 模块通过计数两个独立时钟源(计数器 0 和计数器 1)的脉冲数来确定所选时钟源的准确性。 如果一个时钟在技术参数之外,那么就生成一个错误信号。 例如,DCC 可被配置为使用 CLK10M 作为基准时钟(用于计数器 0),而 VCLK 作为“测试中的时钟”(用于计数器 1)。 这个配置使得 DCC 能够在 VCLK 正在使用 PLL输出作为其时钟源的时候监视 PLL 输出时钟。
这个模块的一个另外的用途是测量一个可选时钟源的频率,方法是使用输入时钟作为一个基准,通过计算两个独立时钟源的脉冲来测量。 计数器 0 在一个预先设定的脉冲数量之后生成一个定宽计数窗口。 计数器 1 在一个预先设定的脉冲数量之后生成一个定宽脉冲(1 个周期)。 如果计数器 1 在由计数器 0 生成的计数窗口内没有达到 0, 那么这个脉冲被设定为一个错误信号。
测试模式 | 时钟源 [3:0] | 时钟名称 |
---|---|---|
0 | 其它 | 振荡器 (OSCIN) |
0x5 | 高频 LPO | |
0xA | 测试时钟 (TCK) | |
1 | X | VCLK |
测试模式 | 键 [3:0] | 时钟源 [3:0] | 时钟名称 |
---|---|---|---|
0 | 其它 | - | N2HET[31] |
0x0 | 主 PLL自由运行时钟输出 | ||
0x1 | 不可用 | ||
0x2 | 低频LPO | ||
0xA | 0x3 | 高频 LPO | |
0x4 | 闪存 HD 泵振荡器 | ||
0x5 | EXTCLKIN | ||
0x6 | 不可用 | ||
0x7 | 环形振荡器 | ||
0x8-0xF | VCLK | ||
1 | X | X | HCLK |
一个毛刺脉冲滤波器出现在以下信号上。
引脚 | 参数 | 最小值 | 最大值 | 单位 | |
---|---|---|---|---|---|
nPORRST | tf(nPORRST) |
滤波时间 nPORRST 引脚; 小于 MIN 的脉冲将被滤除掉,大于 MAX 的脉冲将生成一个复位(1) |
475 | 2000 | ns |
nRST | tf(nRST) |
滤波器时间 nRST 引脚。 小于 MIN 的脉冲将被滤除掉,大于 MAX 的脉冲将生成一个复位 |
475 | 2000 | ns |
TEST | tf(测试) |
滤波器时间 TEST 引脚。 小于 MIN 的脉冲将被滤除掉,大于 MAX 的脉冲将通过 |
475 | 2000 | ns |
请参阅Figure 1-1给出的器件互连方框图。
模块名称 | 帧芯片选择 | 地址范围 | 帧大小 | 实际大小 | 对帧内未实现位置的访问的响应 | |
---|---|---|---|---|---|---|
启动 (START) | 结束 (END) | |||||
紧耦合至 ARM Cortex-R4 CPU 的存储器 | ||||||
TCM闪存 | CS0 | 0x0000_0000 | 0x00FF_FFFF | 16MB | 128KB | 异常中断 |
TCM RAM + RAMECC | CSRAM0 | 0x0800_0000 | 0x0BFF_3FFF | 64MB | 32KB | |
被镜像的闪存 | 闪存镜像帧 | 0x2000_0000 | 0x20FF_FFFF | 16MB | 128KB | |
闪存模块总线 2 接口 | ||||||
用户一次性可编程 (OTP),TCM 闪存组 | 0xF000_0000 | 0xF000_07FF | 64KB | 2KB | 异常中断 | |
用户 OTP,EEPROM 组 | 0xF000_E000 | 0xF000_E3FF | 1KB | |||
用户 OTP-ECC,TCM 闪存组 | 0xF004_0000 | 0xF004_00FF | 8KB | 256B | ||
用户 OTP–ECC,EEPROM 组 | 0xF004_1C00 | 0xF004_1C7F | 128B | |||
TI OTP,TCM 闪存组 | 0xF008_0000 | 0xF008_07FF | 64KB | 2KB | ||
TI OTP,EEPROM 组 | 0xF008_E000 | 0xF008_E3FF | 1KB | |||
TI OTP-ECC,TCM 闪存组 | 0xF00C_0000 | 0xF00C_00FF | 8KB | 256B | ||
TI OTP–ECC,EEPROM 组 | 0xF00C_1C00 | 0xF00C_1C7F | 128B | |||
EEPROM 组–ECC | 0xF010_0000 | 0xF010_07FF | 256KB | 2KB | ||
EEPROM 组 | 0xF020_0000 | 0xF020_3FFF | 2MB | 16KB | ||
闪存数据空间 ECC | 0xF040_0000 | 0xF040_DFFF | 1MB | 48 KB | ||
循环冗余校验 (CRC) 模块寄存器 | ||||||
CRC | CRC帧 | 0xFE00_0000 | 0xFEFF_FFFF | 16MB | 512B | 对 0x200 以上的访问生成异常中断。 |
外设存储器 | ||||||
MIBSPI1 RAM | PCS[7] | 0xFF0E_0000 | 0xFF0F_FFFF | 128KB | 2KB | 针对 2KB 以上访问的异常中断 |
DCAN2 RAM | PCS[14] | 0xFF1C_0000 | 0xFF1D_FFFF | 128KB | 2KB | 到偏移低于 0x7FF 的未实现地址的内存连续访问 偏移 0x800 之上的访问生成的异常中断。 |
DCAN1 RAM | PCS[15] | 0xFF1E_0000 | 0xFF1F_FFFF | 128KB | 2KB | 到偏移低于 0x7FF 的未实现地址的内存连续访问 偏移 0x800 之上的访问生成的异常中断。 |
MIBADCRAM | PCS[31] | 0xFF3E_0000 | 0xFF3F_FFFF | 128KB | 8KB | 到偏移低于 0x1FFF 的未实现地址的内存连续访问。 |
MIBADC 查询表 | 384 字节 | 针对 ADC 包装程序的查询表。 开始于偏移量 0x2000 且结束于 0x217F。 针对偏移 0x180 和 0x3FFF 间访问的内存连续 针对 x4000 之上的访问生成的异常中断 | ||||
N2HETRAM | PCS[35] | 0xFF46_0000 | 0xFF47_FFFF | 128KB | 16KB | 到偏移低于 0x3FFF 的未实现地址的内存连续访问。 0x3FFF 之上的访问生成的异常中断。 |
HTU RAM | PCS[39] | 0xFF4E_0000 | 0xFF4F_FFFF | 128KB | 1KB | 异常中断 |
调试组件 | ||||||
CoreSight 调试 ROM | CSCS0 | 0xFFA0_0000 | 0xFFA0_0FFF | 4KB | 4KB | 读取返回 0,写入无影响 |
Cortex-R4 调试 | CSCS1 | 0xFFA0_1000 | 0xFFA0_1FFF | 4KB | 4KB | 读取返回 0,写入无影响 |
外设控制寄存器 | ||||||
HTU | PS[22] | 0xFFF7_A400 | 0xFFF7_A4FF | 256B | 256B | 读取返回 0,写入无影响 |
N2HET | PS[17] | 0xFFF7_B800 | 0xFFF7_B8FF | 256B | 256B | 读取返回 0,写入无影响 |
GIO | PS[16] | 0xFFF7_BC00 | 0xFFF7_BCFF | 256B | 256B | 读取返回 0,写入无影响 |
MIBADC | PS [15] | 0xFFF7_C000 | 0xFFF7_C1FF | 512B | 512B | 读取返回 0,写入无影响 |
DCAN1 | PS[8] | 0xFFF7_DC00 | 0xFFF7_DDFF | 512B | 512B | 读取返回 0,写入无影响 |
DCAN2 | PS[8] | 0xFFF7_DE00 | 0xFFF7_DFFF | 512B | 512B | 读取返回 0,写入无影响 |
LIN | PS[6] | 0xFFF7_E400 | 0xFFF7_E4FF | 256B | 256B | 读取返回 0,写入无影响 |
MibSPI1 | PS[2] | 0xFFF7_F400 | 0xFFF7_F5FF | 512B | 512B | 读取返回 0,写入无影响 |
SPI2 | PS[2] | 0xFFF7_F600 | 0xFFF7_F7FF | 512B | 512B | 读取返回 0,写入无影响 |
SPI3 | PS[1] | 0xFFF7_F800 | 0xFFF7_F9FF | 512B | 512B | 读取返回 0,写入无影响 |
EQEP | PS[25] | 0xFFF7_9900 | 0xFFF7_99FF | 256B | 256B | 读取返回 0,写入无影响 |
EQEP(镜像) | PS2[25] | 0xFCF7_9900 | 0xFCF7_99FF | 256B | 256B | 读取返回 0,写入无影响 |
系统模块控制寄存器和存储器 | ||||||
VIM RAM | PPCS2 | 0xFFF8_2000 | 0xFFF8_2FFF | 4KB | 1KB | 到偏移低于 0x3FF 的未实现地址的内存连续访问 0x3FF 以上的访问将被忽略。 |
闪存包装程序 | PPCS7 | 0xFFF8_7000 | 0xFFF8_7FFF | 4KB | 4KB | 异常中断 |
熔丝组控制器 | PPCS12 | 0xFFF8_C000 | 0xFFF8_CFFF | 4KB | 4KB | 异常中断 |
PCR 寄存器 | PPS0 | 0xFFFF_E000 | 0xFFFF_E0FF | 256B | 256B | 读取返回 0,写入无影响 |
系统模块-帧 2(请参见器件 TRM) | PPS0 | 0xFFFF_E100 | 0xFFFF_E1FF | 256B | 256B | 读取返回 0,写入无影响 |
PBIST | PPS1 | 0xFFFF_E400 | 0xFFFF_E5FF | 512B | 512B | 读取返回 0,写入无影响 |
STC | PPS1 | 0xFFFF_E600 | 0xFFFF_E6FF | 256B | 256B | 读取返回 0,写入无影响 |
IOMM 复用控制模块 | PPS2 | 0xFFFF_EA00 | 0xFFFF_EBFF | 512B | 512B | 如果被启用,会产生地址错误中断。 |
DCC | PPS3 | 0xFFFF_EC00 | 0xFFFF_ECFF | 256B | 256B | 读取返回 0,写入无影响 |
ESM | PPS5 | 0xFFFF_F500 | 0xFFFF_F5FF | 256B | 256B | 读取返回 0,写入无影响 |
CCMR4 | PPS5 | 0xFFFF_F600 | 0xFFFF_F6FF | 256B | 256B | 读取返回 0,写入无影响 |
RAM ECC 偶数 | PPS6 | 0xFFFF_F800 | 0xFFFF_F8FF | 256B | 256B | 读取返回 0,写入无影响 |
RAM ECC 奇数 | PPS6 | 0xFFFF_F900 | 0xFFFF_F900 | 256B | 256B | 读取返回 0,写入无影响 |
RTI+DWWD | PPS7 | 0xFFFF_FC00 | 0xFFFF_FCFF | 256B | 256B | 读取返回 0,写入无影响 |
VIM 奇偶校验 | PPS7 | 0xFFFF_FD00 | 0xFFFF_FDFF | 256B | 256B | 读取返回 0,写入无影响 |
VIM | PPS7 | 0xFFFF_FE00 | 0xFFFF_FEFF | 256B | 256B | 读取返回 0,写入无影响 |
系统模块-帧 1(请参见器件 TRM) | PPS7 | 0xFFFF_FF00 | 0xFFFF_FFFF | 256B | 256B | 读取返回 0,写入无影响 |
下面的表格中列出了器件上每个总线主控的访问许可。 一个总线主控是一个能够在器件上启动一个读取或写入操作的模块。
表中列出了主互连上的每个受控模块。 一个“支持”表示列于“主控”列的模块能够访问受控模块。
主器件 | 访问模式 | 主 SCR 上的从器件 | |||
---|---|---|---|---|---|
闪存模块总线 2 接口: OTP,ECC,EEPROM 组 |
到程序闪存和 CPU 数据 RAM 的非 CPU 访问 | CRC | 外设控制寄存器,所有外设寄存器,以及所有系统模块控制寄存器和存储器 | ||
CPU 读取 | 用户/权限 | 是 | 是 | 是 | 是 |
CPU 写入 | 用户/权限 | 否 | 是 | 是 | 是 |
HTU | 权限 | 否 | 是 | 是 | 是 |
闪存组:一个独立逻辑块,可能包含 1 至 16 个扇区。 每个闪存组通常有一个用户 OTP 和一个 TI-OTP 区域。 这些闪存扇区共用输入/输出缓冲器、数据路径、感测放大器、和控制逻辑。
闪存扇区:闪存存储器的一个连续区域,由于物理结构限制,此区域必须被同时擦除。
闪存泵:一个生成读取、编程、或擦除闪存组全部所需电压的电荷泵。
闪存模块:主机 CPU 和闪存组以及泵模块将所需的接口电路。
注意:0x0002_0000 到 0x0003_FFFF 的内存区域本身无法防止推测取数据或失控代码造成 nERROR 引脚翻转。 必须使用 MPU 区域来限制只能访问 ATCM 空间的前 128KB (0x0000_0000-0x0001_FFFF)。 此外,应使用闪存 API 版本 02.01.01 或更高版本对本器件的闪存进行编程或擦除。
存储器阵列(或组) | 块 编号 |
扇区 编号 |
线段 | 低地址 | 高地址 |
---|---|---|---|---|---|
组 0(128K 字节)(1) | 0 | 0 | 8K 字节 | 0x0000_0000 | 0x0000_1FFF |
1 | 8K 字节 | 0x0000_2000 | 0x0000_3FFF | ||
2 | 8K 字节 | 0x0000_4000 | 0x0000_5FFF | ||
3 | 8K 字节 | 0x0000_6000 | 0x0000_7FFF | ||
4 | 8K 字节 | 0x0000_8000 | 0x0000_9FFF | ||
5 | 8K 字节 | 0x0000_A000 | 0x0000_BFFF | ||
6 | 8K 字节 | 0x0000_C000 | 0x0000_DFFF | ||
7 | 8K 字节 | 0x0000_E000 | 0x0000_FFFF | ||
8 | 8K 字节 | 0x0001_0000 | 0x0001_1FFF | ||
9 | 8K 字节 | 0x0001_2000 | 0x0001_3FFF | ||
10 | 8K 字节 | 0x0001_4000 | 0x0001_5FFF | ||
11 | 8K 字节 | 0x0001_6000 | 0x0001_7FFF | ||
12 | 32K 字节 | 0x0001_8000 | 0x0001_FFFF | ||
组 7 (16kB) 用于 EEPROM 仿真(2)(3) | 0 | 0 | 4K 字节 | 0xF020_0000 | 0xF020_0FFF |
1 | 1 | 4K 字节 | 0xF020_1000 | 0xF020_1FFF | |
2 | 2 | 4K 字节 | 0xF020_2000 | 0xF020_2FFF | |
3 | 3 | 4K 字节 | 0xF020_3000 | 0xF020_3FFF |
所有到程序闪存存储器的访问受到 CPU 内嵌的单纠错双纠错 (SECDED) 逻辑的保护。 针对 64 位指令或者从闪存存储器的取数据,闪存模块提供 8 位ECC 代码。 根据接收到的 64 位,CPU 计算出预计的 ECC 代码,并且将此代码与闪存模块返回的 ECC 代码相比较。 一个单位错误是由 CPU 纠正和标记的,但只标记一个多位错误。 CPU 通过其事件总线发出一个 ECC 错误。 这个信令机制缺省情况下并不被启用,并且必须通过将性能监视控制寄存器,c9 的 'X' 位置位来启用。
MRC p15,#0,r1,c9,c12,#0 ;Enabling Event monitor states
ORR r1, r1, #0x00000010
MCR p15,#0,r1,c9,c12,#0 ;Set 4th bit (‘X’) of PMNC register
MRC p15,#0,r1,c9,c12,#0
应用必须明确地启用 CPU 的 ECC 校验对CPU ATCM 和 BTCM 接口上的访问进行检查。 这些分别被连接到程序闪存和数据 RAM。 可通过将系统控制协处理器的辅助控制寄存器,c1 的 B1TCMPCEN,B0TCMPCEN 和 ATCMPCEN 位置位来完成对这些接口的 ECC 检查。
MRC p15, #0, r1, c1, c0, #1
ORR r1, r1, #0x0e000000 ;Enable ECC checking for ATCM and BTCMs
DMB
MCR p15, #0, r1, c1, c0, #1
有关闪存存储器访问速度和所需相关等待状态的信息,请参见Section 4.6。
参数 | 最小值 | 标称值 | 最大值 | 单位 | ||
---|---|---|---|---|---|---|
tprog(144 位) | 宽字(144 位)编程时间 | 40 | 300 | µs | ||
tprog(总) | 384k 字节编程时间(1) | -40°C 至 105°C | 4 | s | ||
对于头 25 个周期,0°C 至 60°C | 1 | 2 | s | |||
t擦除 | 扇区/组擦除时间(2) | -40°C 至 105°C | 0.30 | 4 | s | |
对于头 25 个周期,0°C 至 60°C | 16 | 100 | ms | |||
twec | 具有 15 年数据保持要求的写入/擦除周期 | -40°C 至 105°C | 1000 | 周期 |
参数 | 最小值 | 标称值 | 最大值 | 单位 | ||
---|---|---|---|---|---|---|
tprog (72 位) | 宽字(72 位)编程时间 | 47 | 300 | µs | ||
tprog(总) | 16K 字节编程时间(1) | -40°C 至 105°C | 330 | ms | ||
对于头 25 个周期,0°C 至 60°C | 100 | 165 | ms | |||
t擦除 | 扇区/组擦除时间(2) | -40°C 至 105°C | 0.200 | 8 | s | |
对于头 25 个周期,0°C 至 60°C | 14 | 100 | ms | |||
twec | 具有 15 年数据保持要求的写入/擦除周期 | -40°C 至 105°C | 100000 | 周期 |
Figure 5-10 图示了紧耦合 RAM (TCRAM) 到 Cortex-R4 CPU 的连接。
紧耦合 RAM (TCRAM) 模块的特性有:
针对 Cortex-R4 CPU 从 RAM 读取的每个数据,TCRAMW 传递 ECC 代码。 它还在 CPU 进行到RAM 的写入操作时将 CPU ECC 端口内容存储在 ECC RAM 中。 TCRAMW 监视 CPU 事件总线并且为寄存器指示单/多位错误并且使寄存器识别导致单或多位错误的地址。 针对 RAM 访问的事件信令和 ECC 检查必须在 CPU 内部被启用。
更多信息请参阅器件技术参考手册。
对某些外设 RAM 的访问由偶数/奇数校验检查保护。 在一个读取访问期间,根据从外设 RAM 中读取的数据计算奇偶校验并且将其与存储在针对那个外设的奇偶校验 RAM 中的正确奇偶校验值相比较。 如果有任一字使奇偶校验检查失败,模块将生成一个被映射到错误信令模块的奇偶校验错误信号。 此模块还捕捉导致奇偶校验错误的外设 RAM 地址。
缺省情况下,针对外设 RAM 的奇偶校验保护并不启用,而必须由应用启用。 每个独立的外设包含控制寄存器来启用针对到它的 RAM 访问的奇偶校验保护。
NOTE
CPU 读取访问从外设获得真实的数据。 应用可以选择在一个外设 RAM 奇偶校验错误被检测到时生成一个中断。
内存 | RAM 组 | 测试时钟 | 存储器类型 | 测试模式(算法) | |||
---|---|---|---|---|---|---|---|
三倍读取 慢速读取 |
三倍读取 快速读取 |
March 13N 算法(1)
两个端口(周期) |
March 13N 算法(1)
单端口(周期) |
||||
ALGO MASK 0x1 | ALGO MASK 0x2 | ALGO MASK 0x4 | ALGOMASK 0x8 | ||||
PBIST_ROM | 1 | ROMCLK | ROM | X | X | ||
STC_ROM | 2 | ROMCLK | ROM | X | X | ||
DCAN1 | 3 | VCLK | 双端口 | 12720 | |||
DCAN2 | 4 | VCLK | 双端口 | 6480 | |||
ESRAM1 | 6 | HCLK | 单端口 | 133160 | |||
MIBSPI1 | 7 | VCLK | 双端口 | 33440 | |||
VIM | 10 | VCLK | 双端口 | 12560 | |||
MIBADC | 11 | VCLK | 双端口 | 4200 | |||
N2HET1 | 13 | VCLK | 双端口 | 25440 | |||
HTU1 | 14 | VCLK | 双端口 | 6480 |
PBIST ROM 时钟可由 HCLK 分频得到。 通过编辑地址 0xFFFFFF58 上存储器自检全局控制寄存器 (MSTGCR) 的ROM_DIV 字段来选择此分频器。
这个微控制器允许通过系统模块中的存储器硬件初始化机制来初始化某些片载存储器。 这个硬件机制使得一个应用能够根据存储器阵列的错误检测机制(偶数/奇数奇偶校验或 ECC)来将带有错误检测功能的存储器阵列设定为一个已知状态。
MINITGCR 寄存器启用内存初始化序列,并在 MSINENA 寄存器选择要初始化的内存。
有关这些寄存器的更多信息请参阅《器件技术参考手册》。
不同片载存储器到 MSINENA寄存器特定位的映射显示在Table 5-23中。
连接模块 | 地址范围 | MSINENA 寄存器位号(1) | |
---|---|---|---|
基址 | 结束地址 | ||
RAM | 0x08000000 | 0x08007FFF | 0 |
MIBSPI1 RAM | 0xFF0E0000 | 0xFF0FFFFF | 7(2) |
DCAN2 RAM | 0xFF1C0000 | 0xFF1DFFFF | 6 |
DCAN1 RAM | 0xFF1E0000 | 0xFF1FFFFF | 5 |
MIBADCRAM | 0xFF3E0000 | 0xFF3FFFFF | 8 |
N2HETRAM | 0xFF460000 | 0xFF47FFFF | 3 |
HTU RAM | 0xFF4E0000 | 0xFF4FFFFF | 4 |
VIM RAM | 0xFFF82000 | 0xFFF82FFF | 2 |
矢量中断管理器 (VIM) 为器件上的许多中断源进行优先级排序以及控制这些中断源提供了硬件支持。 中断由正常程序执行流程以外的事件引起。 这些事件通常要求一个来自中央处理单元 (CPU) 的及时的响应;因此,当一个中断发生时,CPU 从正常程序流程切换至中断处理例程 (ISR)。
VIM 模块有下列特性:
模块 | 中断源 | 缺省 VIM 中断通道 |
---|---|---|
ESM | ESM 高级中断 (NMI) | 0 |
被保留 | 被保留 | 1 |
RTI | RTI 比较中断 0 | 2 |
RTI | RTI 比较中断 1 | 3 |
RTI | RTI 比较中断 2 | 4 |
RTI | RTI 比较中断 3 | 5 |
RTI | RTI 溢出中断 0 | 6 |
RTI | RTI 溢出中断 1 | 7 |
被保留 | 被保留 | 8 |
GIO | GIO 中断 A | 9 |
N2HET | NHET2 0 级中断 | 10 |
HTU | HTU 0 级中断 | 11 |
MIBSPI1 | MIBSPI1 0 级中断 | 12 |
LIN | LIN 0 级中断 | 13 |
MIBADC | MIBADC 事件组中断 | 14 |
MIBADC | MIBADC sw 组 1 中断 | 15 |
DCAN1 | DCAN1 0 级中断 | 16 |
SPI2 | SPI20 级中断 | 17 |
被保留 | 被保留 | 18 |
被保留 | 被保留 | 19 |
ESM | ESM 低级中断 | 20 |
系统 | 软件中断 (SSI) | 21 |
CPU | PMU 中断 | 22 |
GIO | GIO 中断 B | 23 |
N2HET | N2HET 1 级中断 | 24 |
HTU | HTU 1 级中断 | 25 |
MIBSPI1 | MIBSPI1 1 级中断 | 26 |
LIN | LIN 1 级中断 | 27 |
MIBADC | MIBADC sw 组 2 中断 | 28 |
DCAN1 | DCAN1 1 级中断 | 29 |
SPI2 | SPI21 级中断 | 30 |
MIBADC | MIBADC 量级比较中断 | 31 |
被保留 | 被保留 | 32-34 |
DCAN2 | DCAN2 0 级中断 | 35 |
被保留 | 被保留 | 36 |
SPI3 | SPI3 0 级中断 | 37 |
SPI3 | SPI3 1 级中断 | 38 |
被保留 | 被保留 | 39-41 |
DCAN2 | DCAN2 1 级中断 | 42 |
被保留 | 被保留 | 43-60 |
FMC | FSM_DONE 中断 | 61 |
被保留 | 被保留 | 62-79 |
HWAG | HWA_INT_REQ_H | 80 |
被保留 | 被保留 | 81 |
DCC | DCC 完成中断 | 82 |
被保留 | 被保留 | 83 |
eQEPINTn | eQEP中断 | 84 |
PBIST | PBIST 完成中断 | 85 |
被保留 | 被保留 | 86-87 |
HWAG | HWA_INT_REQ_L | 88 |
被保留 | 被保留 | 89-95 |
NOTE
VIM RAM 中的地址位置 0x00000000 为幻影中断 ISR 入口所保留;因此,只可使用请求通道 0..94 并且在 VIMRAM 中偏移 1 个地址。
实时中断 (RTI) 模块为操作系统和基准代码提供定时器功能。 RTI 模块可包含几个计数器,这些计数器定义了调度操作系统所需的时基。
定时器还使得您能够通过在所需代码范围的开始和末尾读取计数器的值并计算这些值之间的不同来重构代码的特定区域。
RTI 模块有下列特性:
RTI 模块使用 RTICLK 时钟域来生成 RTI 时基。
应用可通过配置地址为 0xFFFFFF50 的系统模块内的 RCLKSRC 寄存器来为 RTICLK 选择时钟源。 RTICLK 缺省时钟源为 VCLK。
时钟源的更多信息请参考Table 5-8和Table 5-12。
错误信令模块 (ESM) 管理RM4x微控制器上不同的错误条件。 错误条件按照分配给它的固定严重等级被处理。 任何严重的错误条件可被配置成在一个被称为 nERROR 的专用器件引脚上驱动一个低电平。 这可被用作一个对外部监视器电路的指示,使此电路将系统置于一个故障安全模式。
错误信令模块的特性为:
错误信令模块 (ESM) 集成了所有器件错误条件并将它们按照严重顺序分组。 组 1 用于最低严重程度的错误,而组 3 被用于最高严重程度的错误。 器件对每个错误的响应由它所连接到严重程度组别确定。Table 5-26显示了针对每个组的通道分配。
错误组 | 中断特性 | 对错误引脚的影响 |
---|---|---|
组 1 | 可屏蔽,低或高优先级 | 可配置的 |
组 2 | 不可屏蔽的,高 优先级 | 固定的 |
组 3 | 没有中断被生成 | 固定的 |
错误源 | 组 | 通道 |
---|---|---|
被保留 | 组 1 | 0 |
被保留 | 组 1 | 1 |
被保留 | 组 1 | 2 |
被保留 | 组 1 | 3 |
被保留 | 组 1 | 4 |
被保留 | 组 1 | 5 |
FMC - 可校正的错误:总线 1 和总线 2 接口(不包括到组 EEPROM 的访问) | 组 1 | 6 |
N2HET - 奇偶校验 | 组 1 | 7 |
HTU - 奇偶校验 | 组 1 | 8 |
HTU - MPU | 组 1 | 9 |
PLL - 跳周 | 组 1 | 10 |
时钟监视器 - 中断 | 组 1 | 11 |
被保留 | 组 1 | 12 |
被保留 | 组 1 | 13 |
被保留 | 组 1 | 14 |
VIM RAM - 奇偶校验 | 组 1 | 15 |
被保留 | 组 1 | 16 |
MibSPI1 - 奇偶校验 | 组 1 | 17 |
被保留 | 组 1 | 18 |
MibADC - 奇偶校验 | 组 1 | 19 |
被保留 | 组 1 | 20 |
DCAN1 - 奇偶校验 | 组 1 | 21 |
被保留 | 组 1 | 22 |
DCAN2 - 奇偶校验 | 组 1 | 23 |
被保留 | 组 1 | 24 |
被保留 | 组 1 | 25 |
RAM 偶数组 (B0TCM) - 可纠正的错误 | 组 1 | 26 |
CPU - 自检 | 组 1 | 27 |
RAM 奇数组 (B1TCM) - 可纠正的错误 | 组 1 | 28 |
被保留 | 组 1 | 29 |
DCC-错误 | 组 1 | 30 |
CCM - R4 - 自检 | 组 1 | 31 |
被保留 | 组 1 | 32 |
被保留 | 组 1 | 33 |
被保留 | 组 1 | 34 |
FMC - 可纠正的错误(EEPROM 组访问) | 组 1 | 35 |
FMC - 不可纠正的错误(EEPROM 组访问) | 组 1 | 36 |
IOMM - 复用配置错误 | 组 1 | 37 |
被保留 | 组 1 | 38 |
被保留 | 组 1 | 39 |
熔丝组-每当熔丝组错误状态寄存器中的任何位被置位时,就会生成这个错误信号。 每当该位被置位以便处理任何电熔丝组的错误条件时,该应用程序就可以选择生成和中断。 | 组 1 | 40 |
熔丝组 - 自检错误。 当该位被置位时,没有必要产生一个单独的中断。 | 组 1 | 41 |
被保留 | 组 1 | 42 |
被保留 | 组 1 | 43 |
被保留 | 组 1 | 44 |
被保留 | 组 1 | 45 |
被保留 | 组 1 | 46 |
被保留 | 组 1 | 47 |
被保留 | 组 1 | 48 |
被保留 | 组 1 | 49 |
被保留 | 组 1 | 50 |
被保留 | 组 1 | 51 |
被保留 | 组 1 | 52 |
被保留 | 组 1 | 53 |
被保留 | 组 1 | 54 |
被保留 | 组 1 | 55 |
被保留 | 组 1 | 56 |
被保留 | 组 1 | 57 |
被保留 | 组 1 | 58 |
被保留 | 组 1 | 59 |
被保留 | 组 1 | 60 |
被保留 | 组 1 | 61 |
被保留 | 组 1 | 62 |
被保留 | 组 1 | 63 |
被保留 | 组 2 | 0 |
被保留 | 组 2 | 1 |
CCMR4 - 比较 | 组 2 | 2 |
被保留 | 组 2 | 3 |
FMC - 不可纠正的错误(总线 1 访问上的地址奇偶校验) | 组 2 | 4 |
被保留 | 组 2 | 5 |
RAM 偶数组 (B0TCM) - 不可纠正的错误 | 组 2 | 6 |
被保留 | 组 2 | 7 |
RAM 奇数组 (B1TCM) - 不可纠正的错误 | 组 2 | 8 |
被保留 | 组 2 | 9 |
RAM 偶组合 (B0TCM) - 地址总线奇偶校验错误 | 组 2 | 10 |
被保留 | 组 2 | 11 |
RAM 奇数组 (B1TCM) - 地址总线奇偶校验错误 | 组 2 | 12 |
被保留 | 组 2 | 13 |
被保留 | 组 2 | 14 |
被保留 | 组 2 | 15 |
TCM - ECC 活锁检测 | 组 2 | 16 |
被保留 | 组 2 | 17 |
被保留 | 组 2 | 18 |
被保留 | 组 2 | 19 |
被保留 | 组 2 | 20 |
被保留 | 组 2 | 21 |
被保留 | 组 2 | 22 |
被保留 | 组 2 | 23 |
RTI_WWD_NMI | 组 2 | 24 |
被保留 | 组 2 | 25 |
被保留 | 组 2 | 26 |
被保留 | 组 2 | 27 |
被保留 | 组 2 | 28 |
被保留 | 组 2 | 29 |
被保留 | 组 2 | 30 |
被保留 | 组 2 | 31 |
被保留 | 组 3 | 0 |
熔丝组 - 自动载入错误 | 组 3 | 1 |
被保留 | 组 3 | 2 |
RAM 偶数组 (B0TCM) - ECC 不可纠正的错误 | 组 3 | 3 |
被保留 | 组 3 | 4 |
RAM 奇数组 (B1TCM) - ECC 不可纠正的错误 | 组 3 | 5 |
被保留 | 组 3 | 6 |
FMC - 不可纠正的错误:总线 1 和总线 2 接口(不包括地址奇偶校验错误和访问组 EEPROM 时的错误) | 组 3 | 7 |
被保留 | 组 3 | 8 |
被保留 | 组 3 | 9 |
被保留 | 组 3 | 10 |
被保留 | 组 3 | 11 |
被保留 | 组 3 | 12 |
被保留 | 组 3 | 13 |
被保留 | 组 3 | 14 |
被保留 | 组 3 | 15 |
被保留 | 组 3 | 16 |
被保留 | 组 3 | 17 |
被保留 | 组 3 | 18 |
被保留 | 组 3 | 19 |
被保留 | 组 3 | 20 |
被保留 | 组 3 | 21 |
被保留 | 组 3 | 22 |
被保留 | 组 3 | 23 |
被保留 | 组 3 | 24 |
被保留 | 组 3 | 25 |
被保留 | 组 3 | 26 |
被保留 | 组 3 | 27 |
被保留 | 组 3 | 28 |
被保留 | 组 3 | 29 |
被保留 | 组 3 | 30 |
被保留 | 组 3 | 31 |
错误源 | 系统模式 | 错误回应 | ESM 接线, 组.通道 |
---|---|---|---|
CPU 处理 | |||
精确的写入错误(NCNB / 强序) | 用户/权限 | 精确中止 (CPU) | 不可用 |
精确的读取错误(NCB / 器件或正常) | 用户/权限 | 精确中止 (CPU) | 不可用 |
模糊的写入错误(NCB / 器件或正常) | 用户/权限 | 模糊中止(CPU) | 不可用 |
无效指令 | 用户/权限 | 未定义指令陷阱 (CPU)(1) | 不可用 |
MPU 访问冲突 | 用户/权限 | 中止(CPU) | 不可用 |
SRAM | |||
B0 TCM(奇数)ECC 单一错误(可纠正) | 用户/权限 | ESM | 1.26 |
B0 TCM(偶)ECC 双错误(不可纠正) | 用户/权限 | 中止 (CPU),ESM => nERROR | 3.3 |
B0 TCM(偶)无法更正的错误(即冗余地址解码) | 用户/权限 | ESM => NMI => nERROR | 2.6 |
B0 TCM(偶)地址总线奇偶校验错误 | 用户/权限 | ESM => NMI => nERROR | 2.10 |
B1 TCM(奇数)单一错误(可更正) | 用户/权限 | ESM | 1.28 |
B1 TCM(奇数)双错误(不可更正) | 用户/权限 | 中止(CPU),ESM => nERROR | 3.5 |
B1 TCM(奇数)无法更正的错误(即冗余地址解码) | 用户/权限 | ESM => NMI => nERROR | 2.8 |
B1 TCM(奇数)地址总线奇偶校验错误 | 用户/权限 | ESM => NMI => nERROR | 2.12 |
带有基于 CPUECC 的闪存 | |||
FMC 可纠正的错误 - 总线 1 和总线 2 接口 (不包括对 EEPROM 组的访问) | 用户/权限 | ESM | 1.6 |
FMC 不可纠正的错误 - 总线 1 访问 (不包括地址奇偶校验错误) |
用户/权限 | 中止 (CPU),ESM => nERROR | 3.7 |
FMC 不可纠正的错误 - 总线 2 访问 (不包括地址奇偶校验错误和到组 EEPROM 的访问) |
用户/特权 | ESM=>nERROR | 3.7 |
FMC 不可纠正的错误-总线 1 访问时的地址奇偶校验错误 | 用户/权限 | ESM => NMI => nERROR | 2.4 |
FMC 可纠正的错误 - 到组 EEPROM 的访问 | 用户/权限 | ESM | 1.35 |
FMC 不可纠正的错误 - 到组 EEPROM 的访问 | 用户/权限 | ESM | 1.36 |
高端定时器传输单元 (HTU) | |||
具有从器件错误响应的 NCNB(强序)处理 | 用户/权限 | 中断 => VIM | 不可用 |
外部的模糊错误(带有 ok 响应的非法处理) | 用户/权限 | 中断 => VIM | 不可用 |
内存访问允许违反 | 用户/权限 | ESM | 1.9 |
内存奇偶校验错误 | 用户/权限 | ESM | 1.8 |
N2HET | |||
内存奇偶校验错误 | 用户/权限 | ESM | 1.7 |
MIBSPI | |||
MibSPI1 内存奇偶校验错误 | 用户/权限 | ESM | 1.17 |
MIBADC | |||
MibADC 内存奇偶校验错误 | 用户/权限 | ESM | 1.19 |
DCAN | |||
DCAN1 内存奇偶校验错误 | 用户/权限 | ESM | 1.21 |
DCAN2 内存奇偶校验错误 | 用户/权限 | ESM | 1.23 |
PLL | |||
PLL 跳周错误 | 用户/权限 | ESM | 1.10 |
时钟监视器 | |||
时钟监视器中断 | 用户/权限 | ESM | 1.11 |
DCC | |||
DCC 错误 | 用户/权限 | ESM | 1.30 |
CCM-R4 | |||
自检故障 | 用户/权限 | ESM | 1.31 |
比较故障 | 用户/权限 | ESM => NMI => nERROR | 2.2 |
VIM | |||
内存奇偶校验错误 | 用户/权限 | ESM | 1.15 |
电压监控器 | |||
VMON 超出电压范围 | 不可用 | 复位 | 不可用 |
CPU 自检 (LBIST) | |||
CPU 自检 (LBIST) 错误 | 用户/权限 | ESM | 1.27 |
引脚复用控制 | |||
复用配置错误 | 用户/权限 | ESM | 1.37 |
熔丝控制器 | |||
熔丝控制器自动载入错误 | 用户/权限 | ESM=>nERROR | 3.1 |
电子熔丝控制器-在错误状态寄存器内置位的任何位 | 用户/权限 | ESM | 1.40 |
电子熔丝控制器自检错误 | 用户/权限 | ESM | 1.41 |
窗口式看门狗 | |||
WWD 不可屏蔽的中断异常 | 不可用 | ESM => NMI => nERROR | 2.24 |
错误 SYSESR 寄存器中反映的错误 | |||
加电复位 | 不可用 | 复位 | 不可用 |
振荡器故障 / PLL 跳周(2) | 不可用 | 复位 | 不可用 |
看门狗异常 | 不可用 | 复位 | 不可用 |
CPU 复位(由 CPUSTC 驱动) | 不可用 | 复位 | 不可用 |
软件复位 | 不可用 | 复位 | 不可用 |
外部复位 | 不可用 | 复位 | 不可用 |
这个器件包含一个数字窗口式看门狗 (DWWD) 模块,此模块防止代码执行失控。
DWWD 模块使得应用能够配置时间窗口,在这个窗口内 DWWD 模块要求应用来处理看门狗。 如果应用在这个窗口之外处理安全装置,或者根本就没有成功处理安全装置,一个安全装置违反就会发生。 对于在一个安全装置违反情况下,应用程序可以选择产生一个系统复位或一个到 CPU 的非屏蔽中断。
缺省情况下,安全装置被禁用并且必须由应用启用。 一旦被启用,看门狗只能在系统复位时被禁用。
模块名称 | 帧芯片 选择 |
帧地址范围 | 帧 大小 |
实际 大小 |
对帧内未实现位置的访问的响应 | |
---|---|---|---|---|---|---|
启动 (START) | 结束 (END) | |||||
CoreSight 调试ROM | CSCS0 | 0xFFA0_0000 | 0xFFA0_0FFF | 4KB | 4KB | 读取返回 0,写入无影响 |
Cortex-R4 调试 | CSCS1 | 0xFFA0_1000 | 0xFFA0_1FFF | 4KB | 4KB | 读取返回 0,写入无影响 |
该器件的 JTAG ID 代码是 0x0B97102F。 此代码与器件 ICEPick 识别代码一样。
调试 ROM 存储了调试 APB 总线上组件的位置:
地址 | 说明 | 值 |
---|---|---|
0x000 | 到 Cortex-R4 的指针 | 0x0000 1003 |
0x001 | 被保留 | 0x0000 2002 |
0x002 | 被保留 | 0x0000 3002 |
0x003 | 被保留 | 0x4002 0000 |
0x004 | 表尾 | 0x0000 0000 |
编号 | 参数 | 最小值 | 最大值 | 单位 | |
---|---|---|---|---|---|
fTCK | TCK 频率(在 HCLKmax 上) | 12 | MHz | ||
fRTCK | RTCK 频率(在 TCKmax 和 HCLKmax 上) | 10 | MHz | ||
1 | td(TCK -RTCK) | 延迟时间, TCK 到 RTCK 的时间 | 24 | ns | |
2 | tsu(TDI/TMS - RTCKr) | 建立时间,TDI, TMS 在 RTCK 上升 (RTCKr) 前的时间 | 26 | ns | |
3 | th(RTCKr -TDI/TMS) | 保持时间,TDI,TMS 在 RTCKr 后的时间 | 0 | ns | |
4 | th(RTCKr -TDO) | 保持时间,TDO 在 RTCKf 后的时间 | 0 | ns | |
5 | td(TCKf-TDO) | 延迟时间,RTCK 下降 (RTCKf) 后 TDO 的有效时间 | 12 | ns |
这个器件包含一个高级 JTAG 安全模块 (AJSM)。此模块通过允许用户在编程后锁定器件来为器件的存储器内容提供最大的安全性。
缺省情况下,器件由一个在 OTP 地址 0xF0000000 内设定的 128 位可见解锁代码来解锁。OTP 内容与“扫描解锁”寄存器内容进行异或 (XOR) 运算。 这些 XOR 门的输出重新与一组加密内部打结相组合。 这个组合逻辑输出与一个加密硬编码 128 位值相比较。 一个解锁 (UNLOCK) 信号内的匹配信号被置为有效,这样此器件现在被解锁。
用户可通过将可见解锁代码中至少一个位从 1 改为 0 来将器件解锁。由于可见解锁代码被存储在一次性可编程 (OTP) 闪存区域内,所以不能将这个位从 0 改为 1。 此外,将所有 128 位改为零不是一个有效条件并且将永久锁住器件。
一旦被锁定,用户可以通过扫描一个适当的值进入 AJSM 模块中的“由扫描解锁”寄存器来解锁器件。 被扫描的值是 OTP 内容的 XOR,而由扫描解锁寄存器内容得到原始可见解锁代码。
由扫描解锁寄存器只有当加电复位 (nPORRST) 被置为有效时才复位。
一个受保护器件只允许由 ICEPick 模块的次级抽头 #2 到 AJSM 扫描链的 JTAG 访问。 所有其它次级抽头、试验抽头和边界扫描接口都不能在这个状态下访问。
为了测试引脚到引脚兼容性,器件支持与边界扫描描述语言 (BSDL) 兼容的边界扫描。 边界扫描链被连接到 ICEPICK 模块的边界扫描接口上。
输入分别由 TDI 和 TDO 串行移入和移出所有边界扫描缓冲器。