馮學(xué)妮,宋喜佳,郝亞茹,鄧招奇
(1.電子科技大學(xué)中山學(xué)院 計算機學(xué)院,廣東 中山 528402;2.中山市啟航技工學(xué)校 電梯教研組,廣東 中山 528402)
數(shù)字電路與邏輯設(shè)計是計算機、電子信息等專業(yè)的一門重要專業(yè)基礎(chǔ)課,其特點是既有非常抽象的邏輯代數(shù)知識,又有較具體的工程實踐應(yīng)用。不但要求學(xué)生掌握數(shù)字電路的基本原理和設(shè)計方法,更重要的是培養(yǎng)學(xué)生對數(shù)字電路的分析、設(shè)計及實際應(yīng)用的工程能力,因此數(shù)字電路課程的實驗課和理論課同等重要。建設(shè)覆蓋范圍廣、靈活性好、使用效率高、接近實戰(zhàn)的“立體化”數(shù)字電路實驗室,對鞏固數(shù)字電路的基礎(chǔ)知識、提高學(xué)生的動手實踐能力有顯著的促進作用[1-3]。
目前高校建設(shè)的數(shù)字電路實驗室建設(shè)方案主要分為兩類,分別是傳統(tǒng)的基于物理實驗箱的硬件實驗室和基于Multisim等仿真軟件的虛擬實驗室。而傳統(tǒng)硬件實驗室的物理實驗箱或者由面包板和若干不同類型的74系列MSI芯片組成,或者由現(xiàn)代可編程邏輯器件(CPLD/FPGA)配合電子設(shè)計自動化(EDA)軟件組成[4]。由于FPGA+EDA軟件的物理實驗箱實現(xiàn)方案能擺脫繁瑣的物理連線和手工查錯過程,使學(xué)生能夠把主要精力集中在邏輯的設(shè)計及實現(xiàn)上,因此我校數(shù)字電路硬件實驗室的實驗箱采用該建設(shè)方案。虛擬實驗室建設(shè)根據(jù)所用仿真軟件的不同,可基于 Multisim、Protues、MATLAB或 Labview 等軟件,并結(jié)合互聯(lián)網(wǎng)技術(shù)進行建設(shè)[3,5-6]。鑒于我校在模擬電子電路的課程中已采用Multisim軟件進行仿真教學(xué),學(xué)生較熟悉該軟件,不需要投入更多的軟件學(xué)習(xí)成本,故主要基于Multisim軟件建設(shè)虛擬仿真實驗室。常見建設(shè)方案分類及采用的雙軌建設(shè)方案見圖1。
在數(shù)字電路的理論和實驗教學(xué)中,基于傳統(tǒng)物理實驗箱的硬件實驗和基于Multisim等仿真軟件的虛擬實驗各有優(yōu)缺點。傳統(tǒng)硬件實驗的主要優(yōu)點是更貼近項目實際、學(xué)生通過自己動手做實驗,可以接觸并掌握各種實際工程項目的細節(jié),能夠有效地培養(yǎng)學(xué)生的動手能力和解決問題的能力,建立敢于嘗試、挑戰(zhàn)實際工程項目的信心。然而在傳統(tǒng)硬件實驗室做實驗也有如下缺點。
圖1 數(shù)電實驗室常見建設(shè)方案分類及雙軌建設(shè)方案
學(xué)生只能根據(jù)給定的硬件電路連接進行邏輯設(shè)計,無法修改已固化的電路連接,靈活性不夠,學(xué)生思維受到這些硬件條件的約束,限制了學(xué)生的想象力和創(chuàng)造力,教師和學(xué)生的很多精力耗費在繁瑣細微的硬件檢錯過程中(如檢查器件連線關(guān)系是否正確、連接點是否穩(wěn)固牢靠、硬件芯片選型是否正確、下載線或下載器是否損壞等)。
與學(xué)生的人數(shù)相比,實驗箱的數(shù)量不足,主要原因為:①全國各高校近些年普遍擴招,學(xué)生人數(shù)增長較快;②實驗室面積有限,難以容納足量的實驗箱;③學(xué)生沒有工程常識,經(jīng)常出現(xiàn)不規(guī)范操作,導(dǎo)致實驗箱的損壞速度快,遠超過實驗箱的維修速度,這也會導(dǎo)致傳統(tǒng)硬件實驗室的建設(shè)和維修成本非常高。
硬件實驗箱沒有配套的軟件支持,或者配套的軟件操作不便、不夠人性化,學(xué)生的學(xué)習(xí)成本高,熟悉和掌握硬件實驗資源耗時長。
學(xué)生學(xué)習(xí)的時空受限,通常只能在上實驗課時在實驗室進行數(shù)字電路實驗,無法將物理實驗箱帶離硬件實驗室,無法在宿舍或者普通教室進行實戰(zhàn)練習(xí)。學(xué)習(xí)時間的不足會影響學(xué)生的學(xué)習(xí)效率,也會極大打擊學(xué)生持續(xù)學(xué)習(xí)的積極性。
虛擬仿真實驗室很好地解決了傳統(tǒng)硬件實驗室的上述問題,具有靈活性高、操作方便、支持修改仿真電路設(shè)計,使用不受學(xué)生人數(shù)、學(xué)習(xí)時空的限制,能夠大幅降低實驗室建設(shè)和維護經(jīng)費等優(yōu)點。缺點是由于仿真軟件普遍具有容錯性設(shè)計,通常會忽略許多實際工程項目在實現(xiàn)過程中遇到的細節(jié)問題,導(dǎo)致學(xué)生無法學(xué)習(xí)和體會這些繁瑣細微的工程常識,如短路問題、共地問題、各電學(xué)元件(如電壓源、電阻、電容等)的數(shù)值匹配問題等。與此同時,在虛擬仿真實驗室學(xué)習(xí),學(xué)生還很難學(xué)習(xí)到快速分析、定位并修復(fù)實際硬件問題的技術(shù)和技巧。
因此,對傳統(tǒng)硬件實驗室和虛擬仿真實驗室進行雙軌并行建設(shè),讓二者相互配合、取長補短,才能充分發(fā)揮各自優(yōu)勢,形成更強大的合力,達到更有效地服務(wù)廣大師生的目的,見表1。
雙軌建設(shè)的重點是硬件實驗室和虛擬實驗室的主要功能模塊、電路設(shè)計等方面保持一致性和互補性。
學(xué)校硬件實驗室主要采用FPGA+EDA的建設(shè)方案,F(xiàn)PGA的型號選擇需要綜合考慮成本、產(chǎn)量、國內(nèi)購買難易程度、技術(shù)熟悉度等多個維度,由于長期使用Altera公司生產(chǎn)的Cyclone II系列FPGA,故自主研制的硬件實驗箱本次選型為較熟悉的FPGA芯片EP2C5Q208C8。該實驗箱的俯視圖和簡化的結(jié)構(gòu)框圖見圖2。
圖2 我校硬件實驗箱的俯視圖和簡化的結(jié)構(gòu)框圖
從圖2可見,硬件試驗箱采用底板+核心板的分離設(shè)計,其中LED顯示模塊、晶體起振電路、FPGA處于核心板,其他功能模塊則主要分布在底板上。
硬件實驗箱的數(shù)碼顯示模塊設(shè)計選用4線-16線譯碼器74154的8個輸出Y0N-Y7N作為8個數(shù)碼管的位選信號,LED與數(shù)碼管模塊的Toggle控制信號DISP_CS、74154的4個譯碼輸入信號DISP-SEL0至DISP-SEL4、數(shù)碼管的段選信號DISP-D0至DISP-D7分別連接在FPGA不同的輸出引腳上,見圖3。
與硬件實驗箱的電路設(shè)計相配合,虛擬仿真實驗中提供了兩個數(shù)碼管的靜態(tài)顯示電路和動態(tài)掃描電路供學(xué)生參考、并進行仿真學(xué)習(xí),見圖4。
物理實驗箱的矩陣按鍵模塊共3行4列。與硬件實驗箱的電路設(shè)計相配合,虛擬仿真實驗中提供了3×4矩陣的仿真電路,見圖5。當(dāng)然,實際教學(xué)過程中可根據(jù)學(xué)生的接受能力將矩陣按鍵的維度進行靈活修改(如修改成2×3的矩陣)。
圖3 傳統(tǒng)硬件實驗室中實驗箱數(shù)碼管的驅(qū)動電路
圖4 仿真實驗中數(shù)碼管靜態(tài)顯示和動態(tài)掃描電路的對比
以數(shù)碼管的動態(tài)顯示為例(如在硬件實驗箱上用8個數(shù)碼管顯示“76543210”),其實現(xiàn)過程涉及大量的專業(yè)知識(如七段數(shù)碼管的基本結(jié)構(gòu)和數(shù)字顯示原理、共陰極和共陽極的區(qū)別、顯示譯碼器7448或7447的工作原理、位碼和段碼的動態(tài)配合過程等)。因此,很多學(xué)生在第一次接觸數(shù)碼管動態(tài)顯示時難以理解其實現(xiàn)原理和工作過程。利用仿真軟件可以靈活修改電路設(shè)計的特點,對數(shù)碼管的動態(tài)顯示過程進行漸進、迭代式的講解。
(1)講解單個數(shù)碼管的顯示原理。以共陽極數(shù)碼管為例,在數(shù)碼管陽極獲得正電位(位碼)以后,為數(shù)碼管的a-g各段碼控制位提供不同的高低電平組合(段碼),觀察數(shù)碼管的顯示結(jié)果。
(2)增加顯示譯碼器(如7447),將7447的譯碼輸出結(jié)果作為數(shù)碼管的段碼,觀察和總結(jié)7447的輸入和數(shù)碼管顯示數(shù)字的對應(yīng)關(guān)系和工作原理。
(3)再增加一個數(shù)碼管,讓這兩個數(shù)碼管采用靜態(tài)顯示的方法顯示不同的數(shù)字,如“10”,見圖4(a)。
(4)增加譯碼器(如74138,或者74154)和PNP型晶體管(見圖4(b)),用譯碼器不同的兩個輸出管腳(如Y0N和Y1N)產(chǎn)生控制數(shù)碼管亮滅的控制信號(如01:數(shù)碼管1亮;10:數(shù)碼管0亮;11:兩個數(shù)碼管都滅)。
(5)緩慢改變譯碼器譯碼輸入端的數(shù)值,觀察兩個數(shù)碼管的亮滅變化和各自顯示的數(shù)字。
(6)令第2步中的顯示譯碼器(如7447)的譯碼輸入數(shù)值與第5步中74154譯碼輸入數(shù)值以相同頻率進行周期性的切換。
(7)逐漸加速改變74154和7447譯碼輸入端的數(shù)值,觀察兩個數(shù)碼管的顯示效果。
(8)增加數(shù)碼管的個數(shù),重復(fù)前述3~7步過程。
經(jīng)過漸進、迭代式的現(xiàn)象顯示和原理講解,可以讓大部分學(xué)生在限定的學(xué)習(xí)時間內(nèi)理解和掌握數(shù)碼管的動態(tài)顯示原理和應(yīng)用。
圖5 硬件實驗箱和虛擬仿真實驗的矩陣按鍵電路對比
傳統(tǒng)硬件實驗箱經(jīng)常采用集成芯片完成特定實驗(如在DA轉(zhuǎn)換實驗中,學(xué)校采用DAC0832芯片完成數(shù)模轉(zhuǎn)換),當(dāng)使用集成芯片進行DA轉(zhuǎn)換時,通常是將該集成芯片當(dāng)做一個“黑箱”,學(xué)生只需掌握該“黑箱”的控制時序即可完成實驗,很難和理論課講解的原理(如DAC0832芯片是基于R-2R倒T型網(wǎng)絡(luò)實現(xiàn)的DA轉(zhuǎn)換)聯(lián)系在一起。
利用仿真軟件可以直接構(gòu)建R-2R倒T型網(wǎng)絡(luò),利用虛擬儀器動態(tài)演示電路內(nèi)部各電學(xué)信號的變化過程,對DAC0832芯片進行“開箱”講解,見圖6,這會有效幫助學(xué)生從底層理解原理,并更加自信地將各種集成芯片運用到工程實際中。
虛擬仿真實驗由于具備極大的靈活性,給理論課、實驗課的講法和學(xué)法提供了更多的可能性。然而,由于仿真軟件的容錯性設(shè)計、對硬件芯片軟件建模的準(zhǔn)確性、對實際項目中成熟經(jīng)驗欠缺考量等因素,虛擬仿真實驗并不能完全替代傳統(tǒng)硬件實驗,最后應(yīng)該回歸實際硬件,在具體、真實的硬件環(huán)境中完成所有實驗和項目要求,才能達到理論聯(lián)系實際、學(xué)以致用的目的。
(1)以數(shù)碼管顯示為例,由于動態(tài)掃描與靜態(tài)顯示相比,可以更有效節(jié)省FPGA芯片的管腳資源,且更加節(jié)能,實際工程應(yīng)用中數(shù)碼管通常采用動態(tài)掃描的方法顯示字符。由圖3可知,我校的硬件實驗箱的連接方式已強制學(xué)生必須使用動態(tài)掃描的方法使用數(shù)碼管,但是單純使用仿真軟件的學(xué)生則很難理解這樣設(shè)計的原因。
(2)以LED驅(qū)動控制電路為例,有如圖7所示的兩種不同接法:驅(qū)動LED負極(如LED1)或者驅(qū)動LED正極(如LED2)。單純使用軟件仿真的學(xué)生會認為驅(qū)動LED2正極的方法更直觀、更符合邏輯,但實際上更多硬件電路采用的是驅(qū)動負極的方法。這是因為集成芯片吸收電流的能力通常好于它輸出電流的能力(對于TTL工藝芯片尤其明顯),所以經(jīng)驗豐富的工程師通常都采用設(shè)計上更加穩(wěn)健、適應(yīng)性更好的驅(qū)動方法(即驅(qū)動LED1負極)。
圖6 利用Multisim直接構(gòu)造R-2R倒T型網(wǎng)絡(luò)實現(xiàn)DAC
圖7 兩種不同的驅(qū)動LED發(fā)光的電路對比
(3)以矩陣按鍵的使用為例,單純使用軟件仿真的學(xué)生會集中精力區(qū)分和總結(jié)按下按鍵KEY_n時,矩陣按鍵模塊各行列信號KEYC1-KEYC4、KEYL1-KEYL3對應(yīng)該按鍵輸出的電平狀態(tài)組合,將這些對應(yīng)關(guān)系確定下來以后,學(xué)生就可以根據(jù)真值表建立函數(shù)表達式,進而正常使用矩陣按鍵了。然而,實際的物理按鍵由于金屬接觸點存在彈性,每次按鍵按下時產(chǎn)生的信號會帶有許多尖峰信號(又稱“按鍵抖動”),因此為了確保每個按鍵KEY_n按下時產(chǎn)生“干凈”的信號,需要對按鍵“按下”或者“抬起”操作進行消抖處理,才可以正常使用這些按鍵。
雙軌并行教學(xué)的結(jié)果表明,該方法能更好地幫助學(xué)生理解數(shù)字電路課程的教學(xué)難點,幫助他們更好地將理論知識和動手實踐能力聯(lián)系在一起,能有效激發(fā)學(xué)生的學(xué)習(xí)熱情,還可以有效降低硬件實驗室的建設(shè)和維護成本。