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