一種實(shí)用的VXI總線(xiàn)寄存器基接口電路的設計
vxi(vmebus extention for instrumentation)總線(xiàn)是一種完全開(kāi)放的、適用于各儀器生產(chǎn)廠(chǎng)家的模塊化儀器背板總線(xiàn)規范。它具有高速數據傳輸、結構緊湊、配置靈活、電磁兼容性好等優(yōu)點(diǎn),已成為高性能測試系統集成的首選總線(xiàn)。vxi總線(xiàn)器件主要分為:寄存器基器件、消息基器件和存儲器基器件。目前寄存器基器件在應用中所占比例最大(約70%),其實(shí)現方法在遵守vme協(xié)議的前提下,根據實(shí)際需要各有不同。vxi接口電路用于實(shí)現器件的地址尋址、總線(xiàn)仲裁、中斷仲裁和數據交換等。設計vxi接口首先需明確尋址空間和數據線(xiàn)寬度,vxi器件尋址有a16/a24、a16/a32和a16三種。a16/a24尋址支持16m字節空間,a16/a32尋址支持4g字節空間,a16尋址支持64字節地址空間,但不論哪種尋址方式,a16尋址能力是不可缺的。本文設計的vxi寄存器基接口電路是a16尋址的,支持d8和d16數據線(xiàn)傳輸,有較寬的使用范圍。其接口電路原理框圖如圖1所示。

1 dtb及dtb仲裁
本文引用地址:http://dyxdggzs.com/article/21318.htmdtb(數據傳輸總線(xiàn))及dtb仲裁是vxi接口的核心,dtb主要包括:尋址總線(xiàn)、數據總線(xiàn)和控制總線(xiàn)。其主要任務(wù)是:①通過(guò)地址修改碼(am)決定尋址空間和數據傳輸方式。②通過(guò)ds0*、ds1*、lword*、a1控制數據總線(xiàn)的寬度。③通過(guò)總線(xiàn)仲裁決定總線(xiàn)優(yōu)先使用權。
vxi總線(xiàn)器件在a16(16位地址)尋址時(shí),有64字節的地址空間,其呈部分作為器件配置寄存器地址(已具體指定),其余可用作用戶(hù)電路端口地址。每個(gè)器件的寄存器基地址由器件本身唯一的邏輯地址來(lái)確定。地址修改線(xiàn)在dtb周期中允許主模塊將附加的器件工作模式信息傳遞給從模塊。地址修改碼(am)共有64種,可分為三類(lèi):已定義修改碼、保留修改碼和用戶(hù)自定義碼。在已定義的地址修改碼中又分為三種:①短地址am碼,使用a02~a15地址線(xiàn);②標準地址am碼,使用a02~a23地址線(xiàn);③擴展地址am碼,使用a02~a31地址線(xiàn)。a16短地址尋址主要是用來(lái)尋址器件i/o端口,其地址修改碼為:29h、2dh。
圖2為vxi器件尋址電路圖,其中u1為可編程邏輯器件,其表達式為:vxiena*=as*+!iack*a14+!a15+!am5+am4+!am3+am1+!am0;(!iack*表示系統無(wú)中斷請求)。尋址過(guò)程為:當vxi主模塊發(fā)出的地址修改碼對應為29或2d、總線(xiàn)上地址a6~a13和邏輯地址設置開(kāi)關(guān)k1的設置相同并且地址允許線(xiàn)as有效時(shí),圖2中的myvxiena*有效(為低),表示本器件允許被vxi系統尋址。在允許本器件尋址的基礎上(即myvxiena*有效),再通過(guò)myvxiena*、a1~a5、lword*、ds0*、ds1*譯碼生成64字節地址,根據vme總線(xiàn)協(xié)議可譯出單字節地址和雙字節地址。協(xié)議協(xié)定:當單字節讀寫(xiě)時(shí),奇地址ds0*為低、ds1*為高,偶地址ds1*為低、ds0*為高,lword*為高;雙字節讀寫(xiě)時(shí),ds0*和ds1*為低、lwodr*為高;四字節讀寫(xiě)時(shí),ds0*、ds1*和lword*都為低。
dtb數據傳輸應答主要依賴(lài)dtack*和ds0*之間的互鎖性握手關(guān)系,而與數據線(xiàn)上有效數據什么時(shí)候出現無(wú)關(guān),所以單次讀寫(xiě)操作的速度完全決定應答過(guò)程。為適應不同速度用戶(hù)端口讀寫(xiě)數據的可靠性,本文采用由用戶(hù)端口數據準備好線(xiàn)(datready*)去同步dtack*答應速度的方法來(lái)保證數據傳輸的有效性。該方法的優(yōu)點(diǎn)是電路簡(jiǎn)單、使用方便,缺點(diǎn)是占用dtb時(shí)間長(cháng),影響vxi系統性能,且最長(cháng)延時(shí)時(shí)間不得超過(guò)20μs。通常情況下用戶(hù)可通過(guò)數據暫存的方法實(shí)現數據可靠傳輸,并使用戶(hù)端口數據準備好線(xiàn)(datready*)接地。由于寄存器基器件在vxi系統中只能作為從模塊使用,所以其總線(xiàn)請求只有該器件發(fā)生中斷請求時(shí)才由中斷管理模塊提出。
2 中斷請求及仲裁電路
vxi系統設有七級中斷,優(yōu)先中斷部遲疑不決包括:①中斷請求線(xiàn)irq1*~irq7*;②中斷應答線(xiàn)iack*;③中斷應答輸入線(xiàn)iackin*;④中斷應答輸出線(xiàn)iackout*。從系統的角度看,在vxi系統中有一個(gè)成菊花鏈的中斷查詢(xún)系統。當vxi系統中有中斷請求時(shí),中怕管理器使中斷應答信號iack*有效(置低),并送往菊花鏈驅動(dòng)器,菊花鏈驅動(dòng)器使輸出iackout*有效,送至相鄰的下一個(gè)器件。如果相鄰器件沒(méi)有中斷請求,則該器件的iackout*輸出仍為低,繼續向下一個(gè)相鄰器件傳送;當此器件有中斷請求時(shí),所以其輸出iackout*為高,進(jìn)入中斷過(guò)程,并屏蔽后級器件的中斷應答。

