《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件全套 李正軍 第1-10章 緒論、STM32微控制器- DMA控制器_第1頁(yè)
《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件全套 李正軍 第1-10章 緒論、STM32微控制器- DMA控制器_第2頁(yè)
《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件全套 李正軍 第1-10章 緒論、STM32微控制器- DMA控制器_第3頁(yè)
《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件全套 李正軍 第1-10章 緒論、STM32微控制器- DMA控制器_第4頁(yè)
《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件全套 李正軍 第1-10章 緒論、STM32微控制器- DMA控制器_第5頁(yè)
已閱讀5頁(yè),還剩742頁(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)介

第1章緒論本章對(duì)微型計(jì)算機(jī)進(jìn)行了概述,介紹了國(guó)內(nèi)外流行的單片微控制器ARM、嵌入式系統(tǒng)、嵌入式系統(tǒng)的軟件、嵌人式系統(tǒng)的應(yīng)用領(lǐng)域和嵌入式控制系統(tǒng)(ECS)。

1.1微型計(jì)算機(jī)概述現(xiàn)場(chǎng)總線946年問(wèn)世的世界上第一臺(tái)計(jì)算機(jī)開(kāi)創(chuàng)了科學(xué)技術(shù)高速發(fā)展的時(shí)代。經(jīng)過(guò)半個(gè)多世紀(jì)的不斷發(fā)展和提高,計(jì)算機(jī)獲得了突飛猛進(jìn)的發(fā)展,經(jīng)歷了由電子管、晶體管、集成電路以及超大規(guī)模集成電路的發(fā)展歷程。計(jì)算機(jī)在科學(xué)技術(shù)、文化、經(jīng)濟(jì)等領(lǐng)域的發(fā)展中,發(fā)揮了巨大的推動(dòng)作用。微型計(jì)算機(jī)的發(fā)展取決于微處理器的發(fā)展。1971年,美國(guó)Intel公司生產(chǎn)出了世界上第一片4位集成微處理器4004;1975年,中檔8位微處理器的產(chǎn)品問(wèn)世;1976年,各公司又相繼推出了高檔微處理器,如Intel公司的8085、Zilog公司的Z80等;1978年,各公司推出了性能與中檔16位小型機(jī)相當(dāng)?shù)奈⑻幚砥鳎容^有代表性的產(chǎn)品是Intel8086。Intel8086的地址線為20位,可尋址1MB的存儲(chǔ)單元,時(shí)鐘頻率為4~8MHz。隨著新技術(shù)的應(yīng)用和大規(guī)模集成電路制造技術(shù)水平的不斷提高,微處理器的集成度越來(lái)越高,一只芯片中包含的晶體管多達(dá)上億只。同時(shí),微處理器的性能價(jià)格比也在不斷提高。與CPU配套的各種器件和設(shè)備,如存儲(chǔ)器、顯示器、打印機(jī)、數(shù)模、模數(shù)轉(zhuǎn)換設(shè)備等也在迅速發(fā)展,總的發(fā)展趨勢(shì)是功能加強(qiáng)、性能提高、體積減小和價(jià)格下降。進(jìn)入21世紀(jì)以來(lái),各計(jì)算機(jī)公司不斷推出新型的計(jì)算機(jī),使得計(jì)算機(jī)無(wú)論從硬件還是軟件方面,以及速度、性能、價(jià)格等諸方面不斷適應(yīng)各種人群的使用。新一代計(jì)算機(jī)采用人工智能技術(shù)及新型軟件,硬件采用新的體系結(jié)構(gòu)和超導(dǎo)集成電路,分為問(wèn)題解決與推理機(jī)、知識(shí)數(shù)據(jù)庫(kù)管理機(jī)、智能接口計(jì)算機(jī)等。具有以下特點(diǎn):1)在CPU上集成存儲(chǔ)管理部件。2)采用指令和數(shù)據(jù)高速緩存。3)采用流水線結(jié)構(gòu)以提高系統(tǒng)的并行性。4)采用大量的寄存器組成寄存器堆以提高處理速度。5)具有完善的協(xié)處理器接口,提高數(shù)據(jù)處理能力。6)在系統(tǒng)設(shè)計(jì)上引入兼容性,實(shí)現(xiàn)高、低檔微機(jī)間的兼容。另外,產(chǎn)品是否開(kāi)源也成為微處理器發(fā)展的方向之一。微處理器一般由計(jì)算單元、存儲(chǔ)單元、總線和外部接口構(gòu)成。另外,晶振和電源管理部分也是不可少的。隨著集成度越來(lái)越高,有更多的東西可以放到微處理器芯片中。從動(dòng)態(tài)的角度看,晶振是微處理器工作的心臟,所傳出的像脈搏一樣的信號(hào)是時(shí)鐘周期。總線像神經(jīng)一樣連接起各個(gè)部分,并傳送數(shù)據(jù)和指令。指令和數(shù)據(jù)在本質(zhì)上沒(méi)多大區(qū)別,之所以這樣劃分是為了能夠說(shuō)得更清楚。一般而言,指令能夠讓處理器產(chǎn)生動(dòng)作;數(shù)據(jù)只是指令的后果或指令執(zhí)行的一些資源。存儲(chǔ)單元?jiǎng)t如大腦的記憶體,它們存放著指令或者數(shù)據(jù)。不同的是,大腦的記憶體記憶的多是過(guò)去發(fā)生過(guò)的事情,微處理器的數(shù)據(jù)存儲(chǔ)器里存放的是某個(gè)運(yùn)算的結(jié)果,而指令存儲(chǔ)器里存放的是未來(lái)的一些安排好的動(dòng)作序列,更像我們安排的計(jì)劃表。計(jì)算單元就像大腦的科學(xué)計(jì)算區(qū)域,負(fù)責(zé)一些有規(guī)則的數(shù)學(xué)的運(yùn)算。這種運(yùn)算是由指令安排的,并且計(jì)算操作數(shù)和結(jié)果都是存放在存儲(chǔ)單元里的。外部接口像傳到四肢的神經(jīng)接口,把微處理器的指令傳到四肢,讓四肢做一些工作,或者從四肢傳回來(lái)一些感覺(jué)信息,讓微處理器判斷要做什么。微處理器與人腦的主要不同在于微處理器里的所有指令都是事先安排好的,而人腦是可以自己學(xué)習(xí)、自己安排動(dòng)作的。微處理器(microprocessor,縮寫(xiě)為μP)是可編程化的特殊集成電路,其所有組件小型化至一塊或數(shù)塊集成電路內(nèi),可在其一端或多端接收編碼指令,執(zhí)行此指令并輸出描述其狀態(tài)的信號(hào)。之所以會(huì)稱為微處理器,并不只是因?yàn)樗让阅阌?jì)算機(jī)所用的處理器還要小,最主要的原因是當(dāng)初各大芯片廠的工藝已經(jīng)進(jìn)入了1μm的階段,用1μm的工藝所產(chǎn)制出來(lái)的處理器芯片,廠商就會(huì)在產(chǎn)品名稱上用“微”字,以強(qiáng)調(diào)它們是高科技。早在微處理器問(wèn)世之前,電子計(jì)算機(jī)的中央處理單元就經(jīng)歷了從真空管到晶體管再到離散式TTL集成電路等幾個(gè)重要階段,甚至在電子計(jì)算機(jī)以前,還出現(xiàn)過(guò)以齒輪、輪軸和杠桿為基礎(chǔ)的機(jī)械結(jié)構(gòu)計(jì)算機(jī)。文藝復(fù)興時(shí)期的著名畫(huà)家兼科學(xué)家列奧納多·達(dá)·芬奇就曾做過(guò)類(lèi)似的設(shè)計(jì),但那個(gè)時(shí)代落后的制造技術(shù)根本沒(méi)有能力將這個(gè)設(shè)計(jì)付諸實(shí)現(xiàn)。微處理器的發(fā)明使得復(fù)雜的電路群得以制成單一的電子組件。從20世紀(jì)70年代早期開(kāi)始,微處理器性能的提升就基本上遵循著IT界著名的摩爾定律。這意味著在過(guò)去的30多年里,每18個(gè)月,CPU的計(jì)算能力就會(huì)翻一番。大到巨型機(jī),小到筆記本電腦,持續(xù)高速發(fā)展的微處理器取代了諸多其他計(jì)算形式而成為各個(gè)類(lèi)別各個(gè)領(lǐng)域所有計(jì)算機(jī)系統(tǒng)的計(jì)算動(dòng)力之源。目前常常聽(tīng)到的微處理器是微處理機(jī)的一種變體,它包括了CPU、一些內(nèi)存以及I/O接口,所有都集成在一塊集成電路上。微處理器已經(jīng)無(wú)處不在,錄像機(jī)、智能洗衣機(jī)、移動(dòng)電話等家電產(chǎn)品,汽車(chē)引擎控制,以及數(shù)控機(jī)床、導(dǎo)彈精確制導(dǎo)等,都要嵌入各類(lèi)不同的微處理器。微處理器不僅是微型計(jì)算機(jī)的核心部件,也是各種數(shù)字化智能設(shè)備的關(guān)鍵部件。國(guó)際上的超高速巨型計(jì)算機(jī)、大型計(jì)算機(jī)等高端計(jì)算系統(tǒng)也都采用大量的通用高性能微處理器建造。典型的微型計(jì)算機(jī)的基本結(jié)構(gòu)由微處理器(CPU)、存儲(chǔ)器、輸入/輸出接口(I/O接口)及外部設(shè)備等組成,各個(gè)部件之間通過(guò)系統(tǒng)總線連接,如圖1-1所示。1.1.1微型計(jì)算機(jī)的基本構(gòu)成圖1-1微型計(jì)算機(jī)的基本結(jié)構(gòu)在計(jì)算機(jī)系統(tǒng)中,各個(gè)部件之間傳送信息的公共線路稱為總線(bus),CPU與各功能模塊之間以及各功能部件之間的信息是通過(guò)總線傳輸?shù)摹0凑账鶄鬏數(shù)男畔⒎N類(lèi),計(jì)算機(jī)的總線分為數(shù)據(jù)總線、地址總線和控制總線,分別用來(lái)傳輸數(shù)據(jù)、地址和控制信號(hào),即典型的三總線結(jié)構(gòu)。CPU通過(guò)總線與各個(gè)部件相連,外設(shè)通過(guò)相應(yīng)的接口電路再與總線相連,如此構(gòu)成計(jì)算機(jī)的硬件系統(tǒng)。地址總線AB是單向的,輸出地址信號(hào),即輸出將要訪問(wèn)的存儲(chǔ)器單元或I/O口的地址,地址線的多少?zèng)Q定了系統(tǒng)直接尋址存儲(chǔ)器的范圍。數(shù)據(jù)總線DB是傳輸數(shù)據(jù)或代碼的一組信號(hào)線,數(shù)據(jù)線的數(shù)目一般與處理器的字長(zhǎng)相等。控制總線CB用來(lái)傳送各種控制信號(hào)和狀態(tài)信號(hào)。在連接系統(tǒng)總線的設(shè)備中,某時(shí)刻只能有一個(gè)發(fā)送者向總線發(fā)送信號(hào);但可以有多個(gè)設(shè)備從總線上同時(shí)獲取信號(hào)。一個(gè)CPU和存儲(chǔ)器的連接示意圖如圖1-2所示。例如,人們常說(shuō)的奔騰系列或者酷睿系列的CPU芯片,就是典型的微處理器;程序存儲(chǔ)器主要是硬盤(pán),數(shù)據(jù)存儲(chǔ)器即為內(nèi)存條;輸入/輸出接口由主機(jī)板上的接口芯片構(gòu)成,最終通過(guò)機(jī)箱上的并行口、串行口、USB口等和外部設(shè)備連接。市面上常見(jiàn)的個(gè)人計(jì)算機(jī)就是在上述計(jì)算機(jī)的結(jié)構(gòu)上加上顯示器、鍵盤(pán)、鼠標(biāo)等外部設(shè)備構(gòu)成的。圖1-1FCS與DCS結(jié)構(gòu)比較1.微處理器微處理器是計(jì)算機(jī)的核心部件,利用集成技術(shù)將運(yùn)算器、控制器集成在一片芯片上。其功能是:對(duì)指令譯碼并執(zhí)行規(guī)定動(dòng)作;能與存儲(chǔ)器及外設(shè)交換數(shù)據(jù);可響應(yīng)其他部件的中斷請(qǐng)求;提供系統(tǒng)所需的定時(shí)和控制。2.微型計(jì)算機(jī)微型計(jì)算機(jī)就是在微處理器的基礎(chǔ)上配置存儲(chǔ)器、I/O接口電路、系統(tǒng)總線等所構(gòu)成的系統(tǒng)。1.1.2微處理器、微型計(jì)算機(jī)和微型計(jì)算機(jī)系統(tǒng)關(guān)系3.微型計(jì)算機(jī)系統(tǒng)

