运用​示波器​和​用户​可​定义​的 FPGA 提高​测量​质量​与​速度

示波器​的​需求​急速​成长,​同时​新的​研究​和​测试​应用​也​需要​更多、​更​快、​更​复杂​的​讯号。 这​会​需要​更​具​智能​功能​的​测试​设备,​才能​准确​侦测​特定​的​讯号​状况​并​避免​空​滞​时间、​在​采集​期间​处理​资料​以​缩短​测试​时间,​或者是​快速​产生​反馈​讯号​以​控制​待​测​装置 (DUT)。 过去​十年​来,​强大 PC 软件​和​模​块​化 I/​O 的​紧密​整合,​不仅​缩短​了​测试​时间,​同时​也​降低​了​整体​测试​成本。 软件​设计​仪器​属于​全新​的​产品​类别,​能够​把​用户​算法​扩充​至​仪器​本身,​藉此​把​这个​概念​提升到​新的​境界。 这样​一​来​即可​设计​高度​优​化​的​测量​系统,​进一步​实​时​分析​每​个​样本,​避免​耗​时​的​后​续​处理​作业。 最后​不但​能够​缩短​测试​时间,​还​可以​更​快​地​探索​科学​与​研究​应用。

内容
什么​是​「软件​设计​的​示波器」?
透过​软件​来​设计​示波器 FPGA 的​程序
示波器​搭配​用户​可​定义​的 FPGA 所​提供​的​测试​优势
示波器​搭配​用户​可​定义​的 FPGA 所​提供​的​科学​应用​优势
结论

什么​是​「软件​设计​的​示波器」?
示波器​等​仪器​通常​采用​多个​软件​层,​有些​是​用户​较​容易​存取​的​软件,​有些​则否。 PC 上​的​软件​可​控制​测试​系统​的​整体​运作,​仪器​驱动​程序​可​提供​示波器​的​通讯​功能,​嵌入​仪器​本身​的​软件​则​控制​了​数据​采集​和​提供​给​用户​的​方式。 传统​仪器​会​通过​仪器​驱动​程序​提供​固定​的​测量​功能;​模​块​化​仪器​则​运用​了​开放​式​的 PC 软件​和​现代 CPU 的​处理​性能,​可以​在 PC (而​非​仪器​内部) 执行​讯号​分析。 这样​一​来,​用户​即可​迅速​定制​针对​采集​到​的​数据​执行​数据​分析​的​方式,​以此​满足​个人​的​特殊​需求,​例如​缩短​测试​时间​或​提高​测量​分辨​率。

软件​设计​仪器​进一步​运用​这个​概念,​可供​用户​修改​或​甚至​彻底​替换​仪器 FPGA 上所​执行​的​嵌入式​软件。 因为​每​个​采集​到​的​数据​点​都可以​实​时​在​仪器 FPGA 上​完成​分析,​所以​用户​可​实现​定制​的​实​时​分析​和​复杂​的​触发,​并且​避免​空​滞​时间 (错​失​讯号)。 简而言之,​软件​设计​仪器​能够​让​用户​存取​所有​的​软件​层,​从​主机 PC 到​仪器​数据​转换​器​的​针​脚​全都​包含​在内,​进一步​实现​定制​的​修改​内容,​满足​特定​的​应用​需求。

全新 NI PXIe-5171R 示波器​是​一种​软件​设计​仪器,​配备 8 个​输入​通道、​300 MHz 模拟​带​宽、​250 MS/​s 取样​率、​14 位​分辨​率,​以及​用户​可​设定​的 Xilinx Kintex-7 FPGA。

图 1: 用户​可​定义​的 FPGA 作为​软件​设计​仪器 (PXIe-5171R 示波器) 程序​框​图​的​核心​组​件。

透过​软件​来​设计​示波器 FPGA 的​程序
LabVIEW FPGA Module 能够​把 LabVIEW 系统​设计​软件​扩充​至 NI 可​重​设 I/​O (RIO) 硬件​上​的 FPGA;​而​这类​硬件​则​包含​了 PXIe-5171R 和 PXIe-5624R 示波器、​数字​序列​仪器、​RF 向量​讯号​分析​器,​以及​在 2012 年​发表​「软件​设计​仪器」​概念的​向量​讯号​收​发​器 (VST)。

LabVIEW 本身​即​具有​平行​机制,​而且​数据​流​概念​和 FPGA 的​数据​流​也​很像,​因此​非常​适合​用​来​设计 FPGA 程序。 LabVIEW 能够​抽象​化​系统​内​不同​操作​部分​所​执行​的​处理​和​数据​迁移​作业 (例如​仪器​内的 FPGA 和 PC 内的​微处理器),​因此​工程​师​和​科学​家​不需要 Verilog 或 VHDL 之类​的 FPGA 程序​设计、​运算​架构​或​数据​串​流​等​方面​的​深入​知识,​即可​充分​发挥​软件​设计​仪器​的​性能。

