摘要:針對電子信息工程專業(yè)開設(shè)“可編程片上系統(tǒng)”課程,提出了以學(xué)習(xí)遷移為主的教學(xué)設(shè)計,在理論講授和實驗指導(dǎo)中促進學(xué)生知識點與技能的正遷移,注重前后知識聯(lián)系的雙向遷移,并以綜合設(shè)計為目標(biāo)完成高級遷移。該教學(xué)方法在實際中取得了良好的教學(xué)效果,是培養(yǎng)工程復(fù)合型創(chuàng)新人才的一種值得推廣的嘗試。
關(guān)鍵詞:可編程片上系統(tǒng);學(xué)習(xí)遷移;教學(xué)方法
中圖分類號:G642.0 文獻標(biāo)識碼:A 文章編號:1007-0079(2014)23-0076-02
“可編程片上系統(tǒng)”(Programmable System-on-Chip,簡稱SOPC)課程是電子信息工程專業(yè)學(xué)生選修的一門理論與實踐相結(jié)合的課程,涉及到可編程器件、片上系統(tǒng)、嵌入式系統(tǒng)和軟件編程等多個領(lǐng)域的知識和技能。它要求學(xué)生掌握可編程片上系統(tǒng)的基本理論、分析方法與設(shè)計流程,[1]具備用VHDL或者Verilog HDL語言進行可編程器件片上系統(tǒng)設(shè)計的能力,[2]以及用C語言進行嵌入式系統(tǒng)軟件設(shè)計的能力,重點在于培養(yǎng)學(xué)生分析問題、解決問題的能力,為今后從事復(fù)雜數(shù)字系統(tǒng)設(shè)計工作打下良好基礎(chǔ)。
作為ALTERA大學(xué)計劃的一部分,筆者所在學(xué)校和ALTERA公司成立了聯(lián)合實驗室,在ALTERA產(chǎn)品選用和技術(shù)指導(dǎo)上具有優(yōu)勢,同時ALTERA推出的NIOS II嵌入式軟核非常適合作為SOPC的CPU,因此選用ALTERA的DE2開發(fā)板作為教學(xué)設(shè)備。該開發(fā)板基于CYCLONE II型FPGA,具有豐富的IO接口和存儲芯片,同時也有開關(guān)、按鍵、數(shù)碼管和LCD等外設(shè)器件,是國內(nèi)眾多電子信息類高校采用的設(shè)備,具有代表性。[3]
SOPC教學(xué)中存在的難點是其相對于一般嵌入式系統(tǒng)和可編程器件設(shè)計類課程來說需要學(xué)生擁有較多的知識基礎(chǔ),也要掌握更多的設(shè)計工具和編程語言,以及擁有系統(tǒng)設(shè)計的整體觀念和軟硬件聯(lián)合調(diào)試的能力。[4]對于豐富的教學(xué)內(nèi)容和繁多的設(shè)計工具,想要一一講授幾乎是不可能的,即便有時間講授也因為內(nèi)容太多而導(dǎo)致學(xué)生學(xué)習(xí)困難,因此必須培養(yǎng)學(xué)生的自主學(xué)習(xí)和分析解決問題的能力,而學(xué)習(xí)遷移理論正好就給這種可能提供了理論指導(dǎo)。本文針對SOPC課程以DE2開發(fā)板為基礎(chǔ)提出一種有效的以學(xué)習(xí)遷移為主的教學(xué)方式,使得學(xué)生的自主學(xué)習(xí)能力大大增強,并且知識點和技能覆蓋較全面,有益于培養(yǎng)工程復(fù)合型創(chuàng)新人才、就業(yè)市場需要的人才。
一、學(xué)習(xí)遷移理論和課程特點
學(xué)習(xí)遷移即一種學(xué)習(xí)對另一種學(xué)習(xí)的影響,它廣泛地存在于知識、技能、態(tài)度和行為規(guī)范的學(xué)習(xí)中。任何一種學(xué)習(xí)都要受到學(xué)習(xí)者已有知識經(jīng)驗、技能、態(tài)度等的影響,只要有學(xué)習(xí),就有遷移。遷移是學(xué)習(xí)的繼續(xù)和鞏固,又是提高和深化學(xué)習(xí)的條件,學(xué)習(xí)與遷移不可分割。[5]一般來說,學(xué)習(xí)遷移的主要類型有以下幾種:一是正負零。正遷移:一種學(xué)習(xí)對另一種學(xué)習(xí)起到積極的促進作用;負遷移:兩種學(xué)習(xí)之間互相干擾、阻礙;零遷移:兩種學(xué)習(xí)間不存在直接的互相影響。二是順逆。順遷移:先前的學(xué)習(xí)對后來學(xué)習(xí)的影響;逆遷移:后來的學(xué)習(xí)對先前學(xué)習(xí)的影響。三是高低。低級遷移:反復(fù)練習(xí)的技能自動化地遷移;高級遷移:有意識地將習(xí)得的抽象知識運用到新的情境中。
理論上來說,增加學(xué)習(xí)的正遷移,減少零遷移和負遷移,發(fā)現(xiàn)學(xué)習(xí)過程中的雙向(順向、逆向)遷移,并在低級遷移的基礎(chǔ)上努力增加高級遷移,就能達到學(xué)習(xí)的最佳效果。
表1給出了SOPC課程涉及到的知識點和實驗技能,以及它們的學(xué)習(xí)難易度??梢钥闯稣n程知識點分布廣泛,包括軟硬件網(wǎng)絡(luò)知識,而實驗技能也對編程語言要求較多,還包括2~3種設(shè)計工具。因此教學(xué)如果全靠教師講授和指導(dǎo),基本不可能面面俱到,學(xué)生會產(chǎn)生厭學(xué)、敷衍的態(tài)度,效果也會大打折扣。
另外,理論課和實驗課時間安排的比例應(yīng)至少4∶6或者更低,但理論課也不能太少,否則學(xué)習(xí)難度較大。實驗課時間較緊張,很多內(nèi)容不能一一完成,只能挑選比較典型的實驗來指導(dǎo)。筆者所在專業(yè)本課程設(shè)置為48學(xué)時,其中理論學(xué)時安排16學(xué)時,剩余32學(xué)時均為實驗學(xué)時。
表1 SOPC課程涉及到的知識點和實驗技能
知識點學(xué)習(xí)難度實驗技能學(xué)習(xí)難度
NIOS II CPU架構(gòu)較大SOPC BUILDER中NIOS II系統(tǒng)搭建和配置較低
AVALON片上總線、外設(shè)的總線接口較大QUARTUS II中VHDL或者Verilog HDL語言的編程一般
外設(shè)HAL硬件抽象層較低QUARTUSII或者MODELSIM中時序分析和約束一般
uCOS II實時操作系統(tǒng)一般NIOS IDE中C語言編程較大
Altera_lwip協(xié)議棧較低編譯下載硬件配置和軟件代碼并進行軟硬件調(diào)試較大
二、以學(xué)習(xí)遷移為主的教學(xué)設(shè)計
根據(jù)上述理論和課程特點,結(jié)合國內(nèi)的相關(guān)研究,[6-8]以學(xué)習(xí)遷移為主,以培養(yǎng)學(xué)生自學(xué)能力為目標(biāo)進行教學(xué)設(shè)計。圖2展示了全部教學(xué)內(nèi)容。
1.促進知識點和技能的正遷移
正遷移能夠加快新內(nèi)容的學(xué)習(xí),是非常利于自學(xué)過程的學(xué)習(xí)影響。SOPC課程和實驗內(nèi)容中有很大一部分都滿足正遷移的特點。將能夠滿足正遷移的知識點安排在一起講授,實驗則安排在一起指導(dǎo),或者將部分內(nèi)容作為自學(xué)內(nèi)容,但要求實驗考核,這樣就能節(jié)省很多教學(xué)時間,并能提高學(xué)生的自學(xué)能力。如:配置NIOS II中對PIO外設(shè)的學(xué)習(xí),可以遷移到LED、數(shù)碼管顯示、按鍵輸入等,因此講授PIO的配置就可以將數(shù)碼管和按鍵作為自學(xué)內(nèi)容,需要注意的是輸入的中斷設(shè)置應(yīng)該特別提醒。實驗安排上也把流水燈實驗、數(shù)碼管顯示實驗和按鍵中斷實驗等幾個內(nèi)容安排在一起。另外,字符模式外設(shè)也具有統(tǒng)一的特點,因此教學(xué)時應(yīng)放在一起講,同時統(tǒng)一安排JTAG通信實驗、字符LCD顯示實驗和串口通信實驗。又如:在HAL硬件抽象層中對UART設(shè)備的學(xué)習(xí),可以遷移到JTAG UART設(shè)備、字符模式(LCD)設(shè)備。而對于文件子系統(tǒng),可以遷移到Flash設(shè)備、DMA設(shè)備等等。
2.注重前后聯(lián)系的雙向遷移
前后知識點聯(lián)系可以達到加深理解的作用。從上一個知識點遷移到下一個知識點為順向遷移,從下一個知識點遷移到上一個知識點為逆向遷移。將滿足雙向遷移的知識點和實驗提前或者延后安排教學(xué),可以起到事半功倍的效果。如:先跳過學(xué)習(xí)NIOS II CPU的中斷架構(gòu)和異常觸發(fā)機制,等到講授外設(shè)中斷的ISR中斷服務(wù)函數(shù)時,再來理解中斷架構(gòu)和異常處理機制、設(shè)置參數(shù)等,這種逆向遷移節(jié)省了教學(xué)時間,同時也加深了對知識的理解。又如:跳過NIOS II的復(fù)位概念,等到介紹啟動代碼alt_main()函數(shù)時才回去重新理解,這是逆向遷移。再如:講授NIOS II的自定義指令時,就提前講授自定義組件外設(shè),可以更好地理解自定義的含義以及強大的可編程性特點,這是順向遷移。
3.以綜合設(shè)計為目標(biāo)完成高級遷移
為了提高技能,需要花費大量時間做基礎(chǔ)實驗,包括軟件開發(fā)、下載調(diào)試流程等。只有通過大量的低級遷移,學(xué)生才能熟練掌握完整技能。在此基礎(chǔ)上要求學(xué)生自行分組設(shè)計綜合實驗,可選內(nèi)容包括觸摸屏數(shù)碼相框設(shè)計(搭配觸摸屏子板)、網(wǎng)絡(luò)服務(wù)器設(shè)計、MP3播放器設(shè)計、視頻播放器設(shè)計(搭配VGA顯示器)、其他感興趣的綜合實驗等,從而完成局域創(chuàng)新性、綜合性、團隊性的高級遷移。綜合實驗難度較高,為了減輕壓力和工作強度,同時增加團隊合作意識,安排3~4人為一組進行。人數(shù)不宜太少,也不宜太多,太少會讓任務(wù)無法完成,太多則會讓個別同學(xué)偷懶而無所事事。另外,女生最好和男生搭配組隊。
三、總結(jié)
隨著電子技術(shù)的發(fā)展,在FPGA上設(shè)計可編程片上系統(tǒng)就成為了片上系統(tǒng)設(shè)計的趨勢,“可編程片上系統(tǒng)”課程因而也在越來越多的高校開設(shè)。作為“嵌入式系統(tǒng)”或者“可編程邏輯器件”等課程的后續(xù)專業(yè)課,該課程涉及到較多的軟硬件知識和技能,從而讓教與學(xué)都具有相當(dāng)?shù)睦щy性。本文提出以學(xué)習(xí)遷移為主的教學(xué)方法,通過促進知識點和實驗技能的正遷移、雙向遷移、高級遷移,大大增強了學(xué)生的自學(xué)能力,從而能夠更好地培養(yǎng)工程復(fù)合型創(chuàng)新人才、就業(yè)市場需要的人才。
參考文獻:
[1]吳繼華,蔡海寧,王誠.Altera FPGA/CPLD設(shè)計(高級篇)[M].第二版.北京:人民郵電出版社,2011.
[2]侯伯亨,劉凱,顧新.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計[M].第三版.西安:西安電子科技大學(xué)出版社,2009.
[3]楊軍.基于FPGA的SOPC實踐教程[M].北京:科學(xué)出版社,2010.
[4]王兆濱,馬義德,張紅娟,等.新形勢下嵌入式系統(tǒng)應(yīng)用開發(fā)人才培養(yǎng)模式探索[J].高等理科教育,2013,(4):99-102.
[5]溫且兵,周誼.芻議學(xué)習(xí)遷移在計算機語言教學(xué)中的運用[J].科技致富向?qū)В?011,(5):73-78.
[6]張曉青,馬牧燕.信號處理課程群的學(xué)習(xí)遷移教學(xué)應(yīng)用[J].科技視界,2011,(23):47-50.
[7]姚彥鑫,朱希安,李紅蓮.益于學(xué)生知識結(jié)構(gòu)構(gòu)建和學(xué)習(xí)遷移的片上系統(tǒng)教學(xué)內(nèi)容設(shè)計研究[J].中國科教創(chuàng)新導(dǎo)刊,2013,(23):121-122.
[8]倪曉明.FPGA課程教學(xué)的實踐與探索[J].中國電力教育,2011,
(35):106-107.
(責(zé)任編輯:孫晴)