什么是片上仪器?Instrument-on-Chip

片上仪器 (IoC) 是电子测试设备的一个新兴趋势,其中设备围绕强大的实时信号处理芯片构建,通常是现场可编程门阵列 (FPGA)。复杂的低延迟信号处理功能——以前由多个模拟和数字组件组合执行,现在可以集成在单个硅芯片上。FPGA 数字信号处理 (DSP) 速度快、具有确定性,并且可以随着时间的推移进行升级或完全更换,这要归功于其可重新配置的功能。IoC 卓越的性能、多功能性和经济性组合正在推动教育、研发和工业应用的广泛采用。现在可以从多家制造商处以各种价位和性能水平购买设备,Liquid Instruments 的 Moku:Pro

图 1:电子测试设备支持半导体、汽车、电信、航空航天和国防工业的技术发展。


IoC 设备的 4 个组件

IoC 设备的架构如图 2 所示。有四个重要组件:

  1. 可重构、功能强大的数字信号处理芯片
  2. 来自真实世界信号的模拟和/或数字输入
  3. 模拟和/或数字输出到现实世界的信号
  4. 支持数据保存、仪器配置和远程用户界面的网络(或类似)连接

图 2:IoC 有四个主要组件。FPGA 或类似的信号处理芯片、模拟和/或数字输入、模拟/数字输出以及用于数据保存和用户界面控制的网络连接。


片上仪器使多功能性更上一层楼

IoC 设备的一个决定性特征是多功能性。IoC 设备将许多传统仪器集成为一个,设备可以在几秒钟内在这些不同仪器之间转换。为此,用户向设备发送一个新的比特流,这是一个重新编程 FPGA 内部连接的文件。通过这种方式,设备可以取代许多以前需要自己的专用电路的仪器。电路被在类似软件的环境中编程的算法所取代,然后在 FPGA 芯片的硬件上实现。用 DSP 代替定制电路的另一个好处是设备可以代替许多仪器,但仍然非常紧凑。例如,Moku:Go,一款以教育为重点的设备,结合了模拟输入和输出,

IoC 系统中仪器的多样性取决于:

  1. 它与现实世界信号的模拟和数字连接,
  2. 设备的信号处理资源,以及
  3. 开发人员(或用户)实现必要的数字信号处理算法和用户界面。

上述第 3 点纯粹与软件有关,因此 IoC 设备的功能可以在其生命周期内定期升级。这意味着——与具有固定功能的传统设备不同,IoC 设备会随着时间的推移而变得更好,通常是通过无线软件更新。这些软件更新带来了改进的性能、新功能和新仪器。购买 Moku:Lab 时仅包含 3 种仪器的用户现在可以访问 12 种仪器,这些仪器通过免费的无线软件更新提供。这些更新甚至可以在产品生命周期的中途解锁全新的功能(例如 Moku:Pro,包括下个月的用户可编程性和多仪器功能)。

设计输入和输出电路的一个挑战是它必须支持多种应用的超集要求。IoC 设备对所有仪器使用相同的模拟前端,通常同时在多台仪器上散开数据。当支持许多用例时,输入电路(模拟前端)不能轻易地专门用于任何单个应用程序。例如,示波器需要多个范围和阻抗设置,而频谱分析仪需要高动态范围,锁定放大器优先考虑低噪声。然而,优化前端设计的动机更高,因为性能的任何改进都有益于多种仪器和应用。

由于半导体行业在集成电路密度、功耗和速度方面的快速和不懈进步,IoC 设备的信号处理能力正在迅速提高。IoC 受益于每年为计算和网络应用提供改进的芯片而进行的数十亿美元的投资。值得注意的是,这些进步带来了哪些好处。五年前,第一波 IoC 设备在低端应用中几乎无法与传统测试设备相媲美。作为一个产品类别,IoC 现在已经成熟,并且随着更大、更快和更强大的 FPGA 的巨大进步,IoC 架构现在为许多应用提供了优于传统方法的无可争辩的优势。


