孫沫麗 李偉光 李倩等
關(guān)鍵詞:Unity;虛擬仿真;數(shù)字電路
中圖法分類號:TP391 文獻標(biāo)識碼:A
1引言
數(shù)字電路在各大高校的實踐教學(xué)中占有重要地位。目前,電子技術(shù)型人才稀缺,技能要求嚴格,在這方面提高學(xué)生的動手能力及認知水平刻不容緩。傳統(tǒng)的實驗需要在實驗教師的帶領(lǐng)下,在規(guī)定好的時間、地點,按照規(guī)定的內(nèi)容和流程進行實驗,導(dǎo)致學(xué)生的學(xué)習(xí)時間不能被靈活掌控。另外,實驗手段單一,實驗現(xiàn)象展示不夠形象化,學(xué)生被以“填鴨式”的方法接收電路原理并重現(xiàn)過程,書寫千篇一律的實驗報告,學(xué)生學(xué)習(xí)興趣低落,對知識和技能的理解不夠深入,學(xué)生的實踐能力也得不到有效提升。同時,實驗設(shè)備稀缺、老化、價格昂貴,設(shè)備更新?lián)Q代,安全事故等也是目前面臨的主要問題。
目前,電學(xué)類的二維虛擬仿真軟件相對成熟,如protel,multisim.viewlogic等。但是二維仿真軟件大多只注重電子元器件符號的連接,相當(dāng)于將書本上的電路圖搬移到計算機上,仍然不夠真實,初學(xué)者在不懂專業(yè)術(shù)語或?qū)I(yè)技術(shù)的情況下上手困難,大大降低了學(xué)習(xí)者對仿真實驗的學(xué)習(xí)興趣。為提升虛擬實驗的沉浸感和交互性,面向電學(xué)領(lǐng)域的三維虛擬仿真實驗室的研究勢在必行。
本文研究的目的是采用Unity技術(shù)設(shè)計研發(fā)一套數(shù)字電路虛擬仿真教學(xué)系統(tǒng),切實解決實驗室設(shè)備短缺、設(shè)備老化、更新?lián)Q代等實際問題,緩解學(xué)生課余時間進行實驗與實驗設(shè)備、實驗場所緊缺的矛盾,同時為實驗室教師演示、講解實驗過程提供了便利,豐富了教學(xué)手段,提高了教師的教學(xué)效果。
2虛擬仿真教學(xué)系統(tǒng)的設(shè)計
2.1采用的技術(shù)
采用虛擬現(xiàn)實技術(shù)、3D模型設(shè)計與制作技術(shù)、Unity游戲引擎結(jié)合數(shù)字電路的基本原理,設(shè)計研發(fā)出數(shù)字電路虛擬仿真教學(xué)系統(tǒng)??傮w來講,即采用虛擬現(xiàn)實設(shè)備,如以VR配套設(shè)備或者終端計算機作為操作媒介,采用3D模型制作技術(shù)對數(shù)字電路的實驗箱、電子元器件等進行模型的設(shè)計與制作,使用Unity引擎技術(shù)實現(xiàn)實驗場景的搭建,即把數(shù)字電路的邏輯引入相應(yīng)的模型,用程序?qū)崿F(xiàn)模型的內(nèi)部邏輯、UI交互,為實驗者提供友好、逼真的交互界面,達到高度仿真的目的。
2.2總體設(shè)計思路
本系統(tǒng)從需求分析、技術(shù)可行性和仿真內(nèi)容3個方面進行分析,設(shè)計思路框圖如圖1所示。
3虛擬仿真教學(xué)系統(tǒng)主要功能的實現(xiàn)
3.1三維模型的構(gòu)建
根據(jù)虛擬仿真教學(xué)系統(tǒng)的設(shè)計要求,三維模型的設(shè)計內(nèi)容主要包括實驗箱、導(dǎo)線端子插槽、芯片插槽、LED燈、輸入開關(guān)、芯片、數(shù)碼管、總開關(guān)和電源指示燈、導(dǎo)線等。采用3DMAX建模軟件進行模型的設(shè)計,在建模過程中,結(jié)構(gòu)的整體部分根據(jù)前視圖來制作,細節(jié)部分根據(jù)實物進行調(diào)節(jié)。根據(jù)實驗設(shè)備的特點,在模型設(shè)計過程中對活動關(guān)節(jié)的部件進行分離設(shè)計并組合,以方便后續(xù)程序控制部件的關(guān)節(jié)活動。不同的模型根據(jù)系統(tǒng)的不同要求進行設(shè)計,比如芯片插槽是一個黑色塑料零件,用于插入芯片,上面帶有芯片引腳的插口,將芯片放上去時芯片的引腳就正好落人對應(yīng)的插口中。這個插口與導(dǎo)線端子的插口不同,比較小。芯片插槽側(cè)面有用于識別芯片安裝方向的小缺口,與芯片上的小缺口對應(yīng),在導(dǎo)人模型時注意方向。芯片插槽設(shè)計如圖2所示。
3.2虛擬仿真教學(xué)系統(tǒng)核心功能的實現(xiàn)
3.2.1系統(tǒng)功能總體設(shè)計
虛擬仿真教學(xué)系統(tǒng)主要劃分為4個仿真模塊,分別是:組合邏輯電路設(shè)計、數(shù)據(jù)選擇器、簡單時序電路以及計數(shù)器模塊。根據(jù)4個仿真模塊的實驗需求,需要仿真的模型主要包含實驗箱,芯片、電源、開關(guān)以及LED燈等。使用Unity導(dǎo)人模型并進行實驗場景的搭建,通過程序?qū)崿F(xiàn)各個模型的交互功能并進行測試。系統(tǒng)功能總體設(shè)計如圖3所示。
3.2.2實驗箱功能設(shè)計
實驗箱是所有數(shù)字電路實驗的主要操作對象,其內(nèi)部結(jié)構(gòu)復(fù)雜,需要仿真的功能包括電源、時序電路輸入、芯片插槽、LED燈、開關(guān)組等。通過Unity導(dǎo)人實驗箱模型,為仿真模型建立對應(yīng)的類并實現(xiàn)其交互功能,以芯片插槽為例,芯片插槽根據(jù)芯片的引腳數(shù),設(shè)計為14引腳、16引腳以及20引腳3種,設(shè)計的類根據(jù)不同的引腳創(chuàng)建不同的插槽對象。類的功能包括對輸入和輸出引腳的定義,以及電源引腳的定義等。
3.2.3芯片功能的設(shè)計
芯片是數(shù)字電路實驗的主要操作對象,芯片的選擇根據(jù)實驗需求決定。比如,要實現(xiàn)組合邏輯實驗中的與非門仿真實驗,則需要74LSOO與非門,一個芯片包含4個與非門。為仿真模型建立對應(yīng)的類并實現(xiàn)其交互功能。不同的芯片,內(nèi)部邏輯結(jié)構(gòu)不同,首先根據(jù)引腳數(shù)和芯片的型號確定芯片的類對象,并實現(xiàn)芯片的邏輯功能。不同的引腳代表不同的功能,比如芯片74LSO0,內(nèi)部包含4個與非門,其中1,2,4,5,12,13引腳為輸入端,3,6,8,11引腳為輸出端,7為地端,14引腳為電源VCC端,芯片類內(nèi)部實現(xiàn)的功能是檢測各個端子的連接情況,并進行與非的邏輯轉(zhuǎn)換并輸出,對芯片進行仿真。
3.2.4導(dǎo)線的連接方案設(shè)計
導(dǎo)線的連接是數(shù)字電路虛擬仿真的關(guān)鍵環(huán)節(jié)。導(dǎo)線設(shè)計、連接方案以及連接算法是本文的研究重點。導(dǎo)線采用貝塞爾曲線進行設(shè)計,通過鼠標(biāo)設(shè)計連接錨點,當(dāng)錨點碰撞到實驗箱上面的插槽端口將進行自動吸附,單擊鼠標(biāo)左鍵確認是否連接某個端子。需要設(shè)計導(dǎo)線的類,功能包括連接導(dǎo)線,刪除指定導(dǎo)線,堆疊連接導(dǎo)線,導(dǎo)通電流算法等。導(dǎo)通電流的算法主要采用數(shù)據(jù)結(jié)構(gòu)中圖的遞歸算法實現(xiàn)電流導(dǎo)通功能。
4虛擬仿真教學(xué)系統(tǒng)的實踐
以組合邏輯電路實驗的實踐過程為例,對圖4中指定的實驗內(nèi)容進行實踐和仿真,根據(jù)電路的相應(yīng)結(jié)果測試仿真教學(xué)系統(tǒng)的結(jié)果如圖4所示,根據(jù)實驗要求進行電路設(shè)計,得出電路公式并繪制電路圖,確定需要的芯片,根據(jù)題意,只要選擇一片74LSOO即可滿足實驗要求,根據(jù)引腳的含義通過導(dǎo)線進行連接,輸入端為A,B,C,輸出端為Y,根據(jù)A,B,C的組合輸出Y的值,經(jīng)虛擬仿真教學(xué)系統(tǒng)進行測試,結(jié)果完全滿足實驗要求。
5結(jié)束語
數(shù)字電路虛擬仿真教學(xué)系統(tǒng)采用建模技術(shù)、Unity技術(shù)、仿真技術(shù)等,構(gòu)建了數(shù)字電路實驗虛擬仿真的實驗環(huán)境,有效解決了高校師生“數(shù)字電路”課程實驗設(shè)備短缺、實驗機會較少、實驗操作不便等實際問題,隨著信息技術(shù)的快速發(fā)展,線上教學(xué)模式已經(jīng)逐漸普及到各大高等院校中,使得在線教育成為必然的趨勢。對于量大面廣的“數(shù)字電路”實驗課程,開發(fā)基于Unity技術(shù)的虛擬仿真教學(xué)系統(tǒng)對提高線上、線下“數(shù)字電路”實驗教學(xué),實現(xiàn)教育現(xiàn)代化具有重要意義。
作者簡介:
孫沫麗(1980—),碩士,副教授,研究方向:計算機科學(xué)與技術(shù)。