虛擬儀器LabVIEW在數(shù)字電路實(shí)驗(yàn)教學(xué)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
所謂虛擬儀器,就是在以計(jì)算機(jī)為核心的硬件平臺(tái)上,配合以相應(yīng)的輸入/輸出接口,具有計(jì)算機(jī)顯示器的虛擬面板,測(cè)試功能由測(cè)試軟件來(lái)實(shí)現(xiàn)的一種計(jì)算機(jī)儀器系統(tǒng)[1-2]。自美國(guó)國(guó)家儀器公司(National Instruments,NI) 在1986年提出虛擬儀器的概念之后,虛擬儀器技術(shù)便一直成為發(fā)達(dá)國(guó)家自動(dòng)測(cè)控領(lǐng)域的研究熱點(diǎn)和應(yīng)用前沿。目前,最著名的虛擬儀器系統(tǒng)是NI的LabVIEW,其最廣泛的應(yīng)用領(lǐng)域是測(cè)控領(lǐng)域[3-4],而文章將要探討的,是將該系統(tǒng)應(yīng)用于數(shù)字邏輯電路的教學(xué)、實(shí)驗(yàn)的問(wèn)題。文章認(rèn)為,由于虛擬儀器的自身特點(diǎn)及數(shù)字與模擬電路的差異性,虛擬儀器系統(tǒng)并不適用于模擬電路系統(tǒng)的教學(xué)或?qū)嶒?yàn),但對(duì)于數(shù)字電路系統(tǒng),則有較強(qiáng)的、特殊的優(yōu)勢(shì)。
2 問(wèn)題的引出
虛擬儀器LabVIEW具有典型的圖形化語(yǔ)言風(fēng)格,其程序(后面板)的編制過(guò)程就是將不同的圖標(biāo)(VI)進(jìn)行選擇、組合并連線的過(guò)程。其不同圖標(biāo)(VI)相當(dāng)于具有不同功能的“子程序”,圖標(biāo)間的連線指定了數(shù)據(jù)的流向,相當(dāng)于代碼語(yǔ)言的“賦值”語(yǔ)句[5]。在LabVIEW的函數(shù)選板中,既包含了大量專用的信號(hào)處理、信號(hào)運(yùn)算等VI圖標(biāo),也包含了各種數(shù)值運(yùn)算、邏輯運(yùn)算的基本VI圖標(biāo)。其中的邏輯運(yùn)算VI,其圖標(biāo)就是標(biāo)準(zhǔn)的邏輯運(yùn)算符號(hào),LabVIEW中相應(yīng)的邏輯運(yùn)算VI選板如圖1所示。
不難看出,利用這些圖標(biāo)編制的邏輯運(yùn)算程序(LabVIEW后面板),也就是一個(gè)規(guī)范的數(shù)字邏輯電路的邏輯圖。就信號(hào)的輸入/輸出來(lái)說(shuō),LabVIEW亦提供了豐富的輸入控件和輸出控件,如各種形式的開關(guān)、按鈕、指示燈、波形顯示器等等,這些“器件”可直接用簡(jiǎn)單的拖動(dòng)方式拖放到相應(yīng)位置即可使用。
圖1 LabVIEW中的布爾VI選板
更重要的是,虛擬儀器系統(tǒng)不同于虛擬現(xiàn)實(shí)技術(shù)或仿真技術(shù),后兩者只不過(guò)是對(duì)現(xiàn)實(shí)系統(tǒng)的一種模擬而已,而虛擬儀器雖稱為“虛擬”,但其實(shí)質(zhì)是一種基于計(jì)算機(jī)軟、硬件系統(tǒng)作為支撐,通過(guò)采用一定的數(shù)學(xué)模型和算法來(lái)完成處理過(guò)程的真實(shí)儀器系統(tǒng),一句話,虛擬儀器系統(tǒng)并非“虛擬”儀器,而是“真實(shí)”儀器,它是要完成真實(shí)儀器系統(tǒng)功能的。也就是說(shuō),基于虛擬儀器系統(tǒng)進(jìn)行的相應(yīng)實(shí)驗(yàn)或教學(xué)過(guò)程,通過(guò)配置相關(guān)的A/D或DAQ接口,即成為能完成實(shí)際儀器功能的儀器,故基于虛擬儀器進(jìn)行教學(xué)、實(shí)驗(yàn),比基于虛擬現(xiàn)實(shí)技術(shù)或仿真技術(shù)的教學(xué)實(shí)驗(yàn)更具有實(shí)際意義!
由于虛擬儀器LabVIEW中提供的布爾運(yùn)算VI比較完備,再加上系統(tǒng)本身圖形化的語(yǔ)言風(fēng)格,完全可以做到將“程序——邏輯圖——實(shí)驗(yàn)過(guò)程——輸入輸出”等過(guò)程的結(jié)合,使過(guò)程簡(jiǎn)單明晰,可以完成數(shù)字邏輯電路中幾乎所有的實(shí)驗(yàn)及演示,如:編碼器、譯碼器、數(shù)據(jù)選擇器/分配器、加法器、各類計(jì)數(shù)器等等,而且,具體的實(shí)驗(yàn)或演示過(guò)程,還可運(yùn)用LabVIEW中程序執(zhí)行過(guò)程的“高亮度單步執(zhí)行”模式,充分地觀察到信號(hào)的動(dòng)態(tài)流程和邏輯電路的運(yùn)算過(guò)程,甚至可以將某種邏輯運(yùn)算過(guò)程單獨(dú)開發(fā)為專門的用戶VI,形成一獨(dú)特功能的新型概念的“虛擬芯片”,供需要時(shí)直接調(diào)用。下面就以一簡(jiǎn)單的七段數(shù)碼顯示譯碼器為例,來(lái)討論運(yùn)用虛擬儀器LabVIEW實(shí)現(xiàn)數(shù)字電路實(shí)驗(yàn)的過(guò)程。
3 數(shù)字電路教學(xué)實(shí)驗(yàn)的設(shè)計(jì)
數(shù)碼顯示器是常用的顯示器件,七段顯示譯碼器邏輯是數(shù)字邏輯電路教學(xué)中常用典型的設(shè)計(jì)范例,下面就以設(shè)計(jì)七段顯示譯碼器為例,來(lái)說(shuō)明虛擬儀器LabVIEW在數(shù)字邏輯電路中的應(yīng)用。
3.1 設(shè)計(jì)要求
要求的數(shù)字顯示字形如圖2所示,設(shè)輸入I3 I2 I1 I0為四位二進(jìn)制數(shù),a-g為相應(yīng)的七段顯示輸出,其邏輯關(guān)系式則為方程組1。
圖2 七段數(shù)碼顯示字形
3.2 設(shè)計(jì)過(guò)程及實(shí)驗(yàn)
使用虛擬儀器LabVIEW構(gòu)建程序,按方程組1構(gòu)建的后面板如圖3所示。
圖3 七段顯示譯碼器的LabVIEW后面板(程序)
從圖3可以看出,LabVIEW后面板(程序)和相應(yīng)的邏輯電路在形式上完全對(duì)應(yīng),即LabVIEW的程序其實(shí)就是邏輯圖的具體體現(xiàn)了。若采用“高亮度單步執(zhí)行”方式,還可以直觀地觀察到信息(信號(hào))的流動(dòng)及每一環(huán)節(jié)的中間運(yùn)算結(jié)果,這是其它數(shù)字邏輯實(shí)驗(yàn)所不及的,這也正是基于虛擬儀器LabVIEW進(jìn)行數(shù)字邏輯實(shí)驗(yàn)所表現(xiàn)出的直觀性、簡(jiǎn)潔性和實(shí)用性。
相應(yīng)的程序前面板(輸出/操作界面)如圖4所示。
圖4 七段顯示譯碼器實(shí)驗(yàn)的前面板
實(shí)驗(yàn)中用4個(gè)開關(guān)I0~I3分別作為四位代碼產(chǎn)生的邏輯器件,用a~g七個(gè)發(fā)光指示燈分別作為七段數(shù)碼顯示器的顯示單元,這些“器件”都是LabVIEW提供的現(xiàn)成的輸入/輸出控件,直接運(yùn)用即可。
圖中當(dāng)前顯示的是輸入為“1001”時(shí)的譯碼顯示“9”,實(shí)驗(yàn)或演示時(shí)只須用鼠標(biāo)操縱水平搖桿開關(guān)I0~I3即可得到相關(guān)的輸入代碼,對(duì)應(yīng)的輸出(譯碼顯示)則在右端顯示出來(lái);當(dāng)然,也可用“CTRL+E”組合鍵調(diào)出程序后面板窗口圖3,運(yùn)用單步高亮度執(zhí)行的方式來(lái)觀察譯碼器的工作過(guò)程。
4 虛擬儀器應(yīng)用于數(shù)字電路實(shí)驗(yàn)教學(xué)的優(yōu)點(diǎn)
引入虛擬儀器進(jìn)行實(shí)驗(yàn)和教學(xué),除了具備上述容易實(shí)現(xiàn),過(guò)程簡(jiǎn)單和效果明顯的特點(diǎn)之外,還可以達(dá)到以下目標(biāo):
先進(jìn)儀器的低成本化
縮短新型儀器的開發(fā)周期
降低儀器的維護(hù)、配置成本
容易實(shí)現(xiàn)基于網(wǎng)絡(luò)的交互式實(shí)驗(yàn)和教學(xué)
強(qiáng)化學(xué)習(xí)、實(shí)驗(yàn)過(guò)程的自主性和自創(chuàng)性
而達(dá)到上述目標(biāo),就可以改善相應(yīng)的教學(xué)模式,將為培養(yǎng)適應(yīng)新世紀(jì)的創(chuàng)新人才創(chuàng)造十分有利的條件,也為高校自身實(shí)力的提升和教學(xué)成本的降低提供了理想的發(fā)展空間??梢灶A(yù)見,虛擬儀器技術(shù)將是今后儀器科學(xué)發(fā)展在相當(dāng)一段時(shí)期內(nèi)的重要方向[6-7]。
5 結(jié)論
虛擬儀器系統(tǒng)應(yīng)用于實(shí)驗(yàn)或教學(xué),是虛擬儀器系統(tǒng)在測(cè)試領(lǐng)域之外的又一應(yīng)用領(lǐng)域,而應(yīng)用于數(shù)字邏輯電路的實(shí)驗(yàn)教學(xué),能充分發(fā)揮虛擬儀器系統(tǒng)的優(yōu)越性,使教學(xué)過(guò)程變得更加直觀,使實(shí)驗(yàn)過(guò)程能充分體現(xiàn)學(xué)生的參與度、加強(qiáng)自創(chuàng)實(shí)驗(yàn)的設(shè)計(jì)和實(shí)踐,而且虛擬儀器在數(shù)字邏輯電路實(shí)驗(yàn)中的應(yīng)用面廣、包含范圍寬,加上適當(dāng)?shù)腁/D或DAQ,可方便地將這類系統(tǒng)升級(jí)為具有實(shí)際意義的基于虛擬儀器的實(shí)驗(yàn)/分析系統(tǒng)。
將虛擬儀器應(yīng)用于數(shù)字邏輯電路的教學(xué)、實(shí)驗(yàn),具有較好的實(shí)際意義,也是虛擬儀器在測(cè)試領(lǐng)域之外得到應(yīng)用的又一重要補(bǔ)充。