《汽車計(jì)算機(jī)基礎(chǔ)》 課件 7- 閃燈的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
《汽車計(jì)算機(jī)基礎(chǔ)》 課件 7- 閃燈的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
《汽車計(jì)算機(jī)基礎(chǔ)》 課件 7- 閃燈的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
《汽車計(jì)算機(jī)基礎(chǔ)》 課件 7- 閃燈的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
《汽車計(jì)算機(jī)基礎(chǔ)》 課件 7- 閃燈的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第7單元:閃燈的設(shè)計(jì)與實(shí)現(xiàn)第8單元:開關(guān)狀態(tài)指示燈的設(shè)計(jì)與實(shí)現(xiàn)第9單元:利用定時(shí)中斷實(shí)現(xiàn)頻閃燈第10單元:利用PWM實(shí)現(xiàn)小燈亮度控制第11單元:利用UART實(shí)現(xiàn)上位機(jī)和下位機(jī)的通信第12單元:利用ADC設(shè)計(jì)簡(jiǎn)易數(shù)字電壓表汽車嵌入式技術(shù)基礎(chǔ)篇

第7單元

閃燈的設(shè)計(jì)與實(shí)現(xiàn)

在汽車中,燈光除了用于照明,還被廣泛用于狀態(tài)指示(如交通信號(hào)燈、汽車指示燈、設(shè)備狀態(tài)指示燈等)。在嵌入式系統(tǒng)中,LED小燈是必備的狀態(tài)指示設(shè)備。【單元導(dǎo)讀】

單元學(xué)習(xí)目標(biāo):通過(guò)編程,使微控制器點(diǎn)亮一個(gè)LED小燈,在此基礎(chǔ)上再實(shí)現(xiàn)流水燈的效果。第7單元

閃燈的設(shè)計(jì)與實(shí)現(xiàn)

單元學(xué)習(xí)任務(wù):(1)熟悉嵌入式系統(tǒng)的組成以及嵌入式技術(shù)學(xué)習(xí)方法。(2)熟悉車規(guī)級(jí)微控制器KEA128的芯片資源和硬件最小系統(tǒng)。(3)理解通用輸入/輸出(GPIO)的通用知識(shí),掌握GPIO底層驅(qū)動(dòng)構(gòu)件頭文件的使用方法。(4)掌握小燈硬件構(gòu)件和軟件構(gòu)件的使用方法。(5)掌握在嵌入式軟件最小系統(tǒng)的框架下實(shí)現(xiàn)LED小燈閃爍的應(yīng)用層程序設(shè)計(jì)方法,并在此基礎(chǔ)上,自行完成流水燈的應(yīng)用層程序設(shè)計(jì)。(6)掌握嵌入式軟件集成開發(fā)環(huán)境KeilMDK及目標(biāo)程序下載軟件J-Flash的使用方法,以便為后續(xù)的學(xué)習(xí)奠定良好的基礎(chǔ)。任務(wù)7.1熟悉嵌入式系統(tǒng)的組成及嵌入式技術(shù)學(xué)習(xí)方法7.1.1嵌入式系統(tǒng)的組成

目前,ARM主要有以下3個(gè)系列的內(nèi)核,對(duì)應(yīng)不同的應(yīng)用領(lǐng)域:(1)Cortex-A內(nèi)核的應(yīng)用處理器(ApplicationProcessor,AP),主要面向智能手機(jī)、平板電腦、智能終端等多媒體領(lǐng)域;(2)Cortex-R內(nèi)核的實(shí)時(shí)處理器(Real-TimeProcessor,RTP),主要面向汽車電子等對(duì)實(shí)時(shí)性要求很高的領(lǐng)域;(3)Cortex-M內(nèi)核的微控制器(MicroControllerUnit,MCU,國(guó)內(nèi)也稱為單片機(jī)),主要面向汽車電子、工業(yè)控制、農(nóng)業(yè)控制、智能儀器儀表、智能家電、機(jī)電產(chǎn)品等測(cè)控領(lǐng)域。