為實(shí)現中斷請求和中斷仲裁,每個(gè)器件的中斷仲裁電路應完成的功能為:①產(chǎn)生中斷請求;②上傳狀態(tài)/識別碼;③屏蔽后級中斷應答。本文設計的中斷仲裁電路如圖3所示。其中tx1~tx3來(lái)自中斷號選擇跳線(xiàn)器,inner-irq為器件內部用戶(hù)電路中斷請求信號,上升沿有效。中斷請求過(guò)程分如下四步:(1)在系統復位或中斷復位(來(lái)自控制寄存器)后,irqopen*為“1”使比較電路輸出“1”,使中斷應答菊花鏈暢通,且譯碼電路不工作。(2)當本器件內有中斷請求時(shí),使irqopen*為“0”,則譯碼電路根據中斷置位開(kāi)關(guān)的設置輸出相應中斷請求信號irqx *。當中斷管理器接收中斷請求信號后使iack*有效,并送往中斷菊花鏈驅動(dòng)器使之輸出iackout*有效,同時(shí)中斷管理器請求dtb總線(xiàn)使用權。(3)當中斷管理器獲得dtb使用權后,根據接收到的中斷請求信號,在地址允許線(xiàn)as+作用下在地址線(xiàn)上輸出相應的a1~a3地址,使比較器輸出“0”,從而使iackout*變高,屏蔽后續中斷,并清除本器件內部中斷請求。(4)中斷管理器使數據允許信號ds0*為低,讀出器件狀態(tài)/識別碼,響應中斷,同時(shí)在ds0*的上升沿清除中斷請求(使irqopen*為“1”),接通中斷應答菊花鏈,進(jìn)入中斷過(guò)程。
3 可編程器件實(shí)現和調試
為了克服用中小規模集成電路實(shí)現vxi接口電路存在的體積大、可靠性差和可調試性差等不足,可采用可編程器件實(shí)現接口電路。本文采用的器件是altera公司的max系列,采用的器件可編程軟件平臺的max+plusii。max+plus ii在編程上提供了多種電路描述形式,主要有圖形描述、ahdl描述和vhdl描述等。本文采用圖形描述和ahdl描述相結合的描述方法。接口電路的主框架結構和能夠用標準元件表述的子模塊電路用圖形描述方法設計,部分功能子模塊用ahdl語(yǔ)言描述。這種設計方式的電路原理結構直觀(guān)、功能描述簡(jiǎn)潔。vxi接口電路硬件描述子程序模塊由地址修改碼器件尋址、端口地址譯碼、中斷請求及控制、寄存器配置四部分組成。
在vxi器件中,寄存器配置步驟是必不可少的,vxi寄存器基器件主要配置寄存器有:識別/邏輯地址寄存器、器件類(lèi)型寄存、狀態(tài)/控制寄存器。在接口電路的性質(zhì)特性明確的前提下,寄存器基器件的配置是確定的,所以直接在可編程器件中實(shí)現,且更改也很方便。以下列出的是vxi寄存器基接口電路的主要邏輯表達式(用ahdl語(yǔ)言格式):
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);
drack=dff(dtaknode,sysclk,vcc,vcc);
ioena=myvxiena#ds0&ds0&ds1#!lword;
iackout=as#iackin#!ack;
需要注意的是,在使用中由于部分信號線(xiàn)與vxi背板總線(xiàn)連接時(shí)需要采用集電極開(kāi)路方式接入,如dtack*、sysfail*、brx*等,所以應增加一級集電極開(kāi)路門(mén)電路后再與vxi背板總線(xiàn)連接。

