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

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

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

3天內不再提示

PCIe系統(tǒng)復位方式

冬至子 ? 來源:存儲隨筆 ? 作者:古貓 ? 2023-06-05 17:30 ? 次閱讀

系統(tǒng)復位(Reset)

在PCIe Spec中,Reset總共分為兩類:Conventional Reset和Function Level Reset.

1. Conventional Reset

從字面上來講,Conventional Reset是傳統(tǒng)的Reset方式。這一類Reset功能是在PCIe Spec 2.0之前的Spec中定義的,所以稱為傳統(tǒng)的Reset。PCIe設備必須要支持這一類Reset。

Convential Resets包含了三種Resets: Cold Reset,Warm Reset 和 Hot Reset.

另外,還有一個概念: Cold Reset和Warm Reset又被稱為Fundamental Reset, Hot Reset被稱為Non-Fundamental Reset.

什么是Fundamental Reset呢?

這是PCIe最基本的復位方式,主要通過硬件實現(xiàn),效果是重置整個設備,對每個狀態(tài)機、所有硬件邏輯、端口狀態(tài)和配置寄存器重新初始化。

但是,也會有例外的情況:在某些寄存器中的字段只有在全部電源(包括VCC電源和Vaux備用電源)切斷的情況下才會被重置。PCIe Spec給這些固執(zhí)的字段起了個外號"Sticky Bits".

一般來說,F(xiàn)undamental Reset是針對整個系統(tǒng)做Reset,但是有時也可以針對某個單一設備進行重置。

在這里說明一下Fundamental Reset中的Cold Reset和Warm Reset。

  • Cold Reset : 設備的主電源VCC上電時,就會觸發(fā)Cold Reset。
  • Warm Reset : 在VCC不斷電的情況下,系統(tǒng)可以觸發(fā)Warm Reset。比如,電源狀態(tài)的變化就會觸發(fā)Warm Reset. 不過,PCIe Spec并沒有定義觸發(fā)Warm Reset的具體方式,這部分可以有系統(tǒng)設計人員自行決定。

另外,在PCIe Spec中,規(guī)定了兩種觸發(fā)Fundamental Reset方式。

  • 一是通過PERST#(PCIe Reset)信號控制。
  • 二是在沒喲PERST#信號的情況下,通過Power on/off的方式實現(xiàn)。

舉個例子,看看PERST#是如何生成的。

  1. 系統(tǒng)上電穩(wěn)定后,有POWERGOOD信號產(chǎn)生(下圖紅色框所示)。
  2. 當系統(tǒng)的南橋芯片(也就是圖中的IO控制器ICH)收到POWERGOOD信號后,就會產(chǎn)生PERST#信號(下圖綠色部分),此時會引起Cold Reset。
  3. 如果系統(tǒng)可以通過非上電的方式觸發(fā)PERST#信號,此時會引起Warm Reset。

圖片

明白了Fundamental Reset,那Non-Fundamental Reset中的Hot Reset又是什么呢?

與Fundatmental Reset相反,Hot Reset是一種軟件控制的復位方式。PCIe設備出現(xiàn)錯誤時,通常情況下用軟件的方式對設備重置。軟件可以通過在Bridge control中設置Secondary Bus Reset bit來觸發(fā)Hot Reset.

圖片

另外,在PCIe總線中,通過發(fā)送TS1序列,并且在TS1序列中設置Hot Reset bit來對下游設備進行Hot Reset(如下圖紅色框).

在這個過程中,發(fā)送端會持續(xù)發(fā)送TS1序列至2ms, 接收端在接到2個連續(xù)的TS1序列之后進行Hot Reset.

圖片

同樣,舉個例子說明一下Hot Reset:

  1. 系統(tǒng)通過軟件對Switch A左邊端口的Secondary Bus Reset bit置為1(下圖紅色框),觸發(fā)了Hot Reset.
  2. 之后通過發(fā)送TS1序列對PCIe鏈路中的下游設備觸發(fā)Hot Reset(下圖黑色箭頭).

圖片

2. Function Level Reset

在傳統(tǒng)復位方式的基礎上,PCIe Sepc 2.0以后開始增加了新的復位方式FLR(Function Level Reset)。前面講到的傳統(tǒng)復位方式(Cold Reset, Warm Reset, Hot Reset)均屬于全局復位方式,而FLR的優(yōu)勢則是對局部復位。

在PCIe協(xié)議中,一個PCIe設備可能包含多個功能模塊(Function),每個功能模塊相互對立,共用一個PCIe link。其中,某個功能模塊出問題時,雖然可以采用傳統(tǒng)復位方式對整個PCIe設備復位,但這個顯然不友好,因為其他功能模塊可能正在埋頭苦干。這就好比如,在一個團體中,一個人犯錯了,要團隊所有人一起承擔,這個肯定會影響團結呀。

所以,PCIe深得管理學的精髓,為了不影響團結,F(xiàn)LR允許只對其中出錯的功能模塊(Function)進行重置,其他功能模塊正常工作。

