一種數(shù)字虛擬芯片構(gòu)建方法及應(yīng)用
出處:黃進(jìn)文 王善發(fā) 王孝民 發(fā)布于:2011-08-04 17:51:47
引言
虛擬儀器的起源可以追溯到20世紀(jì)70年代,那時計算機(jī)測控系統(tǒng)在國防、航天等領(lǐng)域已經(jīng)有了相當(dāng)?shù)陌l(fā)展。PC機(jī)出現(xiàn)以后,儀器級的計算機(jī)化成為可能,甚至在 Microsof t公司的 Windows 誕生之前,NI公司已經(jīng)在Macintosh計算機(jī)上推出了LabVIEW2.0 以前的版本。對虛擬儀器和 LabVIEW 長期、系統(tǒng)、有效的研究開發(fā)使得該公司成為業(yè)界公認(rèn)的權(quán)威。目前LabVIEW 的版本為 LabVIEW2009,LabVIEW 2009 為多線程功能添加了更多特性,這種特性在 1998 年的版本 5 中被初次引入。使用 LabVIEW 軟件,用戶可以借助于它提供的軟件環(huán)境,該環(huán)境由于其數(shù)據(jù)流編程特性、LabVIEW Real-Time 工具對嵌入式平臺開發(fā)的多核支持,以及自上而下的為多核而設(shè)計的軟件層次,是進(jìn)行并行編程的。
虛擬儀器(virtual instrument)是基于計算機(jī)的儀器。計算機(jī)和儀器的密切結(jié)合是目前儀器發(fā)展的一個重要方向。粗略地說這種結(jié)合有兩種方式,一種是將計算機(jī)裝入儀器,其典型的例子就是所謂智能化的儀器。隨著計算機(jī)功能的日益強(qiáng)大以及其體積的日趨縮小,這類儀器功能也越來越強(qiáng)大,目前已經(jīng)出現(xiàn)含嵌入式系統(tǒng)的儀器。另一種方式是將儀器裝入計算機(jī)。以通用的計算機(jī)硬件及操作系統(tǒng)為依托,實現(xiàn)各種儀器功能。虛擬儀器主要是指這種方式。上面的框圖反映了常見的虛擬儀器方案。
1 基于LabVIEW實現(xiàn)虛擬數(shù)字邏輯電路仿真的可行性及優(yōu)點
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。傳統(tǒng)文本編程語言根據(jù)語句和指令的先后順序決定程序執(zhí)行順序,而 LabVIEW 則采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點之間的數(shù)據(jù)流向決定了VI及函數(shù)的執(zhí)行順序。VI指虛擬儀器,是 LabVIEW 的程序模塊。
LabVIEW 提供很多外觀與傳統(tǒng)儀器(如示波器、萬用表)類似的控件,可用來方便地創(chuàng)建用戶界面。用戶界面在 LabVIEW中被稱為前面板。使用圖標(biāo)和連線,可以通過編程對前面板上的對象進(jìn)行控制。這就是圖形化源代碼,又稱G代碼。LabVIEW 的圖形化源代碼在某種程度上類似于流程圖,因此又被稱作程序框圖代碼。
由前面板實現(xiàn)數(shù)字電路的各種控制和顯示,由程序流程圖實現(xiàn)數(shù)字電路的邏輯運算功能,是基于虛擬儀器LabVIEW進(jìn)行數(shù)字邏輯電路仿真設(shè)計的基礎(chǔ)。LabVIEW的前面板提供了大量數(shù)值、布爾控件。后面板提供了大量的函數(shù)模塊,使用這些函數(shù)可以很方便地調(diào)用或設(shè)計出各種門電路、編碼器、譯碼器、運算器、存儲器、觸發(fā)器、定時器、ADC/DAC等數(shù)字電路設(shè)計中常用的器件模塊。在數(shù)字電路中,高電平和低電平2種邏輯狀態(tài)可用前面板中的布爾控件提供;而電路設(shè)計中的各種模擬量可以用各種數(shù)值型控件及函數(shù)信號發(fā)生器產(chǎn)生和提供。基于LabVIEW實現(xiàn)虛擬數(shù)字邏輯電路的可行性及優(yōu)點,還表現(xiàn)在以下幾方面:
(1)可充分使用LabVIEW強(qiáng)大的輸入/輸出控件資源
?。?)LabVIEW中的圖形化語言風(fēng)格適合數(shù)字電路的邏輯圖構(gòu)建:
布爾控件圖標(biāo)與數(shù)字邏輯門電路符號相近;圖形化的G語言風(fēng)格適合邏輯圖的連接。
?。?)可開發(fā)通用或?qū)S玫臄?shù)字虛擬芯片庫(模塊庫)
?。?)LabVIEW虛擬儀器可實現(xiàn)與外部數(shù)據(jù)的交換
2 基于LabVIEW的數(shù)字虛擬芯片設(shè)計方法
下面從一個有異步復(fù)位、置位端子的虛擬觸發(fā)器單元設(shè)計開始,以LabVIEW中邏輯運算VI作為虛擬“門電路”單元,構(gòu)建通用數(shù)字邏輯芯片、計數(shù)器74160虛擬“芯片”,討論并實現(xiàn)該虛擬芯片的仿真應(yīng)用。
2.1 具備異步復(fù)位、置位端的虛擬觸發(fā)器設(shè)計
低電平有效的異步置位、復(fù)位功能的虛擬JK觸發(fā)器特性方程可表示為:
![]()
當(dāng)滿足約束條件RD+SD=1,即RD、SD不同時為有效電平(邏輯值0)時,這2個端子可作為異步置位端(SD)和異步復(fù)位端(RD),即有:

