全曉莉,周南權
(1.重慶理工大學 電子信息與自動化學院,重慶 400054;2.重慶航天職業技術學院 電子工程系,重慶 400021)
實驗教學是高等理工科教育中的一個重要環節,很多學科都以實驗課程為基礎。通過實驗,可以加深學生對所學理論知識的理解,把理論知識靈活地運用到實踐中;可以培養學生的動手能力、分析問題和解決問題的能力以及科技創新能力。但是課程教學改革的實施和高校招生規模的擴大,使一般學校的實驗室和實驗儀器數量很難滿足實驗教學的需求。
基于虛擬儀器的實驗教學系統是建立在軟件教學基礎上的[1],虛擬儀器具有交互性、數字化、模塊化、易于網絡化等明顯特點,十分有利于從整體上提高我國高校的實驗教學水平。所以,高等院校應十分重視虛擬仿真實驗教學模式的應用[2],需要研發虛擬實驗儀器、創新實驗手段和方式、優化教學活動,不斷革新實踐教學[3-4]。
筆者在對傳統數字電路實驗教學方式進行分析的基礎上,探索將虛擬儀器技術用于數字電路的實驗教學中,利用LabVIEW開發平臺設計出一套低成本、高收益、方便升級的數字電路教學虛擬實驗系統[5-6]。
虛擬儀器是利用計算機的顯示器代替傳統儀器的面板,利用計算機的鼠標和鍵盤操作虛擬儀器的功能按鈕,由基于計算機的I/O接口設備完成數據(信號)的采集和調理,利用LabVIEW軟件實現數據(信號)的分析處理、表達與儲存,從而實現多種儀器功能的一種基于電子計算機的儀器系統[7]。虛擬儀器的實質是利用計算機技術來拓展傳統儀器的功能,是基于計算機的儀器。
軟件是虛擬儀器的關鍵。當基本硬件電路確定后,就可以通過不同的編程實現不同儀器的功能,用戶可以根據自己的需要,設計、研發自己的虛擬儀器系統[8]。虛擬儀器具有操作方便、容易實現教師與學生互動的優點,有助于提高教學效率和教學質量,它將成為高校實驗教學和科研的重要手段和方法。
基于虛擬儀器技術的數字電路實驗系統包括驗證性實驗和綜合性實驗兩部分。驗證性實驗的目的在于使學生掌握邏輯電路的功能、特點及其應用;綜合性實驗主要是培養學生的電路設計能力。驗證性實驗主要是對課堂理論知識的驗證,用LabVIEW軟件進行數字邏輯電路仿真具有形象、逼真、便捷的特點[9];設計綜合性實驗安排學生進入實驗室動手實踐,將基于LabVIEW軟件開發的虛擬實驗平臺和傳統的基于實驗室物理環境的實驗相結合,有效地提高實驗教學效果。圖1為實驗系統的結構圖,圖中每一個實驗項目模塊都是一個獨立的實驗子系統,可以完成特定的實驗內容。

圖1 虛擬實驗系統的構造
驗證性實驗主要用于教學實驗的仿真,因此與硬件相關的部分都需要用軟件來模擬;而綜合性實驗需要用到一些硬件設備來輔助完成設計。LabVIEW中包含了大量的函數模塊,如信號仿真模塊、信號調理模塊和信號分析處理模塊等,利用這些功能強大的函數模塊以及不同類型的輸入控件和顯示控件,可以方便地實現測試過程的模擬、實驗數據的分析和結果的顯示等[10-11]。
“軟件就是儀器”。本文以移位寄存器實驗子系統為例,介紹用LabVIEW開發虛擬實驗的基本思路。
寄存器用于寄存一組二值代碼。由于一個觸發器可以寄存一位二值代碼,所以多個觸發器共同組成的一組觸發器就可以儲存一組二值代碼,在多個觸發器基礎上對時鐘信號和輸入信號進行正確的連接就可以實現寄存器。移位寄存器除了存儲功能外,還具有數據移位功能,即在時鐘脈沖信號的驅動下,寄存器里的二值代碼依次左移或者右移,因此在數據的串行/并行轉換、數值運算和處理等許多過程中,移位寄存器有廣泛的應用。
本文使用4個D觸發器組成4位移位寄存器,但實際上使用其他類型的觸發器(如JK觸發器等)也可以實現相同的功能。從執行順序上看,該程序實際上是一個串行的觸發器序列,每一個觸發器在時鐘信號的驅動下輸出一位狀態信號,除第一個D觸發器的輸入信號是DI外,其他觸發器的輸入信號正是前一個觸發器上一個時鐘周期內儲存的信號。于是,時鐘每進行一個周期,就可以將觸發器所儲存的狀態信號送入下一個觸發器中,而第一個觸發器新接收的信號為輸入信號DI,這樣就實現了移位寄存器的邏輯仿真過程[12]。
虛擬移位寄存器的前面板如圖2所示,圖中時鐘的頻率、占空比和移位寄存器移位的位數等參量都可以由用戶自己選擇。虛擬移位寄存器的主程序設計如圖3所示,整個程序框圖中主要調用了事件結構(E-vent Structure)、While循 環結構、條 件 結 構 (Case Structure)、Bollean Array to Digital.vi、數字信號顯示器(Digital Waveform Graph)以及已經設計好的 D觸發器.vi和時鐘.vi兩個子程序等典型函數模塊,完成4個事件的響應。

