PCIE基本简介

PCIE基本简介_第1张图片

一:数据PCIE有两种数据传输方式

1.DMA:数据不是由CPU处理,而是由DMA来处理,所以占用极少的CPU资源。(eg:在DMA方式下,如果copy文件的同时在播放mp3音乐,则不受丝毫影响);

2.PIO:在该模式下,数据传送由CPU执行I/O端口指令来按照字节或更大的数据单位来处理,占用大量的CPU资源,数据传输速度也大大低于DMA模式。(eg:如果在PIO模式下,则会发现音乐声时断时续,这是因为大部分CPU资源被文件传输占用。)

二:PCIe的协议分层

1.PCIe中数据是以封包的形式传输的,数据在接收和发送过程中,需要通过多个层次,包括事务层、数据链路层和物理层,才能完成数据的传输。

2.在PCIe体系结构中,数据首先在设备的核心层中产生,然后再经过设备的事务层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer),最终发送出去。而接收端的数据也需要通过物理层、数据链路层和事务层,并最终到达Device Core。在Xilinx FPGA中,数据链路层和物理层是由官方提供的IP核来实现的。

3.事务层接收来自pcie设备核心层数据,并将其封装成一个或者多个TLP(Trasaction Layer Packet)后,发向层次结构下一层数据链路层之后才能通过其它层次发送出去。事务层也可以从数据链路层获取数据报文,然后转发至PCIE设备的核心层。(这里说的是发和收的两个过程)

4.TLP(Trasaction Layer Packet):

 三:XILINX PCIE_IP

1.Xilinx公司芯片内嵌的PCIE  EP模块称为LogiCORE, LogiCORE提供了PCle设备的物理层和数据链路层,并做了一些基本的与事务层相关的工作,这使得许多设计者在并不完全清楚PCle体系结构的情况下,也可以实现具有PCle总线接口的设备 。

2.FPGA 对于CPU就是EP:在PCle总线中,基于PCle总线的设备,也称为EP ( Endpoint)。

PCle设备还包括EP (如网卡、显卡等设备)

四:实践

1.他司开发的PCIe逻辑程序可以实现八个DMA上传通道,,八个DMA下传通道。

你可能感兴趣的:(fpga开发)