朱建忠 賈云浪



摘? 要:在嵌入式技術(shù)快速發(fā)展的今天以及工程認證的需要,嵌入式作為一門實踐性較強的課程,存在教學(xué)工作量大、知識點多、難以考核量化等問題,因而教學(xué)改革的實施勢在必行。該文從工程思維出發(fā),結(jié)合工程認證的需要,在理論教學(xué)和實踐教學(xué)的開展過程中,提出一些教學(xué)改革措施,強化學(xué)生工程思維的能力,解決教學(xué)偏離實踐需要、實驗教學(xué)不夠系統(tǒng)等問題。
關(guān)鍵詞:嵌入式系統(tǒng)? 工程思維? 工程認證? 課程教學(xué)
中圖分類號:G642? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標(biāo)識碼:A文章編號:1672-3791(2020)11(a)-0028-03
On the Teaching of Embedded System to Cultivate Students' Engineering Thinking Ability
ZHU Jianzhong? JIA Yunlang
(Nanjing Institute of Technology, Nanjing, Jiangsu Province, 210009? China)
Abstract: With the rapid development of embedded technology and the need for engineering certification, as a practical course, embedded system has many problems, such as heavy teaching workload, too many knowledge points, and difficult to assess and quantify. Therefore, the implementation of teaching reform is imperative. Starting from engineering thinking, combined with the needs of engineering certification, this paper puts forward some teaching reform measures in the process of theoretical teaching and practical teaching, so as to strengthen the students' ability of engineering thinking, and solve the problems such as teaching deviation from practical needs and insufficient experimental teaching system
Key Words: Embedded system; Engineering thinking; Engineering certification; Course teaching
嵌入式系統(tǒng)在工業(yè)生產(chǎn)的很多領(lǐng)域都有應(yīng)用,其滲透度非常高,如航空航天、通信電子、汽車電子、電氣工程、計算機科學(xué)等[1]。為了滿足社會需求,嵌入式系統(tǒng)的教學(xué)走進了大學(xué)課堂,并得到快速發(fā)展。一般而言,嵌入式系統(tǒng)的課程教學(xué),是從傳統(tǒng)的單片機和微機原理等相關(guān)學(xué)科發(fā)展演變而來,涉及到硬件、軟件等科目的學(xué)習(xí)和實踐。在教學(xué)開展過程中,學(xué)生應(yīng)具備一定的C語言編程能力、硬件電路設(shè)計和分析能力、硬件調(diào)試能力、程序調(diào)試能力,因而,給學(xué)生在短時間內(nèi)掌握嵌入式系統(tǒng)的精髓設(shè)置了很高的門檻[2]。
1? 課程教學(xué)現(xiàn)狀
在教學(xué)初期,嵌入式的教學(xué)還是沿用單片機和接口技術(shù)的教學(xué)理念,將已有的教學(xué)思維和方法作用于嵌入式系統(tǒng)中,簡單地堆疊和搬運,帶來了很多問題[3]。
1.1 知識點多,課時不足
在硬件嵌入式系統(tǒng)的硬件教學(xué)過程中,相關(guān)知識點有中斷、定時器、總線、串口、GPIO、電源、元器件功能等。而程序軟件學(xué)習(xí)過程,相關(guān)知識點有寄存器、驅(qū)動編寫、操作系統(tǒng)等。就某個知識點的教學(xué),動輒2學(xué)時,多則10多學(xué)時,而對于嵌入式系統(tǒng),最大學(xué)時一般不超過64學(xué)時,如何將有限的課堂教學(xué)作用于如此多的知識點,是這門課在教學(xué)過程中面對的難點。
1.2 理論教學(xué)飽滿,實踐教學(xué)欠缺
當(dāng)僅有的64學(xué)時被分割成兩個部分,而理論教學(xué)的知識點繁多,使得理論教學(xué)會擠壓實踐教學(xué)的時間,實踐課程時間不能保證會直接影響到教學(xué)效果,以及教學(xué)目標(biāo)的達成。
1.3 實驗針對性強,系統(tǒng)性不夠
針對相關(guān)知識點,雖有實驗輔助教學(xué)滲入,但實驗的設(shè)計過于陳舊,知識點的針對性驗證越強,帶來思維的束縛就越明顯。比如,GPIO的功能非常強大,可以用于除模擬功能的所有數(shù)字輸入輸出功能,即,當(dāng)某一功能因引腳分配或功能復(fù)用沖突而致無法采用對應(yīng)引腳實現(xiàn),可采用任一GPIO引腳模擬實現(xiàn),這樣給設(shè)計帶來更多柔性空間。不僅如此,通過GPIO的模擬引腳功能可以促進學(xué)生對知識點底層思維方式的理解。
1.4 難以達成工程質(zhì)量體系評價指標(biāo)
工程教育認證的背景,要求學(xué)生具備針對復(fù)雜工程問題設(shè)計解決方案的能力,并且要求創(chuàng)新意識在設(shè)計環(huán)節(jié)中有所體現(xiàn)[4]。因而,對教學(xué)過程中相關(guān)環(huán)節(jié)設(shè)計能夠體現(xiàn)教學(xué)質(zhì)量的目標(biāo)并加權(quán)組合成目標(biāo)函數(shù),對指導(dǎo)理論教學(xué)和實驗教學(xué)尤為重要。而目前的教學(xué)安排,對形成具有目標(biāo)考核的指標(biāo)有一定難度,主要是由于知識點的瑣碎,導(dǎo)致具有工程實踐價值的教學(xué)環(huán)節(jié)很難形成。
2? 課程改革
以南京工程學(xué)院電氣工程專業(yè)為例,面向大三年級開設(shè)了《嵌入式系統(tǒng)》課程,將之前的《單片機原理》以及《微機接口技術(shù)》課程的教學(xué)內(nèi)容融合后并入到嵌入式系統(tǒng)中。并且在C語言教學(xué)中,強調(diào)實踐環(huán)節(jié)的安排。由于之前的C語言學(xué)習(xí),教學(xué)動機主要是完成學(xué)生的計算機二級考試,有一定的應(yīng)試教學(xué)成分,導(dǎo)致學(xué)生以做題形式完成課程教學(xué),出現(xiàn)會做題,但不能編程,而且認為C語言學(xué)習(xí)是闖關(guān)訓(xùn)練,完成考級目標(biāo)就萬事大吉。為了強化嵌入式系統(tǒng)的教學(xué),該課題組以最終實現(xiàn)工程實踐能力的培養(yǎng)為目標(biāo)將以上課程重新編排,并形成如圖1所示的教學(xué)流程。
圖1中,將相關(guān)課程有機融合并形成有機整體,從而為嵌入式系統(tǒng)學(xué)習(xí)搭建有力的平臺。課程組根據(jù)單片機原理的教學(xué)經(jīng)驗中提煉出用于C語言教學(xué)的相關(guān)邏輯編程內(nèi)容,如引腳讀寫涉及的相關(guān)移位、與或非操作。為了便于說明,該文給出一段引腳讀寫的例程。
2.1 引腳讀寫的C語言邏輯編程
(1)首先通過宏定義的方式定義引腳的基地址。
#define PERIPH_BASE? ? ? ((unsigned int)0x40000000)
#define APB2PERIPH_BASE? (PERIPH_BASE + 0x00010000)
#define GPIOC_BASE? ? ? ?(APB2PERIPH_BASE + 0x1000)
#define GPIOC_CRL? *(unsigned int*)(GPIOC_BASE+0x00)
#define GPIOC_CRH? *(unsigned int*)(GPIOC_BASE+0x04)
#define GPIOC_BSRR? *(unsigned int*)(GPIOC_BASE+0x10)
從地址的定義出發(fā),讓學(xué)生掌握宏定義的學(xué)習(xí),并深入理解宏定義的應(yīng)用場景。同時指明,在定義時要區(qū)分大小寫,培養(yǎng)學(xué)生良好的編程習(xí)慣。在定義該地址時,還牽扯到指針的概念,這在之前的C語言學(xué)習(xí)中,對于學(xué)生是一個莫大的難點。
(2)引腳控制程序。
void main(void)
{GPIOC_CRL &= ~( 0x0F<< (4*0));
GPIOC_CRL |= (3<<4*0);
GPIOC_BSRR=(1<<(16+0));
while(1);}
由主函數(shù)main完成引腳的操作,子函數(shù)完成相應(yīng)的延時。主函數(shù)中實現(xiàn)了子函數(shù)的調(diào)用,這在以往的C語言教學(xué)中容易被忽視,學(xué)生很少接觸到函數(shù)調(diào)用的訓(xùn)練。在主函數(shù)中,存在大量的移位和邏輯操作,并將其與引腳對應(yīng),實現(xiàn)了從程序到硬件的控制流程。
簡單的一段代碼將多個C語言知識點融合并完成一個完整的訓(xùn)練,從而避免在C語言教學(xué)中出現(xiàn)過于瑣碎的知識點講解,帶來枯燥無味的學(xué)習(xí)過程。
2.2 工程項目化教學(xué)的細化
圖1中,不僅涉及到從單片機原理到C語言的流程,還有因接口電路設(shè)計需要而帶來的驅(qū)動程序編寫,以及在嵌入式系統(tǒng)學(xué)習(xí)中包含的大量硬件原理設(shè)計(包含主芯片的內(nèi)核功能和外圍電路)。最終,將硬件通過C語言程序進行有序連接,此時設(shè)計到的C語言具備結(jié)構(gòu)化特征,項目工程文件的組織和管理,函數(shù)間的調(diào)用也變得異常復(fù)雜。
項目化教學(xué)的難點就是功能的細分,這不僅關(guān)系到教學(xué)的有序開展,而且還影響到教學(xué)目標(biāo)評測的合理性。為了充分體現(xiàn)工程教育認證的實質(zhì)需求,該課程組將嵌入式系統(tǒng)的實踐環(huán)節(jié)進行細化,從項目框架出發(fā),涉及到器件選型、硬件原理圖設(shè)計、PCB設(shè)計、焊接、功能測試和一系列修改流程。細化后的各環(huán)節(jié)可以作為項目評測點,對其進行打分,然后加權(quán)后得到總分。
規(guī)范化教學(xué)以及形成標(biāo)準化的教學(xué)過程是工程教育認證體系的核心思想。因而教學(xué)環(huán)節(jié)的設(shè)計中要體現(xiàn)標(biāo)準化內(nèi)涵,如框圖語言要規(guī)范,能夠用相關(guān)軟件合理設(shè)計和表達;程序設(shè)計也要合規(guī),特別是對于簡單的變量名和函數(shù)名定義也要標(biāo)準化,可以采用微軟的命名方式;硬件原理圖設(shè)計要按功能進行分割及布局。標(biāo)準化的設(shè)計也便于教學(xué)目標(biāo)評測。
3? 結(jié)語
該文針對嵌入式系統(tǒng)教學(xué)過程中出現(xiàn)的內(nèi)容瑣碎、知識點較多、難以工程教學(xué)目標(biāo)評測等問題,給出了符合項目化教學(xué)需要以及教學(xué)目標(biāo)評測的改革思路,將多門課的教學(xué)過程融為一體,以實踐教學(xué)為中心有序有力地開展教、學(xué)、評、測等活動。
參考文獻
[1] 胡應(yīng)坤,林杰鑫,徐開濤.嵌入式技術(shù)應(yīng)用教學(xué)改革研究[J].教育現(xiàn)代化,2019(83):109-111.
[2] 孫青,李輝勇.面向?qū)W生工程能力培養(yǎng)的嵌入式系統(tǒng)設(shè)計實訓(xùn)課程教學(xué)改革實踐[J].計算機教育,2020(3):136-140.
[3] 劉光偉.淺析STM32嵌入式實驗教學(xué)的改革與實踐[J].科技資訊,2019(35):159-160.
[4] 王超,張偉,侯凌燕.面向?qū)I(yè)工程認證的嵌入式CPS方法課程改革實踐[J].教育教學(xué)論壇,2019(34):93-94.
[5] 居發(fā)禮,余曉平,劉麗瑩.基于工程思維能力培養(yǎng)的課程教學(xué)探討[J].山西建筑,2018,44(17):233-234.
[6] 謝捷如.面向工程思維培養(yǎng)的“電路”課程教學(xué)研究與探討[J].機械設(shè)計與制造工程,2018,47(12):118-120.