一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SWDT在AMD Versal? Adaptive SoC中的應(yīng)用案例分享

XILINX開(kāi)發(fā)者社區(qū) ? 來(lái)源:AMD 開(kāi)發(fā)者 ? 2024-04-15 10:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1

概述

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

AMD Versal 自適應(yīng) SoC中,分別在 FPD(Full power domain)和 LPD(Low power domain)中各自集成了一個(gè) SWDT 用來(lái)幫助客戶(hù)開(kāi)發(fā)穩(wěn)定的系統(tǒng)。其整體結(jié)構(gòu)框圖如下:

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

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

注意在使用 SWDT 之前,需要確認(rèn) LPD 和 FPD 的系統(tǒng)級(jí)別的復(fù)位是否已經(jīng)釋放,例如CRL.RST_LPD_SWDT 寄存器和CRF.RST_FPD_SWDT 寄存器。

2

通用模式定時(shí)器

通用模式定時(shí)器一共包含三個(gè)相關(guān)寄存器,分別是 G_Refresh,G_Offset 和 G_CSR 寄存器。

G_CSR 寄存器用來(lái)使能通用定時(shí)器模式,以及反饋狀態(tài)。

G_Offset 寄存器用來(lái)配置定時(shí)的周期時(shí)間。

G_Refresh 寄存器用來(lái)刷新定時(shí)器,即喂狗。

工作模式如下圖所示:

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

通用模式工作時(shí)最多會(huì)有兩個(gè)定時(shí)周期,當(dāng)計(jì)數(shù)器計(jì)時(shí)達(dá)到第一個(gè)定時(shí)周期后,定時(shí)器會(huì)產(chǎn)生一個(gè)定時(shí)中斷。然后計(jì)數(shù)器會(huì)繼續(xù)計(jì)時(shí),當(dāng)計(jì)數(shù)器計(jì)時(shí)到達(dá)第二個(gè)定時(shí)周期后,定時(shí)器會(huì)產(chǎn)生一個(gè)超時(shí)中斷。在定時(shí)器的計(jì)數(shù)器到達(dá)第二個(gè)定時(shí)周期之前,軟件程序都可以通過(guò) G_Refresh 寄存器刷新計(jì)數(shù)器計(jì)數(shù)值,從頭開(kāi)始計(jì)時(shí)。

可以看到通用模式使用起來(lái)非常簡(jiǎn)單。但是有一點(diǎn)需要注意,通用模式的定時(shí)器在超時(shí)發(fā)生之后,并不會(huì)輸出系統(tǒng)級(jí)錯(cuò)誤到 PSM 的錯(cuò)誤堆棧中,即不會(huì)產(chǎn)生系統(tǒng)錯(cuò)誤,從而使得 PSM 或者 PLM 程序固件執(zhí)行相應(yīng)的系統(tǒng)層面的操作。

3

窗口模式定時(shí)器

窗口模式定時(shí)器功能較為全面,功能充分考慮了系統(tǒng)安全的各種應(yīng)用場(chǎng)景。

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

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

第一窗口時(shí)間是一個(gè)封閉的時(shí)間段,在這個(gè)時(shí)間段內(nèi)應(yīng)用程序是不能對(duì)看門(mén)狗進(jìn)行刷新和復(fù)位操作。如果這個(gè)時(shí)間段內(nèi)對(duì)看門(mén)狗進(jìn)行了刷新喂狗或是復(fù)位看門(mén)狗操作,那么就會(huì)產(chǎn)生一個(gè)錯(cuò)誤事件,從而輸出一個(gè)系統(tǒng)錯(cuò)誤到 PSM 和 PMC。這樣設(shè)計(jì)是考慮到用戶(hù)既然配置看門(mén)狗,那么就一定是要讓看門(mén)狗起到作用,所以設(shè)置了一個(gè)保護(hù)看門(mén)狗的時(shí)間,用來(lái)防范系統(tǒng)的異常操作。

當(dāng)?shù)谝淮翱诒Wo(hù)期到了之后,看門(mén)狗會(huì)產(chǎn)生一個(gè)中斷通知系統(tǒng)。這個(gè)中斷的產(chǎn)生時(shí)間可以通過(guò)配置功能控制寄存器(Funct_Ctrl)中的 BSS 和 SBC 位設(shè)定。應(yīng)用程序可以在接收到中斷后刷新看門(mén)狗,或者復(fù)位/停止/重新配置看門(mén)狗。

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

