摘要:針對面向全校研究生開設的微型計算機系統(tǒng)接口技術課程,研究如何根據研究生與本科生的不同學習特點以及如何面向不同專業(yè)和不同起點的學生開設實驗課程,以便課程的實驗設置能夠滿足學生的學習需求并達到更好的教學效果。
關鍵詞:微型計算機系統(tǒng)接口技術;實驗課程;研究生選修課;接口設計;FPGA
文章編號:1672-5913(2013)18-0103-03
中圖分類號:G642
微機接口技術在本科生的教學中一般叫做微機原理與接口技術,是一門計算機專業(yè)技術課程。計算機專業(yè)一般在計算機組成原理及匯編語言課程之后開設這門課,課程內容偏重CPU、總線、存儲器以及各種輸入輸出設備之間的接口關系。通常電類專業(yè)將其設置為必修課程,非電類專業(yè)的工科系從計算機應用的角度出發(fā),一般也要學習這類課程,只是學習的深度不等。面向研究生的微機接口技術課程是作為全校性選修課程開設的,那么如何開設這門課程,怎樣從計算機應用的角度滿足學生的求知需求,使教學能夠適應現代技術的發(fā)展就需要認真研究了。
1 課程定位
計算機的應用涉及各個行業(yè),特別是工科行業(yè),其應用都會涉及計算機接口及其控制等。即使有很多學生在本科時學習過微機原理與接口技術這類課程,但對于從事計算機硬件及接口技術相關研究的學生來說,這方面的知識往往需要進一步加強;因此各高校在為研究生開設這門課程時,定位要更高一些,教學內容要比本科生學習的內容更加深入,應用面更廣,并最終將這門課程的名稱定為微型計算機系統(tǒng)接口技術。
針對全校選修計算機系統(tǒng)接口技術課程的學生,該門課教學主要立足于計算機CPU與外部設備之間的軟硬件接口設計,面向各個專業(yè)和領域的應用而展開,將實驗的內容同時向縱深和廣度擴展。
(1)縱向角度:讓學生將設計的內容與計算機系統(tǒng)相關聯(lián),以便深入學習與接口有關聯(lián)的計算機系統(tǒng)及結構方面的知識以及現代計算機各種接口的相關協(xié)議等。
(2)橫向角度:讓學生將學習的內容與自己所從事的科研結合起來,以使實驗變得更加生動和有意義,提高學生學習的積極性,同時令學生在教學過程中感受到教學內容的實用性。
2 實驗內容
實驗內容的確定有兩個方面因素,一是必須能夠將微型計算機系統(tǒng)接口技術的基本原理體現在實驗中,讓學生通過實驗體驗到計算機系統(tǒng)內部各部件包括CPU、存儲器、各種總線以及輸入輸出之間的接口關系、軟件與硬件接口的關系,掌握計算機系統(tǒng)接口底層軟硬件設計并學會編寫簡單應用層程序;二是要根據學生的來源情況設計出不同難度及實用性強的實驗。依據課程的推進及學習層面,我們將實驗分成3個階段:簡單接口設計及工具使用學習階段、提高階段、創(chuàng)新階段。第1個階段要求教師指導學生統(tǒng)一完成;第2個階段是實驗的主要階段,需要提供不同的實驗供學生選擇;第3個階段是讓學生在第2個階段的基礎上進行創(chuàng)新。
1)簡單接口設計及工具使用學習階段。
教師在教學實驗中,一般是在講解實驗軟硬平臺的使用時將幾個基礎實驗同時結合在一起。實驗工具的學習包括在ISE Design Tools開發(fā)平臺下,用HDL語言設計簡單的接口以及進行簡單的SOPC設計。通過這一階段的學習,學生能夠掌握各種工具的使用,設計基本的輸入輸出接口,了解一般總線的工作時序、寄存器及存儲器的讀寫控制等。
教學內容可以選擇以下幾個方面:用彩燈及七段代碼顯示計數、RS232串口通信、SRAM存儲器讀寫、LCD顯示等。這幾個實驗內容既可以用HDL設計,又可以用SOPC的方法設計。
2)提高階段。
這個階段是實驗的主體部分,需要將理論課的知識與實驗緊密結合起來,使學生進一步了解現代計算機系統(tǒng)及接口技術的知識,內容涉及現代計算機系統(tǒng)接口的基本原理以及針對一些接口的深入學習,其中包括USB接口的原理及基本協(xié)議,網絡、音視頻接口的基本原理及基本協(xié)議等。實驗內容需要跟上當前計算機系統(tǒng)及接口技術,包括音視頻接口、嵌入式主/從USB接口(2.0)、網絡接口、PCIe接口的設計等。學生可以2~3個人為一組,根據自己的情況和需求選擇1~2個合適的實驗,實驗指導書則為學生提供接口電路連接圖和參考設計方案,學生需要實現完整的接口應用。
3)創(chuàng)新階段。
第3個階段可以在第2個階段設計的基礎上進行創(chuàng)新,如在完成了音視頻接口的設計后,教師可以根據學生的學科背景加上圖像處理的內容,而核能系的學生就可以將接收到的圖片按他們的方式進行處理等。另外,學生也可以將兩種以上的接口綜合起來,如將網絡和USB、USB和圖像顯示結合起來設計,還可以在嵌入式主USB接口設計完成后,再對FPGA片外的嵌入式USB接口器件進行功能擴展,使USB傳輸方式隨之變化。
此外,該階段也可以跳過第2階段直接進行創(chuàng)新性設計,主要面向一些新的接口技術。硬件實驗平臺上有預留的擴展接口,可以為學生提供實驗平臺上所沒有的接口實驗,學生可以通過外接其他子模塊實現接口設計。學生也可以自己設計一個硬件模塊加在實驗平臺上,以此增加實驗的多樣性,如增加藍牙無線接口方面的設計;還有一些學生利用所在課題的經費購買設備并進行與課題相關的接口設計等。教師將在實驗教學中給予學生更多技術支持。
3 實驗平臺和實驗方法
1)實驗平臺。
目前的實驗硬件平臺是以Xilinx公司生產的超大規(guī)模FPGA可編程器件XC6SLX45T為主芯片,結合各種接口的外圍芯片自行設計的多功能計算機接口實驗平臺EDK-SP6ADSP-TSMF100。硬件實驗平臺的功能框圖如圖1所示。
主芯片FPGA系統(tǒng)時鐘可達1GHz,有43661個邏輯Cells,片內存儲器BRAM最高為2.088kb,內含一個PCI Express硬核以及足夠的硬DSP處理片,集成有DDR,DDR2,DDR3,andLPDDR存儲器控制模塊。每一種接口的設計主要在FPGA片內進行,并配合外部接口器件完成一個完整的接口功能。
2)實驗方法。
FPGA片內設計軟件采用Xilinx公司提供的Xilinx ISE Design Suite 12,它支持3種設計方式:第一種是用HDL硬件描述語言設計硬件;第二種是支持片上系統(tǒng)設計;第三種是支持DSP開發(fā),采用System Generator工具與Matlab工具綁定。另外,設計軟件還集成了仿真工具ModelSim、在線邏輯分析儀ChipsCope、FPGA片內CPU固件代碼調試工具SDK等。
采用什么實驗方法主要由接口的特點決定,如果接口適合用邏輯控制,則用HDL語言實現;如果接口適合用CPU控制,就采用SOPC的方式,采用這種方式還需要編寫CPU的執(zhí)行代碼;如果有數據信號處理的要求,則可以用DSP開發(fā)子平臺。
驅動程序和軟件應用程序通常在Windows下編寫。另外,嵌入式主/從USB接口采用的FPGA外部器件是嵌入式USB芯片Cy7c67300,這個接口的設計還需要在Cy7c67300內部編寫嵌入式應用程序,采用Cypress公司提供的開發(fā)編譯工具完成。
4 教學實驗的改進
實驗課程教學必須緊隨計算機技術的發(fā)展進程,實驗的內容和方法必須隨著技術的發(fā)展而不斷更新和改進。教學實驗的改進包括實驗內容、實驗測試方法、實驗軟硬件平臺的更新和改進等。
1)實驗內容的改進。
實驗內容的改進分為小的調整和大的改進。
教師在每一期的實驗課程結束后都需要聽取學生的反饋意見并進行認真總結,分析實驗教學是否達到預期效果,有哪些不足和有待改進的地方。根據總結和分析,實驗內容基本上每年都會調整,每一期實驗都需要根據實驗準備條件和當屆學生的情況安排合適的實驗內容。實驗教學經驗的不斷積累使得教師在制訂后一年的實驗目標時,會比前一年要求更高一些。
大的調整是淘汰一些比較過時或不適合的內容,增加新的設計內容。這通常需要配合實驗平臺的更新,如嵌入式主/從USB接口和PCIe接口就是目前使用的實驗平臺才增加的內容。教師指導學生所做的創(chuàng)新實驗也是新實驗內容的備用資源。
另外,為了讓學生對實驗課程有更深的體驗,同時作為一門課程,特別是選修課,占用學生的時間又不能過多,因此我們就要在有限的課程時間里讓學生學到更多知識,接觸更多新技術。教師事先將一些與計算機系統(tǒng)接口應用相關聯(lián)的、其他領域的數據處理及控制模塊作為一個IP Core存放在系統(tǒng)里,學生在設計接口時,還是將重點放在接口的設計上,同時還可以調用這些資源。這樣學生不僅可以接觸到與接口相關的其他知識和技術,而且不用占用過多的時間也能夠讓實驗的內容更豐富。
2)實驗測試方法的改進。
利用ModelSim進行仿真已經比較普遍,但仿真并不代表最后真實的結果;利用軟件邏輯在線分析儀進行測試是有效的在線測試方法。Xitinx開發(fā)工具里有一個子平臺叫ChipsCope,它是一個軟體邏輯在線分析儀工具。學生在FPGA片內設計硬件時加上ChipsCope的IP Cope,編譯并下載到FPGA后,打開ChipsCope分析界面并運行,可以看到FPGA內部任何一個節(jié)點信號的實時波形。這個工具適用于ISEDesignTools的HDL設計和EDK的SOPC設計。學生在實驗中使用了這個工具后,極大地方便了調試過程并節(jié)省了查錯時間。
3)實驗軟硬件平臺的更新和改進。
微型計算機系統(tǒng)接口技術這門課程已開設20多年,最初的實驗是用面包板及一些分立器件搭建一個軟磁盤接口,而且所有學生只做這一種接口設計,后來實驗平臺經過多次更新?lián)Q代。用EDA方式進行設計從90年代中期開始,現在則采用以超大規(guī)??删幊唐骷﨔PGA為主芯片的計算機系統(tǒng)接口實驗平臺。這樣歷時大約5~6年時間,無論是軟件平臺還是硬件實驗平臺,都需要一次大的更新。
目前的軟硬件開發(fā)平臺已使用了2年,而Xilinx公司開發(fā)的FPGA現在已經到Artix7——基于ARM內核的FPGA,軟件開發(fā)平臺也換成了Vivado Design Suite。新的FPGA和開發(fā)軟件具有更豐富的資源,提供ARM CPU核,設計者在應用嵌入式設計時能與更流行的嵌入式CPU結合起來。目前,計算機系統(tǒng)及接口技術也有了新的發(fā)展,如USB總線已經更新到USB3.0等,然而教學實驗內容和實驗平臺的更新不一定要跟隨技術發(fā)展,而是一般需要在實驗技術和接口概念上有一個比較大的跨越。
5 結語
筆者中的第一作者基于在微型計算機系統(tǒng)機接口技術課程上的16年工作積累,不斷探索和改革實驗平臺及實驗內容,根據經驗發(fā)現學生經過這門課程的學習后確實受益匪淺。不同的學生在學完課程后都有不同的收獲點,之前有的學生對FPGA和VHDL沒有過多接觸,有的學生對SOPC沒什么概念,大多數學生對USB、網絡等比較復雜的接口原理了解不深,而在學完該門課程并進行實驗后,至少實現了一種接口的完整設計并憑借自主創(chuàng)造能力和想象力實現了設計接口的不同應用,提高了對計算機系統(tǒng)及接口的整體認識以及理論與實踐結合的能力,也培養(yǎng)了同學之間的協(xié)調工作能力。
參考文獻:
[1]楊文顯,現代微型計算機原理與接口技術教程[M],2版,北京:清華大學出版社,2011:V-VI
[2]周悅芝,董代潔,微型計算機系統(tǒng)接口技術實驗教程:基于FPGA設計[M],北京:清華大學出版社,2011:58
[3]Xilinx,Spartan-6 family overview[EB/OL],(2011-10-25)[2013-05-29],http://www.xilinx.com/support/documentationJdata sheets/ds160.pdf
(編輯:宋文婷)