1.4 實(shí)時(shí)數(shù)據(jù)傳輸通道的設(shè)計(jì)
待測試硬件設(shè)備的數(shù)據(jù)輸入、輸出是兩個(gè)完全獨(dú)立的實(shí)時(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í)傳輸和對輸出數(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ù)接口電路。
在整個(gè)設(shè)計(jì)過程中,SDRAM 的控制器功能主要是通過FPGA來實(shí)現(xiàn)的,主要包括SDRA控制器通過識讀、存儲數(shù)據(jù)、讀取等操作所獲取的信號、數(shù)據(jù),來實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸通道。
2.1 請求發(fā)生器
SDRA控制器在每接收到8 個(gè)單位的數(shù)據(jù)后,就會向服務(wù)器發(fā)出一個(gè)關(guān)于寫的請求;每識讀出8 個(gè)單位的數(shù)據(jù)后,就會向相應(yīng)的服務(wù)器發(fā)出一個(gè)關(guān)于讀的請求。SDRA 的四個(gè)緩存分別用于兩對控制器發(fā)出的讀寫請求。
SDRA 控制器的構(gòu)造框架:USB 數(shù)據(jù)接口通過數(shù)據(jù)通道對請求發(fā)生器、刷新計(jì)數(shù)器進(jìn)行控制,當(dāng)信號發(fā)生器向請求發(fā)生器在兩個(gè)以上請求時(shí),仲裁器就根據(jù)SDRA決定運(yùn)行的先后順序。
2.2 仲裁器
在請求發(fā)生器產(chǎn)生兩個(gè)及其以上的請求時(shí),仲裁器會根據(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 納秒的空操作,來保障電源與時(shí)間信號的穩(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)組成部分的分析、測試過程中的各個(gè)部件的運(yùn)行流程設(shè)計(jì),形成了一個(gè)相對較準(zhǔn)確、高效的測試環(huán)境。對于這樣一個(gè)軟硬件協(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 的文件配置下載和安裝后,形成一個(gè)軟硬件協(xié)同測試環(huán)境,再進(jìn)行相關(guān)順序的步驟操作,同時(shí),應(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)的功能的可行性包含兩個(gè)方面的試驗(yàn)結(jié)果,一方面是協(xié)同測試系統(tǒng)功能在測試中的具體體現(xiàn),另一方面是協(xié)同測試系統(tǒng)對于數(shù)據(jù)傳輸?shù)乃俣鹊臏y定和分析。
協(xié)同測試系統(tǒng)功能在測試中的具體體現(xiàn):基于FPGA 的軟硬件協(xié)同測試通過了其內(nèi)部的各個(gè)模塊功能的設(shè)計(jì),說明了協(xié)同測試系統(tǒng)設(shè)計(jì)完全符合其設(shè)計(jì)之初的功能期望。
協(xié)同測試系統(tǒng)對于數(shù)據(jù)傳輸?shù)乃俣鹊臏y定和分析:只需要在FPGA 上運(yùn)行非常短的時(shí)間就能夠完成,表明在FPGA下的協(xié)同測試系統(tǒng)的初步設(shè)計(jì)構(gòu)成,可以將硬件設(shè)備的高效工作速度發(fā)揮出來,可以實(shí)現(xiàn)實(shí)時(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ù)乃俣取1疚膹腇PGA 的軟硬件協(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è)備的測試和分析中。
評論