如果應(yīng)用程序在第二窗口沒(méi)有對(duì)看門(mén)狗有任何處理,計(jì)時(shí)器超過(guò)了用戶(hù)設(shè)定的第二窗口時(shí)間,這個(gè)時(shí)候會(huì)產(chǎn)生超時(shí)中斷。如果在看門(mén)狗運(yùn)行之前使能了二次序列時(shí)間,那么看門(mén)狗此時(shí)不會(huì)立刻產(chǎn)生系統(tǒng)錯(cuò)誤,而是等到二次序列時(shí)間計(jì)時(shí)結(jié)束之后再產(chǎn)生。這樣應(yīng)用程序就可以有時(shí)間去記錄一些狀態(tài),日志或是處理某些外設(shè)等操作,便于后續(xù)排查問(wèn)題或是增加系統(tǒng)的安全性。但是要是沒(méi)有配置這個(gè)二次序列時(shí)間,那么看門(mén)狗在第二窗口時(shí)間超時(shí)之后會(huì)立刻產(chǎn)生錯(cuò)誤事件,并發(fā)送系統(tǒng)錯(cuò)誤到 PSM 和 PMC。

以上就是看門(mén)狗窗口模式下最基礎(chǔ)的功能??偟膩?lái)說(shuō),應(yīng)用程序只有在看門(mén)狗處于第二窗口時(shí)間段內(nèi),才能對(duì)看門(mén)狗進(jìn)行刷新喂狗,復(fù)位/停止/重新配置操作,否則就會(huì)產(chǎn)生錯(cuò)誤事件,并發(fā)送系統(tǒng)錯(cuò)誤到 PSM 和 PMC。另外,需要注意以下兩點(diǎn):

第一個(gè)窗口的時(shí)間可以設(shè)置為 0,從而跳過(guò)保護(hù)周期。

在看門(mén)狗運(yùn)行的任意窗口期間,如果通過(guò) LPD 和 FPD 的系統(tǒng)級(jí)別的復(fù)位對(duì)整個(gè)看門(mén)狗進(jìn)行復(fù)位,不會(huì)產(chǎn)生額外中斷以及系統(tǒng)錯(cuò)誤。

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

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

1. 簽名方式(PSM)

在啟動(dòng)看門(mén)狗計(jì)時(shí)之前,用戶(hù)需要先在 Task_Sig0 寄存器中保存一個(gè)簽名。然后應(yīng)用程序在第二窗口刷新看門(mén)狗之前,先要對(duì) Task_Sig1 寄存器寫(xiě)入和 Task_Sig0 一樣的簽名。當(dāng)看門(mén)狗被正常刷新之后,會(huì)先去比較這兩個(gè)簽名是否一致,如果不一致就會(huì)立刻產(chǎn)生一個(gè)錯(cuò)誤事件,并產(chǎn)生系統(tǒng)錯(cuò)誤輸出 PSM 和 PMC。

2. 問(wèn)答方式(Q&A)

在運(yùn)行看門(mén)狗之前,用戶(hù)需要先在 Token_fb 寄存器中設(shè)定種子(seed)和反饋(FeedBack)值,這兩個(gè)值和使能與狀態(tài)寄存器(Enable_and_Status)中 ACNT 位會(huì)被用來(lái)計(jì)算寫(xiě)入 Token_Resp 寄存器的值。算法如下表所示。Token 對(duì)應(yīng)種子值,Count 對(duì)應(yīng) ACNT 值,F(xiàn)eedback Value 對(duì)應(yīng)反饋值。

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

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

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

在這個(gè)復(fù)雜的過(guò)程中,可以允許有限次數(shù)的應(yīng)答失敗,失敗次數(shù)保存在使能與狀態(tài)寄存器(Enable_and_Status)的失敗計(jì)數(shù)位中(Fail count)。也就是說(shuō)每當(dāng)失敗一次,失敗計(jì)數(shù)就會(huì)增加 1,每應(yīng)答成功一次失敗計(jì)數(shù)就會(huì)減 1。當(dāng)失敗次數(shù)累計(jì)到 7 次以后,那么再出現(xiàn)失敗,就會(huì)產(chǎn)生一個(gè)錯(cuò)誤事件,并發(fā)送系統(tǒng)錯(cuò)誤輸出到 PSM 和 PMC。

4

總結(jié)

Vesal 器件中的看門(mén)狗模塊提供了豐富的功能,從應(yīng)用簡(jiǎn)易程度和安全性方面層層遞進(jìn),讓用戶(hù)根據(jù)不同的應(yīng)用場(chǎng)景來(lái)實(shí)現(xiàn)對(duì)自己系統(tǒng)的保護(hù)。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • amd
    amd
    +關(guān)注

    關(guān)注

    25

    文章

    5589

    瀏覽量

    136357
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124481
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3683

    瀏覽量

    131389
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4389

    瀏覽量

    222756
  • SoC芯片
    +關(guān)注

    關(guān)注

    1

    文章

    646

    瀏覽量

    35818
  • PSM
    PSM
    +關(guān)注

    關(guān)注

    1

    文章

    45

    瀏覽量

    13793
  • 看門(mén)狗定時(shí)器

    關(guān)注

    0

    文章

    65

    瀏覽量

    16434

