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