“微機系統與接口”課程教學改革
“微機系統與接口”課程是高等院校計算機及電類等專業的重要專業基礎課,同時也是“單片機系統應用”,“嵌入式系統設計”等課程的先修課程。該課程旨在使學生掌握微型計算機體系結構、微處理器及其指令系統、匯編語言程序設計、微型計算機接口電路設計及編程方法,培養學生軟硬件設計及系統開發的能力。
長期以來,我國的“微機系統與接口”課程大都以Intel8086/88甚至Pentium等芯片作為經典的教學對象,以此在課程的建設方面涌現出不少有影響力的教材以及教學方案和教學方法,筆者當年也是從學習8086/88開始邁進“微機系統與接口”課程的大門。
然而,隨著技術的進步和發展,Intel8086/88等當年的主力芯片廠家業已停產,為了授課和實驗的需要,被迫利用同架構的芯片來模擬。在此過程中,由于硬件和軟件方面的種種原因以及長時間使用對實驗平臺維護的不足,大部分學生反映在進行系統總線、存儲器擴展等實驗時會遇到不少困難,部分實驗甚至不能開展。而且,考慮到目前大學生電子設計競賽都以先進單片機或ARM為對象,結合嵌入式系統開展設計和應用。為了加強學生動手實踐能力并提高相應的設計水平,筆者提出將“微機系統與接口”課程的應用對象改為TI公司基于CotrexM4內核的ARM芯片TM4C1294,以此設計了相應的實驗平臺,并對課程體系及內容作了一定的調整。
此舉希望能起到拋磚引玉之效,與同仁們一起探討,以獲得更好的教學效果及培養學生應用能力。
1 課程教學體系改革
1.1課程內容
我校的“微機系統與接口(微機原理)”課程是一門校級平臺課程,規劃為48課時。教學內容主要包括:計算機系統組成、8086系統結構及其指令結構、匯編語言程序設計、系統總線、存儲器原理、輸入輸出接口技術、8259中斷控制器、8255并行接口、8250串行通訊接口、常用A/D和D/A等。
1.2當前課堂教學中存在的困難
在當前該課程教學中,由于課程內容較多,涵蓋知識點復雜,且綜合性、系統性較強,對學生先修課程特別是數字電路的基礎要求較高。
具體授課時,教師既要向學生講解CPU內部結構、尋址方式、指令系統等,需要學生建立對硬件架構的理解,還要使學生理解在寄存器層面上程序工作的流程。學生面對大量抽象的概念,難免產生畏難的情緒,學習熱情受到影響。再則,匯編語言編程目前已經使用不多,故被壓縮進有限的學時內,更加重了學生的學習負擔。
同時在課堂教學中過于注重概念細節,忽視整體知識結構的問題也會導致實驗內容與課堂教學內容相脫節,使得學生在面對實踐環節中的工程問題無從下手,難以做到邊學邊用,學以致用。
1.3課堂教學內容調整
為了改變教學現狀,部分院校已開始了“微機系統與接口”課程的教改工作。借鑒這些兄弟院校的經驗,筆者考慮在有限的課時中,需要通過合理組織課程內容,將課程內容分為不同層次以循序漸進方式講解,并引入課堂實踐環節來提升教學效果。為此,筆者根據課程的教學大綱,加入了一些新發展的內容,撰寫了一本《ARM嵌入式系統教程:基于Cortex-M4內核和TM4C1294控制器》教材。(將在2017年元月由機械工業出版社發行)。雖然這本教材起名為嵌入式系統,但其內容編排能夠滿足“微機系統與接口”課程的需要。
教材首先編寫了計算機系統的基本組成結構及主要部件的連接和工作方式。其次分別介紹各個外設和通訊接口,并以最簡程序作為范例,指導學生使用。考慮到現在的程序開發已極少用到匯編語言編程,為突出重點教材中沒有對此作過多介紹,代之以ARM指令系統做了簡要介紹。
在教學中,根據學生的專業方向,在有限的學時內,重點介紹主要的外設、通訊和模擬接口,其它接口留給學生利用課余時間自習。所有的編程都以C語言實現,符合現今主流的開發手段。
這樣的安排可以激發學生學習的熱情,改變大多數學生認為該課程枯燥、過時等想法,同時教學內容既新穎又實用,能夠取得較好的教學效果,也有利于與以后課程的銜接。
2 課程實踐教學改革
2.1教學實踐環節中遇到的問題
由于Intel8086/88處理器及其配套82系列芯片已停產多年,當前大部分高校采用的微機系統與接口實驗平臺均利用PCI總線,或用其來模擬ISA總線,該實驗環境對于非計算機專業的學生,在有限的學時內很難掌握。
受我校當前微機系統與接口實驗平臺的制約,必須用PCI轉接板插在臺式機的主板上,學生在作課程實驗、綜合實驗及課程設計時,由于實驗平臺固定且硬件資源難以擴展,同時缺乏相應配套資源,難以利用課外時間進行擴展實踐。同樣原因,教師也無法在課堂上針對重點和難點問題,結合具體的實驗對象進行有針對性的講解。這樣,就把實踐教學和理論教學割裂開來,影響了教學效果。學生也不能在實驗環節中發揮積極性、創造性,自己設計相應的外圍硬件,創造相對復雜的應用系統。
2.2基于ARM的微機系統與接口實驗平臺
基于上述實踐教學中遇到的問題,筆者在此次教學改革中,基于TI公司Cotrex-M4內核的ARM芯片TM4C1294,設計出了相應的實驗平臺(EAE021-M4)。
該實驗平臺設計時,主要考慮的是不僅要滿足當前“微機系統與接口”課程的要求,同時兼顧了日后擴展及延伸的需要。使得學生可以利用實驗平臺作為基礎,結合擴展的硬件資源,自主選擇綜合實驗,培養學生設計復雜應用系統的能力。
微機系統與接口實驗平臺(EAE021-M4)的硬件布置框圖如圖1所示,其上配備有TI公司TM4C1294launchpad處理器核心板,具有8路PWM信號、8路12位ADC、128×64液晶模塊、4×4矩陣鍵盤。同時還設置了多種形式接口,可配置多種形式的模擬、數字、數?;旌夏K接口:16位ADC接口,可外接單通道16位ADC器件ADS1602(1MHz采樣率);數?;旌想娐纺K接口,包括FPGA、ADC、DAC和SRAM;VGA接口,可以使用液晶顯示器、液晶電視機為輸出設備;SD卡接口,可對SD卡進行讀寫操作;PMOD接口可擴展外接多種模擬、數字接口模塊;RS-232接口,實現微機系統間通信。
該實驗平臺具有很好的擴展性,可以承擔微機系統與接口、嵌入式系統、FPGA應用系統、電子系統設計等課程實驗及課程設計。目前市場上尚無類似的擴展性強、性價比高的產品。該系統曾在全國大學生電子設計競賽—2016年模擬電子系統設計專題邀請賽中作為競賽平臺使用。

