新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > PCI IP核在CPCI总线数据采集卡的应用设计

PCI IP核在CPCI总线数据采集卡的应用设计

作者: 时间:2016-12-15 来源:网络 收藏


DMA控制器由DMA寄存器和DMA状态机两个模块构成。DMA寄存器是主机控制DMA的窗口,包括控制状态寄存器、地址寄存器、字节寄存器、中断状态寄存器和本地地址寄存器。DMA寄存器的地址直接映射到PCI的地址空间,其基地址对应PCI IP核中的配置寄存器Bar0。主机通过设置在存储器地址空间的DMA寄存器来控制DMA传输。DMA状态机是控制主模式写传输的核心,产生主模式传输需求的各种信号。状态跳转条件来自DMA寄存器,IP核以及DMA FIFO。状态机流程图如图3所示。

图3 DMA状态机

以链式DMA传输为例介绍其流程:主机首先把多组字节寄存器和地址寄存器的值写入描述符FIFO,每一组字节寄存器和地址寄存器就是一个描述符;主机再写本地地址寄存器和控制状态寄存器即启动了DMA状态机,开始链式的数据传输。状态机跳入装载DMA状态,通过对DMA FIFO的读取将需要的值写入寄存器中,经寄存器有效状态进入等待请求状态。当外部FIFO数据准备好,DMA状态机向主机发送总线请求信号,并等待主机的总线允许信号,此时状态机进入等待允许状态;一旦接收到主机的总线允许信号,整个DMA传输开始,状态机也进入数据传输状态。在数据传输周期中,字节寄存器的值逐渐减少直到零时,一个描述符传输完成,每一个描述符传输完成的时候,状态机并不进入结束状态,而是直接进入空闲状态,开始下一次描述符的传输,所以不产生中断。等到DMA FIFO为空的时候,状态机认为本次链式DMA传输完成,进入到结束状态,此时产生中断,一次链式DMA传输结束。

实验调试及分析

PCI_MT64 IP核在CPCI数据采集卡中的应用主要是完成数据的高速传输,包括从模式写传输方式的数据下传(控制命令)和DMA方式的数据上传(采集卡数据)。在QuartusII9.0环境下,运用Megacore PCI Complier对PCI_MT64进行设置,并对CPCI本地端逻辑进行了综合编译,生成网表文件,运用Testbench工具对从模式写传输方式进行仿真,验证了PCI_MT64 IP核的稳定性。其时序仿真如图4所示。

图4 从模式单周期写仿真时序

图4中是一个对地址为8000H的MEM域空间的单周期写操作,在第3个时钟周期,FRAME#低电平有效,此时pci_ad的值是8000H,pci_cben的值是0111B,表示存储器写,在TRDY#和IRDY#同时有效的时候,数据由pci_ad传给l_dato,这里写入的数据是66666666H。由仿真图可以看到,pci_ad和l_dato的数据是一样的,所以从模式单周期写传输正确。单周期读写适合少量数据传输,不同寄存器控制命令的发送及DMA寄存器的设置都是通过从模式下单周期读写实现的。

为测试PCI_MT64 IP核的本地端逻辑设计,调用基于Windriver编写的驱动程序和用户界面实现数据的传输。这样,既验证了CPCI数据采集卡硬件逻辑的正确性,又验证了软件的正确性。其测试结果如图5所示。


图5 应用软件测试界面

图5中数据采样率为500MHz,输入信号频率为16MHz,一个周期的采样点数N=500/16=31.25,故250个点内应有250/31.25=8个周期的数据。采样数据的幅值以十六进制格式在列表框中显示。波形显示了有限数据的连续传输,没有任何数据丢失,验证了基于PCI_MT64 IP核在数据采集卡中采用DMA方式传输数据的完整性及传输速度。

结束语

PCI_MT64 IP核能有效的满足CPCI数据采集卡对数据高速传输的要求,实现CPCI接口功能,并能与用户逻辑配合工作,实现数据的缓存和传输。相较于使用PCI专用芯片实现接口功能的方法,本设计具有电路板集成性能高、功耗低、成本低、方便移植等优点。

上一页 1 2 下一页

评论


技术专区

关闭