
該功能模塊對(duì)VXI背板總線中的控制信號(hào)進(jìn)行組態(tài),為標(biāo)準(zhǔn)數(shù)據(jù)傳輸周期提供時(shí)序及控制信號(hào)(產(chǎn)生數(shù)據(jù)傳輸使能信號(hào)DBEN*,總線完成數(shù)據(jù)傳輸所需的應(yīng)答信號(hào)DTACK*等)。在進(jìn)行數(shù)據(jù)傳輸時(shí),系統(tǒng)控制者首先對(duì)模塊進(jìn)行尋址,并將相應(yīng)的地址選通線AS* , 數(shù)據(jù)選通線DS0*、DS1*以及控制數(shù)據(jù)傳輸方向的WRITE *信號(hào)線等設(shè)置為有效電平。當(dāng)模塊檢測(cè)到地址匹配及各控制線有效后,驅(qū)動(dòng)DTACK*為低電平,以此向總線控制者確認(rèn)已經(jīng)將數(shù)據(jù)放置在數(shù)據(jù)總線上(讀周期) 或已經(jīng)成功地接收到數(shù)據(jù)(寫周期)。
AHDL部分程序如下:
vxi_write:MACHINE OF BITS(dben,dlatch,dtack) WITH STATES
(s0=b"111",s1=b"011",s2=b"001",s3=b"010",s4=b"110");
………
WHEN s0=>
IF !caddr AND !ds0 AND !ds1 THEN vxi_write=s1;
ELSE vxi_write=s0;
END IF;
WHEN s1=>
IF !write THEN vxi_write=s2;
ELSE vxi_write=s3;
END IF;
WHEN s2=>
vxi_write=s3;
WHEN s3=>
IF ds0 or ds1 THEN vxi_write=s4;
ELSE vxi_write=s3;
END IF;
WHEN s4=>
vxi_write=s0;
狀態(tài)機(jī)仿真出的讀、寫周期時(shí)序分別如圖4和圖5所示:
2.4 配置及操作寄存器組
該部分實(shí)現(xiàn)VXI總線標(biāo)準(zhǔn)規(guī)范對(duì)寄存器基器件所提出的要求,包括識(shí)別寄存器、器件類型寄存器、狀態(tài)寄存器、控制寄存器以及根據(jù)功能電路的需要,由用戶自己定義的與器件相關(guān)的操作寄存器組。下面僅以識(shí)別寄存器為例,來說明它和總線的連接。如圖6所示:
識(shí)別寄存器是只讀寄存器,由信號(hào)IDREG*來控制。采用靜態(tài)配置(SC)的方法,即在FPGA內(nèi)部預(yù)先將協(xié)議規(guī)定的內(nèi)容鎖存在16位D觸發(fā)器中,當(dāng)選通信號(hào)到來時(shí)將鎖存器中的內(nèi)容輸出到數(shù)據(jù)總線上。它的配置信息如表1所示。
3 結(jié)束語
上面介紹的VXI總線寄存器基接口電路中四個(gè)部分:總線緩沖驅(qū)動(dòng)、尋址和譯碼電路、數(shù)據(jù)傳輸應(yīng)答狀態(tài)機(jī)、配置及操作寄存器組,除總線緩沖驅(qū)動(dòng)外,其余功能都可以用FPGA來實(shí)現(xiàn)。采用FPGA后接口電路的設(shè)計(jì)大大簡(jiǎn)化了,這就可以使VXI模塊的開發(fā)者將主要精力集中在具體的功能實(shí)現(xiàn)上,縮短了模塊的開發(fā)周期。實(shí)踐證明,采用FPGA技術(shù)可實(shí)現(xiàn)高靈活性的VXI總線硬件接口電路,并能大大減少接口電路所占的印刷板空間,且具有良好的通用性。它提高了VXI總線虛擬儀器系統(tǒng)的集成度和可靠性,電路調(diào)試手段靈活,使用方便,工作效率得到很大提高。





