PCIE概述

PCIE概述

文章目录

  • PCIE概述
  • 前言
  • 一、应用场景
  • 二、PCIE理论
    • [2.1 硬件](#2.1 硬件)
    • [2.2 拓扑结构:处理器和设备之间的关系](#2.2 拓扑结构:处理器和设备之间的关系)
    • [2.3 速率](#2.3 速率)
    • [2.4 层次接口](#2.4 层次接口)
    • [2.5 四种请求类型](#2.5 四种请求类型)
    • [2.5.1 bar空间](#2.5.1 bar空间)
    • [2.5.2 memory](#2.5.2 memory)
    • [2.5.3 IO](#2.5.3 IO)
    • [2.5.4 configuration](#2.5.4 configuration)
    • [2.5.5 message](#2.5.5 message)

前言

参考链接:
pcie总线知识点解析

一、应用场景

PC和外设之间需要高速数据大量传输,比如AD/DA数据传输,普通的PC是没有GT接口的,那么就需要用FPGA去实现一个数据获取和传输。

PCIE适合背板(CPU和显卡都插到主板上,这个主板相当于背板。网卡显卡都是通过PCIE进行通信的)通信,即短距离通信(cm级别)。为什么不用万兆网传输,因为应用场景不同,长距离适合光纤稳定数据传输。

二、PCIE理论

2.1 硬件

母座:

公口(金手指):

下面是一个X4的PCIE原理图

2.2 拓扑结构:处理器和设备之间的关系

RC:根节点(主机,发起操作

EP : 从节点(从机,被操作

注意要清楚,FPGA是作为从机的。在立交交互的时候,需要带入理解

PCIE BRIDGE 用于链接传统的PCI总线

LEGACY ENDPOINT:基本不用了

2.3 速率

GT:是实际发送线速率,如果是2.5GT/s, 实际速率为:2.5*8/10/8 = 250MB/s

多lane传输:就是多个gt口进行传输,其中PCIE会将数据进行分发到多lane,在接受是,再汇聚

效率:

  • XDMA的效率为60%
  • RIFFA:支持第三方,效率为75-80%

2.4 层次接口

包结构:

数据链路层:

物理层:

2.5 四种请求类型

先举个例子:

2.5.1 bar空间

type0:ep节点使用(一般为FPGA)

tpye1:switch和RC节点使用

type0上面的配置都是在建立IP时设置;

操作方式:

例如:base addr0写一个基地址,这个基地址对应一个内存,如AXI_FIFO,如果RC想操作这个内存,那么RC也会在自己的空间上建立一个同样大小的空间,RC去操作这个自己建立的空间,就等同于操作AXI_FIFO。(原理就是有了这个基地址,RC通过内存映射,就可以操作到这个基地址的空间)。

2.5.2 memory

数据量大,则使用批量的操作,类似axi-full,一次操作多个地址的数据

2.5.3 IO

数据量小,则使用IO操作,类似于axi-lite的操作方式,一次操作一个地址的数据。或者可以理解为用PCIE点亮fpga中的LED灯

2.5.4 configuration

2.5.5 message

相关推荐
鬼手点金13 小时前
FPGA常用型号参考
fpga开发·verilog·vivado·xilinx·vhdl·altera·lattice
Kong_19941 天前
芯片开发学习笔记·二十九——大模型基础知识与 KV Cache 详解
fpga开发·芯片开发
m0_46644103詹湛1 天前
FPGA 定点数、小数与负数的加减乘除原理
fpga开发
zlinear数据采集卡2 天前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
zlinear数据采集卡2 天前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
FPGA小迷弟2 天前
Vivado中高速收发器GTX/GTH的配置与调试实战
fpga开发·fpga·硬件开发
minglie12 天前
简易寄存器接口SMMR---iic控制器
fpga开发
FPGA小迷弟2 天前
Vivado ILA与VIO调试工具实战指南:从入门到精通
fpga开发·fpga·硬件开发
FPGA小迷弟2 天前
FPGA状态机设计详解:从Moore到Mealy的完整指南
fpga开发·fpga
zlinear数据采集卡3 天前
D223的PWM电机控制:6路独立脉冲+加减速算法深度解析
arm开发·stm32·嵌入式硬件·算法·fpga开发·架构