在緒論中,曾介紹過(guò)嵌入式系統(tǒng)的概念。目前,以32位/64位ARM微處理器為核心的嵌入式系統(tǒng)應(yīng)用越來(lái)越廣泛。1、ARM微處理器的分類7.1.1嵌入式系統(tǒng)的組成2、MCU的基本結(jié)構(gòu)

MCU的基本含義:在一塊芯片上集成了CPU、ROM、RAM、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)、看門狗及通用輸入輸出(GPIO)、模/數(shù)(A/D)轉(zhuǎn)換、數(shù)/模(D/A)轉(zhuǎn)換、串行通信I/O等多種輸入輸出接口的比較完整的數(shù)字處理系統(tǒng)。CPU與其他部件交互是通過(guò)MCU內(nèi)部總線實(shí)現(xiàn)的。任務(wù)7.1熟悉嵌入式系統(tǒng)的組成及嵌入式技術(shù)學(xué)習(xí)方法7.1.1嵌入式系統(tǒng)的組成3、以MCU為核心的嵌入式系統(tǒng)的基本組成任務(wù)7.1熟悉嵌入式系統(tǒng)的組成及嵌入式技術(shù)學(xué)習(xí)方法7.1.2嵌入式系統(tǒng)的知識(shí)體系和學(xué)習(xí)建議任務(wù)7.1熟悉嵌入式系統(tǒng)的組成及嵌入式技術(shù)學(xué)習(xí)方法

嵌入式硬件構(gòu)件設(shè)計(jì)主要包括MCU硬件最小系統(tǒng)(硬件核心構(gòu)件)設(shè)計(jì)和應(yīng)用外設(shè)硬件構(gòu)件(小燈LIGHT、蜂鳴器BZ、開關(guān)SW、鍵盤KB、數(shù)碼管LED、液晶LCD等)設(shè)計(jì)。

嵌入式軟件構(gòu)件設(shè)計(jì)采用分層設(shè)計(jì)思想,自下而上依次是“底層驅(qū)動(dòng)構(gòu)件”、“應(yīng)用外設(shè)軟件構(gòu)件”和“應(yīng)用層軟件構(gòu)件”共3層軟件設(shè)計(jì)。為了實(shí)現(xiàn)嵌入式系統(tǒng)設(shè)計(jì)的可移植和可復(fù)用,大幅度降低嵌入式技術(shù)學(xué)習(xí)難度和開發(fā)難度,嵌入式硬件和軟件均需采用“構(gòu)件化”設(shè)計(jì)。

其中底層驅(qū)動(dòng)構(gòu)件和應(yīng)用外設(shè)軟件構(gòu)件都包括對(duì)應(yīng)的.h頭文件和.c源文件,而應(yīng)用層軟件構(gòu)件包括總頭文件includes.h、主程序源文件main.c和中斷服務(wù)程序源文件isr.c。

通用軟件構(gòu)件與CPU和MCU基本無(wú)關(guān),是服務(wù)于以上3層軟件設(shè)計(jì)的。

隨著技術(shù)的發(fā)展,MCU的硬件集成度越來(lái)越高,使得嵌入式硬件設(shè)計(jì)難度不斷降低,因此嵌入式軟件設(shè)計(jì)在整個(gè)嵌入式系統(tǒng)開發(fā)中所占的分量越來(lái)越大。7.1.2嵌入式系統(tǒng)的知識(shí)體系和學(xué)習(xí)建議任務(wù)7.1熟悉嵌入式系統(tǒng)的組成及嵌入式技術(shù)學(xué)習(xí)方法

嵌入式軟件設(shè)計(jì)主要采用C語(yǔ)言及少量的匯編語(yǔ)言。

