嵌入式系統是一門涉及計算機體系結構、計算機軟件以及其他相關電子技術的綜合技術。目前,嵌入式系統技術已經成為最熱門的技術之一,各類企業對具備嵌入式系統設計開發能力人才的需求量非常旺盛。在目前各高校開設的嵌入式系統課程中,普遍采用的微處理器是8位的單片機8051,32位ARM7TDMI核的飛利浦NXP LPC系列和三星S3C4480芯片。首先以單片機作為嵌入式系統設計學習的入門,掌握了基本的概念和設計方法之后,再把ARM7內核CPU作為一種“功能更強大的單片機”,無縫升級到流行的ARM平臺。 傳統的嵌入式系統教學,課堂環節多是純理論教學,實踐環節一般也是使用傳統的實驗箱,實驗項目較少,內容固定,創新手段不足,很難為學生的創新實踐創造良好的實驗平臺。鑒于傳統教學模式中面臨的問題,在課堂教學、實驗、畢業設計、創新設計中引入Proteus軟件,可達到事半功倍的效果。 1 Proteus軟件介紹 Proteus是由英國Labcenter公司開發的嵌入式系統仿真及開發平臺,該軟件具有以下特點: (1)能進行智能原理布圖;進行單片機軟件調試和單片機與外圍電路的協同仿真;滿足單片機軟件仿真系統的標準。 (2)支持常見的單片機類型和飛利浦公司ARM7(LPC系列)處理器及常見的外圍器件如8255,ADC0809。 (3)可以與KeilμVersion 3,ADSl兩個集成開發環境結合,把用匯編和C語言編寫的程序編譯后,進行軟、硬件結合的系統仿真。 2 Proteus軟件在教學中的應用 在教學環節中,教師可以將Proteus和Keil建立的虛擬實驗平臺搬到課堂上,將實踐教學與理論教學融為一體,從而改進教學效果。下面是一個實際的課堂案例。 在講述外部中斷處理過程時,將Proteus和Keil聯調,通過仿真步驟,可以將單片機處理中斷的軟件執行過程和單片機內部資源變化的情況以直觀、清晰的畫面呈現給學生,從而帶來單純理論分析難以達到的效果。匯編程序如下: 全速運行Protues,可以看到Proteus中電路的按鍵閉合時,P3.2引腳產生一個下跳沿,PC=0x0003H,指向AJMP INTO轉移指令,堆棧指針SP=O.9H,數據存儲器的08H和09H單元存放著01H和05H,即存放了下一條指令的地址。由此學生可以知道,當發生外部中斷請求時,程序會自動保存斷點的地址,同時程序將會轉移到中斷服務程序的入口地址。由于是外部中斷0產生的中斷請求,因此程序會轉移到外部中斷0的入口地址0003H單元。而AJMP INT0是一轉移指令,所以程序會轉移到標號INT0處,即真正的中斷服務程序。隨著CPL P1.0指令的執行Pro-teus電路圖中的發光二極管會改變當前的狀態。當程序執行完RETI后,PC=0x0105H,說明中斷程序執行完后,程序又回到斷點的位置。RETI指令能把斷點地址取出,送回到程序計數器PC中去。至此,一個完整的中斷處理過程執行完畢。 通過外部中斷執行的例子可以看出,在課堂上使用Protues和Keil聯調建立的實驗平臺,許多抽象概念都可以以直觀的方式介紹給學生,使得學生不僅能夠觀察到軟件執行時單片機內部的I/O口和存儲器的變化,還能夠觀察到軟件程序和外圍電路互動的過程。 3 Proteus軟件在實驗和課程設計中的應用 現有的單片機實驗教學環節通常包括2個部分:課內實驗和課程設計。所有這些實驗都是在實驗箱上完成的。由于硬件實驗箱的結構固定,資源有限,學生在做實驗時無法將所學的知識融會貫通。所以到課程設計階段,很多學生無法完成綜合性實驗。采用Proteus軟件仿真可以彌補硬件實驗的不足。基于Proteus的實驗可以分為以下3個階段逐步完成。 (1)驗證階段。主要讓學生熟悉Proteus與Keil軟件環境,使學生對單片機虛擬系統仿真有感性認識。實驗指導書給出實驗任務與要求、Proteus實驗原理圖、實驗操作步驟、多媒體課件、程序流程圖及程序源代碼等。學生根據實驗步驟或實驗操作錄像進行實驗操作、實驗調試,并觀察程序運行結果。 (2)設計階段。主要培養學生用Proteus繪制系統原理圖,以及用Keil進行源程序設計的能力。實驗指導書給出實驗任務與要求、實驗原理圖。學生根據實驗原理圖用Proteus繪制硬件電路圖,按照實驗要求設計程序,在Keil環境編寫源代碼,調試成功,加載程序到Proteus硬件圖仿真。仿真成功后按照實驗原理圖在實驗箱上搭建硬件電路,加載程序,觀察實驗現象,并與仿真結果相比較。 (3)綜合階段。主要激發學生學習興趣及主觀能動性,提高學生創新能力。學生根據實驗任務及要求設計硬件電路(包括CPU選型、元器件選型及參數設置、電路連接等)并繪制Proteus硬件原理圖;根據硬件功能模塊進行軟件設計(包括系統原理框圖、程序流程圖及源代碼編寫等)。軟硬件設計完成后,進行兩者間聯調,充分利用Proteus與Keil的聯合仿真功能,及時發現并改正硬件電路或程序源碼的錯誤。系統仿真成功后,再制作實物。 在課程設計環節中,要求學生在Proteus中繪制硬件電路圖,在Keil中編寫程序,同時在設計硬件電路時盡可能考慮實驗箱的資源,以便在Keil中編寫的程序能夠很好移植到實驗箱上。這樣學生可以隨時進行課程設計和課題研究,在聯合仿真驗證成功后,再進入實驗室使用實驗箱做進一步驗證。 學生可以針對不同的應用,選擇最適宜的單片機,而不用局限于課堂上常講解的51系列單片機。學生可以在聯合仿真成功之后,再進行電路焊接、系統調試和程序固化,避免因設計方案不正確所造成的浪費。同時也可以使學生了解與本課程相關的科技發展最新動態和成果,掌握自己不熟悉的單片機,提高實驗能力和開發能力。 4 Proteus軟件在畢業設計和創新設計中的應用 在畢業設計中,單片機控制類的設計由于時間短,人數多及實驗設備缺乏,給畢業設計帶來了一定的困難。采用Proteus仿真軟件后,只需要一臺電腦就可以開展工作。學生前期的仿真工作可以利用Proteus仿真軟件在電腦上完成,再進入實驗室進行現場調試,一方面可緩解設備不足的問題,也可不影響正常的教學。 在項目研究和創新設計中,利用Proteus軟件進行輔助設計,可以做到縮短研發周期,減小硬件成本的投入。動態元器件仿真模型是Pro-teus的特色動態模型,具有動畫效果,如LED發光管、按鍵開關等。這是Proteus的特色。但有些動態模型在庫中沒有,Proteus在創建動態模型方面給予用戶廣闊的創作與發揮空間,可以設計自己的動態模型,展現出Proteus在動態仿真方面的無限魅力。它不但使人機交互式仿真得以實現,而且使仿真形象、生動,創造出極為接近現實的課程教學與產品研發的情境。 5 結語 采用Proteus仿真軟件作為單片機和ARM的教學平臺,可充分利用機房的現有設備,減少實驗設備的硬件維護、實驗環境,又與實際工程系統非常接近,拉近了學習與就業的距離。 近年來,將Proteus仿真軟件應用在教學、課程設計、畢業設計、山東省大學生電子設計大賽中,使用該開發環境對學生進行培訓,在不需要硬件投入的情況下,學生普遍反映比以往單純學習書本知識更易于接受,更易于提高,增加很多實踐經驗。實踐證明,這種教學方法不但可以降低成本,經濟優勢明顯,且具有較高的推廣價值。 |