黨曉軍
(水利部發(fā)展研究中心,北京 100053)
過去的幾十年內,我國從國外引進了一些自動化系統(tǒng)和設備,其中軍方和火力發(fā)電廠是主要的引進單位。這些設計芯片自成體系,典型的以微處理器 1806BM 系列為核心,總線收發(fā)器、鎖存器、中斷控制器等形成自己獨立的通信和控制設備。隨著時間的推移,備件也幾乎耗盡,為了維護系統(tǒng)的正常運行,必須進行板級的替代,替代板量很大,由不同的單位完成,而一些核心、加解密設備又只能由總裝單位管理,因此如何保證替代板的研制正確率,如何測試替代板是一個迫切的問題。
對批量生產的廠家而言,即使有1套完整的設備,可是如果每個人研制的替代板都要上設備插拔,一是影響其它人的測試,二是如果有錯誤會產生誤動作,影響設備壽命。因此,有1套直接測試的簡易設備,以自己的固定序列形成測試庫是很有必要的。
目前我們國家仍然引進不少的設備,這些設備仍然堅持自己的芯片和系統(tǒng),因此將來還存在板級、芯片的替代,研制的數字電路板測試診斷系統(tǒng)(以下簡稱 TE3)仍然有使用空間。
TE3主要針對中小規(guī)模數字邏輯芯片構成的電路板,實現組合和時序等邏輯網絡的邏輯功能正確性的測試檢查,為專業(yè)技術人員診斷數字電路板故障,查找故障元件提供多種技術手段。
TE3主要針對特定的數字電路板(中小規(guī)模芯片)進行設計,由自動測試設備(ATE)、測試程序集(TPS)和測試運行環(huán)境(TE)3個主要部分組成[1]。
ATE 主要用于提供一個實現電路板功能測試和故障診斷的自動化平臺,作用是通過針對被測對象編寫專門的測試程序和運行環(huán)境來完成的。ATE 由PC 計算機、通信接口、自動測試控制部件和管理程序組成。PC 計算機通過通信口與自動測試控制部件交換信息[2]。自動測試控制部件接受 PC 機的命令,測試數據流,生成測試向量,將測試向量輸出到標準版和故障板;接受標準版和故障板的輸出向量回送給 PC 機[3]。測試程序集由測試診斷程序、引導測試操作和 TPS 執(zhí)行文檔組成[4]。
測試運行環(huán)境包括 TPS 結構說明、測試編程手段,以及測試診斷向量設計需求的標準描述格式和測試方案信息。
TE3采用功能測試法,直接利用電路板的輸入和輸出端口作為激勵和響應點,對測試和標準2種樣本在相同的環(huán)境下使用相同的測試序列同時進行測試,并回收兩者的輸出序列,用計算機比對兩者輸出,以判定被測試樣本的邏輯功能是否正確。設備連接關系如圖1所示。
圖1 設備連接關系圖
PC 程序采用 VC 和 VB 混合編程,底層通信程序使用 VC[5],界面使用 VB[6]。界面是編輯波形序列,通過點擊波形使其在 0,1之間進行取舍。界面容量可以達20000個時序[7]。通過人工編輯可以形成測試向量庫,并形成測試經驗庫[8]。VC 主要完成和單片機之間的雙向通信程序,通信的順序如下:選擇測試向量→形成測試流→采用乒乓方式通信→測試設備序列→形成顯示。其中乒乓通信保證了發(fā)送方和接受方的實時切換。顯示內容放在1個大的緩沖區(qū)中,緩沖區(qū)在充滿后實時寫入硬盤。乒乓通信方式實現原理如下:設 A 和 B 兩個緩沖區(qū),在發(fā)送 A 緩沖區(qū)的數據之后,立即讀取 B 緩沖區(qū)的數據,此時單片機處理 A 區(qū)的數據形成測試向量加載,讀單片機 B 的同時,A 區(qū)也寫滿了加載向量的測試結果。乒乓機制必須保證1個讀寫的啟動,形成一種兵乓連續(xù)的讀寫機制,保證測試數據的發(fā)送和接收的準實時[9]。
讀寫機理:初始化 A,B;發(fā) A,B,循環(huán)開始讀 A,發(fā) A,讀 B,發(fā) B,最后讀 B 即可。
通信協(xié)議格式如圖2所示。
圖2 通信協(xié)議格式
數據生成主要由主界面完成,在主界面上可以對相應位上、通道上的測試序列進行點擊修改,并作為測試文件保留在歷史庫,測試文件以時間到秒命名并保留。
VB 程序完成數據矢量的編輯和測試結果的顯示[10]。
系統(tǒng)主界面可以對時序信號點擊編輯,隨時讓某個時間點的輸入信號變化,也可以選擇某列使整個列的信號變化。界面以外的信號可以通過滾動條觀察,使用比較方便。界面可以單步設置斷點,對某個時間界面上的信號持續(xù)觀察,也可以循環(huán)對1段信號連續(xù)發(fā)送觀察,適合電路板的調試。
單片機采用 CF8051F120系列單片機。該單片機提供 USB 驅動,并有豐富的 I/O 接口,可以保證對外部設備的擴展。對 I/O 口采用統(tǒng)一編址的方法,逐一讀取其 I/O 上的電平,并進行輪詢。工作過程中為了保證電源加載安全,給出上述協(xié)議中類型位為 0和 1,分別是電源的加載和去載。每次完成測試,都有這個過程。形成測試結果送 PC 機顯示保存。
目前 TE3已經用于某型系統(tǒng)國內板級仿制測試。為了安全考慮,不能對仿制、替代的電路板直接運行系統(tǒng)調試,必須在對仿制板的線下測試可靠后,才允許上機替代。TE3可為線下測試提供可靠的保障。
未來以 TE3測試設備為基礎,建立以 PC 為基本測試點的網絡測試系統(tǒng),可形成遠程故障和診斷系統(tǒng),如圖3所示。
圖3 網絡測試結構圖
中心站通過通用網絡,建立各個測試點的測試和反饋向量數據庫,并在一定的時段向測試點發(fā)出測試指令,檢查測試點上傳的向量,對測試點板級設備進行診斷,實時了解遠程設備的運行情況。
網絡點之間協(xié)議交換格式如圖4所示。
圖4 網絡點之間協(xié)議交換格式
接收方根據目的地址,判定自己是否是節(jié)后指令,并提取檢測次數和開始時間,根據檢測序列號對設備進行檢測,檢測后的結果存入用戶根據歷次測試形成的分類庫,該庫由系統(tǒng)自動生成,用戶只要按存入按鍵即可,并通過網絡上報中心節(jié)點。
上報中心節(jié)點協(xié)議交換格式,交換以大文件的方式上傳,如圖5所示。
圖5 網絡上報傳輸測試結果楨結構圖
本測試診斷系統(tǒng),目前主要針對數字和通信系統(tǒng)測試,對于模擬系統(tǒng)尚未展開,以后可以進行擴充,現在正在用 PCI-E 總線替代 USB,這樣測試理論速率可達 G 級。運用本系統(tǒng)可以對任意序列組合進行單步和循環(huán)的發(fā)送,直接對結果在標準電路板和測試電路板間進行比對,給出故障信號的來源,大大提高了電路板設計和調試的效率,可以推廣應用在各個電子設計領域。目前已經在工信部第十五研究所應用,效果良好,現正在和水利信息領域的專家接洽,希望在水利領域推廣。
長江微電子技術(大連)股份有限公司針對FPGA(現場可編程門陣列)電路板的測試和仿真、邏輯判斷技術先進,已經取得國家發(fā)明專利,但缺少系統(tǒng)可編輯的序列輸入,不能滿足設計者根據自己的邏輯反復測試和試驗的要求。
數字電路板測試診斷系統(tǒng)有待完善的地方:FPGA CPLD 等大規(guī)模邏輯電路,基于 Verilog 語言的設計,可以針對其 Verilog 程序的編譯系統(tǒng)在系統(tǒng)內加入,這樣根據其綜合生成邏輯門級電路,可以將信號逐級傳送,推導各個點直至出口信號,形成真正的職能診斷系統(tǒng)。
[1] Cygnal Integrated Products,Inc.C8051F 單片機應用解析[M].北京:北京航空航天大學出版社,2002: 43-49.
[2] 潘琢金,施國君.C8051Fxxx 高速 soc 單片機原理及應用[M].北京:北京航空航天大學出版社,2002: 52-63.
[3] 閻石.數字電子技術基礎[M].5版.北京:高等教育出版社,2006: 70-100.
[4] 賴麒文.8051單片機 C 語言軟件設計的藝術[M].北京:科學出版社,2002: 87-95.
[5] Jan Axelson.USB 開發(fā)大全[M].李鴻鵬,鄭瑞霞,陳香凝,等譯.北京:人民郵電出版社,2011: 30-50.
[6] CSDN gaokaji16.VC 下 USB 編程[EB/OL].[2013-04-15].http://download.csdn.net/detail/v200x/4133499.
[7] CSDN weirdyouyang.USB2.0協(xié)議 (英文版)[EB/OL].[2013-04-15].http://download.csdn.net/detail/lingess/3500079.
[8] 龔正虎.測試序列生成的形式方法[J].計算機工程與應用,1996(2): 1-2.
[9] CSDN bloghome.VC 多線程編程技術資料集[EB/OL].[2013-04-15].http://download.csdn.net/detail/bloghome/1169588.
[10] CSDN manjixingkong.VB 界面設計[EB/OL].[2013-04-15].http://download.csdn.net/detail/manjixingkong/437095.