嵌入式軟件設(shè)計(jì)與調(diào)試是在嵌入式硬件的基礎(chǔ)上協(xié)同進(jìn)行的,其過(guò)程是在PC上利用嵌入式軟件開發(fā)環(huán)境(如KeilMDK、IAR等)進(jìn)行程序的編輯、編譯和連接,生成工程對(duì)應(yīng)的目標(biāo)代碼;最后將生成的目標(biāo)代碼通過(guò)寫入器下載到嵌入式芯片中運(yùn)行與調(diào)試。MCU寫入器任務(wù)7.2熟悉KEA128資源和硬件最小系統(tǒng)KinetisEA(簡(jiǎn)稱KEA)系列MCU是恩智浦公司開發(fā)的基于ARMCortex-M0+(簡(jiǎn)稱CM0+)內(nèi)核的車規(guī)級(jí)MCU。任務(wù)7.2熟悉KEA128資源和硬件最小系統(tǒng)

片內(nèi)Flash區(qū)(0x0000_0000~0x0001_FFFF),共128KB,一般被用來(lái)存放中斷向量、程序代碼、常數(shù)等,其中前192B為中斷向量表(中斷函數(shù)的入口地址)。

片內(nèi)RAM區(qū)(0x1FFF_F000~0x2000_2FFF),共16KB,一般被用來(lái)存儲(chǔ)全局變量、靜態(tài)變量、臨時(shí)變量(堆棧空間)等。1、KEA128的存儲(chǔ)映像

KEA128把CM0+內(nèi)核之外的模塊用類似存儲(chǔ)器編址的方式統(tǒng)一分配地址。在4GB的存儲(chǔ)映像空間內(nèi),分布著片內(nèi)Flash、RAM、系統(tǒng)配置寄存器及其他外設(shè)等,以便CPU通過(guò)直接地址進(jìn)行訪問(wèn)。任務(wù)7.2熟悉KEA128資源和硬件最小系統(tǒng)2、KEA128的引腳功能

從需求和供給的角度,把MCU的引腳分為硬件最小系統(tǒng)引腳和I/O端口資源類引腳兩大類。(1)硬件最小系統(tǒng)引腳:需要服務(wù)的引腳,包括電源、復(fù)位、晶振、程序?qū)懭虢涌冢⊿WD)等引腳。任務(wù)7.2熟悉KEA128資源和硬件最小系統(tǒng)2、KEA128的引腳功能

從需求和供給的角度,把MCU的引腳分為硬件最小系統(tǒng)引腳和I/O端口資源類引腳兩大類。(2)I/O端口資源類引腳:對(duì)外提供服務(wù)。

I/O引腳一般具有多個(gè)復(fù)用功能,詳見(jiàn)附錄D的KEA128引腳功能分配表,在實(shí)際應(yīng)用時(shí)只能使用其中的一個(gè)功能。在嵌入式系統(tǒng)設(shè)計(jì)中,需要根據(jù)所使用的外設(shè)(含片內(nèi)外設(shè))對(duì)MCU的引腳資源進(jìn)行統(tǒng)籌規(guī)劃,以免多個(gè)外設(shè)使用相同的引腳而相互沖突。任務(wù)7.2熟悉KEA128資源和硬件最小系統(tǒng)3、KEA128的硬件最小系統(tǒng)

MCU硬件最小系統(tǒng)是可以使MCU內(nèi)部程序正常運(yùn)行的最小規(guī)模的電路,主要包括MCU和電源、晶振、復(fù)位、寫入調(diào)試器接口等外圍電路。見(jiàn)圖7-6。

需要說(shuō)明的是,若使用MCU內(nèi)部的時(shí)鐘作為系統(tǒng)時(shí)鐘源,則外部晶振電路可省略?!菊n后作業(yè)】同步練習(xí)7-1:鞏固知識(shí)。任務(wù)7.3

掌握GPIO底層驅(qū)動(dòng)構(gòu)件的使用方法7.3.1GPIO的通用知識(shí)1、GPIO概念

GPIO(GeneralPurposeInputOutput

),通用輸入/輸出,它是I/O的最基本形式。

MCU的大多數(shù)GPIO引腳可以通過(guò)編程來(lái)設(shè)定其工作方式為輸入或輸出,稱之為雙向GPIO。

某個(gè)引腳作為通用輸入引腳,MCU可以通過(guò)讀取其內(nèi)部寄存器的值“1”或“0”,以確定該引腳的輸入狀態(tài)是高電平還是低電平,即開關(guān)量輸入。