圖2 移位寄存器前面板
需特別說明的是,由于同時調用了若干個“D觸發器.vi”子程序[13],而默認狀態下LabVIEW 調用子vi時,是將這些vi看作同一個vi重復執行,所以會造成各個觸發器狀態之間的影響,產生邏輯錯誤。因此,一定要將“D觸發器.vi”設為可重入vi。設置為可重入vi后,允許LabVIEW在調用多個相同的子vi時將其視作若干個獨立的子vi分別執行,這樣就不會互相產生影響。
該程序仿真了5個時鐘周期的過程,若需要拓展,可在此基礎上自行作出修改。實際上,通過數據置入方式不同和輸入脈沖的不同,可以利用移位寄存器實現串行/并行或并行/串行之間的轉換。

圖3 移位寄存器的程序
數字電路課程教學實驗平臺具有高效、開放等特點,借助LabVIEW強大的信號分析處理能力和生動友好的界面設計,虛擬演示實驗如同在實驗室操作真實儀器設備,這種方式大大提高了課程實踐教學的伸縮性和適應性,克服了場地、課時數等對學生實驗的限制,是教師教學的演示工具、學生自學和提高的得力助手和“導師”。
(
)
[1]陳春朝,李春洋,李玖棟,等.LabVIEW軟件在教學中的應用[J].計算機與現代化,2010(3):89-92.
[2]陳春朝,趙敏,張亞超,等.基于LabVIEW的虛擬實驗平臺的設計[J].中國現代教育裝備,2009(17):31-34.
[3]余金華.基于虛擬儀器技術的實驗教學研究[J].安徽工業大學學報,2009,26(6):123-124.
[4]周敬森,汪鳳嬌,朱博航,等.基于LabVIEW的“信號與系統”實驗軟平臺構建[J].現代電子技術,2011,34(23):169-174.
[5]沈茜.虛擬儀器在電子技術實驗教學中的應用及前景[J].煤炭技術,2010,29(3):59-60.
[6]錢聲強,王露,李晴.基于LabVIEW的數字電路課程遠程實驗平臺開發[J].常州信息職業技術學院學報,2010,9(1):63-65.
[7]劉金雷,程鵬,吳嘉澍.基于虛擬儀器技術的發動機測試系統設計[J].儀表技術與傳感器,2012(11):50-52.
[8]劉東升,尹成群,呂安強,等.基于虛擬儀器技術的電子測量儀器平臺開發[J].儀表技術與傳感器,2011(9):23-24.
[9]賈立新,何劍春,包曉敏.數字電路[M].北京:電子工業出版社,2007.
[10]雷振山,肖成勇,魏麗,等.LabVIEW高級編程與虛擬儀器工程應用[M].北京:中國鐵道出版社,2012.
[11]鄭對元.精通LabVIEW虛擬儀器程序設計[M].北京:清華大學出版社,2012.
[12]宋竹霞,閆麗.數字電路實驗[M].北京:清華大學出版社,2011.
[13]高吉詳,丁文霞.數字電子技術[M].北京:電子工業出版社,2011.