劉飛
(中國電子科技集團第29所,四川成都,611731)
關鍵字:通用測試;FPGA;微波測試
一個電子系統通常包含接收天線、微波前端(放大)、微波下變頻、信號處理、信號上變頻、信號發射、發射天線等部分。我們把這些各個功能部分叫做某分機或模塊,各個分機(模塊)都需要各自解決自己的測試問題,以便后續總體部門進行集成。
我們將常用的分機(模塊)的接口梳理如下表1所示。

表1 常見的分機模塊接口表
從上面的統計看,被測試設備的射頻輸入都可以用傳統通用信號源、輸出可以用頻譜儀,這些儀器也可以程控來作為自動測試部分,這個方面借助現在的網線、GPIB控制現在都能實現很好的通用化,這部分在自動測試領域討論得非常多。但是其中的數字類接口由于定制通信協議、定制控制時序等,很難實現通用化。雖然市場有很多第三方板卡(如數字IO,數據采集卡,串口卡)等能夠部分實現產生時序,控制等功能,但是離通用化還有一段距離。本文就提一種把數字模塊實現通用化的設計思路。
多年的工程實踐,接口部分技術發展快,外部接口變化也快,對外部接口的種類數量要求有不確定性,我們提出一個較為激進的辦法,叫物理接口飽和設計。大致就是統計一些可能會測試到的對象的具體接口形式、控制總線種類,采用其中最多的一種組合并且保留一定余量。
圖1為一種接口設計需求,其中包括如RS232、TTL電平接口、LVTTL電平接口、LVDS、MLVDS、SRIO等接口。其中需要數量都按照可能需要數量的最大值來設計硬件,以保證硬件端口足夠,為后續FPGA編程留下空間。

圖1 通用化的測試硬件接口部分
主要核心為兩個可編程的FPGA器件,一個用flash加載固定軟件,負責和計算機通信;另一片FPGA采用PC計算機配置軟件,在這一片上設計各種測試接口,有些接口通過FPGA直接實現,有些通過接口芯片連接實現(如上圖1),用FPGA編程來實現對各種接口的靈活使用。

表2 各種接口用的芯片一覽
板卡和計算機配合,在計算機上通過通用的總線如PCI總線(USB總線)來實現計算機和板卡之間的通信。再將計算機的命令通過FPGA轉譯成和對應端口相匹配的數據格式和命令,發出給被測試設備。在數據接收時正好相反,各接口接收到被測試件發送的數據,在轉換格式通過PCI總線(USB總線)轉給計算機顯示或記錄。這樣實現計算機和被測試件之間的通信。
采取方法:FPGA軟件采用多個,為了能在一個測試臺快速的切換多個被測試對象,在PC計算機端進行多個FPGA軟件的在線配置,滿足一個工作臺在多個測試設備需求下的靈活切換。在線配置FPGA的硬件設計示意如下圖圖2所示。

圖2 FPGA的在線配置硬件示意圖
要對FPGA進行動態配置,必須正確連接M2、M1、M0三個配置模式管腳,硬件上正確連接CCLK、PROG_B、DIN、CS_B、RDWR_B、INIT_B、DONE、BUSY等信號,其中CCLK、PROG_B、DONE等信號要進行相應的上下拉處理。
在操作人員需要更換FPGA程序是,在人機交互界面上選擇新的軟件,通過總線下發給XC2VP40芯片,芯片將BIT文件格式進行轉換,并且產生加載時序(如圖3),加載給XC4VFX60,這樣就在線更新了FPGA軟件,適應新的測試對象的需求。

圖3 在線配置FPGA時序
在通用化的指導思想下,我們實際設計了多款基于PCI總線的測試板卡,如下圖4為其中之一。

圖4 通用測試板卡
此板卡將TTL,LVTTL、LVDS,RS232串口總線等通信需求融合到一起,實現了多個產品共用。實例中的產品沒有實現軟件的在線配置,但是效果已經非常不錯,測試常見種類的模塊覆蓋率可以到80%左右。更新的具有重加載功能的辦卡也已經設計下圖。預計測試覆蓋效果會高于95%。
在測試通用性領域,大家對通用儀器,程控儀器等討論比較多,但是在實際過程中,我們發現除了通用儀器控制,軟件需要通用之外,還有數字板卡的通用設計討論較少。雖然很多第三方測試產品中有類似的產品,很難實現高靈活性的使用。作者在硬件設計領域從業,根據多年工作總結,提出一點這方面通用設計思路,算是拋磚引玉,供大家一起討論。