pcie链路协议使用“端到端的数据传送方式”,发送端和接收端中都含有tx(发送逻辑)和rx(接收逻辑)。pcie协议采用分层结构,分为事务层、数据链路层和物理层 。pcie中2个互连的设备采用事务的方式通信,事务是指为实现设备间某种信息传送。
而定制的由一个或者若干个包组成的发送序列,事务通过事务包(tlp) 具体实现。协议每层的功能如下:
1、物理层(physicallayer):电气特性,使用两个单向的低电压差分对信号实现数据传输,同时也承担8b/10b的数据编解码,即在pcie链路上的10 bit中含有8 bit的有效数据
2、数据链路层(datalink layer):对该层传输的tlp进行组装和分拆,作为中间层为上下两层服务。
3、事务层(transactionlayer):接受从软件方送来的请求,并生成请求包传输到数据链路层。同时接受从数据链路层传来的数据包,
传递给软件,也就是对tlp进行分装和组装。
pcie协议通信框图如下:
用户逻辑与pci express事务层接口直接连接,可发送或接收事务层数据包用以实现bar(基址地址寄存器)空间访问功能和dma读写功能。计算机对板卡bar空间的memory读写即为 cpu( 计算机) 发出存储器映射地址写寄存器的命令,该命令包括了存储器映射地址字节使能和寄存器内容,pcie相应的tlp 端点 接收该tlp并将寄存器内容写到对应的本地寄存器后,事务结束。
当cpu发出存储器映射地址读寄存器的命令,该命令包括了存储器映射地址字节使能,生成相应的tlp, 端点收到该tlp后会生成响应tlp( 包含数据) 完成包传送,提取其有效载荷并赋值给指定寄存器后,事务结束。 用户逻辑设计结构如图2所示:
上图中pcie集成端点模块核可以在fpga中直接使用pcie的ip核实现,我们需要在fpga中自已实现的主要是上图中与pcie ip核相连接的部分几个模块。
Micro LED热 台厂卡位
全广东已建成5G基站超过11万座,居全国第一位
为什么中国移动3个月成立了三个研究院?
RFID读卡器的应用将助力实现智能制造生产可视化
什么机器人能像人一样有感情,还能说“悄悄话”?
关于PCIe协议中FPGA的实现
脱离华为的荣耀能否在手机市场稳占一席之地?
智能手表中有哪些传感器?
SDMMC/SDIO的PCB设计要求 以RK3588举例讲解SDMMC/SDIO的pcb布线技巧
TI bq3060锂离子电池管理方案
C++编写计算机短信发送程序
计算机系统能力提升“智能基座”2021年第四期召开
微雪电子三轴电子罗盘指南针介绍
旅行时要带多条插座充电器?不如选择这个便携式多合一发电站
植物冠层图像分析仪的简单介绍
S7-300使用单边编程方式PUT、GET指令进行通信
3D视觉引导焊接件上料,为机器人装上“眼”和“脑”
传输门有什么用?DS3690有何独特之处?
配电室智能运维方案
中美贸易争端或对格芯等美国本土代工商产生直接影响