提升 GPIB 系統效能的 8 個方法

綜覽

建立自動化量測系統時,系統效能絕對是首要考量。而效能的提升又與生產測試與 GPIB 架構的資料擷取應用程式,有著密不可分的關係。透過提高系統效能,您就可以:

提高測試產能,並在更短時間內測試更多產品
快速驗證新產品,進而比競爭對手更快讓產品上市
大幅減少用於測試設備的資本支出

從本質上來說,節省時間就代表能超越客戶對所收到產品的期待、加速產品開發,並更準確地投資合適的測試設備,進而提升收益。由於 IEEE 488 (GPIB) 匯流排已經是目前多種自動化量測系統的骨幹,因此您應該評估不同的選項,以提升 GPIB 系統的效能。由於 GPIB 介面使用簡單而且經過時間考驗,可支援多種量測裝置,因此可以整合至自動化量測系統中,所以測試與研發工程師仍持續使用 GPIB。基於以上原因,這篇應用說明將討論 8 個不同選項,協助您提升 GPIB 系統效能。

內容

解決方案囊括軟體硬體

此 8 個解決方案同時囊括軟體與硬體,您可以使用這些方案提升 GPIB 系統的效能。您可以整合或個別使用此 8 個解決方案,並採用最適合您的特定系統設定建議。

1.使用支援 DMA 的 GPIB 介面

只要透過 GPIB 接收資料,PCI 即可提供卓越的資料轉移效能。與 ISA 架構的電腦不同的是,PCI 架構的電腦沒有可透過週邊介面卡共享的專屬 DMA 控制器,因此無法直接將資料轉移至 PC 記憶體。若要達到最高效能,PCI 週邊介面卡必須具有內建的 DMA 控制器,才能直接且有效率地將資料轉移至 PC 記憶體,以透過微處理器有效處理資料。具有此種功能的介面卡均屬於匯流排主控器,代表其可控制 PCI 匯流排,並獨立於系統的微處理器之外進行資料轉移。

沒有匯流排主控器功能的週邊介面卡,可能會僅僅是因為要轉移資料,就中斷微處理器的所有處理工作。這種中斷情形將拖慢應用程式的速度,並大幅降低系統的整體效能。

2.使用 8-MB/s 相容的 GPIB 控制器儀器

HS488 是 IEEE 488 規範的高速擴充版本,可將 GPIB 的最高傳輸量提升至 8 MB/s。基準測試已將其效能從 25% 提升至 3,000%。最近一項使用示波器的基準測試顯示,PC 與儀器之間的最高資料轉移率為 7.4 MB/s。由於 HS488 建置於 GPIB 控制器硬體中,您不需修改應用軟體即可達到較高效能,因此更為簡單易用。HS488 經過現場測試,可完全相容於現有的 IEEE 488 儀器。高速與標準的 IEEE 488 儀器可並存於單一系統中,且不會產生相容性的問題。

目前 NI 已提供 與 HS488 相容的 GPIB 控制器。如需 HS488 的詳細資訊,請參閱下方連結。

3.尋找具有最佳指令分析 (Command Parsing) 功能的 GPIB 儀器

透過 GPIB 儀器擷取量測結果時,處理指令與將量測資訊存入至 GPIB 輸出緩衝區都是非常耗時的工作。儀器製造商必須將產品最佳化,以突破這些潛在技術瓶頸,確保最高速度的量測效能。透過微處理器與內部系統匯流排的速度與類型,您就能了解儀器的處理功能。然而,若沒有最佳化的韌體,強大的硬體也無法完全發揮其功能。若儀器製造廠商沒有提供任何規格或基準資訊,當您透過 GPIB 設定並擷取量測結果時,就必須使用不同的儀器進行多次試驗,才能找到那些能提供最佳效能的儀器。

4.使用 GPIB Instrument Driver 獲得絕佳效能

IVI 驅動程式是以記憶特定儀器狀態的方式來提升系統效能。狀態快取 (State-caching) 引擎可以追蹤儀器的硬體設定狀態。這項功能可以僅在需要修改硬體設定值時才執行儀器 I/O,進而協助系統以更智慧的方式運作,因此可大幅提升測試效能。舉例來說,只是針對激發訊號的頻率進行掃頻,不需要一次又一次地重新發送振幅、波形、相位,與其他類型的訊號資訊,因為這些都是多餘的。目前的 VXI隨插即用 儀器驅動程式並未提供狀態快取功能。

