文章目录
- 1. 时钟和时钟使能
- 2. 复位信号
- 3. 复位相关信号
1. 时钟和时钟使能
Cortex-R52处理器采用单一时钟驱动其所有触发器和存储器。包括复位输入在内的多种输入信号均配有同步逻辑,允许它们以异步于处理器时钟的方式工作。大多数总线都配有使能输入,使其能够以处理器时钟的整数分频运行。
这个单一的Cortex-R52处理器时钟被分配到所有核心及相关的逻辑单元。每个核心使用一个门控时钟,该时钟可在WFI低功耗模式或WFE低功耗模式下被禁用。
在采用双核锁步和分体-锁步配置的系统中,会为冗余逻辑提供一个独立的时钟输入。此时钟输入必须与主时钟输入具有相同的频率,并与主时钟输入保持平衡。在双核锁步和分体-锁步配置中,所有输入必须与时钟同步,以防止同步器引起的差异。
表 1:时钟信号
| 时钟信号 | 方向 | 描述 |
|---|---|---|
| CLKIN | 输入 | 主时钟 |
| CLKINDCLS | 输入 | 在锁步配置中,用于冗余逻辑的冗余时钟 |
处理器的每个总线端口都可以以主处理器时钟的整数分频运行。这是通过时钟使能输入实现的。
表 2:时钟使能信号
| 信号 | 方向 | 描述 |
|---|---|---|
| PCLKENDBG | 输入 | APB 时钟使能。 |
| ACLKENMx | 输入 | AXIM 接口时钟使能。 |
| ACLKENS | 输入 | AXIS 接口时钟使能。 |
| ATCLKEND | 输入 | ATB 数据跟踪时钟使能。 |
| ATCLKENI | 输入 | ATB 指令跟踪时钟使能,以及 TSVALUEB[63:0] 的时钟使能。 |
| ACLKENFx | 输入 | 闪存接口时钟使能。 |
| CNTCLKEN | 输入 | 计数器时钟使能,用于 CNTVALUEB。 |
| ACLKENPx | 输入 | LLPP 时钟使能。 |
2. 复位信号
Cortex-R52处理器具备多种复位输入,以实现以下操作:
- 对整个处理器进行冷复位或响应意外安全错误。
- 在关机后对单个核心进行复位。
- 对单个核心进行热复位或在模拟关机后进行复位。
- 对整个处理器进行调试复位。
- MBIST复位。
仅在相关核心处于静默状态时,才可能实现对单个核心(而非整个系统)的复位。无论是在模拟还是实际的关机操作后,系统都会进入此种状态。若需要在其他时间(例如出于安全目的进行定期预防性复位)使用此功能,则软件必须首先使处理器进入类似于关机模式的静默状态。
注意:如果配置了DCLS或Split‑Lock,则所有复位信号必须与处理器时钟同步。
表 3:复位信号
| 信号 | 方向 | 描述 |
|---|---|---|
| nCORERESETx | 输入 | 单个内核热复位。 0:对内核 x(不包括调试和跟踪逻辑)施加复位。 1:不对该内核施加复位。 |
| nCPUPORESETx | 输入 | 单个内核上电冷复位。 0:对内核 x(包括调试和跟踪逻辑)施加复位。 1:不对该内核施加复位。 |
| nTOPRESET | 输入 | 顶层复位。复位顶层功能逻辑。 0:复位顶层功能逻辑。 1:不复位顶层功能逻辑。 |
| nCORERESETDCLSx | 输入 | 单个冗余内核热复位。此输入必须与 nCORERESET 相同。 0:对内核 x 的冗余副本(不包括调试逻辑)施加复位。 1:不对该冗余内核施加复位。 |
| nCPUPORESETDCLSx | 输入 | 单个冗余内核上电冷复位。此输入必须与 nCPUPORESET 相同。 0:对内核 x 的冗余副本(包括调试逻辑)施加复位。 1:不对该冗余内核施加复位。 |
| nTOPRESETDCLS | 输入 | 顶层冗余逻辑复位。复位处理器中的所有冗余逻辑。此输入必须与 nTOPRESET 相同。 0:对所有冗余逻辑施加复位。 1:不对所有冗余逻辑施加复位。 |
| nPRESETDBG | 输入 | APB 复位: 0:对 APB 和顶层调试逻辑施加复位。 1:不对 APB 和顶层调试逻辑施加复位。 |
| nMBISTRESET | 输入 | MBIST 复位。 0:对 MBIST 施加复位。 1:不对 MBIST 施加复位。 |
在正常操作中,所有复位信号均处于解除置位状态。
下表展示了各种复位场景及其对应的置位复位信号。复位触发器使用异步复位输入。
表 4:复位场景与置位复位信号
| 信号与场景 | 上电 | 内核上电 | 内核热复位 | 调试 | MBIST |
|---|---|---|---|---|---|
| 内核功能部分:nCORERESETx | 是 | 是 | 是 | 否 | 否 |
| 内核功能及调试部分:nCPUPORESETx | 是 | 是 | 否 | 否 | 否 |
| L2 系统(AXIS 与 GIC):nTOPRESET | 是 | 否 | 否 | 否 | 否 |
| 调试部分:nPRESETDBG | 是 | 否 | 否 | 是 | 否 |
| MBIST:nMBISTRESET | 是 | 否 | 否 | 否 | 是 |
当冷复位信号置位时,其以异步方式传播至所有触发器。
所有复位信号在解除置位时均经过同步处理,以满足触发器的时序要求。在进行逻辑扫描时,所有复位信号均可被禁用,这包括主输入同步器以及为每个核心提供的同步器。
在采用双核锁步的系统中,为冗余逻辑提供了独立的复位输入,这些复位输入的行为预期与主复位输入完全相同。唯一的例外情况是发生故障时,此时它们的行为将不一致。
当Cortex-R52处理器退出复位状态时,它会自动使指令缓存和数据缓存无效,并在此过程完成前阻止任何缓存查找操作。在自动缓存无效化操作进行期间,核心不会使用缓存。这可能会在复位后的短时间内影响核心性能。自动缓存无效化操作还会初始化所有RAM的ECC校验值。
复位置位序列
在上电冷复位期间,所有复位信号同时置位。若在初始上电之外的其他时间执行复位,则信号置位的顺序无关紧要。
注意:在置位(拉低)任何复位信号之前,必须确保处理器处于静止状态。
复位解除序列
若以同步方式解除复位信号,则所有复位信号可在同一时钟周期内解除。若以异步方式解除复位信号,且由内部复位同步器负责同步复位,则Arm建议在解除其他复位信号之前先解除nTOPRESET信号。这确保了顶层逻辑在处理器核心退出复位状态之前已脱离复位状态。
3. 复位相关信号
每个核心有两个复位请求输出信号,可用于请求一次热复位。Cortex-R52处理器外部的复位控制逻辑决定这些信号是否会影响复位输入。
表 5:复位相关信号
| 信号 | 方向 | 描述 |
|---|---|---|
| WARMRSTREQx | 输出 | 请求内核热复位。 |
| DBGRSTREQx | 输出 | 来自外部调试逻辑的复位请求。 |
| CPUHALTx | 输入 | 核心在退出复位后,在响应复位异常并取指之前进入等待状态。 |
| CFGINITREG | 输入 | 复位后,将软件可见寄存器初始化为固定值。 |
| CFGL1CACHEINVDISx | 输入 | 禁止复位后自动L1缓存无效化操作。 |
当软件向HRMR.RR寄存器写入1时,WARMRSTREQx信号置位。当调试器向EDPRCR.CWRR寄存器写入1时,DBGRSTREQx信号置位。