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