《電子技術應用》
您所在的位置:首頁 > 測試測量 > 業(yè)界動態(tài) > VXI總線任意數(shù)字信號發(fā)生器的研究與設計

VXI總線任意數(shù)字信號發(fā)生器的研究與設計

2009-01-21
作者:謝志剛 魏震生 范梅生

??? 摘? 要: 闡述了基于VXI總線的任意數(shù)字信號發(fā)生器的特點及基本原理,用FPGA器件實現(xiàn)了VXI總線寄存器基接口電路,提出了用AHDL語言設計可編程分頻器的方法,并具體分析了信號輸出的電路原理和工作過程。實踐證明系統(tǒng)原理和硬件設計是成功的。?

??? 關鍵詞: VXI總線? FPGA器件? 接口電路? 數(shù)字信號發(fā)生器? AHDL

?

??? VXI總線測試平臺是儀器測量領域的前沿技術,可以靈活地組建自動測試系統(tǒng),其模塊化、靈活性強、即插即用、數(shù)據(jù)吞吐能力強的特點使VXI總線測試平臺的應用越來越廣泛。?

??? 在自動控制、智能檢測、數(shù)字系統(tǒng)故障診斷領域,經(jīng)常需要非周期性地產(chǎn)生任意編碼的數(shù)字序列,作為激勵信號源。基于VXI總線的任意數(shù)字信號發(fā)生器,是一個B尺寸、單槽、A16/D16、寄存器基模塊,它能夠產(chǎn)生任意編碼的數(shù)字信號,8路數(shù)字信號均可獨立地任意編輯,輸出信號最小脈寬為25ns。采用Altera公司的FLEX系列的FPGA,可實現(xiàn)寄存器基接口電路和部分功能電路。用LabWindows/CVI軟件設計了虛擬儀器軟面板,界面友好,操作方便。?

1 系統(tǒng)組成及工作原理?

??? 數(shù)字信號發(fā)生器采用VXI總線測試平臺,有8路獨立的輸出信號,均可預先存儲在容量為64K的靜態(tài)存儲器中,可以獨立地編輯各路輸出信號;時鐘頻率最高可達40MHz;輸出信號支持高電平、低電平和高阻態(tài)三種狀態(tài);輸出電平兼容COMS/TTL電平;輸出信號擺率不超過±5ns;采用可編程分頻器,實現(xiàn)對時鐘的任意分頻;輸出電平脈沖寬度可編程調(diào)節(jié)。系統(tǒng)的組成框圖如圖1所示。?

?

?

??? 在PC機上將編輯好的8路波形數(shù)據(jù)文件和1路三態(tài)控制數(shù)據(jù)文件分別裝載到64K×8的靜態(tài)存儲器和64K×4的靜態(tài)存儲器中。波形文件的裝載是通過VXI總線的地址譯碼選擇A1~A5中某一配置寄存器的地址,再結合寫操作來完成的。由于VXI總線每進行一次寫操作,都會產(chǎn)生一個低電平有效的脈沖信號LATCH*,LATCH*信號將8路信號的8位編碼波形數(shù)據(jù)和1位三態(tài)控制數(shù)據(jù)存入寄存器,同時LATCH*信號將16位地址計數(shù)器的地址加1,當進行下一個寫操作時,完成下8位編碼波形數(shù)據(jù)和三態(tài)控制數(shù)據(jù)的裝載,如此反復,直至所有的波形數(shù)據(jù)裝載完畢。波形數(shù)據(jù)文件的裝載在LabWindows/CVI所開發(fā)的驅動程序作用下工作,當系統(tǒng)加電或軟件復位時,16位地址計數(shù)器的初始地址置為0000H,在16位地址計數(shù)器的作用下,能夠實現(xiàn)0000H~FFFFH或任一指定地址范圍的數(shù)據(jù)加載。?

??? 當驅動程序輸出波形文件時,指定某一起始地址作為16位的地址計數(shù)器的初始值。當發(fā)出允許輸出信號時,由可編程分頻器所分頻的時鐘信號同時加到16位地址計數(shù)器、輸出觸發(fā)器74ACT11825以及D觸發(fā)器SN74ACT74上,在時鐘信號的作用下,16位地址計數(shù)器開始計數(shù),輸出的16位地址作用在靜態(tài)存儲器上。靜態(tài)存儲器采用的是CYPRESS公司的CY74194芯片,從地址有效到數(shù)據(jù)輸出的最小延遲時間為12ns,存儲器輸出的8路波形數(shù)據(jù)DAIN[7..0]和1路三態(tài)控制信號CIN作用在輸出芯片74ACT11825上,如圖2所示。當三態(tài)控制存儲器輸出的信號為低電平時,74ACT11825的時鐘允許信號線有效,輸出的波形數(shù)據(jù)為靜態(tài)存儲器中選通的波形數(shù)據(jù);當三態(tài)控制存儲器輸出的信號為高電平時,則74ACT11825的時鐘允許信號線無效,此時的高電平信號經(jīng)過SN74ACT74觸發(fā)器的輸出端,作用在74ACT11825的輸出使能端上,使輸出信號為高阻態(tài)。?

?

?

2 任意可編程分頻器的實現(xiàn)?