LabVIEW 本身​即​具有​平行​机制,​而且​数据​流​概念​和 FPGA 的​数据​流​也​很像,​因此​非常​适合​用​来​设计 FPGA 程序。 LabVIEW 能够​抽象​化​系统​内​不同​操作​部分​所​执行​的​处理​和​数据​迁移​作业 (例如​仪器​内的 FPGA 和 PC 内的​微处理器),​因此​工程​师​和​科学​家​不需要 Verilog 或 VHDL 之类​的 FPGA 程序​设计、​运算​架构​或​数据​串​流​等​方面​的​深入​知识,​即可​充分​发挥​软件​设计​仪器​的​性能。

图 2 为​软件​设计​仪器​的​软件​架构 (目前​以​示波器​为​例)。 此​架构​包含​了​实现 FPGA 的​例​程,​可​用于​实际​采集​和​实​时​处理,​以及​主机 PC 上​对应​的​软件​模​块,​能够​和 FPGA 上​的​对应​部分​互动,​进一步​设定/​控制​测量​作业、​处理 PXI Express 总​线​的​数据​传输,​并且​呈现​数据​给​用户。

图 2: 就​软件​设计​仪器​的​架构​而言,​主 VI 会​和 FPGA 上​的​对应​部分​互动,​以此​设定​硬件​并​执行​测量。

主机 PC 的​组​件​和​仪器​驱动​程序​很​类似,​FPGA 程序​代码​则​是​和​传统​的​示波器​硬件​比较​像。 不同​于​传统​示波器,​这些​组​件​可用​来​建​置​定制​示波器 IP,​同时​也​因为​开放​式​特性,​可供​用户​根据​特定​需求​而​修改​或​扩充

示波器​搭配​用户​可​定义​的 FPGA 所​提供​的​测试​优势
测试​应用​的​终​极​目标​之一​就是​缩短​整体​的​测试​时间。 时间​通常​是​提高​大量​制造​成本​的​主要原因​之一,​弹性​和​可​重复​使用​率​对​高度​混合​或​高度​维护​测试​系统​而言​则​是​非常​重要。 下列​三​个​范​例​说明​了​示波器​搭配​用户​可​定义​的 FPGA 如何​节省​时间​和​成本。

在​线​处理​和 DUT 控制,​加快​测量​速度
许多​应用​必须​透过​通过​数字​滤波、​信道​化、​快速​傅立叶​变换 (FFT) 或​解调​等​措施​来​处理​所​采集​的​数据。 虽然​现代​的​多​核心 CPU 可​提供​无​与​伦​比​的​处理​性能​给​桌面​计算​机,​但​通常​无法​实​时​处理​多​核心​示波器​所​产生​的​数据,​所以​也没​办法​快速​执行​测量​作业。 结果​就是 CPU 会​成为​测试​速度​的​关键。 有了 FPGA 和​固有​的​平行​机制,​即可​轻松​持续​执行​复杂​的​分析​作业,​例如​实​时​并行​计算​多个​通道​的​功率​频​谱。

图 3 为​用户​可​定义​的 FPGA 如何​用于 PXIe-5171R 示波器,​只要​一次​就​能​采集​并​测量​一个 DUT (RF 切换​器) 内​多个​通道​的​串​音。 4 个​示波器​通道​会​平行​采集 DUT 所有 4 个​信道​的​输出​讯号,​计算​所有 4 个​通道​的​功率​频​谱,​并且​针对​违反​情况​执行​屏蔽​测试。

图 3: PXIe-5171R 示波器​搭配​用户​可​定义​的 FPGA,​可​执行​平行​的​频​谱​测量,​进而​缩短​测试​时间。

另​一个​在​线​处理​的​例子​就是​透过 DUT 关闭​循环。 示波器​本身​可​控制 DUT 并​缩短​测试​时间,​而​非​由​主机 PC 来​控制​测试​系统​内的 DUT 和​示波器 (这样​会​带来​通讯​时间​的​运作​成本)。 示波器​的 I/​O 通道​可​做为​分离​式 I/​O 使用,​也​可​当作 SPI 之类​的​序列​总​线,​以便​和 DUT 通讯。

图 4: 测试​高速​数字​转​模拟​转换​器 (DAC) 的​刺激​反应​系统。

透过​点对点​数据​流​技术,​示波器​即可​结合​其他​仪器,​打造​出​闭​循环​测试​系统 (图 4)。 示波器​内部​的 FPGA 会​产生​测试​讯号,​并且​传送​至​数字​序列​仪器,​以此​驱动 DAC 输入。 示波器​会​采集​频​谱,​并且​自动​比较​采集​到​的​讯号​和​预期​的​讯号 (也就是​之前​产生​的​讯号)。

