简单的对以下的内容进行一个说明,首先对GaGe 16-Bit PCIe Gen3 RazorMax Express采集卡的每一部分的性能以及参数进行了详细的说明,并解释了不容易理解的地方,对采集卡的各个组成部分的功能进行分析,并介绍了如何去更加灵活的配置每个部分的参数,以达到自己使用的目的,其中包括:模拟前端输入、ADC时钟电路、内存、触发、多记录模式、时间戳、多卡系统、应用软件、软件开发工具包(SDK)、FPGA处理固件、衰减器的选择、宽带射频信号分析记录器。各位同学可以灵活搭积木,从而获得你想要的信号。最后介绍了配套的软件,适用于windows系统的,但是我没有用windows,用windows装了驱动程序的,可以玩一下application。
最后的图片将所有的参数以及性能和功能进行了总结,一目了然。正片开始:
1 模拟前端输入
让我们先看RazorMax的前端模拟输入。RazorMax可以支持双通道或者4通道,采样率最大可以用500MS/s和1GS/s,对于1GS/s的采样率对应于700MHz的带宽,而500MS/s的采样率对应于350MHz的带宽,每个输入通道都有DC Couping(直流耦合)和一个50Ω的输入阻抗。固定的交流耦合配置和50Ω的输入阻抗是可以选择的,当然也可以在外部使用高通滤波器,从而去实现交流耦合。如果说是一个较小的交流信号在一个大的直流信号中,直流信号可以通过交流耦合消除,从而减少输入范围,获得较好的信号保真度。
对于输入电压,工厂硬件固定是±1v或者±125mv,但是可以内部连接SMA型号的衰减器,去调整输入电压的大小。
总的来说就是这样了,讲了采样率,输入带宽,交直流耦合还有输入电压,这就是前端输入的一些参数和功能,我把一些不常见的概念解释放在了这一小节的末尾,可以供参考。
AC Coupling为交流耦合。主要通过隔直电容耦合,目的是去掉直流分量。当然,有了交流耦合,相对应的也会有直流耦合,直流耦合的目的并不像字面上面的那么通俗,直流耦合(DC Coupling)就是直流、交流一起过,并没有去掉了交流分量。
SMA衰减器。很显然,他的主要用途就是调节电路的信号大小。SMA是他连接头的形式,不限于此哈,还有BNC/N/TNC/SMC型等等。在RazorMax Express中主要是为了增加固定输入电压范围。
2 ADC时钟电路
RazorMax Express采用机载固定的主晶体振荡器作为ADC的主要内部时钟源,ADC就是模拟数字转换器。通过时钟的控制,就可以产生不同的采样率,从1 kS/s到1 GS/s,采样的精度在±1ppm,也就是频率偏差。这样偏差怎么算呢?
首先要对采样精度的单位了解,ppm就是Part Per Million,也就是每百万单位,简单的说,
再乘以中心频率,就能知道频率的偏差是多少了。
总而言之,一句话概括,精度很高,足够你耍了。有自带内部的时钟源,也可以由外部输入时钟源。可以使用与所要获取的信号同步的外部时钟,从而去增大触发的稳定性。但是使用内部时钟源的时候,内部的时钟信号怎么才能跟所需要的信号同步呢?板载锁相环电路就完成了这个功能,锁相环的特点是,利用外部输入的参考信号控制环路内部振荡信号的频率和相位。当然,RazorMax Express还支持将内部的时钟源输出时钟信号,用于其他外部设备的时钟输入。
锁相环(PPL)。锁相环路是一种反馈控制电路,简称锁相环(PLL)。锁相环的特点是:利用外部输入的参考信号控制环路内部振荡信号的频率和相位。因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。
晶体振荡器。有一些电子设备需要频率高度稳定的交流信号,但是LC振荡器的稳定性又比较差,是因为他的频率容易产生漂移,也就是产生的交流信号频率容易变化。而在振荡器采用石英晶体,可以产生高度稳定的信号,所以就有了晶体振荡器。在RazorMax Express中使用晶体振荡器去用做内部时钟源。
3 获取内存
首先,RazorMax Express有8GB的板载采集样本内存,当获取的数据到板载内存中时,内存将被所有的通道共享,且平均分配。
获取的内存可以通过数字化器的PCIe Gen3 x8接口将采集的数据流传输到主机PC内存,持续速率可达6gb /s。
4 触发
触发操作包含这几种类别:简单触发,复杂触发,窗口触发,多通道布尔ORed。
4.1 简单触发:简单触发使用来自任何输入通道的单一触发源、外部触发器或带有软件控制的触发水平和触发斜率(正或负)的软件。每当所选触发源信号跨越具有设置触发斜率的设置触发电平时,将生成一个数字触发器来启动采集。
为了避免噪声触发,RazorMax Express的触发灵敏度值为触发器源全量程输入范围(FSIR)的±5%。这个值指定了触发信号必须通过触发级别以引起触发事件的最小摆动量。
还可以指定一个可选的Trigger Timeout值,以确定在驱动程序强制触发事件发生之前,数字化器等待触发事件的时间。
4.2 复杂触发:复杂触发使用多个触发引擎及其配置。每个逻辑触发信号的触发配置需要三个规格:信号的来源、输入信号的触发级别和输入信号的触发条件。每个逻辑触发引擎的输出都是布尔值,从而可以一起创建整体的触发。每个输入通道有两个触发器引擎,外加一个用于外部触发器输入的触发器引擎。复杂触发的使用允许窗口触发和多通道布尔or触发。
4.3 窗口触发:窗口触发很简单,使用两个触发引擎,如果信号电压离开由上限和下限指定的电压范围,就会发生触发事件。通过为两个触发器引擎选择相同的输入通道作为触发器源来实现窗口触发。然后分别选择两个触发引擎的水平作为具有正斜率和负斜率的上下限。这样,如果信号电压超过上限,则第一个引擎触发,如果信号电压低于下限,则第二个引擎触发。因为两个触发器引擎的输出都是布尔值,所以任何一个引擎上的触发器都将导致全局触发器事件发生。
图2 窗口触发模式
5 多记录模式
多记录模式使用机载存储的数字化仪,以实现超快速重复波形采集。在多记录模式下,连续采集的波形被堆叠在板载存储器中,也就是板载内存,因此波形之间不需要数据传输到主机PC RAM中。此外,在多记录模式下,触发器电路的重新进行工作是在硬件中完成的,不需要软件干预。RazorMax Express具有亚微秒的重新进入工作时间,允许在MHz范围内的超快触发速率。
图3 在不同采样率下重新进入触发工作所需要的时间
对于最快的1 GS/s采样率,上图显示RazorMax可以提供350纳秒(0.35微秒)的重臂时间。与直觉相反的是,在四通道模式下重新装备实际上比在低通道模式下更好。这些测量是在时间戳激活的情况下完成的(但没有Pre-Trigger数据,这必然会增加重新装配的时间)。重装时间是严格恒定的,因为波形样本的数量会随设计而变化。灰色曲线表明,在单、双、四模式下,重装时间分别为600、400、330个样本。
预触发数据也可以在多记录模式中捕获。在多记录模式下,内存使用得到了很好的优化,因为只有少量包含感兴趣脉冲的触发前和触发后数据存储到内存中。
图4 在多记录模式下的预触发数据
6 时间戳
时间戳是一个用来确定波形触发事件到达时间的功能,在多记录模式下使用时最有用。数字化仪有一个44位的机载数字计数器。计数器的时钟源可以选择为数字化采样时钟或固定的板载时钟源。时间戳计数器的值可以在每个采集序列开始时重置为零,也可以在某个引用时间从软件重置。
在采集期间和在每个触发事件上,时间戳计数器的当前输出值被锁住,并作为当前记录的页脚存储在板载内存中。在获取之后,可以下载与每个获取记录相关联的时间戳值。当时间戳值除以已知的计数器源频率时,就得到了每个触发事件的发生时间。
7 多卡系统
多个RazorMax Express卡可以在单个系统内或跨多个系统工作,有三种可能的配置:独立、同步级联或同步拆分。
7.1 独立配置
在独立配置中,每个卡只是在系统中独立运行。
7.2 同步级联配置
在同步级联配置中,通过触发输出去级联触发信号,每个卡作为一个组一起操作。如果需要同步时钟,则可以将Clock Out类似地级联。这种模式在每个通道之间有一个小的恒定延迟,但不需要外部时钟源或射频分离器(这个级联用的不多,主要还是独立的去工作)。
7.3 同步拆分配置
在同步分割配置中,每个卡作为一个组一起工作,通过使用射频功率分配器(不是BNC Tee)和相同长度的电缆将触发信号分割到每个卡的触发输入端。如果需要同步时钟,也可以使用外部时钟输入完成此操作。这种模式需要更多的外部硬件,但提供了多卡之间最好的同时性。
8 应用软件
RazorMax Express提供了一个64位/32位的驱动程序,可以支持win10/8/7还有一些Linux的发行版本,比如红帽子,Ubuntu等,但是好像Ubuntu只有某一个版本才能安装成功驱动程序,你们可以自己试一下。
对于Linux的话,安装完成驱动之后,就能看到设备的驱动程序,c的编程接口还有c软件开发工具包的一些例子,供给大家去学习使用。
对于Windows,包括CompuScope管理器实用程序,CSTest+实用程序和GaGeScope精简版应用程序: CompuScope Manager实用程序用于启用和验证数字化器的某些硬件配置,并提供有关资源使用情况、诊断、eXpert特性以及硬件/软件/固件版本信息的详细信息。
图5 CompuScope管理器实用程序
CSTest+ Utility是一个简单的应用程序,用于进行基本的信号捕获和验证数字化仪卡的基本正确操作。
图6 CSTest+ Utility程序界面
包含了更先进的应用程序,GaGeScope Lite Edition是一个面向PC示波器的解决方案应用程序,允许用户快速和轻松地控制数字化,而不必编写一行代码。数据可以通过一个使用的基于windows的用户界面显示、分析、打印和保存。
图7 GaGeScope Lite Edition
对标准版或专业版GaGeScope的可选升级提供了对更高级特性和功能的访问。可以用DsScope和DsScopeView应用程序,使GUI驱动的实时流无间隙记录高速PC存储系统。这两个都可以用,有了这些应用程序,用户可以以高达6gb /s的速率记录数据(同时监控),然后播放记录的数据文件,包括FFT,谱图和平均分析。
图8 DsScopeView应用程序,可以实时记录数据和监控数据
9 软件开发工具包(SDK)
GaGe提供了很多例子,用c、c#、matlab等编程,这是一个很好的起点,弄懂这些例子中的代码,你就可以根据你自己的需求去改进,从而达到你的目的。
10 FPGA处理固件
默认的RazorMax Express配置可以存储原始波形数据,并将其快速传输给用户进行分析、显示和/或存储。
FPGA处理固件可以选择的一些功能,允许在FPGA内的数字化器硬件本身上执行一些信号处理分析。
使用eXpert固件选项处理波形数据有三个主要优点。首先,数据可以以全采样速率处理,其中数据速率可能超过通过PCIe总线流到其他目标处理设备所能维持的速率。其次,数字化仪硬件对数据的处理减少了上位机的数据处理负荷。第三,板载处理可以提供数据减少,减少主机总线上的数据传输流量,并允许更高的原始数据采集速率。
eXpert FPGA特性包从板载闪存模块加载,并被设计成对Windows/Linux的标准数字化驱动程序透明。但这个是要钱的,而且每次只用使用一个特性,如果你很有钱,GaGe可以根据你的需求去实现你的目的。目前可用于RazorMax Express的eXpert FPGA功能包括:
10.1 PCIe数据流
允许数据流模式的采集数据直接通过PCIe接口到主机PC RAM和目标主机的CPU或专用处理卡进行分析和/或高速存储系统的实时信号记录.
10.2 信号平均
允许在噪声环境中检测非常小的重复信号。使用快速信号平均,可以从高振幅噪声背景中提取小信号,这些噪声甚至可能比实际信号本身更大。
10.3 光学相干层析成像(OCT)
通过将干涉仪信号与返回的光信号同时数字化,支持可变速率k时钟或非激活外部时钟,用于OCT应用。
10.4 快速傅里叶变换(FFT)
直接在数字化仪上执行8192点FFT计算分析,并在单个PCIe传输中将多个傅立叶频谱传输到主机PC。
11 衰减器的选择
可选的SMA衰减器可以有效地在RazorMax Express单一固定输入电压范围内提供更高的输入电压选择。
图9 SMA衰减器
下表列出了可用的内联衰减器,其衰减dB,缩放因子和有效输入范围,当应用于单个固定的低±125毫伏输入范围RazorMax Express型号时的结果。
表1 内联SMA衰减器
12 宽带射频信号分析记录器
RazorMax Express可与宽带下转换器和PC解决方案相结合,成为宽带、多通道、射频/微波信号分析和记录系统的核心,可覆盖高达27 GHz的信号频率,160 MHz的带宽。
GaGe宽带接收器功能高达3个软件可选择的中频带宽,从10兆赫到160兆赫。射频信号调谐覆盖50 MHz至27 GHz,提供无与伦比的实时信号记录和分析能力,非常适合与RazorMax数字化仪的16位分辨率和500 MS/s采样率一起使用。
4通道RazorMax Express型号可以支持2个接收器在基带模式(IQ输出)或4个接收器在超频模式(IF输出)。兆赫兹参考输入和输出在数字化和接收器上提供一个单一频率参考同步系统性能。频谱分析仪软件SpectraScopeRT不需要编程,并允许控制接收器中心频率,带宽和信号记录。
图10 频谱分析仪软件
spectrascoopert具有实时FFT功率谱(具有峰值保持和持久)、谱图、直方图和时域显示,同时记录和记录回放。SpectraScopeRT还支持双接收器,双带宽操作,实时显示和无间隙记录。这允许2个下转换器馈送数字化器显示和记录并行并排的带宽,有效地翻倍可用带宽,高达320兆赫兹。数字化和接收器通过Mathworks MATLAB提供了完全控制和数据采集支持,并提供了示例程序,以促进快速信号处理和调制分析程序的开发。为C和c#和LabVIEW提供了额外的sdk和示例程序。
图11 27GHz宽带信号分析系统
补充一下:
1、垂直分辨率代表示波器将输入电压转换为数字值的精确程度。精度越高,波形的精度就越好。
2、看到一个关于data streaming的通俗解释:数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据。不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。 (ps:这个解释应该对于内存管理的,不知道在这里适用不)。
下面是一些性能参数(也可以说是性能总结):
That's all.