??? 任意可編程分頻器是用來實現(xiàn)對40MHz時鐘信號的任意分頻,它實現(xiàn)的分頻值由輸入的初始值d[WIDTH-1..0]所決定。這里取WIDTH=10,則能實現(xiàn)2~1024的分頻。也可以根據(jù)電路的不同要求,選擇不同的WIDTH值,實現(xiàn)不同的分頻。由于采用ALTERA公司的可編程器件,用AHDL硬件語言描述的分頻器代碼如下:?

??? PARAMETERS?

??? (? WIDTH = 4?? ); --定義數(shù)據(jù)寬度,來確定分頻值?

??? INCLUDE ″lpm_counter″;?? --MAX PLUSⅡ自帶的函數(shù)?

??? INCLUDE ″lpm_compare″;? --MAX PLUSⅡ自帶的函數(shù)?

??? SUBDESIGN var_div1?

??? ( SysClk???? : INPUT; --被分頻的時鐘,這里為40MHz?

??? ? cnt_en???? : INPUT=VCC;? --分頻允許,這里用作波形輸出的使能信號?

??? ? sclr?????? : INPUT=GND;? --清零信號,使輸出時鐘清零,這里用作波形輸出結束信號?

??? d[WIDTH-1..0]? : INPUT;? ? --定義分頻值?

??? EVEN???????? ?? : OUTPUT;? --輸出已被分頻的時鐘信號?

??? q[WIDTH-1..0]??? : OUTPUT;? )?

??? VARIABLE?

??? ? counter??????? ?? :LPM_COUNTER WITH (LPM_WIDTH=WIDTH);?

??? ? max_cnt???????? : NODE;?

??? ? Dlitch???????? ?? : DFF;?

??? BEGIN?

????? max_cnt = LPM_COMPARE(d[]-1, counter.q[], , ,)--所計脈沖數(shù)與初始設定值相等時,產(chǎn)生的高電平信號?

??????????? WITH (LPM_WIDTH = WIDTH)?

?? ???????? RETURNS (.aeb);?

????? counter.clock? ?? = SysClk;?

??? ? counter.cnt_en ?? = cnt_en;?

??? ? counter.sclr?? ?? = (max_cnt AND cnt_en) OR sclr;?

??? ? Dlitch??? = max_cnt AND cnt_en;?

??? ? Dlitch.clk = SysClk;?

??? ? EVEN???? = Dlitch; ?????? --輸出產(chǎn)生的高電平信號?

??? ? q[] = counter.q[];?

??? END;?

??? 在MAX PLUSⅡ軟件中進行仿真,設定DATA[7..0]的值為5,即為5分頻,輸出波形EVEN如圖3所示。?

?

?

3 VXI總線接口設計?

??? 采用Altera公司的FLEX系列的EPF10K20RC208-3的FPGA實現(xiàn)寄存器基接口芯片。由于該器件集成度高,可方便地改變邏輯,而且對邏輯設計可事先進行功能模擬和定時模擬,因而使得接口設計更輕松,調(diào)試更方便。接口電路實現(xiàn)了如下功能:①內(nèi)部集成了VXI總線所需的寄存器,由地址信號A1~A5為各個寄存器譯碼分配地址,寄存器類型分別為ID寄存器、儀器類型寄存器、狀態(tài)/控制寄存器、控制寄存器。②數(shù)據(jù)總線驅動器,其功能為將P1連接器上的16位數(shù)據(jù)線D0~D15送至模塊內(nèi)部數(shù)據(jù)總線DB0~DB15或反之??捎脙蓚€8位三態(tài)雙向緩沖器組成。用READ控制數(shù)據(jù)傳遞方向,用 DBEN*選通。③總線握手控制,其功能為利用P1連接器上的信號控制 DS1*、DS0*、WRITE*和地址線譯碼輸出地址選通信號共同產(chǎn)生DBEN*、LATCH*和 DTACK*信號,LATCH*可用來參與選通模塊內(nèi)需要寫數(shù)據(jù)的寄存器。DTACK*信號輸出到P1連接器上,使 VXI總線系統(tǒng)能正常工作并按規(guī)定時序讀/寫數(shù)據(jù)。DBEN*用來控制模塊內(nèi)地址及數(shù)據(jù)的有效周期。這部分電路在MAX PLUSⅡ中,分別用AHDL硬件描述語言和原理圖方式進行描述。用AHDL硬件描述語言實現(xiàn)讀狀態(tài)機、寫狀態(tài)機和中斷狀態(tài)機,產(chǎn)生的DBEN*、 LATCH*、DTACAK*信號應符合VXI總線系統(tǒng)中數(shù)據(jù)讀/寫的時序規(guī)范。④譯碼16位VXI總線地址,具有16位數(shù)據(jù)線的傳送能力,采用LabWindows/CVI軟件,實現(xiàn)對某一地址的讀寫操作,完成波形數(shù)據(jù)文件的加載、控制波形文件的輸出、停止輸出等操作。?

參考文獻?

1 Device Data Book. A LTERA,1998?

2 李春志,劉君華. VXI總線的接口芯片及其應用. 電子技術應用, 2001;27(9):77~80?

3 陳光禹. VXI總線測試平臺技術. 成都:電子科技大學出版社,1996?

4 IEEE Standard for VMEbus Extensions for Instrumentation:?VXIbus. IEEE. 1996: 1155~1992?

5 劉篤仁,楊萬海. 用HDPLD實現(xiàn)多bit任意編碼波形發(fā)生器.西安電子科技大學學報,2000(3)?

6 童子權,任麗軍,馬懷儉.任意波發(fā)生器VXI模塊的設計.哈爾濱理工大學學報,2000(4)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。