透过​自​定义​触发​和​协议​解碼​缩短​测试​时间
对​许多​测量​作业​而言,​侦测​特定​的​讯号​状况​以​启动​采集​作业​是​相当​重要​的​功能。 传统​的​示波器​可以​精确​采集​一些​触发​状况 (例如​某​个​讯号​超过​临界​值),​但​因为​仪器​处理​已​采集​的​资料​而​带来​的​空​滞​时间,​所以​无法​每次​都​侦测​到​更​复杂​的​事件,​例如​脉​宽。

用户​可​设定​的 FPGA 可​做为​讯号​链​不可或缺​的​一部分,​并且​针对​用户​定义​的​状况​实​时​分析​每​个​讯号。 这样​一​来​即​可以​精确​稳定​的​方式,​侦测​简易 (准​位​和​磁​滞) 和​复杂​触发,​例如​讯号​抖动​或​脉​宽、​特定​上升​时间,​或​甚至​特定​的​讯号​形状。 图 5 的​触发​状况​运用​了​一个​讯号​封包,​以此​触发​采集​作业。 诸如​此类​的​触发​情境​可​用于​设计​和​测试​项目,​以便​侦测​单​边缘​触发​器​难以​侦测​到​的​异常​行为。

图 5: 特定​讯号​形状​引发​的​触发。 在此​范​例​中,​讯号​必须​介​于​红色​和​绿色​曲线​之间,​才能够​触发​采集​作业。

此外,​也可以​组合​多个​触发​器,​进而​侦测​复合​状况,​例如​可以​在​不同​通道​上​看到​特定​频​谱​内容​的​数字​样式,​或者是​一​连串​的​事件,​通常​称为 A-​B 触发​器。

有​个​相关​功能​就是​可​根据​序列​通讯​接口​上​的​特定​数据​字词​或​错误,​侦测​并​触发​采集​作业。 有了​用户​可​定义​的 FPGA,​即可​测试​讯号​的​完整性 (根据​规格​测试​讯号​的​模拟​波形),​同时​平行​译​码​输入​数据,​以此​验证​数据​内容。 这样​一​来,​用户​不但​可以​测试​讯号,​也​能够​建立​可​做为​最终​系统​组​件​并​快速​制作​原型​的​测试​设定,​有效​运用​单一​仪器​同时​完成​两​项​工作。

仿真​旧​设备​以​减缓​产品​汰​换​问题
军事​或​航天​应用​领域​内​许多​维护​测试​系统​都有​使用​寿命​的​需求,​可​延长​至 10 年​以上。 通常​会​根据​特定​的​仪器​特性​而​撰写​测试​程序​代码 (无论​是否​刻意),​因此​很​难​在​避免​大幅​变动​的​情况​下​替换​仪器,​而且​重新​认证​测试​程序​代码​也​需要​高​额​的​成本。

用户​可​定义​的 FPGA 可供​程序​设计,​藉此​修改​仪器​并​仿真​遭​替换​设备​的​行为,​有助​于​避免​上述​问题。 运用 FPGA 逻辑​即可​轻松​复制​触发​行为​或​时序​组合​等​特性,​此外​只要​透过​数字​方式​实作​所需​的​滤波​器,​甚至​可以​模拟​更​复杂​的​方面,​例如​示波器​的​滤波​特性。

示波器​搭配​用户​可​定义​的 FPGA 所​提供​的​科学​应用​优势
就​高能​物理​等​科学​应用​而言,​仪器​的​性能​与​弹性​都是​很​重要​的​特色。 一般​来说,​这类​应用​大部分​的​讯号​处理​和​控制​作业​都会​采用​模拟​电子​和​相对​较​慢​的 ADC,​以此​采集​预先​处理​过的​讯号。 现在,​快速​的​高​分辨​率 ADC (14 位​和 250 MS/​s 以上) 可​直接​从​传感器​采集​讯号​样本。 只要​仪器​搭载​用户​可​设定​的 FPGA,​即可​在​采集​期间​同时​执行​讯号​处理​作业,​不必​通过 PC 完成后​续​处理。 这样​不但​可以​更​快​取得​结果,​也​能够​提高​科学​实验​控制​的​弹性​和​效率。

有效​实​时​反馈​系统​的​在​线​处理
许多​科学​实验​都​必须​仰赖​控制​系统,​确保​所有​设定​项目​都​维持​在​明确​定义​的​状态。 举例来说,​DIII-​D Tokamak 等​融合​研究​系统​会​透过 RF 功率​来​加热​等离子体,​这​会​需要​测量​复杂​的 RF 反射​系数,​并且​根据​测量​结果​衍生​出​合适​的​控制​参数。

