武穎
(西南電子設備研究所,四川 成都 610036)
自動測試系統是指人極少參與或不干預的情況下,自動進行測量,處理并輸出測試結果的系統。自動測試設備ATE技術發展十分迅速,其軟件是整個測試系統的核心和關鍵,決定其工作的可靠性和穩定性。近十余年來設計一種能夠實現測試儀器與測試數據、軟件代碼與系統資源相分離的通用軟件架構, 成為迫切需求。隨著計算機技術的飛速發展,各種應用系統的體系結構呈現出以網絡為中心的趨勢。文中在研究OpenSplice DDS 規范的基礎上,分析了DDS的特點,利用其優點構建分布式測試系統。
OpenSplice DDS是DDS規范的一個實現,采用發布、訂閱通信機制,建立全局數據空間。它是位于網絡協議最上層的軟件,它屏蔽底層網代碼,代之以通用的、基于標準的應用程序接口API。通過API提供易于理解的基于發布、訂閱的通訊模式。這種模式定義了兩種基本的角色:
發布者:創建數據、命名將數據分發給訂閱者;
訂閱者:注冊感興趣的主題。
任意一個節點可以成為發布者、訂閱者或兩者皆是,可擁有多個主題。DDS處理所有的網絡輸入輸出。用戶可以把精力花在應用程序的設計上。
DDS網絡架構采用P/S架構,如圖1所示。傳統C/S架構以一個對象為中心,其他節點之間無法直接通信,如圖2所示。P/S架構如圖3所示。無固定中心點,降低了通信節點之間的空間、時間耦合性,提供了靈活的服務質量(QOS)控制策略,解決了單點失效,服務瓶頸等問題。

圖 1 P/S 模型

圖 2 C/S 模型

圖3 DDS模型
內存存儲:每臺計算機都有多個備份訪問速度快。
便捷性:訂閱者可以隨時訂閱主題。
靈活性:根據QoS可以采用UDP,TCP和組播等多種傳輸策略。
可擴展性:可以隨時增加一個新主題。
可靠性:真正實現了全分布式結構,單點失效對系統功能無影響。
動態性:可以隨時添加或刪除節點。
擴展功能:可以隨時增加一個新主題。
信號接收機自動測試系統,包括儀器控制節點,被測信號接收機控制節點,綜合管理控制節點。根據需要各個節點的軟件可以分布于不同計算機上。該軟件平臺主要完成如下幾個功能,如圖4所示。
軟件組成:
(1)提供儀器類驅動程序控制函數:儀器類驅動程序是面向功能相似的同類儀器的控制函數集合。邏輯儀器到物理儀器的映射由儀器可互換內核根據測試資源控制數據庫的定義實現。儀器資源界面如圖5。

圖4 軟件平臺架構

圖5 儀器資源界面
(2)SUT適配器軟件:此軟件安裝于與接收機連接的計算機上,主要負責對測試設備的通信。SUT適配器軟件采用標準的協議格式,根據被測設備通信協議格式的不同。通過協議解析軟件可不斷擴展被測設備。SUT交互界面如圖6。

圖6 SUT交互界面
發布者,創建數據,給數據命名,并將數據分發訂閱者;訂閱者,注冊主題,在主題數據有變化時接收數據。任意一個節點可以成為發布者、訂閱者或兩者皆是。DDS工作流程如圖7所示。我們對DDS的API進行了封裝:初始化、注冊主題、讀取、寫入。
(1)初始化DDS:創建參與者。用于創建一個可以利用數據收發的客戶端。
(2)注冊主題得到句柄:不同節點由于功能不同可定義不同主題,例如儀器控制節點主題為與儀器相關的頻譜數據,信號源數據等。

圖7 DDS中間件工作流程
(3)枚舉主題:將測試的項目的主題枚舉出來。應用于SUT的主題包括:自檢、查詢等。應用于儀器的主題為與儀器通信的指令。主題寫入XML文件中,說明主題的ID,類型。
(4)讀總線上相應主題數據:該接口是接收總線上訂閱數據。不同主題的數據需要不同的處理程序對應。
(5)寫主題數據到總線:該接口發送不同主題內容,包括發送的域名。
(6)注冊發送實例:該接口將數據發送到訂閱端,依據在XML文件中的主題定義通過回調函數依次注冊,循環從隊列中讀取發送消息。
(7)訂閱接收:該接口用于處理接收的數據,并將數據傳送給本地程序模塊。對不同的數據類型或消息需要不同處理函數對應。
傳統ATE為傳統的C/S機構,各功能軟件布置在一個計算機上。這樣不能擴展,所有測試工作,數據處理依靠中心計算機。無法適用于大型測試系統。

圖9 測試系統網絡構成
DDS引入“全局數據空間”概念。滿足多種用戶需求,系統解耦合。如圖9所示,不僅單平臺的裝備可以通信,多個平臺的裝備之間也可以通信。一個連接失敗可以換用另一個,大大降低了網絡延遲。

圖10 測試系統網絡構成
測試技術的發展日新月異,設備集成化程度越來越高,人們對測試設備的要求也日益提高。本文將DDS數據分發服務應用于測試系統中,實現了分布測試系統中各個節點之間高效、高可靠的數據交互,使測試系統網絡化。