以微型計(jì)算機(jī)為主體,配置系統(tǒng)軟件和外部設(shè)備即構(gòu)成微型計(jì)算機(jī)系統(tǒng)。軟件部分包括系統(tǒng)軟件(如操作系統(tǒng))和應(yīng)用軟件(如字處理軟件)。以上三者之間的關(guān)系如圖1-3所示。圖1-3微處理器、微型計(jì)算機(jī)和微型計(jì)算機(jī)系統(tǒng)關(guān)系圖當(dāng)前,微型計(jì)算機(jī)技術(shù)正向兩個(gè)方向發(fā)展:一是高性能、多功能,使微型計(jì)算機(jī)逐步替價(jià)格昂貴、功能優(yōu)越的中小型計(jì)算機(jī)。二是價(jià)格低廉、體積更小,使微型計(jì)算機(jī)不以計(jì)算機(jī)的面貌出現(xiàn),而是嵌入到生產(chǎn)系統(tǒng)設(shè)備、儀器儀表、家用電器、醫(yī)療儀器等智能產(chǎn)品中,構(gòu)成嵌入式系統(tǒng)。4.微控制器微控制器(MicroControllerUnit,MCU)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng),具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:中央處理單元(CPU)、存儲(chǔ)器、內(nèi)部和外部總線系統(tǒng)。同時(shí),集成諸如通信接口、定時(shí)器、實(shí)時(shí)時(shí)鐘等外圍設(shè)備(簡(jiǎn)稱外設(shè))。而目前最強(qiáng)大的微控制器甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入/輸出系統(tǒng)集成在一塊芯片上。微控制器和微處理器的區(qū)別是:微控制器不僅包含微處理器,還包含其他更多的內(nèi)容。1.馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu)1)馮·諾依曼結(jié)構(gòu)1964年,馮·諾依曼簡(jiǎn)化了計(jì)算機(jī)的結(jié)構(gòu),提出了“存儲(chǔ)程序”的思想,大大提高了計(jì)算機(jī)的速度?!按鎯?chǔ)程序”思想可以簡(jiǎn)化概括為3點(diǎn):(1)計(jì)算機(jī)包括運(yùn)算器、控制器、存儲(chǔ)器、輸入/輸出設(shè)備。(2)計(jì)算機(jī)內(nèi)部應(yīng)采用二進(jìn)制來(lái)表示指令和數(shù)據(jù)。(3)將編寫(xiě)好的程序和數(shù)據(jù)保存到存儲(chǔ)器,計(jì)算機(jī)自動(dòng)地逐條取出指令和數(shù)據(jù)進(jìn)行分析、處理和執(zhí)行。1.1.3微處理器常用技術(shù)在馮·諾依曼結(jié)構(gòu)中,計(jì)算機(jī)系統(tǒng)由一個(gè)中央處理單元(CPU)和一個(gè)存儲(chǔ)器組成,數(shù)據(jù)和指令都存儲(chǔ)在存儲(chǔ)器中,程序指令和數(shù)據(jù)不加區(qū)分,均采用數(shù)據(jù)總線進(jìn)行傳輸,因此,數(shù)據(jù)訪問(wèn)和指令存取不能同時(shí)在總線上傳輸。CPU可以根據(jù)所給的地址對(duì)存儲(chǔ)器進(jìn)行讀或?qū)?。程序指令和?shù)據(jù)的寬度相同。Intel8086、ARM7、MIPS處理器等是馮·諾依曼結(jié)構(gòu)的典型代表。馮·諾依曼結(jié)構(gòu)的構(gòu)成示意圖如圖1-4所示。圖1-4馮·諾依曼結(jié)構(gòu)的構(gòu)成示意圖2)哈佛體系結(jié)構(gòu)在哈佛體系結(jié)構(gòu)中,數(shù)據(jù)和程序使用各自獨(dú)立的存儲(chǔ)器。程序計(jì)數(shù)器PC只指向程序存儲(chǔ)器而不指向數(shù)據(jù)存儲(chǔ)器,這樣做的后果是很難在哈佛體系結(jié)構(gòu)的計(jì)算機(jī)上編寫(xiě)出一個(gè)自修改的程序(有時(shí)稱為在應(yīng)用可編程,InApplicationProgramming,IAP)。哈佛體系結(jié)構(gòu)具有以下優(yōu)點(diǎn):1)獨(dú)立的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器為數(shù)字信號(hào)處理提供了較高的性能。2)指令和數(shù)據(jù)可以有不同的數(shù)據(jù)寬度,具有較高的效率。如恩智浦公司的MC68系列、Zilog公司的Z8系列、ARM9、ARM10系列等。哈佛體系結(jié)構(gòu)的示意圖如圖1-5所示。圖1-5哈佛結(jié)構(gòu)的構(gòu)成示意圖2.高速緩沖存儲(chǔ)器Cache