原文標(biāo)題:開(kāi)發(fā)者分享|SWDT 在 AMD Versal? Adaptive SoC 中的應(yīng)用

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AMD Versal SoC刷新邊緣AI性能,單芯片方案驅(qū)動(dòng)嵌入式系統(tǒng)

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

    CSU SWDT、LPD SWDT和FPD SWDT的關(guān)系與使用

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

    使用QEMU啟動(dòng)Versal VCK190

    本篇博文涵蓋了有關(guān)使用 PetaLinux 命令行來(lái)對(duì) Versal Adaptive SoC 的 PetaLinux BSP 運(yùn)行 QEMU 的信息,并演示了 QEMU 支持的部分網(wǎng)絡(luò)選項(xiàng)。
    的頭像 發(fā)表于 04-20 10:40 ?1028次閱讀

    Versal 自適應(yīng)SoC設(shè)計(jì)指南

    電子發(fā)燒友網(wǎng)站提供《Versal 自適應(yīng)SoC設(shè)計(jì)指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-14 16:22 ?1次下載
    <b class='flag-5'>Versal</b> 自適應(yīng)<b class='flag-5'>SoC</b>設(shè)計(jì)指南

    AMD Versal SoC全新升級(jí)邊緣AI性能,單芯片方案驅(qū)動(dòng)嵌入式系統(tǒng)

    宣布擴(kuò)展 AMD Versal? 自適應(yīng)片上系統(tǒng)( SoC?)產(chǎn)品組合,推出全新第二代 Versal?AI Edge?系列和第二代 Versal
    的頭像 發(fā)表于 04-09 21:32 ?1542次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>SoC</b>全新升級(jí)邊緣AI性能,單芯片方案驅(qū)動(dòng)嵌入式系統(tǒng)

    AMD發(fā)布第二代Versal自適應(yīng)SoC,AI嵌入式領(lǐng)域再提速

    AMD表示,第二代Versal系列自適應(yīng)SoC搭載全新的AI引擎,相較上一代Versal AI Edge系列,每瓦TOPS功率可實(shí)現(xiàn)最多3倍的性能提升,同時(shí),新款集成Arm CPU的高
    的頭像 發(fā)表于 04-11 16:07 ?1225次閱讀

    AMD Versal? Adaptive SoC CPM PCIE PIO EP設(shè)計(jì)CED示例

    本文可讓開(kāi)發(fā)者們看懂 AMD Vivado Design Tool 2023.2 的“AMD Versal Adaptive
    的頭像 發(fā)表于 05-10 09:39 ?1023次閱讀
    <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設(shè)計(jì)CED示例

    ALINX VERSAL SOM產(chǎn)品介紹

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

    AMD Versal自適應(yīng)SoC CPM5 QDMA的Tandem PCIe啟動(dòng)流程介紹

    本文將從硬件設(shè)計(jì)和驅(qū)動(dòng)使用兩個(gè)方面介紹基于 CPM5 QDMA 的 AMD Versal 自適應(yīng) SoC 的 Tandem 設(shè)計(jì)和啟動(dòng)流程。
    的頭像 發(fā)表于 09-18 10:07 ?1584次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自適應(yīng)<b class='flag-5'>SoC</b> CPM5 QDMA的Tandem PCIe啟動(dòng)流程介紹

    AMD推出第二代Versal Premium系列

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

    AMD Vivado Design Suite 2024.2全新推出

    AMD Vivado Design Suite 2024.2 全新推出,使用 AMD Versal Adaptive SoC 進(jìn)行設(shè)計(jì)的重大
    的頭像 發(fā)表于 11-22 13:54 ?1057次閱讀

    如何通過(guò)PMC_GPIO喚醒AMD Versal? Adaptive SoC Linux系統(tǒng)

    功耗敏感的系統(tǒng)里,我們通常會(huì)在系統(tǒng)空閑的時(shí)候?qū)⑾到y(tǒng)休眠,然后可以通過(guò)一些外設(shè)的輸入來(lái)喚醒系統(tǒng),比如 Uart、USB 和 GPIO。AMD Versal?Adaptive
    的頭像 發(fā)表于 12-17 10:07 ?839次閱讀
    如何通過(guò)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系統(tǒng)

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

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

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

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

    第二代AMD Versal Premium系列SoC滿(mǎn)足各種CXL應(yīng)用需求

    第二代 AMD Versal Premium 系列自適應(yīng) SoC 是一款多功能且可配置的平臺(tái),提供全面的 CXL 3.1 子系統(tǒng)。該系列自適應(yīng) SoC 旨在滿(mǎn)足從簡(jiǎn)單到復(fù)雜的各種 CX
    的頭像 發(fā)表于 04-24 14:52 ?508次閱讀
    第二代<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> Premium系列<b class='flag-5'>SoC</b>滿(mǎn)足各種CXL應(yīng)用需求