新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 基于FPGA的高速可變周期脈沖發(fā)生器的設(shè)計

基于FPGA的高速可變周期脈沖發(fā)生器的設(shè)計

——
作者:陳滿 時間:2007-06-12 來源:國外電子元器件 收藏
1 引 言

要求改變脈沖周期和輸出脈沖個數(shù)的脈沖輸出電路模塊在許多工業(yè)領(lǐng)域都有運用。采用數(shù)字器件設(shè)計周期和輸出個數(shù)可調(diào)節(jié)的脈沖發(fā)生模塊是方便可行的。為了使之具有高速、靈活的優(yōu)點,本文采用Atelra公司的可編程芯片設(shè)計了一款周期和輸出個數(shù)可變的。經(jīng)過板級調(diào)試獲得良好的運行效果。

2 總體設(shè)計思路

脈沖的周期由高電平持續(xù)時間與低電平持續(xù)時間共同構(gòu)成,為了改變周期,采用兩個計數(shù)器來分別控制高電平持續(xù)時間和低電平持續(xù)時間。計數(shù)器采用可并行加載初始值的N位減法計數(shù)器。設(shè)定:當要求的高電平時間以初始值加載到第一個減法器中后,減法器開始減計數(shù),計數(shù)到零時自動停止,同時啟動第二個記錄低電平持續(xù)時間的計數(shù)器計時。當?shù)诙€減法計數(shù)器也減計到零時,計數(shù)器自動停止。這樣就完成一個脈沖的輸出,而這個脈沖的周期控制完全可以在計數(shù)器的初始值中進行有效的設(shè)定.以達到脈沖周期可調(diào)的目的。為了控制脈沖個數(shù)的輸出,在脈沖輸出通道上設(shè)計一個數(shù)量控制計數(shù)器,對脈沖個數(shù)進行計數(shù),當計到要求輸出的個數(shù)時.完成輸出并給出一個done信號作為該模塊工作完成的標志信號。封裝好的設(shè)計

框圖如圖l所示。

引腳信號說明:

start信號:啟動信號。
reset,信號:系統(tǒng)復(fù)位信號。
clock信號:系統(tǒng)時鐘信號。
high信號:高電平持續(xù)時間初值。
low信號:低電平持續(xù)時間初值。
num信號:個數(shù)控制寄存器初始值。
output信號:脈沖輸出信號。初始化時為低。
done信號:脈沖輸出完的標志信號。

脈沖發(fā)生原理圖

3 高低電平計時器設(shè)計

3.1 設(shè)計方法

為了產(chǎn)生所需要時間的高電平,可以利用一個可預(yù)置數(shù)的減法計數(shù)器來達到目的,計數(shù)器設(shè)計分為兩個部分,一部分是可預(yù)置數(shù)的自控制減法計數(shù)器:另一部分是減法計數(shù)器工作完成后的檢測系統(tǒng),檢測到計數(shù)器工作完成后輸出一個時鐘周期寬的脈沖作為該計數(shù)器工作完成信號,并可作為下一個計數(shù)器工作的啟動信號。原理框圖如圖2所示。

自控制減法計數(shù)器模塊原理圖

3.2 工作原理

首先.外部的復(fù)位信號reset給出一個時鐘周期寬的脈沖,復(fù)位內(nèi)部各個信號及觸發(fā)器。

然后,在下一個有效時鐘時刻,外部start信號給出一個時鐘周期寬度的脈沖,用來啟動計數(shù)器的工作。在設(shè)計中,當start信號有效時(設(shè)計為高有效),外部數(shù)據(jù)high加載到Q,當Q不為零時,輸出信號pulse將跳變?yōu)楦唠娖?,當Q減到零的時候,pulse信號再跳變回低電平。這個脈沖信號的后沿將被后面的由兩個D觸發(fā)器構(gòu)成的檢測單元捕獲,并在pulse信號的下降沿后產(chǎn)生一個時鐘周期寬的脈沖,定義為done信號,表示該信號完成輸出。

低電平計時器的設(shè)計與高電平計時器完全一樣。 3.3 時序仿真

在QuartusⅡ4.1開發(fā)平臺上模擬該模塊兩個輸出信號,時序仿真如圖3所示。

減法計數(shù)器模塊時序仿真圖

從圖中可以看出,done信號在pulse信號輸出完成后輸出一個時鐘周期寬度。把這個完成信號done加到下一級類似的減法計數(shù)器的start信號上。將會啟動下一級計數(shù)器的工作。如果將下一級的完成信號done加載給本級的start信號。將會重啟一個脈沖的生成。如此將會自動循環(huán)以達到不間斷輸出一定周期脈沖的目的。

