pcie協議復位

pcie協議復位共有4中情況;cold reset;warm reset;hot reset;function level reset;

分類:

依據spec 6.6:

Conventional reset(傳統復位):cold,warm,hot, reset;所有pcie 內部的寄存器必須恢復到復位狀態;

按照復位方式:cold,warm,必須通過pcie復位信號#PERST信號復位;該信號通常接金手指上用于ep和rc鏈接;

in-band 復位:hot reset;function level reset(FLR);

Fundamental Reset:cold,warm reset;

當fundamental reset建立之后:RX為高阻態;TX輸出短路電流;TX端電壓為共模電壓;

復位釋放之后LTSSM從新開始訓練;

cold reset:

power up復位;

warm reset:

除power up之外其他情況控制了#PERST復位(如通過內部寄存器等);

兩者主要區別是復位保持時間的區別,以S IP為例在refclk穩定之后cold reset最小保持10us;而warm reset 保持時間為最小100ns;在CEM文檔中說明了Tpvperl必須最小100ms;

即圖中2處的時間;

hot reset:

TS1 order set中Hot reset bit為1;

一:有上層(app layer)控制發起hot reset:

  1. 如果任意lane中接收到兩個連續的TS1的order set;hot reset bit Assert;之后開始進入hot reset流程:(4.2.6.11 hot reset)
  • linkup=0;
  • 如果沒有繼續保持hot reset;之后Ltssm會進入到detect;
  • 否則會繼續發送TS1系列,帶hot reset信息

2.所有tx lane中TS1 hot reset bit都為1;

3. 2ms后超時,自動回退到Detect狀態;

二:沒有上層控制(通常指接收側,如收到兩個連續的Ts1 hot reset bit被置位)

1.linkup=0;

2. 當SW 的USP任意lane 端口接收到兩個連續的TS1 hot reset assert;其所有下行端口都開始發送TS1 hot reset assert;

  • 任意兩個crosslink不受該約束影響;

3. 當任意已配置lane收到兩個連續的TS1 hot reset bit assert;會進入到Hot reset狀態;且內部2ms計數器開始計數;

4.?2ms后超時,自動回退到Detect狀態;

注:在S IP中操作對端進入hot reset方法:

DSP可以hot reset USP;通過拉高app_init_rst 信號DSP會發送兩個連續的TS1 hot reset bit assert; 并且會輸出一個link_req_rst_not 信號用于指示復位信號(低有效);且該信號還會引起non_sticky_rst_n;以及int_phy_rst_n的復位;

帶axi端口的流程;需要將rx 數據flush;LTSSM會從L0狀態跳轉到Recovery之后進入到hot reset;

FLR reset:

flr reset不會復位:

1.sticky reg(非sticky reg會被復位)

2. HwInit 類型reg(硬件初始化reg)

FLR:非sr-iov可選;支持sr-iov必選;

使用方式:

DSP:無

USP:

device_capabilities_reg bit28為1,表示支持FLR;

device_control_device_status;bit15寫1開始進行usp的function level reset;寫1清0該bit。

注:有些內容是英譯過來的。建議去查看spec原文!!!!!!筆者寫的也只是為了記錄一下。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904494.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904494.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904494.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis--哈希類型

目錄 一、Hash 哈希 1.2 常用命令 1.2.1 HSET 1.2.2 HGET 1.2.3 HEXISTS 1.2.4 HDEL 1.2.5 HKEYS 1.2.6 HVALS 1.2.7 HGETALL 1.2.8 HMGET 1.2.9 HLEN 1.2.10 HSETNX 1.2.11 HINCRBY 1.2.12 HINCRBYFLOAT 1.3 內部編碼 一、Hash 哈希 幾乎所有的主流編程語言都提…

華為安全認證好還是數通認證好?

在華為認證體系中,安全認證 與數通認證 (數據通信)是兩個熱門方向,分別面向網絡安全與網絡架構領域。 安全和數通的技術難度對比 市場需求 安全認證:隨著網絡安全形勢日益嚴峻,企業對網絡安全的重視程度不…

Nacos源碼—5.Nacos配置中心實現分析二

大綱 1.關于Nacos配置中心的幾個問題 2.Nacos如何整合SpringBoot讀取遠程配置 3.Nacos加載讀取遠程配置數據的源碼分析 4.客戶端如何感知遠程配置數據的變更 5.集群架構下節點間如何同步配置數據 4.客戶端如何感知遠程配置數據的變更 (1)ConfigService對象使用介紹 (2)客…

電力MOSFET的專用集成驅動電路IR2233

IR2233是IR2133/IR2233/IR2235 系列驅動芯片中的一種,是專為高電壓、高速度的電力MOSFET和IGBT驅動而設計的。該系列驅動芯片內部集成了互相獨立的三組板橋驅動電路,可對上下橋臂提供死區時間,特別適合于三相電源變換等方面的應用。其內部集成了獨立的運算放大器可通過外部橋…

六級閱讀———2024.12卷一 仔細閱讀2

文章 An awakening has been taking place in the physical world against the beauty model that has been dictated to us for years.But in the digital arena,social media determines what is considered beautiful.(51) The two opposing struggles are taking place i…

【C/C++】errno/strerror 和 GetLastError()/FormatMessage 的區別

strerror 和 errno 詳解 printf("Error: %s\n", strerror(errno));這行代碼用于在 C 語言中輸出系統錯誤信息,但它與 Windows 的 GetLastError() 有重要區別。下面我將詳細解釋每個部分及其工作原理。 1. 組件解析 errno 定義:errno 是一個…

