嵌入式系統的基本原理范文
時間:2023-11-16 17:29:36
導語:如何才能寫好一篇嵌入式系統的基本原理,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
關鍵詞 嵌入式系統;單片機;計算機系統
中圖分類號:G642.3 文獻標識碼:B
文章編號:1671-489X(2017)08-0085-02
Content Setting of Embedded System Curriculum//XU Jinglei
Abstract The MCU Course is combined with embedded system courses, taking the 51 as one of the most simple embedded processor
to learn, while learning a more advanced embedded processor STM32.
Key words embedded system; single-chip; computer system
1 嵌入式系統的定位
目前對于嵌入式系統的理解各有不同,這種情況直接導致嵌入式課程在內容設置方面的區別。通過分析不同觀點,可以得到合適的指導原則。
一種觀點認為,嵌入式系統是非PC系統,有計算機功能,但不能稱之為計算機設備或設備。它是一種以軟件和硬件為中心的專用計算機系統,可應用于功能、可靠性、成本、體積、功耗等方面有嚴格要求的場合。簡單地說,嵌入式系統的硬件和軟件聯合使用,仿照BIOS的工作方式,具有自動化程度高、軟件代碼小、響應速度快的特點,特別是具有實時多任務的功能[1]。嵌入式系統主要由嵌入式處理器、相關支持硬件、嵌入式操作系統和應用軟件系統組成。
這種觀點看似面面俱到,實則主次不分,沒有指出嵌入式系統的本質,其中把嵌入式系統稱為專用計算機系統更是錯誤的,因為事實上,嵌入式系統也可以作為通用計算機系統。
另一種觀點認為,嵌入式系統就是ARM體系結構、ARM指令系統、S3C2410嵌入式微控制器及嵌入式系統分析和設計等內容[2-3]。要了解嵌入式操作系統的進程、進程調度、進程間通信機制及嵌入式操作系統的其他功能,掌握嵌入式操作系統LINUX的基本命令,LINUX操作系統下應用程序的開發與調試,LINUX操作系統驅動程序的調試。
這種觀點混淆了嵌入式系統和嵌入式操作系統的區別,實質是在講如何使用LINUX嵌入式操作系統,而這只是嵌入式系統的一小部分。
綜合以上觀點,可以看到對于嵌入式系統的定位比較混亂,正確的定位該以計算機系統的核心單元處理器為準,以處理器的最小尺寸為依據,把整個計算機系統分為三大類:服務式、桌面式、嵌入式。
1)服務式指的是服務式計算機系統,提供高等的計算性能,采用服務式處理器,如網站服務器、超級計算機;
2)桌面式指的是桌面式計算機系統,提供中等的計算性能,采用桌面式處理器,如臺式機、筆記本;
3)嵌入式指的是嵌入式計算機系統,提供低等的計算性能,采用嵌入式處理器,如手機、平板。
這種分類方法只以處理器的最小尺寸為依據,標準客觀清晰,尺寸越小性能越低。處理器的最小尺寸指的是同型號前提下的最小封裝。事實上,嵌入式的詞義本身也意味著尺寸小,以便嵌入到其他設備。
至于每類計算機系統要做成通用還是專用,要根據實際需求而定。如手機這個嵌入式系統,發展初期是專用的,到智能手機時期,已經是通用系統了。
簡單說,嵌入式系統是采用嵌入式處理器的計算機系統。嵌入式處理器又稱為單片機、微控制器、微處理器。嵌入式處理器包含一切小尺寸的處理器,如51、61、AVR、PIC、ARM、DSP、FPGA等。
2 單片機和嵌入式系統的統一
單片機是一種集成電路芯片,包含大規模集成電路技術的CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計時器等功能,有的還包含顯示驅動電路、脈寬調制電路。單片機是一個小而完善的計算機系統,廣泛應用于工業控制領域,從8位單片機發展到目前32位MCU。
單片機,毫無疑問,也是一種小尺寸的嵌入式處理器。采用單片機構成的計算機系統,也是一種嵌入式系統。單片機的詞義本身也意味著在單個硅片上集成了盡可能多的部件,以便實現尺寸小的目標,這個特征也是所有嵌入式處理器的特征。因此,單片機和嵌入式可以統一化,或者說,單片機是嵌入式處理器的一個別稱。
目前,單片機課程普遍以51為主,這容易造成一種錯誤認識:單片機就是51。事實上,單片機的內涵要大得多。為了理清關系,可以把單片機課程合并到嵌入式系統課程,把51作為一種最簡單的嵌入式處理器進行學習,同時學習一種較高級的嵌入式處理器STM32,相互對照,以便樹立正確的嵌入式系統的概念。
3 嵌入式系統的教學方向
嵌入式系統學習的內容很多,需要設定若干教學方向。首先,要明確的是學習嵌入式系統的目的是如何使用,而不是制造。具體說就是不制造嵌入式處理器,不制造嵌入式操作系統,而是利用現有嵌入式處理器設計電路,或利用現有嵌入式操作系統編制程序。其次,要明確有無操作系統,這是設定教學方向的依據。
如果沒有操作系統,則需要在程序設計中直接操作各個硬件寄存器,和硬件直接打交道,程序和硬件直接相關,稱為嵌入式系統的硬方向。一個嵌入式處理器是否具有操作系統不是隨意的,因為操作系統屬于額外代碼,對嵌入式處理器的性能是有要求的。若嵌入式處理器的性能較低,勉強運行操作系統,也是沒有意義的,不如裸機運行快。這方面的嵌入式處理器有51、61、STM32等,學習的重點在于處理器本身。嵌入式系統的硬方向,其課程名仍稱為嵌入式系統。
如果有操作系統,則程序設計中無須直接操作各個硬件寄存器,不和硬件直接打交道,直接操作硬件的工作由操作系統(含驅動程序)完成,程序可以做到和硬件無關,只需和操作系統(含驅動程序)軟件接口,稱為嵌入式系統的軟方向。一個嵌入式處理器是否具有操作系統不是隨意的,性能較高的嵌入式處理器,如主頻400 MHz以上的S3C2410,其內部結構已經復雜到讓直接操作硬件變得不現實,必須采用嵌入式操作系統進行開發,如Linux、Android、iOS,學習的重點在于操作系統,而不是處理器本身。嵌入式系統的軟方向,其課程名可以稱為嵌入式操作系統。
4 嵌入式系統的內容設置
嵌入式系統,作為嵌入式系統的硬方向,課程內容應該是學習不帶操作系統的嵌入式處理器,學習的重點在于處理器本身的細節,為進一步學習嵌入式操作系統建立一個扎實的硬件基礎。沒有這個環節,就難以理解操作系統的一些硬件概念。
嵌入式系統課程主要培養學生了解有關嵌入式系統的基本原理、設計方法以及嵌入式系統的最新發展,初步掌握嵌入式系統開發的過程和常用方法。通過本課程的學習,要求學生掌握嵌入式系統的基礎概念、基本原理、開發流程和步驟、嵌入式應用系統工程設計和解決技術問題的基本方法,具備一個合格的高新技術工程研發人員綜合運用所學各種知識和技能,從分析嵌入式系統應用項目需求,到確立設計開發方案,到方案實施和解決基本問題的能力。
課程基本內容:了解嵌入式系統的特性、基本原理及其發展趨勢;建立嵌入式系統的概念;掌握51體系結構、STM32嵌入式微控制器及嵌入式系統分析和設計等內容。該課程是一門實踐與理論結合性很強的課程,以電子技術、微機原理與接口技術、C語言等課程為基礎,主要介紹基于51和STM32微處理器的硬件基礎和編程。
課程重點與難點:嵌入式系統的概念,嵌入式系統的硬件系統,包括IO、中斷、DMA、SPI的工作原理,嵌入式系統的C語言編程方法。
課程章節主要內容總體分為51和STM32兩大部分。
第一部分
第2章 AT89s51單片機硬件結構:AT89S51單片機的硬件組成,引腳功能,電源及時鐘引腳等。
第3章 C51語言編程基礎:Keil C51簡介,Keil C51的開發工具,C51語言程序設計基礎,C51語言中的數據類型與存儲類型等。
第4章 AT89s51片內并行端口的原理及編程:AT89S51
的并行I/0端口的結構及工作原理,并行I/O端口的C51編程舉例。
第5章 AT89s51單片機的中斷系統:AT89S51中斷技術概述,中斷允許與中斷優先級的控制,響應中斷請求的條件,中斷函數。
第6章 AT89s51單片機的定時器/計數器:工作方式控制寄存器TMOD,定時器/計數器的4種工作方式,定時器/計數器的編程和應用。
第7章 AT89S51單片機的串行口:串行口的結構,串行口控制寄存器SCON,特殊功能寄存器PCON,串行口的4種工作方式。
第12章 單片機的串行擴展技術。
第二部分
第1章 STM32基本原理:STM32性能和結構,Cortex M3處理器,Cortex M3寄存器,STM32儲存地址映射,復位和時鐘控制。
第2章 硬件設計:STM32主板設計,MCU及其周圍電路設計,USB轉串口電路設計,TTL轉RS232電路設計,網絡端口路。
第3章 STM32軟件開發:STM32軟件開發環境,MDKKeil開發環境,獲得和理解固件庫,操作GPIO和管理中斷,嵌套向量中斷控制器NVIC庫函數,串口通信和DMA編程,SPI與I2C編程,TF卡編程,液晶屏及觸摸屏編程。
參考文獻
[1]王奕翔.《嵌入式系統原理與應用》課程教學改革與實踐[J].教育現代化,2016(25):51-52.
篇2
關鍵詞:應用型本科;嵌入式課程體系;教學方法
中圖分類號:G434 文獻標識碼:A 文章編號:1009-3044(2013)36-8340-01
嵌入式是一門從上層應用到底層內核開發的軟硬件結合,對綜合技術要求較高的技術領域,各高校近年來普遍開設嵌入式方向或專業,我校也已經在計算機科學與技術系設置嵌入式專業。目前我校計算機科學與技術系已經開設的嵌入式課程的前續課程有數字電路,計算機體系結構、計算機組成原理、微機原理與接口技術、程序設計語言I及面向過程程序設計、操作系統、數據結構與算法等??紤]到嵌入式課程建設的連續性、層次性和前沿性的需要,形成了包含嵌入式系統、嵌入式內核編程與驅動開發和嵌入式軟件設計在內的嵌入式專業課程體系。下面主要介紹這三門課程的建設。
1 嵌入式課程設置
我系首次開設的嵌入式系統課程是偏硬件系統設計的一門課程,目標是通過對本門課程的學習,使學生了解ARM體系結構,掌握ARM偽操作及偽指令,掌握嵌入式Linux系統的構建能力,包括嵌入式交叉編譯環境搭建,bootloader移植,文件系統制作,內核的編譯過程;掌握Linux下C與匯編混合編程,同時理解嵌入式系統驅動程序編寫思想。
考慮到實際的嵌入式系統設計過程中,對特定的微處理器內部結構的知識要求淡化的同時,對處理器接口知識的要求卻在增加。因此,嵌入式系統課程增加了嵌入式系統中常用的接口的基本原理和接口協議部分,學生可以通過本門課程的學習,自己動手搭建定制的嵌入式操作系統,并通過對實際的硬件接口學習及操作,增強學生的嵌入式系統設計的能力。
嵌入式驅動開發要求學生掌握驅動開發方法、開發流程;掌握內核關鍵數據結構及中斷機制等內容,但是由于學時限制,起初開設的嵌入式系統課程,這部分內容僅要求學生掌握驅動設備的類型及驅動開發流程。本次將嵌入式驅動開發部分的內容獨立設置為一門課程——嵌入式內核編程與驅動開發,目標是通過學習本門課程,學生能夠理解嵌入式驅動開發基本概念、理論和方法;了解嵌入式Linux驅動工作原理,熟悉Linux內核關鍵數據結構和機制;掌握交叉編譯工具的使用和嵌入式驅動開發整體流程。使學生在學完本門課程后,能夠自己動手開發驅動程序,并進行內核編程開發。
嵌入式系統經過系統設計和底層開發后,僅是一個具備了硬件、驅動及操作系統的設備,還需要在該系統上開發大量的應用軟件,才能稱之為有用的受人們歡迎的系統。所以嵌入式系統的軟件開發同樣重要。起初的嵌入式系統課程僅介紹了Linux下C與匯編混合編程方法,這僅適用于底層開發驅動的要求,但這遠遠不能滿足當今企業對嵌入式軟件開發人員的要求。本次將嵌入式軟件開發獨立設置為一門課程,目標是通過本課程學習掌握Linux常用命令及Linux下C編程及開發流程,掌握Linux操作系統編程關鍵技術,包括進程控制,多線程編程及網絡通信等。使學生在學完本門課程后,能夠進行多進程、多線程編程及網絡通信編程等功能,實現操作系統應用軟件的開發。
嵌入式系統,其前期課程為計算機體系結構,計算機組成原理,微機原理與接口技術;嵌入式內核編程及驅動開發,其前期課程為操作系統,數據結構與算法,嵌入式系統;嵌入式軟件設計,其前期課程為程序設計語言I、面向過程程序設計、操作系統,編譯原理,嵌入式系統及嵌入式內核編程與驅動開發。
2 教學方法的運用
2.1 嵌入式系統課程
1)嵌入式Linux常用開發工具及GNU工具鏈生成部分采用案例教學法。通過搭建GNU工具鏈任務,讓學生在完成任務的同時達到熟練掌握常用命令及工具的作用。
2)嵌入式Linux系統的構建部分采用項目驅動法,學生在完成每節的學習后,完成Linux系統構建的一部分功能,最終完成Linux系統構建,通過綜合運用以上知識點,自己動手定制一個U盤上的最小系統,實現從U盤啟動系統。
3)嵌入式系統基礎接口的原理及協議部分,每部分內容都有豐富的案例,由于這部分涉及的內容比較多,采用案例分析法與分組討論法,通過設置設計型實驗項目,讓學生先討論,提出一個可行性方案,并最終在設備上實現各種功能。
2.2 嵌入式內核編程及驅動開發課程
1)Linux設備驅動概述及開發環境構建及硬件基礎部分采用案例分析法,理解嵌入式驅動開發的方法; (下轉第8354頁)
2)Linux內核及內核編程、Linux內核模塊、Linux文件系統與設備文件系統部分采用任務驅動法,通過對模塊的加載卸載、模塊參數和編譯模塊等任務的操作使學生熟練掌握Linux內核模塊的操作;
3)字符設備驅動部分采用案例分析法,了解嵌入式Linux驅動工作原理;
4)并發與競態、LINUX設備驅動中的阻塞、非阻塞I/O與異步通知、Linux異常處理體系結構部分采用案例分析法進行講解,熟悉Linux內核關鍵數據結構和機制。
2.3 嵌入式軟件設計課程
每部分都配有相應的任務或項目,各重點知識點都配有案例進行分析,便于學生理解和掌握。具體需要完成的項目包括:Linux下服務器配置項目;簡單程序開發項目;多進程及守護進程程序編寫任務;管道通信及共享內存任務;生產者消費者項目;NTP協議項目。最終實現一個嵌入式Web應用系統的設計與開發項目。
3 結束語
綜上所述,嵌入式課程由原來的一門課程,即嵌入式系統課程,通過教學內容的擴充及調整為三門課程。將課程分為系統設計類課程,即嵌入式系統;底層開發類課程,即嵌入式內核編程及驅動開發;軟件開發應用類課程,即嵌入式軟件設計。通過綜合運用項目驅動教學法、分組討論法、任務驅動法、案例分析法等教學方法開展教學,引導和激發學生的主動學習和探究意識,引導和激發學生的動手實踐意識,達到學以致用。
參考文獻:
篇3
關鍵詞:嵌入式系統;教學研究;自動化專業;實踐教學
作者簡介:張曉東(1980-),男,山東青島人,河南工業大學電氣工程學院,講師;孫麗君(1968-),女,河南鄭州人,河南工業大學電氣工程學院,教授。(河南 鄭州 450001)
基金項目:本文系河南省高等教育教學改革研究項目(項目編號:2012SJGLX151)、河南省教育科學“十二五”規劃實驗課題“基于開放實驗室的嵌入式系統教學改革與實踐”(課題編號:[2011]-JKGHAC-0150)、河南工業大學高等教育研究項目(項目編號:2012一般項目-15)、河南省“自動化”特色專業項目的研究成果。
中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2013)08-0035-02
進入21世紀以來,隨著信息技術特別是嵌入式技術的快速發展,嵌入式系統已經廣泛滲入到工業測控儀表、軍事技術、汽車電子、醫療儀器、無線通信、智能家居以及消費電子產品等眾多重要行業,成為“后PC時代”最有前景的研究熱點之一。[1]作為一種新興的技術領域,嵌入式技術融合了傳統的計算機軟、硬件技術以及通信、半導體和微電子技術,屬于多種學科交叉的綜合性學科。由于嵌入式產品市場的蓬勃發展以及嵌入式技術的廣泛應用,嵌入式系統軟、硬件開發工程師等技術人員在就業市場上較為緊缺,社會對嵌入式相關技術人才有迫切需求。[2,3]因此,嵌入式系統正逐漸成為國內相關高校的重點開設課程,高校嵌入式相關人才的培養方案還是一個較為新穎的重要的研究課題。
嵌入式系統設計技術已經成為電子信息類工程技術人員必備的專業知識和技能。不同領域嵌入式產品的應用特點不盡相同,高校不同學科、專業的嵌入式教學內容也應該各有側重。河南工業大學電氣工程學院自2007年開始面向自動化、電氣工程及其自動化等多個專業的本科生開設了“嵌入式系統設計”等專業選修課程。運行六年以來,作為省級和地廳級多個教改課題的支持項目,學院在嵌入式系統系列課程的教學研究方面進行了教學實踐與深入探索,獲得了一些有益經驗。
一、課程體系的目標與定位
“嵌入式系統設計”課程是河南工業大學電氣工程學院面向自動化等專業開設的結合ARM體系結構、ARM應用系統設計、實時操作系統、驅動程序設計、SOPC技術、嵌入式數據庫等嵌入式軟、硬件技術的重要任選課程。[4]該課程旨在使學生掌握嵌入式系統軟、硬件的基本原理,實踐嵌入式系統項目開發的基本流程。重點培養能夠解決嵌入式系統領域具體應用問題且具備的分析、設計、調試、運行等實踐動手能力的應用型工程技術人才,為深入開展嵌入式系統相關的后續科研開發奠定良好基礎。
對于選修“嵌入式系統設計”課程的學生,要求其具備電路基礎、模擬電子技術、數字電子技術、計算機組成原理、微機原理及接口技術、C語言程序設計、軟件技術基礎等課程的先修基礎。在課程體系的組織上,重點熟悉嵌入式系統的硬件結構和基于ARM9處理器的硬件開發平臺;掌握嵌入式操作系統的內部原理及嵌入式Linux系統的裁剪、編譯與移植技術;學習嵌入式開發環境的建立和嵌入式Linux應用程序開發與調試過程;嘗試常用設備驅動程序的開發和嵌入式圖形用戶界面的編程;最終使學生具備獨立設計一個較為完整的嵌入式系統的初步能力。[5]
根據美國電氣和電子工程師協會IEEE的定義,嵌入式系統即為用于控制、監視或輔助設備、機器或者工廠運行的裝置。[6]嵌入式系統的主要特點是軟、硬件結合,面向應用;嵌入性、專用性和計算機系統是嵌入式系統的三個基本要素。[7]因此,“嵌入式系統設計”是一門綜合性、實踐性以及應用性都較強的專業任選課,必須通過課程實驗、項目開發、科技競賽等環節進一步加深對課堂理論內容的理解,才能將理論知識與實踐應用有機地融合起來。
二、建立網絡教學平臺
“嵌入式系統設計”是一門融合了多學科內容的綜合性課程,所授課程涉及的知識面廣泛,課堂信息量較大。[8]但作為一門專業選修課程,受制于培養計劃的限制,課內理論講授及實驗學時數都較少,在有限的學時內教師要盡可能地使學生掌握嵌入式系統更多的內容。此外,近年來選課學生人數還在持續增多,大班額導致教學效果變差的問題也越來越突出。傳統的板書或投影儀授課方式已經遠遠不能滿足該課程理論密切聯系實踐的講授需要。
筆者所在的教學團隊經研討試講后,決定充分利用河南工業大學電氣工程學院嵌入式系統實驗室的硬件資源建立網絡教學平臺,進行教學模式改革探索。利用實驗室電腦以及“電子教室”多媒體教學網絡平臺,教師使用一臺教師機進行集中講授,學生在實驗室近在咫尺的幾十臺網絡終端旁即可實現理論授課及實驗講解的全程可視化。利用“電子教室”的遠程傳輸功能,教師可以在實驗課前將相關的課件、指導書等各種電子資源快速分發給學生機;通過“電子教室”的廣播演示功能即可將實驗步驟及實驗過程中發現的一般性問題清晰準確地講解給學生;講解或實驗過程中學生甚至可以通過“電子舉手”等對話功能將所遇到的問題反映給教師,隨時向教師提問。將傳統講堂搬進實驗室,利用先進的網絡平臺進行教學雖然增加了教師的課前準備時間和課堂工作量,但是大大提高了有限課堂時間內的授課效率。授課方式變得活潑生動,學生對授課及實驗細節的掌握程度也要遠遠好于傳統板書或投影儀授課方式。
三、開放式實驗教學改革
嵌入式系統以應用為中心,嵌入式工程技術人才的培養也離不開實踐環節的鍛煉。“嵌入式系統設計”課程是一門強調理論知識聯系實際應用的課程,學生必須在實驗中通過項目實踐鍛煉才能真正了解嵌入式系統設計的相關知識,掌握嵌入式驅動程序和應用軟件開發的主要過程。[9]高校傳統的實驗教學方式一般采用填鴨式教學。在教師講解實驗大綱后,學生根據其中的實驗目標和實驗步驟進行驗證式實驗。學生缺乏主觀能動性,難以滿足嵌入式系統課程開設綜合性設計性實驗的需要,無法真正激發學生的創新意識、培養其實踐動手能力。
為了解決上述問題,實現河南工業大學電氣工程學院應用型工程技術人才的培養目標,必須要進行嵌入式系統課程的實驗教學改革。為此,實驗室籌措經費大力改進實驗環境,購置了多套典型的周立功EasyARM2131開發套件、博創UP-NETARM2410-S嵌入式實驗平臺以及UP-ICE200仿真器、擴展板、網絡攝像頭、嵌入式操作系統、仿真軟件等配套軟硬件,為嵌入式系統相關課程的開放實驗教學改革提供了良好的條件。另一方面,在實驗組織形式上采用了開放式實驗教學模式。開放實驗室為學生提供了優良的硬件設施和實驗場所。實驗課前教師根據近期所講授的理論知識制訂部分小型項目課題,學生可從中選題或自帶課題。在實驗過程中將解決實際應用問題的思想作為實驗教學切入點,以項目驅動的方式促使學生分模塊、分任務針對實際應用問題進行分析;引導學生根據所學的嵌入式軟硬件開發方法實現項目提出的軟硬件開發目標或解決開發過程中的實際應用問題。指導教師注意在實驗過程中給予學生必要的指導并在實驗結束后及時進行總結點評。經過對實驗效果的對比驗證,開放式實驗教學模式強調以學生作為實驗中心,充分發揮、調動了學生的主觀能動性和創造性,是傳統實驗教學改革的一次有益嘗試。
四、教材和師資隊伍建設
1.課程教材建設
教材是課程資源的載體和媒介,在教學活動中發揮著至關重要的核心作用。[10]國內高校嵌入式系統相關課程的開設時間較短,開課較早的清華大學、上海交通大學、華中科技大學等高校嵌入式系統的授課歷史也只有十年左右。此外,嵌入式系統一般都是“軟硬結合”,授課內容與實驗室中嵌入式實驗平臺所用的微處理器類型密切相關,因此市場上很難找到合適的嵌入式系統課程通用教材。經過歷年的嵌入式系統教學實踐探索,筆者迫切感覺到該課程教材建設的重要性。
為此,自嵌入式系統開課之初,筆者就結合所選的嵌入式硬件實驗平臺編寫了《嵌入式系統實驗指導書》等校內講義。在歷經多次試用、補充、修改完善并總結多年教學經驗的基礎上,筆者所在的嵌入式系統教學團隊積極籌劃高水平教材的建設,組織優秀師資力量編寫了《嵌入式系統設計》,并已被列入“普通高等教育電氣工程與自動化(應用型)‘十二五’規劃教材”和“河南工業大學校級規劃教材”的編寫計劃。該教材堅持“基本理論適度、注重工程應用”的基本原則,在介紹嵌入式系統軟、硬件設計基本方法的基礎上著重實踐嵌入式系統項目的開發流程。該配套教材重視知識更新和實用性,具有較強的學科前沿性和針對性;同時文后增加了工程設計實例,注重理論與實踐相結合,使學生在學習過程中做到理論知識與實踐技能的融會貫通,可有效提高學生對理論知識的掌握程度和實踐動手能力。
2.師資隊伍建設
開放式實驗教學模式改革對師資隊伍的建設提出了全新的挑戰。與傳統實驗教學模式相比,教師課前要布置并不斷更新貼近實際應用的開放式項目課題;實驗過程中需要對現場涌現出來的各種問題及時給予解答、指導;由于嵌入式技術的快速更新,教師在課余也要不斷了解嵌入式系統的最新技術信息?!扒度胧较到y設計”等系列課程的教學需要有一支基礎知識扎實、實踐經驗豐富的教師隊伍。因此,學院抽調精干師資力量組建了嵌入式系統教學團隊。一方面督促教師不斷提高自己的業務素質,鼓勵教師多次參加北京博創科技、北京旋極信息等業內知名公司組織的培訓、講座;另一方面也提倡教師積極參與嵌入式相關的企業橫向課題的研發工作,提升教師自身的研發能力。這些措施使得嵌入式系統教學團隊的業務素質和授課水平有了較大的提高。
五、結語
河南工業大學電氣工程學院“嵌入式系統設計”選修課程自2007年開設以來,選課人數不斷增加并獲得了學生的好評。隨著嵌入式技術的快速發展和社會對嵌入式研發人才要求的不斷提高,電氣工程學院嵌入式系統教學團隊十分重視嵌入式系統課程的教學研究和教學改革,相繼榮獲河南省教育科學研究優秀成果一等獎、河南省素質教育理論與實踐教育教學一等
(下轉第38頁)
(上接第36頁)
獎并培養學生獲得多個國家級大學生科技競賽的獎勵。在以往多年教學實踐的基礎上,教學團隊積極改革教學方法,采用多種教學手段,使學生掌握好嵌入式系統理論基礎的同時真正做到了理論聯系實踐和學以致用,為后續相關課程的學習和嵌入式系統課題的研發打下了良好的基礎。
參考文獻:
[1]陳賾.ARM嵌入式技術原理與應用[M].北京:北京航空航天大學出版社,2011.
[2]梁宜勇,王曉萍,趙文義,等.“嵌入式系統”課程教學與實踐探討[J].中國大學教學,2009,(5):36-37.
[3]陳玉明,洪耀球,黃順發,等.高職高專嵌入式人才培養模式探討[J].中國成人教育,2011,(20):83-84.
[4]陳佳聞.嵌入式實驗教學系統開發與應用[J].山東農業大學學報(自然科學版),2011,42(3):448-450.
[5]解志堅,張紅燕,曾煉成.嵌入式系統開發人才培養的路徑[J].湖南農業大學學報(自然科學版),2010,36(1):134-136.
[6]馬維華.嵌入式系統原理及應用[M].第2版.北京:北京郵電大學出版社,2010.
[7]劉森,慕春棣.自動化專業的嵌入式系統教學探討[J].實驗技術與管理,2007,24(1):115-117.
[8]吳磊.嵌入式教學與實驗的研究[J].實驗室研究與探索,
2011,30(11):103-104.
篇4
(大連交通大學 軟件學院,遼寧 大連116028)
摘 要:分析嵌入式系統教學相關課程和嵌入式系統課程群教學的基本內涵,提出以嵌入式Linux操作系統為核心課程來建設嵌入式系統課程群,整合優化嵌入式系統課程群教學體系。
關鍵詞 :嵌入式;課程群;優化融合;教學體系
基金項目:2013年大連交通大學教學改革研究項目(DJDJG201345);2014年遼寧省普通高等學校本科教育教學改革研究項目(UPRP20140299)。
第一作者簡介:鄭廣海,男,副教授,研究方向為計算機應用、Agent技術,zhmos@163.com。
0 引 言
隨著計算機技術、微電子技術、傳感器技術及通信技術的不斷發展和創新,嵌入式系統技術如今成了焦點的應用技術之一。嵌入式無處不在,隨著嵌入式系統廣泛應用,國內外機構投入大量資金對嵌入式系統進行研發,引發了對嵌入式系統技術人才需求的增長。嵌入式系統本身需要軟硬件技術的緊密結合,開發難度較大,面臨著重大的變革,這是嵌入式系統相關教學面臨的新機遇、新挑戰。
1 嵌入式系統課程群教學體系
嵌入式系統課程群建設目標是共享優質教學資源,以使更廣泛的群體受益,堅持創新教育理念,堅持以學生為本,依托軟件工程學科特色,改革嵌入式系統課程群教學內容、教學方法和教學手段,促使學生主動構建知識結構。
1.1 嵌入式系統教學的特點
嵌入式系統具有嵌入性、專用性和計算機系統三個基本要素[1]。它涉及微處理器、操作系統、系統設計方法以及高性能計算等基本原理和關鍵技術,涉及嵌入式系統的高可靠性、低功耗以及安全性、性能優化等基礎知識。嵌入式系統實踐性強,不僅要求學生有扎實的理論基礎,更要求他們有很強的工程實踐能力。嵌入式系統教學具有如下特點:①嵌入式系統課程具有多學科交叉性,融合了計算機、通信以及微電子技術等多項技術及應用;②嵌入式系統課程具有綜合性,是集軟硬件技術為一體的綜合體,需要協同設計軟硬件課程;③嵌入式系統課程實踐性極強,需要通過大量的實驗、實習實訓、學科競賽、科研項目等實踐教學環節來進一步加深學生對理論知識的理解。
1.2 課程群教學體系構建
課程群建設是一組課程的整體建設,各課程所面對的教育對象是一樣的,因此,課程群的課程內容具有相關性,課程群建設考慮課程集合整體的系統性建設,而不是考慮每門課程的個體特征[2]。課程群的課程集合具有強關聯性和可整合性,課程內容相輔相成,有課程之間的銜接,也有課程內容的交叉。課程群整體建設是以單獨每門課程建設為基礎,通過對課程群課程集合的優化,以及課程的整合與重組,優化資源配置,充分發揮課程群每門課程的特有作用,綜合考慮課程之間的內在邏輯性,構建知識、能力和素質一體化的人才培養模式。在選擇課程群建設的課程時,要充分考慮培養方案中在知識點、技術原理和實現方法等方面存在邏輯聯系的課程,通過優化整合,形成課程群的課程體系。
嵌入式系統課程群經歷了幾年的建設和優化,逐步完成由初期啟動階段到基礎建設階段的過渡,最終邁進創新提高階段。在課程群的建設過程中,我們始終堅持以穩定為主旋律,在一定時期保持課程群教學內容的相對穩定,從深度和廣度上對教學內容進行創新改革,不斷將反映學科發展的新趨勢、研究成果等新的知識點加入到教學中;采用“理論+實踐+應用”的全新教學思路,以課程群理論教學為建設基礎,依托課程群創新實踐教學,以培養學生創新思維和創新能力為目標,形成嵌入式課程群全新的教學體系[3]。嵌入式系統課程群教學體系結構示意圖如圖1所示,包括理論教學體系、實踐教學體系和教學評價體系3部分。
1.2.1 課程群理論教學
嵌入式系統所涉及的知識面非常廣泛,應用領域眾多,因此課程群建設在選擇課程時,應該從嵌入式系統的底層硬件知識,考慮到頂層應用開發,根據嵌入式系統人才培養目標要求,保證嵌入式專業的主體規格,增強課程群理論課程的優化融合。通過精心選擇、重組課程群的相關知識點,充實新知識點到課程群中,完成課程群教學內容整體優化整合。
在課程群體系框架下,我們要設計學生應掌握的知識點和創新能力發展要求,按照最優選擇原則,對課程群的課程集完成裁剪、歸并、整合優化、內容更新,構建完整的、系列化的課程群理論教學體系結構。
我們以“教育部—Intel”精品課嵌入式Linux操作系統課程為核心,圍繞精品課建設,示范引導,建立嵌入式系統課程群教學體系結構。課程群理論課程包括C/C++程序設計、計算機組織與體系結構、微機原理與接口技術、嵌入式Linux操作系統、嵌入式系統設計與開發、ARM體系結構與編程等6門課程。
C/C++程序設計是程序設計的基礎課程。C++由C語言發展而來,可用于結構化程序設計,也可用于面向對象的程序設計,是嵌入式系統常用的開發語言,是嵌入式系統開發的最佳選擇。計算機組織與體系結構課程深入剖析計算機體系結構和內部工作機制,是掌握計算機內部世界的重要課程。微機原理與接口技術系統地闡述了微處理器的基本原理、體系結構以及指令系統等知識。嵌入式Linux操作系統是課程群的核心課程之一,講述CPU調度、內存管理以及外設管理等理論知識。嵌入式系統設計與開發也是課程群的核心課程之一,它綜合了多門課程的教學內容,講授嵌入式軟硬件環境及開發流程。ARM體系結構與編程課程重點講解微處理器ARM內部寄存器結構、指令系統、中斷管理、常用的外圍接口等嵌入式硬件平臺設計的有關知識和技術。
課程群建設要有整體全局觀念,對課程群進行整體統籌優化,整合課程群理論知識體系,融合不同課程的知識點,要確保課程之間的無縫銜接,形成完整的課程群理論課程教學體系結構。課程群整體優化整合,要充分發揮嵌入式系統課程群的特色和整體優勢。
1.2.2 課程群實踐教學
嵌入式系統實踐教學是課程群教學體系的重要組成部分,是提升學生綜合素質的重要教學環節[4-7],經過多年的實踐探索,嵌入式系統課程群的實踐教學體系由1個中心、3個教學層次和4個教學環節組成[3],體系結構示意圖如圖2所示。
3個層次的實踐教學包括:
(1)基礎實踐層,是課程群理論課程的課內相關實驗,主要以驗證性實驗為主,通過這層教學環節,學生可以加深領會和掌握所學理論知識。
(2)綜合實踐層,是課程群的綜合性和設計性實驗,主要是培養學生的實踐操作能力,引導學生綜合理解嵌入式系統的實現機理,提高綜合運用課程群知識的能力。
(3)創新實踐層,以創新為目的,通過項目實訓、學科競賽和科學研究項目等創新實踐教學活動,培養學生綜合應用知識的能力、工程素養和創新能力。
3個實踐教學層需要通過如下4個具體的實踐教學環節來完成:
(1)課內實驗環節,是與理論教學相配合的必要環節,通過課內實驗強化重點內容和知識點,進一步鞏固課堂講授的理論知識,將理論與實踐緊密結合,提高學生處理問題的能力。
(2)實習實訓環節,是與企業合作,根據企業崗位技能要求,按照企業對員工的知識、技能和綜合素質等方面的要求,構建基于企業標準的項目開發流程的實習實訓工作環境,在企業項目經理團隊指導下,學生在企業化情境中開發項目。
(3)畢業設計環節,是實踐教學的重要環節,通過畢業設計將所學知識進行整合運用,具有綜合性和總結性,是培養學生工程實踐能力和創業精神的重要環節。
(4)學科競賽及科學研究環節,可以培養學生的工程實踐能力、創新能力及團隊協作精神,是創新型人才培養的最有效途徑。
2 課程群教學內容的融合
2.1 課程群建設
課程群是一類相關課程的集合,以現代教育理念和理論為指導,選取培養方案中相互有影響、課程內容聯系密切、課程之間互動有序的相關課程,重新規劃并整合成一個整體,構成課程群[8]。課程群建設是對課程集的再設計,對課程集中課程的知識點進行分解與融合,有效結合了課程體系的開發和課程建設的實施過程[9]。
采用結構化系統設計原則,實施嵌入式系統課程群建設,將課程群作為一個整體進行優化融合,課程群的融合充分反映課程教學特色和優勢。我們將嵌入式系統相關的這6門課程統一進行優化整合,不再考慮每門課程內容的系統性,超越系統性約束,調整6門課程的內部結構,對這6門課程內容進行優化重組,刪除在不同課程中重復出現的內容,緊隨嵌入式學科發展,淘汰陳舊過時的知識,適當增加新技術和新知識。同樣,課程群的實踐教學內容也進行了優化整合,針對實踐教學內容交叉重疊,多重視驗證性實驗,而忽略綜合性和設計性實驗等問題。在大量教學改革研究與實踐的基礎上,我們對6門課程實踐教學的內容、知識點及培養計劃等進行優化整合,增加綜合性、設計性和創新性的實踐教學內容。培養方案、教學計劃及教學大綱等的再設計,實現了課程群知識體系的優化與重構。
2.2 理論課程的融合
課程群建設以群為單位,其教學過程具有整體性要求,教學內容模塊化,課程群內課程之間相互滲透,經過優化整合,更能發揮群體課程的優勢。
嵌入式課程群以精品課嵌入式Linux操作系統為核心,選擇屬于同一能力培養范疇的課程,整合了C/C++程序設計、計算機組織與體系結構等6門相關課程構成課程群,這些課程具有一定的相對獨立性,而課程內容縱向具有前導和后繼關系,橫向存在知識結構上的內在聯系,各門課程合理分工,構成一個系統化的有機整體。
我們理清課程群課程之間的關系,確定課程群的理論和實踐教學內容,構建課程群體系架構。如嵌入式系統設計與開發課程需要軟硬件的緊密結合,涉及硬件設計、操作系統、系統開發等相關課程的內容,對課程群的課程內容進行優化融合,課程群以ARM為硬件平臺, Linux作為嵌入式操作系統,將Linux內核移植到ARM硬件平臺上,在這樣的軟硬件平臺上,使用C/C++開發嵌入式系統。
課程融合突破了課程之間的壁壘,沒有了學科、課程的界限,是實現了課程群共融的教學活動。課程群整合,優化配置了教學資源,促進多課程間交叉、滲透、融合與創新,加強課程群內涵建設,改革創新,實現課程群跨越式發展。
2.3 實踐課程的融合
嵌入式系統課程實踐性強,根據嵌入式專業發展要求以及人才培養的需求,密切聯系理論教學,并緊跟嵌入式學科的發展,重構課程群實踐教學體系結構。整合嵌入式系統課程群實踐教學課程,實現課程群實踐課程合理分工,保證課程群實踐課程之間的緊密銜接,優化整合實踐教學內容,減少驗證性實驗,增加綜合性、設計性實踐教學內容,增加具有創新性的實踐教學內容,開展多層次遞進式的嵌入式課程群實踐教學,以培養學生工程實踐和創新實踐能力為主線,優化整合課程群的實踐教學資源和實踐教學過程,形成多層次、多環節的實踐教學體系結構。
整合課程群實踐教學資源,優化了實踐教學過程,實現了對傳統實踐教學的改造與創新。融合構建嵌入式實踐教學體系結構,融合就是裁剪重復性實踐教學內容,整合相關實踐教學內容,增加設計性實踐和創新性實踐,實現嵌入式實踐教學項目的重構與再造。我們按照嵌入式系統培養方案中對實踐技能的要求,梳理和整合實踐教學需要的實踐技術,形成“1個中心,3個層次和4個環節”的實踐教學體系;按照教育教學規律,遵循個性特點,促進理論知識與實踐能力的轉化,逐步將科研新成果以及最新實踐技能和應用引入到實踐教學中。如“C/C++程序設計”課程的實驗內容在其他課程都有體現,我們將程序設計的實驗融合到課程群的其他5門課程的實驗中,根據電子大賽等學科競賽設置創新實踐教學內容,將教師的科學研究過程引入到課堂。通過這些改革措施,實踐教學體系中融合了創新教學內容,學生學到了實踐技術,也了解了科研成果的創新實踐過程,更激發了學生探索科學事實的激情。
3 課程群教學改革探索
3.1 課程改革緊隨學科發展
課程群理論課程主要講解嵌入式相關知識的基本概念、原理和方法。隨著計算機技術及微電子技術的發展,課程群建設密切結合嵌入式系統新技術發展的趨勢和方向,以基礎共性的新方法與新技術為切入點,將嵌入式新方法與新技術的前瞻性知識引入課程群理論教學中。我們在理論課程中先后引入微控制器、可編程計算、多核和虛擬化等知識;通過案例分析和應用系統設計,將Intel處理器技術融入現有軟硬件課程體系中;嵌入式Linux操作系統課程內容增加Android知識等。
要保證專業知識與技術發展及應用同步,就要與時俱進地將學科研究的新成果引入課程群,及時更新課程群的教學內容。我們高度重視課程群實踐教學環節,改革實踐教學的內容和形式,逐步增加綜合性、設計性和創新性實踐,創造條件讓學生參與科研活動,以提高學生的創新實踐能力。
及時修訂和調整培養方案,使課程群教學內容始終保持其先進性和適應性,能夠反映嵌入式系統領域的最新研究成果和發展趨勢,借鑒國內外嵌入式系統教學的先進理念和教學成果,改革創新,提高教學質量。
3.2 強化能力培養,優化教學方法及手段
嵌入式系統課程教學如果繼續采用傳統教學方式,已不能適應現代教學要求。嵌入式系統課程群改革圍繞創新教學理念,課程群教學團隊嘗試采用多元化教學手段,注重使用先進的教學方法和手段,不斷提高教學質量,堅持學科優勢,強化特色教學,保持并改進具有特色的教學模式、教學方法及教學手段,結合素質教育和人文教育,探索適合嵌入式課程群的創新教學模式。我們采用啟發式教學,充分開發學生智力,啟迪學生智慧,激發學生的創新思維;采用任務驅動教學,可以提高學生工程實踐能力和應用能力;依托學科競賽和科學研究,促進課程群教學改革。通過產、學、研合作培養創新型人才,廣泛開展學科競賽活動、學生科研訓練和科技活動,積極引導學生參加研究實踐活動,促進教學與實踐的緊密結合。
3.3 改革評價方式,考核教學效果
課程考核是檢查和評價教與學效果的主要手段,是對學生的知識掌握程度、綜合能力和創新能力培養等方面進行的綜合評定。我們通過課程考核,及時反饋評價結果,跟蹤分析教學中存在的問題,通過創新課程群教學模式,改進、調整課程群教學方式,更好地提高教學效果。課程考核的另外一個作用是在一定程度上引導了課程群教學改革。
課程群評價體系設計遵循多元化考核、考核辦法全程化、考核方式多樣化、考核內容綜合化、考核成績合理化、考核反饋經?;?、建立考核反饋機制等原則。
課程群的考核評價體系包括3個方面的評價:
(1)教師教學過程評價(40%):包括以下考核內容:出勤占10%,網上自主學習記錄、課堂討論、課外書面作業、隨堂測試和學期小組活動5項,每項占6%。
(2)實踐教學考核(30%):實踐教學劃分為3層次,包括基礎實踐層、綜合實踐層和創新實踐層,每層次實踐教學的評定占10%。
(3)期末試卷測試(30%):期末測試采取定量評價和教師評價的方式,具有較強的操作性和實用性,占30%。
3.4 注重隊伍建設,提高育人水平
課程群建設的主體是教師,教師是教學活動的組織者,學校的教學質量主要取決于教師的教學水平和科研水平。師資隊伍是課程群建設的基本保證,師資隊伍應該具有對課程群內容進行融合的能力,這要求教師要掌握課程群的多門課程內容,這樣才能做好課程群內容的融合,參加課程群建設的教師需要通過各種方式提高素質,從而加強師資隊伍的整體建設,促進課程群的建設。
教學團隊的建設應圍繞課程群進行,通過引進、進修培養等手段,構建年齡、職稱、學緣等結構合理,具有較高的理論素養和科研能力的課程群教學團隊。課程群建設需要不斷調整優化教學隊伍,逐步形成教學與科研的良性互動局面。
4 結 語
經過多年的改革創新與實踐,從單一課程到課程群建設的發展,課程群知識結構從廣度到深度上都有創新,課程間的教學內容銜接趨向合理,去除冗余知識,增加新的知識;通過強化課程之間的聯系,完成課程內容的融合與分解、整合優化,構建基于精品課嵌入式Linux操作系統的嵌入式課程群教學體系結構。
參考文獻:
[1] 何立民. 嵌入式系統的定義與發展歷史[J].單片機與嵌入式系統應用, 2004(1): 6-8.
[2] 范守信. 試析高校課程群建設[J].揚州大學學報, 2003(9): 25-27.
[3] 鄭廣海, 曲英偉.“嵌入式Linux操作系統及實踐”課程改革[J]. 計算機教育, 2012(4): 37-40.
[4] 宋躍, 譚愛群.構建三位一體的教學體系, 提高學生的實踐創新能力[J]. 實驗技術與管理, 2010, 27(3): 15-18.
[5] 肖利, 曹麗華, 劉梅. 創建新型實驗室, 培養創新人才[J]. 實驗技術與管理, 2007, 20(10): 13-14.
[6] 賈曉輝. 軟件工程專業實訓基地的建設與實踐[J]. 計算機教育, 2009(8): 116-117.
[7] 韓玉民. 高職軟件類學生校外畢業實訓管理的探索與實踐[J]. 計算機教育, 2010(1): 83-85.
[8] 陸為群. 高師院校課程群建設的原則和策略[J]. 黑龍江高教研究, 2007(11) : 110-112.
篇5
本文提出了實踐性教學活動的基本思想-加深理解理論原理,與工程實踐相結合,提高學生動手能力,培養創新能力,針對嵌入式系統安排了實驗課程項目,提出以學生為主體,教師僅起引導作用的實踐課程的組織方式,以綜合性項目設計為主的開放式考核方法。
關鍵詞:實踐性教學活動;綜合性項目設計;開放式考核
【中圖分類號】G640
1、實踐教學活動的設計思想
實踐教學內容本著“加深理解理論原理,與工程實踐相結合,提高學生動手能力,培養創新能力”設計思想進行編排,提高研究性、探索性、綜合性實驗的比例,要求學生在教師的指導下通過查閱文獻資料,自主設計實驗方案,掌握相關知識。實驗過程知識結構如圖1所示。
圖1 實驗過程知識結構示意圖
2、實驗項目
嵌入式系統實驗是嵌入式系統課程的重要組成部分,它在培養學生掌握實驗技能、強化概念、提高觀察、分析和解決問題的能力方面具有獨到之處。實驗類型分為基礎實驗、綜合性實驗和創新實驗三類。
表1 實驗項目分類表
實驗項目 描述 基礎實驗 選作實驗 創新實驗
嵌入式開發環境的建立 交叉開發環境的建立(包括宿主平臺及目標平臺的軟硬件配置,軟件工具的安裝配置,硬件線路的布局與物流連接,邏輯連接等),掌握開發工具的基本使用,熟悉嵌入式軟件運行的載體嵌入式目標平臺 √
嵌入式微處理器基礎實驗 包括匯編指令實驗、C語言程序實驗及C語言調用匯編實驗、GPIO輸入/輸出實驗、存儲器讀寫實驗、中斷實驗、定時器實驗、脈寬調制PWM實驗、 模擬比較器、看門狗實驗、ADC數據采集實驗 √
嵌入式微處理器通信總線實驗 UART異步通信實驗、互聯IC總線實驗、同步串口通信實驗、CAN現場總線實驗、以太網通信實驗 √
嵌入式操作系統應用基礎實驗 嵌入式操作系統uC/OS操作系統的基本管理功能的驗證性實驗,包括任務管理、任務的設計、信號量機制、消息隊列、優先級反轉及解決策略、動態內存管理等,要求學生掌握嵌入式系統操作系統的基本原理、特點與使用方法 √
嵌入式系統硬件驅動開發實驗 開發板初始化、系統自舉(BOOT LODER)、人機接口驅動(鍵盤、LED顯示、LCD顯示)、音頻視頻接口、PWM電機控制等 √
嵌入式系統軟件驅動開發實驗 源代碼開放操作系統(uC/OS-II)的移植實驗、移植操作系統到LM3S8962 √
嵌入式操作系統應用綜合實驗 電腦自動打鈴器設計與實現、基于CAN現場總線的數據采集模塊以太網數據采集模塊 √
嵌入式系統中間件應用實驗 ZLG/GUI(圖形用戶界面)開發應用實驗 √
嵌入式系統綜合設計開發實驗 基于開源軟件的應用軟件架構設計與實踐、逆變電源制作、IEEE國際電腦鼠跑迷宮競賽、“飛思卡爾”杯全國大學生智能車競賽等 √
3、實踐時間和方式
上述實踐內容由簡單到復雜,僅靠課內時間難以完全實現。本著“充分發揮個人的學習潛力,目標動態差異化管理,讓優秀的學生脫穎而出”的理念,實踐課分為四個階段,即實驗課階段、課外實驗階段、課程設計階段和項目綜合實訓階段。
4、實踐課程組織形式
在整個實踐教學過程中,以學生為主體,教師僅起引導作用,教師通過和企業聯系與企方工程師共同提出研究的課題和方向,教師提供大量的信息資源(包括網上的和教職工共同采集的),指導學生做出自己的決定并保持足夠的目標持續學習。鼓勵學生提出問題、思考問題、解決問題。實踐課程組織形式如圖2所示。
圖2 實踐課程組織形式示意圖
5、教師指導方法
⑴常規的理論驗證和設備操作實驗,提供1臺/1~2人的操作儀器在教師的引導下進行實驗。
⑵對實驗難度較大的實驗,教師進行實驗難點講解,學生以3人小組共同討論,使用網絡資源進行e-learning學習,打破了傳統學習模式的時空界限,動手實驗,自己做決定;在教師的指導下制定工作計劃,以保證學生能夠順利地完成實踐項目。
⑶設計性和創新實驗,預先將實驗題目告訴學生,要求學生查閱資料,根據所學的理論知識,寫出實驗原理,設計出具體的實驗步驟,然后和教師一同討論、分析,使學生的綜合分析能力得到提高。
⑷創新實踐的指導方式采用教師講解和啟發式討論相結合的教學方式,盡量做到理論聯系實際,教會他們解決問題的方法,幫助他們在出現分歧時加強溝通,融知識傳授、能力培養、素質教育于一體,激發學生的學習熱情和主動探索的愿望。
6、考試方法與考核內容
傳統實踐教學模式的考試方式還是停留在紙張上,可以說是“一紙定成績,一紙定能力”的不合理方式。助長死記硬背的應試教育模式,不能夠準確反映學生的應用知識和解決實際問題的能力。本門課程的實踐教學考試方式根據需要進行了全面改革,以綜合性項目設計為主的開放式考核方法,考核內容包括“設計、制作、編程、調試與文檔寫作”等,學生通過考核就相當于參與了一個項目的研發過程。這樣的考核方法既鍛煉了學生的技術水平與多方面的能力,又起到融會貫通所學知識的作用。
開放式考核是衡量學生能力的好方式,學生不需要死記硬背,注重知識應用與分析、解決問題的能力,因此考試不再是單純的考試,它也是綜合應用的學習過程,促進了學生的能力培養。通過分析考試結果不僅較準確的反映了學生的應用知識和解決實際問題的能力,也反饋教師的教學效果與不足,達到以考促學、以考促教的目的??荚嚱M織形式見圖3 。
圖3 開放式考試組織形式圖
7、實踐教學活動的教學效果
篇6
嵌入式系統的研究內容較為寬泛,其中主要包括嵌入式硬件設計和軟件設計。嵌入式軟、硬件設計的教學內容的選取原則應是適合本科生學習、與課程學時匹配、并具有較好的課堂展示效果。因此嵌入式課程教學內容的合理選取對課程授課效率和學生的學習效果起著至關重要的作用。
(一)嵌入式系統課程硬件設計教學內容的選取
嵌入式系統硬件是嵌入式系統的重要組成部分,是嵌入式系統與實際環境交互的載體,其性能的優劣直接影響嵌入式系統的可靠性和實時性,決定嵌入式系統設計的成敗,因此硬件設計在嵌入式系統設計中處于十分重要位置。在嵌入式硬件教學中,嵌入式課程的首先需要向學生介紹嵌入式系統的硬件在系統中的作用,并以日常生活中常見的嵌入式系統設備為例(例如手機、MP3播放器等等)直觀的講解嵌入式系統硬件結構,幫助學生建立嵌入式硬件系統的基本概念。在此基礎上,嵌入式系統課程應著重講授嵌入式系統硬件體系結構,從硬件體系結構的三個層次給學生講解嵌入式系統硬件設計。
1.嵌入式處理器,它是嵌入式系統的核心部件,負責整個嵌入式系統的運行。嵌入式處理器選型原則是硬件設計的重要教學內容之一,嵌入式系統課程應能引導學生了解處理器選型時應考慮的因素,如處理器性能、價格以及可獲得的技術支持等等,培養學生根據種嵌入式處理器的特點和實際工程需要對處理器選型能力[3],為其后續嵌入式硬件設計的學習奠定基礎。
2.嵌入式系統的電路,主要包括嵌入式系統存儲器、時鐘電路、數據端口、復位電路和系統電源電路等等,其中,時鐘電路、復位電路和系統電源電路為嵌入式系統最基本單元,具有這三個基本單元和處理器單元的系統即可正常工作,也稱其為嵌入式最小系統。嵌入式課程應能幫助學生了解嵌入式系統電路種類、功能及其設計方法,建立嵌入式最小系統的概念。
3.嵌入式系統外部設備,主要是指嵌入式系統與真實環境交互的各種設備,包括外存儲設備(如FlashCard)、IO設備(如鍵盤、鼠標等)、打印設備(如打印機)。在學生了解嵌入式系統硬件的三個層次的基礎上,嵌入式課程應選擇一款適合課堂教學的處理器,并具體的講解嵌入式硬件的各個電路的設計內容、設計方法和設計目標。嵌入式課程硬件教學在選擇處理器作為授課和研究對象時,應該考慮應用廣泛且學習難度較低的嵌入式微控制器。在眾多的嵌入式微處理器中,ST公司于2011年推出的基于Cortex-M4內核的STM32F104微處理器具有廣闊的市場應用前景,廣泛應用于工業控制、多媒體、精密儀器、家電等各個領域,STM32F104微處理器對于初學者來說具有開發簡單、直觀并且可獲取豐富的網絡支持的特點,因此本文以基于STM32F104微處理器的嵌入式系統為課程硬件教學內容,介紹STM32F104微處理器的主要特性,如處理的主頻、字長等,并以框圖形式介紹STM32F104微處理器的內部結構和片上的各個功能模塊,如片上內存、片上AD和DA轉換器、各種通信接口等。同時,任課教師應指導學生如何閱讀芯片的英文數據手冊,掌握英文數據手冊的章節安排和閱讀方法,提高學生英文文獻的閱讀水平,并能從中快速獲取芯片的主要性能指標。在嵌入式系統電路設計教學中,嵌入式課程必須著重強調系統的電源電路設計、復位電路設計以及時鐘電路設計。
嵌入式電源電路設計教學主要向學生介紹電源電路的兩種類型,即線性電源和開關電源,以及兩種電源電路的拓撲結構、工作原理和各自特點以及應用場合,并在此基礎上向學生介紹2~3種常用的電源控制芯片,如線性電源常采用LM7805、AMS1117-3.3等線性穩壓芯片,開關電源則常采用LM2596、MP2359等開關電源芯片,簡單介紹各個電源芯片的主要參數,如輸入電壓范圍、輸出電流等參數等。嵌入式系統時鐘電路設計的課程教學主要向學生介紹兩種類型的時鐘電路,即無源晶體和有源晶振電路,講解這兩種類型時鐘的特點和應用場合以及時鐘電路設計的注意的事項,并用多媒體給出兩種類型電路結構,向學生分析電路中各個元件的作用。嵌入式系統復位電路教學需向學生介紹兩種類型的嵌入式復位電路,即阻容式復位和專用復位芯片復位,介紹兩種電路的特點,同時介紹幾款常用的專用復位芯片(如MAX811),讓學生掌握嵌入式系統復位電路的設計方法。如果說嵌入式處理器是嵌入式系統的大腦,那么嵌入式系統的IO設備是嵌入式系統的四肢,是和現實世界交互的設備,嵌入式系統IO設備的教學需引導學生建立嵌入式系統中IO設備的概念,并舉例說明嵌入式系統常用的一些IO設備,如嵌入式顯示屏、鍵盤、打印機等。在IO設備的教學中,課程應首先介紹IO設備與嵌入式處理器的接口技術,分別介紹并行接口和串行接口,指導學生學習接口類型,并根據實際工程需要選擇不同接口類型的IO設備,同時引導學生掌握各種接口的時序,并能夠熟悉幾種常用的接口類型,如I2C、Intel式并行口、SPI等接口以及各種接口的數據傳輸速率和物理接線數目等。
(二)嵌入式課程軟件設計教學內容的選取
嵌入式軟件是嵌入式系統的靈魂,與嵌入式硬件一起作為嵌入式設計的核心內容,因此,嵌入式系統軟件設計是嵌入式課程授課的重要內容之一。嵌入式軟件教學應注重培養學生的嵌入式軟件開發能力,向學生講解嵌入式系統的軟件體系結構,即嵌入式軟件可分為應用程序、應用程序接口、嵌入式操作系統、硬件設備驅動程序,加強學生對各個軟件層次的把握。嵌入式軟件設計授課需要向學生講授各軟件層的功能與特點、嵌入式軟件開發所需要具備的先行課程知識,明確嵌入式實時操作系統是嵌入式軟件的核心,引導學生根據嵌入式系統的軟件體系結構學會軟件設計的分工。嵌入式課程應能夠向學生介紹幾種目前較為流行的嵌入式操作系統,讓學生對目前常用的嵌入式操作系統的發展狀況及其主要特點有所了解。目前,嵌入式實時操作系統可分為兩種類型,即商用型和免費型,商用型操作系統有Vxworks、Wince、PalmOS等,商用型操作系統功能穩定、可靠,有完善的技術支持和售后服務,但是價格昂貴;免費型操作系統在價格方面具有較大的優勢,主要以Linux為代表,嵌入式系統課程應要求學生能夠熟悉并掌握一種嵌入式操作系統的基本原理和使用方法。
μC/OS-II嵌入式操作系統是一種規模較小和源碼開放的嵌入式操作系統,比較適合初學者學習和課堂教學,特別是學生在具備μC/OS-II操作系統基礎和學習經驗之后,再學習某些大型的操作系統(如嵌入式Linux)則可大大提高學習效率并獲得較好的學習效果,因此本文選取μC/OS-II操作系統作為嵌入式操作系統的授課內容和研究對象,并以μC/OS-II操作系統為例講授基于嵌入式系統的應用程序開發、驅動程序開發以及圖形用戶接口的使用方法。同時,嵌入式軟件教學需向學生介紹嵌入式軟件開發工具和開發平臺,其中主要介紹交叉開發系統調試結構和使用方法。嵌入式交叉開發系統由宿主機系統、通信系統和目標機系統構成[4],嵌入式課程教學需要幫助學生直觀的了解嵌入式軟件開發的工作形式、嵌入式軟件開發需要具備哪些條件和做哪些準備工作。同時,嵌入式課程需要向學生講解1~2種嵌入式微處理器的上位機開發軟件,目前STM32F104微處理器的軟件開發普遍采用KeilμVision開發軟件以及JLINK仿真器,則嵌入式課程需要向學生介紹KeilμVision開發環境設置方法、工程項目的建立方法、JLINK仿真器硬件連接方式以及驅動程序安裝方法,使得學生能夠自主構建基于STM32F104微處理器的嵌入式系統軟、硬件開發平臺,并能在此開發平臺上新建工程項目、下載程序、仿真運行、斷點跟蹤調試等。
二、嵌入式系統教學方式的優化
在嵌入式系統教學過程中,任課教師必須研究和制定一套有效的教學方式,合理安排課程授課內容順序,注重知識的承前啟后,對嵌入式系統的一些先行課的相關章節知識點需要進行必要的復習,比如在硬件設計中,需復習模擬電路、數字電路、微機原理及接口技術等課程的相關知識點,在嵌入式軟件設計教學中,需復習C語言程序設計、操作系統、數據結構等課程,為嵌入式系統課程作必要的準備。
(一)嵌入式課程硬件設計教學方式改革
嵌入式硬件設計教學中,任課教師可在課堂上準備一些實驗設備[5],將軟、硬件實驗直接融合到理論課程的教學中,在課堂上首先向學生展示一塊嵌入式系統硬件電路板,如STM32F104應用開發電路板,讓學生近距離觀察電路結構和板上的各種元器件,并作簡要介紹,使得學生能夠直觀的認識嵌入式系統硬件電路,然后以提問的方式引導學生對電路圖如何設計和生成產生興趣,授課教師此時可介紹嵌入式硬件設計步驟以及電路設計的相關軟件,讓學生了解嵌入式硬件原理圖和印制電路板圖(PCB圖)設計過程和設計方法。在此基礎上,授課教師在課堂上以一個簡單的嵌入式電路系統為例,現場安裝Protel電路圖繪制軟件,講解并演示電路原理圖和PCB圖的繪制步驟和方法。在電路圖設計的演示之后,授課教師應給學生講解硬件電路的調試過程和調試方法,讓學生掌握嵌入式電源電路、時鐘電路、接口電路的調試方法,并在課堂上現場演示硬件調試,最后以處理器的一個IO接口控制的LED燈閃爍為例,編寫LED燈閃爍的例程,讓學生直觀的把握嵌入式系統調試方法。
(二)嵌入式課程軟件設計教學方式優化
嵌入式軟件教學的主要內容是嵌入式操作系統的移植方法、使用方法和應用程序編寫。授課教師在講解嵌入式操作系統的使用方法時,可在課堂上利用多媒體教學手段基于μC/OS-II的操作系統編寫應用程序,在操作系統的每個任務的主循環中添加斷點,讓學生直觀的感受操作系統多任務切換機制,并以一個簡單的軟件例程,要求學生現場進行構思,開展廣泛的交流,然后將學生構思的各種方案在多媒體上進行現場編程實現、輸出結果,讓學生對自己方案的正確性、合理性有直觀的認識和理解,并促使其對方案進行修正,以使學生迅速掌握μC/OS-II的操作系統的使用方法和應用程序設計方法。
三、嵌入式系統實驗和實踐教學的優化
實驗教學和實踐教學是教學過程中重要環節,可提高學生對理論知識的理解和把握,培養學生工程實踐能力、獨立思考解決問題的能力。學生可以通過實驗來驗證理論課程知識,對于課堂上的例程,學生可以通過自己的學習和理解對其進行修改,然后進行實驗,驗證其修改正確與否,這是一種極其有效的學習方法。嵌入式系統課程設計是嵌入式系統課程的工程實踐環節,旨在訓練學生的動手實踐能力和培養學生的方案論證能力、工程項目設計和開發能力,適應學生就業和社會需求。
(一)嵌入式課程實驗教學
嵌入式實驗教學需要向學生詳細介紹實驗系統的拓撲結構、電原理圖和系統的軟件開發環境,并以一個簡單的例程引導學生熟悉和如何使用實驗系統的硬件電路和軟件開發環境以及實驗操作步驟。實驗課程的章節內容安排應遵循由簡入繁的原則,明確實驗方法、實驗步驟和實驗目的,引導學生從一個簡單的IO端口控制LED燈閃爍的例程開始學習,完成從新建工程、編寫程序、下載程序調試、觀看實驗結果的實驗過程,再以2~3個難度逐步增加的實驗,明確實驗目標(即實驗成功后應看到的實驗現象),激發學生的學習和動手實驗的興趣。學生在實驗期間遇到問題,指導教師應積極引導學生檢查問題并解決問題,而并非直接告訴學生答案,培養學生獨立思考和解決問題的能力。在學生正確完成實驗后,指導教師應積極鼓勵學生采用多種不同的軟件算法完成同一個實驗,提高學生的編程能力和拓寬學生的視野。在完成實驗的基礎上,指導教師應鼓勵學生在現有實驗系統的基礎上開發一些簡單的電子設備,如數字電子鐘、數字溫度計、計算器等,讓學生切身的感受到嵌入式技術的廣泛用途。
(二)嵌入式課程設計教學
嵌入式系統作為一門應用性很強的課程,進行項目化教學是課程設計教學改革的必由之路[6]。本文采用項目開發為驅動的課程設計形式,引導學生自主學習嵌入式硬件設計、操作系統移植、驅動設計、應用程序設計,以一個完整的項目開發作為課程設計任務,讓學生全面掌握嵌入式系統設計的全部過程,鞏固所學的理論知識。在課程設計選題方面,指導教師可提供一定數量設計課題,設計課題需具備較高的綜合性和可行性,難度適中,要能夠達到訓練學生嵌入式方案論證能力和軟、硬件設計能力的目的。學生也可根據自身的知識特點擬定課題,經指導教師審核修改后進行課程設計,同樣,自擬課題也要達到綜合訓練的目的。課程設計的選題和實施應能培養學生的嵌入式方案論證和制定項目具體實施計劃的能力,規范學生的嵌入式項目開發方法和開發步驟。在嵌入式系統課程設計結束后,學校應提倡以學院為單位組織嵌入式系統設計大賽,進一步鍛煉學生嵌入式工程實踐能力,達到學以致用的目的。
四、結論
篇7
隨著技術的快速發展和對嵌入式行業人才的持續需求,各個高等院校紛紛開設了嵌入式相關課程,然而在培養目標、課程設置、教學方法等教學關鍵因素中均存在若干問題。現將本人在計算機科學與技術專業嵌入式方法教學過程中存在的問題提出自己的一些想法。
1. 市場人才要求和高校畢業生素質之間的差異。目前,智能化計算機領域就業市場對嵌入式從業人員的需求持續高漲,然而從高校畢業的嵌入式專業或方法的大學生中卻難以真正達到嵌入式從業人員標準,甚至多數畢業生并不具備從事嵌入式開發工作的能力,即便企業錄用的專業畢業生,也通常需要對其進行一段相當長時間的再培訓。市場人才要求和高等畢業生素質之間的矛盾日益突出。
2.重理論講述而輕實踐環節訓練。據了解,我國大多數院校的嵌入式系統本科教育仍采用以理論為主,實驗為輔的教學模式。多數學校的理論課時與實驗課時的比例為3∶1或2∶1,能達到1∶1的情況很少;一般以實驗室提供的嵌入式系統實驗箱配套實驗為基礎,教師在實驗中往往選用的是基礎側重驗證性實驗,選用的復雜和高級實驗較少。
我校是在計算機科學與技術開設嵌入式方向,其作為專業方向課開設在大學三年級,前修課程為《程序設計基礎》、《計算機操作系統》、《計算機組成原理》、《數字邏輯》等課程。眾所周知,嵌入式方向所涉及的實驗都是以系統層面為基礎,每個實驗均需要投入較多時間來完成,因此實驗學時需求較大,而從整體課程體系來看,確實存在理論部分內容占用較多學時的問題,目前,我校在課程設置中理論學時較小,加大了實驗學時的比重,然而實驗學時如何有效使用以及如何對實踐環節進行外延,這是擺在我們面前一個嚴峻的問題。3.缺乏與企業和公司的合作。除了必要的相關課程實驗項目,我們在教學過程中,發現有些實驗項目與公司企業的需求有一定差異,其一,實驗項目內容和市場整個行業發展之間的不協調,使得嵌入式課程的實踐教學跟市場有所脫節;其二,嵌入式方向課程綜合性的特征使得實驗項目的實施必須得到必要的資金支持。否則在校學生接觸市場的機會減少,使得嵌入式課程的實踐教學缺乏必要的直觀性,制約學生學習的積極性。
地方院??梢园l揮其辦學特點,和當地相關產業緊密聯系,通過校企合作,由教師審核指導,學生動手,開展校企合作項目,這也是培養應用型人才的重要途徑之一。
二、嵌入式課程體系教學設置
1.嵌入式課程特點。我校計算機科學與技術專業嵌入式方向的學生側重從事嵌入式操作系統和應用軟件的開發。我們在實際的教學過程中發現嵌入式系統開發和一般的PC機開發具有明顯的差異。首先,嵌入式系統的開發往往需要根據用戶的需求進行定制,而不是通用操作,開發人員必須具備完善的知識體系;其次,嵌入式系統開發的工程性,嵌入式系統開發往往都是一個體積非常小的部件,CPU通常不采用Intelx86系列,開發工具也是專用的開發板。學生如果不通過實際動手開發一個系統模塊,就很難了解嵌入式開發的基本過程,因此,實際動手能力是嵌入式課程最顯著的特點。
2.我校嵌入式課程體系設置。嵌入式課程的特點使得學生必須有較完整的知識結構,因此,嵌入式課程體系的設置尤為重要,表1是我校嵌入式課程內容及時間設置情況。
表1顯示,我校計算機科學與技術專業嵌入式方向專業課程從第二學年第4學期開始,從系統開發基本概念以及開發平臺出發,依次對嵌入式操作系統Linux、嵌入式程序設計基礎以及Java程序設計基礎進行深入講解,最后對嵌入式接口技術以及高級編程展開講解,第四學年兩個學期分別對專業實習和畢業實習進行持續性的工程化實踐教學。
三、教學改革措施與創新實踐
1.注重培養創新能力。嵌入式系統的開發依托產品和市場,而設計的創新性決定了系統的價值,因此,如何通過課程加強學生創新素質培養是我們面臨的難題。我們在教學過程中的措施如下:理論學時僅概要講解基本原理和方法,要求學生充分利用課外時間,查閱各種文獻資料進一步學習,學生可以根據個人興趣有選擇地對某些問題進行深入的分析研究,環境搭建以及技術要點則通過實驗學時完成;將學生兩人一組,要求每組必須選取至少一個實驗模塊,小組內進行任務分工,對實驗模塊所涉及的知識點以及代碼編寫,甚至存在的問題等,在實驗學時容許的范圍內進行全班范圍內講解,任務在學期初就進行認領,提前布置給學生,使學生有充分時間準備,將被動接受知識的灌輸轉變為主動探索思考,鼓勵學生對實例所采用的技術和方案進行不同角度的評價,深入研究實際系統,任課教師也對分組學生的任務完成給予一定的評價和考核,提高學生的學習能動性;利用實驗學時6學時的綜合開放實驗,任課教師鼓勵和引導學生積極提出自己的設計思想,并且注重設計的原創性。2.以生命期為線,規劃教學體系。完整的知識結構離不開完善的嵌入式系統開發生命期的教學體系,因此嵌入式教學體系按照從下往上,從硬件到軟件,從平臺到應用的“三步走”思路,將嵌入式系統開發的生命周期和課程設置進行對應:①嵌入式開發環境的建立,對應課程《嵌入式軟件開發導論》、《嵌入式接
口技術》,著重開發平臺的了解和認識,交叉編譯、仿真開發環境的搭建和使用方法的掌握,這不但是嵌入式系統開發的基礎,也是實際工程項目的開始。②基于嵌入式操作系統的軟件開發,對應課程《嵌入式操作系統》、《嵌入式程序設計基礎》,包括應用開發和核心編寫代碼,是實際工程項目中的應用程序設計的基礎。③嵌入式綜合應用的開發,對應課程《嵌入式高級編程》、《Java程序設計》,包括農業移動多媒體、農業生產嵌入式圖形應用、智能農業等復雜的復合型應用的開發,直接面向實際工程項目。 這完整的嵌入式課程實驗體系,不僅使得教師可以在各個層面對學生的實踐能力進行培養,并且可以幫助學生更清晰地理解嵌入式系統的全貌,對嵌入式系統有更加深入的認識。
3.強化實踐教學。教學內容以及硬件平臺是影響實踐教學的重要因素,也是強化實踐教學的兩個關鍵方面。我校教學平臺是購買市面上現成的通用型實驗開發箱,按照廠家提供的內容來授課,實驗課程初期,學生的實踐環節受限于教學內容和實驗設備,大多只能做些驗證性實驗,直接影響學生面對實際系統時的實際操作創新能力與后續開發實際動手能力,隨著課程體系的不斷完善,我校和廠家建立了一定的技術合作關系,在通用型的開發平臺的基礎上,自行改進設計成為適合本校學生使用的開發板,在實踐教學中,通用型和改進型開發板結合使用,達到了良好的教學效果。和廠家進行技術合作關系,我們收獲頗多。對實驗指導書的實驗要求進行一定的調整;減少驗證性實驗數量,增加了創新性實驗部分;基于現有的實驗教學平臺擴展一定的外部功能模塊。一系列的改進措施,不但貼近了我們的教學目標,而且更好地與實際[文秘站:]應用接軌。
篇8
【關鍵詞】Cyclone Ⅳ Qsys NiosII EP4CE22F17C8
Cyclone Ⅳ系列的FPGA以最低成本、最低功耗理念的基礎上推出的低成本、高容量的FPGAs,以滿足帶寬成本敏感性的市場需求。該系列有兩類芯片:Cyclone Ⅳ E和Cyclone Ⅳ GX,前者提供核電壓為1.0V和1.2V。Cyclone Ⅳ系列FPGA擁有6K-150K邏輯單元、最高至6.3Mb的內部存儲容量,其18*18乘法器數量最多可達360個;M9K存儲模塊可提供9kbit的嵌入式SRAM,并可配置為多個數據寬度的存儲模塊,如真實雙端口的×1、×2、×4、×8/9、×16/18;全局時鐘高達30個,8個PLLs連接5個輸出時鐘;該系列芯片支持SDR、DDR、DDR2 SDRAM、和QDRII SRAM,可以利用Memory Controller MegaCore function完成存儲器界面的設計。
封裝形式為FBGA的EP4CE22F17C8是Cyclone Ⅳ E系列的FPGAs嵌入式處理器,支持Rs OCT或單端口的Rs,可實現可編程的總線保持、上拉電阻、時延、速率轉換控制以優化信號完整性;其配置方式包括AS、AP、PS、FPP和JTAG,通過選擇EPCS和并行FLASH采取相應的配置數據方式,以實現上電數據自動加載;該芯片支持速率等級8。本文采用CycloneⅣ E系列的EP4CE22F17C8來實現無線輸液監控系統硬件設計,可實現多位輸液病人的監測與最低液位自動報警,以最大限度地實現輸液安全防護。
1 系統總體方案
本系統的總體框圖如圖1所示,主要包括液位監測、無線收發、編解碼電路和處理器及電路。當液位低于某個位置時,輸液監測電路驅動編碼器啟動無線發射器發射液位報警信號,接收端譯碼后送入處理器判斷輸液患者編號,啟動聲光報警。
2 基于EP4CE22F17C8 的IP CORE設計
2.1 基于NiosII/f的EP4CE22F17C8嵌入式處理器
本系統采用的處理器是Altera 公司提供的Cyclone IV E系列的EP4CE22F17C8,處理器模式為NiosII/f。該芯片具有22320個邏輯單元;擁有154個I/O接口和256個管腳,工作溫度0°C - 85°C;嵌入132個9 bit單元乘法器,擁有4個PLL和20個全局時鐘,其核工作電壓為1.2伏;擁有608256 bits存儲容量,packed mode的M9K存儲模塊可設計為最大數據寬度為18bits、單時鐘模式的兩個4.5K單端口模塊,其初始化方式為上電清零后再加載利用RAM MegaWizard Plug-In Manager設計完成的.mif文件以例化存儲模塊。
2.2 基于EP4CE22F17C8 IP CORE的設計
本系統的硬件電路設計需要添加以下IP Core:on-chip memory(RAM)、epcs serial flash controller、JTAG UART、system id、DDR SDRAM Controller with ALTMEMPHY、PIO等。
本系統所采用存儲器為DDR2 SDRAM,利用Qsys添加Avalon-MM slave Agent和Avalon-MM slave Translator構成slave網絡接口;利用MegaWizard Plug-in Manager完成DDR2 SDRAM Controller with ALTMEMPHY的接口設計以節省全局時鐘,并將存儲器DQS與控制接口的DQS相連。該設計采用的每個DQS為8比特DQ,DQ寬度為32比特,讀取頻率為133MHz,tRRD與tRTP設置為9ns,存儲器類型為JEDEC DDR2-533 512Mb x8,其原理圖如圖2所示。
3 基于EP4CE22F17C8實現輸液監測無線報警系統主要電路的設計
3.1 液位監測及無線報警系統的設計
本文采用利用TLV1701、SC5262和TDK5110F完成液位監測和無線系統的設計。以輸液編號為第15位說明硬件電路原理圖的設計,如圖3所示。當液位低于設定值時,紅外對管產生報警電壓經電壓比較器處理后,依據輸液病人編號借助SC5262進行編碼,通過TDK5100F調頻后發出射頻信號,實現液位監測報警。
3.2 液位監測無線解碼及報警電路設計
液位監測無線解碼及報警硬件電路設計基本原理圖如4所示,所采用的集成芯片為TDA5210和SC5272,其中TDA5210能與ASK接收器TDA5200兼容。其基本原理為:TDA5210將接受的射頻信號解調后送至SC5272,與EP4CE22F17C8處理器定時發送至SC5272地址入口的輸液編號對比,一致時,處理器針對該輸液編號發出液位報警提示信號。
4 結論
本文利用Cyclone Ⅳ E系列的FPGAs嵌入式處理器EP4CE22F17C8、以quartus13.0開發平臺、結合Qsys設計NIOSII及IP核、altium designer summer 9.0實現輸液監測無線報警系統的硬件電路設計。該電路將無線編解碼及無線射頻的設計思想與Cyclone嵌入式處理器完美結合,充分發揮了該處理器芯片的強大處理能力和靈活性,為其在智能領域的應用開闊了設計思路。
參考文獻
[1]周潤景等編著.基于Quartus II的FPGA/CPLD數字系統設計實例[M].北京:電子工業出版社,2013.
[2]黃平等編著.基于Quartus Ⅱ的FPGA/CPLD數字系統設計與應用[M].北京:電子工業出版社,2014.
[3]何賓著.Altium Designer13.0電路設計、仿真與驗證權威指南[M].北京:清華大學出版社,2014.
[4]馬臣崗,孟立凡.TDK5110與TDA5220的無線溫度采集系統[J].單片機與嵌入式系統應用,2010.
篇9
論文摘要:針對電子電信類專業的特點,制定了各個教學階段第二課堂活動的基本內容和實施方法,方便了指導教師從事第二課堂的指導活動;在各個教學階段實施第二課堂教學實踐活動,培養學生的創新能力。通過第二課堂實踐,我校電子電信類專業的學生對專業課的學習興趣不斷增加,學生的創新顯著提高。
第二課堂活動是指在完成專業人才培養方案中的課程和實踐環節之外,結合所學知識,在教師指導之下利用業余時問進行的科研和實踐活動。為提高學生的綜合素質和創新能力,促進學生個性發展,山東工商學院(以下簡稱“我?!?從2002年開始實施第二課堂與創新學分學校文件規定,實行學分制的本科學生在校期間必須取得第二課堂學分5分,否則不能畢業。
第二課堂與學生所學專業關系密切,學校文件只是給出了宏觀的要求,不可能具體到每個學科、每個專業的實施細節就電信類專業來說,專業的理論性強,且具有較強的實踐性第二課堂的重點是培養學生的實踐能力及創新能力。為了做好電信類專業的第二課堂與創新活動,我們按照教學過程的幾個不同階段,規定了第二課堂與創新活動的內容及評價方法。
一、基礎課學習階段的第二課堂活動
按照規定,學生在學習基礎學科和人文社會學科課程時可在教師指導下,利用業余時間開展課程內容專題討論、學術報告,并寫出書面總結,經任課教師考核,學生可以取得1到個第二課堂學分。
在基礎課學習階段,任課教師來自于兄弟院系,他們與學生所在院系沒有直接隸屬關系。學生所在院系無法直接給這些教師下達第二課堂活動的任務。為此,從2004年開始執行導師制度,即每個班級安排一名專業教師,負責指導該班級的第二課堂活動。
電子信息工程、電子信息科學與技術等專業的學生結合基本原理課程,完成了指導教師布置的用基本原理分析當前金融危機的題目。學生都能夠運用所學的知識,對這次金融危機爆發的原因進行深入細致的分析和解釋不但鞏固了所學知識,同時通過圖書、網絡等手段了解了當前經濟活動的熱點問題。
二、專業基礎課學習階段的第二課堂活動
在專業基礎課學習階段,學生可開展課外專題討論、寫讀書報告、組織課外科技活動小組等多種形式的活動,由教師考核每項活動可得l到2個該類學分。電信類專業的專業基礎課包含電路分析、模擬電子技術、數字電子技術及信號與線性系統分析等課程。模擬電子技術及數字電子技術課程均包含1周的課程設計,且授課學時較多。因此,我們結合電路分析、信號與線性系統分析這兩門課程,設置了課外討論題目。如線性系統的時域解法綜述(電路實例),通信系統頻分復用方式的頻域分析,系統的時域解法與變換域解法的比較等。要求寫出書面報告,由指導教師評分。
學生在學習信號與系統時,還未開通信原理課。要完成通信系統的頻域分析,要用到頻域分析的基本原理(信號的調制與解調、信號濾波),以及通信系統的頻分復用系統,后者指導教師可以做適當指導。通過這一題目,學生知道了頻域分析的用途,并對后續課程有一個大致的了解,激發其學習興趣。另外,開展專題演講活動也可作為這一階段的第二課堂活動。由學生自己選擇題目,并在課下準備材料,制作成幻燈片(限定時間為5分鐘);由指導教師組織在多媒體教室進行演講比賽,指導教師按照演講情況進行評分。這項活動,可以鍛煉學生的組織材料能力、多媒體課件制作能力及演講能力,能夠在工作中更好地表達自己的思路及方案。
三、專業課學習階段的第二課堂活動
在專業課學習階段,學生參加教師的科研課題,或由教師組織成立課外科技活動小組,完成一定的科研任務,并撰寫文獻綜述、生產現狀調查、研究論文、實驗設計等,由教師考核,每項活動可得l到2個該類學分。
在這一階段,學生已具備一定的專業知識和科技工作能力,但還不完善,需要在教師的指導下才能工作。學生參與第二課堂活動,可在教師指導下,完成某個項目的部分或全部工作,經歷科研及開發工作的整個過程,積累科研開發工作經驗。
電子設計大賽是第二課堂活動的重要內容。我校自電子信息工程專業成立至今,每年都組織學生參加兩年一度的全國大學生電子設計競賽及山東省大學生電子設計競賽。競賽的時間在每年的9月,我們在暑假前組織學生自愿報名,學生組隊參加,利用假期進行認真的理論與實踐方面的準備,學習單片機的編程技術,常用電子儀器的使用方法,電路圖的制版及元器件的焊接技術,以及各種傳感器電路及其應用。學生拿到競賽題目后能夠在規定時間內完成設計任務。參加過電子設計競賽的學生感慨地說,參賽過程學到的東西實在是太多了,好多都是教材中沒有的新技術。除此之外,提倡學生根據自己的興趣進行組合參加各種形式的電子競賽,如“ZLG杯”ARM嵌入式系統電子設計競賽,富士通微電子杯MB95200系列MCU競賽等。至今,我校學生已多次獲國家及山東省的獎項。
選拔有能力的學生參與教師的科研課題,這是第二課堂活動的另一項內容。學生到課題組后,教師為學生分配一定的任務并提供適當的條件,學生在教師指導下工作。例如,在嵌入式系統開發中,LCD顯示驅動子系統的開發,無線數據傳輸子系統的開發,這樣的小題目非常適合學生去完成。學生在課題組工作,不僅學到了知識,而且得到了在科研團隊中的工作經驗為今后從事科研工作打下了良好的基礎。
學生成立技術協會,也是第二課堂活動的內容。愛好電腦的學生參加電腦技術協會,"協會是學生人數較多的協會學生一起交流電腦裝機技術,系統維護技術,網頁制作技術等他們把所學到的知識,利用業余時間運用到為同學、教師的服務中。符合勤工儉學條件的,可以在相應部門的崗位上幫助教師做電腦維護工作,學校支付一定的報酬。另外,校外的小企業需要開發網頁,大的軟件公司不愿承擔過小的項目,這種網頁開發特別適合學生去做。通過這樣的開發過程,學生的網頁制作技術水平得到提高,并得到與企業打交道的經驗,還得到一定的報酬。
鼓勵學生學習嵌入式系統開發技術。雖然專業培養計劃中已開設單片機原理課程,但對電信類專業來說,只知道單片機是不夠的,還要進一步學習嵌入式系統技術。嵌入式開發系統品種繁多,各種單片機開發板,ARM開發系統價格僅幾百元,學生可以結合自己的興趣,自己購買開發學習板,利用業余時間學習。不少學生把嵌入式系統的開發作為畢業設計的題目,并取得了良好的成績。
四、總結
篇10
關鍵詞: 黑盒測試; 嵌入式系統; 程序流程圖; 插樁處理
中圖分類號: TN919?34 文獻標識碼: A 文章編號: 1004?373X(2016)21?0172?03
Design and implementation of embedded system platform based on black?box testing
HE Dandan
(Dalian Maritime University, Dalian 116026, China)
Abstract: Aiming at the design and implementation of the assembly language morphology and syntax analysis of the embedded system, the relationship between Lex and Yacc is put forward, and the two items are compiled with gcc command to form the synthesis analyzer. The synthesis analyzer can analyze the assembly language of 51 series. The static structure analysis method of the tested source program is proposed. The process of the program flow chart was established. The specific theories and service rules of the instrumentation processing and coverage rate analysis of the tested source program are emphasized, which provide a scientific method for black?box testing results.
Keywords: black?box testing; embedded system; program flow chart; instrumentation processing
0 引 言
黑盒測試是從用戶觀點出發的測試,依據需求功能說明書中的預期用途、定時和性能的要求,推斷測試結果。黑盒測試根據測試階段可分為單元測試、集成測試、確認測試、系統測試四個階段[1]。嵌入式計算機系統具有與傳統軟件測試不同的新特性,因此需要采取針對性的測試方法。通用的測試方法可分為靜態時間分析和動態時間分析。
1 嵌入式軟件測試的環境分析
在線仿真配備了CPU芯片接口,提供和應用程序交流信息橋,不足之處在于對硬件的依賴性較強,測試范圍較窄;目標機仿真測試結果真實,但由于實際運行中連接外部設備,很難辨識軟件和硬件錯誤。在實際測試中,根據測試效率、成本、可靠性、自動化程度等因素選擇測試環境[2]。
2 嵌入式測試系統的技術實現
CodeTest一方面吸取軟件插樁技術,另一方面從硬件測試那里吸取從總線獲取數據的技術,并進行升級改造。在硬件測試時,CodeTest選擇插入點的方式為主動獲取關鍵數據。和CodeTest相比,純軟件測試對目標測試的影響大大降低。因此選用Cereal仿真器。
嵌入式軟件測試系統由功能測試模塊、代碼測試模塊、數據分析和文檔報告模塊、通信接口轉換模塊組成。對于黑盒測試來說,功能測試模塊居主導地位,它主要通過接收目標系統輸出信號和需要的信號進行比對來判定目標系統在功能上是否達到最優[3]。
3 詞法語法分析的設計與實現
3.1 Lex?Yacc
Lex是檢測字符匹配性的詞法生成程序,Yacc是測定語法的生成程序。一個Lex程序由三段組成:首先是C和Lex定義;第二段是C代碼;第三段是C函數。一個Yacc程序也是由三段組成,分別是聲明、語法規則和C代碼。Lex同Yacc的工作原理如圖1所示。
3.2 Lex?Yacc之間的聯系
Lex程序用來計算數字字符串,能對各種符號進行識別,當插碼時可以以注釋的形式插入插樁代碼,等程序完成,可以自行取消代碼插樁,不影響整體進程。Yylval用來傳遞Lex與Yacc之間數字字符串轉化后的數值,利用lineno傳遞正在處理的代碼行號和標號。本次設計全程在Linux下,通過Lex編譯后生成詞法分析程序的C代碼,通過Yacc編譯后生成語法分析程序的C程序代碼。兩者通過gcc命令進行編譯形成綜合分析。最后運行該綜合分析器就可以對51系列的匯編語言進行分析[4?5]。
3.3 被測源程序靜態結構分析
Lex?Yacc工具對單文件逐行掃描,得出當前語句各類參數類型,不同參數類型分別進入不同的單鏈表中。其中除了順序單鏈表外,其他四種處理方式基本相同。待詞法、語法分析完畢,五個單鏈表中存儲了對應的匯編程序。因為單鏈表本身只是一個轉換器,無法顯示匯編程序之間的邏輯關系,所以需要對程序進行二次分析,確定所有邏輯關系。其中五個單鏈表形成的流程圖如圖2所示。
針對程序流程圖的建立,首先搜索匹配節點,根據節點不同進入相應分支處理。當前語句在順序節點,則進入順序處理模塊。從關鍵字“結束行號+1”開始遍歷單鏈表,存在兩種結果:一是算法出錯;另外一種就是在主程序中時則表明當前分支分析完成。接著要判斷條件跟蹤鏈表中的順序分支(規定為右分支)是否都已分析完畢。
4 覆蓋率分析及評測
4.1 被測源程序覆蓋率分析
虛擬插樁技術就是在匯編語言基本結構的特點上,在源程序的插樁點處設置斷點,在源程序執行到斷點處,響應斷點處指令,給出具體的PC地址,自動記錄并打印出來,接連下去形成PC值的數據鏈。通過查詢五類單鏈表與之建立對應關系,就可以獲得到源程序的真實運行軌跡,進而計算出各類覆蓋指標。
4.2 基于代碼的覆蓋評測
在仿真測試平臺原型系統上,基于代碼的覆蓋測試首先需要選定適合用作黑盒測試的子過程模塊。提取的子過程模塊必須具備獨立運行的能力,根據覆蓋測試的標準和要求對代碼邏輯結構進行認真分析,設計出多個測試用例,然后通過手工運行該子程序的方式,在某一特定測試用例驅動下運行,測定出運行路徑,通過計算得出兩種覆蓋率理論評測指標,與仿真測試平臺上實現的兩種覆蓋率相對比,得出覆蓋率分析法與虛擬插樁的正確性驗證結果。
5 嵌入式系統平臺設計
設計一個可以代替人工進行黑盒測試的平臺系統,見圖3,其基本原理是通過腳本語言記錄狀態信息,之后通過PC回放測試信息以判斷結果是否與記錄腳本一致,以此決定本次測試是否通過。為此,在編輯源代碼時就需要滿足錄制腳本和腳本回放兩個階段的需求。
5.1 插裝代碼分析
在PC上運行插裝系統最重要的原則就是要保證軟件原有功能的穩定性和完整性。因此在設計嵌入式系統的插裝代碼時不能改變程序的原有邏輯和原有執行流程,應盡量降低在嵌入式系統所占的資源,盡可能將部分功能和操作交付于PC進行。
嵌入式系統中的模擬用戶輸入模塊的主要功能是將計算機發送的命令進行分析,并將結果回復到處理模塊中,其操作模擬流程見圖4。
5.2 系統狀態的定義和獲取
(1) 聲音信息的獲取
嵌入式系統中對聲音信息的獲取主要是通過識別每個聲音惟一的ID編號和固定的音頻編碼進行的。工作時,由系統中的服務函數獲得ID聲音的音頻編碼并發送到PC中。
(2) 獲取LED信息
LED的運行方法和聲音相似,都有一套惟一的LED編碼,并由LED控制器控制。常用的設計方法是將LED中的編碼放到嵌入式系統中的緩沖區內,通過定時刷新函數提取LED信息[6]。
(3) 獲取LCD信息
由于LCD需要顯示的信息較多,且各消息屬性復雜,因此較難提取。目前常用的提取方法是點陣截取法和消息截取法。由于點陣截取法操作簡單、測試結果準確率高,因此本文使用點陣截取法獲取LCD信息。
(4) 系統狀態的獲取
主動請求和被動獲取是嵌入式系統獲取信息的主要方式。主動請求是指嵌入式系統在處理完PC發出的操作命令時,主動將搜集好的信息發送到PC上。被動獲取是指嵌入式系統并不主動發送檢測信息,而是當狀態出現時才決定是否繼續后續操作。
5.3 自動化比較和測試
軟件是否準確輸出結果,需要經過多次測試實際輸出和預期輸出的差別。本文在設計嵌入式系統時綜合考慮了一些智能比較思想來優化設計流程。由于實際的嵌入式系統會產生上百個復雜的狀態信息[7],為便于比較,本文采用了相對比較的辦法對錄制腳本時的狀態變遷進行比較。
最后設計完成的嵌入式系統需對腳本進行測試,這是交互式應用的重要組成部分。腳本測試的準確度主要依賴于所選用的測試工作和腳本技術。當前主要的腳本技術有共享腳本、數據驅動腳本、結構化腳本等。這些腳本都包括了三個命令,即人工操作命令、狀態檢查命令、邏輯控制命令。測試腳本主要就是對這三個命令進行檢查,其中在自動化檢測中采用何種腳本記錄測試結果可依據模塊要求進行選定。
6 結 語
黑盒測試技術的匯編語言測試系統用例研究在我國已經很多,本文最大的亮點是引入虛擬插樁技術,實現真正插樁,即在被測源程序的插樁點處設置中斷指令,當源程序運行到該點處時自動運行斷點指令,給出具體的PC地址,進而給出一系列地址數據,根據事先設定的用例判定運行效果,得出黑盒測試的正確驗證結果。此方法最大的優點在于高效、精確、成本較低,在實際運用中具有較高的實用價值。
參考文獻
[1] 孫昌愛,靳若明,劉超,等.實時嵌入式軟件的測試技術[J].小型微型計算機系統,2000,21(9):920?924.
[2] 杜曉東.面向嵌入式系統的測試工具研究[D].成都:電子科技大學,2003.
[3] 蘇銘,宋宗宇,王華.多計算機的自動插樁與監測系統[J].計算機工程與應用,2002(4):79?82.
[4] 楊作梅,張旭東.1ex與yacc[M].北京:電子工業出版社,2003.
[5] 鄧支益,何亦征,田翼.嵌入式軟件測試研究[J].航空電子技術,2003,34(1):37?42.