摘要:在軟硬件的開發(fā)階段中,測試結(jié)果直接關(guān)系到這個軟硬件能否順利進(jìn)行調(diào)試應(yīng)用。其中,硬件的測試往往容易受外界因素的影響,如環(huán)境、計(jì)算機(jī)設(shè)備等,可以通過一些仿真軟件來避免外界環(huán)境的影響,但是其測試速度比較慢,不利于硬件的開發(fā)進(jìn)度。面對這一難題,文章從FPGA 的軟硬件協(xié)同測試角度出發(fā),利用PC 機(jī)和測試硬件設(shè)備的特點(diǎn),進(jìn)行FPGA 的軟硬件協(xié)同測試的設(shè)計(jì),努力實(shí)現(xiàn)FPGA 的軟硬件協(xié)調(diào)測試系統(tǒng)在軟硬件的測試和分析中的應(yīng)用。
FPGA是現(xiàn)場可編程門陣列,是集成電路的一個新型門類,具有高度的靈活性、可現(xiàn)場定義相關(guān)數(shù)據(jù)存儲容的能力、可反復(fù)改寫程序等特點(diǎn)。在不久的將來,F(xiàn)PGA 將在很大程度上取代標(biāo)準(zhǔn)的數(shù)字集成電路,從而引起電子數(shù)據(jù)系統(tǒng)在設(shè)計(jì)方式上的變革,使其朝著集成電路的方向發(fā)展。目前,我國在計(jì)算機(jī)應(yīng)用領(lǐng)域方面對基于FPGA 的軟硬件協(xié)同測試的設(shè)計(jì)是比較重視的。
FPGA主要依賴于集成電路的發(fā)展,采用FPGA的數(shù)字化硬件設(shè)備,在圖像處理中的優(yōu)勢越來越突出。每一個新的計(jì)算機(jī)軟硬件產(chǎn)生,都必須經(jīng)過測試,合格后才能正式投入使用。由此可見測試對于計(jì)算機(jī)軟硬件設(shè)計(jì)開發(fā)的重要性。
1 系統(tǒng)框架設(shè)計(jì)
系統(tǒng)框架設(shè)計(jì)是整個系統(tǒng)設(shè)計(jì)的整體概念,在這個過程中設(shè)計(jì)者需要對整個軟硬件協(xié)同測試系統(tǒng)進(jìn)行全局把握,明確其系統(tǒng)設(shè)計(jì)目的,并運(yùn)用軟硬件協(xié)同測試原理,結(jié)合軟硬件協(xié)同測試的影響因素,PC 機(jī)與測試系統(tǒng)通信的設(shè)計(jì)及實(shí)時數(shù)據(jù)傳輸通道的設(shè)計(jì)來構(gòu)建其系統(tǒng)設(shè)計(jì)框架。
1.1 軟硬件協(xié)同測試原理
軟硬件協(xié)同測試是通過對PC機(jī)進(jìn)行模擬的設(shè)備輸入、輸出,來實(shí)現(xiàn)對硬件設(shè)備電路的測試。軟硬件協(xié)同測試避免了PC 機(jī)在仿真過程中花費(fèi)時間長的問題,充分利用了PC 機(jī)的系統(tǒng)資源,同時又發(fā)揮了硬件設(shè)備在電路工作過程中的高效,為硬件設(shè)備的測試提供了實(shí)時、高效的測試環(huán)境。
基于FPGA 的軟硬件協(xié)同測試是將PC 機(jī)與待測試硬件設(shè)備相連接,能夠?qū)C 機(jī)的資源充分利用,同時也能將硬件設(shè)備的高效工作速度發(fā)揮出來,可以實(shí)現(xiàn)實(shí)時、高效的雙向數(shù)據(jù)傳輸,并能廣泛地應(yīng)用于各種硬件設(shè)備的開發(fā)測試與分析。用戶在進(jìn)行硬件設(shè)備的測試過程中,可以根據(jù)自身的需求,對單向傳輸通道或是雙向傳輸通道進(jìn)行選擇。
1.2 軟硬件協(xié)同測試的影響因素
在進(jìn)行軟硬件協(xié)同測試過程中,需要對能夠影響其測試結(jié)果的相關(guān)因素進(jìn)行分析,盡可能地減少或是避免其影響因素對測試結(jié)果造成偏差。
1.2.1 測試系統(tǒng)與待測試硬件設(shè)備之間的接口方式
待測試硬件設(shè)備的接口一般不是固定不變的,具體的接口方式主要根據(jù)其硬件設(shè)備的使用對象而有所不同,如數(shù)據(jù)線的接口與主從控制的接口就有所不同,若為了方便軟硬件協(xié)同測試的進(jìn)行,需要對測試硬件設(shè)備的接口進(jìn)行相關(guān)的改進(jìn),使待測試硬件設(shè)備的接口標(biāo)準(zhǔn)化。
1.2.2 PC 機(jī)與測試系統(tǒng)的傳輸速度
在對待測試硬件設(shè)備進(jìn)行實(shí)時測試過程中,待測試硬件設(shè)備的數(shù)據(jù)傳輸速度起到?jīng)Q定性作用。據(jù)相關(guān)資料顯示,通常情況下,電視信號的數(shù)據(jù)量所要求的傳輸頻率是28Mbps,軟硬件協(xié)同測試過程中PC 機(jī)與待測試硬件設(shè)備之間的傳輸頻率必須在100 Mbps 以上,才能夠保證數(shù)據(jù)在PC 機(jī)與待測試硬件設(shè)備之間進(jìn)行實(shí)時傳輸。
1.2.3 雙向數(shù)據(jù)的實(shí)時傳輸
測試系統(tǒng)是模擬的待測試硬件設(shè)備在正常環(huán)境下的工作情況。所以,待測硬件設(shè)備的數(shù)據(jù)輸入、輸出等實(shí)時傳輸是對測試系統(tǒng)的最基本要求,也是保證硬件設(shè)備進(jìn)行測試結(jié)果的真實(shí)性。PC 機(jī)的數(shù)據(jù)傳輸與待測試硬件設(shè)備有所不同,前者的通信模式通常是不定時的、突發(fā)的,后者往往是連續(xù)的、不間斷的,因此,在實(shí)現(xiàn)數(shù)據(jù)的雙向?qū)崟r傳輸?shù)倪^程中,測試系統(tǒng)對PC 機(jī)的設(shè)計(jì)存在著很大的改進(jìn)空間。
1.3 PC 機(jī)與測試系統(tǒng)通信的設(shè)計(jì)
通常使用的USB、PCI 等數(shù)據(jù)接口可以保障PC 機(jī)與硬件設(shè)備測試系統(tǒng)之間的傳輸速度在100Mbps 以上。其中, PCI數(shù)據(jù)接口的傳輸數(shù)率比較高,但是不方便拔插,僅在一些計(jì)算機(jī)專業(yè)領(lǐng)域使用;USB數(shù)據(jù)接口的使用比較方便,是目前最普遍的數(shù)據(jù)接口。在硬件設(shè)備測試過程中,可以利用USB 數(shù)據(jù)接口的統(tǒng)一方便使用、即插即用、成本低廉等優(yōu)點(diǎn),將USB 作為其測試系統(tǒng)的數(shù)據(jù)接口。用戶在對硬件設(shè)備進(jìn)行檢測時,只需要將外設(shè)同PC 機(jī)以外的總線進(jìn)行連接,PC 機(jī)就可以對USB 數(shù)據(jù)接口的設(shè)備進(jìn)行自動識別安裝。目前使用的USB2.0的最大傳輸速度是480Mbps,可以滿足PC機(jī)與硬件設(shè)備測試系統(tǒng)之間的傳輸速度需求。同時,USB 數(shù)據(jù)接口可以簡化測試系統(tǒng)的相關(guān)設(shè)計(jì)方案,方便用戶操作,節(jié)省測試成本。
1.4 實(shí)時數(shù)據(jù)傳輸通道的設(shè)計(jì)
待測試硬件設(shè)備的數(shù)據(jù)輸入、輸出是兩個完全獨(dú)立的實(shí)時通信,而USB 數(shù)據(jù)接口的通信模式是突發(fā)性的。數(shù)據(jù)傳輸方式的不統(tǒng)一,容易造成數(shù)據(jù)包在傳輸過程中的丟失。使用USB數(shù)據(jù)接口就需要解決傳輸方式不同而導(dǎo)致數(shù)據(jù)在傳輸過程中的丟失,保證設(shè)備之間進(jìn)行數(shù)據(jù)實(shí)時傳輸和對輸出數(shù)據(jù)的結(jié)果進(jìn)行運(yùn)算。
2 控制電路設(shè)計(jì)
軟硬件協(xié)同測試的主要原理是對電路進(jìn)行控制,以達(dá)到其測試的目的。本文以FPGA 為控制器、參與硬件設(shè)備測試系統(tǒng)與USB 數(shù)據(jù)接口的控制芯相關(guān)協(xié)議為例,來進(jìn)行相關(guān)設(shè)計(jì)。其設(shè)計(jì)的出發(fā)點(diǎn)是根據(jù)待測試硬件設(shè)備的不同,設(shè)計(jì)出與之相適應(yīng)的數(shù)據(jù)接口電路。
在整個設(shè)計(jì)過程中,SDRAM 的控制器功能主要是通過FPGA來實(shí)現(xiàn)的,主要包括SDRA控制器通過識讀、存儲數(shù)據(jù)、讀取等操作所獲取的信號、數(shù)據(jù),來實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸通道。
2.1 請求發(fā)生器
SDRA控制器在每接收到8 個單位的數(shù)據(jù)后,就會向服務(wù)器發(fā)出一個關(guān)于寫的請求;每識讀出8 個單位的數(shù)據(jù)后,就會向相應(yīng)的服務(wù)器發(fā)出一個關(guān)于讀的請求。SDRA 的四個緩存分別用于兩對控制器發(fā)出的讀寫請求。
SDRA 控制器的構(gòu)造框架:USB 數(shù)據(jù)接口通過數(shù)據(jù)通道對請求發(fā)生器、刷新計(jì)數(shù)器進(jìn)行控制,當(dāng)信號發(fā)生器向請求發(fā)生器在兩個以上請求時,仲裁器就根據(jù)SDRA決定運(yùn)行的先后順序。
2.2 仲裁器
在請求發(fā)生器產(chǎn)生兩個及其以上的請求時,仲裁器會根據(jù)優(yōu)先級別來決定SDRA 執(zhí)行請求的先后順序,并將其反饋到請求發(fā)生器上。仲裁器的功能是保證數(shù)據(jù)傳輸通道的暢通。
2.3 有限狀態(tài)機(jī)
SDRA 控制的具體操作過程:狀態(tài)接收器在收到有關(guān)讀、寫命令后會將其狀態(tài)信息發(fā)送給信號發(fā)生器,進(jìn)行相關(guān)數(shù)據(jù)的輸入、輸出。
目前使用最廣泛的一種方式就是采用自動預(yù)充電的模式,主要步驟如下:(1)執(zhí)行200 納秒的空操作,來保障電源與時間信號的穩(wěn)定性;(2)對SDRA 控制器中的區(qū)進(jìn)行預(yù)充電操作;(3)執(zhí)行至少兩次刷新操作,保證仲裁器下達(dá)先后順序指令的正確性。
2.4 信號發(fā)生器
根據(jù)SDRA 控制器的狀態(tài)機(jī)來判斷信號發(fā)生器的狀態(tài),并隨之產(chǎn)生相應(yīng)的SDRA 信號,包括CS、A、RAS 等。
2.5 數(shù)據(jù)通道
對FPGA 與待測硬件設(shè)備、USB 數(shù)據(jù)接口、控制芯片和SDRA 控制器的處理,主要是通過SDRA 數(shù)據(jù)緩存來實(shí)現(xiàn)的。
3 軟硬件協(xié)同測試的實(shí)現(xiàn)
根據(jù)PC機(jī)與待測試硬件設(shè)備的優(yōu)缺點(diǎn),對硬件設(shè)備進(jìn)行測試過程中的影響因素分析,為達(dá)到更加真實(shí)的測試結(jié)果,進(jìn)行軟硬件協(xié)同測試的相關(guān)結(jié)構(gòu)組成部分的分析、測試過程中的各個部件的運(yùn)行流程設(shè)計(jì),形成了一個相對較準(zhǔn)確、高效的測試環(huán)境。對于這樣一個軟硬件協(xié)同測試系統(tǒng)的最終實(shí)現(xiàn),也需要經(jīng)過向普通軟硬件的產(chǎn)品生命周期,經(jīng)過產(chǎn)品的設(shè)計(jì)、開發(fā)、測試、調(diào)試等一系列過程。
3.1 協(xié)同測試系統(tǒng)
在軟硬件協(xié)同測試系統(tǒng)設(shè)計(jì)前期理念的前提下,對基于FPGA 的軟硬件協(xié)同測試的設(shè)計(jì)成果應(yīng)該進(jìn)行相應(yīng)的功能成果的驗(yàn)證。在計(jì)算機(jī)上面的相關(guān)軟件環(huán)境下完成FPGA 的文件配置下載和安裝后,形成一個軟硬件協(xié)同測試環(huán)境,再進(jìn)行相關(guān)順序的步驟操作,同時,應(yīng)該對其測試過程中的數(shù)據(jù)傳輸信號進(jìn)行監(jiān)控,以便與之前傳統(tǒng)硬件設(shè)備測試結(jié)果進(jìn)行對比,為基于FPGA的軟硬件協(xié)同測試的實(shí)現(xiàn)創(chuàng)造有利的數(shù)據(jù)條件。
3.2 系統(tǒng)調(diào)試
按照設(shè)計(jì)目標(biāo),在實(shí)際的系統(tǒng)調(diào)試過程中,需要根據(jù)實(shí)際的調(diào)試結(jié)果進(jìn)行相應(yīng)的修改。
3.3 協(xié)同測試系統(tǒng)的驗(yàn)證
協(xié)同測試系統(tǒng)的功能的可行性包含兩個方面的試驗(yàn)結(jié)果,一方面是協(xié)同測試系統(tǒng)功能在測試中的具體體現(xiàn),另一方面是協(xié)同測試系統(tǒng)對于數(shù)據(jù)傳輸?shù)乃俣鹊臏y定和分析。
協(xié)同測試系統(tǒng)功能在測試中的具體體現(xiàn):基于FPGA 的軟硬件協(xié)同測試通過了其內(nèi)部的各個模塊功能的設(shè)計(jì),說明了協(xié)同測試系統(tǒng)設(shè)計(jì)完全符合其設(shè)計(jì)之初的功能期望。
協(xié)同測試系統(tǒng)對于數(shù)據(jù)傳輸?shù)乃俣鹊臏y定和分析:只需要在FPGA 上運(yùn)行非常短的時間就能夠完成,表明在FPGA下的協(xié)同測試系統(tǒng)的初步設(shè)計(jì)構(gòu)成,可以將硬件設(shè)備的高效工作速度發(fā)揮出來,可以實(shí)現(xiàn)實(shí)時、高效的雙向數(shù)據(jù)傳輸,并能廣泛地應(yīng)用于各種硬件設(shè)備的開發(fā)測試與分析。
4 結(jié)語
隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,軟硬件協(xié)同測試越來越受到重視和關(guān)注,也成為計(jì)算機(jī)領(lǐng)域的軟硬件測試研究方向?;贔PGA 的軟硬件協(xié)同測試在具體的系統(tǒng)測試過程中容易受到FPGA 容量的限制,因此,基于FPGA 的軟硬件協(xié)同測試系統(tǒng)設(shè)計(jì)開發(fā)的重點(diǎn)在于其數(shù)據(jù)雙向傳輸?shù)乃俣?。本文從FPGA 的軟硬件協(xié)同測試的角度出發(fā),根據(jù)PC機(jī)和測試硬件設(shè)備的特點(diǎn)和影響其測試的因素,進(jìn)行FPGA 的軟硬件協(xié)同測試原理設(shè)計(jì)、控制電路設(shè)計(jì),并對軟硬件協(xié)同測試系統(tǒng)測試、調(diào)試等運(yùn)營結(jié)果進(jìn)行研究分析,使其最終能夠應(yīng)用于各種軟硬件設(shè)備的測試和分析中。
電子發(fā)燒友App














評論