国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向應(yīng)用的智能專業(yè)嵌入式系統(tǒng)教學(xué)

2016-12-19 21:09付東翔陳瑋蔣念平傅迎華胡春燕
計算機(jī)教育 2016年10期
關(guān)鍵詞:嵌入式系統(tǒng)課程設(shè)計

付東翔+陳瑋+蔣念平+傅迎華+胡春燕

摘要:為了使智能本科專業(yè)的學(xué)生更好地掌握嵌入式系統(tǒng)硬件功能和結(jié)構(gòu)、操作系統(tǒng)和程序設(shè)計,針對本專業(yè)的應(yīng)用現(xiàn)狀,從教學(xué)內(nèi)容、理論與實驗內(nèi)容的安排、后續(xù)課程的銜接以及本科創(chuàng)新與創(chuàng)業(yè)項目申請、參加全國性大學(xué)生實踐大賽等幾個方面進(jìn)行分析和討論,以期通過本課程和后續(xù)銜接課程的設(shè)計學(xué)習(xí),學(xué)生能夠順利申請和完成本科創(chuàng)新與創(chuàng)業(yè)項目,為參加全國性大學(xué)生實踐大賽奠定堅實的基礎(chǔ)。

關(guān)鍵詞:智能科學(xué)與技術(shù);嵌入式系統(tǒng);課程設(shè)計

0引言

嵌入式系統(tǒng)是計算機(jī)、自動化、電氣等本科專業(yè)的核心專業(yè)課程之一,其內(nèi)容是在電工技術(shù)、模擬電子、數(shù)字電子、單片機(jī)技術(shù)和c語言程序設(shè)計等課程基礎(chǔ)上的更高層次的專業(yè)知識。當(dāng)前信息技術(shù)飛速發(fā)展,智能化的系統(tǒng)和設(shè)備不斷普及,從工業(yè)機(jī)器人到智能穿戴設(shè)備,所有這些技術(shù)的背后都有著嵌入式系統(tǒng)技術(shù)的支撐。

如何提高嵌入式系統(tǒng)的教學(xué)效果,使得學(xué)生能夠不但掌握基本原理,而且具備實踐動手能力;課程教學(xué)內(nèi)容如何與當(dāng)前嵌入式系統(tǒng)技術(shù)的發(fā)展與應(yīng)用水平保持一致等,是我們需要探討的問題。

1教學(xué)目標(biāo)定位

智能科學(xué)與技術(shù)專業(yè)作為計算機(jī)類下的專業(yè)之一,專業(yè)培養(yǎng)目標(biāo)定位于:注重智能科學(xué)與技術(shù)在智能檢測、智能識別、智能控制、智能管理、智能化儀表等方面的應(yīng)用技能,強化學(xué)生實驗、驗證、自主設(shè)計的能力Ⅲ。因此,教學(xué)內(nèi)容和實驗安排應(yīng)該圍繞掌握一個智能系統(tǒng)的硬件結(jié)構(gòu)、功能、系統(tǒng)軟件組成和原理以及應(yīng)用軟件設(shè)計展開。

2理論教學(xué)內(nèi)容

理論教學(xué)安排見表1。

2.1硬件系統(tǒng)。

以STM32的32位的ARM Cortex-M3內(nèi)核控制器為例講述嵌入式芯片的更新和發(fā)展。在2004年以后,ARM體系結(jié)構(gòu)發(fā)展到了ARMv7t,推出了全新的CortexTM系列,該系列有3個類型:Cortex-A、Cortex-R、Cortex-M。A系列為應(yīng)用處理器,面向豐富的操作系統(tǒng)平臺的設(shè)備和用戶應(yīng)用,主要為智能手機(jī)、移動計算平臺、數(shù)字電視、機(jī)頂盒和企業(yè)網(wǎng)絡(luò)和服務(wù)器等;R系列為嵌入式實時處理器,具有嚴(yán)格實時響應(yīng),目標(biāo)應(yīng)用包括醫(yī)療、工業(yè)和汽車等行業(yè)的可靠系統(tǒng)的嵌入式應(yīng)用;M系列為低成本低功耗的微控制器,面向智能測量、人機(jī)接口、大型家用電器等的應(yīng)用。因此CortexTM系列內(nèi)核芯片是目前的實際應(yīng)用主流。