為了解決微處理器運(yùn)行速度快、存儲(chǔ)器存取速度慢的矛盾,在兩者之間加一級(jí)高速緩沖器Cache。Cache采用與制作CPU相同的半導(dǎo)體工藝,速度與CPU匹配,其容量約占主存的1%左右。Cache的作用是:當(dāng)CPU要從主存儲(chǔ)器(在個(gè)人計(jì)算機(jī)中稱為內(nèi)存)中讀取一個(gè)數(shù)據(jù)時(shí),先在Cache中查找是否有該數(shù)據(jù),若有,則立即從Cache中讀取到CPU,否則用一個(gè)主存儲(chǔ)器訪問(wèn)時(shí)間從主存儲(chǔ)器中讀取這個(gè)數(shù)據(jù)送CPU,與此同時(shí),將包含這個(gè)數(shù)據(jù)字的整個(gè)數(shù)據(jù)塊送到Cache中。3.流水線技術(shù)流水線(pipeline)技術(shù)是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。流水線的工作方式就像工業(yè)生產(chǎn)中的裝配流水線。在工業(yè)制造中采用流水線可以提高單位時(shí)間的生產(chǎn)量;同樣在CPU中采用流水線設(shè)計(jì)也有助于提高CPU的效率。CPU的工作可以大致分為取指、譯碼、執(zhí)行和存結(jié)果4個(gè)步驟。流水線技術(shù)可以使用時(shí)空?qǐng)D來(lái)說(shuō)明。時(shí)空?qǐng)D從時(shí)間和空間兩個(gè)方面描述了流水線的工作過(guò)程。4段指令流水線的時(shí)空?qǐng)D如圖1-6所示。在時(shí)空?qǐng)D中,橫坐標(biāo)代表時(shí)間節(jié)拍,縱坐標(biāo)代表流水線的各個(gè)段。圖1-64段指令流水線的時(shí)空?qǐng)D4.CISC和RISC20世紀(jì)70年代末發(fā)展起來(lái)的計(jì)算機(jī),其結(jié)構(gòu)隨著VISI技術(shù)的飛速發(fā)展而越來(lái)越復(fù)雜,大多數(shù)計(jì)算機(jī)的指令系統(tǒng)多達(dá)幾百條,這些計(jì)算機(jī)被稱為復(fù)雜指令系統(tǒng)計(jì)算機(jī)(ComplexInstructionSetComputer,CISC)。在CISC指令集的各種指令中,大約有20%的指令會(huì)被反復(fù)使用,占整個(gè)程序代碼的80%。而余下的指令卻不經(jīng)常使用,在程序設(shè)計(jì)中只占20%,這種情況造成了硬件和資源的浪費(fèi)。CISC結(jié)構(gòu)的處理器都有一個(gè)指令集,每執(zhí)行一條指令,處理器要在幾百條指令中分類(lèi)查找對(duì)應(yīng)指令,因此需要一定的時(shí)間;由于指令的復(fù)雜,增加了處理器的結(jié)構(gòu)復(fù)雜性以及邏輯電路的級(jí)數(shù),降低了時(shí)鐘頻率,使指令執(zhí)行的速度變慢,純CISC結(jié)構(gòu)的處理器執(zhí)行一條指令至少需要一個(gè)以上的時(shí)鐘周期。RISC是精簡(jiǎn)指令集計(jì)算機(jī)(ReducedInstructionSetComputer)的簡(jiǎn)稱,其指令集結(jié)構(gòu)只有少數(shù)簡(jiǎn)單的指令,使計(jì)算機(jī)硬件簡(jiǎn)化,將CPU的時(shí)鐘頻率提得很高,配合流水線結(jié)構(gòu)可做到一個(gè)時(shí)鐘周期執(zhí)行一條指令,使整個(gè)系統(tǒng)的性能得到提高,性能超過(guò)CISC結(jié)構(gòu)的計(jì)算機(jī)。RISC指令系統(tǒng)的特點(diǎn)是:1)選取使用頻率最高的一些簡(jiǎn)單指令。2)指令長(zhǎng)度固定,指令格式和尋址方式種類(lèi)少。3)只有取數(shù)據(jù)和存數(shù)據(jù)指令訪問(wèn)存儲(chǔ)器,其余指令的操作數(shù)在寄存器之間進(jìn)行。微型計(jì)算機(jī)的應(yīng)用范圍十分廣闊,它不僅在科學(xué)計(jì)算、信息處理、事務(wù)管理和過(guò)程控制等方面占有重要地位,并且在日常生活中也發(fā)揮著不可缺少的作用。目前,微型計(jì)算機(jī)主要有以下幾個(gè)方面的應(yīng)用。1.科學(xué)計(jì)算這是通用微型計(jì)算機(jī)的重要應(yīng)用之一。不少微型機(jī)系統(tǒng)具有較強(qiáng)的運(yùn)算能力,特別是用多個(gè)微處理器構(gòu)成的系統(tǒng),其功能往往可與大型機(jī)相匹配,甚至超過(guò)大型機(jī)。2.信息處理由于Internet的蓬勃發(fā)展,世界進(jìn)入了嶄新的信息時(shí)代,對(duì)大量信息包括多媒體信息的處理是信息時(shí)代的必然要求。連接在Internet上的微型計(jì)算機(jī)配上相應(yīng)的軟件以后,就可以很靈活地對(duì)各種信息進(jìn)行檢索、傳輸、分類(lèi)、加工、存儲(chǔ)和打印。1.1.4微型計(jì)算機(jī)的應(yīng)用3.在工業(yè)控制中的應(yīng)用過(guò)程控制是微型計(jì)算機(jī)應(yīng)用最多、也是最有效的方面之一。目前,在制造工業(yè)和日用品生產(chǎn)廠家中都可見(jiàn)到微型計(jì)算機(jī)控制的自動(dòng)化生產(chǎn)線和數(shù)據(jù)采集系統(tǒng),微型計(jì)算機(jī)的應(yīng)用為生產(chǎn)能力和產(chǎn)品質(zhì)量的迅速提高開(kāi)辟了廣闊前景。例如工廠流水線的智能化管理、電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。4.儀器儀表控制在許多儀器儀表中,已經(jīng)用微處理器代替?zhèn)鹘y(tǒng)的機(jī)械部件或分離的電子部件,使產(chǎn)品減小了體積、降低了價(jià)格,而可靠性和功能卻得到了提高。5.家用電器和民用產(chǎn)品控制可以說(shuō),現(xiàn)在的家用電器基本上都采用了微處理器控制,從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材,到電子稱量設(shè)備,五花八門(mén),無(wú)所不在。6.人工智能方面的應(yīng)用人工智能(ArtificialIntelligence,AI)是研究、開(kāi)發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門(mén)新的技術(shù)科學(xué)。人工智能是計(jì)算機(jī)科學(xué)的一個(gè)分支,它通過(guò)了解智能的實(shí)質(zhì),生產(chǎn)出一種新的能與人類(lèi)智能相似的方式做出反應(yīng)的智能機(jī)器,該領(lǐng)城的研究包括機(jī)器人、語(yǔ)言識(shí)別、圖像識(shí)別、自然語(yǔ)言處理和專(zhuān)家系統(tǒng)等。人工智能還有許多方面的應(yīng)用研究,如機(jī)器學(xué)習(xí)、模式識(shí)別、智能控制及檢索、機(jī)器學(xué)習(xí)及視覺(jué)、智能調(diào)度與指揮等。這些領(lǐng)域的研究成果輝煌,使人驚嘆,隨著全球性高科技的不斷飛速發(fā)展,人工智能會(huì)日臻完善。目前,有計(jì)算機(jī)控制的機(jī)器人、機(jī)械手已經(jīng)在工業(yè)界得到了成功應(yīng)用。1.2ARM概述ARM這個(gè)縮寫(xiě)包含兩個(gè)意思:一是指ARM公司;二是指ARM公司設(shè)計(jì)的低功耗CPU及其架構(gòu),包括ARM1~ARM11與Cortex,其中,被廣泛應(yīng)用的是ARM7、ARM9、ARM11以及Cortex系列。ARM是全球領(lǐng)先的32位嵌入式RISC芯片內(nèi)核設(shè)計(jì)公司。RISC的英文全稱是ReducedInstructionSetComputer,對(duì)應(yīng)的中文是精簡(jiǎn)指令集計(jì)算機(jī)。特點(diǎn)是所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水線技術(shù)。1.2.1ARM簡(jiǎn)介ARM的設(shè)計(jì)具有典型的精簡(jiǎn)指令系統(tǒng)(RISC)風(fēng)格。ARM的體系架構(gòu)已經(jīng)經(jīng)歷了6個(gè)版本,版本號(hào)分別是V1~V6。每個(gè)版本各有特色,定位也各有不同,彼此之間不能簡(jiǎn)單地相互替代。其中,ARM9、ARM10對(duì)應(yīng)的是V5架構(gòu),ARM11對(duì)應(yīng)的是發(fā)表于2001年的V6架構(gòu),時(shí)鐘頻率為350~500MHz,最高可達(dá)1GHz。Cortex是ARM的全新一代處理器內(nèi)核,它在本質(zhì)上是ARMV7架構(gòu)的實(shí)現(xiàn),它完全有別于ARM的其他內(nèi)核,是全新開(kāi)發(fā)的。按照3類(lèi)典型的嵌入式系統(tǒng)應(yīng)用,即高性能、微控制器、實(shí)時(shí)類(lèi),它又分成3個(gè)系列,即Cortex-A、Cortex-M、Cortex-R。而STM32就屬于Cortex-M系列。Cortex-M旨在提供一種高性能、低成本的微處理器平臺(tái),以滿足最小存儲(chǔ)器、小引腳數(shù)和低功耗的需求,同時(shí)兼顧卓越的計(jì)算性能和出色的中斷管理能力。目前典型的、使用最為廣泛的是Cortex-M0、Cortex-M3、Cortex-M4。與MCS-51單片機(jī)采用的哈佛結(jié)構(gòu)不同,Cortex-M采用的是馮·諾依曼結(jié)構(gòu),即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器不分開(kāi)、統(tǒng)一編址。ARM在1990年成立,最初的名字是AdvancedRISCMachinesLtd.,當(dāng)時(shí)它由三家公司-蘋(píng)果電腦公司、Acorn電腦公司以及VLSI技術(shù)(公司)合資成立。1991年,ARM推出了ARM6處理器家族,VLSI則是第一個(gè)制造ARM芯片的公司。后來(lái),TI、NEC、Sharp、ST等陸續(xù)都獲取了ARM授權(quán),使得ARM處理器應(yīng)用在手機(jī)、硬盤(pán)控制器、PDA、家庭娛樂(lè)系統(tǒng)以及其他消費(fèi)電子中。ARM過(guò)去稱作高級(jí)精簡(jiǎn)指令集機(jī)器(AdvancedRISCMachine,更早稱作AcornRISCMachine),是一個(gè)32位精簡(jiǎn)指令集(RISC)處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計(jì)中。ARM公司是一家出售IP(技術(shù)知識(shí)產(chǎn)權(quán))的公司。許多半導(dǎo)體公司持有ARM授權(quán):Intel、TI、Qualcomm、華為、中興、Atmel、Broadcom、CirrusLogic、恩智浦半導(dǎo)體(于2006年從飛利浦獨(dú)立出來(lái))、富士通、英特爾、IBM、NVIDIA、臺(tái)灣新唐科技(NuvotonTechnology)、英飛凌、任天堂、OKI電氣工業(yè)、三星電子、Sharp、STMicroelectronics、TI和VLSI等許多這些公司均擁有各個(gè)不同形式的ARM授權(quán)。ARM公司與獲得授權(quán)的半導(dǎo)體公司的關(guān)系如圖1-7所示。圖1-7在微控制器中使用ARM授權(quán)1985年以來(lái),ARM陸續(xù)發(fā)布了多個(gè)ARM內(nèi)核架構(gòu)版本,從ARMV4架構(gòu)開(kāi)始的ARM架構(gòu)發(fā)展歷程如圖1-8所示。目前,ARM體系結(jié)構(gòu)已經(jīng)經(jīng)歷了6個(gè)版本。從V6版本開(kāi)始,各個(gè)版本都在實(shí)際中裝得了應(yīng)用,各個(gè)版本中還有一些變種,如支持Thb指令集的工變種、長(zhǎng)乘法指令(M)變種、ARM媒體功能擴(kuò)展(SIMI)變種、支持Java的J變種和增強(qiáng)功能的E變種等。例如,ARM7TDMI表示該處理器支持Thumb指令集(T)、片上Debug(D)、內(nèi)嵌硬件乘法器(M)、嵌入式ICE(I)。

1.2.2ARM架構(gòu)的演變圖1-8ARM架構(gòu)的發(fā)展歷程圖1-9常見(jiàn)ARM處理器的演變常見(jiàn)ARM處理器的演變過(guò)程如圖1-9所示。