为什么不只使用电脑?

运行操作系统的计算机 CPU 无法保证信号处理算法所需的确定性时序。问题在于操作系统需要处理很多通用任务,例如处理用户界面、检查鼠标是否移动以及通常运行多个后台进程线程。任何给定任务的调度都无法在所需级别进行管理(必须每隔几纳秒接收或发送一次样本)。

当多个内核可用时,这种情况可以在一定程度上得到改善,这些内核可以单独专注于一个任务子集,但这会最小化而不是消除问题。例如,在 National Instruments 的 LabVIEW 软件中,用户通常以毫秒为单位指定信号处理的时序。当使用定制的实时操作系统时,定时分辨率提高,并且可以以微秒为单位请求定时。在 FPGA 中,可以保证函数在每个时钟周期运行,通常为 2-10 纳秒。此外,它是确定性的,因此可以用来保证操作以一致的时间发生。


为什么选择 FPGA?

在 IoC 设备中可以使用多种处理芯片来实现 DSP,那么为什么 FPGA 会成为首选芯片呢?有几种常见的芯片能够进行快速信号处理,例如 CPU(中央处理单元)、GPU(图形处理单元)和 ASIC(专用集成电路)。这些芯片中的每一个都是不同优化的结果。图 3 显示了这些芯片在提高效率和降低灵活性的范围内排列。从左边开始是CPU,它是灵活性之王,是通用计算的工作马。CPU 可能正在您正在阅读这些文字的设备内部工作。向右移动,我们来到 GPU,它的灵活性较低,但针对具有比典型 CPU 更多内核(可能多 100 倍)的高吞吐量并行处理进行了优化。顾名思义,GPU 的主要目的是执行与 3D 计算机图形相关的计算。

FPGA 更加并行,数千个操作在芯片上同时独立发生。FPGA 芯片没有内核,而是有一个分布式资源网络,例如分布在芯片上的逻辑、乘法器和内存。这些资源之间的连接是可重新配置的。通过重新布线资源之间的连接来修改 FPGA 处理指令。但是修改指令需要的时间比 CPU 长得多,CPU 在处理序列化指令方面效率很高。相反,FPGA 针对序列化数据进行了优化,指令很少更改。我喜欢把 FPGA 的资源想象成浅河床上的石头,引导水流(数据)流过它们。FPGA 自然适合并行处理,因为操作在 FPGA 架构的不同部分独立发生。如果可以使用流水线技术,复杂的数字信号处理 (DSP) 链可以有效地并行实现。通过在最后一次迭代(每个时钟周期/周期发生一次)对前一级的输出进行操作,可以在 FPGA 的不同部分同时执行 DSP 的不同阶段。这样,n 个阶段的信号处理可以由 FPGA 的 n 个独立区域实现,每个时钟周期具有 1 个输出的高吞吐量,但具有 n 个周期的延迟。对于 2-10 纳秒范围内的时钟周期,这种延迟的影响通常可以忽略不计,即使对于闭环反馈控制应用也是如此。如果可以使用流水线技术,复杂的数字信号处理 (DSP) 链可以有效地并行实现。通过在最后一次迭代(每个时钟周期/周期发生一次)对前一级的输出进行操作,可以在 FPGA 的不同部分同时执行 DSP 的不同阶段。这样,n 个阶段的信号处理可以由 FPGA 的 n 个独立区域实现,每个时钟周期具有 1 个输出的高吞吐量,但具有 n 个周期的延迟。对于 2-10 纳秒范围内的时钟周期,这种延迟的影响通常可以忽略不计,即使对于闭环反馈控制应用也是如此。如果可以使用流水线技术,复杂的数字信号处理 (DSP) 链可以有效地并行实现。通过在最后一次迭代(每个时钟周期/周期发生一次)对前一级的输出进行操作,可以在 FPGA 的不同部分同时执行 DSP 的不同阶段。这样,n 个阶段的信号处理可以由 FPGA 的 n 个独立区域实现,每个时钟周期具有 1 个输出的高吞吐量,但具有 n 个周期的延迟。对于 2-10 纳秒范围内的时钟周期,这种延迟的影响通常可以忽略不计,即使对于闭环反馈控制应用也是如此。通过在最后一次迭代(每个时钟周期/周期发生一次)对前一级的输出进行操作,可以在 FPGA 的不同部分同时执行 DSP 的不同阶段。这样,n 个阶段的信号处理可以由 FPGA 的 n 个独立区域实现,每个时钟周期具有 1 个输出的高吞吐量,但具有 n 个周期的延迟。对于 2-10 纳秒范围内的时钟周期,这种延迟的影响通常可以忽略不计,即使对于闭环反馈控制应用也是如此。通过在最后一次迭代(每个时钟周期/周期发生一次)对前一级的输出进行操作,可以在 FPGA 的不同部分同时执行 DSP 的不同阶段。这样,n 个阶段的信号处理可以由 FPGA 的 n 个独立区域实现,每个时钟周期具有 1 个输出的高吞吐量,但具有 n 个周期的延迟。对于 2-10 纳秒范围内的时钟周期,这种延迟的影响通常可以忽略不计,即使对于闭环反馈控制应用也是如此。

