人們經(jīng)常需要開發(fā)定制的儀器用于實(shí)驗(yàn)或生產(chǎn)測試。早期的方法是通過 GPIB/IEEE-488 接口來連接儀器,并通過臺(tái)式電腦或工作站進(jìn)行控制。如今流行的則是 PXI 和 PXI Express 機(jī)架系統(tǒng)等更加模塊化的方法。然而,此類安裝可能很昂貴,尤其對于一次性測試或一次性堆疊更是如此。
為加快開發(fā)速度并降低定制儀器的成本,設(shè)計(jì)人員應(yīng)考慮具有充足板載模數(shù)轉(zhuǎn)換器 (ADC) 或數(shù)模轉(zhuǎn)換器 (DAC) 資源的單板儀器平臺(tái),所有資源均由嵌入式處理器和配套的 FPGA 進(jìn)行控制。
本文將展示如何使用基于處理器/FPGA 的系統(tǒng)級模塊 (SoM) 以及附帶的開發(fā)工具來開發(fā)定制儀器。依托一個(gè)由社區(qū)支持的儀器設(shè)計(jì)開放市場,這種儀器開發(fā)方式可以避免開發(fā)硬件的需要,并可以開發(fā)出緊湊的低成本工具,用于開發(fā)多種類型的儀器。
在上世紀(jì) 50 年代之前,包括電壓計(jì)和示波器在內(nèi)的所有測試儀器都是模擬儀器。在加州德爾馬的 Non-Linear Systems (NLS) 于 1952 年使用步進(jìn)繼電器和精密電阻器開發(fā)出首個(gè)數(shù)字電壓計(jì) (DVM) 后,這一情況開始發(fā)生變化?;萜展?(HP) 攜一款定時(shí)器/計(jì)數(shù)器產(chǎn)品進(jìn)入數(shù)字儀器市場,該產(chǎn)品很快增加了一些雙斜率積分電路,演變?yōu)橐豢?DVM。
由于 NLS DVM 和 HP 數(shù)字測試設(shè)備驅(qū)動(dòng)的是內(nèi)部數(shù)字顯示器,因此它們的讀數(shù)均采用二進(jìn)制編碼的十進(jìn)制 (BCD) 表示法在內(nèi)部提供。這些 BCD 信號(hào)可以輕松輸出到儀器后面板上的連接器。最初,這些 BCD 信號(hào)驅(qū)動(dòng)打印機(jī)來記錄儀器讀數(shù)。
此外,上世紀(jì) 50 年代陸續(xù)出現(xiàn)的許多數(shù)字儀器可以在外部編程,使用不同的測量設(shè)置,例如測量范圍等。編程是通過連接到遠(yuǎn)程開關(guān)或繼電器,并最終連接到外部邏輯電路的后面板連接進(jìn)行的。每個(gè)儀器具有不同的讀數(shù)格式和編程要求,導(dǎo)致儀器自動(dòng)化方面陷入無序競爭的“巴別塔”情形。上世紀(jì) 60 年代,在將計(jì)算機(jī)作為儀器控制器引入該局面后,問題變得愈加復(fù)雜,主要的原因在于,每個(gè)儀器都需要不同的獨(dú)特連線方案。
這一形勢促使 HP 在 60 年代中期開始考慮標(biāo)準(zhǔn)化的數(shù)字儀器接口。經(jīng)過八年的深思熟慮和解決方案開發(fā),HP 工程師在 1972 年 10 月刊“HP 雜志”中,面向全世界推出了 HP 接口總線 (HPIB)。HPIB 激發(fā)了“機(jī)架堆疊式”儀器系統(tǒng)的開發(fā),在此類系統(tǒng)中,可將來自眾多不同供應(yīng)商的不同儀器類型彼此進(jìn)行互連并連接到儀器控制器。最終,HPIB 演化為 IEEE-488,至今仍在廣泛使用。
業(yè)界從 HPIB 系統(tǒng)汲取了很多自動(dòng)化儀器知識(shí),但測試要求遠(yuǎn)遠(yuǎn)超過了這類系統(tǒng)所能提供的性能。機(jī)架堆疊式系統(tǒng)主要通過將現(xiàn)有的測試設(shè)備與前面板控制裝置搭配使用構(gòu)建而成。這些儀器的主要目的是手動(dòng)用作獨(dú)立儀器。前面板控制裝置和顯示器增加了這些儀器的成本,而關(guān)于手動(dòng)控制的測試設(shè)備所需的測量速度的假設(shè),導(dǎo)致獨(dú)立儀器無法滿足許多自動(dòng)化測試系統(tǒng)的需求。
儀器演變?yōu)橥耆珨?shù)字化后,摩爾定律確保了測試設(shè)備變得速度更快且成本更低。兩種趨勢均有利于自動(dòng)化測試,并最終讓昂貴的前面板成為歷史。為什么儀器的前面板總要置于計(jì)算機(jī)的控制之下呢?
這一問題的答案即成為儀器演變的下一步:PXI(PCI 儀器擴(kuò)展)總線。此標(biāo)準(zhǔn)于 1997 年推出,并且基于因 PC 而無處不在的 PCI 接口標(biāo)準(zhǔn)。隨后,基于 PCIe 接口標(biāo)準(zhǔn)的 PXI Express 于 2005 年推出。PXI 和 PXI Express 支持的數(shù)據(jù)速率遠(yuǎn)高于 HPIB,延遲也要低得多,因而促使速度快很多的測試系統(tǒng)得以開發(fā)。
PXI 或 PXI Express 機(jī)箱將為插入式模塊化儀器或 I/O 模塊提供電源、冷卻和通信總線,所有這些均由插入式控制器或外部計(jì)算機(jī)進(jìn)行控制。PXI 和 PXI Express 儀器模塊會(huì)插入這些機(jī)箱,而其小型前面板除了用于信號(hào)輸入和輸出的連接器外,基本不含其他任何內(nèi)容。PXI 和 PXI Express 系統(tǒng)與通過 HPIB 互連的機(jī)架堆疊式系統(tǒng)相比,速度快得多而且價(jià)格往往更便宜;但相對而言,它們?nèi)员容^昂貴,因?yàn)樗鼈兙哂辛己玫哪K化功能,而模塊化總需要一定的成本。
摩爾定律的持續(xù)發(fā)展意味著儀器的持續(xù)變化。隨著整個(gè)板級系統(tǒng)逐漸濃縮成 SoC 和少量存儲(chǔ)器及支持芯片,開發(fā)出適合小型電路板的完整儀器系統(tǒng)也成為可能。例如:Red Pitaya 開放式儀器平臺(tái)就是 Trenz Electronic 的 Red Pitaya STEMlab 入門套件 125-14 的一部分(圖 1)。
圖 1:27761 Red Pitaya 開放式儀器平臺(tái)結(jié)合了可用于開發(fā)定制儀器的多種模擬和數(shù)字輸入和輸出。(圖片來源: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 個(gè)數(shù)字 I/O 引腳
Red Pitaya 板還具有一個(gè) 1 Gb 以太網(wǎng)端口和一個(gè) USB 2.0 端口。USB 端口還可以插接一個(gè)用于無線操作的 Wi-Fi 適配器。
Zynq Z-7010 SoC 在芯片上集成了兩個(gè) Arm® Cortex®-A9 處理器和大量 FPGA 結(jié)構(gòu)。處理器執(zhí)行包括 Red Pitaya 的嵌入式 Linux OS 在內(nèi)的軟件任務(wù),F(xiàn)PGA 則為 Red Pitaya 的板載外設(shè)提供實(shí)時(shí)控制和接口。由于同時(shí)擁有 FPGA 和 CPU,開發(fā)人員可以分別為其分配最合適的信號(hào)處理任務(wù),以獲得最佳性能。FPGA 可以處理超快的硬實(shí)時(shí)任務(wù),而 CPU 則擅長執(zhí)行任意復(fù)雜度的程序,但速度較慢。CPU 還適合運(yùn)行 Linux 等標(biāo)準(zhǔn)操作系統(tǒng)、交互式用戶界面和 Web 服務(wù)器。
27761 套件包括一個(gè)用于最新 Red Pitaya 軟件的 SD 卡、一個(gè)電源和一根以太網(wǎng)電纜。軟件可以從 Red Pitaya 網(wǎng)站下載。它為 Red Pitaya 板提供了嵌入式 Linux OS 和 Web 界面,以及四種初始儀器配置:示波器、信號(hào)發(fā)生器、頻譜分析儀和波特分析儀。
Red Pitaya 站點(diǎn)用作操作 Red Pitaya 開放式儀器平臺(tái)的主界面。該網(wǎng)頁可以下載并運(yùn)行預(yù)先配置的儀器。它還能啟動(dòng) Red Pitaya 的編程模式之一,包括極簡單的可視化編程模式,該模式使用拖放式符號(hào),通過圖標(biāo)以圖形方式組裝程序,然后將程序自動(dòng)轉(zhuǎn)換為 Python??梢詮棾龈鶕?jù)編程示意圖創(chuàng)建的 Python 代碼。
其他用于 Red Pitaya 開放式儀器平臺(tái)編程的替代方案包括 Jupyter 筆記本(同樣基于 Python)和 C。想要為 Red Pitaya 開發(fā)自己的 FPGA 配置的開發(fā)人員,可以使用 Xilinx Vivado 工具套件。
Red Pitaya 的標(biāo)準(zhǔn)軟件還支持 SCPI(可編程儀器標(biāo)準(zhǔn)命令,發(fā)音為“skippy”),該儀器控制協(xié)議最初定義為 IEEE-488 之上的額外層,并用作業(yè)內(nèi)許多供應(yīng)商的許多儀器的控制協(xié)議。SCPI 與硬件接口無關(guān),并且僅包含 ASCII 字符串。各種儀器編程應(yīng)用都能使用 SCPI 命令來控制 Red Pitaya,包括 MathWorks 的 MATLAB、National Instruments 的 LabVIEW、Scilab 和 Python。
Red Pitaya 硬件平臺(tái)和配套的軟件開發(fā)工具可作為開發(fā)低成本、高性能儀器系統(tǒng)的基礎(chǔ),Red Pitaya Marketplace 市場平臺(tái)則可作為 Red Pitaya 平臺(tái)儀器應(yīng)用開發(fā)人員的交流場所。該市場平臺(tái)目前開發(fā)有 9 款儀器應(yīng)用,包括:
PID(比例積分微分)控制器
網(wǎng)絡(luò)矢量分析儀
軟件無線電
RadioBox,一款集成的射頻接收器和發(fā)射器
DSP 工作臺(tái),用于為物理系統(tǒng)建模
頻率響應(yīng)分析儀
用于測量磁場的特拉斯計(jì)
阻抗分析儀
多通道脈沖高度分析儀
Red Pitaya Bazaar 包含更多由 Red Pitaya 用戶社區(qū)編寫的儀器應(yīng)用,其中包括多種示波器和信號(hào)發(fā)生器、功率分析儀以及阻抗分析儀(圖 2)。
圖 2:Red Pitaya 鋁外殼為 Red Pitaya 板提供了物理保護(hù),并為板載的 Zynq Z-7010 SoC 提供了散熱功能。(圖片來源:Digi-Key Electronics)
Red Pitaya 的配件包括:
Trenz Electronic Red Pitaya 鋁外殼
Trenz Electronic 電子校準(zhǔn)診斷套件
Red Pitaya 鋁外殼為 Red Pitaya 板提供了物理保護(hù),并為板載的 Zynq Z-7010 SoC 提供了散熱功能。
Trenz Electronic 校準(zhǔn)診斷套件包括鋁外殼,并增加了 Wi-Fi 適配器、用于 Red Pitaya 數(shù)字 I/O 線路的擴(kuò)展外殼、儀器探頭、電纜、連接器,以及用于各種 Red Pitaya 端口的適配器(圖 3)。
圖 3:電子校準(zhǔn)診斷套件包括多種 Red Pitaya 配件,其中包括外殼、電纜和一個(gè) Wi-Fi 適配器。(圖片來源:Digi-Key Electronics)