3 基于IPCORE的PCIe控制接口设计
PCIe接口控制电路是本采集卡的关键模块,通过PCIe控制核完成主机与采集卡的数据交互。PCIe拥有多种组件类型,每一类型均采用了复杂的系统级折衷方案,以满足严格的设计目标。为了能加快产品研发进度,本设计采用Xilinx公司的Logicore IP for PCI Express来设计PCIe高性能互连设计接口,该IP核占用FPGA资源少、功耗低,包含有物理层、数据链路层、传输协议层和配置空间。如图3所示,层与层之间有明确的分工,相比PCI总线不分层的协议描述更加抽象,传输协议层与数据链路层负责将采集到的数据按批次组包,包在层与层之间传递时会附加对应的校验和帧信息。PCIe标准使用应答重传机制,在数据链路层包括相应的应答延迟和重传延迟定时器,这两个定时器收到串行解串模块与传输介质延迟的影响比较大,太小的重传延迟往往会造成不必要的重传,从而显著降低性能,因此在不同的采集环境下需要进行针对性的调整。设计中这两个定时器的值可以通过软件界面进行配置修改,通过驱动软件来动态修正两个定时器以达到采集传输性能的最优化。
3 基于IPCORE的PCIe控制接口设计
PCIe接口控制电路是本采集卡的关键模块,通过PCIe控制核完成主机与采集卡的数据交互。PCIe拥有多种组件类型,每一类型均采用了复杂的系统级折衷方案,以满足严格的设计目标。为了能加快产品研发进度,本设计采用Xilinx公司的Logicore IP for PCI Express来设计PCIe高性能互连设计接口,该IP核占用FPGA资源少、功耗低,包含有物理层、数据链路层、传输协议层和配置空间。如图3所示,层与层之间有明确的分工,相比PCI总线不分层的协议描述更加抽象,传输协议层与数据链路层负责将采集到的数据按批次组包,包在层与层之间传递时会附加对应的校验和帧信息。PCIe标准使用应答重传机制,在数据链路层包括相应的应答延迟和重传延迟定时器,这两个定时器收到串行解串模块与传输介质延迟的影响比较大,太小的重传延迟往往会造成不必要的重传,从而显著降低性能,因此在不同的采集环境下需要进行针对性的调整。设计中这两个定时器的值可以通过软件界面进行配置修改,通过驱动软件来动态修正两个定时器以达到采集传输性能的最优化。