南京观海微电子---PCIe协议接口

1PCIe引脚定义

PCI Express,官方简称PCIe,是计算机总线的一个重要分支, 插槽图片如下:

图片

下表列出在边缘连接器上的PCI Express卡两侧的导线。在印刷电路板(PCB)的焊接侧为A侧,并且组件侧的B侧。PRSNT1# 和PRSNT2# 引脚必须比其余稍短,以确保热插入卡时其余管脚完全插入。WAKE# 引脚采用全电压唤醒计算机,但必须拉高从备用电源,以表明该卡是能够唤醒。 

图片

2PCIe协议层

PCIE协议中包括应用层、事务层、数据链路层和物理层。

图片

应用(Application Layer):应用层是在事务层之上的一层,它处理与连接的设备进行的高级通信。这可能包括配置设备、初始化寄存器、发送和接收控制命令等。

事务(Transaction Layer):事务层是PCIe协议的核心,它负责将上层软件请求转化为数据传输和交换。事务层处理内存读写请求、配置空间访问以及其他与连接的设备进行通信的请求。

事务层接收由应用层传来的组成TLP核心部分所需要的信息,并将数据组装成Header 和 Data(有些TLP没有DATA),计算End CRC (ECRC)。

数据链路层(Data Link Layer):数据链路层接收事务层传过来的TLP包,然后在其前面加上12bit 的Sequence ID,并根据目前所有的信息计算32bit 的CRC (LCRC),并附着在后面。

物理层(Physical Layer):主要职责是处理所有的数据物理传输,发送端数据分发到各个Lane传输(stripe),接收端把各个Lane上的数据汇总起来(De-stripe),每个Lane上加扰(Scramble,目的是让0和1分布均匀,去除信道的电磁干扰EMI)去扰(De-scramble),以及8/10或者128/130编码解码,等等。物理层接收数据链路层传过来的TLP包,然后在其前面和后面分别附加1 Byte的 Start 和 End 帧字符。

3TLP包

打包后的TLP包格式如下图所示,并且每块数据组成部分来自哪一个协议层都用不同的颜色标出。

图片

Data是事务层上层给的数据,事务层给它头上加个Header,然后尾巴上再加个CRC校验,就构成了一个TLP;这个TLP下传到数据链路层,又被数据链路层头上加了个包序列号,尾巴再加个CRC校验,构成一个DLLP;然后DLLP下传到物理层,头上加个Start,尾巴加个End符号,把这些数据分派到各个Lane上,然后每个Lane上加扰码,经8/10或128/130编码,最后通过物理传输介质传输给接收方。

接收方物理层是最先接收到这些数据的,然后执行逆操作;在数据链路层,校验序列号和LCRC;如果检查无误,剥掉序列号和LCRC,往事务层走;如果校验出错,通知对方重传;在事务层,校验ECRC,如果有错则抛弃数据,如果没错,则去掉ECRC,获得数据。

下面一张图更加详细的向大家展示了数据是如何从上到下,一层一层的打包,最终通过物理层输出。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/520990.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Uber/Google Golang编码标准深度分析

良好的代码风格对于开发优秀的产品至关重要,本文通过分析比较三部流传甚广的Golang代码风格指南,介绍了Go代码风格要点,并介绍了通过工具实现代码检查的方式。原文: Mastering Go: In-Depth Analysis of Uber and Google’s Coding Standards…

气相白炭黑外资垄断格局被打破 国内本土企业数量增加

气相白炭黑外资垄断格局被打破 国内本土企业数量增加 气相白炭黑又名气相二氧化硅,是一种无毒、无味、无嗅,无污染的非金属氧化物,主要由硅的卤化物在氢氧火焰中高温水解生成的带有表面羟基和吸附水的无定形的纳米级颗粒。气相白炭黑主要用于…

Unity 关节:铰链、弹簧、固定、物理材质:摩檫力、 特效:拖尾、

组件-物理-关节:铰链(类似门轴) 自动动作、多少力可以将其断开、 弹簧可以连接另一个刚体(拖动即可) 固定一般是等待一个断裂力,造成四分五裂的效果。 物理材质 设置摩檫力,则可以创造冰面的…

能量不等式证明

波动方程初值问题能量不等式的证明 Gronwall 不等式 若非负函数 G ( τ ) G(\tau) G(τ) 在 [ 0 , T ] [0,T] [0,T] 上连续可微, G ( 0 ) 0 G(0)0 G(0)0,且对 τ ∈ [ 0 , T ] \tau\in[0,T] τ∈[0,T]满足 d G ( τ ) d τ ≤ C G ( τ ) F ( τ …

27.基于springboot + vue实现的前后端分离-网上租赁交易系统(项目 + 论文)

项目介绍 本课题是根据用户的需要以及网络的优势建立的一个基于Spring Boot的网上租贸系统,来满足用户网络商品租赁的需求。本网上租贸系统应用Java技术,MYSQL数据库存储数据,基于Spring Boot框架开发。在网站的整个开发过程中,首…

XXE-XML实体注入漏洞

目录 1.xml基础 1.1什么是xml 1.2xml文档结构 1.3 什么是DTD 1.4 什么是实体 1.5 什么是外部实体 2.xxe漏洞 2.1xxe漏洞基本介绍 2.2xxe漏洞的危害 经典漏洞案例分析 3.xxe漏洞挖掘和利用 3.1. 识别潜在的XML入口 3.2. 检查XML处理逻辑 3.3. 构造试探Payload 常…

为什么企业CRM系统用不起来?提高使用率的有效策略揭秘

大家好,我是小编卡林,今天为大家带来的是文章是为什么企业CRM系统用不起来?CRM系统使用率低的原因有很多,其中一个共识是假如一款CRM管理系统让员工普遍认为只是领导查询自己工作的系统,那么,这个项目离失败…

LeetCode Python - 40.组合总和②

目录 题目答案运行结果 题目 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入…

直流负载原理与应用

直流负载是指能够消耗直流电能的设备或系统,在电力系统中,直流负载主要包括直流电动机、蓄电池、电解槽等。这些设备在运行过程中需要消耗大量的直流电能,因此对直流电源的稳定性和可靠性要求较高。本文将对直流负载的原理及其应用进行简要介…

如何实现class文件的反编译:java-decompiler 反编译工具

java-decompiler 反编译工具 😀 Java Decompiler 是Java反编译工具,可以对 Java 5 和更高版本的 class 文件进行反编译分析。 📝 主旨内容 Java Decompiler是一项开源工具,Java Decompiler工具不仅可以实现反编译.class文件&…

【Azure 架构师学习笔记】- Azure Private Endpoint

本文属于【Azure 架构师学习笔记】系列。 前言 公有云的其中一个特点是默认允许公网访问, 这就对企业环境带来风险,也是很多年前企业对公有云抵触的其中一个原因,现在这类问题已经很少,因为有了很多技术来确保云上的资源被安全地…

基于docker安装的Jenkins实现python执行自动化测试程序

背景 通过Jenkins实现自动化测试,在全局配置中配置好后,执行构建发生如下错误 解决办法: 在Jenkins中插件管理中下载python后,回到Jenkins容器中 查找刚下载的python所在位置 到Jenkins中全局配置中修改脚本 1.可以在环境变量中定义python所在位置 2.在一下图示中进行获取…