当前位置: 首页 > news >正文

【PCIe 总线及设备入门学习专栏 5.1 -- PCIe 引脚 PRSNT 与热插拔】

文章目录

  • Overview
    • PRSNT 与热插拔
      • PRSNT 硬件设计

Overview

Spec 定义的热插拔是把一个PCIe卡(设备)从一个正在运行的背板或者系统中插入/或者移除。这个过程需要不影响系统的其他功能。插入的新的设备可以正确工作。 显然,这里面需要考虑的问题有硬件软件两方面的事情。

热插拔的基本目的是要让PCIe设备按照规定的顺序、原则,从系统中移除或插入到系统中来,并能正常的工作,且不影响系统的正常运行。

热插拔有三个重要的功能

  • 在线替换发生故障的PCIe设备。不需要关闭、重启系统。
  • 热插拔器件,系统及其他功能服务继续运行,不受影响。
  • 热插拔PCIe设备的相关驱动/软件自动加载/卸载。

Spec 中对于热插拔是这样定义的:

  • Hot-Plug
    Insertion and/or removal of a card into an active backplane or system board as defined in PCI Standard Hot-Plug Controller and Subsystem Specification, Revision. 1.0. No special card support is required.

  • Hot swap
    Insertion and/or removal of a card into a passive backplane. The card must satisfy specific requirements to support Hot swap.

注意,这里有两个相关概念,前面我们讲的热插拔,其实是广义的 “热插拔”。这里的 Hot-Plug,为了方便,我们叫做 PCIe
热插拔,也就是我们现在及后面将要讨论的内容。

Hot Swap,即热交换,也叫热切换,主要指的是CPCI(Compact PCI,紧凑型PCI)领域所使用的。关于 Hot Swap,CPCI有专门定义的一套规范,叫《CompactPCI® Hot Swap Specification》,也有中文版本,有兴趣的可以自行研究。 如无特别的指出,我们后续所说的热插拔都是指的是PCIe Hot-Plug。

顺便说一下:在PCI的年代,就已经提出了PCI的相关热插拔规范。2001年,PCI定义了PCI标准热插拔控制器(SHPC:PCI Standard Hot-plug Controller and Subsystem Specification)规范,PCIe沿用了这套规范。

硬件上看,一个新 的PCIe设备插入系统,肯定是需要硬件上支持识别到这个插入动作的。因此,Spec 定义了一个在位(Present)的pin脚,硬件上用作判断卡是否插入。
在这里插入图片描述

卡插入时,这个pin被拉低。当然,因为PCIe金手指的长度较长,插入卡时有可能前后高低差异。因此,需要有前后多个present pin来确保金手指完全插入。

PRSNT 与热插拔

如下图所示,PCIe背板卡槽的PRSNT1#接地,PRSNT2#连接到热插拔控制器,并上拉。
在这里插入图片描述

PCIe板卡的PRSNT#1信号连接到距离其最远的PRSNT2#引脚(PRSNT2#可能有多个)。需要注意的是,PRSNT引脚比其它引脚短1mm,这样可以保证插入和拔出时有1ms的时间差,从而确保上电、掉电时序符合规范。

当板卡插入时,其它引脚接触完成后,PRSNT#1先被拉低,PRSNT#2最后被拉低,然后PCIe背板的热插拔控制器认为板卡已被完全插入,开始启用相关信号。

PRSNT 硬件设计

当硬件需要支持热插拔时,PRSNT1#PRSNT2#引脚必须按照规范连接,如果不支持热插拔(不用于服务器的板卡一般都不支持)则必须将PRSNT2#接地,如果悬空会导致背板插槽的PRSNT2#无法被拉低,从而导致板卡无法正常工作(仅出现于支持热插拔的PCIe背板)。

除了使用Present Pin之外,也可以通过链路的负载检测等来完成。也就是所谓带内检测在位。或者一些特殊的场景比如NT-NT背靠背,就没有Present信号。NT-NT的插入时,链路自动重新Link。


