張厚忠 梁家晟
摘 要 嵌入式系統(tǒng)目前在工業(yè)領域已得到廣泛應用。但由于嵌入式系統(tǒng)需要兼?zhèn)滠浻布闹R,導致學習入門較難,使得高校在嵌入式系統(tǒng)的實驗課程中無法取得較好的教學效果。因此本文提出了對嵌入式編程的教學方式改革的思路與目標:教學中以任務的提出為導向,引領學生高效快速的熟悉嵌入式編程并與企業(yè)級開發(fā)流程接軌,采取多門實驗課程教學內容緊密相連,形成逐步深化的階梯式學習體系。本文以車輛專業(yè)為例展開具體介紹,其余工科專業(yè)可自行參考并結合自身專業(yè)特點進行調整。
關鍵詞 嵌入式系統(tǒng) 編程 課程改革
中圖分類號:G424? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? DOI:10.16400/j.cnki.kjdks.2019.10.064
Abstract Embedded systems have been widely used in industry. However, due to the need for embedded systems to have both hardware and software knowledge, the introduction of learning is difficult, which makes it impossible for colleges and universities to achieve better teaching results in the experimental course of embedded systems. Therefore, this paper puts forward the ideas and objectives of the reform of the teaching mode of embedded programming: the task-oriented teaching, leading students to become familiar with embedded programming efficiently and quickly, and to integrate with enterprise-level development process, taking a number of experimental courses teaching content closely linked to form a step-by-step learning system. This paper takes the vehicle specialty as an example to introduce it in detail. The other engineering specialties can refer to it and adjust it according to their own specialty characteristics.
Keywords embedded system; programming; curriculum reform
0 引言
隨著時代的飛速發(fā)展,汽車行業(yè)正進行著一場“新四化”的變革,即“電動化、網(wǎng)聯(lián)化、共享化、智能化”。實現(xiàn)“新四化”的首要任務便是各種車用控制器的研發(fā)??刂破鞯闹饕M成包括微處理器、CAN通信模塊、調試燒錄模塊、I/O接口模塊與電源及其保護電路模塊等。由此可見,車輛中的整車控制器(電動汽車),電機控制器與電池能量管理器等均是嵌入式系統(tǒng)的典型應用案例。因此為了能夠使高校能夠緊跟行業(yè)發(fā)展步伐,使行業(yè)內前沿技術對接校園,使學生在進入社會崗位前能夠提早接觸甚至掌握行業(yè)發(fā)展必備的基礎技術,推進嵌入式系統(tǒng)的教學改革十分有必要。教學改革主要從三方面做起,第一是嵌入式相關的實驗課課程安排順序,應與企業(yè)級開發(fā)流程接軌,盡量使多門實驗課緊密相連,形成內容逐步深化的階梯式學習。第二是課堂內容的轉變,以操作應用為主,授課為輔,內容模塊化,確保任務明確,與專業(yè)緊密結合,提起學生學習興趣。第三是兼顧學生的自主學習能力與團隊配合能力。
1 現(xiàn)有教學方式的不足
目前來說,整體上教師與學生對實驗課的熱情不足,態(tài)度不夠重視。教師在講授基礎知識后沒有進一步的具體安排,只是按慣例進行一些簡單的考核。而大部分學生在實驗課前不會進行相關知識的預習,導致部分學生利用實驗課時間進行相關知識的學習,而不是進行試驗,大部分學生更是沒有在完成日常實驗考核之后充分利用試驗條件進行自主探索,導致實驗課效果不佳。
從根本上講,這是由于實驗教學大綱內容多年沒有更新,更沒有與當今行業(yè)發(fā)展現(xiàn)狀匹配從而使得學生學習興趣不高導致的。因此在實驗課的教學當中進行全方位的改革十分有必要。
2 實驗課教學改革思路
2.1 課程安排順序
嵌入式系統(tǒng)的理論課安排時間點最好安排于c語言相關的理論與試驗課程之后或與其同時安排。在初期理論學習階段,引導學生廣泛閱讀中英文相關資料,熟悉所用單片機的運行原理,并具備一定的c語言基礎,研讀大量的示例代碼或前人開發(fā)的源代碼,盡可能搞懂每一行代碼的含義,厚積薄發(fā)。此階段無須大量的課時安排,旨在引導學生學習嵌入式的正確方法,并由學生在課下進行學習。
之后嵌入式系統(tǒng)實驗課的安排應遵循由表及里,由面到點的原則,進行金字塔式的學習,使學生一步步對嵌入式系統(tǒng)有更深層次的理解而不至于產生畏難情緒甚至放棄嵌入式的學習。以下對嵌入式系統(tǒng)實驗課的教學內容進行詳細的介紹。
2.2 課程內容
第一階段為基于開發(fā)板的自主學習。由于初期已進行了c語言與嵌入式理論課程的學習,此時學生已對嵌入式有初步的了解,因此實際操作與應用為接下來的學習重點,而不再是教師的傳統(tǒng)授課。由于實際操作與應用需要大量的學習時間,所以為了便于學生課下學習,可由學生自行購買或學校統(tǒng)一訂購單片機開發(fā)板(廣泛使用的STM32或飛思卡爾單片機為宜)。在利用開發(fā)板進行學習時,在看懂例程代碼的前提下首先應嘗試對示例代碼或前人開發(fā)的源代碼進行一些改動,使其能夠進行某一模塊功能的細微改變,之后嘗試將各基本功能組合搭配,能夠自主用單片機實現(xiàn)各種各樣的基本功能,如將按鍵、流水燈與LCD顯示屏等結合起來實現(xiàn)某些組合式的功能。進而逐步嘗試自主編寫更為復雜的程序將幾種難度更高的功能組合起來,如:做一套按鍵控制CAN收發(fā)并將ID與Data顯示在LCD屏幕。此階段應主要考察學生的自主思考與動手能力,可在實驗課最后安排討論環(huán)節(jié),并由教師對學生無法理解的概念做解答。
第二階段以實際應用為導向,與專業(yè)緊密結合。以車輛工程專業(yè)為例,可購買簡易的車用傳感器如鑰匙開關、油門踏板等與開發(fā)板進行對接,形成具有專業(yè)特色的嵌入式系統(tǒng)開發(fā)平臺,激發(fā)學生的學習熱情。與專業(yè)緊密結合的同時還應注重為學生灌輸企業(yè)實際開發(fā)流程的概念,以整車控制器(VCU)的開發(fā)為例,首先應根據(jù)需求確定VCU所需具備的功能,一般來說VCU需要協(xié)調各控制器,并且需要親自采集一些傳感器的測量值,因此確定了VCU需要使用CAN通信模塊進行CAN的收發(fā),同時需要AD模塊等進行模擬量與開關量的采集,根據(jù)踏板與點火開關進行駕駛員意圖的識別,并通過CAN將指令發(fā)送至電機控制器等,并由電機控制器識別VCU指令然后對電機驅動控制器發(fā)送指令使電機達到理想工作狀態(tài)。并在功能實現(xiàn)后進行后續(xù)的穩(wěn)定性驗證工作,確保系統(tǒng)的可靠性,當發(fā)現(xiàn)問題或故障時能夠自主推斷問題產生的原因并提出解決辦法。在上述整個開發(fā)流程中,可將學生分為不同小組,進行功能分割,使得試驗內容模塊化。例如:CAN通信模塊組負責按J1939協(xié)議進行CAN通信協(xié)議的制定以及CAN收發(fā)程序的編寫;傳感器模塊組負責傳感器模擬量與開關量的采集,并制定駕駛意圖的識別策略,與CAN通信模塊組對接,完成CAN數(shù)據(jù)指令的發(fā)送;診斷模塊組需要有一定的電路與硬件基礎,在出現(xiàn)錯誤后從通信、程序與電路等多方面檢查,并且制定問題的解決方案。
在上述學習階段之后進行從功能實現(xiàn)到功能優(yōu)化的轉變。注重代碼質量,提高程序運行效率,且提升程序可讀性,便于后期自查或他人學習。以車輛工程專業(yè)為例,在實現(xiàn)上述基本功能之后可嘗試使用D2P快速原型開發(fā)系統(tǒng)將Simulink中的控制策略燒錄至VCU,并通過HIL充當執(zhí)行機構進行控制器的功能驗證,實現(xiàn)更高層次的學習,進一步接近企業(yè)級的技能要求。如專業(yè)對編程有更高要求,應在編譯原理,操作系統(tǒng),數(shù)據(jù)結構和算法三方面繼續(xù)研讀與下一階段的模塊化分組練習,本文不再贅述。
3 培養(yǎng)目標
對于學生的培養(yǎng)主要有以下幾個目標:(1)知識目標。對嵌入式系統(tǒng)的構成、運行原理、實現(xiàn)方法、C語言、相關知識等較傳統(tǒng)課程具有更深層次的了解;(2)職業(yè)綜合技能目標。切身體會企業(yè)實際V字形開發(fā)流程,能夠將嵌入式系統(tǒng)與自身專業(yè)緊密結合起來;(3)自主學習與團隊配合能力目標。在具備一定的自主學習能力的基礎上能夠與團隊成員進行良好的溝通與配合,提升工作效率。
4 結語
總之要想在實驗課程中提升教學質量,應當注重激發(fā)學生的學習興趣,使其能做到主動學習。而激發(fā)興趣應當結合本專業(yè)的特點、重點進行嵌入式的學習,確定好嵌入式系統(tǒng)的控制量、控制對象,著重針對控制對象結合嵌入式系統(tǒng)對應模塊的學習與應用練習。在學習的過程中通過將開發(fā)流程中各項任務模塊化使學生初步具有企業(yè)級開發(fā)流程概念與團隊合作意識,使高校教學與實際生產相結合,提升學生在社會中的競爭力,培養(yǎng)出自主學習能力與團隊合作能力兼?zhèn)涞膬?yōu)秀畢業(yè)生。
參考文獻
[1] 唐斌.以工程項目為導向的電子電路計算機輔助設計課程教學改革[J].科教導刊(電子版),2018:136-139.
[2] 唐紅鎖,劉安.淺議高職院校嵌入式編程技術課程教學改革[J].泰州職業(yè)技術學院學報,2017:8-10.
[3] 張博.淺談嵌入式學習和就業(yè)[J].Microcontrollers & Embedded Systems,2017:6-8.
[4] 劉偉.模塊化嵌入式MCU輔助教學平臺的設計與實現(xiàn)[D].蘇州大學,2008.