利用現成電路板和開放原始碼軟體,快速開發自訂 HP 測試儀器

作者:Steve Leibson

資料提供者:DigiKey 北美編輯群

在進行實驗或產品測試時,往往有必要開發自訂儀器。早期的作法是用 GPIB/IEEE-488 連結儀器,並用桌上型電腦或工作站進行控制。目前則常用偏向模組化的方法,例如 PXI 和 PXI Express 機架系統。但這種架設方式可能所費不貲,特別是在一次性測試或單次使用堆疊的情形。

為了加快開發時間和降低自訂儀器的成本,設計人員應改為考慮採用具備足夠板載類比數位 (ADC) 或數位類比 (DAC) 轉換器資源的單板儀器平台,全都以一個嵌入式處理器和輔助 FPGA 進行控制。

本文將說明如何使用處理器/FPGA 架構系統模組 (SoM) 以及隨附的開發工具來開發自訂儀器。藉由社群支援,以及開放的儀器設計市場,這種儀器開發作法無需開發硬體,可達到小巧且平價的工具,能用來開發多種儀器。

儀器系統簡史

1950 年代之前,所有測試儀器皆為類比式,包括伏特計和示波器。直到 1952 年,位於美國加州德爾馬的 Non-Linear Systems (NLS) 使用步進繼電器和精密電阻開發出第一個數位伏特計 (DVM) 之後,情形開始改變。Hewlett-Packard Company (HP) 跨入數位儀器領域的產品是計時器/計數器,在增添一些雙斜率積體電路後迅速成為 DVM。

因為 NLS DVM 和 HP 數位測試設備能驅動內部數位顯示器,所以其讀數可在內部採用二進位編碼十進位數 (BCD) 的形式表示。將這些 BCD 訊號從後面板連接器引出儀器,是輕而易舉的事。起初,這些 BCD 訊號是用來驅動印表機,以記錄儀器讀數。

此外,1950 年代開始問世的數位儀器,有許多能用不同的量測設定 (例如量測範圍) 進行外部編程。編程的進行,是從後面板以有線方式連接到遠端開關或繼電器,最終再接到外部邏輯電路。每部儀器各有不同的讀出格式和編程要求,導致儀器自動化方面呈現雞同鴨講的局面。到了 1960 年代,電腦加入此混合設備作為儀器控制器,此難題變得更加複雜,主要是因為每部儀器各有不同且獨特的接線機制。

此情形促使 HP 於 1960 年代中期開始思考建立儀器的標準數位介面。歷經八年的問題探索和解決方案開發過程,HP 工程師藉由 1972 年 10 月發行的《HP Journal》,向全球發表 HP 介面匯流排 (HP Interface Bus, HPIB)。HPIB 引起「機架堆疊式」儀器系統的開發風潮,讓不同廠商推出的不同類型儀器,能彼此互連,並與儀器控制器互連。最後,HPIB 演化成 IEEE-488,並且沿用至今。

業界在 HPIB 系統上學習到不少有關自動化儀器的知識,但在測試上的要求,則讓這類系統可提供的效能相形失色。機架堆疊式系統主要是採用既有的測試設備搭配前面板控制器建構而成。這類儀器主要的預定用途是當作手動操作的獨立式儀器。前面板的控制器和顯示器會讓這些儀器的成本增加,還要假設手動控制測試設備所需的量測速度,因而產生無法滿足眾多自動測試系統需求的獨立式儀器。

儀器一但全數位化後,按照摩爾定律,測試設備勢必會朝向更快且更便宜的趨勢邁進。這兩種趨勢皆有利於自動化測試,到最後昂貴的前面板也會顯得多餘。既然儀器始終由電腦所控制,何必設置前面板?

此問題的答案成為儀器演化的下一步:PXI (PCI eXtensions for Instrumentation) 匯流排。此匯流排在 1997 年推出,是以 PCI 介面標準為基礎打造,並藉由 PC 而普及。接著在 2005 年更推出以 PCIe 介面標準為基礎的 PXI Express。PXI 與 PXI Express 兩者皆支援比 HPIB 高出許多的數據傳輸率和降低許多的延遲,因此能開發更快的測試系統。

PXI 或 PXI Express 底盤提供電源、散熱和一個通訊匯流排,可用來插入模組化儀器或 I/O 模組,皆可用插入式控制器或外接電腦進行控制。PXI 和 PXI Express 儀器模組皆可插入這些底盤,而且模組的小型前面板多半只納入用於訊號輸入和輸出的連接器。PXI 和 PXI Express 系統比起由 HPIB 互連的機架堆疊式系統明顯更快,且通常更便宜;但由於具有良好的模組化程度,因此相對上還是高成本,畢竟模組化是有代價的。

儀器仍須遵循摩爾定律

在摩爾定律無情的驅策下,儀器又繼續演變。隨著整個板級系統縮小成 SoC 及少量記憶體和支援晶片,開發出能在小型板件上容納整個儀器的系統也不無可能。Trenz ElectronicRed Pitaya STEMlab 入門套件 125-14 中的 Red Pitaya 開放式儀器平台就是一個例子 (圖 1)。

27761 Red Pitaya 開放式儀器平台圖片

圖 1:27761 Red Pitaya 開放式儀器平台納入數個類比與數位輸入和輸出端,能用來開發自訂儀器。(圖片來源:Red Pitaya)

Red Pitaya 板以 XilinxZynq Z-7010 SoC 為基礎,擁有下列儀器輸入和輸出:

  • 兩個 14 位元、125 Ms/sec 快速類比輸入
  • 兩個 14 位元、125 Ms/sec 快速類比輸出
  • 四個 12 位元、100 Ks/sec 低速類比輸入
  • 四個 12 位元、100 Ks/sec 低速類比輸出
  • 16 個數位 I/O 引腳

Red Pitaya 板件還有一個 1 Gbit 乙太網路連接埠和一個 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、互動式使用者介面和網路伺服器。

27761 套件內含最新 Red Pitaya 軟體的 SD 卡、電源供應器和乙太網路纜線。此軟體可自 Red Pitaya 網站下載;可在 Red Pitaya 電路板上提供嵌入式 Linux OS 和網路介面,以及四個初始儀器組態:示波器、訊號產生器、頻譜分析器和波德分析器。

Red Pitaya 網站是操作 Red Pitaya 開放式儀器平台的主介面。此網頁能下載預先配置的儀器,並加以執行。同時也能啟動 Red Pitaya 的其中一種編程模式,包括極簡易的視覺化編程模式,可利用拖放符號,用圖示方式組譯程式,然後再自動轉換成 Python。可在編程圖中直接產生並顯示 Python 程式碼。

還有其他方法可對 Red Pitaya 開放式儀器平台進行編程,包括 Jupyter Notebook (也是基於 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 平台的儀器應用時提供諸多選項。此應用市場目前提供九個已開發的儀器應用程式,包括:

  • PID (比例、積分、微分) 控制器
  • 網路向量分析器
  • 軟體定義無線電
  • RadioBox 整合式 RF 接收器和發射器
  • DSP Workbench,用來製作實體系統的模型
  • 頻率響應分析器
  • 特斯拉計,用來測量磁場
  • 阻抗分析器
  • 多通道脈衝高度分析器

Red Pitaya Bazaar 內含 Red Pitaya 使用者社群編寫的其他儀器應用程式,包括數個示波器和訊號產生器、一個功率分析器,以及一個阻抗分析器 (圖 2)。

Red Pitaya 鋁製外殼圖片

圖 2:Red Pitaya 鋁製外殼可為 Red Pitaya 板提供實體保護,並為板載 Zynq Z-7010 SoC 提供散熱。(圖片來源:DigiKey)

Red Pitaya 的配件包括:

Red Pitaya 鋁製外殼可為 Red Pitaya 板提供實體保護,並為板載 Zynq Z-7010 SoC 提供散熱。

Trenz Electronic 的校準診斷套件含有鋁製外殼,並增添 Wi-Fi 接收器、Red Pitaya 數位 I/O 線路的擴充外殼、儀器探針、纜線、連接器,以及 Red Pitaya 各種連接埠的配接器 (圖 3)。

電子校準診斷套件圖片

圖 3:電子校準診斷套件內含 Red Pitaya 的若干配件,包括外殼、纜線和 Wi-Fi 接收器。(圖片來源:DigiKey)

結論

儀器系統越來越小也更加便宜,同時功能也更強大。除了添加微處理器外,最終 FPGA 也加入此混合設備,因此得以用相對低成本開發出非常複雜的自訂儀器和測試系統。

Trenz Electronic 的 Red Pitaya 開放式儀器平台正是測試系統演化至今的範例之一。此平台提供高速類比輸入和輸出,並具有數位 I/O 線路,皆由兩個 32 位元處理器和一個 FPGA 進行控制。可使用多種開發工具進行編程,包括簡單的視覺化編程語言,到 C 和 Python 等較傳統的編程語言,乃至於 Xilinx Vivado 工具套裝和 FPGA 編程環境皆可。

 
DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Steve Leibson

Steve Leibson

Steve Leibson 曾任 HP 和 Cadnetix 的系統工程師、EDN 和 Microprocessor Report 的總編輯,以及 Xilinx 和 Cadence 等的科技部落客,也曾在兩集《The Next Wave with Leonard Nimoy》電視節目中擔任技術專家。33 年來,他協助設計工程師開發更優良、更快速且更可靠的系統。

關於出版者

DigiKey 北美編輯群