某個(gè)引腳作為通用輸出引腳,MCU可以通過(guò)向其內(nèi)部寄存器寫“1”或“0”,以控制該引腳輸出高電平或低電平,即開關(guān)量輸出。7.3.1GPIO的通用知識(shí)2、上拉電阻、下拉電阻與輸入引腳的基本接法任務(wù)7.3

掌握GPIO底層驅(qū)動(dòng)構(gòu)件的使用方法

若MCU的某個(gè)引腳通過(guò)一個(gè)電阻接電源(VCC),則該電阻被稱為“上拉電阻”。

若MCU的某個(gè)引腳通過(guò)一個(gè)電阻接地(GND),則該電阻被稱為“下拉電阻”。7.3.1GPIO的通用知識(shí)3、輸出引腳的基本接法任務(wù)7.3

掌握GPIO底層驅(qū)動(dòng)構(gòu)件的使用方法

作為通用輸出引腳,MCU內(nèi)部程序向該引腳輸出高電平或低電平驅(qū)動(dòng)外部設(shè)備工作,即開關(guān)量輸出。輸出引腳O1和O2分別采用了直接驅(qū)動(dòng)和放大驅(qū)動(dòng)方式。任務(wù)7.3

掌握GPIO底層驅(qū)動(dòng)構(gòu)件的使用方法7.3.2KEA128的GPIO底層驅(qū)動(dòng)構(gòu)件及使用方法

為了實(shí)現(xiàn)程序的可移植和可復(fù)用,減小重復(fù)勞動(dòng),MCU底層驅(qū)動(dòng)程序封裝成構(gòu)件。GPIO底層驅(qū)動(dòng)構(gòu)件由gpio.h頭文件和gpio.c源文件組成,若要使用GPIO底層驅(qū)動(dòng)構(gòu)件,只需將這兩個(gè)文件添加到所建工程的04_Driver(MCU底層驅(qū)動(dòng)構(gòu)件)文件夾中,即可實(shí)現(xiàn)對(duì)GPIO引腳的操作。見(jiàn)工程文件:..EmbeddedSource\03-Software\KEA128\KEA128.uvprojx

其中,gpio.h頭文件主要包括相關(guān)頭文件的包含、一些必要的宏定義、對(duì)外接口函數(shù)的聲明,而gpio.c源文件則是對(duì)外接口函數(shù)的具體實(shí)現(xiàn),初學(xué)者不必深究。

用戶只要熟悉gpio.h頭文件的內(nèi)容,即可使用GPIO底層驅(qū)動(dòng)構(gòu)件進(jìn)行編程,實(shí)現(xiàn)通過(guò)GPIO對(duì)不同外設(shè)進(jìn)行檢測(cè)或控制的功能(如檢測(cè)開關(guān)的狀態(tài)、控制小燈的亮滅等)。任務(wù)7.4小燈構(gòu)件化設(shè)計(jì)及閃燈的實(shí)現(xiàn)

為了實(shí)現(xiàn)嵌入式系統(tǒng)設(shè)計(jì)在不同MCU和不同應(yīng)用場(chǎng)合中的可移植和可復(fù)用,降低嵌入式技術(shù)學(xué)習(xí)難度和開發(fā)難度,嵌入式硬件和軟件均需采用“構(gòu)件化”設(shè)計(jì)。現(xiàn)以小燈構(gòu)件設(shè)計(jì)為例,說(shuō)明嵌入式硬件構(gòu)件和軟件構(gòu)件的設(shè)計(jì)方法。7.4.1小燈硬件構(gòu)件和軟件構(gòu)件的設(shè)計(jì)及使用方法1、小燈硬件構(gòu)件及使用方法a)小燈硬件構(gòu)件b)小燈硬件構(gòu)件與MCU的引腳連接

