ZHCSCX9 October   2014 RM41L232

PRODUCT PREVIEW Information. Product in design phase of development. Subject to change or discontinuance without notice.  

  1. 1器件概述
    1. 1.1 特性
    2. 1.2 应用
    3. 1.3 说明
    4. 1.4 功能方框图
  2. 2修订历史记录
  3. 3器件封装和引脚功能
    1. 3.1 PZ QFP 封装引脚分配(100 引脚)
    2. 3.2 引脚配置和功能
      1. 3.2.1  高端定时器 (N2HET)
      2. 3.2.2  增强型正交编码器脉冲模块 (eQEP)
      3. 3.2.3  通用输入/输出 (GIO)
      4. 3.2.4  控制器局域网络接口模块 (DCAN1,DCAN2)
      5. 3.2.5  多缓冲串行外设接口 (MibSPI1)
      6. 3.2.6  标准串行外设接口 (SPI2)
      7. 3.2.7  本地互连网络控制器 (LIN)
      8. 3.2.8  多缓冲模数转换器 (MibADC)
      9. 3.2.9  系统模块
      10. 3.2.10 错误信令模块 (ESM)
      11. 3.2.11 主振荡器
      12. 3.2.12 测试/调试接口
      13. 3.2.13 闪存
      14. 3.2.14 内核电源
      15. 3.2.15 I/O 电源
      16. 3.2.16 内核和 I/O 电源接地基准
    3. 3.3 输出复用和控制
      1. 3.3.1 输出多路复用的注意事项
      2. 3.3.2 多路复用控制寄存器的通用规则
    4. 3.4 特定复用选项
      1. 3.4.1 eQEP 输入过滤
        1. 3.4.1.1 eQEPA 输入
        2. 3.4.1.2 eQEPB 输入
        3. 3.4.1.3 eQEPI 输入
        4. 3.4.1.4 eQEPS 输入
      2. 3.4.2 N2HET PIN_nDISABLE 输入端口
  4. 4规范
    1. 4.1  自然通风运行温度范围内的最大绝对值,
    2. 4.2  处理额定值
    3. 4.3  上电小时数 (POH)
    4. 4.4  建议的运行条件
    5. 4.5  建议时钟域运行条件下的开关特性
    6. 4.6  要求等待状态
    7. 4.7  推荐运行条件内的功耗
    8. 4.8  PZ 的热阻特性
    9. 4.9  推荐运行条件下的输入/输出电气特性
    10. 4.10 输出缓冲器驱动强度
    11. 4.11 输入时序
    12. 4.12 输出时序
  5. 5系统信息和电气技术规范
    1. 5.1  电压监视器特性
      1. 5.1.1 重要考虑
      2. 5.1.2 电压监视器运行
      3. 5.1.3 电源过滤
    2. 5.2  电源排序和加电复位
      1. 5.2.1 加电顺序
      2. 5.2.2 断电序列
      3. 5.2.3 加电复位:nPORRST
        1. 5.2.3.1 nPORRST 电气和时序要求
    3. 5.3  热复位 (nRST)
      1. 5.3.1 热复位的原因
      2. 5.3.2 nRST 时序要求
    4. 5.4  ARM Cortex-R4 CPU 信息
      1. 5.4.1 ARM Cortex-R4 CPU 的特性概要
      2. 5.4.2 由软件启用的 ARM Cortex-R4 CPU 的功能
      3. 5.4.3 双内核执行
      4. 5.4.4 GCLK 之后的双重 CPU 时钟树
      5. 5.4.5 ARM Cortex-R4 CPU 用于安全目的的比较模块 (CCM)
      6. 5.4.6 CPU 自检
        1. 5.4.6.1 针对 CPU 自检的应用序列
        2. 5.4.6.2 CPU 自检时钟配置
        3. 5.4.6.3 CPU 自检范围
    5. 5.5  时钟
      1. 5.5.1 时钟源
        1. 5.5.1.1 主振荡器
          1. 5.5.1.1.1 针对主振荡器的时序要求
        2. 5.5.1.2 低功耗振荡器
          1. 5.5.1.2.1 特性
          2. 5.5.1.2.2 LPO 电气和时序技术规格
        3. 5.5.1.3 锁相环 (PLL) 时钟模块
          1. 5.5.1.3.1 方框图
          2. 5.5.1.3.2 PLL 时序技术规格
      2. 5.5.2 时钟域
        1. 5.5.2.1 时钟域说明
        2. 5.5.2.2 将时钟域映射到器件模块
      3. 5.5.3 时钟测试模式
    6. 5.6  时钟监视
      1. 5.6.1 时钟监视时序
      2. 5.6.2 外部时钟 (ECLK) 输出功能
      3. 5.6.3 双时钟比较器
        1. 5.6.3.1 特性
        2. 5.6.3.2 DCC 时钟源中断的映射
    7. 5.7  去毛刺脉冲滤波器
    8. 5.8  器件存储器映射
      1. 5.8.1 存储器映射图
      2. 5.8.2 存储器映射表
      3. 5.8.3 主器件/从器件访问权限
    9. 5.9  闪存存储器
      1. 5.9.1 闪存存储器配置
      2. 5.9.2 闪存模块的主要特性
      3. 5.9.3 针对闪存访问的 ECC 保护
      4. 5.9.4 闪存访问速度
    10. 5.10 程序闪存的闪存编程和擦除时序
    11. 5.11 闪存编程和擦除时序数据闪存
    12. 5.12 紧耦合 RAM 接口模块
      1. 5.12.1 特性
      2. 5.12.2 TCRAMW ECC 支持
    13. 5.13 用于外设 RAM 访问的奇偶校验保护
    14. 5.14 片载 SRAM 初始化和测试
      1. 5.14.1 使用 PBIST 的片载 SRAM 自检
        1. 5.14.1.1 特性
        2. 5.14.1.2 PBIST RAM 组
      2. 5.14.2 片载 SRAM 自动初始化
    15. 5.15 矢量中断管理器
      1. 5.15.1 VIM 特性
      2. 5.15.2 中断请求分配
    16. 5.16 实时中断模块
      1. 5.16.1 特性
      2. 5.16.2 方框图
      3. 5.16.3 时钟源选项
    17. 5.17 错误信令模块
      1. 5.17.1 特性
      2. 5.17.2 ESM 通道分配
    18. 5.18 复位/异常中断/错误状态
    19. 5.19 数字窗口式看门狗
    20. 5.20 调试子系统
      1. 5.20.1 方框图
      2. 5.20.2 调试组件内存映射
      3. 5.20.3 JTAG 识别代码
      4. 5.20.4 调试 ROM
      5. 5.20.5 JTAG 扫描接口时序
      6. 5.20.6 高级 JTAG 安全模块
      7. 5.20.7 边界扫描链
  6. 6外设信息和电气技术规范
    1. 6.1 外设图例
    2. 6.2 多缓冲12位模数转换器
      1. 6.2.1 特性
      2. 6.2.2 事件触发选项
        1. 6.2.2.1 MIBADC 事件触发接线
      3. 6.2.3 ADC 电气和时序技术规格
      4. 6.2.4 性能(精度)技术规格
        1. 6.2.4.1 MibADC 非线性误差
        2. 6.2.4.2 MibADC 总误差
    3. 6.3 通用输入/输出
      1. 6.3.1 特性
    4. 6.4 增强型高端定时器 (N2HET)
      1. 6.4.1 特性
      2. 6.4.2 N2HET RAM 组织结构
      3. 6.4.3 输入时序技术规格
      4. 6.4.4 N2HET 校验
        1. 6.4.4.1 使用双时钟比较器 (DCC) 的输出监视
      5. 6.4.5 禁用 N2HET 输出
      6. 6.4.6 高端定时器发送单元 (N2HET)
        1. 6.4.6.1 特性
        2. 6.4.6.2 触发连接
    5. 6.5 控制器局域网络 (DCAN)
      1. 6.5.1 特性
      2. 6.5.2 电气和时序技术规格
    6. 6.6 本地互连网络接口 (LIN)
      1. 6.6.1 LIN 特性
    7. 6.7 多缓冲/标准串行外设接口
      1. 6.7.1 特性
      2. 6.7.2 MibSPI 发送和接收 RAM 组织结构
      3. 6.7.3 MibSPI 发送触发事件
        1. 6.7.3.1 MIBSPI1 事件触发接线
      4. 6.7.4 MibSPI/SPI 主控模式 I/O 时序规范
      5. 6.7.5 SPI 受控模式 I/O 时序
    8. 6.8 增强型正交编码器 (eQEP)
      1. 6.8.1 针对 eQEPx 模块的时钟使能控制
      2. 6.8.2 使用 eQEP 相位误差
      3. 6.8.3 到 eQEPx 模块的输入连接
      4. 6.8.4 增强型正交编码器脉冲 (eQEPx) 时序
  7. 7器件和文档支持
    1. 7.1 器件支持
      1. 7.1.1 开发支持
        1. 7.1.1.1 开始使用
      2. 7.1.2 器件命名规则
    2. 7.2 文档支持
      1. 7.2.1 米6体育平台手机版_好二三四 (TI) 相关文档
    3. 7.3 社区资源
    4. 7.4 商标
    5. 7.5 静电放电警告
    6. 7.6 术语表
    7. 7.7 器件识别码寄存器
    8. 7.8 芯片识别寄存器
    9. 7.9 模块认证
      1. 7.9.1 DCAN 认证
      2. 7.9.2 LIN 认证
        1. 7.9.2.1 LIN 主控模式
        2. 7.9.2.2 LIN 受控模式 - 固定波特率
        3. 7.9.2.3 LIN 受控模式 - 自适应波特率
  8. 8机械、封装和可订购米6体育平台手机版_好二三四附录
    1. 8.1 封装信息

