黃燕 李成勇 重慶工程學院電子信息學院
引言:隨著時代的發展,科技的進步,我國各大高校的招生規模不斷擴大,其課程教學內容也伴隨著發展逐步更新換代。社會對我國高校的學生提出了愈來愈高的要求,特別是理工類的專業,要求學生在掌握理論專業知識為基礎的同時,還應具備嚴謹的科學思維方式、認真的工作態度以及扎實的實際動手能力,能將理論與實際相結合,把知識運用到實際應用當中。而實驗教學恰恰是培養這些能力和素質的關鍵,學生只有在實驗中,才能真正理解并運用所學的理論知識,提升實踐能力。
在數字電路實驗中,實驗數據的分析和保存,對于獲取準確的實驗結果以及讓學生從中理解實驗原理至關重要。但在如今大多數高校的實驗教學模式中,學生記錄和分析數據的方式通常是通過學生自己手工,這樣的方式往往會導致的較大的誤差,并且在后續整理和查詢實驗數據時,也非常不方便。
與傳統實驗儀器相比較,虛擬儀器技術不僅具備計算機強大且靈活的處理能力,并且還擁有可擴展性的測量和控制能力,將傳統的儀器設備的功能集合,一方面減少了傳統實驗儀器的成本以及每次實驗所需的經費,另一方面還能隨時隨地對數據進行處理、顯示和傳輸,提供維護、擴展、升級等功能。虛擬儀器技術在實驗教學中得到應用,學生就可以將虛擬實驗與實物實驗相結合,突破實驗設備和實驗空間的限制,在較快地掌握實驗儀器的基本原理和使用方法的同時,大幅度地提升自身的創新和自主學習能力,這在現代實驗教學中是一種先進的技術手段。
在如今的高校數字電子技術課程中,數字電路實驗總的來說可以分為兩類:一類是基本邏輯電路實驗,其中包括組合邏輯電路實驗和時序邏輯電路實驗,如編碼器、譯碼器、RS觸發器、JK觸發器等;另一類是綜合設計實驗,包括信號發生器、七段數碼管、數字時鐘等。本系統選取部分基本邏輯電路實驗和綜合設計實驗進行分析并搭建系統的前面板及程序框圖,當學生想要進行某個數字電路實驗時,可以直接在數字電路實驗總面板上點擊對應的實驗按鈕,就能夠進入到所搭建的相應的實驗模塊當中,充分體現虛擬儀器在實驗教學中的優勢,并且具有可開發性、穩定性、實用性等特點,對于提高我國高校的實驗教學質量來說至關重要。
在LabVIEW的前面板中提供了大量的虛擬元器件,包括各種形式的開關、按鈕、指示燈、波形顯示器等等。
只需根據需求,自定義的在前面板設計元器件的位置擺放,學生按照實驗要求點擊相應圖標即可開始實驗并能直觀的觀察到實驗過程及結果。
在LabVIEW的程序框圖面板中,函數選板里具備了眾多的信號處理、運算,以及數值運算、邏輯運算等函數模塊,調用這些模塊就可以設計并搭建出各種數字電路的基礎以及綜合實驗,如編碼器、譯碼器、運算器、觸發器、信號發生器、數字時鐘等。
在數字電路中,通常存在諸多的模擬量以及高電平和低電平這兩種相對立的邏輯狀態。在LabVIEW的控件選板中恰好包含了大量數值、布爾控件,因此,數值控件便可以用來表示實驗的各種模擬量,其數字電路的兩種對立狀態也可以巧妙的通過同樣具有真值和假值兩種對立狀態的布爾控件來表示。
LabVIEW的程序編寫過程是利用計算機的仿真技術,將代表不同功能的圖標(VI)進行選擇、組合,并且用表示數據流向的連線連接起來。不僅實驗的設計方式十分簡單,其可實現的實驗需求與傳統硬件設備的功能也大致相同,同時還能進行思維的擴展,提高操作性和可應用性范圍。因此,對于實驗設備和經費成本有限的高校來說,虛擬儀器技術除了能提高教學質量與效果之外,也具有非常高的便捷性和實用性,能夠提高大部分學生的參與程度,讓更多的學生投入實驗。
根據對數字電路實驗的分類,列舉分析構建系統的各個實驗模塊的詳細設計,其中基礎實驗模塊以全加器設計為例,綜合實驗模塊以秒表計時器。
在數字電路系統中,有一項最重要的基本任務——算術運算。而在數字系統中的算術運算與常規運算不同的是,它所有的加、減、乘、除均是通過加法來進行的。因此,加法器被稱之為數字電路系統中最為基礎也最為重要的模塊。
在進行運算時不考慮低位來的進位的加法即是半加。而全加不同,除了最低位之外,在其它位的加法上,全加需要考慮到低位向本位的進位。能夠實現全加運算的電路就稱之為全加器。它具有三個輸入端:加數Ai、被加數Bi還有相鄰低位來的進位數Ci-1;以及兩個輸出端:和數Si和向高位的進位Ci+1。
當輸入端或輸出端為“1”的狀態時,布爾控件被點亮,為“0”的狀態時則不亮;選定輸入端的值后,點擊確定按鈕,輸出端顯示相應結果,點擊退出按鈕,退出本次實驗運行。
在本模塊中,當輸入端Ai、Bi、Ci-1的布爾控件被點亮的個數為奇數,即為“1”的狀態的個數為奇數時,其輸出端和數Si的布爾控件被點亮,否則不亮。輸出高位進位的Ci+1則是當輸入端的布爾控件被點亮的個數為2個及2個以上時,其布爾控件才會被點亮,否則同樣不亮。例如當輸入端為“100”的狀態時,輸出端和數Si的布爾控件則會被點亮,而輸出高位進位的Ci+1的布爾控件則不亮。
時鐘在人類歷史上已有幾千年的歷史,并且隨著社會經濟和科學的發展,人們的生活也逐漸無法離開時鐘,它已經徹底融入了人們的日常生活,成為一種不可或缺的存在。而在各類比賽以及許多實驗測量當中,數字式秒表也是一種至關重要的計時工具。因此,本次綜合設計實驗就把時鐘與數字式秒表計時器的功能結合,讓它可以在正常進行開始、停止、復位并記錄時間的同時,方便人們觀察時間,其功能簡潔明了,使用方法簡單,易于操作。
當水平搖桿開關波動到“時間”時,啟動時間模式,自動顯示當前時間;當水平搖桿開關波動到“秒表”時,啟動秒表模式,點擊“開始”按鈕進入計時狀態,點擊“停止”按鈕停止當前計時,點擊“清零”按鈕重置當前記錄的時間,點擊“保存”按鈕將保存的數據顯示在左側的文本框中,并存儲在指定的記事本文件里。
實驗總面板就是將所有的實驗仿真模塊整合到一個平臺當中,學生只需在使用時點擊選擇相應的模塊按鈕,就能調用其實驗模塊,進行對應的實驗教學,并且還能非常方便快捷地進行多次實驗,實驗過程也清晰明了。通過這樣一個數字電路實驗系統,學生不僅能鞏固每一門課程的理論知識,更能利用這個平臺進行創新實踐,讓學生根據自己的想法搭建自己的系統模塊。
(1)錯誤列表。LabVIEW的編譯過程不像傳統的程序設計開發語言,需要程序員進行手動的編譯,相反,其過程在后臺自動編譯并且將編譯后的目標代碼存儲在VI文件中的同時,還能夠實時地判斷代碼編寫是否正確,其結果是否能夠正常顯示,連線或節點是否出現錯誤。如果出現運行的異常和中斷,LabVIEW將會自動的彈出錯誤列表對話框,對話框里會顯示當前VI程序中所出現的錯誤。在錯誤列表對話框中,雙擊其中某項錯誤,就可以快速直接的定位到該錯誤,并且按照提示的錯誤內容進行相應的修改。
(2)斷點工具。斷點可以設置在LabVIEW程序面板中的任何一個節點或者連線,其作用就是讓程序在運行過程中,當運行到設置了斷點的節點或連接線時暫停運行,從而檢查在某一段程序編寫中,是否出現編寫上的邏輯錯誤,達到快速定位錯誤源的目的。除此之外,還可以用于檢驗某一段程序的運行結果是否正確,因此,該工具通常與探針工具結合使用。
基本邏輯電路實驗模塊中,部分實驗模塊輸出端的布爾控件顯示結果與理論結果不同,如譯碼器的輸出結果與理論結果恰恰相反。通過反復研究實驗電路的邏輯圖,以及檢查程序中的連線及邏輯運算、數值運算是否應用正確后,發現是輸入端的按名稱解除捆綁的元素順序錯誤。經過修改元素順序后。
綜合設計實驗模塊中,時鐘及秒表計時器實驗出現數碼管顯示順序紊亂、計時器無法暫停等問題。通過利用上述工具,檢測程序中出現錯誤的節點或連線的位置,查看數據流的走向及程序執行情況等,發現數碼管顯示順序紊亂是由于簇中布爾控件的順序錯誤,根據相應的數字所需要顯示的布爾控件,再進行重新排序簇中控件后,數碼管能夠正常顯示對應數字;由于計時器是通過循環計數實現的,所以程序中設置了若干個while循環,如果要退出循環,即暫停或停止計時,則需要按照不同的條件依次退出每一層循環,而計時器無法暫停就是循環沒有退出成功造成的。理清條件退出思路,再以此進行修改和不斷嘗試后,最終調試成功,程序正常運行,所實現的功能達到預期。
虛擬儀器技術具有非常高的靈活性和可擴展性,在節約實驗經費成本的同時,還能提高實驗教學的質量和效果,給學生提供一個身臨其境的實驗環境,讓學生找到學習知識的樂趣。隨著電子技術和計算機技術的飛速發展,計算機已經逐漸成為我國高校實驗教學中必不可少的一部分,而虛擬儀器技術與實物實驗教學的結合,毋庸置疑的具有很高的性價比,并且還能充分達到實驗教學的效率和效果。
使用LabVIEW編寫圖形化的程序,不但適用于數字電路的各種基礎實驗,更能簡化其電路設計過程,讓學生更加簡潔而又充分的理解到實驗原理。基于虛擬儀器技術在數字電路實驗系統中的應用,將會在未來提高教學效果的同時,全面提升我國的教育教學及科學研究的質量。