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