在图 3 的最右侧,我们来到了最不灵活但最高效的处理器,即 ASIC。回到河床的类比,在 ASIC 的情况下,石头已经被混凝土固定到位。ASIC 的硅可以针对所需的精确信号处理进行高度优化,但在制造时就已固定,并且在芯片的整个生命周期内无法更改。定制 ASIC 的设计和制造具有高昂的前期成本,因此它们往往只有在需要大量时才具有成本效益。IoC 设备非常注重效率,但需要一定程度的灵活性,因此 FPGA(图 3 中倒数第二个芯片)受到青睐。

图 3:按效率和灵活性排列的常见处理芯片类型

虽然主要信号处理通常在 FPGA 上实现,但 CPU 非常适合管理网络连接和配置功能。出于这个原因,大多数 IoC 设备使用片上系统 (SoC) 解决方案,其中 FPGA 和处理器都存在。这包括来自 Liquid Instruments 和 Red Pitaya 的所有系统以及 Digilent 的一些较新的高端产品。人工智能应用的兴起正在推动新型信号处理芯片的发展。随着“无晶圆厂”芯片设计公司的增加,再加上台积电等专门的半导体代工厂,我们看到了硅芯片设计的复兴,看看 IoC 设备将如何从这些发展中受益将会很有趣。


可重新配置的硬件值得一个可重新配置的用户界面

用户与 IoC 设备的交互也不同于独立测试设备。在传统的测试设备“盒子”中,用户界面是带有内置屏幕的前面板按钮网格。IoC 设备往往没有前面板按钮,因为所需的控件会根据正在运行的仪器而变化。一个意想不到的后果是大多数设备都没有内置屏幕。如果需要单独的计算系统进行控制,那么这个屏幕还可以提供整个用户界面,通常具有出色的可用性。

通过使用现成的计算机或平板电脑而不是定制的集成屏幕,IoC 用户有广泛的选择。IoC 设备倾向于支持计算机行业通信标准——以太网、Wi-Fi 和 USB,而不是更小众的测试和测量标准。您可能不会将 RS232 或 GPIB 视为与 IoC 设备通信的首选方式。

图 4:Moku 用于示波器、任意波形发生器、相位计和 PID 控制器仪器的用户界面示例。

几年前Liquid Instruments 推出Moku:Lab时,我们借此机会重新思考了整个用户体验。我们在大型(光学)实验室工作了很多,并希望 UI 与硬件分离,以便我们在实验室中调整事物时可以随身携带它。平板电脑是一个很好的外形尺寸。我们没有将传统的测试设备用户界面移植到平板电脑上,而是着手将最好的现代用户界面设计引入测试设备。