Unicode和UTF - 8主要有以下區別

Unicode和UTF - 8主要有以下區別 概念范疇 Unicode:是字符集 。它為世界上幾乎所有的字符(包括各國文字、標點符號、特殊符號等)分配了唯一的編號,這個編號也叫碼位、碼點,比如“中”字的Unicode碼點是U+4E2D 。它規定了字符的抽象表示,只關注字符與數字編號的對應關系,…

企業數字化轉型第二課:接受不完美(1/2)

一.引言 先看一組中國企業數字化轉型相關的數據: 戰略認知層面:92%中國企業將數字化納入戰略核心(麥肯錫2023)執行困境層面:63%企業轉型首年遭遇重大挫折(BCG 2024追蹤)價值釋放周期&#xff1…

OSCP - Proving Grounds - Sumo

主要知識點 ShellShock漏洞dirtycow提權 具體步驟 執行nmap掃描,比較直觀,22和80端口開放,但是80端口沒有什么內容 Nmap scan report for 192.168.210.87 Host is up (0.44s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERV…

pyqt寫一個TCP(UDP)檢測工具

先用電腦連接到目標WIFI,再運行以下代碼。 import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtNetwork import *class NetTestTool(QWidget):def __init__(self):super().__init__()self.init_ui()self.tcp_socket QTcpSocket()…

趣味編程:夢幻萬花筒

目錄 1.效果展示 2.源碼展示 3.代碼邏輯詳解 3.1 頭文件與宏定義 3.2 HSV函數轉RGB顏色函數 3.3 主函數 初始化部分 循環部分 線條繪制部分 刷新和延時部分 結束部分 4.小結 本篇博客主要介紹趣味編程用C語言實現萬花筒小程序。 1.效果展示 2.源碼展示 #define…

軟件開發各階段的自動化測試技術詳解

引言 在當今快速迭代的軟件開發環境中,自動化測試已成為保證軟件質量、提高測試效率的重要手段。本文將深入探討軟件開發生命周期各個階段的自動化測試技術,包括單元測試、代碼級集成測試、Web Service測試和GUI測試的自動化實現方法。 單元測試的自動…

Elasticsearch:我們如何在全球范圍內實現支付基礎設施的現代化?

作者:來自 Elastic Kelly Manrique SWIFT 和 Elastic 如何應對基礎設施復雜性、誤報問題以及日益增長的合規要求。 金融服務公司在全球范圍內管理實時支付方面面臨前所未有的挑戰。SWIFT(Society for Worldwide Interbank Financial Telecommunication -…

day009-用戶管理專題

文章目錄 1. 創建包含時間的文件2. 與用戶相關的文件3. 用戶分類4. 與用戶相關的命令4.1 添加用戶4.2 刪除用戶4.3 查看用戶4.4 修改用戶密碼 5. sudo6. 思維導圖7. 老男孩思想-學習方法 1. 創建包含時間的文件 或$()是替換符號,可以將命令的結果作為字符串或變量的…

shell腳本實現遠程重啟多個服務器

直接deepseek幫寫腳本 remoteReboot.sh #!/bin/bash # 配置文件路徑&#xff08;格式&#xff1a;每行一個服務器地址&#xff09; SERVER_FILE"servers.list" # 讀取服務器列表 mapfile -t SERVERS < "$SERVER_FILE" for server in "${SERVER…

如何利用 QuickAPI 生成 PostgreSQL 樣本測試數據:全面解析與實用指南

目錄 一、什么是 QuickAPI&#xff1f; 二、為什么需要生成樣本測試數據&#xff1f; 三、如何在 QuickAPI 中生成 PostgreSQL 樣本測試數據&#xff1f; 1. 登錄 QuickAPI 平臺 2. 選擇 PostgreSQL 數據庫和目標表 3. 配置樣本數據生成規則 4. 導出或直接插入數據 四、…

黑馬點評day04(分布式鎖-setnx)

4、分布式鎖 4.1 、基本原理和實現方式對比 分布式鎖&#xff1a;滿足分布式系統或集群模式下多進程可見并且互斥的鎖。 分布式鎖的核心思想就是讓大家都使用同一把鎖&#xff0c;只要大家使用的是同一把鎖&#xff0c;那么我們就能鎖住線程&#xff0c;不讓線程并行&#x…

?人工智能在農作物病蟲害識別中的應用前景分析

近年來&#xff0c;全球氣候變化加劇、農業種植規模化發展&#xff0c;農作物病蟲害對糧食安全的威脅日益凸顯。據統計&#xff0c;全球每年因病蟲害造成的農作物損失約占總產量的20%-40%&#xff0c;而傳統依賴人工經驗的防治方式效率低、成本高&#xff0c;難以滿足現代農業需…

C++ 完美轉發

C 完美轉發逐步詳解 1. 問題背景與核心目標 在 C 模板編程中&#xff0c;若直接將參數傳遞給其他函數&#xff0c;參數的 值類別&#xff08;左值/右值&#xff09;和 類型信息&#xff08;如 const&#xff09;可能會丟失。例如&#xff1a; template<typename T> voi…

Midjourney 繪畫 + AI 配音:組合玩法打造爆款短視頻!

一、引言:AI 重構短視頻創作范式 在某短視頻工作室的深夜剪輯室里,資深編導正在為一條古風劇情視頻發愁:預算有限無法實拍敦煌場景,人工繪制分鏡耗時 3 天,配音演員檔期排到一周后。而使用 Midjourney 生成敦煌壁畫風格的場景圖僅需 15 分鐘,AI 配音工具實時生成多角色臺…