<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SWDT在AMD Versal? Adaptive SoC中的應用案例分享

XILINX開發者社區 ? 來源:AMD 開發者 ? 2024-04-15 10:36 ? 次閱讀

1

概述

系統看門狗定時器(System WatchDog Timer)通常用于嵌入式系統,可以有效的防止軟件錯誤、系統死鎖、篡改以及意外行為,幫助維護健康和安全的系統。

AMD Versal 自適應 SoC中,分別在 FPD(Full power domain)和 LPD(Low power domain)中各自集成了一個 SWDT 用來幫助客戶開發穩定的系統。其整體結構框圖如下:

41f328ee-f8ca-11ee-a297-92fbcf53809c.png

從框圖中可以看到 SWDT 中包含有 2 種不同的定時器,分別是窗口模式的定時器(Windowed WatchDog Timer)和通用模式的定時器(Generic WatchDog Timer)。

注意在使用 SWDT 之前,需要確認 LPD 和 FPD 的系統級別的復位是否已經釋放,例如CRL.RST_LPD_SWDT 寄存器和CRF.RST_FPD_SWDT 寄存器。

2

通用模式定時器

通用模式定時器一共包含三個相關寄存器,分別是 G_Refresh,G_Offset 和 G_CSR 寄存器。

G_CSR 寄存器用來使能通用定時器模式,以及反饋狀態。

G_Offset 寄存器用來配置定時的周期時間。

G_Refresh 寄存器用來刷新定時器,即喂狗。

工作模式如下圖所示:

4205fc58-f8ca-11ee-a297-92fbcf53809c.png

通用模式工作時最多會有兩個定時周期,當計數器計時達到第一個定時周期后,定時器會產生一個定時中斷。然后計數器會繼續計時,當計數器計時到達第二個定時周期后,定時器會產生一個超時中斷。在定時器的計數器到達第二個定時周期之前,軟件程序都可以通過 G_Refresh 寄存器刷新計數器計數值,從頭開始計時。

可以看到通用模式使用起來非常簡單。但是有一點需要注意,通用模式的定時器在超時發生之后,并不會輸出系統級錯誤到 PSM 的錯誤堆棧中,即不會產生系統錯誤,從而使得 PSM 或者 PLM 程序固件執行相應的系統層面的操作。

3

窗口模式定時器

窗口模式定時器功能較為全面,功能充分考慮了系統安全的各種應用場景。

421ad36c-f8ca-11ee-a297-92fbcf53809c.png

窗口模式基本流程如上圖所示,一共可以分成三個部分,分別是第一窗口(First Window),第二窗口(Second Window)和二次序列時間(Second Sequence Timer)。一共涉及到5個寄存器,分別是使能與狀態寄存器(Enable_and_Status),功能控制寄存器(Funct_Ctrl),第一窗口時間寄存器(First_Wind),第二窗口時間寄存器(Second_Wind)和二次序列時間寄存器(SST_COUNT)。

第一窗口時間是一個封閉的時間段,在這個時間段內應用程序是不能對看門狗進行刷新和復位操作。如果這個時間段內對看門狗進行了刷新喂狗或是復位看門狗操作,那么就會產生一個錯誤事件,從而輸出一個系統錯誤到 PSM 和 PMC。這樣設計是考慮到用戶既然配置看門狗,那么就一定是要讓看門狗起到作用,所以設置了一個保護看門狗的時間,用來防范系統的異常操作。

當第一窗口保護期到了之后,看門狗會產生一個中斷通知系統。這個中斷的產生時間可以通過配置功能控制寄存器(Funct_Ctrl)中的 BSS 和 SBC 位設定。應用程序可以在接收到中斷后刷新看門狗,或者復位/停止/重新配置看門狗。

42386cd8-f8ca-11ee-a297-92fbcf53809c.png

如果應用程序在第二窗口沒有對看門狗有任何處理,計時器超過了用戶設定的第二窗口時間,這個時候會產生超時中斷。如果在看門狗運行之前使能了二次序列時間,那么看門狗此時不會立刻產生系統錯誤,而是等到二次序列時間計時結束之后再產生。這樣應用程序就可以有時間去記錄一些狀態,日志或是處理某些外設等操作,便于后續排查問題或是增加系統的安全性。但是要是沒有配置這個二次序列時間,那么看門狗在第二窗口時間超時之后會立刻產生錯誤事件,并發送系統錯誤到 PSM 和 PMC。

以上就是看門狗窗口模式下最基礎的功能??偟膩碚f,應用程序只有在看門狗處于第二窗口時間段內,才能對看門狗進行刷新喂狗,復位/停止/重新配置操作,否則就會產生錯誤事件,并發送系統錯誤到 PSM 和 PMC。另外,需要注意以下兩點:

