前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇嵌入式課程設計范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
嵌入式方向包括軟硬件協同設計、嵌入式體系結構、實時操作系統、嵌入式產品設計等方面的知識,需要掌握嵌入式系統設計的典型開發工具,培訓學生具備嵌入式系統軟、硬件的開發能力,對于特定行業領域(例如移動終端、數字家庭、信息家電以及對傳統產業信息化改造)已經逐步形成了特定的嵌入式開發方法與手段。
隨著軟硬件技術快速發展,嵌入式系統不再是一門課程就可以介紹清晰,而逐步成為一個課程群,該方向的專業課程可劃分為:嵌入式系統原理、嵌入式操作系統、實時系統、嵌入式軟件設計、軟硬件協同設計、嵌入式系統軟件工程、嵌入式系統中間件、數字信號處理等。一些學校還開設了微機電路應用設計、單片機編程、ARM等課程。
我們收集并分析了國內部分高校在嵌入式課程上的教學大綱,以此為基礎設置了我們的嵌入式系統概論課程。表1是我們收集的大學名稱、課程名稱、學時數與知識點,這些課程基本上是基于Intel的XScale實驗板設計的,對我們設計“嵌入式系統概論”有借鑒作用。
綜合上述高校的嵌入式課程,有些是針對計算機專業開設的,有些是針對其他專業的,有本科期間開設的,也有碩士期間開設的,一些高校開設了多門嵌入式方向大課程。我們設計的“嵌入式系統概論”是針對本科階段開設的嵌入式方向入門課程,主要面向大三的本科生,其課程結構如圖1所示,其前修課程一般是計算機組成、微機原理、接口、匯編、操作系統、程序設計語言、體系結構。部分后續課程開設在研究生階段。
嵌入式系統概論課程的目的,是綜合前修計算機專業課程,以及包括數字電路等更基礎的知識,開拓學生對嵌入式的視野,為后續課程奠定基礎。因此在嵌入式課程中不會介紹匯編語言設計、接口電路的設計等知識。
我們認為,該課程理論部分的知識點分布基本上如圖2所示,主要分為四大模塊,分別是嵌入式概念、嵌入式體系、嵌入式系統軟件、嵌入式軟件開發。實驗部分由于各學校實驗材料的差異,較難對比,我們的使用設備主要是30套Intel XScale與30套Motorola Dragonball。
對于嵌入式體系結構,首先介紹各種嵌入式體系結構、處理器、DSP。
由于ARM體系是目前嵌入式系統工業界事實上的標準,一般都以ARM體系為例介紹嵌入式體系結構,并介紹ARM匯編。由于上課學生已經學習了匯編語言,所以需要簡單介紹ARM匯編與微機匯編的差異與特點,要求學生以自學為主,作業為輔,可以較快地掌握該匯編。浙江大學計算機專業本科生階段在計算機組成課程中還學習了MIPS匯編,所以學生們對ARM匯編掌握起來就更快一些。
在嵌入式體系的具體實例介紹中,我們結合本課程的實驗平臺簡要介紹XScale體系,這部分主要也是自學為主,結合實驗環節讓學生掌握看硬件資料的能力。
在嵌入式體系結構部分,還需要介紹嵌入式系統的硬件系統,包括JTAG接口、外設、中斷、總線等。通過這部分的介紹,學生們可以了解嵌入式硬件系統的構成與軟硬件接口。
嵌入式系統軟件就是嵌入式操作系統。嵌入式操作系統包括非實時嵌入式操作系統與實時嵌入式操作系統(RTOS),在嵌入式課程中主要介紹RTOS。在系統軟件模塊中將介紹實時系統概念、操作系統在嵌入式系統領域的改造,例如處理器調度的實時性改造、中斷處理、文件系統、MMU等。嵌入式系統概論課程主要介紹常見的各種嵌入式操作系統,包括它們的特點、應用領域,并以嵌入式Linux為例子,介紹Linux的改造、裁減與移植。
最后一個模塊是嵌入式軟件開發,是介紹嵌入式軟件開發的過程,使得整門課程最終能夠形成一個完備的嵌入式開發體系。Bootloader的設計,也可放在操作系統移植中進行介紹。嵌入式圖形用戶界面目前沒有統一的標準,作為概論課程需要介紹各個嵌入式GUI的優缺點與適用范圍。同樣,課程介紹包括Tornado、等嵌入式開發環境,以及嵌入式中間件。課程最后將以實例來介紹嵌入式系統的開發流程。
作為后續課程,我們認為一些專題性質的開發工具,例如開發、Symbian開發、BREW開發等,可以利用浙江大學暑假短學期為期兩周的課程實踐來完成。而實時系統可以單獨開設研究生層次的課程,面向領域的嵌入式系統設計可以開設相關的專題班進行討論。部分嵌入式軟件開發的知識點,可以交給其他課程完成,例如人機交互設計課程里面,可以介紹嵌入式GUI的設計,FPGA可以在相關硬件課程中完成。微機原理課程也可以涉獵部分嵌入式課程的內容,例如工業控制、嵌入式系統擴展等,對于微機原理課程的改革,也是嵌入式中心正在進行的工作之一,希望將實驗設備更新到奔騰M處理器,增加FPGA,實現原來微機原理的實驗,并完成嵌入式的實驗。
關鍵詞:嵌入式系統;課程教學;教學改革;實踐環節;創新性
中圖分類號:G64 文獻標識碼:A 文章編號:1009-3044(2016)13-0123-02
嵌入式系統課程是一門交叉學科,涉及的知識面寬廣,系統開發流程中既有硬件設計又有軟件代碼的編寫。嵌入式系統涉及的課程有模擬電子線路,數字電路,C語言等課程。學生在學習時需要具備較多的專業基礎知識。同時嵌入式系統設計又是一門實踐重于理論的課程,學生還需要大量地進行實踐操作。所以學生在學習過程中極易碰到學習的壁壘,慢慢就會失去學習的熱情,一致于會放棄該門課程的學習。
嵌入式課程的教學目的是為了培養學生具有獨立自主的軟硬件開發能力,但是目前大部分高校仍然采用傳統的教學方式和教學方法,帶來的后果是學生的動手實踐能力依然不足以從事技術類的設計工作。
1 教與學的現狀
1.1教學的現狀
傳統的嵌入式課程教學主要由理論課堂教學和實驗教學兩部分組成。課堂教學普遍采用多媒體設備,將教學內容制作成幻燈片,對著PPT講解電路和程序、CPU內部結構、IO接口、硬件、軟件,均采用演示的方法。在實驗中教師認真講解硬件的連接方式,學生按照教師講解的編程流程進行驗證。
1.2學生學習的現狀
與重點院校相比,我校的辦學目的是培養應用型人才。我校生源質量和重點大學是有較大的差距,如果采用傳統方式進行教學,不根據課程自身與學生的特點,依然采用老師講、學生做,無法培養學生的工程應用能力。
2 課程的教學改革和實踐
2.1理論教學
在教學內容的選擇上,需要簡要講解嵌入式系統的開發流程和交叉開發環境,各個層次需要掌握的技術,目的讓學生有針對性學習,根據自身特點確立技術的方向。在具體實施中用少量簡單例子說明各環節的相關知識和開發方法。
在教學的方法方面,對于ARM技術的教學以介紹為主,盡可能改進傳統的滿堂灌的教學方式,在教學中采用對比教學的方法,比如:和51核單片機對比,避免抽象乏味的教學方式。
在授課方式方面,整合課堂資源,讓學生在課堂上能夠理解嵌入式系統開發的基本理論與基本技能,根據課堂教學的實際情況,精心設計與課堂講授相對應的實踐內容。對于實踐強的教學內容,把以前理論課堂講解的內容放在實驗室開展教學。例如:對于ARM指令和匯編編程的講解要突出應用性,我們嘗試在實驗室完成這部分的教學,不再是按照傳統進行逐條地講解指令和語法,而是通過一個個例程講解程序的結構,中間用到的指令讓學生采用查閱方式進行 “Learning by Doing”。在實踐中學生學習的積極性明顯提高了。
2.2 新的教學方法的實踐
改變傳統的單一的教學方式,傳統的教學是上課地點在教室里面,教學設備只有黑板和投影設備,極大限制了教師教學方法的發揮,教師只能按照PPT進行講解,學生只能被動地接受,往往到了課程結束也不知道該如何搭建嵌入式的開發環境,即便上完配套的實驗課程也僅僅是理論的驗證,學生往往連基本的調試能力都不具備,更別說培養應用開發能力了。
新的授課方式:把傳統的理論課堂和實驗課堂結合起來授課,前面講述基本ARM技術部分放在教室進行,匯編程序和芯片部分在實驗室進行。例如:對于ARM匯編指令部分教學,根據ARM匯編雖用得少但又很重要的特點,在講述匯編指令時改變傳統的授課方法,以具體的工程實例進行教學,匯編指令學生以查找的方式進行實踐,通過5個例程練習,學生可以以軟件模擬的方式快速掌握ARM匯編代碼的調試和閱讀代碼的能力。經過這樣的訓練學生可以閱讀ARM開發板的啟動代碼。在講述芯片的接口和相關控制器時,在實驗室進行理論部分的教學教師就更好發揮靈活的教學方式了,這樣的教學方式壓縮了理論授課的課時,讓學生成為課堂的主題,教師是輔助教學,學生的動手實踐機會增加,學習的惰性減少,積極性獲得提高。而且明顯提高了教學的效率。
在教學中精講理論部分,對于難于理解的理論要少講,在實踐中理解。擴大課程的知識面。
雙師制的嘗試: ARM+LINUX教學安排可以安排2個教師來進行教學,發揮教師的所長,擅長底層硬件的老師進行ARM部分的教學,擅長LINUX部分的教師進行操作系統部分教學。
2.3 實踐環節的改革
1)實驗課程的教學改革
針對嵌入式課程實踐性強的特點和實驗課時普遍偏少的現狀,整合教學內容,壓縮傳統的匯編指令部分的課時,同時開放實驗室和發放開發板,學生可以把便攜的嵌入式開發板帶回去,隨時隨地地進行嵌入式的學習。我們在教學中提高了實驗課比例。把總學時的3/4安排為實驗課,整合理論和實驗課堂,把與實驗直接相關的理論帶到實驗課上講解。理論課占僅總學時的1/4左右,主要講授ARM技術和芯片工作的基本原理。在實踐中對學生開放實驗室確實彌補了實驗課時的不足,提高學生動手能力,學生通過把便攜開發板帶回學習也極大帶動了同寢室學生的學習積極性。
在實驗教學中我們發現學生過于依賴實驗箱的問題,在以往試驗中學生只需按照試驗箱自帶的實驗指導書的步驟一步一步操作就可以輕松完成實驗。針對這種情況,我們改進了教學設備,利用接口全開放的開發板,既可以滿足常規的驗證性的實驗教學也可以進行設計性的實驗。
2)集中實踐環節的教學改革
由于面向電子信息類專業學生,學生就業的方向更加偏向底層,在硬件實踐訓練更加側重,硬件設計中接口的擴展、電路的繪制和驅動程序的編寫。以2周的課程設計為例,引入企業的項目管理機制,在集中實踐環節,按照3人為一個項目組開展實踐,整個工作流程盡可能接近實際產品研發流程。從方案選擇,硬件的電路圖繪制、焊接、硬件調試、代碼的編寫,其中每個環節要更接近產品研發的流程。學生的團隊協作能力得到了提高。重點也培養三個能力:創新能力、動手能力和團隊協作能力。
3 結論
綜上所述,我校通信專業的嵌入式系統課程教學進行了2年的教學改革的實踐,學生學習的積極性明顯獲得了提高,在藍橋杯和電子設計大賽中多次獲獎,在畢業設計中更多學生選擇利用嵌入式技術來完成畢業設計課題。教師也在教學實踐中需要優化教學內容和設計開發了實踐性的課題,得到了提升。目前我院正在建立高性能的嵌入式實驗室,通過更多的創新性的綜合設計性項目來改善和提高我院的嵌入式課程教學。
參考文獻:
[1] 劉彥文.嵌入式系統原理及接口技術[M].北京:清華大學出版社,2010.
[2] 劉太安,杜春玲. 嵌入式教學模式探索與實踐[J].科技創新導報,2009(22):160.
[3] 白玉. 嵌入式系統及應用課程案例教學模式的研究與探索[J]. 教育教學論壇,2015(13):155-156.
關鍵詞:嵌入式組件;驅動程序;課程研究
中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2014)21-0044-02
計算技術的發展經歷了三次革命:存儲程序計算機、高級編程語言和組件級編程。在通用計算機中利用面向對象技術進行編程,實現代碼重用。而現在的嵌入式技術中也需要這樣的功能,開發一個組件,該組件可以很容易作為其他程序的組成部分使用。嵌入式系統在人們的印象中多應用在工業控制領域以及智能機器人,但隨著移動通訊以及智能家電、網絡家電的發展,嵌入式系統的應用越來越廣。在任何大中型嵌入式軟件設計項目中,重要的是在代碼編寫之前完成某種形式規范。組件級設計也不例外。在每一組代碼前,用一組描述組件接口的形式規范描述代碼的屬性和方法。在程序開發過程中可以在任意時刻添加該組件。在組件級編程中,可以利用單個組件(例如按鈕、列表框或文本框控件)組合成多個功能復雜的大型程序。[1]
一、嵌入式組件概述
嵌入式組件設計是電子信息專業及相近專業的一門專業課,其目的是使學生了解一種重要的、最新的應用程序開發風格――組件級編程和設計的方法,并將這種組件設計與嵌入式系統聯系起來,使嵌入式系統設計更加方便簡單。完成這些內容的學習后,使學生能在嵌入式系統中輕松開發大量基于組件的應用程序,而且還具備開發各種第三方定制組件所需的技能。
1.嵌入式驅動程序設計
設備驅動程序是介于硬件和OS內核之間的軟件接口,是一種低級的、專用于某一硬件的軟件組件。驅動程序模塊,就可以把操作系統的API函數和底層的硬件分離開來。當設備改變的時候,只需更換相應的驅動程序,不必修改操作系統的內核以及運行在操作系統中的軟件。[2]該部分包括基于ARM架構的串行口通訊、鍵盤驅動原理、I/O接口電路、A/D接口電路、LCD的驅動控制、觸摸屏程序設計、USB接口組件設計的內容。
2.控件設計
與Windows操作系統類似,控件是可視化開發的基礎。對于開發應用程序的用戶來說,控件是一個獨立的組件,有著自己的顯示方式和動態內存管理模式,設置中有的控件還可以向系統發送自己的消息。用戶不需要掌握控件的內部到底是如何工作的,只需通過控件提供的API函數改變控件相應的屬性,即可改變控件的顯示方式??丶囊肟梢源蟠蠓奖阌脩舻拈_發,加速用戶應用程序界面的編寫速度。同時,也為運行在操作系統上的應用程序的界面提供了統一的標準,方便了使用??丶O計包括消息、文本框控件、列表框控件、按鈕控件、窗口控件、繪圖控件、系統時間功能部分應用程序編寫。
3.基本組件設計
前面介紹的幾種組件都屬于單個組件的開發設計,而組件級編程中涉及到的組件是綜合組件,包含多個單個組件設計。該組件級編程可以完成嵌入式系統中包括PDA、電子字典、手機等設備的基本功能的實現。
基本功能組件包括:電話簿組件設計、記事本組件設計、日程表組件設計、系統時間組件設計、日歷組件設計、智能拼音輸入法組件設計、科學型計算器組件設計,這部分處于用戶應用程序中。
二、嵌入式驅動程序設計研究
1.ARM的串行口通訊
這部分設計目標是掌握串行通訊原理;掌握編程實現ARM和計算機實現串行通訊。ARM通過監視串行口,把在程序中插入的想要反饋程序運行情況的串行口語句輸出到顯示器中的超級終端中,這樣便可以實時監控程序的運行情況,方便調試程序。串行口組件設計是將接收到的字符再發送給串口(計算機與開發板是通過超級終端通訊的),即按PC鍵盤通過超級終端發送數據,開發板將接收到的數據再返送給PC,在超級終端上顯示。[3]
2.鍵盤驅動原理
這部分設計目標是掌握鍵盤驅動的基本原理;熟悉不帶操作系統鍵盤驅動實現;了解帶操作系統鍵盤驅動實現。鍵盤的設計是將一個瞬時接觸開關放置在每一行與每一列的交叉點。矩陣所需的鍵的數目顯然根據應用程序而不同。每一行由一個輸出端口的一位驅動,而每一列由一個電阻器上拉且供給輸入端口一位。鍵盤掃描過程就是讓微處理器按有規律的時間間隔查看鍵盤矩陣,以確定是否有鍵被按下。一旦處理器判定有一個鍵按下,鍵盤掃描軟件將過濾掉抖動并且判定哪個鍵被按下。每個鍵被分配一個稱為掃描碼的唯一標識符。應用程序利用該掃描碼,根據按下的鍵來判定應該采取什么行動。
3.I/O接口電路
這部分設計目標是掌握組件接口的設計;掌握基于ARM開發板對I/O編程的方法;掌握LED工作原理、編程實現LED實現。I/O設備、相關的設備驅動程序和I/O子系統組成嵌入式I/O系統。I/O系統的目標是對RTOS和應用程序員隱藏設備特定的信息,并且對系統的I/O設備提供一個統一的訪問方法。
利用I/O編程的方法,在ARM開發板的數碼管上顯示鍵盤輸入的鍵值。顯示器的種類很多,從液晶顯示、發光二極管顯示到CRT顯示器,都可以與微機配接。在單片機應用系統中常用的顯示器主要有發光二極管數碼顯示器,簡稱LED顯示器。LED顯示器具有驅動電路簡單、耗電省、成本低廉、配置簡單靈活、安裝方便、耐振動、壽命長等優點,但顯示內容有限,不能顯示圖形,因而其應用有局限性。當選用共陰極的LED顯示器時,所有發光二極管的陰極連在一起接地,當某個發光二極管的陽極加入高電平時,對應的二極管點亮。因此要顯示某字形就應使此字形的相應段的二極管點亮,實際上就是發送一個用不同電平組合代表的數據字來控制LED的顯示,此數據稱為字符的段碼。
4.ARM的A/D接口電路
這部分設計目標是掌握A/D接口原理、編程實現ARM系統的A/D功能;了解模型組件設計方法。能將模擬量轉換為數字量的電路稱為模數轉換器,簡稱A/D轉換器或ADC;能將數字量轉換為模擬量的電路稱為數模轉換器,簡稱D/A轉換器或DAC。ADC和DAC是溝通模擬電路和數字電路的橋梁,也可稱之為兩者之間的接口。A/D 轉換器是模擬信號源和CPU 之間聯系的接口,它的任務是將連續變化的模擬信號轉換為數字信號,以便計算機和數字系統進行處理、存儲、控制和顯示。一般A/D轉換過程要經過采樣、保持、量化和編碼四個步驟。前兩步在取樣―保持電路中完成,后兩步則在A/D轉換器中完成。D/A轉換器的基本原理是將輸入的每一位二進制代碼按其權的大小轉換成相應的模擬量,然后將代表各位的模擬量相加,所得的總模擬量就與數字量成正比,便實現了從數字量到模擬量的轉換。
5.LCD的驅動控制
這部分設計目標是掌握LCD(液晶屏)顯示器的基本原理、驅動控制方法;熟悉用總線方式驅動LCD、用ARM內置的LCD控制器驅動LCD。LCD顯示器的基本原理就是通過給不同的液晶單元供電,控制其光線的通過與否,從而達到顯示的目的。因此,LCD的驅動控制歸于對每個液晶單元的通斷電的控制,每個液晶單元都對應著一個電極,對其通電,便可使光線通過。
6.觸摸屏程序設計
這部分設計目標是了解觸摸屏基本概念與原理、編程實現對觸摸屏的控制;了解嵌入式系統的基本組件模塊和其他組件模塊。觸摸屏是專門處理是否有筆或手指等物體按下觸摸屏,平常相互絕緣的兩層導電層就在觸摸點位置有了一個接觸,并在按下時分別給兩組電極通電。因其中一面導電層(頂層)接通X軸方向的5V均勻電壓場,使得檢測層(底層)的電壓由零變為非零,控制器偵測到這個接通后,其對應位置的模擬電壓信號經過A/D轉換送回處理器。經過坐標轉換后,得到觸摸點的x,y坐標。
7.USB接口組件設計
這部分設計目標是了解USB基本概念與原理、編程實現對USB接口的控制。可以使用USB進行連機通信,當連接USB的時候,可以從PC機通過USB端口下載程序,也可以上傳文件至PC機,也可以斷開USB停止上傳和下載。
三、嵌入式控件設計研究
文本框控件可以顯示文件和數據內容,能夠通過對文本框的編輯修改內容,并可保存到文件,系統調用以后,文件內容不丟失。列表框控件可以列出系統中的存儲在存儲器中的指定擴展名的文件,也可以將要顯示的數據列出來。并且還可以控制列表框中的列表內容上下顯示,及添加新的列表內容。
按鈕控件是一個非常重要的組件。大多數功能設計或游戲設計都需要按鈕控件。當通過觸摸屏對按鈕控件進行單擊、雙擊、按下、抬起、移動時,都會觸發按鈕控件,按鈕控件會根據不同的動作進行響應。
窗口控件的作用是輸出信息、顯示圖形。像游戲活動區域、手寫輸入區域、顯示內容區域等,這些區域都需要窗口控件來完成。游戲只能在窗口中進行,不能離開該窗口。窗口以外的區域為游戲說明區域或控制游戲按鈕區域。手寫輸入只能在窗口內輸入,在窗口以外的區域不識別。
繪圖設備上下文(DC)保存了每一個繪圖對象的相關參數(如繪圖畫筆的寬度、繪圖的原點坐標等)。在多任務操作系統中,通過繪圖設備上下文來繪畫,可以保證在不同的任務中繪圖的參數相互獨立、互不影響。
四、總結
經過該門課程學習,可以從學會設計一個控件,如按鈕、文本框、列表框到根據這些控件完成一項功能設計,如可以將存儲卡中的bmp格式的位圖文件名列表顯示出來,通過點擊可以把圖形顯示出來。了解串行口、鍵盤、I/O接口、A/D接口、D/A接口、液晶屏、觸摸屏、USB接口的工作原理及如何讓這些硬件動起來,很容易從中找到設計靈感,找到嵌入式開發的樂趣,完成屬于自己的嵌入式系統應用程序設計。
參考文獻:
[1]王小妮,魏桂英,楊根興.嵌入式組件設計[M].北京:北京航空航天大學出版社,2012.
關鍵詞:卓越計劃;CDIO;嵌入式系統
中圖分類號:G434 文獻標志碼:A 文章編號:1673-8454(2017)14-0028-03
一、引言
自進入21世紀以來,隨著經濟全球化,信息全球化的進程不斷加快,市場對高素質工程人才的需求不斷增長。目前,我國高等工程教育規模已達到高等教育總規模1 /3以上,躍居世界第一[1]。然而,我國培養的工程人才在質量上與國外高校相比仍然相差甚遠。據麥肯錫季刊載文[2]指出,我國僅僅只有10%的工科畢業生達到跨國公司的用人標準。
為了實現在2020年將我國建設成為創新型國家,2010 年國家教育部啟動了“卓越工程師培養計劃”(簡稱“卓越計劃”),旨在培養一大批創新能力強、適應經濟社會發展需要的各類型高質量工程技術人才[3]。東華理工大學機電學院電子信息工程專業2013年開始實施“卓越計劃”試點班,通過借鑒世界先進國家高等工程教育的成功經驗,采用成熟CDIO工程教育理念實現培養目標,系統改革了人才選拔和培養管理模式。本文是在東華理工大學卓越工程師試點班“嵌入式系統設計”課程基礎上,通過實施CDIO教學模式的經驗總結。
二、課程反思
嵌入式系統設計課程是電子信息工程專業高年級學生的必修主干課程,是一門綜合性強、知識覆蓋面廣、實踐性極強的課程。教師如何上好這門課,學生如何學好這門課一直是一個難題。盡管本學院一直在教學內容、教學方法等方面進行改革,教學內容由原來的ARM7體系結構更新到Cortex-M3體系結構,并自主開發了STM32 實驗教學平臺。筆者根據多年從事 “嵌入式系統設計”課程的教學工作經驗,認為傳統的理論加實驗的教學模式普遍存在如下問題:
1) 理論課時多,實驗課時少。以我院電子信息工程專業為例,理論學時38學時,實驗學時16學時。在如此有限的實驗學時內,學生的實踐能力難以得到鍛煉。
2) 實驗類型單一,每次實驗往往只是對單個知識點訓練,導致學生常?!爸灰姌淠?,不見森林”,設計和開發完整嵌入式系統的能力弱。
3) 經典教材缺乏,因為各個學校采用的實驗教學平臺不同,很多時候選用的教材難以與現有平臺配套。
4) 師資力量薄弱,大部分教師缺乏企業工作經歷,雙師型人才匱乏。
5) 評價方式單一,僅僅依靠實驗報告及試卷成績作為評價學生能力的標準,缺乏實踐及應用能力的考量。
傳統的教學體系和考核方式嚴重地束縛了工程人才質量的提高,對該課程進行教學模式改革勢在必行。
三、CDIO工程教育理念
CDIO全稱為 Conceive―Design―Implement―Operate(構思―設計―實施―運作),該教育模式是由 MIT 等世界名校在2000年提出并推廣的工程教育理念,在中國最早由汕頭大學將CDIO工程教育理念引入工程教育領域[4],經過近十余年的發展已經在上百所高校得到推廣應用,并取得了良好效果。CDIO教育模式以真實世界的產品從構思到運行的全生命周期為載體,將理論、實踐和創新融為一體,解決工程教育中理論與實踐脫節的問題[5],以培養滿足行業需求的合格工程人才為最終目標,CDIO 工程教育的基本理念與“卓越計劃”人才培養需求不謀而合。在嵌入式系統設計教學中引入 CDIO 的工程教育理念,有利于調動學生的學習積極性,有利于學生實踐動手能力和系統性思維的培養,有利于培養學生團隊協作溝通能力和創新設計能力,從而實現卓越工程師的培養目標。
四、構建基于“卓越計劃”和CDIO 的課程教學體系
筆者依托東華理工大學教改課題嵌入式系統設計課程改革研究和實踐,針對傳統教學模式的弊端,在“卓越計劃”系統框架的指導下,結合專業實際情況引入CDIO工程教育理念,倡導在培養優化師資隊伍的同時,實施以實際工程項目為中心、學生自主探究式學習為主的一體化教學模式。通過“3+1”新型校企聯合培養模式,o予學生更多參與實際工程的機會,讓學生的綜合能力更貼近市場和企業的需求。通過將嵌入式系統課程內容和CDIO的工程理念緊密結合起來,以促進學生與教師共同發展為目的,提出了如圖1所示嵌入式系統設計課程教學模式。
1.加強教師團隊建設
名師出高徒,優質的師資隊伍是卓越工程師培養的人力資源基礎,其中CDIO 標準中第九條明確指出:必須采取行動提高教師工程實踐能力[6],參與“卓越計劃”的高校教師的整體素質直接關系到卓越工程師培養的質量[7]。雖然擔任本專業嵌入式系統課程的教師通過科研和社會服務項目積累了一定的工程實踐經驗,但與“卓越計劃”的需要仍然存在差距。為了保證CDIO模式在嵌入式系統教學中順利有效實施,東華理工大學機電學院主要采取如下三大措施來建設具有工程項目研發能力的“雙師型”教學團隊。
(1)深化校企合作,引入企業兼職導師。為了保證課程內與市場行業工程項目需求緊密結合,院里與電子36所、杭州三維通信有限公司、江蘇盛泰信通科技有限公司、江西聯創電子有限公司等共同建設嵌入式系統實習基地,并從這些公司聘請了近二十位兼職導師,主要參與課程內容設計、課程結果評價和學生實習畢業論文指導。
(2)加大現有教師再培養,學院先后資助兩位教師到深圳信盈達電子有限公司完成嵌入式課程培訓,有利于進一步完善教師嵌入式知識結構,引進了市場培訓機構嵌入式項目培訓經驗。
(3)鼓勵教師進入企業掛職鍛煉,積累實際工程經驗,通過多渠道來提升教師工程實踐能力。
2.教學內容體系設計
嵌入式系統設計課程教學內容改革核心思想是以行業需求為導向、以真實項目為載體,圍繞理論實踐一體化CDIO教育理念,設計了以下三個模塊:嵌入式項目案例庫、課程內容設計和課程教學方法模塊,如圖2所示,旨在培養具有較強的工程實踐綜合能力嵌入式領域專業人才。
(1)嵌入式項目案例庫建設,從合作企業、教師科研項目和平時的科技創新競賽活動中篩選出一些有代表性的項目樣板加入嵌入式項目案例庫,這樣做有兩個優點,一方面可以為教學提供素材,另一方面可以讓學生有一些可模仿對象,在設計嵌入式產品的時候可以借鑒這些樣板。到目前為止我們積累了無線點菜機、MP3播放器、數據相框、遠程視頻監控等數十個案例。
(2)嵌入式課程是一門多學科交叉的綜合性課程,涉及到數/模電、微機原理、程序設計和操作系統等多學科知識,采用CDIO項目化教學可以將零散知識以項目實現為主線連貫起來。如選用點菜機項目作為教學案例,可將該系統分為若干子模塊:最小系統模塊、輸入模塊、無線通信模塊、輸出顯示模塊等,將硬件設計、軟件設計和項目管理等相關教學知識點融入到各模塊實現的過程中。
(3)本課程采用課前自主式、課中鞏固式和課后提升式教學策略。教師根據所選教學項目案例分解教學知識點,為單個知識點錄制微課視頻和準備實驗樣例及參考資料,并布置學習任務,由學生課前自主式完成課前任務并給出反饋信息;課中教師主要對重點及難點知識進行梳理并根據學生課前學習的問題組織討論,對知識點進行鞏固;課后由學生根據所學知識點實現并擴展課程項目相關模塊功能。
3.教學項目實施過程設計
基于CDIO進行教學改革的最大特點是教學內容以實際工程項目為藍本,以市場行業需求為導向,以培養學生綜合素質為目標。在整個教學項目實施過程中,學生以團隊內協作、團隊間協作加競爭的方式進行自主探究式學習,教師主要起指導作用,由學生完成一次構思―設計―實施―運行的全過程[8],教師在每個階段給予反饋和評價來促使學生在整個過程中持續改進。要求學生以文檔形式來對各階段工作進行總結,以提高學生文檔撰寫和知識歸納總結能力。
4.多元化評價體系
針對傳統單一評價模式的弊端,我們采用“過程”和“結果”兩方面相結合的多元化學習評價機制。在教學項目實施的整個過程中,采用持續性評價體系來對學生進行考核,在項目實施的每個階段教師根據學生對團隊及項目的貢獻、課前子任務的完成情況、文檔撰寫質量、項目創新性、面對面答辯和課堂表現等做出綜合評價得分。教師對學習過程的評價,需要考慮學生的學習能力和學習成效等多方面的因素,激勵和引導學習者提高學習興趣[9]。學生在本課程結束后將在企業進行為期一年的實習,根據用人單位的反饋信息和學生問卷調查來完成對本門課程效果評價,最后根據評價情況不斷改進教學內容和教學方法,使整個教學過程形成一個良性的閉環系統。
五、結語
在“卓越計劃”的框架指導下,借鑒成熟的CDIO工程教育理念,通過引入校企深度聯合培養機制,采用多元化考核機制,構建一種基于“卓越計劃”和CDIO 的嵌入式系統設計課程教學模式。彌補了原課程體系中工程實踐能力培養的不足,讓學生充分參與到項目構思、設計、實施、運作全過程,大大激發學生對嵌入式系統工程設計的興趣,加強了團隊協作能力、人際溝通能力以及系統構建等綜合能力的培養。本課程經過近2年的實施也產生了一些優秀的成果,其中包括在全國電子設計賽及江西省電子類相關競賽中獲獎20余次,提交專利申請兩項,學生發表期刊論文兩篇,這些成果有力的證實了我專業基于CDIO 的嵌入式系統課程教學改革是卓有成效的。
今后,我們將進一步加強信息化教學系統構建,教學視頻及課件的設計與制作,教學項目案例的選取及教學內容優化,按照行業需求和企業要求制定切實可行的與其他專業課有機聯系和相互滲透的嵌入式教學體系,通過改革和探索,以期進一步提高嵌入式系統設計課程的教學水平,培養出社會真正需要的合格工程類人才。
參考文獻:
[1] 李志義. 高等工程教育改革實踐思與行[J] . 高等工程教育研究, 2008(2):44-47.
[2] 查建中. 面向經濟全球化的工程教育改革戰略[J]. 高等工程教育研究, 2008(1) .
[3] 教育部關于實施卓越工程師教育培養計劃的若干意見[Z]. 教高[2011]1號文.
[4] 顧佩華, 沈民奮, 李升平, et al. 從CDIO到EIP-CDIO―汕頭大學工程教育與人才培養模式探索[J]. 高等工程教育研究,2008(1).
[5] 郭玲. “翻轉課堂+CDIO”教學應用模式研究[J]. 廣州職業教育論壇, 2016, 15(2):26-31.
[6]呂惠芳. CDIO 工程模式的實施要素分析[J]. 價值工程, 2014(31):285-287.
[7]林健.勝任卓越工程師培養的工科教師隊伍建設[J]. 高等工程教育研究,2012(1):7-20.
高職高專的傳感器與檢測技術課程的教學通常安排在電子、機電等專業,通過研究相關的教材,發現大多數該課程教學內容的基本模式是:傳感器原理介紹、傳感器計算公式推導、傳感器應用介紹幾個步驟。有些教材上會多一些項目化教學方法,就會多出一個實訓的環節[1]。這些實訓環節當中采用了更多的成熟的傳感器模塊,學生的主要任務就是初步了解這些傳感器模塊或是前端的傳感器敏感元件[2]。顯然在這種教學方式下已經無法滿足目前物聯網已經成為主流技術的人才應用要求,這尤其體現在嵌入式/物聯網這個行業,這種情況總結起來有幾個主要的原因造成的:
1) 嵌入式與物聯網行業的技術發展現狀、要求傳感器與檢測技術課程的教學過程當中將教學重點放在傳感器應用技術、傳感器敏感元件組成的模塊設計、傳感器模塊采集的數據到計算機之間的傳遞[3]。因為只有這樣,才能將傳感器技術作為應用技術直接提供到上位機,使得其能夠作為物聯網信息空間中的前端信息采集部分而使用。
2) 物聯網的信息空間中的基本節點為計算元節點[4],該節點作為信息空間中的終端節點構成了物聯網前端網絡組成的基礎設施。需要看到的是異構型網絡中的絕大多數計算元節點將是帶有傳感器的簡單型網絡,其基本通訊方式很多為傳統的RS232、RS485通訊,因此傳感器與檢測技術課程教學當中已經不僅僅是單獨的傳感器部分,仍然需要引入通訊部分的介紹。
3) 目前的傳感器與檢測技術課程當中的開設專業對課程教學內容安排的影響很大。在機電類專業傳感器課程當中,強調了對被測量的檢測為目的的應用型傳感器實踐知識,這僅能體現在教材的改革上,尚無法體現在實際教學改革當中。在電子類專業傳感器課程當中側重于傳感器原理、基本結構等內容的教學過程[5]。這種方式對于本科階段學生而言是非常合適的,但是高等專科院校的學生難以接受理論為主的教學方式,況且這種教學方式對于以高職高專學生為培養對象的、獲取技能為首要目標的教學任務沒有起到推進作用。
4) 物聯網行業的高速發展對傳統行業造成了巨大沖擊,原來的獨立傳感器功能已經無法滿足物聯網行業的需求,這種孤立點由于不具備通訊能力,故此無法作為信息采集前端加入到物聯網的傳感網絡當中[6]。因此,在傳感器與檢測技術教學過程當中,從教材改革到課程改革都要求加入通訊部分與計算機部分的內容,作為其為物聯網前端信息傳感網絡的能力而擴充。
5) 在高職高專計算機的嵌入式系統工程專業與物聯網應用技術專業的傳感器與檢測技術課程的教學當中,傳統的教學模式與教學方法都難以應用。隸屬于電子工程專業的傳感器與檢測技術課程教學內容深度較大、技術孤立性強應用困難;而機電類專業的傳感器與檢測技術強調了獨立傳感器模塊的應用,面向被測量的教學方式對于在計算機專業而言如果也采用類似做法,顯然對于計算機專業的高職高專學生無法接受。
6) 在目前的課程實踐教學當中,實際教學用具相當缺乏,很多技術較為先進的學校采用了軟件仿真的方式進行傳感器課程的教學工作。但是傳感器模塊是孤立的模塊,最終需要一個相對比較大的硬件系統,作為對該課程中每個獨立模塊進行支持的載體[7]。
綜上所述,在現在的高職高專計算機專業的傳感器與檢測技術課程開設過程當中,選擇偏向計算機方向的教學方式與手段就是必要的。其中尤其是配套實驗電路的設計與實現也成了一個需要重點關注的問題。針對此問題,本文就設計與實現了一套針對計算機方向的嵌入式與物聯網專業的教學實驗電路。
1總體架構設計
考慮到??圃盒D壳皩W生的總體層次,如果考慮了過于復雜的內容將會導致學生無所適從,如果太過簡單學生又無法獲取實際知識。這里需要考慮的兩個典型的問題:第一個問題就是不能過于理論,但是也不能完全沒有理論支持;第二個問題是實踐不能過于復雜,但是又要兼顧到一定的實用性。綜合這些因素,我們大致對實踐電路系統的設計規劃為:將傳感器模塊、自動控制技術、簡單計算機通訊技術聯合起來,設計與實現一個相對實用、相對簡單的計算機干預測控系統。同時,考慮到該系統應當具有一定的實際應用功能,則我們設計了一個計算機干預室溫自控系統,其大致的架構設計如下圖示:
圖1示意了一個室內恒溫自動控制系統,照明系統當監控到室內有人的時候開啟,當離開的時候關閉。室內恒溫系統則利用溫度傳感器控制溫度發生裝置將溫度恒定在一定范圍之內。并且該系統的全部情況可以向計算機反饋,包含溫度、是否有人、是否開啟溫度系統、是否開啟照明系統等功能,計算機也可以實時通過遠程調整溫度范圍的設定值。該系統的基本功能描述為:計算機能夠隨時干預該系統的開啟工作狀態、停止系統的工作狀態、在系統的運行過程當中對系統的某些參數進行調節。
2模塊設計與實現
依據總體架構的設計,下面逐個實現上述系統中的硬件部分。
1) 光電傳感器模塊
光電傳感器模塊的原理圖設計如下圖示:
這里這個模塊的設計事實上并無必要,但是可以作為學生初步入門掌握的第一個模塊,尤其是掌握DXP軟件電路設計,并初步進行焊接與調試工作。
2) 繼電器模塊
繼電器模塊的原理圖設計如下圖示:
3) 溫度傳感器模塊
溫度傳感器模塊的原理圖設計如圖4示:
4) 通訊模塊
通訊模塊的原理圖設計如下圖示:
3算法設計
在考慮算法設計的時候,首先考慮前面提到的進程之間的通訊與互斥的問題。這里通訊是指進程之間的通訊,另外一個就是進程互斥的問題。那么這兩個進程顯然就是互斥的關系。下圖就通過系統的應用功能行為來說明這些問題。
在圖6中有兩部分任務需要完成,左邊部分為工作狀態需要完成的任務,右邊是非工作狀態需要完成的任務。基于上述分析,給出參考算法如下:
算法1.1 主流程算法
算法:單片機端主流程
S1:系統初始化
S2:在無限循環中做如下事件
S2.1如果上位機有命令發來
若為啟動工作過程命令
{
啟動工作過程;
}
否則關閉工作過程;
S2.2如果數據收集完成
{
向上位機系統傳遞測到的系統狀態數據 }
}
另外一個要點就是獲取計算機發送過來的命令,參考第九章的方法即可,這里直接給出算法描述:
算法:單片機使用中斷接收上位機一串符號的算法
輸入:上位機發來的一個字節
輸出:合法的字符串
S1:清除發送標志
S2:判斷當前字符是否為包頭
如果是包頭,清緩沖準備從緩沖區起點開始存放數據
S3:如果當前是最后一個字節位置,則判斷當前讀入的字符是不是包尾
如果是則通知主函數可以讀命令了
S4:存放該字節數據到當前緩沖位置
S5:緩沖區存放位置下移一個字節
S6:調節緩沖位置邊界
算法1.2 接收計算機接命令與分析算法
3系統驗證
硬件系統的設計思想基于模塊化設計方法,只需要考慮如何實現圖1的設計目標即可。在圖1中,只需要明確考慮幾個接口部分的連接方式、并采用確定的連接來練好這些接口線路即可,確定需要連接的幾個部分如下:
1) 計算機與通訊模塊的連接方式。
2) 單片機板與通訊模塊的連接方式。
3) 單片機板與繼電器模塊的連接方式。
4) 單片機板與光電傳感器模塊的連接方式。
5) 單片機板與溫度傳感器模塊的連接方式。
6) 繼電器模塊與外部受控的市電電路部分的連接方式。
7)繼電器模塊與外部受控的溫度調節電路部分的連接方式。
下面就這幾個方面的連接進行實際連接,并最終在實際線路連接完成之后,采用一定的方式進行簡要測試,以確定這些線路連接均無問題。
連接好硬件之后需要對硬件進行測試工作,下面我們就列出這些步驟進行硬件測試工作:
第一步:連接好硬件核心板與硬件模塊
第二步:新建一個工程,并編寫代碼
第三步:編譯軟件并生成hex文件
第四步:下載hex文件到核心板
第五步:觀察模塊的基本行為是否正確,若不正確則從第一步開始查找問題,并重復上述步驟。最終的實物硬件連接示意圖如圖: