鐘 錦
(合肥師范學(xué)院計算機學(xué)院,安徽合肥230601)
科學(xué)構(gòu)建嵌入式人才培養(yǎng)體系,深刻理解嵌入式系統(tǒng)的特點,培養(yǎng)出一大批創(chuàng)新型高素質(zhì)嵌入式系統(tǒng)人才是當(dāng)前地方應(yīng)用型本科院校開設(shè)該專業(yè)亟待研究的課題。嵌入式系統(tǒng)課程知識關(guān)聯(lián)了電氣工程自動化、電子技術(shù)、計算機應(yīng)用、通信工程等多個專業(yè)的相關(guān)內(nèi)容,涉及單片機技術(shù)、C語言程序設(shè)計、嵌入式操作系統(tǒng)、模擬電子技術(shù)、數(shù)字電子技術(shù)、匯編語言等多門課程,對培養(yǎng)學(xué)生的寬基礎(chǔ)、寬專業(yè)有著較高要求。嵌入式系統(tǒng)課程培養(yǎng)規(guī)格決定了其實踐性強,課程設(shè)置大量的實踐環(huán)節(jié),培養(yǎng)學(xué)生軟硬件設(shè)計和驅(qū)動程序設(shè)計能力,教學(xué)中需要搭建硬件、軟件開發(fā)環(huán)境[1]。當(dāng)前嵌入式系統(tǒng)人才培養(yǎng)體系存在很多不足,如培養(yǎng)方案缺乏系統(tǒng)性,實踐過程中缺乏足夠的訓(xùn)練規(guī)模與難度,理論講授與實驗演練不能有機結(jié)合等。嵌入式系統(tǒng)課程較多是以傳統(tǒng)的理論化、知識化的方法講授,學(xué)生無法直接感性認(rèn)識嵌入式系統(tǒng)的軟硬件知識,不能做到“一堂化”學(xué)習(xí)中去。嵌入式系統(tǒng)教材大多是以知識點來組織相關(guān)的章節(jié),缺乏實際案例引導(dǎo)學(xué)生理解教學(xué)內(nèi)容,難以將抽象的知識和實踐教學(xué)環(huán)節(jié)緊密結(jié)合。本文根據(jù)計算機專業(yè)嵌入式系統(tǒng)實踐性、綜合性強的特點,提出合適的模塊化嵌入式系統(tǒng)課程教學(xué)方案。
計算機嵌入式系統(tǒng)教學(xué)模式改革涉及嵌入式課程體系的設(shè)置、理論教學(xué)和實驗教學(xué)的開展、綜合設(shè)計與學(xué)生工程實訓(xùn)等方面,教學(xué)體系設(shè)計以培養(yǎng)學(xué)生的系統(tǒng)分析、設(shè)計與驗證能力為出發(fā)點,以培養(yǎng)學(xué)生的軟硬件設(shè)計能力、驅(qū)動程序設(shè)計能力為導(dǎo)向,構(gòu)建精講多練的模塊化課程體系和教學(xué)知識體系。
嵌入式教學(xué)設(shè)計中體現(xiàn)分層次培養(yǎng)環(huán)節(jié)。在教學(xué)中可按照人才培養(yǎng)分類,分層次進(jìn)行嵌入式人才培養(yǎng):一是以面向應(yīng)用為主,培養(yǎng)學(xué)生能夠針對某個具體的嵌入式系統(tǒng)的軟硬件平臺進(jìn)行應(yīng)用開發(fā)的能力,這屬于嵌入式系統(tǒng)教學(xué)的基本層次,培養(yǎng)嵌入式應(yīng)用軟件人才;二是培養(yǎng)的學(xué)生能夠進(jìn)行嵌入式系統(tǒng)的軟硬件系統(tǒng)平臺設(shè)計和開發(fā),具有綜合系統(tǒng)開發(fā)和應(yīng)用能力,因此,在教學(xué)過程中注重培養(yǎng)學(xué)生軟件、硬件設(shè)計開發(fā)能力[2]。
以人才培養(yǎng)與社會行業(yè)需求度為導(dǎo)向,以“創(chuàng)新創(chuàng)業(yè)能力培養(yǎng)”為目標(biāo),對嵌入式系統(tǒng)的課程結(jié)構(gòu)、教學(xué)內(nèi)容進(jìn)行改革創(chuàng)新。做到課程結(jié)構(gòu)“任務(wù)模塊化”、課程模塊“動態(tài)組合化”;使課程結(jié)構(gòu)和教學(xué)內(nèi)容不斷更新。實際教學(xué)中采用靈活多樣的教學(xué)方法體系,具體方法:(1)對于初級嵌入式系統(tǒng)各模塊按統(tǒng)一模式講解,有利于提高學(xué)生的學(xué)習(xí)效率,加深對嵌入式軟硬件結(jié)合的理解;(2)通過函數(shù)封裝等技術(shù)對外設(shè)、接口設(shè)置和操作進(jìn)行模塊化設(shè)計,如在以NXP單片機為核心的初級嵌入式系統(tǒng)上,進(jìn)行硬件和軟件模塊化教學(xué)設(shè)計;(3)針對實踐教學(xué)環(huán)節(jié),保持課程實驗課之外,進(jìn)一步加強綜合性的課程設(shè)計,加強獨立開設(shè)綜合性、設(shè)計性實驗安排,鍛煉學(xué)生的實際應(yīng)用能力。對于部分章節(jié)采用討論式教學(xué),老師引出問題,學(xué)生進(jìn)行討論,共同設(shè)計。在不斷討論、解決問題的過程中,有利于學(xué)生獨立思考能力的培養(yǎng)和靈活、綜合運用基礎(chǔ)知識能力的提高。結(jié)束時,老師對設(shè)計原理、方法和注意事項進(jìn)行總結(jié),在此基礎(chǔ)上再進(jìn)行較復(fù)雜的設(shè)計,這樣可以激發(fā)同學(xué)的學(xué)習(xí)興趣和學(xué)習(xí)熱情。
嵌入式系統(tǒng)教學(xué)體系構(gòu)建貫穿“以學(xué)生自主學(xué)習(xí)為中心”“實踐教學(xué)”等教學(xué)理念,模塊化教學(xué)設(shè)計具體如下。
嵌入式系統(tǒng)課程因其自身特點,目前理論課按照不同的功能單元進(jìn)行教學(xué),相應(yīng)地實驗系統(tǒng)也按功能單元進(jìn)行劃分,但大多數(shù)實驗系統(tǒng)是采用最小系統(tǒng)板加底板形式的實驗箱,不易擴展和攜帶。筆者曾在教學(xué)過程中設(shè)計了嵌入式實驗系統(tǒng)的“口袋化”方案,即把整個實驗平臺分為最小系統(tǒng)板、輸入輸出單元板和交互接口板三塊,方便學(xué)生攜帶和課后學(xué)習(xí)演練。細(xì)化初級嵌入式課程的實驗系統(tǒng),盡可能劃分成不可再分割的基本功能模塊,如單片機與電腦的異步串行通信模塊,制作以MAX232為核心的電路板,配有單片機和電腦數(shù)據(jù)接口以及電源接口;繼電器模塊,制作以繼電器為核心的小電路板,配有單片機開關(guān)信號接口和繼電器開合線路接口;最小系統(tǒng)板則根據(jù)所連的外圍模塊分別給出各模塊的數(shù)據(jù)接口。按功能需求連接需要配置的外圍模塊,進(jìn)行可裁剪式的硬件設(shè)計。對不同的功能模塊在軟件上按照模式設(shè)置、數(shù)據(jù)讀寫操作進(jìn)行封裝。教學(xué)上按照功能原理、操作接口和應(yīng)用進(jìn)行解析。課堂教學(xué)上,不同功能的模塊可按原理、操作、應(yīng)用這種模式講解,便于學(xué)生歸納學(xué)習(xí)理解。理論課講解之后可以隨即分發(fā)最小系統(tǒng)板和相應(yīng)的硬件模塊,實現(xiàn)理論講授、實驗演練的“一堂化”,讓學(xué)生能理論與操作相結(jié)合,當(dāng)堂消化,提高學(xué)習(xí)和運用效率[3]。
嵌入式實驗系統(tǒng)教學(xué)中努力做到硬件和軟件的模塊化設(shè)計,一方面便于后續(xù)系統(tǒng)的擴展與升級,另一方面方便與其他嵌入式實驗系統(tǒng)相融合。模塊化平臺設(shè)計體現(xiàn)易擴展性和可裁剪性,一方面便于教師對學(xué)生進(jìn)行統(tǒng)一培訓(xùn),另一方面便于學(xué)生根據(jù)功能需求裁剪模塊,直接進(jìn)行插件式、積木式系統(tǒng)搭建與實現(xiàn),便于學(xué)生進(jìn)行創(chuàng)新創(chuàng)意類的競賽或項目設(shè)計,有助于提高學(xué)生的系統(tǒng)搭建實現(xiàn)效率、培養(yǎng)創(chuàng)新興趣和團隊協(xié)作精神,具體步驟如下。
(1)各硬件模塊的調(diào)用與規(guī)范化接口設(shè)計。各規(guī)范化硬件模塊接口設(shè)計包括:I/O接口模塊中的撥碼開關(guān)、小鍵盤、LED顯示燈、液晶顯示、蜂鳴器等各組件的模塊化設(shè)計與實現(xiàn);模擬電路預(yù)處理模塊、片外A/D模塊與D/A模塊的設(shè)計與實現(xiàn)等;通信模塊:SCI、I2C、SPI各通信接口電路的模塊化設(shè)計與實現(xiàn),以及常用無線通信模塊的接口規(guī)范化設(shè)計;中轉(zhuǎn)模塊:各種電平轉(zhuǎn)換接口模塊、驅(qū)動隔離模塊的設(shè)計與實現(xiàn);存儲模塊:常用片外存儲設(shè)備的接口設(shè)計等模塊的設(shè)計與實現(xiàn)等[4]。
(2)相應(yīng)功能模塊的運行模式初始化設(shè)置和讀寫操作函數(shù)化封裝,并配以與該功能模塊對應(yīng)的各硬件模塊的調(diào)用實例,如多路通用I/O口模塊初始化函數(shù)、讀寫操作函數(shù),與之對應(yīng)的撥碼開關(guān)、繼電器、小鍵盤、LED顯示等模塊的調(diào)用實例等。
(3)撰寫硬件模塊功能原理和接口操作手冊。在進(jìn)行各功能模塊軟件設(shè)計時,需詳細(xì)撰寫各模塊功能原理、讀寫操作原理、函數(shù)封裝說明、調(diào)用手冊及對應(yīng)各硬件模塊的調(diào)用實例說明。以智能車模塊化平臺設(shè)計為例:首先設(shè)計硬件電路的各個功能模塊,然后編寫軟件模塊化功能代碼,最后實現(xiàn)整個實驗平臺的開發(fā)與調(diào)試,起到學(xué)生理論實踐“一堂化”的效果[5],如圖1所示。
圖1 智能車模塊化平臺設(shè)計框架
首先是驅(qū)動電路設(shè)計,智能驅(qū)動采用L298N芯片,通過I/O口與STM32嵌入式處理器相連接,采用TLP521光藕隔離器技術(shù),防止電機運行對嵌入式處理器及其他功能模塊產(chǎn)生電磁干擾;其次是硬件電路原理圖繪制、電路板PCB圖繪制、硬件電路元件的焊接、調(diào)試等;最后是軟件代碼編寫,按照模塊化設(shè)計,每個控制模塊的軟件代碼設(shè)計成相互獨立的頭文件,主要包括LED流水燈、蜂鳴器、按鍵、A/D轉(zhuǎn)換、串口通信、DS18B20、顯示屏、智能小車、WiFi模塊等單元的測試程序[6]。測試程序相互獨立,既能夠單獨控制某個功能模塊,也能相互融合實現(xiàn)復(fù)雜的功能控制。在設(shè)計過程中,教師積極引導(dǎo),更多工作是讓學(xué)生自己動手,“一堂化”教學(xué)有利于學(xué)生加深對嵌入式系統(tǒng)的理解,更重要的是提高了學(xué)生對嵌入式系統(tǒng)綜合應(yīng)用的能力。
計算機嵌入式系統(tǒng)的人才培養(yǎng)要對學(xué)生開發(fā)設(shè)計和創(chuàng)新能力的培養(yǎng)給予重視。經(jīng)過近幾年實踐探索,嵌入式系統(tǒng)模塊化教學(xué)取得了良好的教學(xué)效果,學(xué)生的學(xué)習(xí)興趣明顯提高,學(xué)生的實踐動手能力、系統(tǒng)綜合能力、團隊合作精神明顯增強,學(xué)習(xí)效率有了很大的提高。模塊化平臺設(shè)計為創(chuàng)新創(chuàng)業(yè)大賽項目類的教學(xué)提供了很好的平臺,在創(chuàng)新實踐教學(xué)環(huán)節(jié)上的應(yīng)用取得了顯著成果,學(xué)生積極開展課程設(shè)計活動,創(chuàng)作了一批優(yōu)秀的課程設(shè)計作品取得了不少成績。近年來,計算機嵌入式專業(yè)學(xué)生獲得了全國大學(xué)生“飛思卡爾”杯智能汽車競賽國家三等獎、安徽省一等獎和二等獎,robgame比賽最佳技術(shù)獎,2016年獲得安徽省首屆自制教學(xué)儀器成果獎三等獎等好成績。并培植了多項國家大學(xué)生創(chuàng)新實驗項目。