張建文
摘 要:為了豐富數(shù)字集成電路測試系統(tǒng)功能,實現(xiàn)上位機數(shù)據(jù)獨立傳送,本文采用ARM控制器,設(shè)計一套數(shù)字集成電路測試系統(tǒng)。首先,對ARM處理器進行簡要概述,其次,明確設(shè)計目標(biāo),提出系統(tǒng)設(shè)計方案,最后,制定系統(tǒng)調(diào)試步驟,并對其調(diào)試結(jié)果做出分析。調(diào)試結(jié)果表明:本文提出的數(shù)字集成電流測試系統(tǒng)設(shè)計方案滿足設(shè)計要求。
關(guān)鍵詞:ARM;數(shù)字集成電路測試;軟件架構(gòu)
中圖分類號:TP311 文獻標(biāo)志碼:A
近年來,數(shù)字集成電路逐漸融入人們的日常生活中,無論是農(nóng)業(yè)、工業(yè),還是服務(wù)業(yè)等,均離不開數(shù)字集成電路。目前,集成電路與我國國防建設(shè)、國民經(jīng)濟發(fā)展建立密切關(guān)系。為了保證國防建設(shè)與時俱進,提高國民經(jīng)濟發(fā)展速度,必須將數(shù)字集成電路作為重點研究對象,而ARM處理器是當(dāng)前應(yīng)用開發(fā)比較火熱的技術(shù),其在單片機基礎(chǔ)上增加了很多功能,本文將采用該項技術(shù),設(shè)計一套測試系統(tǒng)。
1 ARM處理器簡介
ARM處理器產(chǎn)品系列有很多,包括ARM9E、ARM10E、Cortex等。ARM體系結(jié)構(gòu)特征如下:
(1)寄存器較多,可根據(jù)開發(fā)人員需求,應(yīng)用于多個領(lǐng)域。
(2)體系結(jié)構(gòu)由兩部分構(gòu)成,分別是store、Load。
(3)支持多寄存器指令運行,包括store指令、Load指令。
(4)具備單時鐘周期運行,按照單條操作命令執(zhí)行任務(wù)。
(5)支持指令集的擴散,在編程模式中添加了數(shù)據(jù)類型和寄存器。
2 基于ARM的數(shù)字集成電路測試系統(tǒng)軟件設(shè)計
2.1 設(shè)計目標(biāo)
本次研究將選取ARM作為核心處理器,設(shè)計一套數(shù)字集成電路測試系統(tǒng),支持32管腳同時測試,保證其測量深度達到2M,測試頻率在20M左右。
2.2 設(shè)計方案
本次研究采用軟件開發(fā)工具為Visual Studio 2008,數(shù)據(jù)存儲與用戶信息設(shè)置采用的工具為SQL Server2008,ARM程序的開發(fā)與調(diào)試選取的工具為keill軟件,并通過USB口驅(qū)動程序。如圖1所示為測試系統(tǒng)軟件總體架構(gòu)設(shè)計。
2.2.1 上位機軟件層
該層次位于整個系統(tǒng)的最上端,與用戶直接接觸。用戶可以根據(jù)自身需求,設(shè)置測試項目信息、群組信息、個人信息等內(nèi)容。除此之外,上位機層支持測試結(jié)果的展示,使用上位機即可查看測試結(jié)果。
2.2.2 USB 驅(qū)動層
該層次位于整個系統(tǒng)的中間部分,主要用于驅(qū)動函數(shù),構(gòu)建上位機層與ARM層之間的通信連接,實現(xiàn)數(shù)據(jù)解析與編排,作為整個測試系統(tǒng)的運行的紐帶。
2.2.3 ARM 程序?qū)?/p>
該層次位于整個系統(tǒng)結(jié)構(gòu)的最下端,是整個系統(tǒng)運行的核心控制器,支持多個測試版同時運行程序,通過程序編寫,分別對各個控制板進行程序控制,從而達到預(yù)期目的。
關(guān)于系統(tǒng)軟件流程設(shè)計如下:
本次研究選取ARM作為核心控制器,通過編寫程序?qū)Ω鱾€模塊進行實時控制,利用USB總線實現(xiàn)數(shù)據(jù)發(fā)送,使其從上位機傳輸至ARM中。在其基礎(chǔ)上,利用ARM處理器將數(shù)據(jù)發(fā)送到擴展板上,或者將其發(fā)送至DTB板、TFB板,最后對交流參數(shù)、直流參數(shù)、多項功能進行測試,并對其測試結(jié)果進行分析。系統(tǒng)軟件流程設(shè)計如下:
第一步:打開測試工程;
第二步:判斷工程是否存在,如果存在,則執(zhí)行第四步,反之,執(zhí)行第三步;
第三步:構(gòu)建新的測試工程;
第四步:判斷USB總線連接是否存在問題,如果存在問題,則執(zhí)行第五步,反之,跳轉(zhuǎn)到第六步;
第五步:構(gòu)建USB總線連接;
第六步:測試系統(tǒng)初始化處理;
第七步:下載工程參數(shù);
第八步:運行程序;
第九步:芯片測試;
第十步:返回測試結(jié)果;
第十一步:判斷測試是否停止,如果已經(jīng)停止,反之,返回第九步;
第十二步:停止測試。
關(guān)于上位機軟件結(jié)構(gòu)的設(shè)計:
該部分設(shè)計同樣分為3個層次,分別是表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層。
(1)表示層設(shè)計
該層次的作用主要在于為用戶提供結(jié)果展示界面,該層次位于上位機軟件的最上層,與用戶直接接觸,用戶可以根據(jù)自身需求,通過參數(shù)設(shè)置與程序運行,從而獲取數(shù)據(jù)結(jié)果。
(2)業(yè)務(wù)邏輯層
該層次主要用于業(yè)務(wù)邏輯處理,通過數(shù)據(jù)計算,體現(xiàn)業(yè)務(wù)價值。此次設(shè)計將其設(shè)置在表示層與數(shù)據(jù)訪問層的中間,在兩者之間建立連接,從而實現(xiàn)業(yè)務(wù)交流。該層次是抽象出來的類,除了需要對數(shù)據(jù)進行驗證,判斷其合理性以外,還需要對其操作步驟的完整性進行探究,為用戶層提供數(shù)據(jù)調(diào)用工具。
(3)數(shù)據(jù)訪問層
該層次主要用于數(shù)據(jù)操作,根據(jù)實際需求,采取數(shù)據(jù)修改、刪除、添加、查找和更新等多項操作。主要負責(zé)數(shù)據(jù)庫系統(tǒng)的訪問,對XML文檔、文本文檔、二進制文檔的調(diào)整與控制。本次設(shè)計將其設(shè)計為數(shù)據(jù)庫操作類,為業(yè)務(wù)層提供數(shù)據(jù)資源。
3 系統(tǒng)調(diào)試步驟與結(jié)果分析
為了驗證本文提出的測試系統(tǒng)設(shè)計方案滿足相關(guān)需求,本文將對該系統(tǒng)進行調(diào)試,經(jīng)過調(diào)試,使其達到設(shè)計標(biāo)準(zhǔn)。
此次調(diào)試選取的調(diào)試環(huán)境為Windows 7,并安裝keill軟件。調(diào)試步驟如下:
第一步:運行ARM程序,測試系統(tǒng)功能,并分析數(shù)據(jù)結(jié)果。將測試結(jié)果與標(biāo)準(zhǔn)值進行對比分析,判斷其是否在誤差允許范圍之內(nèi),如果在該范圍內(nèi),則通過,無需調(diào)整,如果不在該范圍內(nèi),需要重新設(shè)置參數(shù),再次調(diào)試。
第二步:調(diào)試USB驅(qū)動層。利用USB,在上位機層與ARM層之間建立連接。在上位機層發(fā)出控制命令,根據(jù)命令內(nèi)容在ARM層編寫程序內(nèi)容,通過觀察程序執(zhí)行結(jié)果,檢驗上位機是否有相應(yīng)結(jié)果出現(xiàn),從而判斷USB是否連接正確,起到預(yù)期作用,如果異常,重新調(diào)試。
第三步:調(diào)試上位機層。該層次主要用于控制與結(jié)果驗收。以此,對其的調(diào)試方法為下達控制命令,在ARM層中檢驗是否接受到命令信息,另外,在USB層無誤的情況下,檢驗程序運行結(jié)果是否可以在該層次顯示,如果均無誤,則不用再次調(diào)試,反之,再次調(diào)試。
調(diào)試結(jié)果見表1。
結(jié)語
本文選取ARM作為核心控制器,對數(shù)字集成電流測試系統(tǒng)展開研究。本次研究將系統(tǒng)劃分為ARM程序?qū)?、USB驅(qū)動層、上位機層分別進行測試。其中,ARM程序?qū)佑糜谙到y(tǒng)控制程序編寫與執(zhí)行;USB驅(qū)動層用于構(gòu)建ARM程序?qū)优c上位機層通信連接;上位機層用于下達控制命令與結(jié)果展示。經(jīng)過調(diào)試,其結(jié)果表明本文設(shè)計的基于ARM的數(shù)字集成電路測試系統(tǒng)滿足設(shè)計要求。
參考文獻
[1]張紅升,王國裕,陸明瑩.基于MATLAB定點運算的數(shù)字集成電路協(xié)同設(shè)計方法[J].微電子學(xué),2017(1):87-91.
[2]郄君,韓曉倩,李顏鑫.基于ARM的遠程電能質(zhì)量監(jiān)測系統(tǒng)的研究與設(shè)計[J].電源技術(shù),2016,40(8):1703-1705.
[3]徐立艷.基于ARM和LabVIEW的網(wǎng)絡(luò)數(shù)據(jù)采集測試系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2016,39(5):24-27.