圖1-10各種架構(gòu)的ARM應(yīng)用領(lǐng)域各種架構(gòu)的ARM應(yīng)用領(lǐng)域如圖1-10所示。在ARM公司發(fā)出的Cortex內(nèi)核授權(quán)中,Cortex-M3內(nèi)核發(fā)出的授權(quán)數(shù)量最多。在諸多獲得Cortex-M3內(nèi)核授權(quán)的公司中,意法半導(dǎo)體公司是較早在市場(chǎng)上推出基于CortexM3內(nèi)核微控制器的廠商,STM32F1系列是其典型的產(chǎn)品系列。本書(shū)后續(xù)介紹的ARMCortex-M3是諸多ARM內(nèi)核架構(gòu)中的一種,并以基于該內(nèi)核的意法半導(dǎo)體公司的STM32F103VET6微控制器為背景進(jìn)行原理介紹,以STM32F103VET6微控制器開(kāi)發(fā)為背景進(jìn)行應(yīng)用實(shí)例講解。如圖1-11所示,任何微處理器都至少由內(nèi)核、存儲(chǔ)器、總線、I/O構(gòu)成。ARM公司的芯片特點(diǎn)是內(nèi)核部分都是統(tǒng)一的,由ARM設(shè)計(jì),但是其他部分各個(gè)芯片制造商可以有自己的設(shè)計(jì)。有的甚至包含一些外設(shè)在里面。Cortex-M3處理器內(nèi)核是微處理器的中央處理單元(CPU)。完整的基于Cortex-M3的MCU還需要很多其他組件。在芯片制造商得到Cortex-M3處理器內(nèi)核的使用授權(quán)后,1.2.3ARM體系結(jié)構(gòu)與特點(diǎn)圖1-11微處理器內(nèi)核示例如果把處理器內(nèi)核更加詳細(xì)地畫(huà)出來(lái),圖1-12表示出了處理器內(nèi)核中包含中斷控制器、取指單元、指令解碼器、寄存器組、算術(shù)邏輯單元(ALU)、存儲(chǔ)器接口、跟蹤接口等。如果把總線細(xì)分下去,總線可以分成指令總線和數(shù)據(jù)總線,并且這兩種總線之間帶有存儲(chǔ)器保護(hù)單元。這兩種總線從內(nèi)核的存儲(chǔ)器接口接到總線網(wǎng)絡(luò)上,再與指令存儲(chǔ)器、存儲(chǔ)器系統(tǒng)和外設(shè)等連接在一起。存儲(chǔ)器也可細(xì)分為指令存儲(chǔ)器和其他存儲(chǔ)器。外設(shè)可以分為私有外設(shè)和其他外設(shè)等。圖1-12微處理內(nèi)核進(jìn)一步細(xì)化圖1-13從編程員的角度看到的微處理器內(nèi)核如果從編程的角度來(lái)看待微處理器,如圖1-13所示,則看到的主要就是一些寄存器和地址。Cortex-M3是ARM公司在ARMV7架構(gòu)的基礎(chǔ)上設(shè)計(jì)出來(lái)的一款新型的芯片內(nèi)核。相對(duì)于其他ARM系列的微控制器,Cortex-M3內(nèi)核擁有以下優(yōu)勢(shì)和特點(diǎn)。1.2.4Cortex-M3處理器的主要特性1.三級(jí)流水線和分支預(yù)測(cè)現(xiàn)代處理器中,大多數(shù)都采用了指令預(yù)存及流水線技術(shù),來(lái)提高處理器的指令運(yùn)行速度。執(zhí)行指令的過(guò)程中,如果遇到了分支指令,由于執(zhí)行的順序也許會(huì)發(fā)生改變,指令預(yù)取隊(duì)列和流水線中的一些指令就可能作廢,需要重新取相應(yīng)的地址,這樣會(huì)使得流水線出現(xiàn)“斷流現(xiàn)象”,處理器的性能會(huì)受到影響。尤其在C語(yǔ)言程序中,分支指令的比例能達(dá)到10%~20%,這對(duì)于處理器來(lái)說(shuō)無(wú)疑是一件很恐怖的事情。因此,現(xiàn)代高性能的流水線處理器都會(huì)就一些分支預(yù)測(cè)的部件,在處理器從存儲(chǔ)器預(yù)取指令的過(guò)程中,當(dāng)遇到分支指令時(shí),處理器能自動(dòng)預(yù)測(cè)跳轉(zhuǎn)是否會(huì)發(fā)生,然后才從預(yù)測(cè)的方向進(jìn)行相應(yīng)的取值,從而讓流水線能連續(xù)地執(zhí)行指令,保證它的性能。2.哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)的處理器采用獨(dú)立的數(shù)據(jù)總線和指令總線,處理器可以同時(shí)進(jìn)行對(duì)指令和數(shù)據(jù)的讀寫(xiě)操作,使得處理器的運(yùn)行速度得以提高。3.內(nèi)置嵌套向量中斷控制器Cortex-M3首次在內(nèi)核部分采用了嵌套向量中斷控制器,即NVIC。也正是采用了中斷嵌套的方式,使得Cortex-M3能將中斷延遲減小到12個(gè)時(shí)鐘周期(一般,ARM7需要24~42個(gè)時(shí)鐘周期)。Cortex-M3不僅采用了NVIC技術(shù),還采用了尾鏈技術(shù),從而使中斷響應(yīng)時(shí)間減小到了6個(gè)時(shí)鐘周期。4.支持位綁定操作在Cortex-M3內(nèi)核出現(xiàn)之前,ARM內(nèi)核是不支持位操作的,而是要用邏輯與、或的操作方式來(lái)屏蔽對(duì)其他位的影響。這樣的結(jié)果帶來(lái)的是指令的增加和處理時(shí)間的增加。Cortex-M3采用了位綁定的方式讓位操作成為可能。5.支持串行調(diào)試(SWD)一般的ARM處理器采用的都是JTAG調(diào)試接口,但是JTAG接口占用的芯片I/O端口過(guò)多,這對(duì)于一些引腳少的處理器來(lái)說(shuō)很浪費(fèi)資源。Cortex-M3在原來(lái)的JTAG接口的基礎(chǔ)上增加了SWD模式,只需要兩個(gè)I/O端口即可完成仿真,節(jié)約了調(diào)試占用的引腳。6.支持低功耗模式Cortex-M3內(nèi)核在原來(lái)的只有運(yùn)行/停止的模式上增加了休眠模式,使得Cortex-M3的運(yùn)行功耗也很低。7.擁有高效的Thumb216/32位混合指令集原有的ARM7、ARM9等內(nèi)核使用的都是不同的指令,例如32位的ARM指令和16位的Thumb指令。Cortex-M3使用了更高效的Thumb2指令來(lái)實(shí)現(xiàn)接近Thumb指令的代碼尺寸,達(dá)到ARM編碼的運(yùn)行性能。Thumb2是一種高效的、緊湊的新一代指令集。8.32位硬件除法和單周期乘法Cortex-M3內(nèi)核加入了32位的除法指令,彌補(bǔ)了一些除法密集型運(yùn)用中性能不好的問(wèn)題。同時(shí),Cortex-M3內(nèi)核也改進(jìn)了乘法運(yùn)算的部件,使得32位乘32位的乘法在運(yùn)行時(shí)間上減少到了一個(gè)時(shí)鐘周期。9.支持存儲(chǔ)器非對(duì)齊模式訪問(wèn)Cortex-M3內(nèi)核的MCU一般用的內(nèi)部寄存器都是32位編址。如果處理器只能采用對(duì)齊的訪問(wèn)模式,那么有些數(shù)據(jù)就必須被分配,占用一個(gè)32位的存儲(chǔ)單元,這是一種浪費(fèi)的現(xiàn)象。為了解決這個(gè)問(wèn)題,Cortex-M3內(nèi)核采用了支持非對(duì)齊模式的訪問(wèn)方式,從而提高了存儲(chǔ)器的利用率。10.內(nèi)部定義了統(tǒng)一的存儲(chǔ)器映射在ARM7、ARM9等內(nèi)核中沒(méi)有定義存儲(chǔ)器的映射,不同的芯片廠商需要自己定義存儲(chǔ)器的映射,這使得芯片廠商之間存在不統(tǒng)一的現(xiàn)象,給程序的移植帶來(lái)了麻煩。Cortex-M3則采用了統(tǒng)一的存儲(chǔ)器映射的分配,使得存儲(chǔ)器映射得到了統(tǒng)一。11.極高的性價(jià)比Cortex-M3內(nèi)核的MCU相對(duì)于其他的ARM系列的MCU性價(jià)比高許多。ARMCortex-M3處理器是新一代的32位處理器,是一個(gè)高性能、低成本的開(kāi)發(fā)平臺(tái),適用于微控制器、工業(yè)控制系統(tǒng)以及無(wú)線網(wǎng)絡(luò)傳感器等應(yīng)用場(chǎng)合。其特點(diǎn)為:1)性能豐富成本低。專(zhuān)門(mén)針對(duì)微控制器應(yīng)用特點(diǎn)而開(kāi)發(fā)的32位MCU,具有高性能、低成本、易應(yīng)用等優(yōu)點(diǎn)。2)低功耗。把睡眠模式與狀態(tài)保留功能結(jié)合在一起,確保Cortex-M3處理器既可提供低能耗,又不影響其很高的運(yùn)行性能。3)可配置性強(qiáng)。Cortex-M3的NVIC(NestedVectoredInterruptController,嵌套向量中斷控制器)功能提高了設(shè)計(jì)的可配置性,提供了多達(dá)240個(gè)具有單獨(dú)優(yōu)先級(jí)、動(dòng)態(tài)重設(shè)優(yōu)先級(jí)功能和集成系統(tǒng)時(shí)鐘的系統(tǒng)中斷。1.2.5Cortex-M3處理器結(jié)構(gòu)4)豐富的鏈接。功能和性能兼顧的良好組合,使基于Cortex-M3的設(shè)備可以有效處理多個(gè)IO通道和協(xié)議標(biāo)準(zhǔn)。Cortex-M3處理器結(jié)構(gòu)如圖1-14所示。圖1-14Cortex-M3處理器結(jié)構(gòu)Cortex-M3處理器結(jié)構(gòu)中各個(gè)部分的解釋和功能如下:1)嵌套向量中斷控制器(NVIC):負(fù)責(zé)中斷控制。該控制器和內(nèi)核是緊耦合的,提供可屏蔽、可嵌套、動(dòng)態(tài)優(yōu)先級(jí)的中斷管理。2)CortexM3處理器核(Cortex-M3processorcore):Cortex-M3處理器核是處理器的核心所在。3)存地址重載及斷點(diǎn)(FPB):實(shí)現(xiàn)硬件斷點(diǎn)以及代碼空間到系統(tǒng)空間的映射。4)內(nèi)存保護(hù)單元(MPU):內(nèi)存保護(hù)單元MPU的主要作用是實(shí)施存儲(chǔ)器的保護(hù),它能夠在系統(tǒng)或程序出現(xiàn)異常而非正常地訪問(wèn)不應(yīng)該訪問(wèn)的存儲(chǔ)空間時(shí),通過(guò)觸發(fā)異常中斷而達(dá)到提高系統(tǒng)可靠性的目的。STM32系統(tǒng)并沒(méi)有使用該單元。5)數(shù)據(jù)觀察點(diǎn)及跟蹤單元(DWT):調(diào)試中用于數(shù)據(jù)觀察功能。6)AHB訪問(wèn)端口(AHB-AP):高速總線AHB訪問(wèn)端口將SW/SWJ端口的命令轉(zhuǎn)換為AHB的命令傳送。7)總線矩陣(BusMatrix):Cortex-M3總線矩陣,CPU內(nèi)部的總線通過(guò)總線矩陣連接到外部的ICode、DCode及系統(tǒng)總線。8)指令跟蹤宏單元(ITM):可以產(chǎn)生時(shí)間戳數(shù)據(jù)包并插入到跟蹤數(shù)據(jù)流中,用于幫助調(diào)試器求出各事件的發(fā)生時(shí)間。9)喚醒中斷控制器(WIC):WIC可以使處理器和NVIC處于一個(gè)低功耗睡眠的模式。10)嵌入式跟蹤宏單元(ETM):調(diào)試中用于處理指令跟蹤。11)串行調(diào)試端口/串行JTAG調(diào)試端口(SW-DP/SWJ-DP):串行調(diào)試的端口。12)跟蹤端口接口單元(TPIU):跟蹤端口的接口單元。用于向外部跟蹤捕獲硬件發(fā)送調(diào)試停息的接口單元,作為來(lái)自ITM和ETM的Cortex-M3內(nèi)核跟蹤數(shù)據(jù)與片外跟蹤端口之間的橋接。Cortex-M3既然是32位處理器核,地址線、數(shù)據(jù)線都是32位的。采用了哈佛結(jié)構(gòu)。哈佛這種并行結(jié)構(gòu)將程序指令和數(shù)據(jù)分開(kāi)進(jìn)行存儲(chǔ),其優(yōu)點(diǎn)是因?yàn)樵谝粋€(gè)機(jī)器周期內(nèi)處理器可以并行獲得執(zhí)行字和操作數(shù),提高了執(zhí)行速度。簡(jiǎn)單理解一下,指令存儲(chǔ)器和其他數(shù)據(jù)存儲(chǔ)器采用不同的總線(ICode和DCode總線),可并行取得指令和數(shù)據(jù)。1.3嵌入式系統(tǒng)隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)的處理速度越來(lái)越快,存儲(chǔ)容量越來(lái)越大,外圍設(shè)備的性能越來(lái)越好,滿足了高速數(shù)值計(jì)算和海量數(shù)據(jù)處理的需要,形成了高性能的通用計(jì)算機(jī)系統(tǒng)。國(guó)際電氣和電子工程師協(xié)會(huì)(IEEE)定義的嵌入式系統(tǒng)是“用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備運(yùn)行的裝置”(原文為devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。這主要是從應(yīng)用上加以定義的,從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。目前國(guó)內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義是,以計(jì)算機(jī)技術(shù)為基礎(chǔ),以應(yīng)用為中心,軟件、硬件可剪裁,適合應(yīng)用系統(tǒng)對(duì)功能可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)業(yè)計(jì)算機(jī)系統(tǒng)。在構(gòu)成上,嵌入式系統(tǒng)以微控制器及軟件為核心部件,兩者缺一不可;在特征上,嵌入式系統(tǒng)具有方便、靈活地嵌入到其他應(yīng)用系統(tǒng)的特征,即具有很強(qiáng)的可嵌入性。按嵌入式微控制器類(lèi)型劃分,嵌入式系統(tǒng)可分為以單片機(jī)為核心的嵌入式單片機(jī)系統(tǒng)、以工業(yè)計(jì)算機(jī)板為核心的嵌入式計(jì)算機(jī)系統(tǒng)、以DSP為核心組成的嵌入式數(shù)字信號(hào)處理器系統(tǒng)、以FPGA為核心的嵌入式SOPC(SystemonaProgrammableChip,可編程片上系統(tǒng))等。嵌入式系統(tǒng)在含義上與傳統(tǒng)的單片機(jī)系統(tǒng)和計(jì)算機(jī)系統(tǒng)有很多重疊部分。為了方便區(qū)分,在實(shí)際應(yīng)用中,嵌入式系統(tǒng)還應(yīng)該具備下述三個(gè)特征。1)嵌入式系統(tǒng)的微控制器通常是由32位及以上的RISC(ReducedInstructionSetComputer,精簡(jiǎn)指令集計(jì)算機(jī))處理器組成的。2)嵌入式系統(tǒng)的軟件系統(tǒng)通常是以嵌入式操作系統(tǒng)為核心,外加用戶應(yīng)用程序。3)嵌入式系統(tǒng)在特征上具有明顯的可嵌入性。嵌入式系統(tǒng)應(yīng)用經(jīng)歷了無(wú)操作系統(tǒng)、單操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)和面向Intemet

