人们经常需要开发定制的仪器用于实验或生产测试。早期的方法是通过 GPIB/IEEE-488 接口来连接仪器,并通过台式电脑或工作站进行控制。如今流行的则是 PXI 和 PXI Express 机架系统等更加模块化的方法。然而,此类安装可能很昂贵,尤其对于一次性测试或一次性堆叠更是如此。
为加快开发速度并降低定制仪器的成本,设计人员应考虑具有充足板载模数转换器 (ADC) 或数模转换器 (DAC) 资源的单板仪器平台,所有资源均由嵌入式处理器和配套的 FPGA 进行控制。
本文将展示如何使用基于处理器/FPGA 的系统级模块 (SoM) 以及附带的开发工具来开发定制仪器。依托一个由社区支持的仪器设计开放市场,这种仪器开发方式可以避免开发硬件的需要,并可以开发出紧凑的低成本工具,用于开发多种类型的仪器。
在上世纪 50 年代之前,包括电压计和示波器在内的所有测试仪器都是模拟仪器。在加州德尔马的 Non-Linear Systems (NLS) 于 1952 年使用步进继电器和精密电阻器开发出首个数字电压计 (DVM) 后,这一情况开始发生变化。惠普公司 (HP) 携一款定时器/计数器产品进入数字仪器市场,该产品很快增加了一些双斜率积分电路,演变为一款 DVM。
由于 NLS DVM 和 HP 数字测试设备驱动的是内部数字显示器,因此它们的读数均采用二进制编码的十进制 (BCD) 表示法在内部提供。这些 BCD 信号可以轻松输出到仪器后面板上的连接器。最初,这些 BCD 信号驱动打印机来记录仪器读数。
此外,上世纪 50 年代陆续出现的许多数字仪器可以在外部编程,使用不同的测量设置,例如测量范围等。编程是通过连接到远程开关或继电器,并最终连接到外部逻辑电路的后面板连接进行的。每个仪器具有不同的读数格式和编程要求,导致仪器自动化方面陷入无序竞争的“巴别塔”情形。上世纪 60 年代,在将计算机作为仪器控制器引入该局面后,问题变得愈加复杂,主要的原因在于,每个仪器都需要不同的独特连线方案。
这一形势促使 HP 在 60 年代中期开始考虑标准化的数字仪器接口。经过八年的深思熟虑和解决方案开发,HP 工程师在 1972 年 10 月刊“HP 杂志”中,面向全世界推出了 HP 接口总线 (HPIB)。HPIB 激发了“机架堆叠式”仪器系统的开发,在此类系统中,可将来自众多不同供应商的不同仪器类型彼此进行互连并连接到仪器控制器。最终,HPIB 演化为 IEEE-488,至今仍在广泛使用。
业界从 HPIB 系统汲取了很多自动化仪器知识,但测试要求远远超过了这类系统所能提供的性能。机架堆叠式系统主要通过将现有的测试设备与前面板控制装置搭配使用构建而成。这些仪器的主要目的是手动用作独立仪器。前面板控制装置和显示器增加了这些仪器的成本,而关于手动控制的测试设备所需的测量速度的假设,导致独立仪器无法满足许多自动化测试系统的需求。
仪器演变为完全数字化后,摩尔定律确保了测试设备变得速度更快且成本更低。两种趋势均有利于自动化测试,并最终让昂贵的前面板成为历史。为什么仪器的前面板总要置于计算机的控制之下呢?
这一问题的答案即成为仪器演变的下一步:PXI(PCI 仪器扩展)总线。此标准于 1997 年推出,并且基于因 PC 而无处不在的 PCI 接口标准。随后,基于 PCIe 接口标准的 PXI Express 于 2005 年推出。PXI 和 PXI Express 支持的数据速率远高于 HPIB,延迟也要低得多,因而促使速度快很多的测试系统得以开发。
PXI 或 PXI Express 机箱将为插入式模块化仪器或 I/O 模块提供电源、冷却和通信总线,所有这些均由插入式控制器或外部计算机进行控制。PXI 和 PXI Express 仪器模块会插入这些机箱,而其小型前面板除了用于信号输入和输出的连接器外,基本不含其他任何内容。PXI 和 PXI Express 系统与通过 HPIB 互连的机架堆叠式系统相比,速度快得多而且价格往往更便宜;但相对而言,它们仍比较昂贵,因为它们具有良好的模块化功能,而模块化总需要一定的成本。
摩尔定律的持续发展意味着仪器的持续变化。随着整个板级系统逐渐浓缩成 SoC 和少量存储器及支持芯片,开发出适合小型电路板的完整仪器系统也成为可能。例如:Red Pitaya 开放式仪器平台就是 Trenz Electronic 的 Red Pitaya STEMlab 入门套件 125-14 的一部分(图 1)。
图 1:27761 Red Pitaya 开放式仪器平台结合了可用于开发定制仪器的多种模拟和数字输入和输出。(图片来源:Red Pitaya)
Red Pitaya 板基于 Xilinx Zynq Z-7010 SoC,并具有以下仪器输入和输出:
两路 14 位、125 Ms/s 快速模拟输入
两路 14 位、125 Ms/s 快速模拟输出
四路 12 位、100 Ks/s 慢速模拟输入
四路 12 位、100 Ks/s 慢速模拟输出
16 个数字 I/O 引脚
Red Pitaya 板还具有一个 1 Gb 以太网端口和一个 USB 2.0 端口。USB 端口还可以插接一个用于无线操作的 Wi-Fi 适配器。
Zynq Z-7010 SoC 在芯片上集成了两个 Arm® Cortex®-A9 处理器和大量 FPGA 结构。处理器执行包括 Red Pitaya 的嵌入式 Linux OS 在内的软件任务,FPGA 则为 Red Pitaya 的板载外设提供实时控制和接口。由于同时拥有 FPGA 和 CPU,开发人员可以分别为其分配最合适的信号处理任务,以获得最佳性能。FPGA 可以处理超快的硬实时任务,而 CPU 则擅长执行任意复杂度的程序,但速度较慢。CPU 还适合运行 Linux 等标准操作系统、交互式用户界面和 Web 服务器。
27761 套件包括一个用于最新 Red Pitaya 软件的 SD 卡、一个电源和一根以太网电缆。软件可以从 Red Pitaya 网站下载。它为 Red Pitaya 板提供了嵌入式 Linux OS 和 Web 界面,以及四种初始仪器配置:示波器、信号发生器、频谱分析仪和波特分析仪。
Red Pitaya 站点用作操作 Red Pitaya 开放式仪器平台的主界面。该网页可以下载并运行预先配置的仪器。它还能启动 Red Pitaya 的编程模式之一,包括极简单的可视化编程模式,该模式使用拖放式符号,通过图标以图形方式组装程序,然后将程序自动转换为 Python。可以弹出根据编程示意图创建的 Python 代码。
其他用于 Red Pitaya 开放式仪器平台编程的替代方案包括 Jupyter 笔记本(同样基于 Python)和 C。想要为 Red Pitaya 开发自己的 FPGA 配置的开发人员,可以使用 Xilinx Vivado 工具套件。
Red Pitaya 的标准软件还支持 SCPI(可编程仪器标准命令,发音为“skippy”),该仪器控制协议最初定义为 IEEE-488 之上的额外层,并用作业内许多供应商的许多仪器的控制协议。SCPI 与硬件接口无关,并且仅包含 ASCII 字符串。各种仪器编程应用都能使用 SCPI 命令来控制 Red Pitaya,包括 MathWorks 的 MATLAB、National Instruments 的 LabVIEW、Scilab 和 Python。
Red Pitaya 硬件平台和配套的软件开发工具可作为开发低成本、高性能仪器系统的基础,Red Pitaya Marketplace 市场平台则可作为 Red Pitaya 平台仪器应用开发人员的交流场所。该市场平台目前开发有 9 款仪器应用,包括:
PID(比例积分微分)控制器
网络矢量分析仪
软件无线电
RadioBox,一款集成的射频接收器和发射器
DSP 工作台,用于为物理系统建模
频率响应分析仪
用于测量磁场的特拉斯计
阻抗分析仪
多通道脉冲高度分析仪
Red Pitaya Bazaar 包含更多由 Red Pitaya 用户社区编写的仪器应用,其中包括多种示波器和信号发生器、功率分析仪以及阻抗分析仪(图 2)。
图 2:Red Pitaya 铝外壳为 Red Pitaya 板提供了物理保护,并为板载的 Zynq Z-7010 SoC 提供了散热功能。(图片来源:Digi-Key Electronics)
Red Pitaya 的配件包括:
Trenz Electronic Red Pitaya 铝外壳
Trenz Electronic 电子校准诊断套件
Red Pitaya 铝外壳为 Red Pitaya 板提供了物理保护,并为板载的 Zynq Z-7010 SoC 提供了散热功能。
Trenz Electronic 校准诊断套件包括铝外壳,并增加了 Wi-Fi 适配器、用于 Red Pitaya 数字 I/O 线路的扩展外壳、仪器探头、电缆、连接器,以及用于各种 Red Pitaya 端口的适配器(图 3)。
图 3:电子校准诊断套件包括多种 Red Pitaya 配件,其中包括外壳、电缆和一个 Wi-Fi 适配器。(图片来源:Digi-Key Electronics)