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















評(píng)論