ZYNQ 复位子系统

目录

0、Preview

1、 Power-on Reset (PS_POR_B)

2、External System Reset (PS_SRST_B)

3、 System Software Reset

4、 Watchdog Timer Resets

5、 Secure Violation Lock Down

6、 Debug Resets

7、Peripheral Reset Control

8、Reset Effects


 

在《ZYNQ 启动分析》后,接下来研究一下 ZYNQ 的复位子系统;内容依然来自 UG585:

Chapter 26. Reset System

0、Preview

ZYNQ 的复位源很多,下面这是复位相关的硬件逻辑

从这个图中,首先可以看到复位信号有:

1、POR 也就是上电复位;

2、Security Lockdown 复位;

3、Debug Reset 复位;

4、CPU 处理器的独有 Watchdog 复位(AWDT);

5、系统级的 Watchdog 复位(SWDT);

6、PS_SRST_B 外部复位;

7、SLCR 软件触发的复位;

8、Debug 系统级复位;

9、各个外设独立复位;

从复位信号的作用域来分析,PS_POR_B 信号触发的复位,它会产生重新采集 boot strap pins 来判断启动模式,复位信号作用到了 PS 的 PLL 会导致 PLL 重新 Lock,以此同时,这个复位也作用到了中间的 SoC debug domain 和 Internal Registers,使得他们也复位;同时这个信号作用到了下面外设部分和系统配置寄存器,使得它们也复位;也就是说,上电复位(POR)会让整个系统彻底复位;

整个复位系统的层次结构如下所示:

这里看官可能会有一个疑问,硬件框图的 CPU 处理器的 WDT Reset 信号通过与门接入到了下一级的与门,进而会致使外设复位,这个层次结构中,CPU 的 WDT 并没有呈现出来这一点,这是因为 CPU 的 WDT (也叫作 AWDT)可以配置成值复位 CPU,或者复位 CPU 以及外设寄存器和 RAM;

1、 Power-on Reset (PS_POR_B)

上电复位;这个 POR 会导致整个系统全部复位,具体的行为参考《ZYNQ 启动分析》一章

 

2、External System Reset (PS_SRST_B)

外部复位;也可以理解为一个外部按键按下导致系统复位;它的行为是允许仅仅复位所有的设备的逻辑单元,但是 debug 的环境依然存在,比方说,你想去debug一个东西,你按下了 Rst 后,之前设置的断点依然还是有效的;

 

3、 System Software Reset

系统软件复位;用户也可以在软件中去配置,让系统进入复位状态,具体的方式是 PSS_RST_CTRL[SOFT_RST] 寄存器写 1;它的行为和外部复位一样,RAM 内容全部清除,PL 也被复位;

 

4、 Watchdog Timer Resets

看门狗复位;看门狗由两种,一个是系统看门狗(SWDT)它导致的复位与外部复位行为一样;另一个看门狗是 CPU 独有的看门狗(两个CPU,就有两个 AWDT0 和 AWDT1)它的行为可以配置为与 SWDT 复位一样,或者是只复位 ARM Core;

 

5、 Secure Violation Lock Down

安全 lock down 相关,暂时不讨论;

 

6、 Debug Resets

调试复位;有两种调试复位,一种是系统级的,它使用 ARM DAP发送复位指令,行为与外部复位一致;另一种是 Debug 复位,它仅仅复位 SoC 的 debug模块,包含 JTAG 部分;

 

7、Peripheral Reset Control

外设复位;一方面跟随上一级复位信号,另一方面都有自己的独立复位信号;

 

8、Reset Effects

复位的行为总结如下所示:

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页