而透過 IVI 驅動程式,您也將儀器驅動程式設定為在特殊模式下運作,以在測試開發或系統部署期間達到最佳效果。舉例來說,針對將傳送至儀器的訊號,您可設定驅動程式自動檢查所有數值的範圍,並依需要將之強制修改為有效值。您也可以設定驅動程式,在每次傳送指令之後自動檢查儀器的狀態位元 (Status Byte)。當您於生產線上部署測試程式,以期達到最高執行速度時,所有的「開發模式 (Development mode)」設定均可迅速關閉。而您就能同時獲得絕佳的除錯功能與更快的執行速度。

請參閱 IVI 驅動程式說明,取得如何妥善利用這些功能的詳細資訊。IVI 驅動程式是根據 IVI Foundation 所發佈的開放式產業級規格所建立;該組織是由超過 20 家不同的使用者與製造商公司所組成。 

基準測試範例:量測系統響應振幅對應頻率的關係
思考一下確定未知系統之頻率響應的工作。這項工作需要波形/函式產生器,以多種頻率產生正弦波;再透過數位電錶 (DMM) 或示波器量測系統的輸出電壓。下列測試程式的虛擬程式碼,使用高階的儀器驅動程式呼叫,以進行函式產生器與示波器的程式設計。

正弦波測試的虛擬程式碼與測試設定為:

初始化與設定示波器
初始化與設定頻率產生器
While (頻率 < EndFreq)
開始循環

產生正弦波
讀取激發波形 (示波器通道 1)
讀取響應波形 (示波器通道 2)
計算激發與響應儲存振幅與相位增加頻率之間的振幅與相位差

結束循環

為振幅與相位差繪製曲線圖
關閉數位電錶
關閉頻率產生器


此測試流程是使用 1 台 HP 33120A 函式產生器,與 1 台 HP 54645D 示波器所進行。表 1 凸顯了 IVI 與傳統驅動程式對執行此特定測試的效能差異。

 

表 1.狀態快取基準測試

狀態快取測試時間 (秒)效能差別
關閉
(傳統 VXI 隨插即用 驅動程式)
35.0N/A
啟動
(IVI 驅動程式)
13.2265%


5.考慮將資料處理作業卸載至主機 PC

雖然 NI 不斷致力提升儀器的處理與分析功能,但儀器製造廠商很難在趕上 PC 產業的腳步的同時,提供使用者最新的處理技術。製造商常常必須重新設計儀器,才能夠加入新的處理器。而您可能必須購買新版儀器,才能夠達到更高效能。

為了確保自己隨時擁有強大的處理功能,您應該考慮將某些高運算需求的分析作業卸載至 PC 上,而不是依賴儀器的內部功能,而這些處理功能有的還已經過時。一般來說,PC 功能的發展速度遠比儀器來得迅速,而 PC 的更換的頻率也遠比儀器來得高。每當新一代的 PC 問世,您就必須針對某些量測處理與分析作業選購新的 PC,才能獲得新的效能提升。

此外,由於儀器均為封閉式盒裝設計,因此您無法客制化分析作業。由於多家儀器軟體廠商均提供完整的訊號處理、濾波與一般分析程式庫,因此您可以透過 PC 輕鬆新增客制分析,並大幅簡化定義客制例行性分析作業的工作。

6. 考慮軟體使用執行緒

多執行緒 (Multithreading) 是一種程式設計方法,可將應用程式分割為多個不同的工作,也稱為執行緒。這些不同的執行緒都是應用程式的主要執行緒所建立,並可各自獨立在系統中執行。一旦某個執行緒完成工作,它就會退出。應用程式的主要執行緒則會在完成所有工作之後,負責關閉該應用程式。若系統具有 1 個以上的處理器,您就可在個別的處理器中同時執行獨立執行緒,藉以提升應用效能。您也可以針對應用程式中的各個執行緒,分配合適的處理器時間片段,讓單一處理器系統達到更高的效能。由於處理器可以在等待外部事件的同時持續處理單一執行緒,然後再執行其他執行緒,這是 GPIB 應用的常見情境,因此只要設定分配至各執行緒的處理器時間量,就可以提升應用程式的效能。

GPIB 應用程式可妥善利用多執行緒的方法有很多種。多執行緒可協助您隔離獨立應用工作,以有效管理系統資源。您可以使用多執行緒將時間要求嚴格的工作隔離在單獨的執行緒中,藉以監控如服務需求 (SRQ) 的時效性事件,並同步處理記憶體中已有的資料。

舉例來說,某個應用程式內可能有 3 個不同功能的執行緒:其一為管理使用者輸入,其二可擷取並記錄資料,其三則必須處理並顯示資料。資料處理與分析作業較為耗時,且佔用較多處理器資源。資料總量與所擷取資料的頻率有時會不相同。大多數情況下,應用程式也會持續檢查來自儀器的 SRQ。與應用程式中正在進行的其他活動相比,使用者互動作業可能是偶發事件。透過多執行緒,您可以隔離這些工作,並因應各個獨立作業的處理需求。此外,針對使用超過 1 組 GPIB 介面的應用程式而言,您可以針對每個 GPIB 介面與每個介面控制的儀器作業,指定單一執行緒去管理。

