PCI_MT64的工作原理丨在CPCI总线数据采集卡的应用设计
随着CompactPCI在中国大范围的普及和使用,越来越多的企业开始研制基于CompactPCI接口的产品,市场上有一些专用PCI接口芯片。FPGA(现场可编程门阵列)技术的快速发展使得万门以上乃至几十万门逻辑阵列的使用越来越普遍。与专用PCI接口芯片相似,很多FPGA制造商都提供了PCI接口核逻辑。设计者可以将PCI用户逻辑与PCI Core集成在一片FPGA里,并且可以在顶层通过仿真来验证PCI接口以及用户逻辑设计的正确与否,这样可以大幅度提高调试速度、缩短开发周期、提高电路板的集成度和系统的性能。目前,开发者最常用的两种PCI IP核是ALTERA公司的PCI MEGACORE和XILINX公司的PCI Logicore。本文所介绍的PCI_MT64 IP核是ALTERA公司开发的一个功能强大的CPCI接口内核,最高能实现64位的数据宽度和66MHz的工作频率。 PCI_MT64 IP核的原理和结构 根据用户性质的不同,CPCI接口类型分为两种:MASTER(主设备) 和TARGET(从设备)。ALTERA公司据此开发了多种 PCI IP核:PCI_MT64、PCI_MT32、PCI_T64和PCI_T32。由于设计需要完成66MHz、64位宽度数据传输,且在主模式下DMA控制器才能工作,因此选择了PCI_MT64。 PCI_MT64是支持33/66MHz工作频率、64位PCI总线、支持主/从模式的PCI IP功能模块。当其宽度为64位、系统时钟为66 MHz时,峰值传输速率为528 MB/s。其主要由8个模块组成,如图1所示。
图1 PCI_MT64的模块结构 参数配置寄存器:提供参数确定的寄存器,包括设备识别、供应商识别、分类代码、修订版本、基址寄存器和子系统供应商等信息。在设计中,ALTERA公司提供了参数化的图形界面,用户只需按PCI协议输入或选择合理的值即可完成该寄存器的配置。 PCI侧地址/数据缓冲模块:用来缓存PCI总线侧的地址数据输入、输出信号。 PCI侧主/从模式控制模块:用于控制PCI总线的主设备和从设备的各种时序操作。 Local侧主/从模式控制模块:用于控制PCI_MT64与本地逻辑的各种操作。 Local侧地址/数据/命令/字节使能模块:接收和输出用户侧的所有地址、数据、命令、字节使能等信号。 奇偶校验模块:用于对数据、地址、命令进行奇偶校验。 PCI_MT64 IP核在CPCI数据采集卡中的应用设计 PCI_MT64 IP核在CPCI数据采集卡中的功能:与CPCI总线之间的通信和数据传输,并做奇偶校验以保证正确性,即将复杂的CPCI总线信号转换为相对简单易操作的CPCI本地总线信号,它从CPCI总线侧获得传输命令和读写数据的地址后,一方面对这个操作命令做出反应,将其传达给本地逻辑,另一方面将CPCI总线传送过来的数据地址映射为本地逻辑可识别的地址。当本地端总线准备好后,PCI IP核会收到本地逻辑做出的响应信号,然后根据主从模式,读/写命令的不同执行相应的时序。简单的说,它是CPCI总线和本地逻辑的桥梁,所以首先要设计CPCI本地侧逻辑实现PCI IP核功能验证,如图2所示。
图2 CPCI本地端逻辑设计 以上设计能快速评估PCI IP核的功能,当PCI_MT64作为一个主设备,主模式控制逻辑连接DMA控制器来完成一次PCI主模式读写传输。当PCI_MT64作为一个从设备,它触发从模式控制逻辑来执行一次从模式传输。CPCI数据采集卡使用DMA方式上传数据,即将数据采集模块的数据处理后,缓存到FIFO,从FIFO中传输数据到上位机;使用从模式写传输发送控制命令到板卡不同寄存器。当进行一次从模式传输时,PCI IP核不能启动总线操作,只能依赖于主设备从其中读取数据或向其传送数据,相关设计较为简单,而DMA模式是PCI_MT64配合自主设计的DMA控制器来实现的,所以DMA控制器是整个设计的关键。
提交
新大陆自动识别精彩亮相2024华南国际工业博览会
派拓网络被Forrester评为XDR领域领导者
智能工控,存储强基 | 海康威视带来精彩主题演讲
展会|Lubeworks路博流体供料系统精彩亮相AMTS展会
中国联通首个量子通信产品“量子密信”亮相!