圖1 基于TM4C1294的微機系統與接口實驗平臺布置圖
本實驗平臺采用模塊化設計方式,結合FPGA核心板,可以滿足設計復雜電路系統的需要,FPGA器件提供豐富的可編程邏輯單元,利用硬件編程語言verilogHDL和VHDL,可在FPGA中配置具有各種功能的IP軟核,實現新型微機芯片及其接口芯片功能,具有編程靈活,可靠性高等特點。本設計中的FPGA核心板選用Xilinx公司的ARTIX-7系列XC7A50T芯片。該芯片包含52160個邏輯單元,2700KbRAM,用戶使用I/O數170個,可滿足大容量低成本的電子設計的需求。
ARM核心板選用TI公司的TivaCSeriesTM4C1294ConnectedLaunchPad核心板,該核心板提供豐富的板上外設資源,包括10/100M以太網接口、USB2.0接口、片上ADC模塊、多種串行通信外設等。該核心板同時支持TI針對TivaC系列處理器所開發的一套軟件開發包Tivaware,該程序庫將處理器所執行的基礎操作指令模塊化、函數化,可以免去開發中冗長的代碼,降低開發難度,特別適合硬件初學者使用。Tivaware提供的外設驅動庫,USB、圖形和傳感器的應用庫,使用戶在開發時可以專注于應用程序的構建,免去耗費過多精力于編程連接外設,從而加速開發的進程。并有利于學生掌握微機系統與接口的本質內容,而不至于浪費寶貴的時間在系統連接上。該核心板與實驗平臺的連接利用了TI公司的80Pin標準LaunchPad管腳,即使以后該ARM芯片停產,仍可利用TI公司后續的核心板以支持實驗。
3 教學與實踐相結合
TI公司TivaCSeriesTM4C1294ConnectedLaunchPad核心板本身即可進行一些簡單的實驗,配合EAE021-M4實驗平臺可完成一些復雜的輸入輸出及顯示等操作。該平臺與電腦的連接通過USB接口進行,這就極大地方便了任課教師和學生,不必局限于實驗室進行演示和實踐訓練。
通過適當地調整教學內容,將實踐環節與課堂教學有機地結合在一起,可以取得事半功倍的效果。
主要實施辦法有:
(1)采用以ARM架構系統為基礎,講解微機系統的基本組成以及輸入、輸出接口和存儲器系統;擴充學生的知識面,能夠掌握目前主流的微機系統與接口設計方法。
(2)結合“微機系統與接口”原有的基本知識講解,使學生牢固建立微機系統的概念,在課堂上解決難點和重點時,可借助實驗平臺直接演示程序,加深教學效果。
(3)對原有的“基本原理-匯編語言編程-系統總線-外設接口-通訊接口-模擬接口”教學方式進行適當的整合,采用任務驅動的教學模式,利用教學與實驗并行的方式,提出問題并啟發學生逐步解決問題,實時加以演示,注重知識講解與實踐操作相結合,培養學生系統學習、理解、解決問題的能力。
(4)棄除傳統陳舊的編程方式,目前的微機系統開發絕大多數以C語言為主,與其浪費有限的學時在陳舊的匯編語言編程上,不如直接更改為以C語言編程教學。
在教材改革的基礎上,針對每個模塊的編程,都用C語言詳細介紹硬件和軟件間的關系,以激發學生的學習興趣,使其能夠自主設計并編程解決實際問題。
(5)在32學時的“微機系統與接口”實驗課上,依靠課堂教學,學生已基本掌握了基礎以及系統概念,可以讓學生在實驗平臺上直接操作,實現相應模塊的功能,如實現系統外設的輸入/輸出控制、與PC進行串行通信、完成模擬信號/數字信號之間的轉換等。這不僅加強了實驗的效果,還能有空余課時讓學生根據自己的專業,選擇1~2個具體的專業模擬案例,達到教學和實際相結合的目的。
(6)核心板的所有引腳都通過排針引出,既可以使學生能開展基本實驗(如LED燈閃爍、系統時鐘控制、按鍵輸入與中斷控制、串行通信、A/D和D/A轉換、PWM輸出、SPI接口通信等)。也方便后續開展擴展實驗,這類擴展實驗可以由學生自行設計,也可由教師選擇幾個項目實例供學生選擇,如電氣專業的電機控制、新能源利用、電力電子應用等以及圖像顯示,數據采集、操作系統移植與優化、USB及以太網通訊等,可大大提高學生的綜合素質及全面解決問題的能力。
4 結語
為了提高“微機系統與接口”課程的教學效果,本文通過對國內相關院校該課程教學工作的調研,總結了各自的優缺點,并結合我院課程教學的特點及當前存在的不足,提出了以課堂授課為核心,緊密結合理論與實踐教學,采用任務驅動的教學改革。
我們基于TI公司Cotrex-M4內核的ARM芯片TM4C1294,設計了相應的實驗平臺(EAE021-M4)。
一方面提升了學生的學習興趣,激發了學習積極性與自主學習意識;另一方面培養了學生對于應用系統軟硬件設計的開發能力,既提升了理論知識的教學效果,也培養了學生的實踐動手能力及創新意識。