四個(gè)階段。21世紀(jì)無(wú)疑是一個(gè)網(wǎng)絡(luò)的時(shí)代,互聯(lián)網(wǎng)的快速發(fā)展及廣泛應(yīng)用為嵌入式系統(tǒng)的發(fā)展及應(yīng)用提供了良好的機(jī)遇?!叭斯ぶ悄堋边@一熱詞一夜之間人盡皆知。而嵌入式在其發(fā)展過(guò)程中扮演著重要角色。嵌入式系統(tǒng)的發(fā)展大致經(jīng)歷了以下三個(gè)階段。(1)以嵌入式微控制器為基礎(chǔ)的初級(jí)嵌入式系統(tǒng)。(2)以嵌入式操作系統(tǒng)為基礎(chǔ)的中級(jí)嵌入式系統(tǒng)。(3)以Internet和RTOS為基礎(chǔ)的高級(jí)嵌入式系統(tǒng)。嵌入式技術(shù)與Internet技術(shù)的結(jié)合正在推動(dòng)著嵌入式系統(tǒng)的飛速發(fā)展,為嵌入式系統(tǒng)市場(chǎng)展現(xiàn)出了美好的前景,也對(duì)嵌入式系統(tǒng)的生產(chǎn)廠商提出了新的挑戰(zhàn)。未來(lái)嵌入式系統(tǒng)的發(fā)展趨勢(shì)如下。(1)嵌入式系統(tǒng)的開(kāi)發(fā)成為一項(xiàng)系統(tǒng)工程,開(kāi)發(fā)廠商不僅需要提供嵌入式系統(tǒng)的軟硬件,還需要提供強(qiáng)大的硬件開(kāi)發(fā)工具和軟件支持包。1.3.1

嵌入式系統(tǒng)概述(2)網(wǎng)絡(luò)化、信息化的要求隨著Internet技術(shù)的成熟和帶寬的提高而變得日益突出,電話、手機(jī)冰箱、微波爐等設(shè)備的功能和結(jié)構(gòu)會(huì)變得更加復(fù)雜,網(wǎng)絡(luò)互聯(lián)將成為必然趨勢(shì)。(3)系統(tǒng)內(nèi)核更加精簡(jiǎn),關(guān)鍵算法得到優(yōu)化,系統(tǒng)功耗和軟硬件成本進(jìn)一步降低。(4)為了適應(yīng)網(wǎng)絡(luò)發(fā)展的要求,未來(lái)的嵌入式系統(tǒng)必然要求其硬件提供各種網(wǎng)絡(luò)通信接口,同時(shí)系統(tǒng)要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動(dòng)軟件;系統(tǒng)內(nèi)核支持網(wǎng)絡(luò)模塊,甚至可以在設(shè)備上嵌入Web瀏覽器,真正實(shí)現(xiàn)隨時(shí)隨地使用各種設(shè)備上網(wǎng)。(5)提供更加友好的多媒體人機(jī)交互界面。通用計(jì)算機(jī)具有計(jì)算機(jī)的標(biāo)準(zhǔn)形式,通過(guò)裝配不同的應(yīng)用軟件,應(yīng)用在社會(huì)的各個(gè)方面?,F(xiàn)在,在辦公室、家庭中廣泛使用的個(gè)人計(jì)算機(jī)(PC)就是通用計(jì)算機(jī)最典型的代表。而嵌入式計(jì)算機(jī)則是以嵌入式系統(tǒng)的形式隱藏在各種裝置、產(chǎn)品和系統(tǒng)中。在許多應(yīng)用領(lǐng)域,如工業(yè)控制、智能儀器儀表、家用電器、電子通信設(shè)備等,對(duì)嵌入式計(jì)算機(jī)的應(yīng)用有著不同的要求。主要要求如下。1)能面對(duì)控制對(duì)象,例如面對(duì)物理量傳感器的信號(hào)輸入,面對(duì)人機(jī)交互的操作控制,面對(duì)對(duì)象的伺服驅(qū)動(dòng)和控制。2)可嵌入到應(yīng)用系統(tǒng)。由于體積小,低功耗,價(jià)格低廉,可方便地嵌入到應(yīng)用系統(tǒng)和電子產(chǎn)品中。3)能在工業(yè)現(xiàn)場(chǎng)環(huán)境中長(zhǎng)時(shí)間可靠運(yùn)行。4)控制功能優(yōu)良。對(duì)外部的各種模擬和數(shù)字信號(hào)能及時(shí)地捕捉,對(duì)多種不同的控制對(duì)象能靈活地進(jìn)行實(shí)時(shí)控制。作為計(jì)算機(jī)系統(tǒng)的不同分支,嵌入式系統(tǒng)和人們熟悉的通用計(jì)算機(jī)系統(tǒng)既有共性也有差異。嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)的共同點(diǎn)嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)都屬于計(jì)算機(jī)系統(tǒng),從系統(tǒng)組成上講,它們都是由硬件和軟件構(gòu)成的;工作原理是相同的,都是存儲(chǔ)程序機(jī)制。從硬件上看,嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)都是由CPU、存儲(chǔ)器、I/O接口和中斷系統(tǒng)等部件組成;從軟件上看,嵌入式系統(tǒng)軟件和通用計(jì)算機(jī)軟件都可以劃分為系統(tǒng)軟件和應(yīng)用軟件兩類(lèi)。作為計(jì)算機(jī)系統(tǒng)的一個(gè)新興的分支,嵌入式系統(tǒng)與人們熟悉和常用的通用計(jì)算機(jī)系統(tǒng)相比又具有以下不同點(diǎn)。1.3.2嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)比較1)形態(tài)。通用計(jì)算機(jī)系統(tǒng)具有基本相同的外形(如主機(jī)、顯示器、鼠標(biāo)和鍵盤(pán)等)并且獨(dú)立存在;而嵌入式系統(tǒng)通常隱藏在具體某個(gè)產(chǎn)品或設(shè)備(稱為宿主對(duì)象,如空調(diào)、洗衣機(jī)、數(shù)字機(jī)頂盒等)中,它的形態(tài)隨著產(chǎn)品或設(shè)備的不同而不同。2)功能。通用計(jì)算機(jī)系統(tǒng)一般具有通用而復(fù)雜的功能,任意一臺(tái)通用計(jì)算機(jī)都具有文檔編輯、影音播放、娛樂(lè)游戲、網(wǎng)上購(gòu)物和通信聊天等通用功能;而嵌入式系統(tǒng)嵌入在某個(gè)宿主對(duì)象中。功能由宿主對(duì)象決定,具有專(zhuān)用性,通常是為某個(gè)應(yīng)用量身定做的。3)功耗。目前,通用計(jì)算機(jī)系統(tǒng)的功耗一般為200W左右;而嵌入式系統(tǒng)的宿主對(duì)象通常是小型應(yīng)用系統(tǒng),如手機(jī)、MP3和智能手環(huán)等,這些設(shè)備不可能配置容量較大的電源,因此,低功耗一直是嵌入式系統(tǒng)追求的目標(biāo),如日常生活中使用的智能手機(jī),其待機(jī)功率100~200mW,即使在通話時(shí)功率也只有4~5W。4)資源。通用計(jì)算機(jī)系統(tǒng)通常擁有大而全的資源(如鼠標(biāo)、鍵盤(pán)、硬盤(pán)、內(nèi)存條和顯示器等);而嵌入式系統(tǒng)受限于嵌入的宿主對(duì)象(如手機(jī)、MP3和智能手環(huán)等),通常要求小型化和低功耗,其軟硬件資源受到嚴(yán)格的限制。5)價(jià)值。通用計(jì)算機(jī)系統(tǒng)的價(jià)值體現(xiàn)在“計(jì)算”和“存儲(chǔ)”上,計(jì)算能力(處理器的字長(zhǎng)和主頻等)和存儲(chǔ)能力(內(nèi)存和硬盤(pán)的大小和讀取速度等)是通用計(jì)算機(jī)的通用評(píng)價(jià)指標(biāo);而嵌入式系統(tǒng)往往嵌入到某個(gè)設(shè)備和產(chǎn)品中,其價(jià)值一般不取決于其內(nèi)嵌的處理器的性能,而體現(xiàn)在它所嵌入和控制的設(shè)備。如一臺(tái)智能洗衣機(jī)往往用洗凈比、洗滌容量和脫水轉(zhuǎn)速等來(lái)衡量,而不以其內(nèi)嵌的微控制器的運(yùn)算速度和存儲(chǔ)容量等來(lái)衡量。通過(guò)嵌入式系統(tǒng)的定義和嵌入式系統(tǒng)與通用計(jì)算機(jī)系統(tǒng)的比較,可以看出嵌入式系統(tǒng)具有以下特點(diǎn)。1.專(zhuān)用性強(qiáng)嵌入式系統(tǒng)按照具體應(yīng)用需求進(jìn)行設(shè)計(jì),完成指定的任務(wù),通常不具備通用性,只能面向某個(gè)特定應(yīng)用,就像嵌入在微波爐中的控制系統(tǒng)只能完成微波爐的基本操作,而不能在洗衣機(jī)中使用。2.可裁剪性受限于體積、功耗和成本等因素,嵌入式系統(tǒng)的硬件和軟件必須高效率地設(shè)計(jì),根據(jù)實(shí)際應(yīng)用需求量體裁衣,去除冗余,從而使系統(tǒng)在滿足應(yīng)用要求的前提下達(dá)到最精簡(jiǎn)的配置。1.3.3嵌入式系統(tǒng)的特點(diǎn)3.實(shí)時(shí)性好所謂實(shí)時(shí)性是指系統(tǒng)能夠及時(shí)(在限定時(shí)間內(nèi))處理外部事件。大多數(shù)實(shí)時(shí)系統(tǒng)都是嵌入式系統(tǒng),而嵌入式系統(tǒng)多數(shù)也有實(shí)時(shí)性的要求,例如,用戶將銀行卡插入ATM機(jī)插卡口,ATM機(jī)控制系統(tǒng)必須立即啟動(dòng)讀卡程序。4.可靠性高很多嵌入式系統(tǒng)必須一年365天、每天24小時(shí)持續(xù)工作,甚至在極端環(huán)境下正常運(yùn)行。大多數(shù)嵌入式系統(tǒng)都具有可靠性機(jī)制,例如,硬件的看門(mén)狗定時(shí)器、軟件的內(nèi)存保護(hù)和重啟機(jī)制等,以保證嵌入式系統(tǒng)在出現(xiàn)問(wèn)題時(shí)能夠重新啟動(dòng),保障系統(tǒng)的健壯性。5.生命周期長(zhǎng)遵從于摩爾定律,通用計(jì)算機(jī)的更新?lián)Q代速度較快。嵌入式系統(tǒng)的生命周期與其嵌入的產(chǎn)品或設(shè)備同步,經(jīng)歷產(chǎn)品導(dǎo)入期、成長(zhǎng)期、成熟期和衰退期等各個(gè)階段,一般比通用計(jì)算機(jī)要長(zhǎng)。6.不易被壟斷嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)和各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,這一點(diǎn)就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。因此,嵌入式系統(tǒng)不易在市場(chǎng)上形成壟斷。目前,嵌入式系統(tǒng)處于百花齊放、各有所長(zhǎng)、全面發(fā)展的時(shí)代,各類(lèi)嵌入式系統(tǒng)軟硬件差別顯著,其通用性和可移植性都較通用計(jì)算機(jī)系統(tǒng)要差。在學(xué)習(xí)嵌入式系統(tǒng)時(shí)要有所側(cè)重,然后觸類(lèi)旁通。1.4嵌入式系統(tǒng)的軟件嵌入式系統(tǒng)的軟件一般固化于嵌入式存儲(chǔ)器中,是嵌入式系統(tǒng)的控制核心,控制著嵌入式系統(tǒng)的運(yùn)行,實(shí)現(xiàn)嵌入式系統(tǒng)的功能。由此可見(jiàn),嵌入式軟件在很大程度上決定整個(gè)嵌入式系統(tǒng)的價(jià)值。從軟件結(jié)構(gòu)上劃分,嵌入式系統(tǒng)的軟件分為無(wú)操作系統(tǒng)和帶操作系統(tǒng)兩種。對(duì)于通用計(jì)算機(jī),操作系統(tǒng)是整個(gè)軟件的核心,不可或缺;然而,對(duì)于嵌入式系統(tǒng),由于其專(zhuān)用性,在某些情況下無(wú)需操作系統(tǒng)。尤其在嵌入式系統(tǒng)發(fā)展的初期,由于較低的硬件配置、單一的功能需求以及有限的應(yīng)用領(lǐng)域(主要集中在工業(yè)控制和國(guó)防軍事領(lǐng)域),嵌入式軟件的規(guī)模通常較小,沒(méi)有專(zhuān)門(mén)的操作系統(tǒng)。在組成結(jié)構(gòu)上,無(wú)操作系統(tǒng)的嵌入式軟件僅由引導(dǎo)程序和應(yīng)用程序兩部分組成,如圖1-15所示。引導(dǎo)程序一般由匯編語(yǔ)言編寫(xiě),在嵌入式系統(tǒng)上電后運(yùn)行,完成自檢、存儲(chǔ)映射、時(shí)鐘系統(tǒng)和外設(shè)接口配置等一系列硬件初始化操作。應(yīng)用程序一般由C語(yǔ)言編寫(xiě),直接架構(gòu)在硬件之上,在引導(dǎo)程序之后運(yùn)行,負(fù)責(zé)實(shí)現(xiàn)嵌入式系統(tǒng)的主要功能。

