基于PXI总线的数据传输接口设计与实现方案
本文采用PLX公司生产的PCI9054接口芯片以及符合PXI总线电气化特性的物理连接器来实现PXI总线协议。使用PCI9054提供的DMA传输方式,并由其Local端配置和启动DMA传输来完成数字频谱数据的传输,达到用PXI总线实现数字频谱分析仪与工控机的高速数据传输的目的。
0 引言
随着无线通信业务的飞速发展,频谱资源显得越来越缺乏,而实际中像广播电视等频段的频谱利用率却并不高,提高频谱的利用率成为一种共识。认知无线电是一种按伺机方式充分利用频谱的共享频谱技术,因此可以用来提高频谱利用率。快速准确的数字频谱分析对认知无线电的频谱感知有非常重要的影响。在认知无线电系统中,数字频谱分析仪与下一级的处理模块的数据传输速率是制约认知无线电系统处理速度的一个瓶颈,因此需要选择一种高速稳定的数据传输接口技术。
本文利用PXI总线技术来实现数字频谱分析仪与下一级处理模块的数据传输接口。PXI是CompactPCI extend for Instrumentation的简称,即面向仪器系统的PCI扩展,由NI(美国国家仪器公司)于1997年10月率先推出。它将CompactPCI规范定义的PCI总线技术发展为适合于工业控制、测量、数据采集和试验应用的电气、机械和软件规范,从而形成了新的虚拟仪器体系结构。PXI总线是一种高性能的32/64位地址数据复用总线,支持突发传输,是一种坚固的基于PC的测量和自动化平台,它的数据传输速率的峰值于33MHz、32bit的总线上可达132MB/s;于66MHz、64bit的总线上则可高达528MB/s,远高于GPIB(General-Purpose Interface Bus,通用接口总线)与VXI(VME bus eXtension for Instrumentation,面向仪器系统的VME总线的扩展)接口的传输速率。基于PCI总线发展而来的PXI系统具有较好兼容性、存取延时小、成本低等优点。PXI总线数据传输接口以其高传输速率和稳定可靠的传输性能得到了越来越广泛的应用。
PXI总线协议比较复杂,工程应用中一般采用两种方式,一是采用FPGA(FieldProgrammable Gata Array,现场可编程门阵列)来设计控制接口,缺点是控制接口难度较大、开发周期长、成本大;二是采用接口芯片,将复杂的PXI总线接口转换为相对简单的用户接口,用户只要设计转换后的总线接口。本文采用PXI总线专用接口芯片PCI9054来实现PXI总线的数据传输。
1 PCI9054接口芯片
PCI9054是PLX公司提供的一款PCI专用接口芯片,它兼容PCI V2.2的协议规范。其内部结构图如图1所示。由图可知,PCI9054实现的是PCI Bus端和Local Bus端的信号转换,使得Local Bus端不需要进行复杂的PCI协议逻辑的设计,只需要进行简单的数据传输逻辑的设计就能实现符合PCI协议规范的信号生成。
图1 PCI9054内部结构示意图
PCI9054内部状态机给用户提供了三种传输方式:PCI Initiator传输方式、PCI Target传输方式以及PCI DMA传输方式。PCI Initiator传输方式下,PCI9054成为PCI Bus端的主机,同时是Local Bus端的从机,由Local Bus端主动发起数据传输,PCI9054被动后再主动向PCI Bus发起传输。PCI Target传输方式下PCI9054的角色刚好与PCI Initiator方式相反,成为PCI Bus端的从机以及Local Bus端的主机。而在PCI DMA方式下PCI9054同时是PCI Bus端和Local Bus端的主机。在PCI9054内部分别提供了这三种传输方式下的内部寄存器,方便设计者来对每一种传输方式进行配置。
PCI9054的本地端支持可编程的特点,通过两个模式选择管脚MODE[1:0]来设置LocalBus端分别工作在C模式、J模式、M模式。这样可以使得PCI9054的Local Bus可以挂载不同类型的其他设备。
PCI9054提供了两个独立的可编程DMA(Direct Memory Access,直接存储器存取)控制器;每个通道均支持块和分散/集中的DMA方式;在PCI总线端支持32位的数据位宽,时钟速率达到33MHz;本地端可以编程实现8、16或32位的数据宽度;传输速率最高可达132MB/s;本地总线端时钟最高可达50MHz支持复用/非复用的32位地址数据。
2 接口电路设计
PXI总线接口电路的设计主要是对PCI9054芯片的外围电路进行设计,主要包括四个部分:电源方案的设计、时钟方案的设计、EEPROM电路的设计,Local端的连线方案设计。
PCI9054芯片的正常工作电压是3.3V,而在上位机的PXI接口中,提供了三种电压,3.3V、5V和12V,因此PCI9054的供电完全可以由上位机来提供。设计中,可以增加一个外部电压的接入接口,方便开发过程中的调试。
PCI9054芯片需要两个工作时钟,一个是PCI Bus端的工作时钟,一个是Local Bus端的工作时钟,这两个工作时钟是独立的,均需要外部逻辑输入。PCI Bus端的工作时钟由上位机的P
- LVDS技术及其在多信道高速数据传输中的应用(01-15)
- 基于USB2.0的高速数据通信接口设计(04-06)
- 解析移动IPv6数据传输及存在的主要问题(05-14)
- 将USB3.0用于存储媒体应用(01-01)
- 利用TCP/IP选项优化数据传输(01-20)
- 基于GPRS技术的城市管网监测系统的研究(02-27)