100MHz可編程數(shù)字信號發(fā)生器
摘 要: 介紹一種基于ISA總線的可編程數(shù)字信號發(fā)生器,其特點是:工作時鐘100MHz,用可編程邏輯器件EPLD作為核心元件,信號輸出多達16路,用LabWindjows/CVI軟件設(shè)計的PC機虛擬儀器面板,界面友好,操作方便。并給出了硬件原理框圖。
本文引用地址:http://m.butianyuan.cn/article/255634.htm關(guān)鍵詞: ISA總線 可編程 數(shù)字信號發(fā)生器 虛擬儀器
在通訊、電子、自動控制中,經(jīng)常需要非周期的、能精確定時的數(shù)字信號,用以產(chǎn)生測試信號或模擬控制的時序。國內(nèi)現(xiàn)有的可程控信號發(fā)生器輸出信號頻率較低(幾kHz~幾MHz)、輸出路數(shù)較少(一般為兩、三路)且結(jié)構(gòu)復(fù)雜、操作不方便,難以滿足現(xiàn)代電子技術(shù)發(fā)展的需要。
為此,我們開發(fā)了一種各路輸出的波形可獨立地任意編輯、最小輸出方波步長為10ns、信號輸出多達16路、每路信號基長為256K單元的可編程數(shù)字信號發(fā)生器。該儀器的核心元件為ALTERA公司的EPLD,以ISA總線插卡插入計算機,工作時鐘頻率為100MHz。用
1 系統(tǒng)原理
在PC機上將編輯好的16路波形數(shù)據(jù)通過ISA總線寫入高速靜態(tài)RAM。電路首先要對ISA總線的I/O口地址以及讀寫控制等進行譯碼,再驅(qū)動一個18位的地址發(fā)生器(計數(shù)器)尋址256K×16bit RAM。PC機將寫入的數(shù)據(jù)讀回比較,若正確則允許觸發(fā)輸出信號(可以軟件觸發(fā)、外加脈沖觸發(fā)、手動按鈕觸發(fā))。 輸出的信號首先要經(jīng)過74F574鎖存,再經(jīng)過74F245驅(qū)動輸出,輸出為TTL電平,每路最大驅(qū)動電流為64mA。256K RAM內(nèi)容可單次觸發(fā)輸出完停止,也可循環(huán)多次輸出,并且?guī)в杏|發(fā)指示燈LED。
譯碼、地址發(fā)生器、片選及各種控制邏輯都在一片ALTERA的EPM7128SLC84-7片內(nèi)實現(xiàn)。這比用分立元件可靠性大為提高,尤其在100MHz 時鐘頻率下,信號質(zhì)量明顯改善。EPM7128SLC84-7片內(nèi)可編程邏輯門有2500個,宏單元有128個,可用I/O片腳為68個。支持在線編程ISP(in-system programmability),不用將芯片拔下重新燒錄,通過PC機標準串行口即可將編譯好的邏輯數(shù)據(jù)文件燒錄進片內(nèi),方便邏輯調(diào)試。開發(fā)工具軟件為Altera`s MAX+PLUS II,該軟件是基于WINDOWS,具有邏輯編輯、編譯、功能仿真、時序仿真、時序分析等功能。
本系統(tǒng)采用了16片ISSI公司的高速靜態(tài)RAM :IS61C256AH-8(32K×8bit)地址建立時間(address access)為8ns,數(shù)據(jù)保持時間(data hold time) 為2ns, 片選建立時間(CE access time)為8ns。
PC機I/O口地址可以在電路板上靈活設(shè)置以避免與別的I/O設(shè)備地址沖突,設(shè)置范圍為0320H~033FH。
系統(tǒng)硬件原理示意框圖見圖1。
2 主要特點
2.2 波形任意
各路可以獨立編輯生成各種周期波和非周期波。步長是由時鐘頻率決定的,固定為10ns,但周期波的周期、占空比可調(diào),非周期方波寬度和間隔可調(diào)。都是可以以10ns的整數(shù)倍任意調(diào)制的。圖3示意幾種編輯生成的波形。
3 技術(shù)難點
本系統(tǒng)的時鐘頻率是100MHz,鎖存器的鎖存信號是100MHz 所有的數(shù)據(jù)線信號頻率是50MHz,最低位地址線信號頻率是50MHz。在這種高速電路設(shè)計中,必須要考慮信號的反射、串擾、衰減等因素,這是同普通低速電路不同的。為此,我們采用了以下的措施:
· 為防止信號串擾及保證傳輸線阻抗均勻(終端阻抗匹配技術(shù)只對均勻阻抗有效),采用了四層電路板結(jié)構(gòu),中間兩層是電源層和地層,上下兩層是信號層。
· 為防止信號反射,對高速信號線(50MHz以上)都采用了阻抗匹配技術(shù)。對100MHz信號線還采用了偽同軸電纜技術(shù)。
· 由于本系統(tǒng)是采用了16片RAM,地址線及數(shù)據(jù)線的驅(qū)動問題就顯得非常突出。為此,將16片RAM分為四組,地址線每組由兩片74F245驅(qū)動,數(shù)據(jù)線每組由一片74F245驅(qū)動。18位地址線的低15位用來直接尋址RAM,最高3位地址線經(jīng)138譯碼邏輯來產(chǎn)生片選信號。
· IS61C256AH-8的地址建立時間是8ns,數(shù)據(jù)保持時間是2ns。雖然從原理上講有4ns的時間范圍可供鎖存數(shù)據(jù),但由于地址驅(qū)動芯片74F245的傳輸延遲時間(propagation time)范圍較大(1.5~6.5ns),雖經(jīng)篩選但實測有效鎖存數(shù)據(jù)時間范圍仍不到2ns。這就要求精確調(diào)整鎖存器74F574的鎖存時序。當然,為確保片選、使能、讀寫正確也要仔細調(diào)整各時序。
· 在邏輯設(shè)計時,為確保第一和最后一個波形正確而采取了一些特殊措施。因為ALTERAEMP7128SLC-7的邏輯門延時為7.5ns,對于信號輸出完即停止方式,為確保第一個波形正確必須提前一個周期啟動地址發(fā)生器,為確保最后一個波形正確必須提前一個周期關(guān)閉地址發(fā)生器。所有時序調(diào)整主要是在EPLD片內(nèi)完成,用Altera`s MAX+PLUS II的時序仿真來確定。
4 虛擬儀器軟件實現(xiàn)
所謂虛擬儀器就是用軟件來實現(xiàn)以往通用儀器才能完成的功能?,F(xiàn)在有很多工具軟件可以用來設(shè)計虛擬儀器。本系統(tǒng)采用美國國家儀器公司提供的
本虛擬儀器操作面板主要包括:I/O口地址選擇、波形編輯、波形輸入、觸發(fā)輸出、波形顯示、復(fù)位、退出等。
波形編輯:對256K個單元定義波形不可能逐一定義,本軟面板采用解析式來方便波形編輯??梢詫蝹€通道單獨編輯,也可以對16個通道統(tǒng)一編輯(16個通道波形相同)。每個通道的波形定義都以文件保存。波形定義分為規(guī)則波形和不規(guī)則波形兩種。
規(guī)則波形定義:只需指定 起始點,終止點,高電平個數(shù)、低電平個數(shù)??梢詫?56K分為若干段分別定義為不同的規(guī)則波,也可以將256K定義為單一規(guī)則波。
例:ch_def1.dat ;通道1波形定義文件
g ;規(guī)則波形標志符
1 ;1表示首先是高電平,接著是
低電平;0 則相反
2,100,1,1 ;表示第2~100范圍,由若
干個1個高電平(每個10ns)
;和1個低電平每個10ns組成;
即:1H1L1H1L1H1L......
101,2000,1,3 ;表示第101~2000范圍,由若干
個1個高電平(每個10ns)
;和3個低電平每個10ns組成
;即:1H3L1H3L1H3L......
;其余全是低電平。
不規(guī)則波形定義:只需指定 高電平(或低電平),起始點,終止點。
例:ch_def2.dat ;通道2波形定義文件
U ;不規(guī)則波形標志符
1 ;1表示是高電平;0 則相反
5,6 ;表示第5~6范圍,全是高電平。
200,202; 表示第200~202范圍,全是高電平。
;其余全是低電平。
波形顯示:可以在計算機顯示器上預(yù)覽16個通道的波形。這樣,可以直觀地檢驗用解析式編輯的波形是否滿足要求。
總之,設(shè)計一個工作時鐘100MHz、16路輸出信號、每路信號基長256K單元、波形編輯方便的可編程數(shù)字信號發(fā)生器還是有一定的技術(shù)難度的。本信號發(fā)生器的輸出信號用400MHz示波器觀察,波形正確無誤。經(jīng)采用終端阻抗匹配技術(shù)后,信號反射(上沖、下沖)均小于5%。事實證明,該儀器的軟硬件設(shè)計是成功的。100MHz可編程數(shù)字信號發(fā)生器在電子、通訊等各個領(lǐng)域有著廣泛的應(yīng)用前景,尤其是在需要非周期的、能精確定時的數(shù)字信號,用以產(chǎn)生測試信號或模擬控制的時序等場合。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論