摘 要:提出一种基于dds和fpga技术的通用多通道pci数据采集卡的实现方案。采用dds器件输出信号经过整形分频后作为数据采集卡的采样时钟,从而实现了任意采样率的设定,同时使用fpga实现了多种可编程触发方式。
关键词:dds;数据采集;fpga;pci
在水声测量和许多其他应用领域中,待测信号的频率范围都是比较宽的。比如在水声领域,远距离水声通信、浅层剖面声纳或被动噪声测量中经常使用的频率可低到1-2khz甚至几百hz;而高分辨率成像声纳等通常使用的声信号频率为几百khz甚至1-2mhz。对于不同频率范围的信号,通常要求的采样率也不同。有时为了配合信号处理算法,甚至要求采样率可以在一定范围内随意设定,这就对数据采集卡的采样时钟发生器提出了较高要求。
通常数据采集系统中采用的采样时钟发生器结构如下图所示:
图1 采样时钟发生器的一般结构
其中m、n是两个可编程分频器,在锁相环的反馈支路中串有分频器m,因而输出采样时钟频率为时钟源频率的(m/n)倍。但是由于分频比m、n均为整数,并且锁相环工作的频率范围有限,m只能在很有限的范围内取值,因而输出采样时钟的可调范围有限,且调整步长较大。此外,锁相环的设计和调整也比较困难,成本较高。为了更好的解决这一问题,本文提出了以直接数字式频率合成(dds)器件为核心的新型采样时钟发生器结构。
1 基于dds技术的采样时钟发生器
1.1 dds技术简介
dds技术出现于二十世纪70年代,它是一种全数字频率合成技术。它将先进的数字信号处理理论与方法引入信号合成领域,实现了合成信号的频率转换速度与频率准确度之间的统一。它具有相位变换连续、频率转换速度快、频率分辨率极高、相位噪声低、易于用微机等多种方法控制以及体积小、集成度高等多种优点,因而近年来dds在理论和应用上得到了飞速的发展。
图2 dds的基本结构
dds的基本结构如图2所示。讲述dds原理的文章很多,本文就不再赘述了。
1.2 dds采样时钟发生器结构
由于dds器件具有输出频率可以精确数控,且频率转换方便、频率分辨率高的特点,因而很适合作为数据采集系统的时钟源。用dds器件构成的采样时钟发生器结构如图3所示:
图3 用dds器件构成的采样时钟发生器
由计算机或其他mcu向dds器件送出频率控制字,产生预定频率和幅度的正弦波信号。由于dds输出的正弦信号频谱纯度不很高,含有较多的高频成分,如果没有滤除这些高频成分就直接进行整形,会造成输出时钟信号出现大量尖刺,使得采样孔径抖动严重,将极大的损害采集系统的性能。因此,在dds的输出端接入了低通滤波器,经过滤波后的正弦信号经过整形电路后得到相同频率的ttl电平时钟信号。这个时钟信号经过可编程分频器(这部分的功能在后面详述)后的输出就作为整个采样和a/d变换的采样时钟。
2 数据采集卡的设计
除了上述的任意可编程采样率的要求外,水声信号测量通常要求测量系统的动态范围和分辨率较高,并且由于水声系统中常使用多个换能器组成阵列,因而测量系统的信号采集应采用多通道同时采样的结构。而目前的现有数据采集卡难以同时满足这几个要求。为此,本文在dds采样时钟发生器的基础上设计并实现了4通道高速数据采集卡。
2.1 数据采集卡的结构
采集卡的主要技术指标如下:4个单端模拟通道,4通道同时采样,每个通道采样率为100sps-8msps可任意设定,分辨率为12bit。为了实现采集数据的实时存储,采用了pci总线与主机接口。采集卡的结构如图4所示:
图4 高速通用数据采集卡结构框图
4个通道的输入模拟信号经过缓冲放大和抗混迭滤波器后分别送入4片adc中,由采样时钟发生器产生的采样时钟控制对模拟信号进行采样、保持和量化,输出的4路12bit数据复用为一路32bit数据送入fpga中缓存并打包成帧并加入帧号等信息。成帧后的数据受主机端程序控制,通过pci接口控制器经pci总线送入主存中,根据需要进行处理或存盘,从而完成数据采集过程。
2.2 元器件的选用
adc采用了模拟器件公司(adi)的ad9220子区式高速adc,分辨率为12bit,采样率最高为10msps,片内带有高速低噪声采样保持放大器和电压参考源,可以简化设计。采集卡中所有的控制和时序逻辑全部由一片fpga实现,综合考虑规模、速度、功耗等因素,选用了xilinx公司的xcs30。该器件为spartan系列fpga,成本低速度快,可用逻辑门数为30000门。采样时钟发生器中dds器件选用adi的ad9830单片dds集成电路,其最高时钟频率为50mhz,内置10bit d/a变换器,频率控制字长32bit,频率分辨率可达0.005hz,完全满足本设计的需要。pci总线控制器选用了cypress公司的cy7c09449(pci-dp),其特点是接口方式灵活,具备pci总线master能力,可以实现与主存或其他slave设备的dma传输,这