不過,F(xiàn)LR復位方式對PCIe設備并不是必須的,在對PCIe設備使用FLR復位之前必須先檢查是否支持FLR。這部分可以查看Device Capabilities Register是否將Funcion-Level Reset Capability bit置起。

圖片

如果PCIe設備支持FLR,那么就可以通過設置Device Control Register中的Function-Level Reset bit觸發(fā)FLR復位咯~

圖片

觸發(fā)FLR之后,PCIe鏈路中都有哪些變化呢?

我們前面提到了,F(xiàn)LR是一個局部復位方式,只對出問題的那個Function起作用。所以說, FLR只會改變當下Function內部的狀態(tài)和寄存器的內容 。以下幾個方面不會被影響:

  • 執(zhí)行FLR的Function所在的PCIe鏈路狀態(tài)不會改變,因為其他Function也在共用整條PCIe鏈路;
  • Sticky Bits . 傳統(tǒng)復位方式也無法改變Sticky bits, 除非完全斷電。
  • HwInit Bits . HwInit bits是硬件初始化的內容,這些值由芯片的配置引腳決定,后者上電復位后從EEPROM中獲取。Cold和Warm Reset可以復位這些寄存器,然后從EEPROM中從新獲取數(shù)據(jù),但是使用FLR方式不能復位這些寄存器。
  • 與Link相關的寄存器 。比如ASPM,F(xiàn)low control等相應的寄存器。

另外,PCIe Sepc規(guī)定,某個Function的FLR必須在100ms之后完成。所以,PCIe Spec寫了一封倡議書給要使用FLR復位方式的"人們"-軟件:

為了創(chuàng)造一個溫馨的FLR工作環(huán)境,請做到以下幾點:

  • 在FLR工作期間,請不要訪問對應的Function;
  • 清除所有的Command Register;
  • 通過Polling Device Status Register中的Transaction Pending bit來確保之前請求的Compeletion報文已完成,或者確保后續(xù)不會再發(fā)送Compeletion報文。
  • 觸發(fā)FLR之后,請耐心等待至少100ms;
  • 初始化Function的配置寄存器,讓其正常工作。

在FLR執(zhí)行的過程中,如果收到TLP或者Compeletions都會被默默的丟棄,而不會向系統(tǒng)報錯。

舉個栗子,看看FLR執(zhí)行過程,

  1. 如下圖,這個PCIe設備中有兩個功能模塊:Function 0和Function 5. 此時,兩個Functions依舊是互不干擾,認真工作,傳輸TLPs.

圖片

  1. 之后,F(xiàn)unction 5出了一些問題,需要做FLR。FLR之后,F(xiàn)unction5中的之前的TLPs全部被清除。

圖片

  1. Function 5做FLR,并不影響Function 0,繼續(xù)TLPs傳輸。如下圖,3個TLPs正常傳輸完畢。