使用過程中應(yīng)當(dāng)注意滿足約束條件(當(dāng)RD+SD=O時,始終有QN+1=O)。
根據(jù)式(1)構(gòu)建的低電平有效的異步置位、復(fù)位功能的JK觸發(fā)器LabVIEW后面板如圖1所示,其異步置位、復(fù)位端動作不受同步CP控制,直接實現(xiàn)操作。為實現(xiàn)CP輸入下降沿有效的動作方式,程序中引入了條件結(jié)構(gòu)控制。當(dāng)無有效CP邊沿輸入時,輸入觸發(fā)器端子的數(shù)據(jù)是J=K=“false”,等價于J=K=0,觸發(fā)器處于保持狀態(tài);只有當(dāng)有效CP下降沿輸入時,觸發(fā)器才接收輸入控件J,K的數(shù)據(jù),實現(xiàn)相應(yīng)的動作。圖1中左下角部分程序就是實現(xiàn)CP下降沿輸入有效的控制程序部份。

定義圖1中VI的各輸入、輸出端子,編輯好相應(yīng)的VI圖標(biāo),將其保存為一獨立VI文件,得到對應(yīng)的VI圖標(biāo)及連線如圖2所示。這樣的VI圖標(biāo)即可看作一個虛擬觸發(fā)器。

圖2中2個圖標(biāo)為同一VI在LabVIEW中的2種不同顯示方式,且2個圖標(biāo)為同一VI分別以不同文件名保存的2個文件。(程序完全相同)
2.2 基于虛擬JK觸發(fā)器及LabVIEW虛擬“邏輯門”構(gòu)
虛擬儀器LabVIEW中的邏輯運算VI,可以完成各種基本邏輯運算,在仿真數(shù)字邏輯電路時可當(dāng)作虛擬的“門電路”直接使用,部份圖標(biāo)如圖3所示。
集成計數(shù)器74161的內(nèi)部邏輯圖如圖4所示。

