目 錄 摘 要 背景 測試應用舉例 摘 要 現今,電子測試工程師面臨著大量多樣化的數字接口帶來的挑戰。軍事、航空、通信和汽車電子都同時使用工業標準和定制數字接口。專用特定接口的測試儀器和用于通用數字I/O接口的測試儀器可以支持以上大部分接口。專用測試儀器是非常昂貴的,通用數字I/O接口的測試儀器僅試用部分方案并且需要大量編程/調試工作,最終也會增加成本。然而,基于可編程FPGA的測試儀器可以提供成本合理的解決方案,并可選通用數字I/O接口還是專用特定接口。 本文將概述現代數字測試接口的需求,重點講解在電子模塊和系統的監視和控制中應用越來越普遍的串行數字接口。這些接口包括定制和工業標準版本,例如SPI、I2C、RapidIO、Ethernet和SpaceWire等。對于高速串行接口,帶有特定接口的SERDES的使用和功能邏輯可以提供創建滿足需求的測試儀器的基礎。本文將會講述當結合可用的商用IP(Intellectual Property)或定制的邏輯單元時,基于可編程FPGA的測試儀器如何提供低成本、高靈活性的測試方案,此種測試儀器解決方案將實現單臺儀器支持多種應用和多種接口。
關鍵字:FPGA 數字測試 接口 背 景 當測試工程師考慮如何測試數字接口時,就必須在技術指標需求和方案成本之間進行權衡。有些公司會選擇為特定通信協議測試而設計的專用儀器;蛘撸x擇通用數字I/O測試設備,只要測試工程師付出一些努力就可以用來測試大量協議。除了選擇測試儀器,測試工程師經常通過自行設計電路來實現與被測部件(UUT)的邏輯系列接口吻合。隨著可編程硬件的到來,尤其是FPGAs,測試工程師在測試設備的成本選擇方面有了新工具;贔PGA的測試儀器使測試工程師可以通過使用商用IP內核、自主開發或定制IP內核構建測試方案。通過對這些IP內核與FPGA中額外的寄存器/邏輯的集成,并提供必要的邏輯系列接口(TTL、LVDS等),測試工程師可以實現使用單臺儀器測試多種接口。 很多公司支持軍方客戶發展可以測試多種產品的通用測試站。測試站被設計用于測試“大部分”UUTs。對于測試“大部分”以外的UUTs,隨著“大部分”以外的UUTs的數量和種類的增加,為了完成全部測試,需要使用的測試儀器的數量也會成直線彪升。在通用測試站中使用可編程儀器,可減少對測試“大部分”以外的UUTs的儀器數量甚至不再需要額外的測試儀器;PXI[1] FPGA板卡為測試站提供此種解決方案,如圖1。 圖1一個FPGA板卡可以替代多臺儀器
每一代新產品的電路復雜性、I/O密度和信號速率都在持續增高。工廠已經采納將串行總線應用在設計中作為一種減少需求最小化I/O密度和提高數據傳輸速率的方法。這些串行總線應用在PCBs布線中,用于連接微處理器和外設、傳感器和儲存器。在系統中,串行總線被用來控制設備和模塊。有很多串行總線可以應用在嵌入式系統設計中,例如I2C、SPI、Rapid IO和PCI Express,PCI Express可以通過背板/線纜在板卡或模塊之間通信。其他串行總線,例如 RS-232、RS-485、Ethernet和USB,支持遠距離通信。
可編程FPGA的靈活性 各式各樣的總線應用于電子產品中,在特殊行業會應用特殊的總線接口。例如,汽車產業使用CAN總線,軍用飛機使用MIL-STD-1553總線,商用飛機使用ARINC-429總線,空間電子使用MIL-STD-1553總線、SpaceWire總線和RapidIO總線。測試系統為了支持這些總線接口,需要專用的測試儀器。但是,測試系統可能會需要使用一臺測試設備支持多種總線結構,因為使用專用測試儀器會增加額外的系統空間、成本和測試系統復雜性。 若想采購支持每種總線結構的獨立儀器可以考慮可編程FPGA測試儀器,這種儀器可以通過合適的固件邏輯配置模擬指定的總線標準。有很多供應商針對這些總線結構提供IP內核邏輯,甚至是開源的,例如opencores.org[2] 。一旦開始運行,用于FPGA儀器的文件會被儲存在測試系統控制器的硬盤中。然后,當技術人員使用測試程序欲對UUT進行測試時,與接口IP有關的文件就會被加載到FPGA儀器中。最后,完成配置的FPGA板卡就可以用來測試UUT了。在測試完成后,FPGA板卡可以重置并用于不同的UUT測試,如圖2。 圖2 FPGA儀器功能 – 支持多種UUTs & 接口 除了使用指定的IP或IPs,測試工程師必須考慮不同總線對物理層(PHY)/電氣接口的要求,因為FPGA本身不具備接口電路顧一般不支持總線PHY的要求。下表列出了一些總線和對應的PHY接口。 表1 總線和對應的物理層接口 Bus Interface |
Physical Interface / Characteristics
|
MIL-STD 1553
|
Tri-axial, transformer coupled,
18 -26 Vpp output
|
ARINC 429
|
Differential, high voltage
|
RS-232
|
Unbalanced, bi-polar
|
RS-422 / RS-485
|
Balanced, bi-polar
|
CAN Bus
|
Differential, CAN bus specific XCVR
|
Ethernet
|
Differential, transformer coupled
|
USB
|
Differential, logic levels
|
I2C, SPI
|
Buffered, logic levels
|
SpaceWire
|
LVDS
|
SerDes
|
LVDS
|
如表中所列,每種總線都要求專用或緩沖物理層接口,這些要求都可以通過在FPGA模塊的子板卡上集成必須的接口實現。因為FPGA提供成百上千路I/O信號,所以構建可支持多種接口類型的子板卡是可能的。使用特定的接口子板卡時,基于FPGA的板卡是如何編程的,如圖3。 圖3 在單板卡中集成多種類型接口 測試應用舉例 FPGA儀器支持定制/自定義接口,促進了測試行業的發展,為驗證使用定制/自定義總線接口進行內部模塊通信的系統的內部的多種組件/模塊提供了一種解決方案。例如,一個客戶搭建了一個新測試系統,這個測試系統在一個機箱內包括多個板卡或模塊。機箱采用定制/自定義的串行背板,可用于在主板卡和從板卡之間進行通訊。板卡是使用FPGAs進行設計的,用于實現通信/控制功能并致辭串行接口邏輯,如圖4。 圖4基于FPGA的板卡和定制/自定義串行通信總線 這種測試系統的設計需要支持定制/自定義串行總線接口并考慮使用動態數字I/O接口或基于可編程FPGA的PXI板卡。與FPGA/板卡設計者一起工作的測試工程師會選擇嘗試基于FPGA的測試方案,將串行背板VHDL[3] 內核編入FPGA主板卡和FPGA從板卡中。使用安裝在子板卡中的電路限制并轉換FPGA信號電平以匹配UUT邏輯系列。通過PXI FPGA板卡的API訪問寄存器從而實現在PXI FPGA板卡和ATE控制器之間發送和讀取數據,這種訪問方法非常簡單。此外,FPGA板卡的結構分為兩個獨立的PCI總線接口,簡化總體設計和User FPGA的實現,如圖5。這中測試方案被證明是非常成功的,結束了數字I/O解決方案的時代。 圖5FPGA儀器結構 若要測試從板卡,主板卡必須將IP內核加載到FPGA中,這樣就可以允許測試儀器與所有從板卡進行通信和測試了,如圖6。 圖6FPGA儀器測試從板卡 同樣地,若要測試主板卡需要執行類似的操作步驟,從板卡將IP內核加載到FPGA中后,基于PXI的FPGA主板卡儀器將作為UUT被從板卡進行測試,如圖7。 圖7 FPGA儀器測試主板卡 以上說講述的測試方法可以應用于機箱測試。對于這種應用,使用商用總線接口與集成的系統或機箱進行通信。通過加載商用IP內核到PXI FPGA后,FPGA儀器就可以與機箱和機箱內相關板卡進行通信和監測了,如圖8。 圖8 FPGA儀器支持系統/機箱級測試
總 結 現今,測試工程師面對這不同領域的數字接口帶來的測試挑戰 。對于每種接口都要使用一臺相應接口的測試儀器的傳統測試方案不僅成本高、空間利用率低,而且還極大地限制靈活性。然而,通過使用基于可編程FPGA儀器的可編程測試設備,測試工程師可以實現使用單臺測試儀器應對現今和未來的多種數字接口帶來的挑戰。 參 考 [1] http://www.pxisa.org/specifications/ - PXI Hardware specification [2] http://www.opencores.org [3] IEEE 1076-2008 VHDL Standard
|