13.1 设计需求分析与功能定义
为了更好地分析信号采集系统的设计需求,获得正确的系统功能定义,首先来分析信号及信号采集系统的基本构成。
13.1.1 信号与信号采集系统
信号一般可以分为模拟信号和数字信号,在信号采集中常常称为模拟量和数字量。根据信号存在形式的差异,又可以将模拟信号分为直流信号、时域信号和频域信号,将数字信号分为开关信号和脉冲序列。
信号采集系统是将目标信号进行采集、处理并存储,形成计算机可以处理的数据格式,并最终进行各种形式输出的系统。典型的信号采集系统主要包含3个部分,即信号输入单元、信号处理单元和信号输出单元。
如图13.1所示为典型的信号采集系统的框图。
1.信号输入单元
信号输入单元是接收信号源并将信号进行初步处理,形成数字信号的单元。对于模拟信号,一般需要进行信号调理及A/D转换。对于数字信号,一般进行数据宽度、时钟域变换等处理。
2.信号处理单元
信号处理单元是将信号输入单元输出的数字信号进行一系列处理的单元。一般使用CPLD/FPGA、DSP或者ASIC等单元进行信号处理。根据信号形式的不同,信号处理需要完成的工作也大不相同。
图13.1 典型信号采集系统框图
3.信号输出单元
信号输出单元是将信号处理单元处理后的信号通过各种接口输出。一般可以通过USB、网络、ISA或者PCI总线等接口输出处理后的信号。
4.其他单元
此外,为了满足系统稳定运行,一个信号采集系统往往还包含数据缓冲区、时钟以及电源等相关的系统。
13.1.2 设计需求分析
更快、更准确地获取及处理尽量多的数据是信号采集系统一直追求的目标。随着传感器技术和信号处理技术的发展,高速传输和实时处理成为信号采集系统面临的新课题,也对典型信号采集系统的3个组成部分提出了更高的要求。
1.信号采集系统面临的新课题
高速传输主要影响的是信号输入和输出单元。对于数字信号,就是更高的输入频率和更多的输入通道数,对于模拟信号来说则意味着更高的分辨率,更高的采样频率以及更高的精度。同时高速传输还要求信号采集系统具有持续的以及突发的数据输出能力。
实时处理主要影响的是信号处理单元。它要求信号采集系统能够具备一定的数字信号快速处理能力,以便实时地为不同的输出接口提供合适的数据格式。由于实时处理是信号采集过程的一个中间环节,因此实时处理的延迟不能造成信号采集的中断,这也对信号处理单元提出了更高的要求。
2.本系统设计需求分析
在本案例中,信号采集系统需要采集的信号是数字信号。在高速信号传输中数字信号又常常以差分的形式存在,如LVDS。因此,本案例信号采集系统的信号输入单元应能够支持单端的LVTTL电平信号以及差分的LVDS信号。
随着PC机性能的不断提高,原来许多需要服务器甚至工作站才能完成的工作现在只需要一台简单的PC机就能够很快实现。因此,基于PC机的信号采集系统是本案例的另一个需求,也就是说信号采集系统的信号输出单元是基于PC机的。
另外,针对不同的应用场合,面对不同的信号形式,更多的用户希望信号采集系统变成更加通用的系统,而不只是针对某种信号的专用采集系统。因此,具备二次开发即可编程能力的信号处理单元同样是本信号采集系统的一个需求。
13.1.3 选型及功能定义
本案例选择基于FPGA、PCI总线及LVDS接口的设计,能够满足高速采集及实时处理的要求。
1.信号处理单元选型
首先,选用Altera Cyclone系列FPGA综合考虑了逻辑、存储器、锁相环(PLL)和高级I/O接口,是价格敏感应用的最佳选择。
在本案例中选用的Cyclone EP1C6Q240是Cyclone系列FPGA的中级产品。具有5980个逻辑单元,内嵌20个M4K RAM块(128*36bit),具有2个PLL,最大支持185个用户I/O管脚资源。
2.信号输入输出单元选型
其次,PCI总线是满足工业标准的应用最为广泛的扩展标准之一。它是一种具有多路地址线和数据线的高性能的32/64位总线,是PC机中必备的总线结构。
PLX Tech公司提供的PCI9054器件是一种支持32bit/33MHz PCI总线桥芯片。它符合PCI本地总线规范2.2版,突发传输速率达到132MB/s,本地总线支持复用/非复用的32位地址/数据,支持主模式、从模式以及DMA传输方式。
同时,为了实现信号采集系统对LVDS信号的支持,选用DS90LV048/ DS90LV047作为LVDS信号接收/驱动器。它们均具有4路LVDS差分接收/驱动功能,支持高达400Mbit/s(200MHz)的转换速率。通过它们可以实现LVDS信号与FPGA支持的CMOS/LVTTL信号进行转换。
3.其他单元选型
另外,为了满足PCI总线的DMA传输特性,需要在信号采集系统中加入一定量的缓冲区。采集的信号速率越高,需要的缓冲区容量越大,以保证不丢失数据。在本案例中,选用了Micron公司提供的MT48LC2M32 SDRAM作为缓冲区。它是一款64Mb(512K*32*4banks) 全同步SDRAM。
至此,一个基于PCI总线,支持高速LVDS/LVTTL信号采集,具有实时处理能力,可现场编程的信号采集系统完成选型。