<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > VXI總線(xiàn)任意數字信號發(fā)生器的研究與設計

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

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/242381.htm

關(guān)鍵詞:VXI總線(xiàn) FPGA器件 接口電路 數字信號發(fā)生器 AHDL

VXI總線(xiàn)測試平臺是儀器測量領(lǐng)域的前沿技術(shù),可以靈活地組建自動(dòng)測試系統,其模塊化、靈活性強、即插即用、數字吞吐能力強的特點(diǎn)使VXI總線(xiàn)測試平臺的應用越來(lái)越廣泛。

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

1 系統組成及工作原理

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

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

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

2 任意可編程分頻器的實(shí)現

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

PARAMETERS

(MIDTH=4);--定義數據寬度,來(lái)確定分頻值

INCLUDE lpm_counter; --MAX PLUS II自帶的函數

INCLUDE lpm_compare; --MAX PLUS II自帶的函數

SUBDESIGN var_div1

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

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

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

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

EVEN :OUTPUT;--輸出已被分頻的時(shí)鐘信號

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

VARIABLE

Counter :LPM_COUNTER WITH (LPM_WINDTH=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 II軟件中進(jìn)行仿真,設定DATA[7..0]的值為5,即為5分頻,輸出波形EVEN如圖3所示。

3 VXI總線(xiàn)接口設計

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

分頻器相關(guān)文章:分頻器原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>