第一個窗口的時間可以設置為 0,從而跳過保護周期。

在看門狗運行的任意窗口期間,如果通過 LPD 和 FPD 的系統級別的復位對整個看門狗進行復位,不會產生額外中斷以及系統錯誤。

為了進一步提高看門狗的安全性,窗口模式下還提供了兩種防止系統異常操作的進階功能。它們是簽名方式(PSM)和問答方式(Q&A),如下圖紅框標注的功能。

4254c842-f8ca-11ee-a297-92fbcf53809c.png

1. 簽名方式(PSM)

在啟動看門狗計時之前,用戶需要先在 Task_Sig0 寄存器中保存一個簽名。然后應用程序在第二窗口刷新看門狗之前,先要對 Task_Sig1 寄存器寫入和 Task_Sig0 一樣的簽名。當看門狗被正常刷新之后,會先去比較這兩個簽名是否一致,如果不一致就會立刻產生一個錯誤事件,并產生系統錯誤輸出 PSM 和 PMC。

2. 問答方式(Q&A)

在運行看門狗之前,用戶需要先在 Token_fb 寄存器中設定種子(seed)和反饋(FeedBack)值,這兩個值和使能與狀態寄存器(Enable_and_Status)中 ACNT 位會被用來計算寫入 Token_Resp 寄存器的值。算法如下表所示。Token 對應種子值,Count 對應 ACNT 值,Feedback Value 對應反饋值。

4278f136-f8ca-11ee-a297-92fbcf53809c.png437c04e2-f8ca-11ee-a297-92fbcf53809c.png

舉個例子,如果反饋(Feedback)的值是 3,那么應答(response)的每一位的計算方法就需要參考上面列表中的最后一列"11"來進行。那么 bit0 的值就是將 ACNT 的 bit1 值,異或種子(seed) bit 2 的值,再異或種子(seed)的 bit 3 的值。當應答 8 個位的值都計算好之后,寫入 Token_resp 寄存器中即完成了一次問答。

當用戶配置好看門狗功能設置,各個窗口時間以及問答種子和反饋值后,需要通過執行第一次應答(response)以后,看門狗才會開始啟動計時。并且在第一窗口時間內,用戶需要完成第二次和第三次應答,間隔的時間可以由用戶自行來控制。當這兩次應答完成后,即使第一窗口時間沒有計完,也會立即進入第二窗口進行計時。接著,用戶需要在第二窗口時間內完成第四次應答。一旦第四次應答在第二窗口完成,即使第二窗口時間沒有計完,也會立即返回到第一窗口,重新開始計時。但是,如果在第二窗口內沒有完成第四次應答,那么同樣會回到第一窗口重新計時,不過接下來的應答還是需要按照第四次應答去完成。

在這個復雜的過程中,可以允許有限次數的應答失敗,失敗次數保存在使能與狀態寄存器(Enable_and_Status)的失敗計數位中(Fail count)。也就是說每當失敗一次,失敗計數就會增加 1,每應答成功一次失敗計數就會減 1。當失敗次數累計到 7 次以后,那么再出現失敗,就會產生一個錯誤事件,并發送系統錯誤輸出到 PSM 和 PMC。

4

總結

Vesal 器件中的看門狗模塊提供了豐富的功能,從應用簡易程度和安全性方面層層遞進,讓用戶根據不同的應用場景來實現對自己系統的保護。




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • amd
    amd
    +關注

    關注

    25

    文章

    5174

    瀏覽量

    132614
  • 寄存器
    +關注

    關注

    30

    文章

    5018

    瀏覽量

    117584
  • 嵌入式系統
    +關注

    關注

    40

    文章

    3393

    瀏覽量

    128172
  • soc
    soc
    +關注

    關注

    38

    文章

    3732

    瀏覽量

    215559
  • SoC芯片
    +關注

    關注

    1

    文章

    510

    瀏覽量

    34466
  • PSM
    PSM
    +關注

    關注

    1

    文章

    37

    瀏覽量

    13269
  • 看門狗定時器

    關注

    0

    文章

    36

    瀏覽量

    16172