使用​粒子​加速器​和​同步​加速器​时,​必须​持续​监​控​粒子​光束​的​轨迹,​才能​满足​磁铁​的​正确​控制​输入​需求。 示波器​搭配​用户​可​定义​的 FPGA,​提供​了​固有​的​快速​平行​处理​性能,​能够​同时​分析​讯号​和​频​域,​以及​极​高速​的​控制​循环,​因此​有助​于​解决 DIII-​D Tokamak 等​应用​问题。 只要​客​制​化 FPGA,​即可​监测​重要​的​安全​参数,​以便​在​系统​处于​非​理想​状态​时​触发​关机​作业。

示波器​可​透过​高速 PXI Express 总​线,​搭配​输出​模​块​以​产生​实验​所需​的​控制​讯号,​或是​以​每​个​仪器​超过 3 GB/​s 的​速度​连续​把​数据​串​流​至​储存​媒介。 用户​可​定义​的 FPGA 还有​另​一个​优点,​那​就是​可以​快速​修改​处理​和​控制​算法。 可以​把​已​编译​过的​位​串​流​加​载 FPGA,​只要​不到​一秒​的​时间,​即可​改变​示波器​的​行为。

实​时​事件​侦测​和​数据​减​量,​有助​于​加速​探索
判断​重点​事件​通常​相当​困难。 常见​的​作法​就是​等到​实际​数据​采集​作业​结束​之后,​在​后​续​处理​期间​寻找​事件,​不过​这么​做​很​花​时间,​而且​必须​储存​大量​的​数据。

另外​有​一个​更​有效​的​方式,​就是​在​采集​期间​决定​要​保留​和​舍弃​的​讯号,​以此​把​数据​量​降到​最低。 通常​唯一​的​重点​参数​就是​时​戳​和​能量​脉冲​的​计算​结果,​所以​就​储存​观点​而言,​从​仪器​回​传​这些​参数​会​更​有效率,​而且​因为​采集​到​的​结果​可​轻松​卸除​至​主机 PC,​所以​还​可以​延长​测量​时间。

举例来说,​飞行​时间 (ToF) 应用​会​持续​绘制​粒子​和​能量。 如​图 5 所​示,​较​快​的​粒子​位于​左边 (飞行​时间​较​短),​较​慢​的​粒子​则​位于​右边。

图 5: 标准​的 ToF 图​和​侦测​到​的​脉冲,​这些​脉冲​会​传输​至​主机 PC。

测量​系统​的​功用​在于​采集、​时​戳、​测量​能量​脉冲,​并且​排除​时间 (采集​到​的​数据),​中间​完全​没有​脉冲,​通常​称为​零点​抑制。 透过 FPGA 即可​轻松​实作,​因为​可以​实​时​计算​每​个​样本。 如​图 5 所​示,​侦测​事件​的​一般​架构​可能​会​是​脉冲 (例如​某​个​临界​值) 侦测​器,​接着​是​符合​已​侦测​脉冲​上​参考​脉冲 (例如​高斯​形状) 的​算法,​以便​估计​最大值。 侦测​峰值​和​对应​时​戳​并​加以​储存​之后,​即可​舍弃​所​采集​到​的​脉冲,​也​可​传送​至​另​一个​缓冲​区,​以便​进一步​分析​或​于 PC 显示。

LabVIEW FPGA 提供​一些​工具​给​用户,​能够​把​必要​的​讯号​处理​阶段​实作​于​示波器​上,​藉此​执行​脉冲​过滤​和​整形、​计算​出现​次数​并​加上​时​戳、​测量​高度​和​上升​时间、​直接​在​仪器​内​重新​建构​基​线,​并且​把​压缩​过的​结果​回​传​至 PC,​以便​提高​研究​人员​的​工作​效率。

结论
传统​示波器​的​原理​是​基于​对​信号​进行​快照​的​模式,​然后​在​采样​的​后​端​将​采到​的​信号​对​齐​现实​给​客户​波形​测量。​这样​的​方式​会​丢掉​两次​快照​之间​的​数据,​如果​我们​需要​寻找​一个​信号​中​很小​概率​的​细节,​那​传统​仪器​无疑​会​增加​很多​的​测试​时间。​并且,​基于​FPGA​将​所有​信号​无缝​采集,​可以​进行​实​时​的​信号​处理,​比如​找出​特定​的​信号​波形,​将​其​触发。​与​传统​的​示波器​只能​基于​电​平​的​触发​方式​不同,​全新​的​可​重​配置​示波器​可​帮助​用户​透过​定制​化​触发,​更​快​侦测​事件,​并且​实​时​处理​数据,​直接​透过​仪器​把​数据​转换​成​结果,​进一步​提高​测量​质量​与​速度。

文章来源:NI官网

最新文章

最新文章