基于當(dāng)前ARM的發(fā)展和應(yīng)用水平,選擇ARM Cortex-M3內(nèi)核的控制器為對象作為教學(xué)內(nèi)容,符合當(dāng)前最新的嵌入式硬件發(fā)展和應(yīng)用水平,ARM Cortex-M處理器是全球微控制器標(biāo)準(zhǔn),NXP(恩智浦)、STMIcroelectronics(意法半導(dǎo)體)、Texas Instruments(德州儀器)等著名半導(dǎo)體公司都推出相應(yīng)的產(chǎn)品,產(chǎn)品線豐富,目前市場上在售產(chǎn)品很多,價格便宜,實驗板和開發(fā)板等市場上很普遍。

通過Cortex-M3內(nèi)核的控制器學(xué)習(xí),學(xué)生更加清晰地認(rèn)識了ARM體系結(jié)構(gòu)。掌握了Cortex-M3就完全熟悉了Cortex-M系列,有了Cortex-M的基礎(chǔ),學(xué)生以后轉(zhuǎn)向Cortex-R和Cortex-A系列處理器的應(yīng)用和開發(fā)就變得容易了。

在介紹ARM體系結(jié)構(gòu)之后,著重介紹CortexTM系列,以ARM Cortex-M3內(nèi)核控制器為重點,以STM32的STM32F103為對象,對Cortex-M3內(nèi)核控制器的硬件片內(nèi)資源和功能予以介紹,STM32F103的片內(nèi)資源包括GPIO、A/D模數(shù)轉(zhuǎn)換、串口、USB、中斷、定時器等,這里以GPIO、A/D模數(shù)轉(zhuǎn)換、中斷和定時器的控制為主要內(nèi)容展開,STM32控制器的所有片內(nèi)外設(shè)控制和操作都以庫函數(shù)調(diào)用方法實現(xiàn)。具體如下:

(1)GPIO和通用I/O口。常用的操作函數(shù)有GPIO_Init()、GPIO ReadlnputDataBit()、GPIO ReadInputData()、GPIO-SetBits()等。

(2)ADC模擬量輸入和讀取。常用的函數(shù)有:ADC_Init()、ADC_RegularChannelConfig()、ADC_GetConversionValue()等。

(3)通用定時器TIM。由一組庫函數(shù)來設(shè)置和控制,包括TIM TimeBaseInit0、TIM_ETRClockMode 1 Config()、TIM SelectlnputTrigger()、TIM SelectInputTrigger()。

(4)外部中斷/事件控制器EXTI。由一組庫函數(shù)設(shè)置和控制,包括EXTI Initf)、EXTIGenerateSWInterrupt()、EXTI_ClearFlag()、EXTI_GetFlagStatus()。

由于學(xué)時有限,所有硬件的庫函數(shù)不可能在課堂上一一講解,以上述內(nèi)容為重點,詳細(xì)闡述和介紹這些常用硬件資源配置和控制功能的庫函數(shù)的定義和使用,同時強調(diào)所有的硬件配置和功能調(diào)用都是相同的形式,通過查詢庫函數(shù)手冊,能夠掌握所有硬件資源的配置和功能調(diào)用,觸類旁通。

2.2軟件系統(tǒng)

2.2.1嵌入式操作系統(tǒng)

μC/OS-Ⅱ操作系統(tǒng)的源代碼開放,內(nèi)核小、實時性好,能夠被移植到絕大多數(shù)的8位、16位、32位和64位微處理器/控制器上,基于μC/OS-Ⅱ的產(chǎn)品包括從自動控制到手持設(shè)備等各個應(yīng)用領(lǐng)域。教學(xué)內(nèi)容主要包括:①μC/OS-Ⅱ嵌入式實時系統(tǒng)內(nèi)核結(jié)構(gòu):多任務(wù)、任務(wù)調(diào)度、中斷與時間管理、μC/OS-Ⅱ的初始化和用戶創(chuàng)建;②μC/OS-Ⅱ的任務(wù)同步和通信:任務(wù)互斥與同步、任務(wù)間的通信、μC/OS-Ⅱ的任務(wù)通信機(jī)制。

