在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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。

以上就是看門狗窗口模式下最基礎的功能。總的來說,應用程序只有在看門狗處于第二窗口時間段內,才能對看門狗進行刷新喂狗,復位/停止/重新配置操作,否則就會產生錯誤事件,并發送系統錯誤到 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

    文章

    5539

    瀏覽量

    135542
  • 寄存器
    +關注

    關注

    31

    文章

    5397

    瀏覽量

    122650
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3661

    瀏覽量

    130566
  • soc
    soc
    +關注

    關注

    38

    文章

    4295

    瀏覽量

    220956
  • SoC芯片
    +關注

    關注

    1

    文章

    624

    瀏覽量

    35516
  • PSM
    PSM
    +關注

    關注

    1

    文章

    43

    瀏覽量

    13656
  • 看門狗定時器

    關注

    0

    文章

    64

    瀏覽量

    16361

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    使用QEMU啟動Versal VCK190

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

    Versal 自適應SoC設計指南

    電子發燒友網站提供《Versal 自適應SoC設計指南.pdf》資料免費下載
    發表于 12-14 16:22 ?1次下載
    <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 ?1345次閱讀
    <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搭載全新的AI引擎,相較上一代Versal AI Edge系列,每瓦TOPS功率可實現最多3倍的性能提升,同時,新款集成Arm CPU的高
    的頭像 發表于 04-11 16:07 ?1074次閱讀

    AMD Versal? Adaptive SoC CPM PCIE PIO EP設計CED示例

    本文可讓開發者們看懂 AMD Vivado Design Tool 2023.2 的“AMD Versal Adaptive
    的頭像 發表于 05-10 09:39 ?828次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>? <b class='flag-5'>Adaptive</b> <b class='flag-5'>SoC</b> CPM PCIE PIO EP設計CED示例

    ALINX VERSAL SOM產品介紹

    近日,2024 AMD Adaptive Computing Summit(AMD ACS)深圳舉行,芯驛電子應邀出席作主題分享:《ALINX 基于
    的頭像 發表于 08-05 10:33 ?885次閱讀

    AMD Versal自適應SoC CPM5 QDMA的Tandem PCIe啟動流程介紹

    本文將從硬件設計和驅動使用兩個方面介紹基于 CPM5 QDMA 的 AMD Versal 自適應 SoC 的 Tandem 設計和啟動流程。
    的頭像 發表于 09-18 10:07 ?1092次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自適應<b class='flag-5'>SoC</b> CPM5 QDMA的Tandem PCIe啟動流程介紹

    AMD推出第二代Versal Premium系列

    近日,AMD(超威,納斯達克股票代碼:AMD )今日宣布推出第二代 AMD Versal Premium 系列,這款自適應 SoC 平臺旨在
    的頭像 發表于 11-13 09:27 ?679次閱讀

    AMD Vivado Design Suite 2024.2全新推出

    AMD Vivado Design Suite 2024.2 全新推出,使用 AMD Versal Adaptive SoC 進行設計的重大
    的頭像 發表于 11-22 13:54 ?796次閱讀

    如何通過PMC_GPIO喚醒AMD Versal? Adaptive SoC Linux系統

    功耗敏感的系統里,我們通常會在系統空閑的時候將系統休眠,然后可以通過一些外設的輸入來喚醒系統,比如 Uart、USB 和 GPIO。AMD Versal?Adaptive
    的頭像 發表于 12-17 10:07 ?566次閱讀
    如何通過PMC_GPIO喚醒<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>? <b class='flag-5'>Adaptive</b> <b class='flag-5'>SoC</b> Linux系統

    AMD Versal自適應SoC器件Advanced Flow概覽(上)

    最新發布的 AMD Vivado Design Suite 2024.2 ,引入的新特性之一是啟用了僅適用于 AMD Versal 自適
    的頭像 發表于 01-17 10:09 ?470次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自適應<b class='flag-5'>SoC</b>器件Advanced Flow概覽(上)

    AMD Versal自適應SoC器件Advanced Flow概覽(下)

    AMD Vivado Design Suite 2024.2 版本,Advanced Flow 自動為所有 AMD Versal 自適
    的頭像 發表于 01-23 09:33 ?449次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自適應<b class='flag-5'>SoC</b>器件Advanced Flow概覽(下)

    第二代AMD Versal Premium系列SoC滿足各種CXL應用需求

    第二代 AMD Versal Premium 系列自適應 SoC 是一款多功能且可配置的平臺,提供全面的 CXL 3.1 子系統。該系列自適應 SoC 旨在滿足從簡單到復雜的各種 CX
    的頭像 發表于 04-24 14:52 ?137次閱讀
    第二代<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> Premium系列<b class='flag-5'>SoC</b>滿足各種CXL應用需求
    主站蜘蛛池模板: 成年网站在线 | 美妇乱人伦性 | 国产在线美女 | 日本免费黄色小视频 | 欧洲妇女成人淫片aaa视频 | 欧美三级色图 | 免费视频在线观看1 | 国产yw855.c免费视频 | 三级网在线 | 国产一级特黄aa大片免费 | 黄色视屏免费在线观看 | 色老头影院 | yy4080一级毛片免费观看 | 18男女很黄的视频 | 免费看h视频| 天堂bt资源新版在线 | 一级做a爰片久久毛片一 | 久久天天干 | 欧美高清xx | 日本黄色影片 | 免费国产午夜高清在线视频 | 狼人综合色 | 久久久久久全国免费观看 | 美女三级黄 | 开心色99xxxx开心色 | 99热热热| 国产在线97色永久免费视频 | 欧美日韩啪啪 | 亚洲国产成人精品不卡青青草原 | 久久网免费视频 | 亚洲成成品网站有线 | 色播亚洲| 中日韩在线视频 | 国产午夜在线观看 | 特级中国aaa毛片 | videos另类重口tv | 国产精品免费观看网站 | 天堂中文在线免费观看 | 亚洲一区小说区中文字幕 | 免费网站在线视频美女被 | 99热最新在线 |