接口電路調試有兩種方式,一是利用labwindow/vci開(kāi)發(fā)工具預先編好一個(gè)帶操作軟面板的調試程序,它包含有各項功能調試控件和相關(guān)信息顯示窗。在調試電路時(shí)只需根據提示在軟面板上操作,就可及時(shí)得到信息顯示。這種調試電路方法方便、直觀(guān),但由于調試程序的封裝會(huì )使得調試細節不透明。另一種形式是在ni公司提供的vxi資源管理器中對端口電路進(jìn)行操作、調試。這種方法是硬件開(kāi)發(fā)人員主要采用的形式。主要過(guò)程為:先打開(kāi)t&m explore對vxi系統初始化;啟動(dòng)vxi系統初始化;啟動(dòng)vxi interactive control面板,在bus access中通過(guò)修改偏移地址(offset)、輸出值(value)和觀(guān)察輸入值來(lái)對接口電路進(jìn)行調試。在調試過(guò)程中,為便于數據或波形的穩定測試、觀(guān)察,一般將輸出數據的循環(huán)次數(count)設成一個(gè)較大數。這種調試方式雖然不很直觀(guān),但卻非常靈活,容易發(fā)現硬件電路細節不足。
在vxi接口電路設計方面,只要遵循vxi總線(xiàn)協(xié)議,其具體實(shí)現方法多種多樣。本文從vxi總線(xiàn)協(xié)議出發(fā)詳細闡述了一種vxi寄存器基接口電路的設計方法和工作原理,并介紹了可編程器件實(shí)現方法和調試方法。用可編程電路使vxi接口電路模塊化、格式化,可縮短vxi總線(xiàn)器件的研制周期、縮小器件體積,提高器件的可靠性。該接口電路已在vxi數字i/o、vxi特征分析儀中使用。隨著(zhù)儀器儀表技術(shù)、虛擬儀器技術(shù)的
發(fā)展,vxi總線(xiàn)作為高性能測試系統儀器的背板總線(xiàn),將在航空航天、雷達、通訊等領(lǐng)域的測試中占據越來(lái)越重要的地位,開(kāi)發(fā)高性能vxi總線(xiàn)器件是目前較熱門(mén)的研究方向。
評論