封装选项

机械数据 (封装 | 引脚)
散热焊盘机械数据 (封装 | 引脚)
订购信息

5 系统信息和电气技术规范

5.1 电压监视器特性

在这个器件上执行一个电压监视器。 这个电压监视器的目的是,当给内核电源和 I/O 电源电压上电时,消除对一个特定序列的要求。

5.1.1 重要考虑

  • 当电源电压在范围之外时,电压监视器仍然需要一个电压监控器来保证器件被保留在复位状态。
  • 电压监视器只监视内核电源 (VCC) 和I/O 电源 (VCCIO)。 其它电源不受 VMON 监视。 例如,如果 VCCAD 或 VCCP 由一个 VCCIO 以外的电源供电,那么就没有针对 VCCAD 和 VCCP 电源的内部电压监视器。

5.1.2 电压监视器运行

电压监视器在器件上生成电源正常微控制器 (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

Table 5-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

5.1.3 电源过滤

VMON 具有过滤 VCC 和 VCCIO 电源上毛刺买车的功能。

下面的表格显示了电源滤波的特性。 电源中大于最大技术参数的毛刺脉冲不能被滤除。

Table 5-2 VMON 电源毛刺脉冲滤波功能

参数 最小值 最大值
VCC 上可以被滤除的毛刺脉冲的宽度 250ns 1us
VCCIO 上可以被滤除的毛刺脉冲的宽度 250ns 1us

5.2 电源排序和加电复位

5.2.1 加电顺序

VCCIO 的斜升和 VCC 电源间没有时序关系。 加电序列随着 I/O 电压上升到高于最小 I/O 电源阀值,(详细信息请见Table 5-4),内核电压上升到高于最小内核电源阀值和加电复位的释放开始。 高频振荡器将首先启动并且其振幅将上升到一个可接受的水平。 振荡器启动时间取决于振荡器的类型并且由振荡器销售商提供。 到器件的不同电源可以以任何顺序加电。

加电期间,此器件经过下列顺序阶段。

Table 5-3 加电阶段

振荡器启动和有效性检查 1032 个振荡器周期
熔丝自动载入 1160 个振荡器周期
闪存泵加电 688 个振荡器周期
闪存组加电 617 个振荡器周期
总计 3497 个振荡器周期

在上述序列的末尾 CPU 复位被释放并且从地址 0x00000000 中取出第一条指令。

5.2.2 断电序列

到器件的不同电源可以以任一顺序断电。

5.2.3 加电复位:nPORRST

只要 I/O 或内核电源在推荐范围之外,这个复位就必须由一个外部电路置为有效。 这个信号的上面有一个毛刺脉冲滤波器。 它还有一个内部下拉电阻器。

5.2.3.1 nPORRST 电气和时序要求

Table 5-4 nPORRST 的电气要求

编号 参数 最小值 最大值 单位
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
nporrst_timing_pns160.gifFigure 5-1 nPORRST 时序图

5.3 热复位 (nRST)

这是一个双向复位信号。 内部电路在检测到任何器件复位条件时将此信号驱动为低电平。 一个外部电路能够通过将此信号强制为低电平来将一个器件复位置为有效。 在这个引脚上,输出缓冲器被执行为一个开漏器件(只驱动低电平)。 为了确保外部复位不会随意产生,TI 建议将一个外部上拉电阻连接到该引脚。

这个引脚有一个毛刺脉冲滤波器。 它还有一个内部上拉电阻。

5.3.1 热复位的原因

Table 5-5 热复位的原因

器件事件 系统状态标志
加电复位 异常状态寄存器,位 15
振荡器故障 全局状态寄存器,位 0
PLL 跳周 全局状态寄存器,位 8 和 9
安全装置异常/调试器复位 例外状态寄存器,位 13
CPU 复位(由 CPUSTC 驱动) 异常状态寄存器,位 5
软件复位 异常状态寄存器,位 4
外部复位 异常状态寄存器,位 3

5.3.2 nRST 时序要求

Table 5-6 nRST 时序要求

最小值 最大值 单位
tv(RST) 有效时间,nPORRST 无效之后 nRST 的有效时间 2256tc(OSC)(1) ns
有效时间,nRST 有效的时间(所有其它系统复位条件) 32tc(VCLK)
tf(nRST) 滤波器时间 nRST 引脚。
小于 MIN 的脉冲将被滤除掉,大于 MAX 的脉冲将生成一个复位
475 2000 ns
(1) 假定振荡器已经在 nPORRST 被释放前启动且稳定。

5.4 ARM Cortex-R4 CPU 信息

5.4.1 ARM Cortex-R4 CPU 的特性概要

ARM Cortex-R4 CPU 的特性包括:

  • 具有整体嵌入式 ICE-RT 逻辑的整数单元。
  • 高速高级微处理器总线架构 (AMBA) 高级 eXtensible 接口 (AXI),用于二级 (L2) 主器件和从器件接口。
  • 具有一个全局历史记录缓冲器的动态分支预测,和一个 4 入口返回堆栈
  • 低中断延迟。
  • 不可屏蔽中断
  • 一个具有如下组件的哈弗一级存储器系统:
    • 支持纠错或奇偶校验检查存储器的紧耦合存储器 (TCM) 接口
    • 带有 8 个区域的 ARMv7-R 架构存储器保护单元 (MPU)
  • 安全应用中针对故障检测的双内核逻辑
  • 一个 L2 存储器接口:
    • 单个 64 位 AXI 接口
    • 64 位到 TCM RAM 块的受控 AXI 接口
  • 一个到 CoreSlight 调试访问端口 (DAP) 的调试接口
  • 一个性能监视单元 (PMU)
  • 一个矢量化中断控制器 (VIC)端口,

更多有关 ARM Cortex-R4 CPU 的信息,请参阅www.arm.com

5.4.2 由软件启用的 ARM Cortex-R4 CPU 的功能

以下的 CPU 特性在复位时被禁用并且必须在需要时由应用启用。

  • 紧耦合存储器 (TCM) 访问上的纠错码 (ECC)
  • 硬件矢量化中断 (VIC) 端口
  • 内存保护单元 (MPU)

5.4.3 双内核执行

此器件有两个 Cortex-R4 内核,在 CCM-R4 单元中比较两个 CPU 的输出信号。 为了避免共模影响,将被进行比较的 CPU 的信号延迟 2 个时钟周期,如Figure 5-3所示。

CPU 有一个由下列要求指定的不同的 CPU 布局:

  • 不同的方向;例如 CPU1 = 朝“北”,CPU2 = 朝向“偏西”
  • 针对每个 CPU 的专用保护环
dual_cpu_orient.gifFigure 5-2 双 - CPU方向

5.4.4 GCLK 之后的双重 CPU 时钟树

CPU 时钟域被分成两个时钟树,每个 CPU 一个,其中第二个 CPU 的时钟的运行频率一样并且与 CPU1 的时钟协同工作。 请参考Figure 5-3

5.4.5 ARM Cortex-R4 CPU 用于安全目的的比较模块 (CCM)

这个器件有两个 ARM Cortex-R4 CPU 内核,在这两个内核之中,两个 CPU 的输出信号都在 CCM-R4 中进行比较。 为了避免共模影响,将要进行比较的 CPU 的信号,以下面图表中所示的不同方式将这些信号延迟。

dual_core_implementation_pns160.gifFigure 5-3 双内核执行

为了避免不正确的 CCM-R4 比较错误,应用软件必须在寄存器被读取前初始化两个 CPU 的寄存器,其中包括将寄存器值压入堆栈的函数调用。

5.4.6 CPU 自检

通过将确定性逻辑内置自检 (BIST) 控制器用作测试引擎,CPU STC(自检控制器)被用于测试两个 Cortex-R4 CPU。

自检控制器的主要特性包括:

  • 能够将完整测试运行分频成独立的测试间隔
  • 能够运行完整的测试或每次运行几个间隔
  • 能够继续从上次执行的时间间隔中(测试设置)或从开始重新启动(第一个测试设置)
  • 在自检运行期间将被自检测试的 CPU 内核从系统的其余部分完全隔离
  • 能够捕获故障间隔数
  • 针对 CPU 自检的超时计数器具有一个故障安全特性

5.4.6.1 针对 CPU 自检的应用序列

  1. 配置时钟域频率。
  2. 选择要运行的测试时间间隔数。
  3. 配置针对自检运行的超时周期。
  4. 如果需要的话,保存 CPU 的状态
  5. 启用自检。
  6. 等待 CPU 复位。
  7. 在复位处理器中,读取 CPU 自检状态来识别任何故障。
  8. 按需要检索 CPU 状态。

更多信息请参阅《器件技术参考手册》。

5.4.6.2 CPU 自检时钟配置

自检的最大时钟速率为 45MHz。 必要时,STCCLK 是从 CPU 时钟上分频的。 这个分频器由位于地址 0xFFFFE108 上的 STCCLKDIV 寄存器配置。

更多信息请参阅《器件技术参考手册》。

5.4.6.3 CPU 自检范围

Table 5-7显示了每个自检间隔实现的 CPU 测试范围。 它还列出了累积测试周期。 通过将测试周期数量与 STC 时钟周期相乘可以计算出测试时间。

Table 5-7 CPU 自检范围

间隔 测试覆盖率, % 测试周期
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

5.5 时钟

5.5.1 时钟源

下面的表列出了器件上可用的时钟源。 可使用系统模块中的 CSDISx 寄存器来启用或禁用每个时钟源。 表中的时钟源数量与针对那个时钟源的 CSDISx 寄存器中的控制位相对应。

此表还显示了每个时钟源的缺省状态。

Table 5-8 可用时钟源

时钟
源编号
名称 说明 默认状态
0 OSCIN 主振荡器 被启用
1 PLL1 PLL1的输出 被禁用
2 被保留 被保留 被禁用
3 EXTCLKIN1 外部时钟输入 #1 被禁用
4 CLK80K 内部基准振荡器的低频输出 被启用
5 CLK10M 内部基准振荡器的高频输出 被启用
6 被保留 被保留 被禁用
7 被保留 被保留 被禁用

5.5.1.1 主振荡器

如所示,通过在外部 OSCIN 和 OSCOUT 引脚之间连接适合的基本谐振器/晶振Figure 5-4和负载电容来启用此振荡器。 振荡器是一种单级变换器,由一个集成的偏置电阻器保持在偏置状态。 该电阻在泄漏测试测量期间和低功耗模式中被禁用。

TI 强烈建议顾客提交该器件的样品让谐振器/晶振供应商测试其性能。 供应商有专门设备来确定多大的负载电容能够最好的调节他们的谐振器/晶振来满足微控制器在温度/电压极值范围内对于最优启动和运行的要求。

通过在 OSCIN 引脚上连接一个 3.3V 的时钟信号并使 OSCOUT 引脚悬空(断开)(如下面的图标所示),可使用一个外部振荡器源。

clock_connection_pns160.gifFigure 5-4 推荐的晶振/时钟连接

5.5.1.1.1 针对主振荡器的时序要求

Table 5-9 针对主振荡器的时序要求

参数 最小值 典型值 最大值 单位
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

5.5.1.2 低功耗振荡器

低功耗振荡器 (LPO) 由一个单宏中的两个振荡器 - 高频 (HF) LPO 和低频 (LF) LPO 组成。

5.5.1.2.1 特性

LPO 的主要特性有:

  • 针对省电模式,以极低功耗为一个时钟供源。 这个被连接为全局时钟模块的时钟源 #4。
  • 针对非时序关键系统,为一个高频时钟供源。 这个被连接为全局时钟模块的时钟源 #5。
  • 为晶体振荡器故障检测电路提供一个比较时钟。

LPO_Block_Diagram_pns160.gifFigure 5-5 LPO 方框图

Figure 5-5显示了一个内部基准振荡器的方框图。 这是一个低功耗振荡器 (LPO) 并且提供两个时钟源:一个的标称值为 80KHz,而另一个的标称值为10MHz。

5.5.1.2.2 LPO 电气和时序技术规格

Table 5-10 LPO 技术规格

参数 最小值 典型值 最大值 单位
时钟检测 振荡器故障频率 - 更低的阀值,使用未经修整的 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

5.5.1.3 锁相环 (PLL) 时钟模块

PLL 用于将输入频率倍乘以获得更高的频率。

PLL 的主要特性为:

  • 频率调制可被有选择性地添加到 PLL 的合成频率上。
  • 可配置频率倍频器和分频器。
  • 内置 PLL 跳周监视电路。
  • 检测到一个 PLL 跳周时将器件复位的选项。

5.5.1.3.1 方框图

下图显示了一个在该微控制器上的 PLL 宏的高级方框图。

FMzPLLx_block_diagram_1oscin_pns160.gifFigure 5-6 PLL 方框图

5.5.1.3.2 PLL 时序技术规格

Table 5-11 PLL 时序技术规格

参数 最小值 最大值 单位
fINTCLK PLL1 基准时钟频率 1 20 MHz
fpost_ODCLK Post-ODCLK-PLL1 后置分频器输入时钟基准 400 MHz
fVCOCLK VCOCLK-PLL1 输出分频器 (OD) 输入时钟基准 150 550 MHz

5.5.2 时钟域

5.5.2.1 时钟域说明

下面的表格列出了器件时钟域和它们的缺省时钟源。 这个表还显示了被用于为每个时钟域选择一个可用时钟源的系统模块控制寄存器。

Table 5-12 时钟域说明

时钟域,名称 缺省时钟源 时钟源选择寄存器 说明
HCLK OSCIN GHVSRC
  • 由 CDDISx 寄存器位 1 禁用
GCLK OSCIN GHVSRC
  • 一直与HCLK 的频率保持一致
  • 与 HCLK 同相
  • 可由 CDDISx 寄存器位 0 与 HCLK 分别被禁用
  • 通过使用地址 0xFFFFE108 上的 STCCLKDIV 寄存器的 CLKDIV 字段,当运行 CPU 自检 (LBIST) 时,可被 1 到最高 8 分频。
GCLK2 OSCIN GHVSRC
  • 一直与 GCLK 的频率保持一致
  • 比 GCLK 晚 2 个周期
  • 与 GCLK 一起被禁用
  • 当运行 CPU 自检 (LBIST) 时,使用与GCLK 一样的分频器设置进行分频。
VCLK OSCIN GHVSRC
  • 由 HCLK 分频获得
  • 可以为 HCLK/1,HCLK/2, ... 或 HCLK/16
  • 可由 CDDISx 寄存器位 2 与 HCLK 分别被禁用
  • 通过使用 CDDISx 寄存器的位 9 可单独禁用 eQEP
VCLK2 OSCIN GHVSRC
  • 由 HCLK 分频获得
  • 可以为 HCLK/1,HCLK/2, ... 或 HCLK/16
  • 频率必须为 VCLK 频率的整数倍数。
  • 可由 CDDISx 寄存器位 3 与 HCLK 分别被禁用
VCLKA1 VCLK VCLKASRC
  • 缺省将VCLK 作为一个源
  • 频率速度可与 HCLK频率一样
  • 由 CDDISx 寄存器位 4 禁用
RTICLK VCLK RCLKSRC
  • 缺省将 VCLK 作为一个源
  • 如果一个 VCLK 以外的时钟源被选为 RTICLK,那么 RTICLK 频率必须小于或等于 VCLK/3。
    • 如果需要的话,应用可以通过编辑 RCLKSRC 寄存器的 RTI1DIV 字段来确保这一要求。
  • 由 CDDISx 寄存器位6 禁用

5.5.2.2 将时钟域映射到器件模块

每个时钟模块都有一个专用功能,如在下图中所示。

dev_clock_domains_f3_spns186.gifFigure 5-7 器件时钟域

5.5.3 时钟测试模式

RM4x平台架构定义了一个特别模块,此模块允许在 ECLK 引脚和 N2HET[2] 器件输出上生成不同的时钟信号。 这个模块被称为时钟测试模块 它对于调试十分有用并且可由系统模块中的 CLKTEST 寄存器配置。

Table 5-13 时钟测试模式选项

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 振荡器有效状态

5.6 时钟监视

LPO 时钟检测 (LPOCLKDET) 模块由一个时钟监视器 (CLKDET) 和一个内部低功耗振荡器 (LPO) 组成。

LPO 提供两个时钟源-一个低频 (LFLPO) 和一个高频 (HFLPO)。

CLKDET 是为一个针对外部提供的时钟信号 (OSCIN) 的监控电路。 在OSCIN 频率下降到低于一个频率窗口的情况下,CLKDET 在全局状态寄存器中标记这个情况(GLBSTAT 位 0:振荡器故障 (OSC FAIL))并且将所有由 OSCIN 供源的时钟域切换至HFLPO 时钟(跛行模式时钟)。

有效 OSCIN 频率范围被定义为:fHFLPO/4<fOSCIN<fHFLPO*4。

5.6.1 时钟监视时序

有关 LPO 和时钟检测的更多信息,请参考Table 5-10

LPO_Clk_Detection_pns160.gifFigure 5-8 LPO 和时钟检测,未修整的 HFLPO

5.6.2 外部时钟 (ECLK) 输出功能

ECLK 引脚可被配置为输出一个预分频时钟信号,此信号表示一个内部器件时钟。 这个输出可被外部监视为一个安全诊断。

5.6.3 双时钟比较器

双时钟比较器 (DCC) 模块通过计数两个独立时钟源(计数器 0 和计数器 1)的脉冲数来确定所选时钟源的准确性。 如果一个时钟在技术参数之外,那么就生成一个错误信号。 例如,DCC 可被配置为使用 CLK10M 作为基准时钟(用于计数器 0),而 VCLK 作为“测试中的时钟”(用于计数器 1)。 这个配置使得 DCC 能够在 VCLK 正在使用 PLL输出作为其时钟源的时候监视 PLL 输出时钟。

这个模块的一个另外的用途是测量一个可选时钟源的频率,方法是使用输入时钟作为一个基准,通过计算两个独立时钟源的脉冲来测量。 计数器 0 在一个预先设定的脉冲数量之后生成一个定宽计数窗口。 计数器 1 在一个预先设定的脉冲数量之后生成一个定宽脉冲(1 个周期)。 如果计数器 1 在由计数器 0 生成的计数窗口内没有达到 0, 那么这个脉冲被设定为一个错误信号。

5.6.3.1 特性

  • 将两个不同的时钟源作为到两个独立计数器块的输入。
  • 时钟源中的一个为已知正常,或基准时钟;第二个时钟源是“测试中的时钟。”
  • 每个计数器可使用初始的,或者种子值进行编程。
  • 计数器块同时从它们的种子值开始倒计数;与针对测试中时钟的预计频率的不匹配将生成一个错误信号,此信号被用于中断 CPU。

5.6.3.2 DCC 时钟源中断的映射

Table 5-14 DCC 计数器 0 时钟源

测试模式 时钟源 [3:0] 时钟名称
0 其它 振荡器 (OSCIN)
0x5 高频 LPO
0xA 测试时钟 (TCK)
1 X VCLK

Table 5-15 DCC 计数器 1 时钟源

测试模式 键 [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

5.7 去毛刺脉冲滤波器

一个毛刺脉冲滤波器出现在以下信号上。

Table 5-16 毛刺脉冲滤波器时序技术规格

引脚 参数 最小值 最大值 单位
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
(1) nPORRST 信号上的毛刺脉冲滤波器被设计成振幅脉冲将不会复位微控制器的任何部件(闪存泵,I/O 引脚等)。无也生成一个到 CPU 的有效复位。

5.8 器件存储器映射

5.8.1 存储器映射图

Figure 5-9显示了器件存储器映射。

memory_map_f7_f8_spns240_242.gifFigure 5-9 RM41232 存储器映射

在所有配置中的闪存存储器被镜像来支持 ECC 逻辑测试。 被镜像的闪存映像的基地址为 0x2000 0000。

5.8.2 存储器映射表

请参阅Figure 1-1给出的器件互连方框图。

Table 5-17 器件存储器映射

模块名称 帧芯片选择 地址范围 帧大小 实际大小 对帧内未实现位置的访问的响应
启动 (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,写入无影响

5.8.3 主器件/从器件访问权限

下面的表格中列出了器件上每个总线主控的访问许可。 一个总线主控是一个能够在器件上启动一个读取或写入操作的模块。

表中列出了主互连上的每个受控模块。 一个“支持”表示列于“主控”列的模块能够访问受控模块。

Table 5-18 主器件/从器件访问矩阵

主器件 访问模式 主 SCR 上的从器件
闪存模块总线 2 接口:
OTP,ECC,EEPROM 组
到程序闪存和 CPU 数据 RAM 的非 CPU 访问 CRC 外设控制寄存器,所有外设寄存器,以及所有系统模块控制寄存器和存储器
CPU 读取 用户/权限
CPU 写入 用户/权限
HTU 权限

5.9 闪存存储器

5.9.1 闪存存储器配置

闪存组:一个独立逻辑块,可能包含 1 至 16 个扇区。 每个闪存组通常有一个用户 OTP 和一个 TI-OTP 区域。 这些闪存扇区共用输入/输出缓冲器、数据路径、感测放大器、和控制逻辑。

闪存扇区:闪存存储器的一个连续区域,由于物理结构限制,此区域必须被同时擦除。

闪存泵:一个生成读取、编程、或擦除闪存组全部所需电压的电荷泵。

闪存模块:主机 CPU 和闪存组以及泵模块将所需的接口电路。

注意:0x0002_0000 到 0x0003_FFFF 的内存区域本身无法防止推测取数据或失控代码造成 nERROR 引脚翻转。 必须使用 MPU 区域来限制只能访问 ATCM 空间的前 128KB (0x0000_0000-0x0001_FFFF)。 此外,应使用闪存 API 版本 02.01.01 或更高版本对本器件的闪存进行编程或擦除。

Table 5-19 闪存存储器组和扇区

存储器阵列(或组)
编号
扇区
编号
线段 低地址 高地址
组 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
(1) 该闪存组为 144 位宽,带 ECC 支持。
(2) 闪存组 7 是 FLEE 库且可以在执行闪存组 0 中的代码的同时对其进行编程。 该闪存组为 72 位宽,带 ECC 支持。
(3) 不支持从闪存组 7 执行代码。

5.9.2 闪存模块的主要特性

  • 支持多个闪存组的编程和/或数据存储
  • 在读取访问一个组的同时在其它组上执行编程或者擦除操作
  • 集成的状态机时闪存擦除和编程操作自动进行
  • 闪存编程和擦除操作的软件界面
  • 管线模式运行以提升指令访问接口带宽
  • 支持 Cortex-R4 CPU 内的单纠错双纠错 (SECDED) 块
    • 错误地址被捕捉用于主机系统调试
  • 支持丰富的诊断特性集

5.9.3 针对闪存访问的 ECC 保护

所有到程序闪存存储器的访问受到 CPU 内嵌的单纠错双纠错 (SECDED) 逻辑的保护。 针对 64 位指令或者从闪存存储器的取数据,闪存模块提供 8 位ECC 代码。 根据接收到的 64 位,CPU 计算出预计的 ECC 代码,并且将此代码与闪存模块返回的 ECC 代码相比较。 一个单位错误是由 CPU 纠正和标记的,但只标记一个多位错误。 CPU 通过其事件总线发出一个 ECC 错误。 这个信令机制缺省情况下并不被启用,并且必须通过将性能监视控制寄存器,c9 的 'X' 位置位来启用。

MRC p15,#0,r1,c9,c12,#0 ;Enabling Event monitor statesORR r1, r1, #0x00000010MCR p15,#0,r1,c9,c12,#0 ;Set 4th bit (‘X’) of PMNC registerMRC p15,#0,r1,c9,c12,#0

应用必须明确地启用 CPU 的 ECC 校验对CPU ATCM 和 BTCM 接口上的访问进行检查。 这些分别被连接到程序闪存和数据 RAM。 可通过将系统控制协处理器的辅助控制寄存器,c1 的 B1TCMPCEN,B0TCMPCEN 和 ATCMPCEN 位置位来完成对这些接口的 ECC 检查。

MRC p15, #0, r1, c1, c0, #1ORR r1, r1, #0x0e000000 ;Enable ECC checking for ATCM and BTCMsDMBMCR p15, #0, r1, c1, c0, #1

5.9.4 闪存访问速度

有关闪存存储器访问速度和所需相关等待状态的信息,请参见Section 4.6

5.10 程序闪存的闪存编程和擦除时序

Table 5-20 程序闪存的时序规格

参数 最小值 标称值 最大值 单位
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 周期
(1) 编程时间包括状态机的的开销,但不包括数据传输时间。 编程时间假定在最大额定运行频率上一次编辑 144 个位。
(2) 组擦除期间,所选择的扇区被同时擦除。 组擦除时间被规定为与扇区擦除时间相等。

5.11 闪存编程和擦除时序数据闪存

Table 5-21 数据闪存的时序规格

参数 最小值 标称值 最大值 单位
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 周期
(1) 编程时间包括状态机的的开销,但不包括数据传输时间。 编程时间假定在指定的最大运行频率下一次性编程设定 72 个位。
(2) 组擦除期间,所选择的扇区被同时擦除。 组擦除时间被规定为与扇区擦除时间相等。

5.12 紧耦合 RAM 接口模块

Figure 5-10 图示了紧耦合 RAM (TCRAM) 到 Cortex-R4 CPU 的连接。

tcram_fbd_144pin_spns186.gifFigure 5-10 TCRAM 方框图

5.12.1 特性

紧耦合 RAM (TCRAM) 模块的特性有:

  • 用作 Cortex-R4 CPU 的 BTCM 接口的从器件
  • 通过提供 64 位数据和 8 位 ECC 代码来支持 CPU 内部 ECC 机制
  • 监视 CPU 事件总线并生成单或双错误中断
  • 存储针对单和多位错误的地址
  • 通过支持地址总线上的奇偶校验来提供 CPU 地址总线完整性检查
  • 执行针对 RAM 组芯片选择和 ECC 选择生成逻辑的冗余地址解码
  • 通过执行两个 36 位宽字节交叉 RAM 组并且生成到两个组的独立的 RAM 访问控制信号来提供针对 RAM 增强型安全性。
  • 支持 RAM 组连同 ECC 位的自动初始化。
  • 不支持位元 RAM访问

5.12.2 TCRAMW ECC 支持

针对 Cortex-R4 CPU 从 RAM 读取的每个数据,TCRAMW 传递 ECC 代码。 它还在 CPU 进行到RAM 的写入操作时将 CPU ECC 端口内容存储在 ECC RAM 中。 TCRAMW 监视 CPU 事件总线并且为寄存器指示单/多位错误并且使寄存器识别导致单或多位错误的地址。 针对 RAM 访问的事件信令和 ECC 检查必须在 CPU 内部被启用。

更多信息请参阅器件技术参考手册。

5.13 用于外设 RAM 访问的奇偶校验保护

对某些外设 RAM 的访问由偶数/奇数校验检查保护。 在一个读取访问期间,根据从外设 RAM 中读取的数据计算奇偶校验并且将其与存储在针对那个外设的奇偶校验 RAM 中的正确奇偶校验值相比较。 如果有任一字使奇偶校验检查失败,模块将生成一个被映射到错误信令模块的奇偶校验错误信号。 此模块还捕捉导致奇偶校验错误的外设 RAM 地址。

缺省情况下,针对外设 RAM 的奇偶校验保护并不启用,而必须由应用启用。 每个独立的外设包含控制寄存器来启用针对到它的 RAM 访问的奇偶校验保护。

NOTE

CPU 读取访问从外设获得真实的数据。 应用可以选择在一个外设 RAM 奇偶校验错误被检测到时生成一个中断。

5.14 片载 SRAM 初始化和测试

5.14.1 使用 PBIST 的片载 SRAM 自检

5.14.1.1 特性

  • 扩展指令集以支持不同的存储器测试算法
  • 基于 ROM 的算法使得应用能够运行 TI生产级存储器测试
  • 所有片载 SRAM 的独立测试

5.14.1.2 PBIST RAM 组

Table 5-22 PBIST 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
(1) 在 PBIST ROM 中存储了几个存储器测试算法。 然而,TI 将 March13N 算法用于应用测试。

PBIST ROM 时钟可由 HCLK 分频得到。 通过编辑地址 0xFFFFFF58 上存储器自检全局控制寄存器 (MSTGCR) 的ROM_DIV 字段来选择此分频器。

5.14.2 片载 SRAM 自动初始化

这个微控制器允许通过系统模块中的存储器硬件初始化机制来初始化某些片载存储器。 这个硬件机制使得一个应用能够根据存储器阵列的错误检测机制(偶数/奇数奇偶校验或 ECC)来将带有错误检测功能的存储器阵列设定为一个已知状态。

MINITGCR 寄存器启用内存初始化序列,并在 MSINENA 寄存器选择要初始化的内存。

有关这些寄存器的更多信息请参阅《器件技术参考手册》。

不同片载存储器到 MSINENA寄存器特定位的映射显示在Table 5-23中。

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
(1) 未分配的寄存器位被保留。
(2) 只要通过使用 SPI 全局控制寄存器 0 (SPIGCR0) 生成该模块时,MibSPI1 模块就会立即执行发送和接收 RAM 的初始化。 这与应用程序是否使用的系统模块自动初始化方法来选择初始化 MibSPI1 RAM 是无关的。

5.15 矢量中断管理器

矢量中断管理器 (VIM) 为器件上的许多中断源进行优先级排序以及控制这些中断源提供了硬件支持。 中断由正常程序执行流程以外的事件引起。 这些事件通常要求一个来自中央处理单元 (CPU) 的及时的响应;因此,当一个中断发生时,CPU 从正常程序流程切换至中断处理例程 (ISR)。

5.15.1 VIM 特性

VIM 模块有下列特性:

  • 支持 96 个中断通道。
    • 提供可编程优先级和针对中断请求线路的使能。
  • 提供一个针对最快速 IRQ 调度的直接硬件调度机制。
  • 当 CPU VIC 端口未被使用时提供两个软件调度机制。
    • 索引中断
    • 寄存器矢量化中断
  • 由奇偶校验保护的矢量中断表预防软件错误。

5.15.2 中断请求分配

Table 5-24 中断请求分配

模块 中断源 缺省 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 个地址。

5.16 实时中断模块

实时中断 (RTI) 模块为操作系统和基准代码提供定时器功能。 RTI 模块可包含几个计数器,这些计数器定义了调度操作系统所需的时基。

定时器还使得您能够通过在所需代码范围的开始和末尾读取计数器的值并计算这些值之间的不同来重构代码的特定区域。

5.16.1 特性

RTI 模块有下列特性:

  • 两个独立的 64 位计数器块
  • 四个可配置的比较产生操作系统的时钟节拍。 每个事件可由计数器块 0 或计数器块 1 驱动。
  • 事件的快速启用/禁用
  • 两个针对系统或外设中断的时间戳(捕捉)功能,每个计数器块一个

5.16.2 方框图

Figure 5-11显示了一个针对RTI 模块内部两个 64 位计数器块的其中一个的高级方框图。 这两个计数器块是相同的。

rti_counter_bd_pns186.gifFigure 5-11 计数器块图
rti_compare_bd_spns186.gifFigure 5-12 比较块图

5.16.3 时钟源选项

RTI 模块使用 RTICLK 时钟域来生成 RTI 时基。

应用可通过配置地址为 0xFFFFFF50 的系统模块内的 RCLKSRC 寄存器来为 RTICLK 选择时钟源。 RTICLK 缺省时钟源为 VCLK。

时钟源的更多信息请参考Table 5-8Table 5-12

5.17 错误信令模块

错误信令模块 (ESM) 管理RM4x微控制器上不同的错误条件。 错误条件按照分配给它的固定严重等级被处理。 任何严重的错误条件可被配置成在一个被称为 nERROR 的专用器件引脚上驱动一个低电平。 这可被用作一个对外部监视器电路的指示,使此电路将系统置于一个故障安全模式。

5.17.1 特性

错误信令模块的特性为:

  • 支持 128 个中断/错误通道,这些通道分成 3 个不同的组
    • 64 个具有可屏蔽中断和可配置错误引脚运行方式的通道
    • 32 个错误通道,这些通道具有不可屏蔽中断和预先设定的错误引脚运行方式
    • 32 个只具有预先设定的错误引脚运行方式的通道
  • 发出严重器件故障信号的错误引脚
  • 用于错误信号的可配置时基
  • 错误强制功能

5.17.2 ESM 通道分配

错误信令模块 (ESM) 集成了所有器件错误条件并将它们按照严重顺序分组。 组 1 用于最低严重程度的错误,而组 3 被用于最高严重程度的错误。 器件对每个错误的响应由它所连接到严重程度组别确定。Table 5-26显示了针对每个组的通道分配。

Table 5-25 ESM 组

错误组 中断特性 对错误引脚的影响
组 1 可屏蔽,低或高优先级 可配置的
组 2 不可屏蔽的,高 优先级 固定的
组 3 没有中断被生成 固定的

Table 5-26 ESM 通道分配

错误源 通道
被保留 组 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

5.18 复位/异常中断/错误状态

Table 5-27 复位/异常中断/错误状态

错误源 系统模式 错误回应 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 驱动) 不可用 复位 不可用
软件复位 不可用 复位 不可用
外部复位 不可用 复位 不可用
(1) CPU 之外无法检测到未定义的指令陷阱。 陷阱只有当代码到达 CPU 的执行阶段才会被检测到。
(2) 振荡器故障/PLL 跳周 (SYS.PLLCTL1) 可在系统寄存器中被配置成产生复位。

5.19 数字窗口式看门狗

这个器件包含一个数字窗口式看门狗 (DWWD) 模块,此模块防止代码执行失控。

DWWD 模块使得应用能够配置时间窗口,在这个窗口内 DWWD 模块要求应用来处理看门狗。 如果应用在这个窗口之外处理安全装置,或者根本就没有成功处理安全装置,一个安全装置违反就会发生。 对于在一个安全装置违反情况下,应用程序可以选择产生一个系统复位或一个到 CPU 的非屏蔽中断。

缺省情况下,安全装置被禁用并且必须由应用启用。 一旦被启用,看门狗只能在系统复位时被禁用。

5.20 调试子系统

5.20.1 方框图

器件包含一个 ICEPICK 模块,允许对扫描链进行 JTAG 访问(请参见Figure 5-13)。

debug_subsystem_f3_pns186.gifFigure 5-13 调试子系统方框图

5.20.2 调试组件内存映射

Table 5-28 调试组件内存映射

模块名称 帧芯片
选择
帧地址范围
大小
实际
大小
对帧内未实现位置的访问的响应
启动 (START) 结束 (END)
CoreSight 调试ROM CSCS0 0xFFA0_0000 0xFFA0_0FFF 4KB 4KB 读取返回 0,写入无影响
Cortex-R4 调试 CSCS1 0xFFA0_1000 0xFFA0_1FFF 4KB 4KB 读取返回 0,写入无影响

5.20.3 JTAG 识别代码

该器件的 JTAG ID 代码是 0x0B97102F。 此代码与器件 ICEPick 识别代码一样。

5.20.4 调试 ROM

调试 ROM 存储了调试 APB 总线上组件的位置:

Table 5-29 调试 ROM 表

地址 说明
0x000 到 Cortex-R4 的指针 0x0000 1003
0x001 被保留 0x0000 2002
0x002 被保留 0x0000 3002
0x003 被保留 0x4002 0000
0x004 表尾 0x0000 0000

5.20.5 JTAG 扫描接口时序

Table 5-30 JTAG 扫描接口时序(1)

编号 参数 最小值 最大值 单位
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
(1) TDO 的时序被指定为 TDO 上的一个最大 50pF 负载
jtag_timing_pns160.gifFigure 5-14 JTAG 时序

5.20.6 高级 JTAG 安全模块

这个器件包含一个高级 JTAG 安全模块 (AJSM)。此模块通过允许用户在编程后锁定器件来为器件的存储器内容提供最大的安全性。

ajsm_unlock_pns160.gifFigure 5-15 AJSM 解锁

缺省情况下,器件由一个在 OTP 地址 0xF0000000 内设定的 128 位可见解锁代码来解锁。OTP 内容与“扫描解锁”寄存器内容进行异或 (XOR) 运算。 这些 XOR 门的输出重新与一组加密内部打结相组合。 这个组合逻辑输出与一个加密硬编码 128 位值相比较。 一个解锁 (UNLOCK) 信号内的匹配信号被置为有效,这样此器件现在被解锁。

用户可通过将可见解锁代码中至少一个位从 1 改为 0 来将器件解锁。由于可见解锁代码被存储在一次性可编程 (OTP) 闪存区域内,所以不能将这个位从 0 改为 1。 此外,将所有 128 位改为零不是一个有效条件并且将永久锁住器件。

一旦被锁定,用户可以通过扫描一个适当的值进入 AJSM 模块中的“由扫描解锁”寄存器来解锁器件。 被扫描的值是 OTP 内容的 XOR,而由扫描解锁寄存器内容得到原始可见解锁代码。

由扫描解锁寄存器只有当加电复位 (nPORRST) 被置为有效时才复位。

一个受保护器件只允许由 ICEPick 模块的次级抽头 #2 到 AJSM 扫描链的 JTAG 访问。 所有其它次级抽头、试验抽头和边界扫描接口都不能在这个状态下访问。

5.20.7 边界扫描链

为了测试引脚到引脚兼容性,器件支持与边界扫描描述语言 (BSDL) 兼容的边界扫描。 边界扫描链被连接到 ICEPICK 模块的边界扫描接口上。

boundary_scan_implementation _pns160.gifFigure 5-16 边界扫描实现(概念图)

输入分别由 TDI 和 TDO 串行移入和移出所有边界扫描缓冲器。