圖片

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

    關注

    114

    文章

    16845

    瀏覽量

    182323
  • EEPROM
    +關注

    關注

    9

    文章

    1061

    瀏覽量

    83039
  • TLP
    TLP
    +關注

    關注

    0

    文章

    34

    瀏覽量

    15894
  • Vcc
    Vcc
    +關注

    關注

    2

    文章

    307

    瀏覽量

    37080
  • PCIe接口
    +關注

    關注

    0

    文章

    121

    瀏覽量

    10001
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    簡談PCIe的軟件配置方式

    大家好,又到了每日學習的時間了,今天我們來聊一聊PCIe的軟件配置方式。 關于PCIe的軟件配置和初始化 PCIe設計出來考慮了和pci兼容問題。所以
    的頭像 發(fā)表于 07-29 09:26 ?7995次閱讀
    簡談<b class='flag-5'>PCIe</b>的軟件配置<b class='flag-5'>方式</b>

    Cortex-M內核的軟件復位方式

    這里只討論內核的軟件復位方式。像STM32的備份域復位里面也有軟件復位,則不在本文討論范圍。額外提一句,上電復位是完整
    的頭像 發(fā)表于 12-06 16:18 ?2881次閱讀
    Cortex-M內核的軟件<b class='flag-5'>復位</b><b class='flag-5'>方式</b>

    Linux操作系統(tǒng)中如何按下PCIe復位

    在Linux操作系統(tǒng)中,看如何按下PCIe復位
    的頭像 發(fā)表于 01-20 09:31 ?2060次閱讀
    Linux操作<b class='flag-5'>系統(tǒng)</b>中如何按下<b class='flag-5'>PCIe</b>的<b class='flag-5'>復位</b>鍵

    PCIe插槽竟然能玩出花樣?多個最新PCIe擴展硬盤方式!#PCIe擴展 #PCIe #硬盤盒

    硬盤PCIe
    ICY DOCK硬盤盒
    發(fā)布于 :2024年07月11日 17:21:28

    PCIe總線的復位方式是什么?

    PCIe總線規(guī)定了兩個復位方式:conventional Reset和FLR(FunctionLevel Reset),而Conventional Reset由進一步分為兩大類:Fundamental Reset和Non-Fun
    發(fā)表于 10-16 08:19

    簡談PCIe的軟件配置方式

    ? ? ? ?大家好,又到了每日學習的時間了,今天我們來聊一聊PCIe的軟件配置方式。? ? ? ?關于PCIe的軟件配置和初始化? ? ? ?PCIe設計出來考慮了和pci兼容問題。
    的頭像 發(fā)表于 07-27 19:16 ?3824次閱讀
    簡談<b class='flag-5'>PCIe</b>的軟件配置<b class='flag-5'>方式</b>

    復位電路的作用及基本的復位方式

    手動按鈕復位需要人為在復位輸入端RST上加入高電平(圖1)。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕。當人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。手動按鈕復位的電路如所示。由于人的動作再快也會使按鈕
    的頭像 發(fā)表于 09-06 09:40 ?11.7w次閱讀
    <b class='flag-5'>復位</b>電路的作用及基本的<b class='flag-5'>復位</b><b class='flag-5'>方式</b>

    PCIe總線的信號介紹

    該信號為全局復位信號,由處理器系統(tǒng)提供(RC),處理器系統(tǒng)需要為PCIe插槽和PCIe設備提供該復位
    發(fā)表于 12-22 14:45 ?2.4w次閱讀

    PCIe總線的兩種復位方式

    傳統(tǒng)的復位方式分為Cold、Warm和Hot Reset。PCIe設備可以根據(jù)當前的設備的運行狀態(tài)選擇合適的復位方式
    的頭像 發(fā)表于 12-30 09:37 ?2.4w次閱讀

    CPU的復位方式有哪些

    上電復位就是直接給產(chǎn)品上電,上電復位與低壓LVR操作有聯(lián)系,電源上電的過程是逐漸上升的曲線過程,這個過程不是瞬間的完成的,一上電時候系統(tǒng)進行初始化,此時振蕩器開始工作并提供系統(tǒng)時鐘,
    的頭像 發(fā)表于 09-17 11:05 ?1.2w次閱讀
    CPU的<b class='flag-5'>復位</b><b class='flag-5'>方式</b>有哪些

    簡述復位電路概述以及方式和目的

    是有的電路需要時鐘信號那樣,而有的電路是不需要復位信號的。復位又分為同步復位和異步復位,這兩種各有優(yōu)缺點。下面我們主要來說說復位信號的用途和
    的頭像 發(fā)表于 06-28 09:49 ?7057次閱讀

    stm32復位方式分類

    stm32復位方式分類按照復位區(qū)域的范圍分類,大概可以分為系統(tǒng)復位,電源復位,備份域
    發(fā)表于 12-07 19:36 ?12次下載
    stm32<b class='flag-5'>復位</b><b class='flag-5'>方式</b>分類

    GD32 MCU電源復位系統(tǒng)復位有什么區(qū)別

    GD32 MCU的復位分為電源復位系統(tǒng)復位,電源復位又稱為冷復位,相較于
    的頭像 發(fā)表于 02-02 09:37 ?1867次閱讀
    GD32 MCU電源<b class='flag-5'>復位</b>和<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>復位</b>有什么區(qū)別

    FPGA同步復位和異步復位

    FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列)中的復位操作是設計過程中不可或缺的一環(huán),它負責將電路恢復到初始狀態(tài),以確保系統(tǒng)的正確啟動和穩(wěn)定運行。在FPGA設計中,復位
    的頭像 發(fā)表于 07-17 11:12 ?2284次閱讀

    STM32復位電路用復位芯片和阻容復位電路區(qū)別

    系統(tǒng)中,復位電路是保證系統(tǒng)正常工作的重要部分。當系統(tǒng)出現(xiàn)異常或需要重新啟動時,復位電路能夠迅速將系統(tǒng)
    的頭像 發(fā)表于 08-06 10:26 ?2429次閱讀
    主站蜘蛛池模板: 色五五月五月开 | 七月婷婷精品视频在线观看 | 婷婷激情四月 | 日本肥妇 | 成人网视频免费播放 | 天堂网在线www资源在线 | 日韩亚 | 久久www免费人成高清 | 100000免费啪啪18免进 | 888午夜不卡理论久久 | 国产精品一区牛牛影视 | 手机看片福利日韩国产 | 亚洲欧美日韩动漫 | 久久丁香视频 | yy6080一级毛片高清 | 亚洲午夜小视频 | 色综合久久网 | 久久ww | jizjizjizjiz日本护士出水 | 色免费看 | 国产农村妇女毛片精品久久久 | 色成年激情久久综合 | 天天爽天天爽 | 黄a免费| 四虎最新永久在线精品免费 | 亚洲人成电影在线播放 | 午夜一级毛片 | 视频网站黄 | 轻点灬大ji巴太粗太长了啊h | 久久夜色精品国产尤物 | 奇米视频在线观看 | 久久久噜久噜久久gif动图 | 国产午夜久久影院 | 欧美一区二区三区不卡片 | 欧美作爱福利免费观看视频 | 红色一级毛片 | 91国内在线观看 | 青青热久免费精品视频在线观看 | 人人爱天天做夜夜爽毛片 | 色花堂国产精品首页第一页 | 在线视频观看一区 |