news 2026/5/22 23:26:13

Cortex-R52学习:时钟和复位

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cortex-R52学习:时钟和复位

文章目录

    • 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复位

仅在相关核心处于静默状态时,才可能实现对单个核心(而非整个系统)的复位。无论是在模拟还是实际的关机操作后,系统都会进入此种状态。若需要在其他时间(例如出于安全目的进行定期预防性复位)使用此功能,则软件必须首先使处理器进入类似于关机模式的静默状态。

注意:如果配置了DCLSSplit‑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信号置位。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 23:18:11

回顾Java知识点,面试题汇总Day11(持续更新)

一、集合1.1 Collection接口Collection是集合框架中最基础的父接口,可以存储无序、不唯一的对象。Iterable专门用来迭代,把集合中的元素全部取出来Collection 中所有元素可以通过Iterator进行迭代(List、Set)Collection常用方法方法描述int s…

作者头像 李华
网站建设 2026/5/22 23:17:08

FlashAttention 深度解读:让大模型注意力机制“一口气算完“

FlashAttention:让大模型注意力机制"一口气算完" 想象你在厨房做菜。冰箱在远处(HBM,高带宽内存),料理台在面前(SRAM,片上缓存)。每次要切菜,都得走过去开冰箱…

作者头像 李华
网站建设 2026/5/22 23:12:04

汽车底盘异常与轮胎偏磨科普指南

经常开车的朋友,或多或少都会遇到车辆底盘异常与轮胎偏磨的问题。底盘异响、方向跑偏、轮胎偏磨(俗称“吃胎”)等故障,不仅会影响行驶安全性和操控稳定性,还会增加用车成本,甚至埋下安全隐患。今天就结合底…

作者头像 李华
网站建设 2026/5/22 23:10:39

【Vue3速成】01-npm+vue初体验+vite构建vue工程化

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🎯 你正在阅读「半路出家玩前端」系列文章 🎯 ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🔥 弹简特 个人主页 ❄️ 个人专栏直通车: 💻 软件测试入门记📱 野…

作者头像 李华