1.4.1無(wú)操作系統(tǒng)的嵌入式軟件圖1-15無(wú)操作系統(tǒng)嵌入式軟件結(jié)構(gòu)隨著嵌入式應(yīng)用在各個(gè)領(lǐng)域的普及和深入,嵌入式系統(tǒng)向多樣化、智能化和網(wǎng)絡(luò)化發(fā)展,其對(duì)功能、實(shí)時(shí)性、可靠性和可移植性等方面的要求越來(lái)越高,嵌入式軟件日趨復(fù)雜,越來(lái)越多地采用嵌入式操作系統(tǒng)+應(yīng)用軟件的模式。相比無(wú)操作系統(tǒng)的嵌入式軟件,帶操作系統(tǒng)的嵌入式軟件規(guī)模較大,其應(yīng)用軟件架構(gòu)于嵌入式操作系統(tǒng)上,而非直接面對(duì)嵌入式硬件,可靠性高,開(kāi)發(fā)周期短,易于移植和擴(kuò)展,適用于功能復(fù)雜的嵌入式系統(tǒng)。帶操作系統(tǒng)的嵌入式軟件的體系結(jié)構(gòu)如圖1-16所示,自下而上包括設(shè)備驅(qū)動(dòng)層、操作系統(tǒng)層和應(yīng)用軟件層等。1.4.2帶操作系統(tǒng)的嵌入式軟件圖1-15帶操作系統(tǒng)的嵌入式軟件的體系結(jié)構(gòu)構(gòu)嵌入式操作系統(tǒng)(EmbeddedOperatingSystem,EOS)是指用于嵌入式系統(tǒng)的操作系統(tǒng)。嵌入式操作系統(tǒng)是一種用途廣泛的系統(tǒng)軟件,通常包括與硬件相關(guān)的底層驅(qū)動(dòng)軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)負(fù)責(zé)嵌入式系統(tǒng)的全部軟硬件資源的分配、任務(wù)調(diào)度、控制與協(xié)調(diào)并發(fā)活動(dòng)。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過(guò)裝卸某些模塊來(lái)達(dá)到系統(tǒng)所要求的功能。目前在嵌入式領(lǐng)域廣泛使用的操作系統(tǒng)有:嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II、嵌入式Linux、WindowsCE、VxWorks等,以及應(yīng)用在智能手機(jī)和平板電腦的Android、iOS等。1.4.3典型嵌入式操作系統(tǒng)1.μC/OS-IIμC/OSII(Micro-ControllerOperatingSystemTwo)是一個(gè)可以基于ROM運(yùn)行的、可裁剪的、搶占式、實(shí)時(shí)多任務(wù)內(nèi)核,具有高度可移植性,特別適合于微處理器和控制器,適合很多商業(yè)操作系統(tǒng)性能相當(dāng)?shù)膶?shí)時(shí)操作系統(tǒng)(RTOS)。為了提供最好的移植性能,μC/OSII最大程度上使用ANSIC語(yǔ)言進(jìn)行開(kāi)發(fā),并且已經(jīng)移植到近40多種處理器體系上,涵蓋了從8位到64位各種CPU(包括DSP)。μC/OSII可以視為一個(gè)簡(jiǎn)單的多任務(wù)調(diào)度器,在這個(gè)任務(wù)調(diào)度器之上完善并添加了和多任務(wù)操作系統(tǒng)相關(guān)的系統(tǒng)服務(wù),如信號(hào)量、郵箱等。其主要特點(diǎn)有公開(kāi)源代碼,代碼結(jié)構(gòu)清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。內(nèi)核屬于搶占式,最多可以管理60個(gè)任務(wù)。從1992年開(kāi)始,由于高度可靠性、魯棒性和安全性,μC/OSII已經(jīng)廣泛使用在照相機(jī)、航空電子產(chǎn)品等應(yīng)用中。2.嵌入式Linux嵌入式Linux是嵌入式操作系統(tǒng)的一個(gè)新成員,其最大的特點(diǎn)是源代碼公開(kāi)并且遵循GPL協(xié)議,近幾年來(lái)已成為研究熱點(diǎn)。目前正在開(kāi)發(fā)的嵌入式系統(tǒng)中,有近50%的項(xiàng)目選擇Linux作為嵌入式操作系統(tǒng)。嵌入式Linux是將日益流行的Linux操作系統(tǒng)進(jìn)行裁剪修改,使之能在嵌入式計(jì)算機(jī)系統(tǒng)上運(yùn)行的一種操作系統(tǒng)。嵌入式Linux既繼承了Internet上無(wú)限的開(kāi)放源代碼資源,又具有嵌入式操作系統(tǒng)的特性。嵌入式Linux的特點(diǎn)是版權(quán)免費(fèi);為全世界的自由軟件開(kāi)發(fā)者提供支持,而且性能優(yōu)異,軟件移植容易,代碼開(kāi)放,有許多應(yīng)用軟件支持,應(yīng)用產(chǎn)品開(kāi)發(fā)周期短,新產(chǎn)品上市迅速,系統(tǒng)實(shí)時(shí)性、穩(wěn)定性和安全性好。3.AndroidAndroid是一種基于Linux的自由及開(kāi)放源代碼的操作系統(tǒng),主要應(yīng)用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開(kāi)放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開(kāi)發(fā)。Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)、智能手表等。4.WindowsCEWindowsEmbeddedCompact(即WindowsCE)是微軟公司嵌入式、移動(dòng)計(jì)算平臺(tái)的基礎(chǔ),它是一個(gè)可搶先式、多任務(wù)、多線程并具有強(qiáng)大通信能力的32位嵌入式操作系統(tǒng),是微軟公司為移動(dòng)應(yīng)用、信息設(shè)備、消費(fèi)電子和各種嵌入式應(yīng)用而設(shè)計(jì)的實(shí)時(shí)系統(tǒng),目標(biāo)是實(shí)現(xiàn)移動(dòng)辦公、便攜娛樂(lè)和智能通信。從理論上講,基于操作系統(tǒng)的開(kāi)發(fā)模式具有快捷、高效的特點(diǎn),開(kāi)發(fā)的軟件移植性、后期維護(hù)性、程序穩(wěn)健性等都比較好。但不是所有系統(tǒng)都要基于操作系統(tǒng),因?yàn)檫@種模式要求開(kāi)發(fā)者對(duì)操作系統(tǒng)的原理有比較深入的掌握,一般功能比較簡(jiǎn)單的系統(tǒng),不建議使用操作系統(tǒng),畢竟操作系統(tǒng)也占用系統(tǒng)資源;也不是所有系統(tǒng)都能使用操作系統(tǒng),因?yàn)椴僮飨到y(tǒng)對(duì)系統(tǒng)的硬件有一定的要求。因此,在通常情況下,雖然STM32單片機(jī)是32位系統(tǒng),但不主張嵌入操作系統(tǒng)。如果系統(tǒng)足夠復(fù)雜,任務(wù)足夠多,又或者有類(lèi)似于網(wǎng)絡(luò)通信、文件處理、圖形接口需求加入時(shí),不得不引入操作系統(tǒng)來(lái)管理軟硬件資源時(shí),也要選擇輕量化的操作系統(tǒng),比如選擇μC/OS-II的比較多,其相應(yīng)的參考資源也比較多;建議不要選擇Linux、Android和WindowsCE這樣的重量級(jí)的操作系統(tǒng),因?yàn)镾TM32F1系列微控制器硬件系統(tǒng)在未進(jìn)行擴(kuò)展時(shí),是不能滿足此類(lèi)操作系統(tǒng)的運(yùn)行需求的。1.4.4軟件架構(gòu)選擇建議1.5嵌人式系統(tǒng)的應(yīng)用領(lǐng)域嵌入式系統(tǒng)以其獨(dú)特的結(jié)構(gòu)和性能,越來(lái)越多地應(yīng)用到國(guó)民經(jīng)濟(jì)的各個(gè)領(lǐng)域。1.工業(yè)控制基于嵌入式芯片的工業(yè)自動(dòng)化設(shè)備獲得了長(zhǎng)足的發(fā)展,目前已經(jīng)有大量的8位、16位、32位嵌入式微控制器在應(yīng)用中。網(wǎng)絡(luò)化是提高生產(chǎn)效率和產(chǎn)品質(zhì)量、減少人力資源的主要途徑,如工業(yè)過(guò)程控制、數(shù)字機(jī)床、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設(shè)備監(jiān)測(cè)、石油化工系統(tǒng)等。就傳統(tǒng)的工業(yè)控制產(chǎn)品而言,低端型采用的往往是8位單片機(jī)。但是隨著技術(shù)的發(fā)展,32位、64位的處理器逐漸成為工業(yè)控制設(shè)備的核心,在未來(lái)幾年內(nèi)必將獲得長(zhǎng)足的發(fā)展。2.交通管理在車(chē)輛導(dǎo)航、流量控制、信息監(jiān)測(cè)與汽車(chē)服務(wù)等方面,嵌入式系統(tǒng)技術(shù)已經(jīng)獲得了廣泛的應(yīng)用,內(nèi)嵌GPS模塊,GSM模塊的移動(dòng)定位終端已經(jīng)在各種運(yùn)輸行業(yè)獲得了成功的使用。目前GPS設(shè)備已經(jīng)從尖端產(chǎn)品進(jìn)入了普通百姓的家庭,只需要幾千元,就可以隨時(shí)隨地定位。3.信息家電信息家電領(lǐng)域?qū)⒊蔀榍度胧较到y(tǒng)最大的應(yīng)用領(lǐng)域,冰箱、空調(diào)等的網(wǎng)絡(luò)化、智能化將引領(lǐng)人們的生活步入一個(gè)嶄新的空間。即使不在家里,也可以通過(guò)手機(jī)、網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制。在這些設(shè)備中,嵌入式系統(tǒng)將大有用武之地。4.家庭智能管理水、電、煤氣表的遠(yuǎn)程自動(dòng)抄表,安全防火、防盜系統(tǒng)中嵌入的專(zhuān)用控制芯片將代替?zhèn)鹘y(tǒng)的人工檢查,并實(shí)現(xiàn)更高、更準(zhǔn)確和更安全的性能。目前在服務(wù)領(lǐng)域,如遠(yuǎn)程點(diǎn)菜器等已經(jīng)體現(xiàn)了嵌入式系統(tǒng)的優(yōu)勢(shì)。5.POS網(wǎng)絡(luò)公共交通無(wú)接觸智能卡(ContactlessSmartCard,CSC)發(fā)行系統(tǒng)、公共電話卡發(fā)行系統(tǒng)、自動(dòng)售貨機(jī)、智能ATM終端將全面進(jìn)入人們的生活,到時(shí)手持一卡就可以行遍天下。6.環(huán)境工程嵌入式系統(tǒng)將應(yīng)用于水文資料實(shí)時(shí)監(jiān)測(cè)、防洪體系及水土質(zhì)量監(jiān)測(cè)、堤壩安全監(jiān)測(cè)、地震監(jiān)測(cè)、實(shí)時(shí)氣象信息監(jiān)測(cè)、水源和空氣污染監(jiān)測(cè)。在很多環(huán)境惡劣,地況復(fù)雜的地區(qū),嵌入式系統(tǒng)將實(shí)現(xiàn)無(wú)人監(jiān)測(cè)。7.國(guó)防與航天領(lǐng)域嵌入式系統(tǒng)的發(fā)展使機(jī)器人在微型化、高智能等方面的優(yōu)勢(shì)更加明顯,同時(shí)降低了機(jī)器人的成本,使其在國(guó)防與航天等特殊領(lǐng)域的應(yīng)用更加廣泛。1.6嵌入式控制系統(tǒng)(ECS)20世紀(jì)90年代以來(lái),計(jì)算機(jī)控制系統(tǒng)(EmbeddedControlSystem)向著信息化、智能化、網(wǎng)絡(luò)化方向發(fā)展,促進(jìn)了嵌入式控制系統(tǒng)的誕生。嵌入式系統(tǒng)(EmbeddedSystem)的一般定義是:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)層次結(jié)構(gòu)模型如圖1-17所示。圖1-17嵌入式系統(tǒng)層次結(jié)構(gòu)模型嵌入式控制系統(tǒng)是嵌入式系統(tǒng)與控制系統(tǒng)緊密結(jié)合的產(chǎn)物,即應(yīng)用于控制系統(tǒng)中的嵌入式系統(tǒng)。嵌入式控制系統(tǒng)具有以下特點(diǎn):1)面向具體控制過(guò)程,它具有很強(qiáng)的專(zhuān)用性,必須結(jié)合實(shí)際控制系統(tǒng)的要求和環(huán)境進(jìn)行合理的裁剪。2)適用于實(shí)時(shí)和多任務(wù)的體系,系統(tǒng)的應(yīng)用軟件與硬件一體化,具有軟件代碼小、自動(dòng)化程度高、響應(yīng)快等特點(diǎn),能在較短的時(shí)間內(nèi)完成多個(gè)任務(wù)。3)是先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物。4)系統(tǒng)本身不具備自開(kāi)發(fā)能力,設(shè)計(jì)完成之后用戶通常不能對(duì)其中的程序功能進(jìn)行修改,必須有一套開(kāi)發(fā)工具和環(huán)境才能進(jìn)行開(kāi)發(fā)。嵌入式控制系統(tǒng)的核心是嵌入式微控制器和嵌入式操作系統(tǒng)。嵌入式微控制器具備多任務(wù)的處理能力,且具有集成度高、體積小、功耗低、實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn),有利于嵌入式控制系統(tǒng)設(shè)計(jì)的小型化,提高軟件的診斷能力,提升控制系統(tǒng)的穩(wěn)定性。嵌入式操作系統(tǒng)具備可定制、可移植、實(shí)時(shí)性等特點(diǎn),用戶可根據(jù)需要自行配置。總之,嵌入式控制系統(tǒng)適應(yīng)當(dāng)前信息化、智能化、網(wǎng)絡(luò)化的發(fā)展,必將獲得廣闊的發(fā)展空間。