这一决定带来了许多好处。随着许多年轻用户在智能手机上长大并立即知道如何使用事物,培训减少了。我们观察到,触摸屏激发了新用户的探索感,而不必担心他们会“破坏”许多人对物理旋钮和按钮的感觉。不同仪器的界面是一致的,从而更容易学习和记住如何使用平台上的所有仪器。

通过使用主流的现代操作系统,可以自动访问诸如云存储(例如,Dropbox、Google Drive 等)之类的东西,而无需用户仅为他们的测试设备注册定制的云存储服务。最后,由于我们自己是用户,我们试图让它快速、美观并且通常使用起来很愉快。


IoC 的未来:下一步是什么?

我们今天看到的只是 IoC 的开始,无论是在底层技术还是作为平台的 IoC 设备的改进,事情都在快速变化。随着 FPGA 的并行处理资源不断增加,我们可以添加更多功能、改进规格并构建功能更强大的仪器。第一波 IoC 设备取代了示波器或任意波形发生器等单一的独立仪器。借助更强大的芯片,片上仪器设备将开始取代整个测试设备系统。无需购买 PXI 机箱和多个硬件模块,可以使用诸如Moku:Pro之类的系统来运行多个可热插拔的软件模块。

一些优势是显而易见的。您凌晨 2 点在实验室试图获取截止日期的数据,但您缺少关键的测试设备。您现在只需下载它并在几分钟内运行它,而无需订购新硬件并等待数周才能交付。其他优势可能不太明显,但可能更具影响力。例如,在 PXI 系统中,模块通常通过使用电缆连接前面板输入和输出或使用 PXI 背板进行通信,有时通过使用直接内存访问 (DMA) 通道的中间处理器进行通信。这种传输方法对硬件模块之间数据传输的速度、延迟和确定性有严重的限制。或者,使用电缆连接模拟信号会降低信噪比 (SNR),因为信号会从数字转换为模拟然后再转换回来。借助支持多仪器的 IoC 系统,信号可以在仪器之间传递,而无需离开 FPGA 芯片。这提供了具有超低延迟的高数据速率,并且不会降低 SNR。一些 PXI 硬件模块需要花费数千美元的外部时钟/同步模块来与其他模块同步它们的时基。在所有模块在同一时钟域内的同一芯片上运行的 IoC 设备上并非如此。从下个月开始,可以配置具有多仪器功能的 Moku:Pro 以取代整个测试系统。当然,该测试系统配置可以在几秒钟内用不同的测试配置切换,现在可以替换多个测试系统。

我们还对 Moku:Pro 下个月与多仪器一起发布的第二个主要功能感到兴奋:用户可以访问 FPGA 编程。这将允许专家用户进行最终的定制。用户将能够执行从实施简单的自定义测量到构建全新的复杂仪器的所有操作。构建整个仪器是一项复杂的任务,不适合胆小的人,但 Moku:Pro 中的 FPGA 很大(它是一个 Zynq UltraSCALE+ ZU9EG,有超过 600,000 个逻辑单元和 2,520 个 DSP 切片!)所以希望用完资源不会有问题。更好的是,用户的定制 FPGA 创作将在多仪器模式下运行,这意味着您可以将其连接到我们现有的仪器以提供用户界面并以最少的麻烦保存数据。


IoC:测试设备的计算机

计算机已经彻底改变了现代生活的许多方面,以至于很难找到不能满足处理需求的应用程序。过去,人们用打字机写信,用计算器计算东西。然后电脑出现了,改变了一切。它可以帮助我们写信,它可以计算事物,但它可以做更多我们在发明它们时从未梦想过的事情。计算机没有像其他行业那样征服测试和测量,或者至少没有提供完整的解决方案。我们相信,通过 IoC,我们发现了测试和测量行业计算机的秘诀。

了解有关 Liquid Instrument 在 IOC 技术方面的最新进展 Moku:Pro的更多信息。