4 數(shù)量控制計數(shù)器設(shè)計

4.1 設(shè)計方法

數(shù)量控制計數(shù)器設(shè)計與高低電平計數(shù)器類似.不同之處在于,減法計數(shù)器的時鐘輸入端接脈沖的輸出信號,當要求輸出脈沖的個數(shù)到達時,輸出一個門控信號door,后面的兩個D觸發(fā)器仍然用來捕獲門控信號door的后沿。一旦輸出個數(shù)到達,done信號立即輸出一個時鐘周期寬度的脈沖作為標志。具體設(shè)計框圖如圖4所示。

數(shù)量控制計數(shù)器模塊原理框圖

4.2 時序仿真

在QuartusⅡ4.1開發(fā)平臺上軟仿真,把中產(chǎn)生的每個脈沖的start信號作為數(shù)量控制器的輸入信號,仿真結(jié)果如圖5所示。

數(shù)量控制模塊仿真時序圖

每次輸出任務(wù)完成后。由總體模塊輸出一個OV信號標志該批次任務(wù)結(jié)束。OV信號可再次加載到總的reset信號上,即該批次輸出完成可復(fù)位進入下一批次任務(wù)的輸出。圖5中的door信號出現(xiàn)了很窄的毛刺,這是由于內(nèi)部計數(shù)器的翻轉(zhuǎn)不同步造成的。加同步電路可以消除,但會影響電路的工作頻率。由于毛刺很窄,對整個電路工作無任何影響。所以,該模塊設(shè)計中并未處理。

5 內(nèi)部信號連接及工作方式

根據(jù)各個模塊的功能和邏輯關(guān)系,由高電平計時器、低電平計時器和數(shù)量控制計數(shù)器可以搭建整個周期脈沖發(fā)生器.其內(nèi)部電路按照圖6的方式連接。

周期脈沖發(fā)生器內(nèi)部信號連接圖

首先,在時鐘信號上升沿給出一個時鐘周期寬度的reset信號以復(fù)位整個電路的觸發(fā)器和各個輸出信號。當一個啟動信號start在時鐘的上升沿被檢測到時,高電平開始計時,計時長度等于high數(shù)值與時鐘周期之積。當計時到達時,高電平計時器停止工作,高電平計時器輸出一個完成信號,該信號接在低電平計時器的start信號腳上,以啟動低電平計時器,低電平計時器計時完成時,低電平計時器停止工作,并輸出一個完成信號,該信號通過或門接在高電平計時器的start信號腳,再次啟動高電平計時器,開始第二個脈沖高電平的輸出。由于低電平計時器的完成信號也連接在數(shù)量控制計數(shù)器的start引腳上.所以,與此同時,數(shù)量控制計數(shù)器開始對其輸入脈沖s_input進行數(shù)量監(jiān)測。在脈沖輸出數(shù)量未達到預(yù)定個數(shù)(數(shù)量控制計數(shù)器中的初始值)時,門控信號door一直輸出"高",以允許脈沖通過。一旦脈沖輸出的數(shù)量達到預(yù)定個數(shù)時,門控信號door輸出變?yōu)?低",關(guān)閉輸出通道,并輸出一個任務(wù)完成的標志信號done。done又通過或門連接在全局復(fù)位信號reset上,所以,系統(tǒng)完成后即可復(fù)位到原狀以等待下一次啟動信號來臨。

周期脈沖發(fā)生器模塊整體時序仿真如圖7所示。

周期脈沖發(fā)生器模塊整體時序

圖7模擬了兩路脈沖的輸出,第一路輸出兩個脈沖,第二路輸出一個脈沖,當兩路脈沖都輸出完成時,系統(tǒng)恢復(fù)到初始狀態(tài)。而當start信號再次給出一個啟動脈沖后,將再執(zhí)行一次任務(wù)。

6 結(jié)束語

從模擬結(jié)果看出,本文給出的設(shè) 計完全可以達到設(shè)計要求。由于的運行速度最高可以達到100 MHz量級,輸出的脈沖調(diào)節(jié)步長和最小寬度都可以到ns量級。在此基礎(chǔ)上,筆者設(shè)計了一個多路可調(diào)脈沖周期的時序電路,并運用在團簇粒子的核物理實驗中。收到滿意效果。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