推荐阅读
https://blog.csdn.net/dongdongnihao_/article/details/132480983
https://www.pcietech.com/367.html/

相关文章:

【PCIe 总线及设备入门学习专栏 5.1 -- PCIe 引脚 PRSNT 与热插拔】

文章目录 OverviewPRSNT 与热插拔PRSNT 硬件设计 Overview Spec 定义的热插拔是把一个PCIe卡(设备)从一个正在运行的背板或者系统中插入/或者移除。这个过程需要不影响系统的其他功能。插入的新的设备可以正确工作。 显然,这里面需要考虑的问…...

【YOLO】YOLOv5原理

概述 YOLOv5的主要架构 Backbone(主干网络):负责提取输入图像的多层次特征 Neck(颈部网络):进行特征融合和多尺度特征处理,通常包含FPN(特征金字塔网络)和PAN&#xff0…...

uniapp中wx.getFuzzyLocation报错如何解决

一、用wx.getLocation接口审核不通过 用uniapp开发小程序时难免需要获取当前地理位置。 代码如下: uni.getLocation({type: wgs84,success: function (res) {console.log(当前位置的经度: res.longitude);console.log(当前位置的纬度: r…...

opencv图像直方图

【欢迎关注编码小哥,学习更多实用的编程方法和技巧】 1、基本直方图计算 // 灰度图直方图 cv::Mat calculateGrayscaleHistogram(const cv::Mat& image) {cv::Mat histogram;int histSize 256; // 灰度级别float range[] {0, 256};const float* histRange …...

OpenCV计算机视觉 03 椒盐噪声的添加与常见的平滑处理方式(均值、方框、高斯、中值)

上一篇文章:OpenCV计算机视觉 02 图片修改 图像运算 边缘填充 阈值处理 目录 添加椒盐噪声 图像平滑常见处理方式 均值滤波 (blur) 方框滤波 (boxFilter) ​高斯滤波 (GaussianBlur) 中值滤波 (medianBlur) 添加椒盐噪声 def add_peppersalt_noise(image, n…...

【嵌入式C语言】内存分布

内存分布 内存分布图内存的属性:只读空间只读空间的特点编程注意事项 栈空间栈的工作原理栈的特点栈溢出与堆的区别 堆空间堆的特点内存分配函数内存泄漏总结 内存分布图 内存的属性: 在C语言中,内存的属性主要取决于它是如何分配的以及它在…...

【brainpan靶场渗透】

文章目录 一、基础信息 二、信息收集 三、反弹shell 四、提权 一、基础信息 Kali IP:192.168.20.146 靶机 IP:192.168.20.155 二、信息收集 似乎开放了9999,10000端口,访问页面没有太多内容,扫描一下目录 dirs…...

Java实现观察者模式

一、前言 观察者模式,又称为发布订阅模式,是一种行为设置模式,允许对象之间建立一对多的依赖关系,这样当一个对象状态改变时,它的所有依赖者(观察者)都会收到通知并自动更新。 二、具体实现 …...

通过百度api处理交通数据

通过百度api处理交通数据 1、读取excel获取道路数据 //道路名称Data EqualsAndHashCode public class RoadName {ExcelProperty("Name")private String name; }/*** 获取excel中的道路名称*/private static List<String> getRoadName() {// 定义文件路径&…...

探索CSDN博客数据:使用Python爬虫技术

探索CSDN博客数据&#xff1a;使用Python爬虫技术 在数字化的浪潮中&#xff0c;数据的获取与分析变得日益关键。CSDN作为中国领先的IT社区和服务平台&#xff0c;汇聚了海量的技术博客与文章&#xff0c;成为一座蕴藏丰富的数据宝库。本文将引领您穿梭于Python的requests和py…...

b站ip属地评论和主页不一样怎么回事

在浏览B站时&#xff0c;细心的用户可能会发现一个有趣的现象&#xff1a;某些用户的评论IP属地与主页显示的IP属地并不一致。这种差异引发了用户的好奇和猜测&#xff0c;究竟是什么原因导致了这种情况的发生呢&#xff1f;本文将对此进行深入解析&#xff0c;帮助大家揭开这一…...

如何查看服务器内存占用情况?

如何查看服务器的内存占用情况&#xff1f;你知道内存使用情况对服务器性能的重要性吗&#xff1f;内存是服务器运行的核心资源之一&#xff0c;了解内存的占用情况可以帮助你优化系统性能。 要查看服务器的内存占用情况&#xff0c;首先需要确定你使用的是哪种操作系统。不同…...

流架构的读书笔记(2)

流架构的读书笔记&#xff08;2&#xff09; 一、建模工具之一沃德利地图 推测技术的发展,交流和辩论思想的最有力的方法是沃德利地图 沃德利地图的制作步骤 1确定范围和用户需求 2确定满足用户需求所需的组件 3在一条范围从全新到被人们接受的演进轴上评估这些组成 部分的演…...

E6 中的 扩展运算符(Spread) 和 剩余运算符(Rest)

时间&#xff1a;2024.12.29 之前看到 Es6 中的 三点运算符&#xff0c;有如下的几种写法&#xff0c;有时候三点运算符放在左边&#xff0c;有时候三点运算符放在右边&#xff0c;老是混淆。今天记录下&#xff0c;加强理解。 先看一个问题 最近在看 《ECMAScript 6 入门》关于…...

Python的简单爬虫框架

爬虫为网络爬虫&#xff08;又称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在FOAF社区中间&#xff0c;更经常的称为网页追逐者&#xff09;&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、…...

使用 uni-app 开发的微信小程序中,如何在从 B 页面回来时,重新拉取数据?

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的全栈工程师 欢迎分享 / 收藏 / 赞 / 在看…...

Windows API Set:那些“只存在但不被使用“的DLL

API Set 是什么&#xff1f; 想象一下&#xff0c;Windows就像一个大型图书馆&#xff0c;而API Set就是这个图书馆的索引系统。但这个索引系统非常特别&#xff1a;它是直接内置在Windows加载器中的"虚拟目录"。 // 一个典型的API Set映射示例 api-ms-win-core-mem…...

黑神话悟空鼠标光标分享

效果图&#xff1a; 鼠标光标特点 这套鼠标光标的设计灵感来源于《黑神话&#xff1a;悟空》游戏中的角色和元素&#xff0c;具有以下特点&#xff1a; • 主题鲜明&#xff1a;光标设计紧扣游戏主题&#xff0c;采用了游戏中的元素&#xff0c;让玩家在使用电脑时也能感受到…...

编写一个简单的引导加载程序(bootloader)

编写一个简单的引导加载程序&#xff08;bootloader&#xff09;通常用于嵌入式系统或自定义操作系统。这里&#xff0c;我将为你提供一个基于x86架构的简单汇编语言 bootloader 示例。这个 bootloader 将会在启动时打印一条消息到屏幕上。 使用 NASM 汇编器来编写这个 bootlo…...

【Linux基础】进程(上) —— 概念、状态、优先级与环境变量

目录 一、进程的概念 1. 什么是进程 PCB进程控制块的理解 2. 查看进程的方式 ps ajx 指令 getpid系统调用 3. 另外一种查看进程的方式(了解) 4. 进程的常见调用 fork 创建子进程 现象说明 二、进程的状态 1. 操作系统层面的进程状态 ① 运行状态 ② 阻塞状态 ③…...

[特殊字符] 第87课:股票含冷冻期

想系统提升编程能力、查看更完整的学习路线&#xff0c;欢迎访问 AI Compass&#xff1a;https://github.com/tingaicompass/AI-Compass 仓库持续更新刷题题解、Python 基础和 AI 实战内容&#xff0c;适合想高效进阶的你。&#x1f4d6; 第87课:股票含冷冻期模块:动态规划 | 难…...

知识竞赛软件如何选择?抢答器功能

知识竞赛软件怎么选&#xff1f;抢答器功能是关键 组织一场精彩、公平、高效的知识竞赛&#xff0c;离不开专业软件的支持。在众多功能中&#xff0c;抢答器功能往往是决定竞赛成败的核心。本文将系统性地探讨如何选择一款合适的知识竞赛软件&#xff0c;并深入分析抢答器功能…...

CP880显示驱动库:车规级TFT-LCD底层控制与零拷贝实现

1. CP880显示驱动库深度解析&#xff1a;面向CARIAD车载信息娱乐系统的TFT-LCD底层控制方案1.1 库定位与工程背景CP880是专为大众集团CARIAD软件平台定制的嵌入式图形显示驱动库&#xff0c;核心目标是为车载信息娱乐系统&#xff08;IVI&#xff09;提供高可靠性、低延迟的TFT…...

如何高效查询数据库中一对多关联的多项选择字段

本文讲解如何通过规范化数据库设计与标准 sql 关联查询&#xff0c;准确获取农民注册信息及其多个专业领域&#xff08;多对一/一对多关系&#xff09;&#xff0c;解决因表结构不合理导致的查询失败问题。 本文讲解如何通过规范化数据库设计与标准 sql 关联查询&#xff0c;准…...

WorkBuddy的优势和劣势分别是什么?

最真实、不吹不黑、结合实际使用体验的 WorkBuddy 优劣势总结&#xff0c;完全基于当前版本&#xff08;2026 年&#xff09;的表现&#xff0c;方便你判断要不要长期用、怎么用更划算。 一、WorkBuddy 的核心优势 1. 真・能动手操作电脑&#xff0c;不是只聊天 这是它最大的亮…...

用 Shield CLI 本地开发调试:从零到上线你的第一个 Skill

当 AI Agent 需要调用外部能力时&#xff0c;Skill 就是它的"技能包"。本文以一个文旅素材搜索 Skill 为例&#xff0c;带你走完本地开发 → 调试 → 发布 → 安装使用的完整流程。核心工具只有一个 —— Shield CLI。 背景&#xff1a;什么是 Skill&#xff1f; Sk…...

FreakStudio泄

环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单&#xff0c;下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try:ks Ks(KS_ARCH_X86, KS_MODE_64)encoding, count ks.asm(CODE)…...

ESP32便携电子相册DIY指南:硬件选型与低功耗优化

1. 项目概述&#xff1a;ESP32便携电子相册的核心价值这个项目用ESP32芯片打造了一款可以随身携带的电子相册。相比传统相册&#xff0c;它有几个明显的优势&#xff1a;首先&#xff0c;体积小巧&#xff0c;差不多只有手机大小&#xff0c;可以轻松放进包里&#xff1b;其次&…...

FaceFusion快速部署指南:无需配置,开箱即用的AI换脸神器

FaceFusion快速部署指南&#xff1a;无需配置&#xff0c;开箱即用的AI换脸神器 想体验电影级的AI换脸特效&#xff0c;却苦于复杂的安装配置&#xff1f;今天给大家介绍一个真正的“开箱即用”神器——FaceFusion。它把那些繁琐的命令行、环境依赖、模型下载全部打包好&#…...

Shell变量与环境变量(自定义配置,灵活复用)

在Linux/Unix Shell编程与日常运维中&#xff0c;变量是贯穿始终的核心工具——它就像一个可自定义的“数据容器”&#xff0c;能存储文本、数字、路径等各类信息&#xff0c;通过灵活配置实现代码复用、环境统一&#xff0c;大幅提升操作效率与脚本可维护性。很多新手容易混淆…...