??? 摘 要: 在介紹VXI總線協(xié)議的基礎(chǔ)上,通過對(duì)器件尋址,、端口地址譯碼,、DTB總線仲裁和中斷仲裁等幾部分工作原理的分析,提出了一種VXI寄存器基接口電路" title="接口電路">接口電路的實(shí)現(xiàn)方法" title="實(shí)現(xiàn)方法">實(shí)現(xiàn)方法,,并給出了用可編程邏輯器件實(shí)現(xiàn)的過程,。該接口電路已在多種VXI寄存器基器件中得到應(yīng)用。
??? 關(guān)鍵詞: VXI總線? 寄存器基? 地址修改碼
?
??? VXI(VMEbus eXtention for Instrumentation)總線[1]是一種完全開放的,、適用于各儀器生產(chǎn)廠家的模塊化儀器背板總線規(guī)范,。它具有高速數(shù)據(jù)傳輸、結(jié)構(gòu)緊湊,、配置靈活,、電磁兼容性好等優(yōu)點(diǎn),已成為高性能測試系統(tǒng)集成的首選總線,。VXI總線器件主要分為:寄存器基器件,、消息基器件和存儲(chǔ)器基器件。目前寄存器基器件在應(yīng)用中所占比例最大(約70%),,其實(shí)現(xiàn)方法在遵守VME協(xié)議的前提下,,根據(jù)實(shí)際需要各有不同。VXI接口電路用于實(shí)現(xiàn)器件的地址尋址,、總線仲裁,、中斷仲裁和數(shù)據(jù)交換等。設(shè)計(jì)VXI接口首先需明確尋址空間和數(shù)據(jù)線寬度,,VXI器件尋址有A16/A24,、A16/A32和A16三種。A16/A24尋址支持16M字節(jié)空間,A16/A32尋址支持4G字節(jié)空間,,A16尋址支持64字節(jié)地址空間,,但不論哪種尋址方式,A16尋址能力是不可缺的,。本文設(shè)計(jì)的VXI寄存器基接口電路是A16尋址的,支持D8和D16數(shù)據(jù)線傳輸,,有較寬的使用范圍,。其接口電路原理框圖如圖1所示。
?
1 DTB及DTB仲裁
??? DTB(數(shù)據(jù)傳輸總線)及DTB仲裁是VXI接口的核心,,DTB主要包括:尋址總線,、數(shù)據(jù)總線和控制總線。其主要任務(wù)是:①通過地址修改碼(AM)決定尋址空間和數(shù)據(jù)傳輸方式,。②通過DS0*,、DS1*、LWORD*,、A1控制數(shù)據(jù)總線的寬度[3],。③通過總線仲裁決定總線優(yōu)先使用權(quán)。
??? VXI總線器件在A16(16位地址)尋址時(shí),,有64字節(jié)的地址空間,,其中一部分作為器件配置寄存器地址(已具體指定)[1],其余可用作用戶電路端口地址,。每個(gè)器件的寄存器基地址[1]由器件本身唯一的邏輯地址來確定,。地址修改線在DTB周期中允許主模塊將附加的器件工作模式信息傳遞給從模塊。地址修改碼(AM)共有64種[3],,可分為三類:已定義修改碼,、保留修改碼和用戶自定義碼。在已定義的地址修改碼中又分為三種:①短地址AM碼,,使用A02~A15地址線,;②標(biāo)準(zhǔn)地址AM碼,使用A02~A23地址線,;③擴(kuò)展地址AM碼,,使用A02~A31地址線。A16短地址尋址主要是用來尋址器件I/O端口,,其地址修改碼為:29H,、2DH。
??? 圖2為VXI器件尋址電路圖,,其中U1為可編程邏輯器件,,其表達(dá)式為:VXIENA*=AS*+!IACK*!A14+!A15+!AM5+AM4+!AM3+AM1+!AM0;(!IACK*表示系統(tǒng)無中斷請(qǐng)求)。尋址過程為:當(dāng)VXI主模塊發(fā)出的地址修改碼對(duì)應(yīng)為29或2D,、總線上地址A6~A13和邏輯地址設(shè)置開關(guān)K1的設(shè)置相同并且地址允許線AS有效時(shí),,圖2中的MYVXIENA*有效(為低),表示本器件允許被VXI系統(tǒng)尋址,。在允許本器件尋址的基礎(chǔ)上(即MYVXIENA*有效),,再通過MYVXIENA*、A1~A5,、LWORD*,、DS0*、DS1*譯碼生成64字節(jié)地址,,根據(jù)VME總線協(xié)議可譯出單字節(jié)地址和雙字節(jié)地址[3],。協(xié)議規(guī)定:當(dāng)單字節(jié)讀寫時(shí),奇地址DS0*為低,、DS1*為高,,偶地址DS1*為低、DS0*為高,,LWORD*為高,;雙字節(jié)讀寫時(shí),DS0*和DS1*為低,、LWORD*為高,;四字節(jié)讀寫時(shí),DS0*,、DS1*和LWORD*都為低,。
?
??? DTB數(shù)據(jù)傳輸應(yīng)答主要依賴DTACK*和DS0*之間的互鎖性握手關(guān)系[3],而與數(shù)據(jù)線上有效數(shù)據(jù)什么時(shí)候出現(xiàn)無關(guān),,所以單次讀寫操作的速度完全決定應(yīng)答過程,。為適應(yīng)不同速度用戶端口讀寫數(shù)據(jù)的可靠性,本文采用由用戶端口數(shù)據(jù)準(zhǔn)備好線(DATREADY*)去同步DTACK?鄢應(yīng)答速度的方法來保證數(shù)據(jù)傳輸?shù)挠行?。該方法的?yōu)點(diǎn)是電路簡單,、使用方便,缺點(diǎn)是占用DTB時(shí)間長,,影響VXI系統(tǒng)性能,,且最長延時(shí)時(shí)間不得超過20μs。通常情況下用戶可通過數(shù)據(jù)暫存的方法實(shí)現(xiàn)數(shù)據(jù)可靠傳輸,,并使用戶端口數(shù)據(jù)準(zhǔn)備好線(DATREADY*)接地,。由于寄存器基器件在VXI系統(tǒng)中只能作為從模塊使用,所以其總線請(qǐng)求只有在該器件發(fā)生中斷請(qǐng)求時(shí)才由中斷管理模塊提出,。
2 中斷請(qǐng)求及仲裁電路
??? VXI系統(tǒng)設(shè)有七級(jí)中斷,,優(yōu)先中斷總線包括:①中斷請(qǐng)求線IRQ1*~I(xiàn)RQ7*;②中斷應(yīng)答線IACK*;③中斷應(yīng)答輸入線IACKIN*,;④中斷應(yīng)答輸出線IACKOUT*,。從系統(tǒng)的角度看,在VXI系統(tǒng)中有一個(gè)成菊花鏈" title="菊花鏈">菊花鏈的中斷查詢系統(tǒng)[1],。當(dāng)VXI系統(tǒng)中有中斷請(qǐng)求時(shí),,中斷管理器" title="管理器">管理器使中斷應(yīng)答信號(hào)IACK*有效(置低),并送往菊花鏈驅(qū)動(dòng)器,,菊花鏈驅(qū)動(dòng)器使輸出IACKOUT*有效,,送至相鄰的下一個(gè)器件。如果相鄰器件沒有中斷請(qǐng)求,,則該器件的IACKOUT*輸出仍為低,,繼續(xù)向下一個(gè)相鄰器件傳送,;當(dāng)此器件有中斷請(qǐng)求時(shí),,所以其輸出IACKOUT*為高,進(jìn)入中斷過程,,并屏蔽后級(jí)器件的中斷應(yīng)答,。
??? 為實(shí)現(xiàn)中斷請(qǐng)求和中斷仲裁,每個(gè)器件的中斷仲裁電路應(yīng)完成的功能為:①產(chǎn)生中斷請(qǐng)求,;②上傳狀態(tài)/識(shí)別碼,;③屏蔽后級(jí)中斷應(yīng)答。本文設(shè)計(jì)的中斷仲裁電路如圖3所示,。其中TX1~TX3來自中斷號(hào)選擇跳線器,,INNER-IRQ為器件內(nèi)部用戶電路中斷請(qǐng)求信號(hào),上升沿有效,。中斷請(qǐng)求過程分如下四步:(1)在系統(tǒng)復(fù)位或中斷復(fù)位(來自控制寄存器)后,,IRQOPEN*為“1”使比較電路輸出“1”,使中斷應(yīng)答菊花鏈暢通,,且譯碼電路不工作,。(2)當(dāng)本器件內(nèi)有中斷請(qǐng)求時(shí),使IRQOPEN*為“0”,,則譯碼電路根據(jù)中斷置位開關(guān)的設(shè)置輸出相應(yīng)中斷請(qǐng)求信號(hào)IRQx*,。當(dāng)中斷管理器接收中斷請(qǐng)求信號(hào)后使IACK*有效,并送往中斷菊花鏈驅(qū)動(dòng)器使之輸出IACKOUT*有效,,同時(shí)中斷管理器請(qǐng)求DTB總線使用權(quán),。(3)當(dāng)中斷管理器獲得DTB使用權(quán)后,根據(jù)接收到的中斷請(qǐng)求信號(hào),,在地址允許線AS*作用下在地址線上輸出相應(yīng)的A1~A3地址,,使比較器輸出“0”,從而使IACKOUT*變高,屏蔽后續(xù)中斷,,并清除本器件內(nèi)部中斷請(qǐng)求,。(4)中斷管理器使數(shù)據(jù)允許信號(hào)DS0*為低,讀出器件狀態(tài)/識(shí)別碼,,響應(yīng)中斷,,同時(shí)在DS0*的上升沿清除中斷請(qǐng)求(使IRQOPEN*為“1”),接通中斷應(yīng)答菊花鏈,,進(jìn)入中斷過程,。
?
3 可編程器件" title="可編程器件">可編程器件實(shí)現(xiàn)和調(diào)試
?? ?為了克服用中小規(guī)模集成電路實(shí)現(xiàn)VXI接口電路存在的體積大、可靠性差和可調(diào)試性差等不足,,可采用可編程器件實(shí)現(xiàn)接口電路,。本文采用的器件是ALTERA公司的MAX系列,采用的器件可編程軟件平臺(tái)是MAX+plusⅡ,。MAX+plusⅡ在編程上提供了多種電路描述形式[4],,主要有圖形描述、AHDL描述和VHDL描述等,。本文采用圖形描述和AHDL描述相結(jié)合的描述方法,。接口電路的主框架結(jié)構(gòu)和能夠用標(biāo)準(zhǔn)元件表述的子模塊電路用圖形描述方法設(shè)計(jì),部分功能子模塊用AHDL語言描述,。這種設(shè)計(jì)方式的電路原理結(jié)構(gòu)直觀,、功能描述簡潔。VXI接口電路硬件描述子程序模塊由地址修改碼器件尋址,、端口地址譯碼,、中斷請(qǐng)求及控制、寄存器配置四部分組成,。
??? 在VXI器件中,,寄存器配置步驟是必不可少的, VXI寄存器基器件主要配置寄存器有:識(shí)別/邏輯地址寄存器,、器件類型寄存器,、狀態(tài)/控制寄存器。在接口電路的性質(zhì)特性明確的前提下,,寄存器基器件的配置是確定的[1],,所以直接在可編程器件中實(shí)現(xiàn),且更改也很方便,。以下列出的是VXI寄存器基接口電路的主要邏輯表達(dá)式(用AHDL語言格式):
??? VXIENA=AS#!IACK#!A14#!A15#!AM5#AM4#!AM3#AM1#!AM0;
??? MYVXIENA=VXIENA#(A6$Q0)#(A7$Q1)#(A8$Q2)#(A9$Q3)#(A10$Q4)#(A11$Q5)#(A12$Q6)#(A13$Q7);
??? ACKED=(TX1$A1)#(TX2$A2)#(TX3$A3)#IACK#!SYSRST#!IRQPEND#AS#IACKIN;
??? DTACKNODE=!(DS0&DS1#MYVXIENA&ACKED);
??? DTACK = DFF(DTACKNODE, SYSCLK, VCC, VCC);
??? IOENA=MYVXIENA#DS0&DS1#!LWORD;
??? IACKOUT=AS#IACKIN#!ACK;
?? ?需要注意的是,,在使用中由于部分信號(hào)線與VXI背板總線連接時(shí)需要采用集電極開路方式接入[3],如DTACK*,、SYSFAIL*,、BRx*等,,所以應(yīng)增加一級(jí)集電極開路門電路后再與VXI背板總線連接。
?? ?接口電路調(diào)試有兩種形式,,一是利用LabWindow/CVI開發(fā)工具[5]預(yù)先編好一個(gè)帶操作軟面板的調(diào)試程序,,它包含有各項(xiàng)功能調(diào)試控件和相關(guān)信息顯示窗。在調(diào)試電路時(shí)只需根據(jù)提示在軟面板上操作,,就可及時(shí)得到信息顯示,。這種調(diào)試電路方法方便、直觀,,但由于調(diào)試程序的封裝會(huì)使得調(diào)試細(xì)節(jié)不透明,。另一種形式是在NI公司提供的VXI資源管理器中對(duì)端口電路進(jìn)行操作、調(diào)試,。這種方法是硬件開發(fā)人員主要采用的形式,。主要過程為:先打開T&M Explore對(duì)VXI系統(tǒng)初始化;啟動(dòng)VXI InterActive Control面板,,在Bus Access中通過修改偏移地址(Offset),、輸出值(Value)和觀察輸入值來對(duì)接口電路進(jìn)行調(diào)試。在調(diào)試過程中,,為便于數(shù)據(jù)或波形的穩(wěn)定測試,、觀察,,一般將輸出數(shù)據(jù)的循環(huán)次數(shù)(count)設(shè)成一個(gè)較大數(shù),。這種調(diào)試方式雖然不很直觀,但卻非常靈活,,容易發(fā)現(xiàn)硬件電路細(xì)節(jié)不足,。
?? ?在VXI接口電路設(shè)計(jì)方面,只要遵循VXI總線協(xié)議,,其具體實(shí)現(xiàn)方法多種多樣,。本文從VXI總線協(xié)議出發(fā)詳細(xì)闡述了一種VXI寄存器基接口電路的設(shè)計(jì)方法和工作原理,并介紹了可編程器件實(shí)現(xiàn)方法和調(diào)試方法,。用可編程電路使VXI接口電路模塊化,、格式化,可縮短VXI總線器件的研制周期,、縮小器件體積,,提高器件的可靠性。該接口電路已在VXI數(shù)字I/O,、VXI特征分析儀中使用,。隨著儀器儀表技術(shù)、虛擬儀器技術(shù)的發(fā)展,,VXI總線作為高性能測試系統(tǒng)儀器的背板總線,,將在航空航天,、雷達(dá)、通訊等領(lǐng)域的測試中占據(jù)越來越重要的地位,,開發(fā)高性能VXI總線器件是目前較熱門的研究方向,。
參考文獻(xiàn)
1 陳 光. VXI總線測試平臺(tái)技術(shù). 成都:電子科技大學(xué)出版社,1996
2 中國計(jì)算機(jī)自動(dòng)測量與控制技術(shù)協(xié)會(huì). VXI總線測試系統(tǒng).北京:宇航出版社,,1992
3 傅 平.美國國家標(biāo)準(zhǔn)——通用背板總線:VME總線IEEE標(biāo)準(zhǔn).哈爾濱工業(yè)大學(xué)內(nèi)部資料,,1984
4 黃正謹(jǐn).CPLD系統(tǒng)設(shè)計(jì)技術(shù)入門與應(yīng)用.北京:電子工業(yè)出版社,2002
5 LabWindow/CVI User’s Manual. National Instruments Corporation,2001