NI 的 NI-488.2 軟體具有多執行緒安全性,可為多執行緒的應用程式提供完整功能。 NI LabWindows™/CVI 與 LabVIEW 也具備提升儀器控制應用的完整多執行緒功能。請參閱「使用 LabVIEW 建立多執行緒應用來取得最高效能與穩定性」與「LabWindows/CVI 的多執行緒」以取得 LabVIEW 與 LabWindows/CVI 的多執行緒的更多相關資訊。

7. 使用原生儀器資料格式

微處理器會以二進位格式進行量測計算。然而,透過 GPIB 轉移資料時,資料往往會轉換為英數字元格式 (一般為 ASCII)。由於進行兩種資料的轉換必須耗費時間,因此效能易受到影響。將二位元資料轉換為 ASCII 以透過 GPIB 傳輸時,儀器會進行第一次資料轉換。由於儀器中處理器的功能常常遠不及目前市面上的最新 PC,因此轉換作業極為耗時。第二次轉換會發生在您撰寫資料分析常式的 PC 中,這會將量測資料從 ASCII 轉換為二進位格式,以進一步處理並分析資料。若要避免此種作業影響效能,您可以考慮使用儀器的原生資料格式 (二進位) 轉移資料。

8. 考慮透過模組化插入儀器處理系統需求應用程式

針對資料串流、快速的小規模資料轉移,與高精確度同步化觸發功能的應用程式,可考慮採用模組化的插入式儀器進行量測作業。這些儀器可用於 PCI、PXI/CompactPCI,與 VXI 平台。透過這些平台,即可輕鬆控制 GPIB 儀器,同時獲得此兩種規格的優點。

以成本觀點來說,由於 PXI/CompactPCI 堅固耐用,且以桌上型電腦的 PCI 匯流排為架構,因此可為生產測試環境提供經濟實惠的解決方案。PXI/CompactPCI 架構的模組化插入式儀器具有多項優點:

 

  • 7 組 PCI 插槽
  • 匯流排主控器的 DMA 功能,可直接將資料串流至電腦記憶體
  • 堅固耐用且模組化的包裝
  • 背板具有時脈與觸發功能
  • 現成可用的標準 Windows 軟體,就像在使用桌上型電腦
  • 桌上型電腦系統的軟體,亦可用於 PXI/CompactPCI 嵌入式電腦中
  • 較低成本的儀器與示波器,且不會影響量測精確度
  • 較低的首位元潛時 (First-byte latency)
  • 可輕鬆控制 GPIB 量測裝置


模組化儀器解決方案是相當理想的選項,因為這些系統能因應量測與自動化系統中存在的 3 種不同需求,而首要需求就是能在 PC 記憶體中來回串流大量資料。示波器、任意函式產生器與高速示波器等裝置,都需要足夠的匯流排頻寬,以最短時間將資料轉移至 PC 記憶體中。

第二項需求是與轉移少量資料的裝置 (如計數器/計時器、電源供應器與多功能數位電錶) 進行有效溝通。這些裝置要能達到高效率通訊作業,主要必須依賴其傳送首位元的速度 (首位元潛時)。由於轉移的資料量少,因此作業開銷極大。PCI、PXI/CompactPCI,與 VXI 的首位元潛時範圍為 10 至 100 ns。而 GPIB 的首位元潛時約為 100 微秒。轉移少量資料時,較低的首位元潛時可確保裝置的通訊速度。

第三項需求則是針對模組化平台尚未提供的儀器,必須要能介接現有的 GPIB 儀器。NI 所提供的 GPIB 控制器介面卡/模組,則已可滿足此項需求。

結論

目前有多個選項可提升 GPIB 的系統效能。此篇技術文件所討論的選項,囊括所應使用的儀器、所應購買的 GPIB 控制器,還有可建立應用的軟體與設計方式。請根據自己的需求列出相關清單,或依上述秘訣採購所需的儀器,確實讓自己進行所需的量測作業。您可能會發現目前的 GPIB 系統仍有尚未妥善利用的效能與功能。

如欲取得 NI 的 GPIB 與儀器控制介面的更多相關資訊,請參見以下相關連結。

LabWindows 商標經過 Microsoft Corporation 授權使用。Windows 是 Microsoft Corporation 在美國與其他國家的註冊商標。

Was this information helpful?

Yes

No