圖中虛線框內(nèi)的粗體標(biāo)識(shí)為硬件構(gòu)件的接口注釋,以便于理解該接口的含義和功能;虛線框外的正體標(biāo)識(shí)為硬件構(gòu)件的接口網(wǎng)標(biāo),具有電氣連接特性,表示硬件構(gòu)件的接口與MCU的引腳相連接。硬件構(gòu)件在不同應(yīng)用系統(tǒng)中移植和復(fù)用時(shí),僅需修改接口網(wǎng)標(biāo)。7.4.1小燈硬件構(gòu)件和軟件構(gòu)件的設(shè)計(jì)及使用方法2、小燈軟件構(gòu)件的設(shè)計(jì)及使用方法

任務(wù)7.4小燈構(gòu)件化設(shè)計(jì)及閃燈的實(shí)現(xiàn)

小燈軟件構(gòu)件由

light.h

頭文件

light.c

源文件組成,若要使用小燈軟件構(gòu)件,只需將這兩個(gè)文件添加到所建工程的05_App(應(yīng)用外設(shè)軟件構(gòu)件)文件夾中即可實(shí)現(xiàn)對(duì)小燈的控制。

其中,light.h

頭文件主要包括相關(guān)頭文件的包含、小燈硬件構(gòu)件相關(guān)的宏定義、小燈構(gòu)件對(duì)外接口函數(shù)的聲明。light.c

源文件是小燈構(gòu)件對(duì)外接口函數(shù)的具體實(shí)現(xiàn)。見(jiàn)工程文件:..EmbeddedSource\03-Software\KEA128\KEA128.uvprojx用戶只要熟悉light.h頭文件的內(nèi)容,即可使用小燈軟件構(gòu)件進(jìn)行編程。7.4.2嵌入式軟件最小系統(tǒng)設(shè)計(jì)——實(shí)現(xiàn)閃燈1、嵌入式軟件最小系統(tǒng)任務(wù)7.4小燈構(gòu)件化設(shè)計(jì)及閃燈的實(shí)現(xiàn)

在嵌入式基礎(chǔ)實(shí)踐中,一般以“MCU控制小燈閃爍”作為入門實(shí)驗(yàn),對(duì)應(yīng)的程序框架稱為“嵌入式軟件最小系統(tǒng)”(具體解釋詳見(jiàn)表7-5)。

在此框架下可通過(guò)添加其他軟件構(gòu)件和修改應(yīng)用層程序(工程源程序)完成不同功能的軟件設(shè)計(jì)。

對(duì)初學(xué)者,學(xué)習(xí)重點(diǎn)是:①熟悉04_Driver(MCU底層驅(qū)動(dòng)構(gòu)件)、05_App(應(yīng)用外設(shè)軟件構(gòu)件)和

06_Soft(通用軟件構(gòu)件)這幾個(gè)文件夾中的頭文件內(nèi)容,掌握對(duì)外接口函數(shù)的調(diào)用方法;②根據(jù)系統(tǒng)功能需求,進(jìn)行應(yīng)用層程序設(shè)計(jì)和優(yōu)化,即設(shè)計(jì)07_Source(應(yīng)用層軟件構(gòu)件)文件夾中的文件。見(jiàn)工程文件:..EmbeddedSource\03-Software\KEA128\KEA128.uvprojx

其中,“04底層驅(qū)動(dòng)構(gòu)件”、“05應(yīng)用外設(shè)軟件構(gòu)件”、“06通用軟件構(gòu)件”、“07應(yīng)用層軟件構(gòu)件”的文件都是由本構(gòu)件的.h和.c文件組成。

7.4.2嵌入式軟件最小系統(tǒng)設(shè)計(jì)——實(shí)現(xiàn)閃燈2、閃燈的應(yīng)用層程序設(shè)計(jì)任務(wù)7.4小燈構(gòu)件化設(shè)計(jì)及閃燈的實(shí)現(xiàn)

在嵌入式軟件最小系統(tǒng)框架下,設(shè)計(jì)07_Source(應(yīng)用層軟件構(gòu)件)的文件,以實(shí)現(xiàn)小燈閃爍的效果。1)工程總頭文件includes.h:包含04、05、06文件夾中的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論