文献标识码:B
文章编号: 0258-7998(2012)11-0087-04
A/D数据采集是数字信号处理中的重要环节,针对不同任务,数据采集要达到的技术指标也不同。对于瞬态信号、雷达信号和图像信号的数据采集一般都要求速度在2 MB/s~80 MB/s之间。目前流行的数据采集卡一部分是基于ISA总线的,但其最大缺点是传输速率低,不能实现实时传输;另一部分是基于PCI/CPCI总线,其优点在于能够实现设备间的快速访问,而且33 MHz/32 bit的PCI/CPCI总线可以实现132 MB/s的数据传输率。但是PCI/CPCI总线没有同步机制,不能很好地满足需要多个设备同步工作的特定场合。
面向仪器系统的PCI扩展PXI(PCI eXtensions for Instrumentation)[1]是一种全新的开放性、模块化仪器总线规范。PXI结合了PCI的电气总线特性与Compact PCI的坚固性、模块化及机械封装特性,通过增加用于多板同步的触发总线和参考时钟、用于进行精确定时的星形触发总线以及用于相邻模块间高速通信的局部总线来满足试验和测量用户的要求,适合于试验和测量、自动化系统和数据采集领域。
本数据采集模块的设计思想是利用已有的同类ISA插卡,将ISA插卡移植到CPCI总线上,作为PXI测试系统的一个功能模块,响应零槽控制器发出的触发信号。
1PXI总线规范介绍
PXI总线是一种由美国国家仪器公司发布的坚固的基于PC的测量和自动化总线。它是以PCI(Peripheral Component Interconnect)及Compact PCI为基础再加上一些PXI特有的信号组合而成的一个总线架构。PXI继承了PCI的电气信号,使得PXI拥有如PCI Bus的极高数据传输能力,因此具有高达132 MB/s~528 MB/s的传输性能,在软件上是完全兼容的。另一方面,PXI采用与Compact PCI一样的机械外型结构,因此同样具有高密度、坚固外壳及高性能连接器的特性。
PXI总线通过增加专门的系统参考时钟、触发总线、星形触发和模块间的局部总线来满足高精度定时、同步和数据通信要求。PXI不仅在保持PCI总线所有优点的前提下增加了这些仪器特性,而且可以比台式PCI计算机多提供3个仪器插槽,使单个PXI总线机箱的仪器模块插槽总数达到7个。
PXI主要电气特性如下:
(1) 10 MHz参考时钟
PXI规范定义了一个低歪斜的10 MHz参考时钟。该参考时钟位于背板上,并且分布至每一个外设槽,其特色是由时钟源开始至每一槽的布线长度都是等长的,因此每一外设槽所接受的时钟都是相同相位的,这对多个仪器模块的同步来说是一个很方便的时钟源。
(2) 局部总线
PXI局部总线是菊花链总线,它连接每个外围插槽及其相邻槽。某个槽的右侧局部总线连接其相邻槽的左侧局部总线,以此类推。每个本地总线宽度为13 bit,可用于在模块之间传输模拟信号或提供高速边带通信路径,并不会影响PXI的带宽。局部总线信号的分布范围包括从高速TTL信号到42 V的模拟信号。
(3) 星形触发
PXI星形触发总线为PXI系统用户提供了超高性能的同步功能。星形触发总线在第一个外围插槽(系统插槽的相邻槽)和其他外围插槽之间实现一个专用触发总线,用户可在第一个插槽安装一个可选的星形触发控制器,为其他外围模块提供非常精确的触发信号。
(4) 触发总线
PXI规定了8条灵活的公共触发总线,在背板上从系统槽连接到其余的外设槽,为所有插在PXI背板上的仪器模块提供了一个共享的沟通管道。这个8 bit宽度的总线可以让多个仪器模块之间传送时钟信号、触发信号以及实现特定的传送协议。
2 PXI A/D数据采集模块功能及电路设计
2.1 PXI A/D数据采集模块
本文中的A/D数据采集模块是基于PXI测试系统、应用于地面单元测试的数据采集系统,其主要技术指标包括:数据采集分辨率为12 bit;A/D转换器采样率为100 kHz;具有8路模拟量输入;通过CPCI总线高速传输数据;触发控制功能由CPLD完成,能够响应PXI总线触发信号。PXI A/D数据采集模块结构图如图1所示。
该数据采集模块主要由三部分构成:A/D采集电路、ISA/CPCI总线转换电路和仪器总线控制电路。
A/D采集电路主要用于完成模拟信号的采集及其到数字信号的转换。
ISA/CPCI总线转换电路的作用是通过一个PCI桥设备将A/D采集电路中的ISA总线和背板的CPCI总线相连,使采集到的数据可以在CPCI总线上得到高速传输。
仪器总线控制电路主要功能:(1)响应触发信号;(2)控制A/D采集电路通道;(3)产生PXI I/O模块控制信号。
2.2 PXI A/D板总线接口电路
2.2.1 PCI桥设备PCI9052
PLX公司生产的PCI9052[2]是一种功能强、使用灵活的PCI总线控制器专用芯片,该芯片符合PCI局部总线规范,可作为PCI总线目标设备(从设备),实现基本的传送要求,且PCI9052的峰值传送速率高达132 MB/s。
通过对PCI桥设备寄存器的设定,可将PCI9052设定为ISA接口模式。在此情形下,通过8 bit或16 bit内存和I/O映射,可使ISA总线直接与CPCI总线相连。
2.2.2 PCI9052的ISA接口模式
PCI9052在ISA模式下的信号连接如图2所示。
ISA端连接如下:由于PXI A/D模块中只涉及对I/O的操作,且为16 bit宽的数据,因此,MEMWR#、MEMRD#、SBHE#和BALE信号可以不用。LAD[15:0]是16 bit的数据总线。LA[23:2]和ISAA[1:0]共同组成ISA的地址总线,对于16 bit数据线,每次读写2 B,这时ISAA[0]不用,ISAA[1]和LA[23:2]一起进行地址译码。需要注意的是,并不是所有的地址线都要进行地址译码,必须根据板卡上实际I/O端口空间的大小选择译码地址线的数目。
IORD#和IOWR#是ISA总线端的读写信号。LCLK是ISA端时钟信号,按芯片要求外接8 MHz的时钟。LRESET#是PCI9052芯片上电时PCI端复位后所发出的对ISA端进行复位的信号,在ISA模式下该信号输出高有效。
LINTi1和LINTi2是局部总线中断输入信号,本文中对这两个信号进行了上拉处理。NOWS#是无等待标志信号,对此引脚进行了上拉处理以减少等待时钟数。LRDY#是局部准备就绪信号,一般对它进行下拉或接地处理。CHRDY是局部通道准备好信号,一般要进行上拉处理。LHOLD是局部总线请求信号,进行下拉或接地处理。MODE是模式选择信号,由于设计中使用的是ISA非复用模式,因此该引脚接地。
在设计电路板时,严格遵循了CPCI规范。电源和地线要尽可能宽且电源滤波良好,在芯片的每个电源引脚接了0.1 μF的滤波电容。由于PCI时钟信号的一半要靠反射波来提升,因此,根据PCI规范要求,设备模块上的PCI时钟信号走线长度保证为2 500 mil(1 mil=0.025 4 mm)。
2.2.3 串行EEPROM的配置
与ISA总线相比,PCI总线支持三个物理空间:存储器地址空间、I/O地址空间和配置空间。配置空间是PCI所特有的一个空间,所有的PCI设备必须提供配置空间。PCI9052芯片的配置寄存器内容是在芯片复位时通过串行EEPROM加载。串行EEPROM存储了PCI9052的配置信息,诸如设备号DID、制造商号VID、子设备号SDID、子制造商号SVID、中断号、设备类型号、局部空间基地址、局部空间描述符、片选响应以及局部响应控制CNTRL等信号。
系统加电时,通过PCI的RST复位,PCI9052首先检测EEPROM是否存在。如果检测到EEPROM首字不是FFFFH,PCI9052将依次读取EEPROM的内容来初始化内部寄存器。PCI BIOS根据配置寄存器的内容进行系统资源分配,使整个PCI系统的资源避免冲突,从而实现PCI总线的即插即用特性。
按照A/D数据采集模块的设计要求,用于解码的ISA地址线为A[9:1],用于对A/D操作的I/O口地址范围是0x300H~0x304H,对应的ISA地址编码是0x300H~0x306H。
各控制端口地址对应的操作如表1所示。
由上可知,PCI9052的ISA端对I/O操作的基地址可设为0x300H。根据PCI9052设计规范,要访问ISA端的0x300H~0x304H I/O端口,局部总线空间1寻址范围必须设为16 B,但实际上只用到3个端口(即0x300H、0x302H、0x304H),故将ISA总线宽度设为16 bit。PCI9052局部地址空间1的各寄存器的初始值如表2所示。
在ISA模式下,串行EEPROM是不能忽略的,且局部空间1必须映射为I/O空间,局部空间0必须映射为内存空间,本数据采集模块只用到了I/O空间。根据规范,没有用到的局部空间相应的寄存器可以全部设置为零。此外,在ISA模式下虽然不存在片选信号,但必须设置它为一个合适的值,使它的值与局部空间1的基地址和范围相匹配;否则,局部地址空间无法响应PCI的控制指令。
根据PCI9052设计规范,配置芯片必须能连续读写,否则系统无法正常工作。本模块采用的是MicroChip公司的93LC46B,具有连续读写功能,容量1 KB,按64×16 bit配置。
2.3 A/D采集电路
A/D采集电路由模拟多路转换器、精密放大器、A/D转换器及驱动电路等部分构成, 其工作结构流程图如图3所示。
模拟多路转换器将采集到的一路模拟信号经放大器放大后,通过A/D变换器转换为数字信号传输给驱动电路。可编程逻辑器(GAL)主要提供一个转换控制信号给A/D转换器。
A/D转换器是A/D采集电路的关键器件,本设计采用美国ADI公司的高性能12位A/D转换芯片AD1674[3]。该芯片内部自带采样保持器(SHA)、10 V基准电压源、时钟源以及可与微处理器总线直接接口的暂存/三态输出缓冲器,12 bit的采样分辨率,采样频率为100 kHz,有全控模式和单一工作模式两种操作模式,支持四种单极或双极电压输入(±5 V、±10 V、0~10 V和0~20 V)。本模块设计采用单一工作模式,单极性电压输入。
2.4 CPLD触发控制电路
2.4.1 CPLD内部逻辑设计
CPLD的主要功能包括:响应由零槽控制器发出的PXI触发信号;产生使能信号,控制数据采集电路通道的开启与闭合;产生I/O板控制信号,并将控制信号传送给I/O板。其内部实现的逻辑电路结构如图4所示。
在零槽控制器上通过软件向触发总线写入触发信号,CPLD响应触发信号后,将输出一使能信号给通道锁存器,从而控制数据采集电路通道的开启与闭合。
当响应触发信号时,通道锁存器锁存通道号,并将通道号传送给多路开关,采集部分从相应通道采集模拟数据;当响应停止触发信号时,通道锁存器将不被使能,多路开关输出处于高阻态,采集部分停止工作。
2.4.2 功能仿真
数据采集模块上的PXI控制器功能仿真波形如图5所示。
从图5中可以看出,当响应触发时,CPLD产生一个低电平有效的CS信号,用于控制多路开关;当模块被触发后,在对A/D采集、转换后的数据进行预处理时,如果出现预设事件发生的情况,例如电压增大超过上限值,CPLD产生相应的控制信号放到局部总线上,供I/O模块使用,以产生控制外部设备(如继电器等)的信号。
该数据采集模块现已通过调试和工程应用,各部分工作正常,可保证以一定的精度采集数据,并将数据放到CPCI总线上,能够响应零槽控制器发出的触发信号,控制多通道采集电路,并与I/O板配合工作。
参考文献
[1] PXI Specification PCI eXtensions for Instrumentation. Revision 2.0 2000.
[2] PLX Technology. PCI 9052 Data Book Version 2.0.
[3] Analog Devices. AD1674 Data Book.