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