基于FPGA的VXI總線寄存器基模塊接口電路設(shè)計(jì)(06-100)
組態(tài)寄存器的設(shè)置
本文引用地址:http://www.ex-cimer.com/article/81437.htmID寄存器
ID寄存器是讀寄存器,用于回答本模塊是寄存器基器件。其內(nèi)容一般可由總線三態(tài)緩沖器讀出。
型號寄存器
型號寄存器用于將本模塊和其他模塊區(qū)別。
狀態(tài)寄存器
狀態(tài)寄存器一般用5位,分別為CI(命令寫入與否)、PASS(初始化或自檢通過與否)、RDY(是否準(zhǔn)備好)、DONE(命令是否執(zhí)行完畢)、MODID*(模塊是否被識別)。
以上只列出了三種比較基本的寄存器的使用情況,由于每個(gè)器件有64字節(jié)的標(biāo)準(zhǔn)組態(tài)/操作寄存器,其他寄存器的配置應(yīng)根據(jù)需要進(jìn)行安排。
DTB及DTB仲裁
DTB及DTB仲裁是VXI接口的核心, DTB主要包括:尋址總線、數(shù)據(jù)總線和控制總線。尋址線包括地址線A01~A31、數(shù)據(jù)選通線DS0*和DS1*、長字線LWORD* 、讀寫線WR* 和地址選通線AS*。存儲器的最小尋址單位是字節(jié),每一個(gè)字節(jié)都有唯一的二進(jìn)制地址。VMEbus的數(shù)據(jù)寬度為32位,因此它可以一次進(jìn)行傳輸4個(gè)字節(jié)單元中的部分或全部字節(jié)單元,主模塊用A02-A31地址線來決定所傳輸?shù)哪囊粋€(gè)4字節(jié)組,另外用4根信號線DS0*、DS1*、A01和LWORD*決定每次數(shù)據(jù)傳輸中所選擇的4字節(jié)組中的字節(jié)單元。字節(jié)定義及訪問控制分別見表1和2。另外,數(shù)據(jù)傳輸總線DTB有6根地址修改線(AM0~AM5),主模塊可用它向從模塊傳遞附加的二進(jìn)制信息。根據(jù)VXIbus規(guī)范,A16器件只對地址修改碼29H、2DH進(jìn)行響應(yīng),因此,AM2可以不參與譯碼。若只使用雙字節(jié)訪問中的字節(jié)(0-1),因此,DS0*=0、DS1*=0、A01=0和LWORD*=1。
讀寫控制
該部分電路負(fù)責(zé)控制VXI總線與模塊間的數(shù)據(jù)傳輸方向(DIR)和VXI總線與模塊之間是否選通(DBEN)。邏輯表達(dá)式如下:
DIR = VWRITE*;
DBEN =(!VDS0* II !VDS1*) && !CARDADDR
產(chǎn)生內(nèi)部讀寫和選通信號
該部分電路用來實(shí)現(xiàn)DS0*、DS1*、AS*、WRITE*等信號的產(chǎn)生,這些信號不需要設(shè)計(jì),直接利用背板提供的信號直接引入FPGA電路即可,但這些信號要根據(jù)實(shí)際進(jìn)行組態(tài)。VXI總線數(shù)據(jù)傳輸應(yīng)答信號(DTACK*)、鎖存信號(LATCH*)、數(shù)據(jù)傳輸使能信號(DBEN*)依據(jù)實(shí)際要求進(jìn)行設(shè)計(jì),它們的時(shí)序比較復(fù)雜,因此一般采用AHDL描述語言設(shè)計(jì),通過狀態(tài)機(jī)實(shí)現(xiàn)。
評論