人們經常需要開發定制的儀器用于實驗或生產測試。早期的方法是通過 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)