版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式系統(tǒng)概述第一章《嵌入式系統(tǒng)基礎(chǔ)與實(shí)踐》(第2版)主講教師:(
學(xué)院)知識(shí)目標(biāo)能力目標(biāo)思維與素養(yǎng)目標(biāo)
理解嵌入式系統(tǒng)的概念、特點(diǎn)及應(yīng)用領(lǐng)域。
熟悉嵌入式系統(tǒng)的組成架構(gòu),理解MCU、DSP、FPGA等概念及適用場(chǎng)合。
了解嵌入式行業(yè)最新動(dòng)態(tài)、崗位要求。
了解嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)方法,熟悉嵌入式系統(tǒng)設(shè)計(jì)流程。
熟練運(yùn)用搜索引擎、ChatGPT等AI技術(shù)進(jìn)行嵌入式系統(tǒng)相關(guān)知識(shí)的搜索和拓展。
能夠通過ST、ARM、Keil等半導(dǎo)體廠商官網(wǎng)下載嵌入式開發(fā)工具和軟件,獲取第一手資料和信息。
“合抱之木,生于毫末:九層之臺(tái),起于壘土;千里之行,始于足下”,從“面向?yàn)g覽器的工程師”向“面向知識(shí)庫的工程師”轉(zhuǎn)變,逐步進(jìn)階到面向思維和解決問題的工程師,系統(tǒng)地構(gòu)建嵌入式系統(tǒng)知識(shí)體系結(jié)構(gòu)。
初步形成創(chuàng)新設(shè)計(jì)思維學(xué)習(xí)目標(biāo)1.1信息技術(shù)的發(fā)展1.2嵌入式系統(tǒng)1.3嵌入式初學(xué)者雜談1.4嵌入式系統(tǒng)開發(fā)流程第1章嵌入式系統(tǒng)概述1.1信息技術(shù)的發(fā)展1.1.1計(jì)算機(jī)的誕生1.1.2通用信息處理1.1.3人工智能1.1.1計(jì)算機(jī)的誕生歷史上第一臺(tái)“可編程”電子計(jì)算機(jī)ENIAC晶體管計(jì)算機(jī)
1946世界上第一臺(tái)“馮
諾依曼體系結(jié)構(gòu)”的計(jì)算機(jī)19491949第一個(gè)4位微處理器19711.1.2通用信息處理6521341964年,IBM研發(fā)System/360,向通用化方向發(fā)展70年代,計(jì)算機(jī)分為軟件和硬件,分開售賣出現(xiàn)各種高級(jí)語言,形成軟件系統(tǒng)出現(xiàn)操作系統(tǒng)、數(shù)據(jù)庫互聯(lián)網(wǎng)的發(fā)展物聯(lián)網(wǎng)的發(fā)展1.1.2通用信息處理大型機(jī)、巨型機(jī)單純的數(shù)值計(jì)算通用的信息處理硬件和軟件高級(jí)編程語言操作系統(tǒng)和數(shù)據(jù)庫計(jì)算機(jī)網(wǎng)絡(luò)微型化、網(wǎng)絡(luò)化嵌入式微處理器物聯(lián)網(wǎng)(IoT)計(jì)算機(jī)處理能力不斷提升1.1.3人工智能“深藍(lán)”超級(jí)計(jì)算機(jī)戰(zhàn)勝了國際象棋世界冠軍,人工智能在特定領(lǐng)域可以達(dá)到甚至超越人類的水平。19361950195619972016阿蘭
圖靈提出了現(xiàn)代通用計(jì)算機(jī)的理論模型,即“圖靈機(jī)”圖靈發(fā)表了題為《機(jī)器能思考嗎?》的論文,為人工智能的建立奠定了基礎(chǔ),提出了“圖靈測(cè)試”正式提出了人工智能(ArtificialIntelligence,AI)這一概念基于深度學(xué)習(xí)的AlphaGo戰(zhàn)勝了圍棋世界冠軍。1.2嵌入式系統(tǒng)0102031.2.1嵌入式系統(tǒng)案例分析1.2.3嵌入式系統(tǒng)與物聯(lián)網(wǎng)1.2.2嵌入式系統(tǒng)概念1.2.1嵌入式系統(tǒng)案例分析微控制器主要承擔(dān)兩個(gè)任務(wù):接收服務(wù)器指令,控制家居系統(tǒng)中的各電器設(shè)備;采集傳感器數(shù)據(jù)并進(jìn)行處理?!景咐治鲆唬褐悄芗揖印吭诨揪幼」δ芑A(chǔ)上,融入門禁系統(tǒng)、遠(yuǎn)程控制、移動(dòng)終端控制以及家居環(huán)境智能檢測(cè)和監(jiān)測(cè)等技術(shù)手段,實(shí)現(xiàn)家居系統(tǒng)的自動(dòng)化、智能化。1.2.1嵌入式系統(tǒng)案例分析智能手環(huán)可以記錄人們?nèi)粘I钪械倪\(yùn)動(dòng)、睡眠、甚至飲食等實(shí)時(shí)數(shù)據(jù),并將這些數(shù)據(jù)與手機(jī)、平板等設(shè)備同步,對(duì)采集的日常數(shù)據(jù)進(jìn)行大數(shù)據(jù)分析,發(fā)揮指導(dǎo)健康生活的作用?!景咐治龆褐悄苁汁h(huán)】小米FitbitFlex手環(huán)1.2.1嵌入式系統(tǒng)案例分析智能手環(huán)一般由微控制器、藍(lán)牙模塊、Wi-Fi電路、OLED顯示屏、心率傳感器、加速度傳感器、鋰電池等模塊組成,實(shí)現(xiàn)顯示時(shí)間、監(jiān)測(cè)睡眠、運(yùn)動(dòng)等功能【案例分析二:智能手環(huán)】智能手環(huán)系統(tǒng)框圖1.2.1嵌入式系統(tǒng)案例分析無人機(jī)因體型小、結(jié)構(gòu)簡(jiǎn)單、控制靈活、造價(jià)低廉,常用于航拍、環(huán)境監(jiān)測(cè)、農(nóng)情監(jiān)測(cè)、地形勘測(cè)、災(zāi)后環(huán)境監(jiān)測(cè)、電力巡線、森林火情監(jiān)測(cè)和植物保護(hù)等領(lǐng)域?!景咐治鋈核男頍o人機(jī)】大疆御無人機(jī)1.2.1嵌入式系統(tǒng)案例分析微控制器是控制系統(tǒng)的核心,負(fù)責(zé)飛行過程中的導(dǎo)航、通信、控制等核心任務(wù),根據(jù)各傳感器模塊采集到的當(dāng)前的飛行姿態(tài)和空間位置,計(jì)算相關(guān)的運(yùn)動(dòng)參數(shù),將控制信號(hào)發(fā)送給機(jī)載執(zhí)行機(jī)構(gòu)從而改變無人機(jī)的位置和速度,同時(shí)保持飛行姿態(tài)的穩(wěn)定?!景咐治鋈核男頍o人機(jī)】四旋翼無人機(jī)系統(tǒng)總體框圖1.2.1嵌入式系統(tǒng)案例分析嵌入式系統(tǒng)的共性特定的使用場(chǎng)合或工作環(huán)境,是某個(gè)大型系統(tǒng)的一部分,完成一個(gè)具體的功能,專用性強(qiáng),應(yīng)用于特定的平臺(tái)功能單一,模塊的設(shè)計(jì)和實(shí)現(xiàn)較為簡(jiǎn)單功耗低,且一般要求高實(shí)時(shí)性和高可靠性,系統(tǒng)程序一般都是固化在內(nèi)存中,以提高運(yùn)行速度和可靠性。人機(jī)交互界面簡(jiǎn)單開發(fā)時(shí)往往有上位機(jī)和下位機(jī)或主機(jī)和目標(biāo)機(jī)的概念,主機(jī)用于程序的開發(fā),目標(biāo)機(jī)作為最后的執(zhí)行機(jī),開發(fā)時(shí)需要交替結(jié)合進(jìn)行。1.2.2嵌入式系統(tǒng)的概念泛在的嵌入式系統(tǒng)的定義:除通用PC機(jī)和服務(wù)器之外的一切計(jì)算機(jī)系統(tǒng)都可以叫嵌入式系統(tǒng)。典型應(yīng)用產(chǎn)品有智能手機(jī)、工業(yè)機(jī)器人、無人機(jī)、無人駕駛汽車、心電監(jiān)護(hù)儀、人工耳蝸等。國外定義嵌入式系統(tǒng)是控制、監(jiān)視或輔助設(shè)備、機(jī)器和車間運(yùn)行的裝置。行業(yè)內(nèi)普遍認(rèn)同的定義為:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟、硬件可剪裁,適合應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),用于對(duì)其他設(shè)備的控制、監(jiān)視或管理等功能。1.2.2嵌入式系統(tǒng)概念通用PC機(jī)系統(tǒng)與嵌入式系統(tǒng)有何區(qū)別?1.2.3嵌入式系統(tǒng)與物聯(lián)網(wǎng)大量的傳感器節(jié)點(diǎn)有線或無線網(wǎng)絡(luò)大數(shù)據(jù)、云計(jì)算、模式識(shí)別等智能技術(shù)海量信息傳輸與交換分析、加工和處理物聯(lián)網(wǎng)(IoT)使應(yīng)用更加智能化、個(gè)性化物聯(lián)網(wǎng)是互聯(lián)網(wǎng)與嵌入式系統(tǒng)高度融合發(fā)展的產(chǎn)物,是互聯(lián)網(wǎng)在應(yīng)用上的拓展,是嵌入式技術(shù)在網(wǎng)絡(luò)互連的延伸和應(yīng)用。1.2.3嵌入式系統(tǒng)與物聯(lián)網(wǎng)基本功能:加熱、保溫、殺菌、除臭、烘干;未來功能:通過物聯(lián)網(wǎng)、大數(shù)據(jù)和人工智能可以對(duì)排泄物進(jìn)行化驗(yàn)分析,并將分析結(jié)果實(shí)時(shí)傳送給醫(yī)生,及時(shí)發(fā)現(xiàn)病情。【物聯(lián)網(wǎng)的應(yīng)用案例1:智能馬桶】1.2.3嵌入式系統(tǒng)與物聯(lián)網(wǎng)【物聯(lián)網(wǎng)的應(yīng)用案例2:
農(nóng)業(yè)病蟲害防治(精準(zhǔn)農(nóng)業(yè))】捕捉害蟲啃噬農(nóng)作物時(shí)的細(xì)微振動(dòng)或昆蟲翅膀的振動(dòng)頻率;上傳并分析出昆蟲的種類,判斷其是否是害蟲確認(rèn)為害蟲后,自動(dòng)調(diào)用無人機(jī)去噴灑相應(yīng)農(nóng)藥;1.3嵌入式初學(xué)者雜談1.3.1MCU、MPU、ARM、FPGA、DSP是概念1.3.2MCU開發(fā)與ARM-Linux開發(fā)的區(qū)別1.3.3開源硬件Arduino和樹莓派1.3.1MCU、MPU、ARM、FPGA、DSP概念Renesas(瑞薩)NXP(恩智浦)Microchip(微芯)ST(意法半導(dǎo)體)Atmel(愛特梅爾)TI(德州儀器)Toshiba(東芝)Samsung(三星)宏晶、凌陽、新唐等80C51系列單片機(jī)、Atmel公司的AVR單片機(jī)、Microchip公司的PIC、TI公司的MSP430、ST公司的STM32系列、NXP公司的LPC1700系列芯片MicroControlUnit,嵌入式微控制器(俗稱單片機(jī)),把CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O、中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器、各種功能外設(shè)等資源集成到一個(gè)芯片上的微型計(jì)算機(jī)系統(tǒng)MCU典型的MCU廠商典型MCU芯片1.3.1MCU、MPU、ARM、FPGA、DSP概念在主頻、ROM大小及外設(shè)接口方面有了翻天覆地的變化典型應(yīng)用產(chǎn)品工業(yè)控制器、智能手環(huán)、血糖儀、智能消費(fèi)電子、家電等微控制器的發(fā)展8位機(jī)(51單片機(jī))16位機(jī)(PIC、MSP430等)高性能的32位機(jī)(STM32、LPC2000等)應(yīng)用領(lǐng)域和場(chǎng)合不斷擴(kuò)展和更新1.3.1MCU、MPU、ARM、FPGA、DSP概念MPUMicroProcessorUnit,嵌入式微處理器。MPU是由通用計(jì)算機(jī)中的CPU(微處理器)演變而來,可以理解為增強(qiáng)版的CPU,即不帶外圍功能器件。一個(gè)嵌入式微處理器系統(tǒng)需要在的基礎(chǔ)上,添加外圍電路和外部設(shè)備才得以構(gòu)成。MPURAMROMFlash電源USBLCD鍵盤嵌入式微處理器系統(tǒng)Motorola的68K系列Intel的X86系列飛思卡爾的i.MX6TI公司的AM335XSamsung的S3C2410和S3C6410應(yīng)用產(chǎn)品有智能手機(jī)、平板電腦、路由器、數(shù)碼相機(jī)等1.3.1MCU、MPU、ARM、FPGA、DSP概念A(yù)RM是一家公司,也是一類技術(shù)和產(chǎn)品的統(tǒng)稱。ARM公司設(shè)計(jì)的芯片主要涉及嵌入式移動(dòng)設(shè)備領(lǐng)域,指令集更加緊湊簡(jiǎn)單,功耗和成本更低,在移動(dòng)消費(fèi)電子領(lǐng)域占據(jù)著很大的市場(chǎng)份額。ARMCortex-A15內(nèi)核設(shè)計(jì)的芯片ARM公司目前主要授權(quán)三個(gè)系列的芯片設(shè)計(jì)——ARM9、ARM11和Cortex,涉及微控制器系列、微處理器系列以及更高端的產(chǎn)品系列。1.3.1MCU、MPU、ARM、FPGA、DSP概念體積小、功耗低、價(jià)格低廉MCU微控制器處理能力強(qiáng),可擴(kuò)展更大的內(nèi)存空間,主頻、功耗、體積及價(jià)格方面相對(duì)較高M(jìn)PU微處理器搭載操作系統(tǒng)的MPU功能更為強(qiáng)大,人機(jī)界面更為人性化、美觀化微波爐、智能手環(huán)以及電動(dòng)車上的電機(jī)控制器等適用于功能單一、耗電量低、對(duì)價(jià)格敏感、便攜式的、人機(jī)界面簡(jiǎn)單的產(chǎn)品應(yīng)用。應(yīng)用于功能多樣、人機(jī)交互系統(tǒng)較為強(qiáng)大,對(duì)運(yùn)算速度有較高要求的應(yīng)用場(chǎng)合,比如多媒體設(shè)備1.3.1MCU、MPU、ARM、FPGA、DSP概念DSP兩種含義DigitalSignalProcessing(數(shù)字信號(hào)處理),是用數(shù)值計(jì)算的方式對(duì)信號(hào)進(jìn)行加工處理的理論和技術(shù)。DigitalSignalProcessor(數(shù)字信號(hào)處理器),是一種專用于數(shù)字信號(hào)處理領(lǐng)域的微處理器芯片,將數(shù)字信號(hào)處理算法用具體的器件實(shí)現(xiàn)。專用的硬件乘法器專門的DSP指令程序和數(shù)據(jù)分開存儲(chǔ)的哈佛體系結(jié)構(gòu)支持流水線操作允許取指令和執(zhí)行指令同時(shí)進(jìn)行提高了微處理器的速度,其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過通用微處理器。所采用的技術(shù)1.3.1MCU、MPU、ARM、FPGA、DSP概念應(yīng)用于低端市場(chǎng)的,如TMS320C2000系列高端的DSP,如TMS320C5000/C6000系列TI(德州儀器)ADI(美國模擬器件)Motorola(摩托羅拉)Lucent(朗訊科技)Zilog(齊格洛)DSP芯片的主要廠商TI的典型產(chǎn)品數(shù)字信號(hào)處理領(lǐng)域,例如調(diào)制解調(diào)、數(shù)字加密解密、圖像處理中的卷積、數(shù)字濾波、FFT、語音處理等數(shù)字信號(hào)處理的算法實(shí)現(xiàn)等主要應(yīng)用DSP處理器1.3.1MCU、MPU、ARM、FPGA、DSP概念Field-ProgrammableGateArray,現(xiàn)場(chǎng)可編程門陣列。突出的優(yōu)勢(shì):靈活性:可以現(xiàn)場(chǎng)配置器件功能,不再受硬件的制約;高性能(速度快):FPGA用硬件處理數(shù)據(jù),采用并發(fā)和流水兩種技術(shù),多個(gè)模塊之間可以同時(shí)并行執(zhí)行。FPGA邏輯單元觸發(fā)器資源I/O引腳硬件描述語言硬件(芯片)任何數(shù)字器件的功能,上至復(fù)雜的CPU,下至簡(jiǎn)單的數(shù)字邏輯電路。1.3.1MCU、MPU、ARM、FPGA、DSP概念A(yù)ltera(阿爾特拉)Xilinx(賽靈思)Lattice(萊迪思)Atmel(愛特梅爾)TI(德州儀器)Actel(愛特)Cypress(賽普拉斯)Altera公司的側(cè)重于低成本應(yīng)用的Cyclone系列、側(cè)重于高性能應(yīng)用的Stratix系列Xilinx公司的Spartan、Virtex系列Lattice公司的EPC、iCE系列典型的FPGA廠商典型產(chǎn)品Lattice公司的FPGA芯片1.3.1MCU、MPU、ARM、FPGA、DSP概念DSP或MCU處理流程1.3.2MCU開發(fā)與ARM-Linux開發(fā)的區(qū)別開發(fā)主要涉及的內(nèi)容:Linux內(nèi)核與移植、Bootloader、Linux文件I/O、Linux多任務(wù)編程、Linux進(jìn)程間通信、Linux多線程編程、Linux網(wǎng)絡(luò)編程、Linux設(shè)備驅(qū)動(dòng)編程、Android應(yīng)用編程等。偏向軟件,開發(fā)人員需具備數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)等相關(guān)理論知識(shí)和專業(yè)技能,在嵌入式開發(fā)領(lǐng)域里常稱為軟件開發(fā)工程師。開發(fā)主要涉及的內(nèi)容有:體系結(jié)構(gòu)與接口、指令系統(tǒng)、匯編語言、GPIO、定時(shí)器、A/D、I2C、SPI、Flash、LCD、SD卡等外設(shè)接口、RTOS、uC/OS-II嵌入式操作系。偏向硬件,開發(fā)人員需具備電子技術(shù)、微機(jī)原理等相關(guān)理論知識(shí),掌握繪制電路板等專業(yè)技能,在嵌入式開發(fā)領(lǐng)域里一般常稱為硬件開發(fā)工程師。MCU開發(fā)ARM-Linux開發(fā)1.3.2MCU開發(fā)與ARM-Linux開發(fā)的區(qū)別直接在ARM芯片上進(jìn)行應(yīng)用開發(fā)不采用操作系統(tǒng),也稱作裸機(jī)編程,主要應(yīng)用于一些低端的ARM芯片,其開發(fā)過程與單片機(jī)類似,即在低端的ARM芯片上進(jìn)行單片機(jī)應(yīng)用程序的開發(fā)。在ARM芯片上運(yùn)行操作系統(tǒng)對(duì)硬件的操作需要編寫相應(yīng)的驅(qū)動(dòng)程序,應(yīng)用開發(fā)則是基于操作系統(tǒng)的。ARM應(yīng)用的開發(fā)主要有兩種方式1.3.2MCU開發(fā)與ARM-Linux開發(fā)的區(qū)別
硬件開發(fā)方式開發(fā)環(huán)境啟動(dòng)方式場(chǎng)合、行業(yè)MCU開發(fā)開發(fā)板(下位機(jī));仿真器(調(diào)試器);USB線;CH340USB轉(zhuǎn)串口驅(qū)動(dòng)直接裸機(jī)開發(fā),此類單片機(jī)的處理能力有限集成開發(fā)環(huán)境/軟件:uvsion程序上電后直接跳轉(zhuǎn)到程序入口處,實(shí)現(xiàn)系統(tǒng)的啟動(dòng)工控領(lǐng)域、中低端家電,可穿戴設(shè)備等如:智能手環(huán)、微波爐、血糖儀ARM-Linux開發(fā)板(下位機(jī));網(wǎng)線;串口線;minicom串口調(diào)試工具;SD卡需外部電路,處理能力很強(qiáng)大,通過外部電路可實(shí)現(xiàn)各種復(fù)雜的功能;基于操作系統(tǒng)開發(fā)集成開發(fā)環(huán)境/軟件:Eclipse、QT圖形界面一般包括BIOS、bootloader、內(nèi)核啟動(dòng)、應(yīng)用程序啟動(dòng)等幾個(gè)階段消費(fèi)電子、高端的應(yīng)用如:智能手機(jī)、平板電腦、單反相機(jī)等1.3.3開源硬件Arduino和樹莓派Arduino是一款優(yōu)秀的硬件開發(fā)平臺(tái),開發(fā)方式簡(jiǎn)單,有效降低了學(xué)習(xí)難度,縮短開發(fā)周期,并且有很多第三方商家為Arduino設(shè)計(jì)了很多圖形化的編程工具,進(jìn)一步降低了學(xué)習(xí)難度。Arduino開發(fā)板及應(yīng)用1.3.3開源硬件Arduino和樹莓派
樹莓派就是一個(gè)小型的計(jì)算機(jī),是專門為學(xué)習(xí)計(jì)算機(jī)編程教育設(shè)計(jì)的一種微型電腦,目前最新版本為RaspberryPi3,在尺寸僅為一張信用卡大小的面積上,集成了CPU(RaspberryPi3基于ARMCortex-A53內(nèi)核)、內(nèi)存(SD卡)、10/100以太網(wǎng)接口、USB接口、HDMI接口、電視輸出接口,系統(tǒng)基于Linux操作系統(tǒng)樹莓派3開發(fā)板1.51.5.3系統(tǒng)軟硬件設(shè)計(jì)1.5.4系統(tǒng)測(cè)試1.5.2系統(tǒng)總體設(shè)計(jì)1.5.1需求分析1.4嵌入式系統(tǒng)開發(fā)流程1.4嵌入式系統(tǒng)開發(fā)流程嵌入式系統(tǒng)的開發(fā):系統(tǒng)總體開發(fā)嵌入式軟硬件開發(fā)系統(tǒng)測(cè)試細(xì)分:系統(tǒng)需求分析系統(tǒng)總體設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟硬件測(cè)試1.4.1需求分析嵌入式系統(tǒng)的需求功能性需求系統(tǒng)是做什么的,完成什么樣的功能非功能性需求說明系統(tǒng)的其他屬性,如物理尺寸、價(jià)格、功耗、設(shè)計(jì)時(shí)間、可靠性等通過需求分析得到嵌入式系統(tǒng)的基本功能和各項(xiàng)性能指標(biāo),擬定系統(tǒng)任務(wù)書,為下一步的系統(tǒng)總體設(shè)計(jì)提供設(shè)計(jì)依據(jù)。1.4.2系統(tǒng)總體設(shè)計(jì)從器件選型、外設(shè)接口、成本、性能、開發(fā)周期、開發(fā)難度等多方面進(jìn)行考慮,最終確定系統(tǒng)總體設(shè)計(jì)方案。系統(tǒng)的可靠性和抗干擾能力?電磁干擾?嵌入式微處理器的選型軟硬件開發(fā)平臺(tái)選擇嵌入式操作系統(tǒng)的選擇傳感器的選擇顯示設(shè)備的選擇是否具備聯(lián)網(wǎng)功能電源設(shè)計(jì)及其他1.4.2系統(tǒng)總體設(shè)計(jì)參考選型手冊(cè)、各項(xiàng)性能指標(biāo)選擇適合系統(tǒng)需求的微處理器,主要從功耗、體積、成本、可靠性、速度、處理能力、接口數(shù)量、電磁兼容等方面考慮能夠滿足具體功能性和非功能性指標(biāo)的需求、市場(chǎng)應(yīng)用廣泛、軟硬件配置合理嵌入式微處理器的選型基本原則方法RAM需要多大?ROM需要多大?外設(shè)接口的數(shù)量?對(duì)運(yùn)算能力的要?是否需要運(yùn)行算法?是否可以二次開發(fā)?供貨渠道是否穩(wěn)定?有無替代的微處理器?替代的風(fēng)險(xiǎn)如何?1.4.2系統(tǒng)總體設(shè)計(jì)應(yīng)用領(lǐng)域的不同,嵌入式微處理器的選型不同簡(jiǎn)單的智能儀器儀表的設(shè)計(jì)首要選擇8位的8051系列單片機(jī)數(shù)字信號(hào)處理領(lǐng)域選用TI公司的TMx320x系列的DSP芯片通信領(lǐng)域優(yōu)先考慮Motorola公司的嵌入式微處理器68K系列高性能、消費(fèi)電子領(lǐng)域可選用32位的ARM相關(guān)內(nèi)核芯片系列系統(tǒng)硬件設(shè)計(jì)硬件概要設(shè)計(jì)從硬件角度出發(fā),確認(rèn)整個(gè)系統(tǒng)的架構(gòu),并按功能來劃分各個(gè)模塊,確定各個(gè)模塊的大體實(shí)現(xiàn)硬件詳細(xì)設(shè)計(jì)根據(jù)系統(tǒng)的功能要求完成整個(gè)硬件的設(shè)計(jì),包括原理圖、PCB的繪制。硬件制作制板、元器件焊接,集成硬件設(shè)計(jì)硬件測(cè)試測(cè)試PCB板是否存在短路元器件是否焊錯(cuò)、漏焊、虛焊等測(cè)試各電源對(duì)地電阻是否正常上電,測(cè)試電源是否正常分模塊調(diào)試硬件1.4.3系統(tǒng)軟硬件設(shè)計(jì)軟件詳細(xì)設(shè)計(jì)軟件概要設(shè)計(jì)編碼階段1.4.3系統(tǒng)軟硬件設(shè)計(jì)依據(jù)系統(tǒng)要求,將整個(gè)系統(tǒng)按功能進(jìn)行模塊劃分,定義各功能模塊之間的接口、模塊內(nèi)主要的數(shù)據(jù)結(jié)構(gòu)等。各功能函數(shù)接口的定義,完成算法、數(shù)據(jù)結(jié)構(gòu)、全局變量以及完成任務(wù)時(shí)各個(gè)功能函數(shù)接口的調(diào)用流程設(shè)計(jì)。完成整個(gè)系統(tǒng)的軟件編碼,實(shí)現(xiàn)對(duì)目標(biāo)系統(tǒng)的功能、性能、接口、界面等方面的要求。軟件測(cè)試驗(yàn)證軟件單個(gè)功能是否實(shí)現(xiàn),驗(yàn)證軟件整個(gè)產(chǎn)品功能是否實(shí)現(xiàn)。系統(tǒng)軟件設(shè)計(jì)1.4.4系統(tǒng)測(cè)試系統(tǒng)的硬件、軟件和執(zhí)行機(jī)構(gòu)集成在一起進(jìn)行整體測(cè)試檢驗(yàn)系統(tǒng)是否滿足實(shí)際需求發(fā)現(xiàn)存在的問題和Bug,并改進(jìn)設(shè)計(jì)過程中的不足之處。電磁兼容性測(cè)試等系統(tǒng)整體功能測(cè)試性能參數(shù)測(cè)試本章小結(jié)(思維導(dǎo)圖)習(xí)題與思考01選擇題1.以下選項(xiàng)中不屬于嵌入式系統(tǒng)的是()。
A.手機(jī) B.微波爐 C.筆記本電腦 D.B型超聲診斷儀2.嵌入式微處理器類型中屬于微控制器類型的是()。
A.DSP B.MCU C.FPGA D.MPU3.以下不屬于嵌入式系統(tǒng)特點(diǎn)的是()。
A.軟件、硬件可裁剪 B.可二次開發(fā)
C.體積小,功耗低 D.系統(tǒng)通用性差4.嵌入式操作系統(tǒng)是一種專用于資源受限的嵌入式系統(tǒng)的操作系統(tǒng),以下不屬于嵌入式操作系統(tǒng)的是()。
A.FreeRTOS B.μC/OS-II C.Windows D.Linux5.以下嵌入式系統(tǒng)開發(fā)軟件中用于PCB設(shè)計(jì)的是()。A.ARM-MDK B.STM32CubeMX C.AltiumDesigner D.IAR習(xí)題與思考02填空題1.微處理器的發(fā)展根據(jù)應(yīng)用的不同,形成了微型計(jì)算機(jī)的兩大分支,分別是通用計(jì)算機(jī)系統(tǒng)和______________。2.嵌入式系統(tǒng)一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及_______等四部分組成。3.嵌入式系統(tǒng)是以________為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪的專用計(jì)算機(jī)系統(tǒng)。4.嵌入式系統(tǒng)的開發(fā)主要由系統(tǒng)需求分析、_________、硬件設(shè)計(jì)、軟件設(shè)計(jì)以及系統(tǒng)測(cè)試等幾部分組成。習(xí)題與思考03判斷題1.嵌入式系統(tǒng)是專用的計(jì)算機(jī)系統(tǒng)。()2.嵌入式AI不包括物聯(lián)網(wǎng)和人工智能。()3.嵌入式系統(tǒng)的英文簡(jiǎn)寫是EmbeddedSystem。()4.嵌入式系統(tǒng)與通用PC機(jī)系統(tǒng)的功能和開發(fā)方式是相同的。()5.嵌入式操作系統(tǒng)的主要目標(biāo)是提供對(duì)硬件資源的有效管理和對(duì)應(yīng)用程序的調(diào)度,以實(shí)現(xiàn)系統(tǒng)的可靠性、實(shí)時(shí)性和效率。()習(xí)題與思考04簡(jiǎn)答題1.什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)主要有哪些特點(diǎn)?2.嵌入式系統(tǒng)主要有哪幾部分組成?3.簡(jiǎn)述通用計(jì)算機(jī)與嵌入式系統(tǒng)的區(qū)別與聯(lián)系。4.簡(jiǎn)述嵌入式系統(tǒng)的開發(fā)流程。習(xí)題與思考05綜合應(yīng)用題1.從功能概述、系統(tǒng)結(jié)構(gòu)組成、功能模塊等方面設(shè)計(jì)實(shí)現(xiàn)廚余垃圾智能監(jiān)測(cè)系統(tǒng)。(或選擇一個(gè)嵌入式系統(tǒng)進(jìn)行案例分析,分別從功能概述、系統(tǒng)結(jié)構(gòu)組成、功能模塊等方面進(jìn)行分析。)2.嵌入式系統(tǒng)發(fā)展隨時(shí)代變遷,其概念和內(nèi)容隨時(shí)代需求不斷外延,通過查閱相關(guān)文獻(xiàn),闡述人工智能時(shí)代下嵌入式系統(tǒng)與人工智能相結(jié)合的發(fā)展前景、技術(shù)路線以及應(yīng)用案例,并提交總結(jié)報(bào)告(或論文)。敬請(qǐng)批評(píng)指正ThanksARMCortex-M3內(nèi)核與STM32微控制器第2章《嵌入式系統(tǒng)基礎(chǔ)與實(shí)踐》(第2版)主講教師:(
學(xué)院)知識(shí)目標(biāo)能力目標(biāo)思維與素養(yǎng)目標(biāo)
闡釋和歸納馮·諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)的區(qū)別,明晰CISC和RISC的區(qū)別和聯(lián)系。
了解ARM體系結(jié)構(gòu),分析和歸納ARMCortex-M3內(nèi)核架構(gòu)。
理解STM32微控制器結(jié)構(gòu),熟悉和闡述STM32的中斷系統(tǒng)、時(shí)鐘系統(tǒng)和存儲(chǔ)系統(tǒng)。
查閱常見半導(dǎo)體廠商及其典型產(chǎn)品的信息,獲取嵌入式系統(tǒng)相關(guān)的行業(yè)知識(shí)。
能夠借助手冊(cè)查找芯片相關(guān)寄存器地址,并根據(jù)手冊(cè)分析寄存器功能。
能夠根據(jù)官方源碼及手冊(cè)分析微控制器的存儲(chǔ)結(jié)構(gòu)、中斷系統(tǒng)和時(shí)鐘系統(tǒng)。
電子計(jì)算機(jī)的二進(jìn)制運(yùn)算方式與中國古代傳統(tǒng)文化《易經(jīng)》中“一陰一陽之謂道”有著異曲同工之妙;計(jì)算機(jī)所講授的八進(jìn)制亦與《易經(jīng)》中的八卦蘊(yùn)含著相同的樸素辯證的排列組合思想,通過對(duì)比分析,在理解計(jì)算機(jī)原理的同時(shí),加深對(duì)傳統(tǒng)文化的了解。
系統(tǒng)化、結(jié)構(gòu)化的思維能力,初步形成創(chuàng)新設(shè)計(jì)思維。學(xué)習(xí)目標(biāo)2.1嵌入式系統(tǒng)基礎(chǔ)知識(shí)2.2ARM2.3Cortex-M3內(nèi)核2.4STM32微控制器結(jié)構(gòu)第2章ARMCortex-M3內(nèi)核與STM32微控制器2.1嵌入式系統(tǒng)基礎(chǔ)知識(shí)2.1.1馮
諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)2.1.2ARM存儲(chǔ)模式2.1.3CISC和RISC2.1.4流水線技術(shù)2.1.1馮
諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大部件組成指令地址和數(shù)據(jù)地址指向同一個(gè)存儲(chǔ)器的不同物理位置,統(tǒng)一編址,寬度相同。
由于指令和數(shù)據(jù)放在同一個(gè)存儲(chǔ)器中,因此馮
諾依曼結(jié)構(gòu)的計(jì)算機(jī)不能同時(shí)既取指令又取數(shù)據(jù)典型的馮
諾依曼計(jì)算機(jī)結(jié)構(gòu)框圖2.1.1馮
諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器獨(dú)立編址、獨(dú)立訪問數(shù)據(jù)和指令分別存儲(chǔ)在兩個(gè)獨(dú)立的存儲(chǔ)器中使用兩條獨(dú)立的總線分別與CPU進(jìn)行信息交換數(shù)據(jù)和指令的存儲(chǔ)可以同時(shí)進(jìn)行容易實(shí)現(xiàn)指令流水。哈佛體系結(jié)構(gòu)框圖2.1.2ARM存儲(chǔ)模式計(jì)算機(jī)的存儲(chǔ)器是以字節(jié)為單位進(jìn)行劃分的,每個(gè)地址單元都對(duì)應(yīng)著一個(gè)字節(jié),一個(gè)字節(jié)占8位(bit)存儲(chǔ)方式有兩種:小端模式:數(shù)據(jù)的低字節(jié)存放在內(nèi)存低地址處,數(shù)據(jù)的高字節(jié)存放在內(nèi)存高地址處舉例:一個(gè)32位的數(shù)據(jù)0x12345678,存放在內(nèi)存地址為0x8000~0x8003內(nèi)存地址0x80000x80010x80020x8003數(shù)據(jù)(十六進(jìn)制表示)0x780x560x340x12大端模式:數(shù)據(jù)的高字節(jié)存放在內(nèi)存低地址處,數(shù)據(jù)的低字節(jié)存放在內(nèi)存高地址處內(nèi)存地址0x80000x80010x80020x8003數(shù)據(jù)(十六進(jìn)制表示)0x120x340x560x782.1.3CISC和RISC把特定的由0和1組成的序列當(dāng)作指令,通過指令來操作計(jì)算機(jī)選用使用頻度較高的一些簡(jiǎn)單指令指令的指令長(zhǎng)度固定指令格式和尋址方式的種類較少便于指令的流水線操作絕大部分指令的操作均在運(yùn)行速度最快的寄存器內(nèi)完成采用優(yōu)化的編譯程序來生成高效的目標(biāo)代碼RISC(ReducedInstructionSetComputer)精簡(jiǎn)指令集計(jì)算機(jī)2.1.3CISC和RISC把特定的由0和1組成的序列當(dāng)作指令,通過指令來操作計(jì)算機(jī)CISC(ComplexInstructionSetComputer)復(fù)雜指令集計(jì)算機(jī)指令系統(tǒng)比較豐富指令字長(zhǎng)不固定指令格式較多尋址方式多絕大多數(shù)指令需要多個(gè)時(shí)鐘周期才能執(zhí)行完畢更多地應(yīng)用于桌面、高性能計(jì)算機(jī)領(lǐng)域2.1.3CISC和RISC指標(biāo)CISCRISC價(jià)格硬件結(jié)構(gòu)復(fù)雜,芯片成本高硬件結(jié)構(gòu)較簡(jiǎn)單,芯片成本低流水線減少代碼尺寸,增加指令的執(zhí)行周期數(shù),注重硬件執(zhí)行指令的功能性使用流水線降低指令的執(zhí)行周期數(shù),增加代碼密度指令集指令長(zhǎng)度不固定,大量的混雜型指令集,有專用指令完成特殊功能指令長(zhǎng)度固定,簡(jiǎn)單的單周期指令,不常用的功能由多個(gè)簡(jiǎn)單指令組合完成功耗與體積含有豐富的電路單元,功能強(qiáng),體積大,功耗大處理器結(jié)構(gòu)簡(jiǎn)單,體積小,功耗小設(shè)計(jì)周期長(zhǎng)短應(yīng)用范圍通用桌面機(jī)、高性能計(jì)算機(jī)嵌入式領(lǐng)域、移動(dòng)設(shè)備RISC技術(shù)與CISC技術(shù)比較2.1.4流水線技術(shù)三級(jí)流水時(shí)序圖每條指令分解為多步,并讓各步操作重疊,從而實(shí)現(xiàn)幾條指令并行處理的技術(shù),稱為流水線技術(shù)。
ARMCortex-M3微控制器采用的三級(jí)流水線:取指—譯碼—執(zhí)行取指(FI):將指令從存儲(chǔ)器中取出譯碼(DI):對(duì)所取到的指令進(jìn)行翻譯執(zhí)行(EI):執(zhí)行指令單位時(shí)間內(nèi)流水線所完成的指令數(shù)或輸出結(jié)果的數(shù)量2.1.4流水線技術(shù)流水線的技術(shù)指標(biāo)通常用吞吐率、加速比和效率三項(xiàng)指標(biāo)來衡量吞吐率吞吐率表示為:
吞吐率=指令條數(shù)/指令流水線所需時(shí)間流水線執(zhí)行n條指令所需時(shí)間:所需時(shí)間=完成一條指令所需時(shí)間+
(指令條數(shù)n-1)×?xí)r間最長(zhǎng)的指令段2.1.4流水線技術(shù)【舉例】現(xiàn)有一個(gè)三級(jí)指令流水線分為取指、分析和執(zhí)行三個(gè)部分,其中,取指周期為1ns,分析指令周期為3ns,執(zhí)行指令周期為2ns,則完成100條指令其吞吐率為多少?解:由吞吐率的計(jì)算公式可知,需先計(jì)算出執(zhí)行100條指令流水所花費(fèi)的時(shí)間。完成第一條指令需要1+3+2=6ns,即若不采用指令流水操作,完成一條指令需6ns。由于分析指令所用時(shí)間最長(zhǎng)為3ns,那么從第二條指令開始,每隔3ns就能完成一條指令,完成100條指令所需要的流水時(shí)間為:6ns+(100-1)×3ns=303ns,
則吞吐率為:
100/303ns。完成一批任務(wù)不使用流水線時(shí)間和使用流水線所用時(shí)間之比。2.1.4流水線技術(shù)加速比2.2ARMARM010203ARM是一家公司,在全球半導(dǎo)體行業(yè)技術(shù)領(lǐng)先,其主要業(yè)務(wù)是設(shè)計(jì)16位和32位嵌入式處理器ARM是一類微處理器芯片或產(chǎn)品的統(tǒng)稱,是采用ARM技術(shù)開發(fā)的RISC處理器的通稱ARM是一種技術(shù)的名稱,是一個(gè)AdvancedRISCMachines32位RISC處理器體系結(jié)構(gòu)ARM專門從事基于RISC技術(shù)芯片的設(shè)計(jì)開發(fā),不直接生產(chǎn)芯片,而是轉(zhuǎn)讓技術(shù)設(shè)計(jì)許可,由合作公司生產(chǎn)各具特色的芯片。2.2.2ARM體系結(jié)構(gòu)體系結(jié)構(gòu)主要包括微處理器所支持的指令集和基于該體系結(jié)構(gòu)下微處理器的編程模型。對(duì)于程序開發(fā)人員來說,體系結(jié)構(gòu)最重要的部分是指此微處理器提供的指令系統(tǒng)和寄存器組。所謂計(jì)算機(jī)的體系結(jié)構(gòu)(ComputerArchitecture),是指計(jì)算機(jī)的邏輯結(jié)構(gòu)與功能特性。ARM處理器架構(gòu)2.2.2ARM體系結(jié)構(gòu)ARM體系結(jié)構(gòu)處理器位數(shù)內(nèi)核產(chǎn)品ARMv4T32ARM7TDMI,ARM9TDMIARMv532ARM7EJ、ARM9EARMv632ARM11ARMv6-M32ARMCortex-M0,ARMCortex-M0+ARMv7-M32ARMCortex-M3ARMv7E-M32ARMCortex-M4ARMv7-R32ARMCortex-R0ARMCortex-R5ARMv7-A32ARMCortex-A5ARMCortex-A9ARMCortex-A15ARMv8-A64/32ARMCortex-A53ARMCortex-A57ARM處理器架構(gòu)及典型內(nèi)核產(chǎn)品2.2.2ARM體系結(jié)構(gòu)Samsung公司基于ARM內(nèi)核架構(gòu)的系列產(chǎn)品2.2.2ARM體系結(jié)構(gòu)嵌入式領(lǐng)域常見的半導(dǎo)體公司
及其ARM架構(gòu)的代表性產(chǎn)品半導(dǎo)體公司代表性產(chǎn)品(內(nèi)核架構(gòu))TI(德州儀器)LM3Sxxxx系列(Cortex-M3)LM4Fxxxx系列(Cortex-M4)NXP(恩智浦)LPC1800(Cortex-M3)LPC4300(Cortex-M4)Atmel(愛特梅爾)AtmelAT89、AVR系列ATmegaSAM3S系列(Cortex-M3)、SAM4S系列(Cortex-M4)Freescale(飛思卡爾)KinetisX系列(Cortex-M4)、MPC5xx系列ST(意法半導(dǎo)體)STM32、STM82.2.2ARM體系結(jié)構(gòu)Cortex系列處理器Cortex-A應(yīng)用程序型,虛擬內(nèi)存系統(tǒng)架構(gòu),適用于高端消費(fèi)電子領(lǐng)域Cortex-R實(shí)時(shí)型,針對(duì)高性能高實(shí)時(shí)性的應(yīng)用Cortex-M微控制器型,適合低功耗、高性能且成本敏感的產(chǎn)品,主要面向嵌入式及工業(yè)控制領(lǐng)域Cortex-M3Cortex-M4Cortex-M72.2.2ARM體系結(jié)構(gòu)
ARMCortex-M0+ARMCortex-M0ARMCortex-M3ARMCortex-M4ARMCortex-M7應(yīng)用范圍8/16位應(yīng)用8/16位應(yīng)用32位應(yīng)用32位DSC應(yīng)用32位應(yīng)用架構(gòu)版本ARMv6-MARMv6-MARMv7-M+哈佛結(jié)構(gòu)ARMv7-MARMv7-M流水線2級(jí)流水線3級(jí)流水線3級(jí)流水線3級(jí)流水線6級(jí)流水線+分支預(yù)測(cè)FPU(浮點(diǎn)運(yùn)算單元)NONONOYESYES特點(diǎn)在M0的基礎(chǔ)上進(jìn)一步降低功耗,提高性能低功耗,低成本,使用低功耗微控制器和深度嵌入式應(yīng)用出色的計(jì)算性能以及對(duì)事件的優(yōu)異系統(tǒng)響應(yīng)能力,適用于具有較高確定性的實(shí)時(shí)應(yīng)用較高的信號(hào)處理能力,適用于需要控制和信號(hào)處理功能混合的數(shù)字信號(hào)控制領(lǐng)域保持良好的響應(yīng)性和易用性的同時(shí),實(shí)現(xiàn)最高性能Cortex-M系列微控制器比較2.3Cortex-M3內(nèi)核Cortex-M3是基于ARMv7-M體系結(jié)構(gòu)設(shè)計(jì)的32位的處理器內(nèi)核數(shù)據(jù)寬度、寄存器位數(shù)和存儲(chǔ)器位數(shù)都是32位的采用基于哈佛結(jié)構(gòu)的三級(jí)流水線內(nèi)核擁有獨(dú)立的數(shù)據(jù)總線和指令總線數(shù)據(jù)總線和指令總線共享一個(gè)存儲(chǔ)器空間,總的尋址空間為4GBARMCortex-M3體系結(jié)構(gòu)2.3Cortex-M3內(nèi)核Cortex-M3微處理器Cortex-M3內(nèi)核中央處理器核心(Cortex-M3Core)嵌套向量中斷控制器(NVIC)系統(tǒng)時(shí)鐘(SYSTICK)存儲(chǔ)器保護(hù)單元(MPU)總線矩陣(AHB互連網(wǎng)絡(luò))調(diào)試系統(tǒng)串行線/串口JTAG調(diào)試端口(SW-DP/SWJ-DP)基于AHB總線的通用調(diào)試接口(AHB-AP)嵌入式跟蹤單元(ETM)數(shù)據(jù)觀察點(diǎn)觸發(fā)器(DWT)2.3Cortex-M3內(nèi)核Cortex-M3內(nèi)核架構(gòu)框圖Cortex-M3Core:包括指令提取單元、譯碼單元、寄存器組和ALU等;嵌套向量中斷控制器(NVIC):用于實(shí)現(xiàn)快速、低延遲的異常中斷處理;系統(tǒng)時(shí)鐘(SYSTICK):24位倒計(jì)時(shí)計(jì)數(shù)器,可作為系統(tǒng)定時(shí)器,用于產(chǎn)生定時(shí)中斷;存儲(chǔ)器保護(hù)單元(MPU):用于對(duì)存儲(chǔ)區(qū)域的訪問保護(hù),防止用戶程序破壞存儲(chǔ)區(qū)域的關(guān)鍵數(shù)據(jù);總線矩陣(AHB互連網(wǎng)絡(luò)):用來將處理器內(nèi)核和調(diào)試接口連接到不同功能的外部總線上,提供并行數(shù)據(jù)傳輸功能,還提供附加數(shù)據(jù)傳送功能。2.3Cortex-M3內(nèi)核目錄2.3.1內(nèi)核結(jié)構(gòu)2.3.2寄存器2.3.3存儲(chǔ)結(jié)構(gòu)2.3.4中斷與異常(NVIC)2.3.1內(nèi)核結(jié)構(gòu)芯片級(jí)的計(jì)算機(jī)ARM公司Cortex-M3內(nèi)核各大半導(dǎo)體公司針對(duì)不同的應(yīng)用場(chǎng)合和領(lǐng)域,通過添加不同的外設(shè)以增加不同的功能+=將CPU(Cortex-M3內(nèi)核)、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、I/O等集成在一個(gè)芯片上2.3.1內(nèi)核結(jié)構(gòu)ATMEL公司的SAM3X系列32位微控制器Features:ARMCortex-M3revision2.0runningatupto84MHzMemoryProtectionUnit(MPU)24-bitSysTickCounterThumb?-2instructionsetNestedVectorInterruptController2x256KbytesembeddedFlash,128-bitwideaccess,memoryaccelerator,dualbankATMEL公司的SAM3X系列MCU功能結(jié)構(gòu)圖2.3.1內(nèi)核結(jié)構(gòu)NXP公司的LPC1700系列芯片KeyFeatures:-ARMCortex-M3core-Upto120MHzoperation-NestedVectoredInterruptControllerforfastdeterministicinterrupts-WakeupInterruptControllerallowsautomaticwakefromanypriorityinterrupt-MemoryProtectionUnit-Fourreducedpowermodes:Sleep,Deep-Sleep,Power-downandDeeppower-downNXP公司LPC1700系列MCU功能結(jié)構(gòu)圖2.3.1內(nèi)核結(jié)構(gòu)TI公司的StellarisLM3S系列微控制器LM3S8971Features-32-bitARM?Cortex?-M350-MHzprocessorcorewithSystemTimer(SysTick),integratedNestedVectoredInterruptController(NVIC),MemoryProtectionUnit(MPU),andThumb-2instructionset-Full-featureddebugsolutionwithdebugaccessviaJTAGandSerialWireinterfaces,andIEEE1149.1-1990compliantTestAccessPort(TAP)controller-256KBsingle-cycleflashand64KBsingle-cycleSRAM-Lower-powerbattery-backedHibernationmodulewithReal-TimeClock-4-38GPIOs(dependingonconfiguration)withprogrammablecontrolforGPIOinterruptsandpadconfigurationTI公司32位微控制器LM3S8971功能結(jié)構(gòu)框圖2.3.1內(nèi)核結(jié)構(gòu)針對(duì)不同應(yīng)用場(chǎng)合和各自優(yōu)勢(shì)領(lǐng)域,生產(chǎn)出各具特色的微控制器上述三個(gè)不同半導(dǎo)體公司的不同系列的芯片基于ARMCortex-M3內(nèi)核的32位微控制器具有Cortex-M3內(nèi)核的基本架構(gòu),如NVIC、JTAG/SWD調(diào)試接口SRAM和FLASH的大小外設(shè)的不同相同之處不同之處I/O、時(shí)鐘的不同2.3.2寄存器寄存器有兩大類:CPU內(nèi)部的寄存器,比如Cortex-M3中的通用寄存器R0、R15(PC)等,外設(shè)I/O接口中的寄存器,I/O接口與存儲(chǔ)器統(tǒng)一編址,通過軟件編程對(duì)寄存器進(jìn)行讀或者寫操作,即可實(shí)現(xiàn)對(duì)外設(shè)的控制晶體管(二極管、三極管、場(chǎng)效應(yīng)MOS管基本門電路觸發(fā)器存儲(chǔ)1位二進(jìn)制數(shù)據(jù)寄存器存儲(chǔ)二進(jìn)制數(shù)據(jù)寄存器通用寄存器保存指令執(zhí)行過程中臨時(shí)存放的寄存器操作數(shù)和中間結(jié)果特殊功能寄存器(SFR)用于外設(shè)控制相關(guān)的操作2.3.2寄存器ARMCortex-M3微處理器:13個(gè)32位的通用寄存器R0~R12R13、R14和R15三個(gè)寄存器被指定了專門的用途Cortex-M3內(nèi)核寄存器2.3.2寄存器特殊功能寄存器程序狀態(tài)寄存器等狀態(tài)應(yīng)用狀態(tài)寄存器(APSR)中斷狀態(tài)寄存器(IPSR)執(zhí)行狀態(tài)寄存器(EPSR)中斷屏蔽寄存器PRIMASK寄存器FAULTMASK寄存器BASEPRI寄存器控制寄存器存放程序運(yùn)行中的各種狀態(tài)信息以及中斷控制異常和中斷的屏蔽定義特權(quán)狀態(tài),還用于決定當(dāng)前使用哪一個(gè)堆棧指針Cortex-M3內(nèi)核的
特殊功能寄存器2.3.3存儲(chǔ)結(jié)構(gòu)ARMCortex-M3系列微處理器采用存儲(chǔ)器與I/O設(shè)備(外設(shè))統(tǒng)一編址的方式,設(shè)置部分存儲(chǔ)器地址范圍用于外設(shè)的訪問,將這種通過存儲(chǔ)器地址訪問外設(shè)的方式,稱為存儲(chǔ)器地址映射。存儲(chǔ)器映射,就是將芯片中或芯片外的FLASH、RAM和外設(shè)接口等進(jìn)行統(tǒng)一編址,用于程序存儲(chǔ)、數(shù)據(jù)存儲(chǔ)、寄存器和外設(shè)。Cortex-M3存儲(chǔ)器映射2.3.4中斷與異常(NVIC)打斷程序正常執(zhí)行順序的事件,都被稱為異常(exception)。中斷一般指來自外部的片上外設(shè)或外擴(kuò)的外設(shè)的中斷請(qǐng)求事件。Cortex-M3內(nèi)核可支持256種異常和中斷:中斷編號(hào)1~15為系統(tǒng)異常大于等于16的則全是外部中斷,共240個(gè)外部中斷通常外部中斷寫作IRQs,Cortex-M3具有256級(jí)的可編程中斷優(yōu)先級(jí)設(shè)置,功能十分強(qiáng)大.2.3.4中斷與異常(NVIC)編號(hào)類別優(yōu)先級(jí)優(yōu)先級(jí)類型說明0N/AN/A
沒有編號(hào)為0的異常,此為正常狀態(tài)1復(fù)位(Reset)-3(最高)固定復(fù)位2NMI-2固定不可屏蔽中斷(來自外部NMI輸入腳)3硬(Hard)Fault-1固定只要FAULTMASK沒有置位,硬Fault服務(wù)例程會(huì)被強(qiáng)制執(zhí)行4存儲(chǔ)器Fault0可編程MPU訪問違例以及訪問非法位置均可引發(fā)5總線Fault1可編程總線收到了錯(cuò)誤響應(yīng),6用法Fault2可編程由于程序錯(cuò)誤導(dǎo)致的異常。7-10保留(Reserved)保留保留保留11SVCall3可編程執(zhí)行系統(tǒng)服務(wù)調(diào)用指令(SVC)引發(fā)的異常12調(diào)試監(jiān)視器(DebugMonitor)4可編程調(diào)試監(jiān)視器(斷點(diǎn)、數(shù)據(jù)觀察點(diǎn)、或是外部調(diào)試請(qǐng)求)13ReservedN.A.N.A.保留14PendSV
可編程為系統(tǒng)設(shè)備而設(shè)的“可掛起請(qǐng)求”15SysTick
可編程系統(tǒng)滴答定時(shí)器16Interrupt#07可編程外部中斷#0……………可編程……256Interrupt#239247可編程外部中斷#239Cortex-M3中斷2.3.4中斷與異常(NVIC)作用統(tǒng)一管理和配置中斷通過優(yōu)先級(jí)來控制中斷的嵌套和調(diào)度。在NVIC中,優(yōu)先級(jí)的數(shù)值越小,則優(yōu)先級(jí)越高。Cortex-M3內(nèi)核集成了一個(gè)外設(shè)——NVIC用于專門負(fù)責(zé)中斷。01可嵌套中斷支持,即高優(yōu)先級(jí)的中斷可以打斷低優(yōu)先級(jí)的中斷。02向量中斷支持,縮短中斷延遲時(shí)間。03動(dòng)態(tài)優(yōu)先級(jí)調(diào)整支持。軟件可以在運(yùn)行期間更改中斷的優(yōu)先級(jí)。04引入新特長(zhǎng)新技術(shù),中斷延遲大大縮短05中斷可屏蔽NVIC具有以下特性2.3.4中斷與異常(NVIC)響應(yīng)中斷的過程保存現(xiàn)場(chǎng)處理器將相關(guān)的寄存器xPSR、PC、LR、R12及R0~R3壓入堆棧中。如果當(dāng)前使用的是PSP,則壓入進(jìn)程堆棧,否則壓入主堆棧。取向量從中斷向量表中找到相應(yīng)的中斷服務(wù)程序的入口地址更新寄存器將堆棧指針進(jìn)行更新,在向量取出后,程序寄存器指針(PC)指向中斷服務(wù)程序的入口地址,更新程序寄存器指針(PC)以及更新鏈接寄存器(LR)。2.4STM32微控制器結(jié)構(gòu)2.4.1STM32系統(tǒng)結(jié)構(gòu)2.4.2STM32總線結(jié)構(gòu)2.4.3STM32存儲(chǔ)結(jié)構(gòu)2.4.4STM32中斷2.4.5STM32時(shí)鐘系統(tǒng)
STM32F10x系列是ST公司基于ARMCortex-M3內(nèi)核設(shè)計(jì)的32位精簡(jiǎn)指令集微控制器,最高工作頻率為72MHz。2.4.1STM32系統(tǒng)結(jié)構(gòu)STM32F10x微控制器功能結(jié)構(gòu)圖總線是各種信號(hào)線的集合,是嵌入式系統(tǒng)中各部件之間傳送數(shù)據(jù)、地址和控制信息的公共通路。2.4.2STM32總線結(jié)構(gòu)嵌入式系統(tǒng)中常用的總線與總線相關(guān)的參數(shù)總線寬度:總線能同時(shí)傳送的數(shù)據(jù)位數(shù)(bit),如32位總線頻率:總線的工作速度,頻率越高,速度越快總線帶寬=總線寬度×總線頻率/8單位為MBpsI2C總線SPI總線CAN總線ISA總線PCI總線2.4.2STM32總線結(jié)構(gòu)AHB:AdvancedHigh-speedBus,先進(jìn)高速總線。APB:AdvancedPeripheralBus,先進(jìn)外設(shè)總線。FLASH:閃存。FSMC:FlexibleStaticMemoryController,靜態(tài)存儲(chǔ)控制器,用于連接外部存儲(chǔ)器。RCC:ResetandClockControl,復(fù)位與時(shí)鐘控制器。
STM32F10x芯片系統(tǒng)結(jié)構(gòu)2.4.2STM32總線結(jié)構(gòu)
STM32F10x芯片系統(tǒng)結(jié)構(gòu)ICode總線:32位的AHB總線,將Cortex-M3內(nèi)核的指令總線與閃存FLASH接口相連接,指令預(yù)取在此總線上完成。DCode總線:32位的AHB總線,將Cortex-M3內(nèi)核的DCode總線與閃存存儲(chǔ)器的數(shù)據(jù)接口相連接,用于常量加載和調(diào)試訪問。System總線:32位的AHB總線,連接Cortex-M3內(nèi)核的系統(tǒng)總線到總線矩陣。總線矩陣:用于主控總線之間的訪問仲裁管理,由總線控制器統(tǒng)一管理。DMA總線:執(zhí)行內(nèi)存與外設(shè)之間的數(shù)據(jù)傳輸。DMA通過此總線訪問AHB外設(shè)或執(zhí)行存儲(chǔ)器間的數(shù)據(jù)傳輸。APB總線:STM32用兩個(gè)AHB-APB橋?qū)崿F(xiàn)AHB與2個(gè)APB總線之間(APB1和APB2)的同步連接。2.4.2STM32總線結(jié)構(gòu)
STM32F10x芯片系統(tǒng)結(jié)構(gòu)2.4.2STM32總線結(jié)構(gòu)
STM32F10x芯片系統(tǒng)結(jié)構(gòu)GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG、USART1、SPI1、ADC1~ADC3、TIM1、EXTI等掛接在APB2總線上,其頻率最高可達(dá)72MHz;USART2、USART3、SPI2、USB、CAN、DAC等掛接在APB1總線上,其頻率最高為36MHz。2.4.3STM32存儲(chǔ)結(jié)構(gòu)通過存儲(chǔ)器地址訪問外設(shè)STM32的外設(shè)可以通過指針來實(shí)現(xiàn)訪問和操作。每個(gè)外設(shè)寄存器都占用特定的存儲(chǔ)器地址,對(duì)外設(shè)的操作和對(duì)存儲(chǔ)器的操作是一樣的。STM32總的地址空間大小為4GB,用0x00000000H~0x1FFFFFFF來表示將4GB大小的空間劃分為:Flash程序存儲(chǔ)器區(qū)SRAM靜態(tài)數(shù)據(jù)存儲(chǔ)器區(qū)片上外設(shè)區(qū)
2.4.3STM32存儲(chǔ)結(jié)構(gòu)
STM32存儲(chǔ)空間地址分配2.4.3STM32存儲(chǔ)結(jié)構(gòu)RAM(隨機(jī)存儲(chǔ)器):用于存儲(chǔ)程序運(yùn)行過程中所需要的數(shù)據(jù)和程序運(yùn)行中產(chǎn)生的數(shù)據(jù),掉電后數(shù)據(jù)會(huì)丟失。堆棧,位于RAM存儲(chǔ)器中,主要功能是暫時(shí)存放數(shù)據(jù)和地址,通常用來保護(hù)斷點(diǎn)和現(xiàn)場(chǎng),適用于中斷機(jī)制。Flash,閃存,即FlashROM,其本質(zhì)是一個(gè)ROM,用于存放用戶編寫的程序代碼,掉電后數(shù)據(jù)不會(huì)丟失,可重復(fù)擦寫且容量較大。EEPROM(電可擦可編程只讀存儲(chǔ)器),是保障單片機(jī)中的數(shù)據(jù)長(zhǎng)時(shí)間保存而不丟失的單元,主要用來存放需要經(jīng)常修改的非易失性數(shù)據(jù)。2.4.4STM32中斷STM32不同系列和型號(hào)的MCU具有不同數(shù)量的中斷,比如STM32F103系列MCU具有60個(gè)中斷。位置優(yōu)先級(jí)優(yōu)先級(jí)類型名稱說明地址
---保留0x0000_0000
-3固定Reset復(fù)位0x0000_0004
-2固定NMI不可屏蔽中斷RCC時(shí)鐘安全系統(tǒng)(CSS)聯(lián)接到NMI向量0x0000_0008
-1固定硬件失效(HardFault)所有類型的失效0x0000_000C
0可設(shè)置存儲(chǔ)管理(MemManage)存儲(chǔ)器管理0x0000_0010
1可設(shè)置總線錯(cuò)誤(BusFault)預(yù)取指失敗,存儲(chǔ)器訪問失敗0x0000_0014
2可設(shè)置錯(cuò)誤應(yīng)用(UsageFault)未定義的指令或非法狀態(tài)0x0000_0018
---保留0x0000_001C-0x0000_002B………………512可設(shè)置RCC復(fù)位和時(shí)鐘控制(RCC)中斷0x0000_0054613可設(shè)置EXTI0EXTI線0中斷0x0000_0058714可設(shè)置EXTI1EXTI線1中斷0x0000_005C………………5966可設(shè)置DMA2通道4_5DMA2通道4和DAM2通道5全局中斷0x0000_012C2.4.4STM32中斷搶占優(yōu)先級(jí)決定一個(gè)中斷能否被其他中斷打斷,搶占優(yōu)先級(jí)高的中斷可以打斷搶占優(yōu)先級(jí)低的中斷;響應(yīng)優(yōu)先級(jí)則是在搶占優(yōu)先級(jí)相同時(shí),根據(jù)響應(yīng)優(yōu)先級(jí)的大小再進(jìn)行中斷處理的排序。NVIC_PriorityGroup搶占優(yōu)先級(jí)取值范圍響應(yīng)優(yōu)先級(jí)取值范圍描述NVIC_PriorityGroup_000~15搶占優(yōu)先級(jí)占0位,響應(yīng)優(yōu)先級(jí)占4位NVIC_PriorityGroup_10,10~7搶占優(yōu)先級(jí)占1位,響應(yīng)優(yōu)先級(jí)占3位NVIC_PriorityGroup_20,1,2,30,1,2,3搶占優(yōu)先級(jí)占2位,響應(yīng)優(yōu)先級(jí)占2位NVIC_PriorityGroup_30,1,2,3,4,5,6,70,1搶占優(yōu)先級(jí)占3位,響應(yīng)優(yōu)先級(jí)占1位NVIC_PriorityGroup_40~150搶占優(yōu)先級(jí)占4位,響應(yīng)優(yōu)先級(jí)占0位STM32中斷優(yōu)先級(jí)分為兩級(jí):搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)STM32通過NVIC進(jìn)行中斷優(yōu)先級(jí)的分組,從而分配搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)。2.4.5STM32時(shí)鐘系統(tǒng)由于STM32的外設(shè)時(shí)鐘復(fù)雜,因此需要有一套完整的時(shí)鐘系統(tǒng)來進(jìn)行時(shí)鐘管理,這就是STM32的時(shí)鐘系統(tǒng)。STM32的時(shí)鐘系統(tǒng)由RCC(ResetandClockControl,復(fù)位與時(shí)鐘控制器)產(chǎn)生,用來為系統(tǒng)和各種外設(shè)提供所需的時(shí)鐘頻率,以確定各外設(shè)的工作速度。STM32時(shí)鐘系統(tǒng)2.4.5STM32時(shí)鐘系統(tǒng)HSIHighSpeedInternal,高速內(nèi)部時(shí)鐘,由內(nèi)部8MHz的RC振蕩器生成,可作為系統(tǒng)時(shí)鐘或2分頻后作為PLL輸入;特點(diǎn):時(shí)鐘頻率精度差,不穩(wěn)定。HSEHighSpeedExternal,高速外部時(shí)鐘,可外接一個(gè)外部時(shí)鐘源,或者通過OSC_IN和OSC_OUT引腳外接晶振,允許外接的晶振頻率范圍為4~16MHz,通常使用8MHz。特點(diǎn):精度高,穩(wěn)定。LSILowSpeedInternal,低速內(nèi)部時(shí)鐘,由內(nèi)部RC振蕩器產(chǎn)生,頻率約40kHz,主要為獨(dú)立看門狗(IWDG)和自動(dòng)喚醒單元提供時(shí)鐘。LSELowSpeedExternal,低速外部時(shí)鐘,通過OSC32_IN和OSC32_OUT引腳外接頻率為32.768kHz的晶振,主要為RTC(Real-TimeClock,實(shí)時(shí)時(shí)鐘部件)提供低速高精度的時(shí)鐘源。PLLPhaseLockedLoop,鎖相環(huán),保證外部輸入時(shí)鐘信號(hào)與內(nèi)部振蕩信號(hào)同步(頻率和相位相同),以保證輸出頻率的穩(wěn)定。另一方面,也可用于倍頻HSI或HSE。STM32有5個(gè)時(shí)鐘源2.4.5STM32時(shí)鐘系統(tǒng)
系統(tǒng)時(shí)鐘經(jīng)AHB預(yù)分頻器分頻,產(chǎn)生各種外設(shè)所需要的時(shí)鐘頻率,AHB分頻器輸出的時(shí)鐘供五大模塊使用:AHB總線、內(nèi)核、內(nèi)存和DMA使用的HCLK時(shí)鐘。通過8分頻后用作Cortex的系統(tǒng)定時(shí)器時(shí)鐘。直接作為Cortex的空閑運(yùn)行時(shí)鐘FCLK。供給APB1分頻器。供給APB2分頻器。本章小結(jié)2.2ARM2.1嵌入式系統(tǒng)基礎(chǔ)知識(shí)2.4STM32微控制器結(jié)構(gòu)2.3Cortex-M3內(nèi)核馮
諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)ARM存儲(chǔ)模式CISC和RISC流水線技術(shù)ARM介紹ARM體系結(jié)構(gòu)內(nèi)核結(jié)構(gòu)寄存器存儲(chǔ)結(jié)構(gòu)中斷與異常系統(tǒng)結(jié)構(gòu)總線結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)中斷時(shí)鐘系統(tǒng)本章小結(jié)(思維導(dǎo)圖)習(xí)題與思考01選擇題1.以下選項(xiàng)中不屬于STM32時(shí)鐘系統(tǒng)的是()。A.HSI B.HSE C.PLL D.NVIC2.以下不屬于ARMCortex系列處理器的是()。A.Cortex-M B.Cortex-R C.Cortex-A D.RISC-V3.存儲(chǔ)一個(gè)32位數(shù)0x12345678到1000H~1003H這4個(gè)字節(jié)單元中,若以大端模式存儲(chǔ),則1000H存儲(chǔ)單元的內(nèi)容為()。A.0x12 B.0x21 C.0x78 D.0x874.在ARMCortex-M3內(nèi)核寄存器中,用于指示程序的運(yùn)行狀態(tài)的寄存器是()。A.xPSR B.堆棧指針寄存器 C.鏈接寄存器 D.程序計(jì)數(shù)器習(xí)題與思考01選擇題5.ARMCortex-M3內(nèi)核集成了一個(gè)專門負(fù)責(zé)中斷的中斷向量控制器是()。A.RCC B.NVIC C.CISC D.RISC6.計(jì)算機(jī)的體系結(jié)構(gòu)一般分為馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu),以下對(duì)哈佛結(jié)構(gòu)的敘述中,不正確的是()。A.程序和數(shù)據(jù)保持在同一個(gè)物理存儲(chǔ)器上
B.指令、數(shù)據(jù)可以有不同寬度C.DSP是哈佛結(jié)構(gòu)
D.采用存儲(chǔ)程序的方式工作7.以下說法錯(cuò)誤的是()。A.ARM是一家半導(dǎo)體芯片設(shè)計(jì)公司B.ARM是一種RISC技術(shù)的名稱C.ARM是一類采用ARM技術(shù)開發(fā)的微處理器或產(chǎn)品的統(tǒng)稱D.ARM主要為通用辦公領(lǐng)域生產(chǎn)和設(shè)計(jì)的微處理器芯片習(xí)題與思考02填空題1.現(xiàn)有一個(gè)32位數(shù)0x12345678,存放在內(nèi)存地址為0x4000~0x4003處,若按小端模式進(jìn)行存放,則其最低字節(jié)數(shù)據(jù)0x78存放在內(nèi)存地址_______處;若以大端模式存儲(chǔ),則最高字節(jié)數(shù)據(jù)0x12存放在內(nèi)存地址_________處。2.現(xiàn)采用3級(jí)流水線結(jié)構(gòu)完成一條指令的取指令、譯碼和執(zhí)行,若這三部分的時(shí)間分別是t取指令=2ns,t譯碼=2ns,t執(zhí)行=1ns,則完成100條指令需要______ns。3.ARMCortex-M3內(nèi)核能夠?qū)ぶ返淖畲罂臻g為_________,尋址范圍為_________。4.ARMCortex-M3微處理器采用存儲(chǔ)器地址與I/O設(shè)備地址統(tǒng)一編址的方式,通過______來區(qū)分內(nèi)存單元和I/O設(shè)備。5.在STM32時(shí)鐘系統(tǒng)中,通過___________可將時(shí)鐘源進(jìn)行倍頻。6.ARMCortex-M3內(nèi)核的R15寄存器是____________,它總是指向下一條指令所在單元的地址。習(xí)題與思考03判斷題1.程序計(jì)數(shù)器用于存放指向當(dāng)前程序執(zhí)行的地址。 ()2.ARMCortex-M3微控制器采用取指令→譯碼→執(zhí)行的3級(jí)流水線技術(shù)。 ()3.ARM是一類采用RISC設(shè)計(jì)的微處理器芯片或產(chǎn)品的統(tǒng)稱。 ()4.ARMCortex-M3是基于ARMv7-M體系結(jié)構(gòu)設(shè)計(jì)的32位處理器內(nèi)核。 ()5.STM32將4GB的存儲(chǔ)空間劃分為8個(gè)不同的Block區(qū)域,其中Block2為片上外設(shè)區(qū),可以通過指針來實(shí)現(xiàn)訪問和操作。 ()習(xí)題與思考04簡(jiǎn)答題1.計(jì)算機(jī)體系結(jié)構(gòu)主要有馮·諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu),請(qǐng)簡(jiǎn)述其區(qū)別。2.ARMCortex-M3微處理器主要由哪些部分構(gòu)成?3.簡(jiǎn)述STM32的時(shí)鐘系統(tǒng)。該系統(tǒng)有哪幾個(gè)時(shí)鐘源,各自的時(shí)鐘頻率是多少?4.STM32的存儲(chǔ)空間分為哪幾部分?每部分的地址范圍是多少?習(xí)題與思考05綜合應(yīng)用題從系統(tǒng)架構(gòu)的存儲(chǔ)結(jié)構(gòu)、總線結(jié)構(gòu)結(jié)合地址空間、寄存器及C語言的指針等應(yīng)用闡述STM32單片機(jī)是如何實(shí)現(xiàn)軟件控制硬件(或者程序是如何控制硬件的)的。敬請(qǐng)批評(píng)指正STM32開發(fā)環(huán)境搭建第3章《嵌入式系統(tǒng)基礎(chǔ)與實(shí)踐》(第2版)主講教師:(
學(xué)院)知識(shí)目標(biāo)能力目標(biāo)思維與素養(yǎng)目標(biāo)
了解STM32微控制器性能參數(shù)、命名規(guī)則、芯片選型等相關(guān)信息。
理解STM32三種開發(fā)模式,歸納和總結(jié)三種開發(fā)模式的優(yōu)缺點(diǎn)。
了解嵌入式交叉開發(fā)模式,熟悉嵌入式系統(tǒng)常用開發(fā)工具。
能夠獨(dú)立完成嵌入式STM32開發(fā)環(huán)境的搭建,安裝并運(yùn)行相關(guān)開發(fā)軟件。
能夠安裝仿真器驅(qū)動(dòng),實(shí)現(xiàn)程序的正常下載燒寫。
學(xué)會(huì)查閱官網(wǎng)信息,下載芯片數(shù)據(jù)手冊(cè)、用戶手冊(cè)等芯片資料,能夠根據(jù)系統(tǒng)需求進(jìn)行芯片選型。
能夠應(yīng)用STM32CubeMX創(chuàng)建LED燈閃爍的工程,熟悉Keil的調(diào)試方法。
獨(dú)立搭建嵌入式系統(tǒng)的開發(fā)平臺(tái)是職業(yè)素養(yǎng)養(yǎng)成的第一步,掌握和熟練使用行業(yè)常用開發(fā)工具是每一個(gè)開發(fā)設(shè)計(jì)人員必備的技能。
熟練閱讀英文技術(shù)手冊(cè),撰寫簡(jiǎn)明扼要的技術(shù)文檔,打造“讀—寫”輸出的綜合軟技能。
培養(yǎng)系統(tǒng)化、結(jié)構(gòu)化的思維能力,初步形成創(chuàng)新設(shè)計(jì)思維。學(xué)習(xí)目標(biāo)3.1STM32介紹STM32ARMCortex-M3內(nèi)核STM32意法半導(dǎo)體公司Microelectronics的縮寫,表示微控制器32位的意思,表示這是一個(gè)32位的微處理器芯片3.1STM32介紹ST公司微處理器系列產(chǎn)品
STM8主打低功耗,主要針對(duì)8位微控制器市場(chǎng):STM8A(汽車用MCU)STM8S(主流MCU標(biāo)準(zhǔn)系列)STM8L(超低功耗MCU)三個(gè)系列
基于STM8內(nèi)核,采用3級(jí)流水線的哈佛結(jié)構(gòu)。3.1STM32介紹STM32系列MCU
STM32F4系列基于ARMCortex-M4內(nèi)核,主頻高達(dá)180MHz,具有DSP和FPU等功能。STM32F2、STM32F4、STM32F7為高性能MCUSTM32F1系列是ST公司主推的STM32系列MCU,基于ARMCortex-M3內(nèi)核,主頻高達(dá)72MHz3.1STM32介紹STM32F1產(chǎn)品系列STM32F1系列MCU是ST針對(duì)工業(yè)、醫(yī)療和消費(fèi)類市場(chǎng)的應(yīng)用需求而設(shè)計(jì)的低功耗、高性價(jià)比的產(chǎn)品,該系列從功能上又可分為5個(gè)子系列,其引腳、外設(shè)和軟件均相互兼容STM32F100主頻為24MHz,具有電機(jī)控制和消費(fèi)電子控制功能;STM32F101基本型,主頻為36MHz,具有高達(dá)1MB的Flash;STM32F102USB基本型,主頻為48MHz,具有USBFSdevice接口;STM32F103增強(qiáng)型,主頻為72MHz,具有高達(dá)1MB的Flash、電機(jī)控制、USB和CAN;STM32F105/107互聯(lián)型,主頻為72MHz,具有以太網(wǎng)MAC、CAN和USB2.0OTG。3.1STM32介紹STM32F103系列產(chǎn)品STM32F1系列產(chǎn)品中,各個(gè)子系列按閃存容量的大小又分為小容量、中容量、大容量產(chǎn)品。低密度(LD):閃存容量為16~32KB中密度(MD):閃存容量為64~128KB高密度(HD):閃存容量為256~512KB超密度(XL):閃存容量為768KB~1MB3.1STM32介紹STM32芯片命名規(guī)范序號(hào)符號(hào)說明1STM32ARMCortex-M3內(nèi)核的32位微控制器2F芯片的系列3103增強(qiáng)型系列4Z芯片有144管腳5E512K字節(jié)的Flash6T采用LQFP封裝76工作溫度范圍為-40–+85℃
以STM32F103ZET6為例說明芯片命名規(guī)范,該芯片型號(hào)由七部分組成3.1STM32介紹
DIP——(塑料)雙列直插式封裝,適用于中小規(guī)模集成電路,引腳數(shù)一般不超過100個(gè)半導(dǎo)體芯片常見的封裝方式SOP——小外型表面貼片封裝,廣泛應(yīng)用于10-40個(gè)引腳的芯片PQFP——塑料方形扁平封裝,管腳很細(xì),一般應(yīng)用于大規(guī)?;虺笮图呻娐?,引腳數(shù)一般在100個(gè)以上LQFP——薄型QFP指封裝,本體厚度為1.4mm的QFP(Plastic)DualIn-linePackageSmallOutlinePackagePlasticQuadFlatPackageLow-profileQuadFlatPackage3.1STM32介紹
BGA——(塑料)球柵陣列封裝,Intel系列的80486和Pentium等CPU多采用這種封裝方式半導(dǎo)體芯片常見的封裝方式PGA——插針網(wǎng)格陣列封裝,有專門的PGA插座,插拔方便,常用于CPU的封裝PLCC——塑封方形引腳插入式封裝,外形尺寸比DIP封裝小得多,必須采用SMT(表面貼裝技術(shù))進(jìn)行焊接(Plastic)BallGridArrayPinGridArrayPackagePlasticJ-LeadedChipCarrie3.1STM32介紹
用戶選型參考資料選型手冊(cè)參考手冊(cè)(Referencemanual)數(shù)據(jù)手冊(cè)(Datasheet)內(nèi)容包括:產(chǎn)品的基本配置(如內(nèi)置Flash和RAM的容量、外設(shè)模塊的種類和數(shù)量等)、引腳數(shù)量和分配、電氣特性、封裝信息和定購代碼等對(duì)芯片每一個(gè)外設(shè)的功能進(jìn)行了詳細(xì)說明,并對(duì)寄存器進(jìn)行了詳細(xì)描述3.1STM32介紹STM32芯片數(shù)據(jù)手冊(cè)中對(duì)具體的引腳名稱、引腳類型、引腳復(fù)用功能及I/O結(jié)構(gòu)等進(jìn)行了詳細(xì)說明STM32數(shù)據(jù)手冊(cè)中有關(guān)引腳的定義在Pinoutsandpindescription部分STM32F103xx引腳定義3.1STM32介紹
STM32F103xx引腳功能說明3.2STM32微控制器開發(fā)模式寄存器開發(fā)方式將底層寄存器的操作進(jìn)行了統(tǒng)一封裝,包括所有標(biāo)準(zhǔn)器件外設(shè)的驅(qū)動(dòng)器,采用C語言實(shí)現(xiàn),開發(fā)人員只需要熟悉并調(diào)用相應(yīng)的應(yīng)用程序編程接口函數(shù),即可實(shí)現(xiàn)對(duì)相關(guān)外設(shè)的驅(qū)動(dòng)操作標(biāo)準(zhǔn)外設(shè)庫開發(fā)方式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)分泌科科普宣教
- 山野徒步活動(dòng)策劃方案(3篇)
- 活動(dòng)策劃方案的總結(jié)(3篇)
- 藝術(shù)機(jī)構(gòu)安全管理制度范本(3篇)
- 高警示藥物管理制度試題(3篇)
- 《GA 558.8-2005互聯(lián)網(wǎng)上網(wǎng)服務(wù)營(yíng)業(yè)場(chǎng)所信息安全管理系統(tǒng)數(shù)據(jù)交換格式 第8部分:營(yíng)業(yè)場(chǎng)所運(yùn)行狀態(tài)基本數(shù)據(jù)交換格式》專題研究報(bào)告
- 《GAT 753.16-2008報(bào)警統(tǒng)計(jì)信息管理代碼 第16部分:警務(wù)監(jiān)督分類與代碼》專題研究報(bào)告深度
- 養(yǎng)老院家屬探訪制度
- 人力資源規(guī)劃與需求分析制度
- 企業(yè)信息發(fā)布與傳播制度
- 電大??啤豆残姓W(xué)》簡(jiǎn)答論述題題庫及答案
- 2025成人高考全國統(tǒng)一考試專升本英語試題及答案
- 代辦煙花爆竹經(jīng)營(yíng)許可證協(xié)議合同
- 國企員工總額管理辦法
- 企業(yè)級(jí)AI大模型平臺(tái)落地框架
- TD/T 1036-2013土地復(fù)墾質(zhì)量控制標(biāo)準(zhǔn)
- 蘇教版六年級(jí)數(shù)學(xué)上冊(cè)全冊(cè)知識(shí)點(diǎn)歸納(全梳理)
- 車位包銷合同協(xié)議模板
- 病歷書寫規(guī)范版2025
- 中鐵物資采購?fù)稑?biāo)
- 泄漏管理培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論