它是4位二進(jìn)制同步加法計數(shù)器,有異步清零、預(yù)置數(shù)端子和兩個使能控制端子,各端子的含義如下:
?。?)RD:異步清零端,低電平有效
?。?)LD:預(yù)置數(shù)使能控制端,低電平有效
?。?)預(yù)置數(shù)據(jù)輸入端:A、B、C、D
?。?)CP;時鐘輸入端,上升沿有效
?。?)狀態(tài)輸出端:QA~QD
?。?)RCO:進(jìn)位輸出
74161的邏輯功能:
?。?)異步清零功能:當(dāng)RD=0時,不管其余輸入端狀態(tài)如何,計數(shù)器均被置零,且不受CP控制,故稱為“異步清零”。
?。?)同步并行預(yù)置數(shù)功能:當(dāng)RD=1且LD=0時,每一個有效CP都將A、B、C、D輸入端的數(shù)據(jù)傳送至QA~QD狀態(tài)端子接收。
?。?)狀態(tài)數(shù)據(jù)保持功能:當(dāng)RD=LD=1,且ET·EP=0時,無論CP有無,計數(shù)器處于保持狀態(tài)(QA~QD保持不變)。保持狀態(tài)分2種情況:
EP=0,ET=1:進(jìn)位輸出RCO保持不變;ET=O,無論EP為何值,進(jìn)位輸出RCO=0。
?。?)計數(shù)功能:當(dāng)RD=LD=EP=ET=1時,電路處于正常的加法計數(shù)狀態(tài)。
根據(jù)74161邏輯圖,編制相應(yīng)的LabVIEW后面板,結(jié)果如圖5所示。從圖5中可以看出,對應(yīng)很好。

保留并定義所有輸入端和輸出端子,編輯圖標(biāo),將程序保存為子VI,稱之為虛擬74161芯片,其VI圖標(biāo)及連線端口如圖6所示。

下面討論虛擬芯片74161設(shè)計及應(yīng)用。
運用1片74161及LabVIEW系統(tǒng)中的邏輯運算VI(相當(dāng)于虛擬門)圖標(biāo)直接連接,構(gòu)建一個14進(jìn)制計數(shù)器,實驗后面板(虛擬邏輯圖)如圖7所示。

圖7所示后面板中用一片74161虛擬芯片,基于74161置數(shù)歸零法來實現(xiàn)14進(jìn)制計數(shù)功能(帶進(jìn)位輸出)。計數(shù)容量為0000~1101,置數(shù)控制端輸入取。
。
相應(yīng)的實驗前面板如圖8所示。計數(shù)狀態(tài)設(shè)置為RD=EP=ET=“True”,相當(dāng)于邏輯1,可從CP控件手動輸入計數(shù)脈沖實現(xiàn)計數(shù)并實驗。圖中顯示為計數(shù)至1101時,進(jìn)位輸出為1的狀態(tài)。當(dāng)下一個CP到來時,則全部清零重新計數(shù)。

仿真實驗的結(jié)果表明,虛擬74161具有實際電路芯片相同的邏輯功能。
3 時序虛擬芯片設(shè)計應(yīng)注意的關(guān)鍵問題
對于組合邏輯,只須按邏輯圖直接進(jìn)行連線即可,但對于時序邏輯,應(yīng)當(dāng)注意下述問題:
?。?)需要將狀態(tài)數(shù)據(jù)緩存時,應(yīng)當(dāng)在數(shù)據(jù)傳遞過程中使用反饋節(jié)點或移位寄存器。
(2)任一觸發(fā)器或時序芯片單元,在同一虛擬電路中不能重復(fù)使用(調(diào)用)文件名相同的同一子VI程序。
原因是當(dāng)調(diào)用某時序子VI時,其保存的狀態(tài)數(shù)據(jù)將發(fā)生變化,從而導(dǎo)致用到同一VI的其他經(jīng)程序單元狀態(tài)數(shù)據(jù)發(fā)生不可預(yù)知的錯誤。即虛擬電路中使用的任一時序單元對應(yīng)的子Vl都應(yīng)當(dāng)保證是惟一的獨立程序,要多次使用就必須分別以不同文件名保存后再分別調(diào)用。
4 結(jié)語
將虛擬儀器的強(qiáng)大功能應(yīng)用于數(shù)字邏輯電路的仿真,在虛擬儀器系統(tǒng)中構(gòu)建各種虛擬“芯片”,并以此作為虛擬“元件”,可進(jìn)一步“搭建”各種虛擬“數(shù)字電路”。虛擬儀器應(yīng)用于數(shù)字電路的仿真技術(shù),可以高效快捷地設(shè)計數(shù)字電路的原理圖、分析數(shù)字電路的邏輯功能及開展基于虛擬儀器的數(shù)字電路實驗、教學(xué),同時還能拓展虛擬儀器新的應(yīng)用領(lǐng)域。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