1)μC/OS-Ⅱ系統(tǒng)任務(wù)與調(diào)度的主要內(nèi)容。

多任務(wù)與任務(wù)創(chuàng)建:μC/OS-Ⅱ采用多任務(wù)機(jī)制,最多可以運行64個任務(wù),每個任務(wù)對應(yīng)一個唯一的優(yōu)先級。與任務(wù)有關(guān)的系統(tǒng)服務(wù)函數(shù)有:創(chuàng)建任務(wù)OSTaskCreate()、OSTaskCreateExt();刪除一個任務(wù)OSTaskDel();改變優(yōu)先級OSTaskChangePrio();掛起一個任務(wù)OSTaskSuspend();恢復(fù)一個任務(wù)OSTaskResume()等。

對于gC/OS-Ⅱ系統(tǒng)中的任務(wù),共存在5種狀態(tài):睡眠狀態(tài)(DORMANT)、就緒狀態(tài)(READY)、運行狀態(tài)(RUNNING)、等待狀態(tài)(WAITING)和中斷服務(wù)狀態(tài)(ISR)。不同狀態(tài)之間的轉(zhuǎn)換關(guān)系如圖1所示。

任務(wù)控制塊OS_TCB是描述一個任務(wù)的核心數(shù)據(jù)結(jié)構(gòu),存放它的各種管理信息,包括任務(wù)堆棧指針,任務(wù)的狀態(tài)、優(yōu)先級,任務(wù)鏈表指針等。

各任務(wù)之間具有相互關(guān)聯(lián)性,需要通信機(jī)制來實現(xiàn)消息的傳遞。任務(wù)間的通信使用信號量、郵箱(消息郵箱)和消息隊列等方式來實現(xiàn),這些通信方式也稱為事件。

μC/OS-Ⅱ中與對信號量操作有關(guān)的函數(shù)共有5個:①OSSemCreate(),創(chuàng)建信號量;②OSSemPost(),發(fā)送信號量;③OSSemPend(),等待信號量;④OSSemAccept(),無等待的請求信號量;⑤ossemQuery(),查詢一個信號量當(dāng)前狀態(tài)。

2.2.2嵌入式應(yīng)用程序。

主要講述IAE軟件的C程序設(shè)計。IAR軟件是目前主流的嵌入式系統(tǒng)開發(fā)工具之一,支持幾乎所有的嵌入式處理界面功能和操作與其他主流軟件工具很

3實驗教學(xué)內(nèi)容

嵌入式系統(tǒng)課程實驗與單片機(jī)實驗的不同在于:①硬件功能的配置和控制通過寄存器編程實現(xiàn),硬件配置和控制庫函數(shù)數(shù)量眾多;②以μC/OS-Ⅱ系統(tǒng)下的應(yīng)用程序設(shè)計為主,強調(diào)操作系統(tǒng)多任務(wù)的創(chuàng)建、運行和任務(wù)間的通信等。因此,本課程實驗主要基于上述兩點展開,分為3部分內(nèi)容:

1)基本實驗,包括LED、LCD、ADC采樣等控制器基本功能。

重點實踐通過庫函數(shù)調(diào)用,在IAR環(huán)境下的對GPIO、ADC、定時器、中斷等功能寄存器的設(shè)置,實現(xiàn)這些硬件控制,讓學(xué)生熟悉和掌握常用的庫函數(shù)的功能和調(diào)用,同時能夠通過查詢手冊掌握每個庫函數(shù)的定義和使用方法。

2)uC/OS-Ⅱ系統(tǒng)下的多任務(wù)系統(tǒng)實驗。

