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