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

復位的行爲總結如下所示:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章