實驗板上3個LED燈:LED1、LED2、LED3,分別由3個GPIO口控制,通過程序中向該端口寫“1”或“O”讓其熄滅和點亮或者閃爍。要求分別創(chuàng)建3個任務(wù),任務(wù)1控制LED1,任務(wù)2控制LED2,任務(wù)3控制LED3。雖然是一個簡單的GPIO端口實驗,但是可以實現(xiàn)規(guī)模最小的一個多任務(wù)嵌入式系統(tǒng)。學(xué)生通過該實驗可以掌握μC/OS-Ⅱ系統(tǒng)的嵌入式系統(tǒng)應(yīng)用程序的開發(fā)和設(shè)計。實驗程序流程和結(jié)構(gòu)圖如圖2所示。

3)uC/OS-Ⅱ系統(tǒng)下的任務(wù)間通信實驗。

在主程序main()中,首先通過系統(tǒng)函數(shù)OSTaskCreate0創(chuàng)建一個初始化任務(wù)TaskStart(),然后在Task_Start()中,初始化液晶屏LCD,再調(diào)用系統(tǒng)函數(shù)OSTaskCreate()創(chuàng)建2個應(yīng)用程序任務(wù)Task LCD1()和Task LCD20,每個任務(wù)函數(shù)的內(nèi)容為創(chuàng)建各自的一個郵箱,并等待郵箱消息,如有消息,就從郵箱中取出,并在LCD上以字符信息顯示。實驗展示了一個μC/OS-Ⅱ系統(tǒng)下2個任務(wù)的通信。實驗程序流程和結(jié)構(gòu)如圖3所示。

學(xué)生通過程序設(shè)計和下載運行,根據(jù)LCD液晶屏的顯示信息,驗證任務(wù)間的通信。

實驗內(nèi)容安排見表2。

4課程設(shè)計

在嵌入式系統(tǒng)內(nèi)容的學(xué)習(xí)中,學(xué)生已經(jīng)能夠熟練掌握STM32控制器的GPIO、ADC、定時器和中斷控制等庫函數(shù)調(diào)用和IAR編程環(huán)境,同時能夠在μC/OS-Ⅱ系統(tǒng)上進(jìn)行多任務(wù)應(yīng)用程序的設(shè)計。智能專業(yè)課程設(shè)計主要內(nèi)容是設(shè)計一個以μC/OS-Ⅱ為平臺的智能儀表測量系統(tǒng)。開發(fā)測量儀表人機(jī)界面,包括有主界面和菜單選項,其中測量界面能顯示模擬量采樣輸入,設(shè)定界面能夠設(shè)定采樣周期和信號濾波參數(shù)等。

5結(jié)語

學(xué)生通過課程學(xué)習(xí),理解小型智能系統(tǒng)的硬件組成和功能原理,能夠充分理解、熟悉和掌握嵌入式軟件的系統(tǒng)組成和應(yīng)用功能的開發(fā)與設(shè)計。智能專業(yè)學(xué)生近3年參加多項大學(xué)生創(chuàng)新項目,如Android云編譯器的設(shè)計和實現(xiàn)(SH2015023)、基于Arduino的多功能智能車研發(fā)(SH2015041)、智慧家居遠(yuǎn)程監(jiān)測控制系統(tǒng)(SH2015047)等,取得了較好的成績。

課程內(nèi)容安排與后續(xù)課程設(shè)計、創(chuàng)新實踐和大學(xué)生教學(xué)實踐比賽環(huán)環(huán)相扣,從基礎(chǔ)到應(yīng)用,培養(yǎng)學(xué)生構(gòu)建一個小型智能系統(tǒng),很好地提升了學(xué)生的專業(yè)能力。

(編輯:彭遠(yuǎn)紅)

猜你喜歡
嵌入式系統(tǒng)課程設(shè)計
“蘇州園林:景致與情思”課程設(shè)計
“石油及天然氣地質(zhì)學(xué)”課程的MOOC課程設(shè)計
A Study on the Application of Task—based Approach to English Vocabulary Teaching
辦公自動化系統(tǒng)的設(shè)計
基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學(xué)改革的研究與實踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實踐及啟示
面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
關(guān)于完善課程設(shè)計教學(xué)及教學(xué)管理工作的思考