原文標題:開發者分享|SWDT 在 AMD Versal? Adaptive SoC 中的應用

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AMD Versal系列CIPS IP核建立示例工程

    接著上一篇“AMD Versal系列CIPS IP核介紹”文章來進一步講解如何來建立CIPS IP核示例工程。
    的頭像 發表于 12-05 13:34 ?321次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>系列CIPS IP核建立示例工程

    通過JTAG啟動Linux的方法和腳本

    AMD SoC 器件(AMD Zynq 7000 SoC,AMD Zynq UltraScale+ MPSoC,
    的頭像 發表于 12-22 10:27 ?574次閱讀
    通過JTAG啟動Linux的方法和腳本

    【ALINX 技術分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹(2)

    【ALINX 技術分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹,以及Versal 芯片開發流程的簡介。
    的頭像 發表于 03-07 16:03 ?284次閱讀
    【ALINX 技術分享】<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> AI Edge 自適應計算加速平臺之 <b class='flag-5'>Versal</b> 介紹(2)

    AMD 以全新第二代 Versal 系列器件擴展領先自適應 SoC 產品組合,為 AI 驅動型嵌入式系統提供端到端加速

    股票代碼:AMD)今日宣布擴展 AMD Versal? 自適應片上系統( SoC )產品組合,推出全新第二代 Versal AI Edge
    發表于 04-09 16:50 ?503次閱讀
    <b class='flag-5'>AMD</b> 以全新第二代 <b class='flag-5'>Versal</b> 系列器件擴展領先自適應 <b class='flag-5'>SoC</b> 產品組合,為 AI 驅動型嵌入式系統提供端到端加速

    AMD Versal SoC刷新邊緣AI性能,單芯片方案驅動嵌入式系統

    宣布擴展 AMD Versal? 自適應片上系統( SoC )產品組合,推出全新第二代 Versal AI Edge 系列和第二代 Versal
    的頭像 發表于 04-11 09:06 ?1697次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>SoC</b>刷新邊緣AI性能,單芯片方案驅動嵌入式系統

    AMD R系列與AMD SOC系列嵌入式高效能解決方案

    尋求AMD R系列與AMD SOC系列嵌入式高效能解決方案
    發表于 05-10 06:05

    CSU SWDT、LPD SWDT和FPD SWDT的關系與使用

    在Zynq MPSoC的器件里,PS (Processing System )集成了三個看門狗,分別是CSU SWDT,LPD SWDT和FPD SWDT。CSU SWDT用于保護CS
    的頭像 發表于 06-15 11:52 ?1928次閱讀

    C1M-A1/2 SWDT 用戶手冊 HW

    C1M-A1/2 SWDT 用戶手冊 HW
    發表于 02-02 19:18 ?0次下載
    C1M-A1/2 <b class='flag-5'>SWDT</b> 用戶手冊 HW

    使用QEMU啟動Versal VCK190

    本篇博文涵蓋了有關使用 PetaLinux 命令行來對 Versal Adaptive SoC 的 PetaLinux BSP 運行 QEMU 的信息,并演示了 QEMU 支持的部分網絡選項。
    的頭像 發表于 04-20 10:40 ?454次閱讀

    Versal? 自適應 SoC 助力 8K 處理 – 為 8K 做好準備(3)

    前代產品的帶寬,從而使接口具備更多數據通道、更高速率,或二者兼備。 AMD Versal 自適應 SoC(片上系統)非常適合此類接口(線速為 20 Gbps 或更高的接口),因為它們提供了速率高達
    的頭像 發表于 08-16 08:10 ?388次閱讀

    Versal 自適應SoC設計指南

    電子發燒友網站提供《Versal 自適應SoC設計指南.pdf》資料免費下載
    發表于 12-14 16:22 ?0次下載
    <b class='flag-5'>Versal</b> 自適應<b class='flag-5'>SoC</b>設計指南

    Versal自適應SoC系統集成和 確認方法指南

    電子發燒友網站提供《Versal自適應SoC系統集成和 確認方法指南.pdf》資料免費下載
    發表于 01-03 10:48 ?0次下載
    <b class='flag-5'>Versal</b>自適應<b class='flag-5'>SoC</b>系統集成和 確認方法指南

    AMD Versal SoC全新升級邊緣AI性能,單芯片方案驅動嵌入式系統

    宣布擴展 AMD Versal? 自適應片上系統( SoC?)產品組合,推出全新第二代 Versal?AI Edge?系列和第二代 Versal
    的頭像 發表于 04-09 21:32 ?341次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>SoC</b>全新升級邊緣AI性能,單芯片方案驅動嵌入式系統

    AMD推出第二代Versal器件,為AI驅動型嵌入式系統提供端到端加速

    2024 年 4 月 9 日,德國紐倫堡(國際嵌入式展)——AMD(超威,納斯達克股票代碼:AMD )今日宣布擴展 AMD Versal 自適應片上系統(
    的頭像 發表于 04-10 10:25 ?128次閱讀

    AMD發布第二代Versal自適應SoC,AI嵌入式領域再提速

    AMD表示,第二代Versal系列自適應SoC搭載全新的AI引擎,相較上一代Versal AI Edge系列,每瓦TOPS功率可實現最多3倍的性能提升,同時,新款集成Arm CPU的高
    的頭像 發表于 04-11 16:07 ?253次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>