<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 100MHz可編程數(shù)字信號(hào)發(fā)生器

          100MHz可編程數(shù)字信號(hào)發(fā)生器

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

          摘 要: 介紹一種基于ISA總線的可編程數(shù)字信號(hào)發(fā)生器,其特點(diǎn)是:工作時(shí)鐘100MHz,用可編程邏輯器件EPLD作為核心元件,信號(hào)輸出多達(dá)16路,用LabWindjows/CVI軟件設(shè)計(jì)的PC機(jī)虛擬儀器面板,界面友好,操作方便。并給出了硬件原理框圖。

          本文引用地址:http://www.ex-cimer.com/article/255634.htm

          關(guān)鍵詞: ISA總線 可編程 數(shù)字信號(hào)發(fā)生器 虛擬儀器

          在通訊、電子、自動(dòng)控制中,經(jīng)常需要非周期的、能精確定時(shí)的數(shù)字信號(hào),用以產(chǎn)生測(cè)試信號(hào)或模擬控制的時(shí)序。國(guó)內(nèi)現(xiàn)有的可程控信號(hào)發(fā)生器輸出信號(hào)頻率較低(幾kHz~幾MHz)、輸出路數(shù)較少(一般為兩、三路)且結(jié)構(gòu)復(fù)雜、操作不方便,難以滿(mǎn)足現(xiàn)代電子技術(shù)發(fā)展的需要。

          為此,我們開(kāi)發(fā)了一種各路輸出的波形可獨(dú)立地任意編輯、最小輸出方波步長(zhǎng)為10ns、信號(hào)輸出多達(dá)16路、每路信號(hào)基長(zhǎng)為256K單元的可編程數(shù)字信號(hào)發(fā)生器。該儀器的核心元件為ALTERA公司的EPLD,以ISA總線插卡插入計(jì)算機(jī),工作時(shí)鐘頻率為100MHz。用LabWindjows/CV軟件設(shè)計(jì)了虛擬儀器面板,界面友好,操作方便。該儀器已在中國(guó)科學(xué)技術(shù)大學(xué)、北京化學(xué)研究所等多家實(shí)驗(yàn)室廣為應(yīng)用,效果很好。

          1 系統(tǒng)原理

          在PC機(jī)上將編輯好的16路波形數(shù)據(jù)通過(guò)ISA總線寫(xiě)入高速靜態(tài)RAM。電路首先要對(duì)ISA總線的I/O口地址以及讀寫(xiě)控制等進(jìn)行譯碼,再驅(qū)動(dòng)一個(gè)18位的地址發(fā)生器(計(jì)數(shù)器)尋址256K×16bit RAM。PC機(jī)將寫(xiě)入的數(shù)據(jù)讀回比較,若正確則允許觸發(fā)輸出信號(hào)(可以軟件觸發(fā)、外加脈沖觸發(fā)、手動(dòng)按鈕觸發(fā))。 輸出的信號(hào)首先要經(jīng)過(guò)74F574鎖存,再經(jīng)過(guò)74F245驅(qū)動(dòng)輸出,輸出為T(mén)TL電平,每路最大驅(qū)動(dòng)電流為64mA。256K RAM內(nèi)容可單次觸發(fā)輸出完停止,也可循環(huán)多次輸出,并且?guī)в杏|發(fā)指示燈LED。

          譯碼、地址發(fā)生器、片選及各種控制邏輯都在一片ALTERA的EPM7128SLC84-7片內(nèi)實(shí)現(xiàn)。這比用分立元件可靠性大為提高,尤其在100MHz 時(shí)鐘頻率下,信號(hào)質(zhì)量明顯改善。EPM7128SLC84-7片內(nèi)可編程邏輯門(mén)有2500個(gè),宏單元有128個(gè),可用I/O片腳為68個(gè)。支持在線編程ISP(in-system programmability),不用將芯片拔下重新燒錄,通過(guò)PC機(jī)標(biāo)準(zhǔn)串行口即可將編譯好的邏輯數(shù)據(jù)文件燒錄進(jìn)片內(nèi),方便邏輯調(diào)試。開(kāi)發(fā)工具軟件為Altera`s MAX+PLUS II,該軟件是基于WINDOWS,具有邏輯編輯、編譯、功能仿真、時(shí)序仿真、時(shí)序分析等功能。

          本系統(tǒng)采用了16片ISSI公司的高速靜態(tài)RAM :IS61C256AH-8(32K×8bit)地址建立時(shí)間(address access)為8ns,數(shù)據(jù)保持時(shí)間(data hold time) 為2ns, 片選建立時(shí)間(CE access time)為8ns。

          PC機(jī)I/O口地址可以在電路板上靈活設(shè)置以避免與別的I/O設(shè)備地址沖突,設(shè)置范圍為0320H~033FH。

          系統(tǒng)硬件原理示意框圖見(jiàn)圖1。

          2 主要特點(diǎn)

          100MHz可編程數(shù)字信號(hào)發(fā)生器2.2 波形任意

          各路可以獨(dú)立編輯生成各種周期波和非周期波。步長(zhǎng)是由時(shí)鐘頻率決定的,固定為10ns,但周期波的周期、占空比可調(diào),非周期方波寬度和間隔可調(diào)。都是可以以10ns的整數(shù)倍任意調(diào)制的。圖3示意幾種編輯生成的波形。

          3 技術(shù)難點(diǎn)

          本系統(tǒng)的時(shí)鐘頻率是100MHz,鎖存器的鎖存信號(hào)是100MHz 所有的數(shù)據(jù)線信號(hào)頻率是50MHz,最低位地址線信號(hào)頻率是50MHz。在這種高速電路設(shè)計(jì)中,必須要考慮信號(hào)的反射、串?dāng)_、衰減等因素,這是同普通低速電路不同的。為此,我們采用了以下的措施:

          · 為防止信號(hào)串?dāng)_及保證傳輸線阻抗均勻(終端阻抗匹配技術(shù)只對(duì)均勻阻抗有效),采用了四層電路板結(jié)構(gòu),中間兩層是電源層和地層,上下兩層是信號(hào)層。

          · 為防止信號(hào)反射,對(duì)高速信號(hào)線(50MHz以上)都采用了阻抗匹配技術(shù)。對(duì)100MHz信號(hào)線還采用了偽同軸電纜技術(shù)。

          · 由于本系統(tǒng)是采用了16片RAM,地址線及數(shù)據(jù)線的驅(qū)動(dòng)問(wèn)題就顯得非常突出。為此,將16片RAM分為四組,地址線每組由兩片74F245驅(qū)動(dòng),數(shù)據(jù)線每組由一片74F245驅(qū)動(dòng)。18位地址線的低15位用來(lái)直接尋址RAM,最高3位地址線經(jīng)138譯碼邏輯來(lái)產(chǎn)生片選信號(hào)。

          · IS61C256AH-8的地址建立時(shí)間是8ns,數(shù)據(jù)保持時(shí)間是2ns。雖然從原理上講有4ns的時(shí)間范圍可供鎖存數(shù)據(jù),但由于地址驅(qū)動(dòng)芯片74F245的傳輸延遲時(shí)間(propagation time)范圍較大(1.5~6.5ns),雖經(jīng)篩選但實(shí)測(cè)有效鎖存數(shù)據(jù)時(shí)間范圍仍不到2ns。這就要求精確調(diào)整鎖存器74F574的鎖存時(shí)序。當(dāng)然,為確保片選、使能、讀寫(xiě)正確也要仔細(xì)調(diào)整各時(shí)序。

          · 在邏輯設(shè)計(jì)時(shí),為確保第一和最后一個(gè)波形正確而采取了一些特殊措施。因?yàn)锳LTERAEMP7128SLC-7的邏輯門(mén)延時(shí)為7.5ns,對(duì)于信號(hào)輸出完即停止方式,為確保第一個(gè)波形正確必須提前一個(gè)周期啟動(dòng)地址發(fā)生器,為確保最后一個(gè)波形正確必須提前一個(gè)周期關(guān)閉地址發(fā)生器。所有時(shí)序調(diào)整主要是在EPLD片內(nèi)完成,用Altera`s MAX+PLUS II的時(shí)序仿真來(lái)確定。

          4 虛擬儀器軟件實(shí)現(xiàn)

          所謂虛擬儀器就是用軟件來(lái)實(shí)現(xiàn)以往通用儀器才能完成的功能。現(xiàn)在有很多工具軟件可以用來(lái)設(shè)計(jì)虛擬儀器。本系統(tǒng)采用美國(guó)國(guó)家儀器公司提供的LabWindjows/CV工具軟件設(shè)計(jì)。該軟件采用可視化編程,各種常用儀器面板庫(kù)功能強(qiáng)大,還可以直接調(diào)用ANSI C、VISUAL C等標(biāo)準(zhǔn)庫(kù)函數(shù),實(shí)現(xiàn)各種復(fù)雜算法。

          本虛擬儀器操作面板主要包括:I/O口地址選擇、波形編輯、波形輸入、觸發(fā)輸出、波形顯示、復(fù)位、退出等。

          波形編輯:對(duì)256K個(gè)單元定義波形不可能逐一定義,本軟面板采用解析式來(lái)方便波形編輯??梢詫?duì)單個(gè)通道單獨(dú)編輯,也可以對(duì)16個(gè)通道統(tǒng)一編輯(16個(gè)通道波形相同)。每個(gè)通道的波形定義都以文件保存。波形定義分為規(guī)則波形和不規(guī)則波形兩種。

          規(guī)則波形定義:只需指定 起始點(diǎn),終止點(diǎn),高電平個(gè)數(shù)、低電平個(gè)數(shù)??梢詫?56K分為若干段分別定義為不同的規(guī)則波,也可以將256K定義為單一規(guī)則波。

          例:ch_def1.dat ;通道1波形定義文件

          g ;規(guī)則波形標(biāo)志符

          1 ;1表示首先是高電平,接著是

          低電平;0 則相反

          2,100,1,1 ;表示第2~100范圍,由若

          干個(gè)1個(gè)高電平(每個(gè)10ns)

          ;和1個(gè)低電平每個(gè)10ns組成;

          即:1H1L1H1L1H1L......

          101,2000,1,3 ;表示第101~2000范圍,由若干

          個(gè)1個(gè)高電平(每個(gè)10ns)

          ;和3個(gè)低電平每個(gè)10ns組成

          ;即:1H3L1H3L1H3L......

          ;其余全是低電平。

          不規(guī)則波形定義:只需指定 高電平(或低電平),起始點(diǎn),終止點(diǎn)。

          例:ch_def2.dat ;通道2波形定義文件

          U ;不規(guī)則波形標(biāo)志符

          1 ;1表示是高電平;0 則相反

          5,6 ;表示第5~6范圍,全是高電平。

          200,202; 表示第200~202范圍,全是高電平。

          ;其余全是低電平。

          波形顯示:可以在計(jì)算機(jī)顯示器上預(yù)覽16個(gè)通道的波形。這樣,可以直觀地檢驗(yàn)用解析式編輯的波形是否滿(mǎn)足要求。

          總之,設(shè)計(jì)一個(gè)工作時(shí)鐘100MHz、16路輸出信號(hào)、每路信號(hào)基長(zhǎng)256K單元、波形編輯方便的可編程數(shù)字信號(hào)發(fā)生器還是有一定的技術(shù)難度的。本信號(hào)發(fā)生器的輸出信號(hào)用400MHz觀察,波形正確無(wú)誤。經(jīng)采用終端阻抗匹配技術(shù)后,信號(hào)反射(上沖、下沖)均小于5%。事實(shí)證明,該儀器的軟硬件設(shè)計(jì)是成功的。100MHz可編程數(shù)字信號(hào)發(fā)生器在電子、通訊等各個(gè)領(lǐng)域有著廣泛的應(yīng)用前景,尤其是在需要非周期的、能精確定時(shí)的數(shù)字信號(hào),用以產(chǎn)生測(cè)試信號(hào)或模擬控制的時(shí)序等場(chǎng)合。

          linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();