第2章STM32微控制器本章對(duì)STM32微控制器進(jìn)行了概述,介紹了STM32F1系列產(chǎn)品系統(tǒng)構(gòu)架和STM32F103ZET6內(nèi)部結(jié)構(gòu)、STM32F103ZET6的存儲(chǔ)器映像、STM32F103ZET6的時(shí)鐘結(jié)構(gòu)、STM32F103VET6的引腳和STM32F103VET6最小系統(tǒng)設(shè)計(jì)。2.1STM32微控制器概述STM32是意法半導(dǎo)體(STMicroelectronics)較早推向市場(chǎng)的基于Cortex-M內(nèi)核的微處理器系列產(chǎn)品,該系列產(chǎn)品具有成本低、功耗優(yōu)、性能高、功能多等優(yōu)勢(shì),并且以系列化方式推出,方便用戶選型,在市場(chǎng)上獲得了廣泛好評(píng)。STM32目前常用的有STM32F103~107系列,簡(jiǎn)稱“1系列”,最近又推出了高端系列STM32F4xx系列,簡(jiǎn)稱“4系列”。前者基于Cortex-M3內(nèi)核,后者基于Cortex-M4內(nèi)核。STM32F4xx系列在以下諸多方面做了優(yōu)化:(1)增加了浮點(diǎn)運(yùn)算(2)DSP處理(3)存儲(chǔ)空間更大,高達(dá)1M字節(jié)以上(4)運(yùn)算速度更高,以168MHz高速運(yùn)行時(shí)可達(dá)到210DMIPS的處理能力(5)更高級(jí)的外設(shè),新增外設(shè),例如,照相機(jī)接口、加密處理器、USB高速OTG接口等,提高性能,更快的通信接口,更高的采樣率,帶FIFO的DMA控制器1.先進(jìn)的內(nèi)核結(jié)構(gòu)1)哈佛結(jié)構(gòu)使其在處理器整數(shù)性能測(cè)試上有著出色的表現(xiàn),可以達(dá)到1.25DMIPS/MHz、而功耗僅為0.19mW/MHz。2)Thumb-2指令集以16位的代碼密度帶來(lái)了32位的性能。3)內(nèi)置了快速的中斷控制器。提供了優(yōu)越的實(shí)時(shí)特性,中斷的延遲時(shí)間降到只需6個(gè)CPU周期,從低功耗模式喚醒的時(shí)間也只需6個(gè)CPU周期。4)單周期乘法指令和硬件除法指令。2.三種功耗控制STM32經(jīng)過(guò)特殊處理,針對(duì)應(yīng)用中三種主要的能耗要求進(jìn)行了優(yōu)化,這三種能耗需求分別是運(yùn)行模式下高效率的動(dòng)態(tài)耗電機(jī)制、待機(jī)狀態(tài)時(shí)極低的電能消耗和電池供電時(shí)的低電壓工作能力。為此,STM32提供了三種低功耗模式和靈活的時(shí)鐘控制機(jī)制,用戶可以根據(jù)自己所需要的耗電/性能要求進(jìn)行合理地優(yōu)化。3.最大程度集成整合1)STM32內(nèi)嵌電源監(jiān)控器,包括上電復(fù)位、低電壓檢測(cè)、掉電檢測(cè)和自帶時(shí)鐘的看門(mén)狗定時(shí)器,減少對(duì)外部器件的需求。2)使用一個(gè)主晶振可以驅(qū)動(dòng)整個(gè)系統(tǒng)。低成本的4~16MHz晶振即可驅(qū)動(dòng)CPU、USB以及所有外設(shè),使用內(nèi)嵌鎖相環(huán)(PhaseLockedLoop,PLL)產(chǎn)生多種頻率,可以為內(nèi)部實(shí)時(shí)時(shí)鐘選擇32kHz的晶振。3.最大程度集成整合3)內(nèi)嵌出廠前調(diào)校好的8MHzRC振蕩電路,可以作為主時(shí)鐘源。4)針對(duì)RTC(RealTimeClock,實(shí)時(shí)時(shí)鐘)或看門(mén)狗的低頻率RC電路。5)LQPF100封裝芯片的最小系統(tǒng)只需要7個(gè)外部無(wú)源器件。因此,使用STM32可以很輕松地完成產(chǎn)品的開(kāi)發(fā)。ST提供了完整、高效的開(kāi)發(fā)工具和庫(kù)函數(shù),幫助開(kāi)發(fā)者縮短系統(tǒng)開(kāi)發(fā)時(shí)間。4.出眾及創(chuàng)新的外設(shè)STM32的優(yōu)勢(shì)來(lái)源于兩路高級(jí)外設(shè)總線,連接到該總線上的外設(shè)能以更高的速度運(yùn)行。1)USB接口速度可達(dá)12Mbit/s。2)USART接口速度高達(dá)4.5Mbit/s。3)SPI接口速度可達(dá)18Mbit/s。4)I2C接口速度可達(dá)400kHz。5)GPIO的最大翻轉(zhuǎn)頻率為18MHz。6)PWM(PulseWidthModulation,脈沖寬度調(diào)制)定時(shí)器最高可使用72MHz時(shí)鐘輸入。目前,市場(chǎng)上常見(jiàn)的基于Cortex-M3的MCU有意法半導(dǎo)體(STMicroelectronics)有限公司的STM32F103微控制器、德州儀器公司(TI)的LM3S8000微控制器和恩智浦公司(NXP)的LPC1788微控制器等,其應(yīng)用遍及工業(yè)控制、消費(fèi)電子、儀器儀表、智能家居等各個(gè)領(lǐng)域。意法半導(dǎo)體集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國(guó)THOMSON半導(dǎo)體公司合并而成。1998年5月,改名為意法半導(dǎo)體有限公司(ST),是世界最大的半導(dǎo)體公司之一。STM32系列微控制器的產(chǎn)品線包括高性能類(lèi)型、主流類(lèi)型和超低功耗類(lèi)型三大類(lèi),分別面向不同的應(yīng)用,其具體產(chǎn)品系列如圖2-1所示。2.1.1STM32微控制器產(chǎn)品線圖2-1STM32產(chǎn)品線圖1.STM32F1系列(主流類(lèi)型)STM32F1系列微控制器基于Cortex-M3內(nèi)核,利用一流的外設(shè)和低功耗、低壓操作實(shí)現(xiàn)了高性能,同時(shí)以可接受的價(jià)格,利用簡(jiǎn)單的架構(gòu)和簡(jiǎn)便易用的工具實(shí)現(xiàn)了高集成度,能夠滿足工業(yè)、醫(yī)療和消費(fèi)類(lèi)市場(chǎng)的各種應(yīng)用需求。憑借該產(chǎn)品系列,ST公司在全球基于ARMCortex-M3的微控制器領(lǐng)域處于領(lǐng)先地位。本書(shū)后續(xù)章節(jié)即是基于STM32F1系列中的典型微控制器STM32F103進(jìn)行講述的。截至2016年3月,STM32F1系列微控制器包含以下5個(gè)產(chǎn)品線,它們的引腳、外設(shè)和軟件均兼容。1)STM32F100,超值型,24MHzCPU,具有電機(jī)控制和CEC功能。2)STM32F101,基本型,36MHzCPU,具有高達(dá)1MB的Flash。3)STM32F102,USB基本型,48MHzCPU,具備USBFS。4)STM32F103,增強(qiáng)型,72MHzCPU,具有高達(dá)1MB的Flash、電機(jī)控制、USB和CAN。5)STM32F105/107,互聯(lián)型,72MHzCPU,具有以太網(wǎng)MAC、CAN和USB2.0OTG。2.STM32F4系列(高性能類(lèi)型)STM32F4系列微控制器基于Cortex-M4內(nèi)核,采用了意法半導(dǎo)體有限公司的90nmNVM工藝和ART加速器,在高達(dá)180MHz的工作頻率下通過(guò)閃存執(zhí)行時(shí),其處理性能達(dá)到225DMIPS/608CoreMark。這是迄今所有基于Cortex-M內(nèi)核的微控制器產(chǎn)品所達(dá)到的最高基準(zhǔn)測(cè)試分?jǐn)?shù)。由于采用了動(dòng)態(tài)功耗調(diào)整功能,通過(guò)閃存執(zhí)行時(shí)的電流消耗范圍為STM32F401的128μA/MHz到STM32F439的260μA/MHz。截至2016年3月,STM32F4系列包括8條互相兼容的數(shù)字信號(hào)控制器(DigitalSignalController,DSC)產(chǎn)品線,是MCU實(shí)時(shí)控制功能與DSP信號(hào)處理功能的完美結(jié)合體。1)STM32F401,84MHzCPU/105DMIPS,尺寸最小、成本最低的解決方案,具有卓越的功耗效率(動(dòng)態(tài)效率系列)。2)STM32F410,100MHzCPU/125DMIPS,采用新型智能DMA,優(yōu)化了數(shù)據(jù)批處理的功耗(采用批采集模式的動(dòng)態(tài)效率系列),配備的隨機(jī)數(shù)發(fā)生器、低功耗定時(shí)器和DAC,為卓越的功率效率性能設(shè)立了新的里程碑(停機(jī)模式下89μA/MHz)。3)STM32F411,100MHzCPU/125DMIPS,具有卓越的功率效率、更大的SRAM和新型智能DMA,優(yōu)化了數(shù)據(jù)批處理的功耗(采用批采集模式的動(dòng)態(tài)效率系列)。4)STM32F405/415,168MHzCPU/210DMIPS,高達(dá)1MB的Flash閃存,具有先進(jìn)連接功能和加密功能。5)STM32F407/417,168MHzCPU/210DMIPS,高達(dá)1MB的Flash閃存,增加了以太網(wǎng)MAC和照相機(jī)接口。6)STM32F446,180MHzCPU/225DMIPS,高達(dá)512KB的Flash閃存,具有DualQuadSPI和SDRAM接口。7)STM32F429/439,180MHzCPU/225DMIPS,高達(dá)2MB的雙區(qū)閃存,帶SDRAM接口、Chrom-ART加速器和LCD-TFT控制器。8)STM32F427/437,180MHzCPU/225DMIPS,高達(dá)2MB的雙區(qū)閃存,具有SDRAM接口、Chrom-ART加速器、串行音頻接口,性能更高,靜態(tài)功耗更低。9)SM32F469/479,180MHzCPU/225DMIPS,高達(dá)2MB的雙區(qū)閃存,帶SDRAM和QSPI接口、Chrom-ART加速器、LCD-TFT控制器和MPI-DSI接口。3.STM32F7系列(高性能類(lèi)型)STM32F7是世界上第一款基于Cortex-M7內(nèi)核的微控制器。它采用6級(jí)超標(biāo)量流水線和浮點(diǎn)單元,并利用ST的ART加速器和L1緩存,實(shí)現(xiàn)了Cortex-M7的最大理論性能-無(wú)論是從嵌入式閃存還是外部存儲(chǔ)器來(lái)執(zhí)行代碼,都能在216MHz處理器頻率下使性能達(dá)到462DMIPS/1082CoreMark。由此可見(jiàn),相對(duì)于意法半導(dǎo)體以前推出的高性能微控制器,如F2、F4系列,STM32F7的優(yōu)勢(shì)就在于其強(qiáng)大的運(yùn)算性能,能夠適用于那些對(duì)于高性能計(jì)算有巨大需求的應(yīng)用,對(duì)于目前還在使用簡(jiǎn)單計(jì)算功能的可穿戴設(shè)備和健身應(yīng)用來(lái)說(shuō),將會(huì)帶來(lái)革命性的顛覆,起到巨大的推動(dòng)作用。4.STM32L1系列(超低功耗類(lèi)型)STM32L1系列微控制器基于Cortex-M3內(nèi)核,采用意法半導(dǎo)體專(zhuān)有的超低泄漏制程,具有創(chuàng)新型自主動(dòng)態(tài)電壓調(diào)節(jié)功能和5種低功耗模式,為各種應(yīng)用提供了無(wú)與倫比的平臺(tái)靈活性。STM32L1擴(kuò)展了超低功耗的理念,并且不會(huì)犧牲性能。與STM32L0一樣,STM32L1提供了動(dòng)態(tài)電壓調(diào)節(jié)、超低功耗時(shí)鐘振蕩器、LCD接口、比較器、DAC及硬件加密等部件。STM32L1系列微控制器可以實(shí)現(xiàn)在1.65~3.6V范圍內(nèi)以32MHz的頻率全速運(yùn)行,其功耗參考值如下:1)動(dòng)態(tài)運(yùn)行模式,低至177μA/MHz。2)低功耗運(yùn)行模式:低至9μA。3)超低功耗模式+備份寄存器+RTC:900nA(3個(gè)喚醒引腳)。4)超低功耗模式+備份寄存器:280nA(3個(gè)喚醒引腳)。除了超低功耗MCU以外,STM32L1還提供了多種特性、存儲(chǔ)容量和封裝引腳數(shù)選項(xiàng),如32~512KBFlash存儲(chǔ)器、高達(dá)80KB的SDRAM、16KB真正的嵌入式EEPROM、48~144個(gè)引腳。為了簡(jiǎn)化移植步驟和為工程師提供所需的靈活性,STM32L1與不同的STM32F系列均引腳兼容。ST公司在推出以上一系列基于Cortex-M內(nèi)核的STM32微控制器產(chǎn)品線的同時(shí),也制定了它們的命名規(guī)則。通過(guò)名稱,用戶能直觀、迅速地了解某款具體型號(hào)的STM32微控制器產(chǎn)品。STM32系列微控制器的名稱主要由以下幾部分組成。1.產(chǎn)品系列名STM32系列微控制器名稱通常以STM32開(kāi)頭,表示產(chǎn)品系列,代表意法半導(dǎo)體基于ARMCortex-M系列內(nèi)核的32位MCU。2.產(chǎn)品類(lèi)型名產(chǎn)品類(lèi)型是STM32系列微控制器名稱的第二部分,通常有F(FlashMemory,通用快速閃存)、W(無(wú)線系統(tǒng)芯片)、L(低功耗低電壓,1.65~3.6V)等類(lèi)型。2.1.2STM32微控制器的命名規(guī)則3.產(chǎn)品子系列名產(chǎn)品子系列是STM32系列微控制器名稱的第三部分。4.引腳數(shù)引腳數(shù)是STM32系列微控制器名稱的第四部分,通常有以下幾種:F(20pin)、G(28pin)、K(32pin)、T(36pin)、H(40pin)、C(48pin)、U(63pin)、R(64pin)、O(90pin)、V(100pin)、Q(132pin)、Z(144pin)和I(176pin)等。5.Flash存儲(chǔ)器容量Flash存儲(chǔ)器容量是STM32系列微控制器名稱的第五部分,通常以下幾種:4(16KFlash,小容量)、6(32KBFlash,小容量)、8(64KBFlash,中容量)、B(128KBFlash,中容量)、C(256KBFlash,大容量)、D(384KBFlash,大容量)、E(512KBFlash,大容量)、F(768KBFlash,大容量)、G(1MBFlash,大容量)。6.封裝方式封裝方式是STM32系列微控制器名稱的第六部分,通常有以下幾種:T(LQFP,Low-profileQuadFlatPackage,薄型四側(cè)引腳扁平封裝)、H(BGA,BallGridArray,球柵陣列封裝)、U(VFQFPN,VerythinFinepitchQuadFlatPackNo-leadpackage,超薄細(xì)間距四方扁平無(wú)鉛封裝)、Y(WLCSP,WaferLevelChipScalePackaging,晶圓片級(jí)芯片規(guī)模封裝)。7.溫度范圍溫度范圍是STM32系列微控制器名稱的第七部分,通常有以下兩種:6(-40~85℃,工業(yè)級(jí))、7(-40~105℃,工業(yè)級(jí))。STM32F103微控制器的命名規(guī)則如圖2-2所示。圖2-2STM32F103微控制器命名規(guī)則STM32F103xx閃存容量、封裝及型號(hào)對(duì)應(yīng)關(guān)系如圖2-3所示。圖2-3STM32F103xx閃存容量、封裝及型號(hào)對(duì)應(yīng)關(guān)系對(duì)STM32單片機(jī)內(nèi)部資源介紹如下。(1)內(nèi)核ARM32位Cortex-M3CPU,最高工作頻率為72MHz,執(zhí)行速度為1.25DMIPS/MHz,完成32位x32位乘法計(jì)算只需用一個(gè)周期,并且硬件支持除法(有的芯片不支持硬件除法)。(2)存儲(chǔ)器片上集成32~512KB的閃存,6~64KB的靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)。(3)電源和時(shí)鐘復(fù)位電路包括:2.0~3.6V的供電電源(提供I/O端口的驅(qū)動(dòng)電壓);上電/斷電復(fù)位(POR/PDR)端口和可編程電壓探測(cè)器(PVD);內(nèi)嵌4~16MHz的晶振;內(nèi)嵌出廠前調(diào)校8MHz的RC振蕩電路、40kHz的RC振蕩電路;供CPU時(shí)鐘的PLL鎖相環(huán);帶校準(zhǔn)功能供RTC的32kHz晶振。(4)調(diào)試端口有SWD串行調(diào)試端口和JTAG端口可供調(diào)試用。(5)I/O端口根據(jù)型號(hào)的不同,雙向快速I(mǎi)/O端口數(shù)目可為26、37、51、80或112。翻轉(zhuǎn)速度為18MHz,所有的端口都可以映射到16個(gè)外部中斷向量。除了模擬輸入端口,其他所有的端口都可以接收5V以內(nèi)的電壓輸入。(6)DMA(直接內(nèi)存存?。┒丝谥С侄〞r(shí)器、ADC、SPI、I2C和USART等外設(shè)。(7)ADC帶有2個(gè)12位的微秒級(jí)逐次逼近型ADC,每個(gè)ADC最多有16個(gè)外部通道和2個(gè)內(nèi)部通道。2個(gè)內(nèi)部通道一個(gè)接內(nèi)部溫度傳感器,另一個(gè)接內(nèi)部參考電壓。ADC供電要求為2.4~3

溫馨提示

  • 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)論