版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
初識嵌入式系統(tǒng)全套可編輯PPT課件01020304嵌入式系統(tǒng)介紹嵌入式常見處理器介紹ARM處理器介紹STM32特性介紹嵌入式系統(tǒng)介紹01嵌入式系統(tǒng)組成嵌入式系統(tǒng)定義嵌入式系統(tǒng)特點嵌入式系統(tǒng)應(yīng)用領(lǐng)域嵌入式系統(tǒng)介紹|
定義01全國現(xiàn)狀I(lǐng)EEE的嵌入式系統(tǒng)定義:根據(jù)IEEE(國際電氣和電子工程師協(xié)會)的定義,嵌入式系統(tǒng)是”控制、監(jiān)視或者輔助設(shè)備、機器和車間運行的裝置”國內(nèi)的嵌入式系統(tǒng)定義:國內(nèi)普遍被認(rèn)同的定義:以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機系統(tǒng)。5嵌入式系統(tǒng)介紹|
定義01全國現(xiàn)狀嵌入式系統(tǒng)舉例:小米手環(huán)紅色:Dialog-DA14681-藍(lán)牙內(nèi)部嵌入32-bitARMCortexM0內(nèi)核綠色:STMicroelectronics加速度傳感器青色:Gigadevice-GD25LQ32-Flash芯片藍(lán)色:NXP-PN80T-NFC控制芯片橙色:TI-TPS61046-電壓轉(zhuǎn)換芯片(升壓)紫色:Azoteq-IQS266-觸摸控制芯片深綠:SGMICRO=Flash芯片棕色:ONSemi-ESD7383-電源保護芯片(3顆)6嵌入式系統(tǒng)介紹|
定義01iphone
X第一塊主板iphone
X主板上的芯片包括:紅色:蘋果APL1W72A11仿生SoC,(上邊覆蓋SK海力士H9HKNNDBMAUUR3GBLPDDR4X內(nèi)存)橙色:蘋果338S00341-B1電源管理IC黃色:德州儀器78AVZ81電池充電IC綠色:恩智浦1612A1USB充電器IC淺藍(lán):蘋果338S00248音頻解碼器藍(lán)色:STB600B0人臉識別IC面部識別系統(tǒng)芯片粉色:蘋果338S00306相機IC7嵌入式系統(tǒng)介紹|
定義01全國現(xiàn)狀iphone
X第二塊主板紅色:蘋果USI170821339S00397Wi-Fi/藍(lán)牙無線模塊橙色:高通WTR5975千兆LTE收發(fā)器黃色:高通MDM9655驍龍x16LTE基帶、PMD9655電源管理IC綠色:Skyworks78140-22/SKY77366-17功率放大器青色:博通BCM15951觸摸控制器藍(lán)色:NXP80V18PN80VNFC控制器紫色:博通AFEM-8072\MMMB功率放大器8嵌入式系統(tǒng)介紹|
定義01全國現(xiàn)狀iphone
X第三塊主板紅色:東芝TSB3234X68354TWNA164GB閃存橙色:蘋果/CirrusLogic338S00296音頻放大器9嵌入式系統(tǒng)介紹|
組成01全國現(xiàn)狀嵌入式系統(tǒng)一般指嵌入式計算機系統(tǒng),主要包括:硬件層、中間層、系統(tǒng)軟件層和應(yīng)用層4部分10嵌入式系統(tǒng)介紹|
組成01硬件層組成:嵌入式系統(tǒng)硬件通常指除被控對象之外的嵌入式系統(tǒng)要完成其功能所具備的各種設(shè)備。由嵌入式處理器、存儲器系統(tǒng)、通用設(shè)備接口(A/DD/AI/O等)和一些擴展外設(shè)組成。嵌入式計算機正常運行的最小系統(tǒng):如電源、系統(tǒng)時鐘、復(fù)位電路、存儲器11嵌入式系統(tǒng)介紹|
組成01全國現(xiàn)狀1、為什么采用高速緩存微處理器的時鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能。2、高速緩存的工作原理高速緩存是一種小型、快速的存儲器,它保存部分主存內(nèi)容的拷貝。硬件層組成-CACHE12嵌入式系統(tǒng)介紹|
組成01介于硬件層與系統(tǒng)軟件層之間,將硬件的細(xì)節(jié)進行屏蔽,便于操作系統(tǒng)調(diào)用,因此稱為中間層,也稱硬件抽象層(HardwareAbstractLayer,HAL)或板級支持(BoardSupportPackage)。具有硬件相關(guān)性和操作系統(tǒng)相關(guān)性特點。中間層板級支持包的主要功能包括兩部分:?在系統(tǒng)啟動時,對硬件進行初始化?為驅(qū)動程序提供訪問硬件的手段13嵌入式系統(tǒng)介紹|
組成01全國現(xiàn)狀1.OS(操作系統(tǒng))是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺2.FS(文件系統(tǒng))是操作系統(tǒng)用于實現(xiàn)磁盤或分區(qū)上的文件的軟件實現(xiàn)。3.GUI(圖形用戶接口)通俗說就是屏幕產(chǎn)品的視覺體驗和互動操作部分。4.應(yīng)用程序:運行在OS之上,實現(xiàn)特定功能的程序,像手機上的QQ,微信…..。系統(tǒng)軟件層14嵌入式系統(tǒng)介紹|
特點01全國現(xiàn)狀(1)系統(tǒng)內(nèi)核小
由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置的,系統(tǒng)資源相對有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。嵌入式系統(tǒng)有幾個重要特點(2)專用性強嵌入式系統(tǒng)的個性化很強,其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對硬件進行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進行修改。(3)系統(tǒng)精簡嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計及實現(xiàn)上過于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時也利于實現(xiàn)系統(tǒng)安全。15嵌入式系統(tǒng)介紹|
特點01全國現(xiàn)狀(4)高實時性高實時性的系統(tǒng)軟件(OS)是嵌入式軟件的基本要求。而且軟件要求固態(tài)存儲,以提高速度;軟件代碼要求高質(zhì)量和高可靠性。。嵌入式系統(tǒng)有幾個重要特點(5)多任務(wù)的操作系統(tǒng)嵌入式系統(tǒng)的程序可以沒有操作系統(tǒng)而直接在芯片上運行;但是給嵌入式系統(tǒng)搭載上操作系統(tǒng)可以充分利用系統(tǒng)資源、系統(tǒng)函數(shù)以及專用庫函數(shù)接口,讓程序的實時性、可靠性更高,并減少開發(fā)時間(6)需要交叉開發(fā)環(huán)境交叉開發(fā)環(huán)境是指實現(xiàn)編譯、鏈接和調(diào)試應(yīng)用程序代碼的環(huán)境。與運行應(yīng)用程序的環(huán)境不同,它分散在有通信連接的宿主機與目標(biāo)機環(huán)境之中。?宿主機(Host)是一臺通用計算機,一般是PC機。它通過串口/專用仿真下載器或網(wǎng)絡(luò)連接與目標(biāo)機通信。?目標(biāo)機(Target)可以是嵌入式應(yīng)用軟件的實際運行環(huán)境,也可以是能替代實際環(huán)境的仿真系統(tǒng)。16嵌入式系統(tǒng)介紹|
應(yīng)用領(lǐng)域01全國現(xiàn)狀簡單說(泛嵌入式):除PC之外的一切計算機系統(tǒng)都可以叫嵌入式系統(tǒng)。典型代表:智能手機、工業(yè)機器人、汽車電子、航空航天(四軸飛行器)、安防監(jiān)控(IPC)等。17嵌入式常見處理器介紹02嵌入式處理器體系結(jié)構(gòu)嵌入式處理器概述嵌入式處理器分類嵌入式處理器發(fā)展方向嵌入式常見處理器介紹|
概述02嵌入式處理器現(xiàn)狀:品種繁多,結(jié)構(gòu)各異,參差不齊19嵌入式常見處理器介紹|
分類02嵌入式系統(tǒng)分類◆嵌入式微控制器(MicroControllerUnit,MCU)◆嵌入式微處理器(MicroProcessorUnit,MPU)◆嵌入式DSP處理器(DigitalSignalProcessor,DSP)◆嵌入式片上系統(tǒng)(SystemOnChip,SOC)20嵌入式常見處理器介紹|
分類02◆微控制器是目前嵌入式系統(tǒng)工業(yè)的主流。微控制器的片上外設(shè)資源一般比較豐富,適合于控制,因此稱為微控制器?!粑⒖刂破餍酒瑑?nèi)部集成ROM/EPROM、RAM、總線、總線邏輯、定時/計數(shù)器、看門狗、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A、FlashRAM、EEPROM等各種必要功能和外設(shè)?!羟度胧轿⒖刂破鞯牡湫痛硎菃纹瑱C,這種8/16/32位的電子器件目前在嵌入式設(shè)備中有著極其廣泛的應(yīng)用。嵌入式微控制器(MCU)21嵌入式常見處理器介紹|
分類02和工業(yè)控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高,功能豐富的優(yōu)點。主要嵌入式微處理器類型ARM、MIPS、PowerPC、68K系列等◆ARM:(AdvancedRISCMachines)RISC(ReducedInstructionSetComputer)◆MIPS:MicroprocessorwithoutInterlockedPipelineStages(NOTMillionInstructionsPerSecond)◆PowerPC:早期Motorola和IBM聯(lián)合◆68K:Motorola,較早的一款嵌入式處理器嵌入式微處理器(MPU)22嵌入式常見處理器介紹|
分類02◆DSP處理器是專門用于信號處理方面的處理器,其在系統(tǒng)結(jié)構(gòu)和指令算法方面進行了特殊設(shè)計,在數(shù)字濾波、FFT、頻譜分析等各種儀器上DSP獲得了大規(guī)模的應(yīng)用?!鬌SP的理論算法在70年代就已經(jīng)出現(xiàn),但是由于專門的DSP處理器還未出現(xiàn),所以這種理論算法只能通過MPU等由分立元件實現(xiàn)。1982年世界上誕生了首枚DSP芯片?!鬌SP在語音合成和編碼解碼器中得到了廣泛應(yīng)用?!裟壳癉SP的運算速度越來越高,應(yīng)用領(lǐng)域擴大到通信和計算機方面?!舫R姷腄SP處理器是TI的TMS320C2000/C5000系列。嵌入式DSP處理器(DSP)23嵌入式常見處理器介紹|
分類02◆SoC就是SystemonChip,SoC微處理器就是一種電路系統(tǒng)?!羲Y(jié)合了許多功能區(qū)塊,將功能做在一個芯片上,像是ARMRISC、MIPSRISC、DSP或是其他的微處理器核心,加上通信的接口單元,像是通用串行端口(USB)、TCP/IP通信單元、GPRS通信接口、GSM通信接口、IEEE1394、藍(lán)牙模塊接口等等,這些單元以往都是依照各單元的功能做成一個個獨立的處理芯片。嵌入式片上系統(tǒng)(SoC)24嵌入式常見處理器介紹|
體系結(jié)構(gòu)021.馮·諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)2.CISC與RISC3.信息存儲的字節(jié)順序4.流水線嵌入式微處理器體系結(jié)構(gòu)25嵌入式常見處理器介紹|
體系結(jié)構(gòu)02馮·諾依曼結(jié)構(gòu):單一存儲、統(tǒng)一編址、分時復(fù)用馮·諾依曼結(jié)構(gòu)26嵌入式常見處理器介紹|
體系結(jié)構(gòu)02哈佛結(jié)構(gòu):分開存儲、獨立編址、兩倍帶寬、效率更高哈佛結(jié)構(gòu)27嵌入式常見處理器介紹|
體系結(jié)構(gòu)02CISC:復(fù)雜指令集(ComplexInstructionSetComputer)1.為增強指令功能,設(shè)置一些功能復(fù)雜的指令,把一些原來由軟件實現(xiàn)的常用的功能改用硬件的(微程序)指令系統(tǒng)來實現(xiàn),形成了擁有大量的指令和多種尋址方式的復(fù)雜但使用效率不高的指令系統(tǒng)2.8/2原則:80%的程序只使用20%的指令按指令集CISC和RISC分類RISC:精簡指令集(ReducedInstructionSetComputer)設(shè)計重點是降低由硬件執(zhí)行的指令的復(fù)雜性,從而減少指令的種類,只提供簡單的操作,單周期內(nèi)完成,且指令長度固定。28嵌入式常見處理器介紹|
體系結(jié)構(gòu)02強調(diào)硬件的復(fù)雜性優(yōu)點:簡化編譯器的結(jié)構(gòu)缺點:◆指令使用頻度不均衡。高頻度使用的指令占據(jù)了絕大部分的執(zhí)行時間,擴充的復(fù)雜指令往往是低頻度指令。◆軟硬功能分配處理器硬件復(fù)雜,指令執(zhí)行周期大大加長,直接訪存次數(shù)增多,降低了CPU性能。◆不利于先進指令級并行技術(shù)的采用,不利于采用流水線技術(shù)CISC的優(yōu)缺點29嵌入式常見處理器介紹|
體系結(jié)構(gòu)02CISC與RISC的對比30嵌入式常見處理器介紹|
體系結(jié)構(gòu)02大端模式◆字?jǐn)?shù)據(jù)的高位字節(jié)存儲在低地址中◆字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中信息存儲的字節(jié)順序(32Bit)小端模式◆低地址中存放字?jǐn)?shù)據(jù)的低字節(jié)◆高地址中存放字?jǐn)?shù)據(jù)的高字節(jié)31嵌入式常見處理器介紹|
體系結(jié)構(gòu)02信息存儲的字節(jié)順序(32Bit)32嵌入式常見處理器介紹|
體系結(jié)構(gòu)02流水線技術(shù)33嵌入式常見處理器介紹|
體系結(jié)構(gòu)02流水線技術(shù):幾個步驟可以并行執(zhí)行提高了CPU的運行效率34嵌入式常見處理器介紹|
體系結(jié)構(gòu)02以ARM7處理器為例子:為增加處理器指令流的速度,ARM7系列使用3級流水線.允許多個操作同時處理,比逐條指令執(zhí)行要快。流水線技術(shù)說PC指向正被取指的指令,而非正在執(zhí)行的指令35嵌入式常見處理器介紹|
發(fā)展方向02特點:?支持實時多任務(wù)/進程操作系統(tǒng)?處理器結(jié)構(gòu)可擴展?存儲區(qū)保護功能強?中斷處理能力強?低功耗發(fā)展方向:?小體積?高性能?低功耗?高集成度36ARM處理器介紹03
ARM處理器應(yīng)用領(lǐng)域ARM簡介
ARM系列處理器ARM處理器介紹|
ARM簡介031.AMR:一個公司名2.ARM:一種處理器名稱ARM處理器3.ARM:一種芯片架構(gòu),全稱為AdvancedRISCMachinesIP核。ARM是什么?38ARM處理器介紹|
ARM簡介03ARM架構(gòu)?定義了指令集的細(xì)節(jié)、程序的模型、異常模型和內(nèi)存映射?相關(guān)文檔在ArchitectureReferenceManual(架構(gòu)參考手冊)中?/search#q=ARM%20Architecture%20Reference%20Manual%20ARM處理器?是用一種ARM架構(gòu)開發(fā)出來的;?更多的實現(xiàn)細(xì)節(jié),比如時序數(shù)據(jù)以及和實現(xiàn)相關(guān)的數(shù)據(jù);?相關(guān)文檔在處理器的TechnicalReferenceManual(技術(shù)參考手冊)中/search#q=ARM%20Cortex%20Technical%20Reference%20ManualARM處理器VS.ARM架構(gòu)39ARM處理器介紹|
ARM簡介0340ARM處理器介紹|
ARM簡介03ARM產(chǎn)業(yè)鏈41ARM處理器介紹|
ARM應(yīng)用領(lǐng)域03嵌入式Internet應(yīng)用42ARM處理器介紹|
ARM應(yīng)用領(lǐng)域03?工業(yè)控制領(lǐng)域?無線通訊領(lǐng)域?網(wǎng)絡(luò)應(yīng)用?消費電子產(chǎn)品?成像和安全產(chǎn)品?……43ARM處理器介紹|
ARM系列處理器03?ARM7系列?ARM9系列?ARM9E系列?ARM10E系列?ARM11系列?SecurCore系列?Intel的StrongARM和Xscale系列舊版本ARM處理器分類
新版本ARM處理器分類
按指令集版本分類
?Cortex-A系列產(chǎn)品
?Cortex-R系列產(chǎn)品
?Cortex-M系列產(chǎn)品
?SecurCore系列產(chǎn)品
?ARMv4/5?ARMv6?ARMv7?ARMv844ARM處理器介紹|
ARM系列處理器03?Cortex-A系列(應(yīng)用)?用于開放操作系統(tǒng)的高性能處理器;?應(yīng)用產(chǎn)品包括手機、數(shù)字電視、電子書和家庭網(wǎng)關(guān)等;?Cortex-R系列(實時)?對于實時應(yīng)用有杰出的性能;?應(yīng)用產(chǎn)品包括汽車剎車系統(tǒng)、動力傳動系統(tǒng)等;?Cortex-M系列(單片機)?對確定性的單片機應(yīng)用的成本敏感型解決方案;?應(yīng)用于單片機,混合信號器件,智能傳感器,
汽車電子系統(tǒng)和安全氣囊;?SecurCore系列?高安全性應(yīng)用新版本ARM處理器家族45ARM處理器介紹|
ARM系列處理器03?Cortex-A系列:Cortex-A5,A7,A8,A9,A12,A15,A17,A53,A57?高性能應(yīng)用程序處理器?運行多種操作系統(tǒng),多核技術(shù),32位和64位支持?應(yīng)用?移動計算:上網(wǎng)本,平板電腦,電子書?移動手持終端:智能手機,功能手機,可穿戴設(shè)備?數(shù)字家庭:機頂盒,數(shù)字電視,藍(lán)光播放器,游戲機?汽車:娛樂,導(dǎo)航?企業(yè):工業(yè)打印機,路由器,無線基站,互聯(lián)網(wǎng)協(xié)議電話和設(shè)備?無線設(shè)施Cortex-A系列更詳細(xì)的信息:/ip-products/processors/cortex-a46ARM處理器介紹|
ARM系列處理器03?實時處理器?高性能:高時鐘頻率帶來的快速處理能力?實時:滿足各種場合的高實時性能要求?安全性:強抗誤差的可靠,可信賴的系統(tǒng)?成本效率:最優(yōu)性能,功率和面積.?應(yīng)用?汽車安全氣囊,制動系統(tǒng),穩(wěn)定系統(tǒng),儀表,引擎管理?存儲硬盤驅(qū)動器控制器,固態(tài)硬盤控制器?移動手持設(shè)備3G,4G,LTE,WiMax智能手機和基帶調(diào)制解調(diào)器?嵌入式系統(tǒng),企業(yè),家庭,相機…Cortex-R系列:Cortex-R4,R5,R7,R8,R5247ARM處理器介紹|
ARM系列處理器03?低功耗處理器用于嵌入式單片機應(yīng)用系統(tǒng)?高能效?代碼更小?易于使用?嵌入式應(yīng)用?智能儀表、人機接口設(shè)備、汽車和工業(yè)控制系統(tǒng)、白色商品、消費產(chǎn)品和醫(yī)療儀器。Cortex-M系列:Cortex-M0,M0+,M1,M3,M4,M7更詳細(xì)類型/ipproducts/processors/cortex-m48ARM處理器介紹|
ARM系列處理器0349ARM處理器介紹|
ARM系列處理器03?ARMCortex系列處理器應(yīng)用示例50STM32特性介紹04STM32-F1架構(gòu)性能產(chǎn)品介紹51STM32特性介紹|
產(chǎn)品介紹04意法半導(dǎo)體(STMicroelectronics)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSONMicroelectronics將公司名稱改為意法半導(dǎo)體有限公司,意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一。從成立之初至今,ST的增長速度超過了半導(dǎo)體工業(yè)的整體增長速度。自1999年起,ST始終是世界十大半導(dǎo)體公司之一。據(jù)最新的工業(yè)統(tǒng)計數(shù)據(jù),意法半導(dǎo)體(STMicroelectronics)是全球第五大半導(dǎo)體廠商,在很多市場居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機頂盒芯片供應(yīng)商,而且在分立器件、手機相機模塊和車用集成電路領(lǐng)域居世界前列。52STM32特性介紹|
產(chǎn)品介紹04在STM32F105和STM32F107互連型系列微控制器之前,意法半導(dǎo)體已經(jīng)推出STM32基本型系列、增強型系列、USB基本型系列、互補型系列;新系列產(chǎn)品沿用增強型系列的72MHz處理頻率。內(nèi)存包括64KB到256KB閃存和20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三種封裝,不同的封裝保持引腳排列一致性,結(jié)合STM32平臺的設(shè)計理念,開發(fā)人員通過選擇產(chǎn)品可重新優(yōu)化功能、存儲器、性能和引腳數(shù)量,以最小的硬件變化來滿足個性化的應(yīng)用需求。截至2010年7月1日,市面流通的型號有:基本型:STM32F101R6、STM32F101C8、STM32F101R8、STM32F101V8、STM32F101RB、STM32F101VB增強型:STM32F103C8、STM32F103R8、STM32F103V8、STM32F103RB、STM32F103VB、STM32F103VE、STM32F103ZE53STM32特性介紹|
產(chǎn)品介紹04STM32型號的說明:以STM32F103RBT6這個型號的芯片為例,該型號的組成為7個部分,其命名規(guī)則如下54STM32特性介紹|
STM32-F104?一流的外設(shè)1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻轉(zhuǎn)速度?低功耗在72MHz時消耗36mA(所有外設(shè)處于工作狀態(tài)),待機時下降到2μA?最大的集成度復(fù)位電路、低電壓檢測、調(diào)壓器、精確的RC振蕩器等?簡單的結(jié)構(gòu)和易用的工具?2.0V-3.6V供電?兼容5V的I/O管腳?優(yōu)異的安全時鐘模式?帶喚醒功能的低功耗模式?內(nèi)部RC振蕩器?內(nèi)嵌復(fù)位電路?工作溫度范圍:-40°C至+85°C或105°CARM公司的高性能”Cortex-M3”內(nèi)核55STM32特性介紹|
STM32-F104內(nèi)核:
ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。存儲器:
片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器。時鐘、復(fù)位和電源管理:2.0-3.6V的電源供電和I/O接口的驅(qū)動電壓。上電復(fù)位(POR)、掉電復(fù)位(PDR)和可編程的電壓探測器(PVD)。4-16MHz的晶振。內(nèi)嵌出廠前調(diào)校的8MHzRC振蕩電路。內(nèi)部40kHz的RC振蕩電路。用于CPU時鐘的PLL。帶校準(zhǔn)用于RTC的32kHz的晶振。低功耗:
3種低功耗模式:休眠,停止,待機模式。為RTC和備份寄存器供電的VBAT。調(diào)試模式:
串行調(diào)試(SWD)和JTAG接口。DMA:
12通道DMA控制器。支持的外設(shè):定時器,ADC,DAC,SPI,IIC和UART。STM32F103性能56STM32特性介紹|
STM32-F1043個12位的us級的A/D轉(zhuǎn)換器(16通道):
A/D測量范圍:0-3.6V。雙采樣和保持能力。片上集成一個溫度傳感器。2通道12位D/A轉(zhuǎn)換器:
STM32F103xC,STM32F103xD,STM32F103xE獨有。最多高達(dá)112個的快速I/O端口:根據(jù)型號的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內(nèi)的輸入。最多多達(dá)11個定時器:
4個16位定時器,每個定時器有4個IC/OC/PWM或者脈沖計數(shù)器。2個16位的6通道高級控制定時器:最多6個通道可用于PWM輸出。2個看門狗定時器(獨立看門狗和窗口看門狗)。Systick定時器:24位倒計數(shù)器。2個16位基本定時器用于驅(qū)動DAC。最多多達(dá)13個通信接口:
2個IIC接口(SMBus/PMBus)。5個USART接口(ISO7816接口,LIN,IrDA兼容,調(diào)試控制)。3個SPI接口(18Mbit/s),兩個和IIS復(fù)用。CAN接口(2.0B)。USB2.0全速接口。SDIO接口。ECOPACK封裝:
STM32F103xx系列微控制器采用ECOPACK封裝形式。STM32F103性能57STM32特性介紹|
STM32-F1041、集成嵌入式Flash和SRAM存儲器的ARMCortex-M3內(nèi)核和8/16位設(shè)備相比,ARMCortex-M332位RISC處理器提供了更高的代碼效率。STM32F103xx微控制器帶有一個嵌入式的ARM核,所以可以兼容所有的ARM工具和軟件。2、嵌入式Flash存儲器和RAM存儲器內(nèi)置多達(dá)512KB的嵌入式Flash,可用于存儲程序和數(shù)據(jù)。多達(dá)64KB的嵌入式SRAM可以以CPU的時鐘速度進行讀寫(不待等待狀態(tài))。3、可變靜態(tài)存儲器(FSMC)FSMC嵌入在STM32F103xC,STM32F103xD,STM32F103xE中,帶有4個片選,支持四種模式:Flash,RAM,PSRAM,NOR和NAND。3個FSMC中斷線經(jīng)過OR后連接到NVIC。沒有讀/寫FIFO,除PCCARD之外,代碼都是從外部存儲器執(zhí)行,不支持Boot,目標(biāo)頻率等于SYSCLK/2,所以當(dāng)系統(tǒng)時鐘是72MHz時,外部訪問按照36MHz進行。系統(tǒng)作用58STM32特性介紹|
STM32-F1044、嵌套矢量中斷控制器(NVIC)
可以處理43個可屏蔽中斷通道(不包括Cortex-M3的16根中斷線),提供16個中斷優(yōu)先級。緊密耦合的NVIC實現(xiàn)了更低的中斷處理延遲,直接向內(nèi)核傳遞中斷入口向量表地址,緊密耦合的NVIC內(nèi)核接口,允許中斷提前處理,對后到的更高優(yōu)先級的中斷進行處理,支持尾鏈,自動保存處理器狀態(tài),中斷入口在中斷退出時自動恢復(fù),不需要指令干預(yù)。5、外部中斷/事件控制器(EXTI)
外部中斷/事件控制器由用于19條產(chǎn)生中斷/事件請求的邊沿探測器線組成。每條線可以被單獨配置用于選擇觸發(fā)事件(上升沿,下降沿,或者兩者都可以),也可以被單獨屏蔽。有一個掛起寄存器來維護中斷請求的狀態(tài)。當(dāng)外部線上出現(xiàn)長度超過內(nèi)部APB2時鐘周期的脈沖時,EXTI能夠探測到。多達(dá)112個GPIO連接到16個外部中斷線。系統(tǒng)作用59STM32特性介紹|
STM32-F1046、時鐘和啟動
在啟動的時候還是要進行系統(tǒng)時鐘選擇,但復(fù)位的時候內(nèi)部8MHz的晶振被選用作CPU時鐘??梢赃x擇一個外部的4-16MHz的時鐘,并且會被監(jiān)視來判定是否成功。在這期間,控制器被禁止并且軟件中斷管理也隨后被禁止。同時,如果有需要(例如碰到一個間接使用的晶振失?。?,PLL時鐘的中斷管理完全可用。多個預(yù)比較器可以用于配置AHB頻率,包括高速APB(PB2)和低速APB(APB1),高速APB最高的頻率為72MHz,低速APB最高的頻率為36MHz。7、Boot模式
在啟動的時候,Boot引腳被用來在3種Boot選項種選擇一種:從用戶Flash導(dǎo)入,從系統(tǒng)存儲器導(dǎo)入,從SRAM導(dǎo)入。Boot導(dǎo)入程序位于系統(tǒng)存儲器,用于通過USART1重新對Flash存儲器編程。系統(tǒng)作用60STM32特性介紹|
STM32-F1048、電源供電方案
VDD,電壓范圍為2.0V-3.6V,外部電源通過VDD引腳提供,用于I/O和內(nèi)部調(diào)壓器。VSSA和VDDA,電壓范圍為2.0-3.6V,外部模擬電壓輸入,用于ADC,復(fù)位模塊,RC和PLL,在VDD范圍之內(nèi)(ADC被限制在2.4V),VSSA和VDDA必須相應(yīng)連接到VSS和VDD。VBAT,電壓范圍為1.8-3.6V,當(dāng)VDD無效時為RTC,外部32KHz晶振和備份寄存器供電(通過電源切換實現(xiàn))。9、電源管理
設(shè)備有一個完整的上電復(fù)位(POR)和掉電復(fù)位(PDR)電路。這條電路一直有效,用于確保從2V啟動或者掉到2V的時候進行一些必要的操作。當(dāng)VDD低于一個特定的下限VPOR/PDR時,不需要外部復(fù)位電路,設(shè)備也可以保持在復(fù)位模式。設(shè)備特有一個嵌入的可編程電壓探測器(PVD),PVD用于檢測VDD,并且和VPVD限值比較,當(dāng)VDD低于VPVD或者VDD大于VPVD時會產(chǎn)生一個中斷。中斷服務(wù)程序可以產(chǎn)生一個警告信息或者將MCU置為一個安全狀態(tài)。PVD由軟件使能。系統(tǒng)作用61STM32特性介紹|
STM32-F10410、電壓調(diào)節(jié)
調(diào)壓器有3種運行模式:主(MR),低功耗(LPR)和掉電。MR用在傳統(tǒng)意義上的調(diào)節(jié)模式(運行模式),LPR用在停止模式,掉電用在待機模式:調(diào)壓器輸出為高阻,核心電路掉電,包括零消耗(寄存器和SRAM的內(nèi)容不會丟失)。11、低功耗模式
STM32F103xx支持3種低功耗模式,從而在低功耗,短啟動時間和可用喚醒源之間達(dá)到一個最好的平衡點。休眠模式:只有CPU停止工作,所有外設(shè)繼續(xù)運行,在中斷/事件發(fā)生時喚醒CPU;停止模式:允許以最小的功耗來保持SRAM和寄存器的內(nèi)容。1.8V區(qū)域的時鐘都停止,PLL,HSI和HSERC振蕩器被禁能,調(diào)壓器也被置為正常或者低功耗模式。設(shè)備可以通過外部中斷線從停止模式喚醒。外部中斷源可以使16個外部中斷線之一,PVD輸出或者TRC警告。待機模式:追求最少的功耗,內(nèi)部調(diào)壓器被關(guān)閉,這樣1.8V區(qū)域斷電。PLL,HSI和HSERC振蕩器也被關(guān)閉。在進入待機模式之后,除了備份寄存器和待機電路,SRAM和寄存器的內(nèi)容也會丟失。當(dāng)外部復(fù)位(NRST引腳),IWDG復(fù)位,WKUP引腳出現(xiàn)上升沿或者TRC警告發(fā)生時,設(shè)備退出待機模式。進入停止模式或者待機模式時,TRC,IWDG和相關(guān)的時鐘源不會停止。系統(tǒng)作用62STM32特性介紹|
架構(gòu)性能04除新增的功能強化型外設(shè)接口外,STM32互連系列還提供與其它STM32微控制器相同的標(biāo)準(zhǔn)接口,這種外設(shè)共用性提升了整個產(chǎn)品家族的應(yīng)用靈活性,使開發(fā)人員可以在多個設(shè)計中重復(fù)使用同一個軟件。新STM32的標(biāo)準(zhǔn)外設(shè)包括10個定時器、兩個12位1-Msample/s模數(shù)轉(zhuǎn)換器(交錯模式下2-Msample/s)、兩個12位數(shù)模轉(zhuǎn)換器、兩個I2C接口、五個USART接口和三個SPI端口。新產(chǎn)品外設(shè)共有12條DMA通道,還有一個CRC計算單元,像其它STM32微控制器一樣,支持96位唯一標(biāo)識碼。新系列微控制器還沿續(xù)了STM32產(chǎn)品家族的低電壓和節(jié)能兩大優(yōu)點。2.0V到3.6V的工作電壓范圍兼容主流的電池技術(shù),如鋰電池和鎳氫電池,封裝還設(shè)有一個電池工作模式專用引腳Vbat。以72MHz頻率從閃存執(zhí)行代碼,僅消耗27mA電流。低功耗模式共有四種,可將電流消耗降至兩微安。從低功耗模式快速啟動也同樣節(jié)省電能;啟動電路使用STM32內(nèi)部生成的8MHz信號,將微控制器從停止模式喚醒用時小于6微秒。環(huán)境搭建及工具使用01020304Keil5軟件安裝STM32F1系列芯片支持包安裝ST-link驅(qū)動安裝串口驅(qū)動安裝0工程的建立01Keil5軟件安裝MDK破解MDK安裝Keil5軟件安裝|
MDK安裝01全國現(xiàn)狀Keil軟件可以在keil官網(wǎng)/進行下載安裝。Keil5軟件安裝|
MDK安裝01全國現(xiàn)狀在M3PPT\STM32環(huán)境搭建\軟件資料路徑下可以找到keil編譯軟件.rar壓縮包,解壓縮后打開文件夾,文件夾內(nèi)容如下:01全國現(xiàn)狀找到mdk528a.exe文件,雙擊打開。Keil5軟件安裝|
MDK安裝點擊是進入安裝程序。01全國現(xiàn)狀點擊Next>>Keil5軟件安裝|
MDK安裝01全國現(xiàn)狀勾選Iagree…,然后點擊Next>>Keil5軟件安裝|
MDK安裝01全國現(xiàn)狀點擊Browse...選擇軟件存儲路徑。注意:這里一定不能有中文或中文字符!不要放在系統(tǒng)盤!點擊Next>>Keil5軟件安裝|
MDK安裝01全國現(xiàn)狀這里填寫的是使用者的信息,內(nèi)容任意,但不要填中文或中文字符。點擊Next>>Keil5軟件安裝|
MDK安裝01全國現(xiàn)狀軟件開始安裝,等待程序安裝進度條全滿后點擊Next>>(可能不需要點擊就會直接跳到下一個界面)Keil5軟件安裝|
MDK安裝01全國現(xiàn)狀點擊FinishKeil5軟件安裝|
MDK安裝01全國現(xiàn)狀直接關(guān)閉界面。Keil5軟件安裝|
MDK安裝01全國現(xiàn)狀關(guān)閉界面后發(fā)現(xiàn)桌面上出現(xiàn)軟件圖標(biāo)Keil5軟件安裝|
MDK破解01全國現(xiàn)狀接下來開始正式破解:首先將軟件以管理員身份運行(很重要?。。㎏eil5軟件安裝|
MDK破解01全國現(xiàn)狀軟件打開以后,選擇file,選擇LicenseManagement...Keil5軟件安裝|
MDK破解01全國現(xiàn)狀復(fù)制ComputerID。Keil5軟件安裝|
MDK破解01全國現(xiàn)狀打開壓縮文件下的keygen_new2032.exeKeil5軟件安裝|
MDK破解01全國現(xiàn)狀打開注冊機后,首先將Target選項選為ARM,將下方2位置選成StandardCortex-Monly,將剛剛復(fù)制的ComputerID(CID)粘貼到左邊CID位置,點擊Generate,在5位置會出現(xiàn)針對CID的注冊碼,將注冊碼復(fù)制一下。Keil5軟件安裝|
MDK破解01全國現(xiàn)狀將復(fù)制的注冊碼粘貼到下方NewLicenseIDCode(LIC),Add
LIC按鈕會由灰變黑,點擊AddLIC,注冊列表出現(xiàn)注冊信息(紅框內(nèi)容)表示注冊成功。Keil5軟件安裝|
MDK破解02STM32F1系列芯片支持包安裝STM32F1系列芯片支持包安裝02Keil軟件安裝好之后,軟件內(nèi)部只有ARM的程序支持包,如果想使用keil軟件編譯STM32F1系列芯片的程序,我們還需要給軟件安裝一個STM32F1系列芯片支持包。打開壓縮文件,打開.Download文件夾。STM32F1系列芯片支持包安裝02雙擊Keil.STM32F1xx_DFP.2.1.0.pack文件,開始安裝。03ST-link驅(qū)動安裝ST-link驅(qū)動安裝03單片機所使用的程序在keil軟件中被編寫出來,當(dāng)程序被編譯器檢查沒有錯誤之后我們需要把程序下載到實體STM32芯片中進行實際功能驗證。本次課程我們使用ST-link下載器作為PC與單片機的程序下載通道。ST-link驅(qū)動安裝03在連接下載器之前,我們需要先給電腦安裝下載器驅(qū)動。打開壓縮文件,找到文件ST-Link驅(qū)動。(win10系統(tǒng))ST-link驅(qū)動安裝03打開路徑\keil編譯軟件\ST-LINK驅(qū)動\win10\STLINK_V2(win10)\ST-LINK_V2找到文件dpinst_amd64.exe,雙擊打開。ST-link驅(qū)動安裝03遇到下圖所示提示時點擊是。ST-link驅(qū)動安裝03點擊下一步。ST-link驅(qū)動安裝03點擊安裝。ST-link驅(qū)動安裝03點擊完成,ST-Link下載驅(qū)動就安裝成功了。04串口驅(qū)動安裝串口驅(qū)動安裝04由于串口通信在本次課程中比較重要,且后期調(diào)試大多需要使用串口助手,所以我們需要提前將串口驅(qū)動安裝好。打開壓縮文件,找到CH340的驅(qū)動文件夾,雙擊打開。串口驅(qū)動安裝04找到CH341SER.EXE文件,雙擊打開。串口驅(qū)動安裝04遇到如下提示信息請點擊是。串口驅(qū)動安裝04遇到如下提示信息請點擊INSTALL。(如果安裝完成,再次點擊INSTALL會顯示安裝失敗,這是因為電腦上已經(jīng)安裝好驅(qū)動文件了)05工程的建立庫函數(shù)編程STM32常見編程方法庫函數(shù)編程方法|
STM32常見編程方法05全國現(xiàn)狀STM32作為現(xiàn)階段市場上主流的嵌入式芯片,也具有多種程序編寫方法:寄存器編程:通過直接對寄存器進行操作,實現(xiàn)對設(shè)備的控制操作,寄存器程序中以一個結(jié)構(gòu)體的形式表示。這種編程方法需要通過查閱手冊來確定操作的寄存器以及寄存器中寫入的數(shù)值,然后需要查看工程使用的相關(guān)頭文件(如:stm32f103xx芯片使用的<stm32f10x.h>)確定工程中寄存器所對應(yīng)的成員名。標(biāo)準(zhǔn)庫編程:為了方便用戶編程,ST官方提供的標(biāo)準(zhǔn)庫函數(shù),用戶可以直接調(diào)用庫函數(shù)進行編程。編程過程中,對于STM32的片上外設(shè)的操作,用戶不需要直接操作寄存器,只需要調(diào)用相關(guān)的庫函數(shù)即可。HAL庫編程:為了能夠快速編程,ST官方還提供HAL庫編程方法,ST官方提供一個名為CubeMX的代碼生成軟件,用戶對于ST的片上外設(shè)的相關(guān)操作,只需要在CubeMX軟件中進行設(shè)置,即可生成代碼。庫函數(shù)編程方法|庫函數(shù)編程05全國現(xiàn)狀本課程使用標(biāo)準(zhǔn)庫編程進行教學(xué)。庫函數(shù)編程與寄存器編程的比較:庫函數(shù)編程的本質(zhì)其實還是對寄存器進行讀寫操作(外設(shè)的控制要通過寄存器進行控制),但是對寄存器的具體操作過程用戶不需要知道,用戶只需要知道庫函數(shù)的功能和使用方法即可,就像我們使用手機,我們只需要知道手機可以打電話、發(fā)短信、上網(wǎng)、聊天等以及這些功能的使用方法,至于這些功能是如何實現(xiàn)的我們不需要知道。寄存器編程就要用戶對其中的具體過程進行操作設(shè)置。庫函數(shù)的編程過程如右圖所示,用戶需要編寫的是主程序以及外設(shè)程序,外設(shè)程序中調(diào)用庫函數(shù),由庫函數(shù)實現(xiàn)對外設(shè)寄存器的操作。庫函數(shù)編程方法|庫函數(shù)編程05現(xiàn)狀寄存器編程與庫函數(shù)編程實例對比:庫函數(shù)編程實例寄存器編程實例資料準(zhǔn)備|
資料下載05全國現(xiàn)狀在工程建立前,我們需要準(zhǔn)備一些必要資料,包括標(biāo)準(zhǔn)庫函數(shù)文件、STM32啟動文件以及M4內(nèi)核文件等等,這些資料都可以在ST官方網(wǎng)站()下載。資料準(zhǔn)備|
資料下載02全國現(xiàn)狀按照順序依次序選擇:Tools&Software(軟件工具)EmbeddedSoftware(嵌入式軟件)STM32EmbeddedSoftware(STM32嵌入式軟件)。資料準(zhǔn)備|
資料下載05全國現(xiàn)狀按照順序依次序選擇:STM32EmbeddedSoftware(STM32嵌入式軟件)STM32StandardPeripheralLibraries(STM32標(biāo)準(zhǔn)外設(shè)庫)。資料準(zhǔn)備|
資料下載05全國現(xiàn)狀根據(jù)所使用的芯片進行選擇,課程所使用的芯片型號是:STM32F103ZET6,因此需要選擇F1系列進行下載。資料準(zhǔn)備|
資料準(zhǔn)備05全國現(xiàn)狀點擊GetSoftware獲取資料。資料準(zhǔn)備|
資料準(zhǔn)備05全國現(xiàn)狀資料準(zhǔn)備|
資料準(zhǔn)備05全國現(xiàn)狀填寫個人資料,然后點擊Download進行下載,注意郵箱地址務(wù)必保證準(zhǔn)確,資料是發(fā)到郵箱的,之后需要在郵箱中進行下載。資料準(zhǔn)備|
資料準(zhǔn)備05全國現(xiàn)狀在郵箱中下載資料。資料準(zhǔn)備|
資料準(zhǔn)備05全國現(xiàn)狀下載的文件是一個名為en.stsw-stm32054的壓縮包文件,解壓之后就能得到我們需要的標(biāo)準(zhǔn)庫函數(shù)文件資料準(zhǔn)備|
資料文件說明05全國現(xiàn)狀資料文件目錄如下:_htmresc:圖片文件,給Release_Notes.html文件顯示用的,對我們沒什么用處。Libraries:庫函數(shù)的源文件,這個目錄下的文件就是我們要使用的。Project:標(biāo)準(zhǔn)外設(shè)庫驅(qū)動的完整例程。Utilities:用于STM32評估板的專用驅(qū)動。Stm32f10x_stdperiph_lib_um.chm:庫函數(shù)使用的幫助文檔。資料準(zhǔn)備|
資料文件說明05全國現(xiàn)狀關(guān)鍵目錄介紹:CMSIS:存放啟動文件STM32F10x_StdPeriph_Driver:存放STM32標(biāo)準(zhǔn)固件庫函數(shù)源碼文件,其中有inc子目錄存放stm32f10x_xxx.h頭文件,src子目錄存放stm32f10x_xxx.c源文件,每一個stm32f10x_xxx.h和stm32f10x_xxx.c為一組文件,每組文件對應(yīng)一個片上外設(shè),例如:stm32f10x_gpio.h和stm32f10x_gpio.c對應(yīng)為GPIO的相關(guān)源代碼文件。資料準(zhǔn)備|
資料文件說明05ARM是一家做芯片標(biāo)準(zhǔn)的公司,他們負(fù)責(zé)的是芯片內(nèi)核的架構(gòu)設(shè)計,而像ST、三星他們則是根據(jù)ARM公司的提供的內(nèi)核標(biāo)準(zhǔn)設(shè)計自己的芯片。所以,任何一個Cortex-M3芯片,其內(nèi)核結(jié)構(gòu)都是一樣的,區(qū)別在于他們的存儲器容量,片上外設(shè),IO以及其他模塊。ARM公司為了能讓不同的芯片公司生產(chǎn)的Cortex-M3芯片能在軟件上基本兼容,與芯片生產(chǎn)商共同提出CMSIS標(biāo)準(zhǔn)。當(dāng)然,ST官方庫也是根據(jù)這套標(biāo)準(zhǔn)設(shè)計的?;贑MSIS應(yīng)用程序的結(jié)構(gòu)體如下:可見,CMSIS分為3個功能層:核內(nèi)外設(shè)訪問層:ARM公司提供,定義處理器內(nèi)部寄存器地址以及功能函數(shù);中間件訪問層:ARM公司提供,定義訪問中間件的API(CPU的調(diào)試功能集成于此);器件級外設(shè)訪問層:也稱片內(nèi)外設(shè)訪問層,定義硬件寄存器的地址和外設(shè)訪問函數(shù)。CMSIS向下負(fù)責(zé)與內(nèi)核和各個外設(shè)直接打交道,向上提供實時操作系統(tǒng)用戶程序調(diào)用的函數(shù)接口。若無CMSIS標(biāo)準(zhǔn),那么各個公司設(shè)計的庫函數(shù)就會不同。資料準(zhǔn)備|
資料文件說明05文件目錄:……\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSuportcore_cm3.c和core_cm3.h:CMSIS核心文件,提供進入Cortex-M3內(nèi)核的接口,由ARM公司提供,適用于所有M3內(nèi)核的芯片。資料準(zhǔn)備|
資料文件說明05文件目錄:……\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x主要存放一些啟動文件以及基礎(chǔ)的寄存器和中斷向量的定義的文件。system_stm32f10x.c和system_stm32f10x.h:這組文件的功能是設(shè)置系統(tǒng)和總線時鐘,其間最重要的函數(shù)是SystemInit()函數(shù),這個函數(shù)是在系統(tǒng)啟動時調(diào)用的,用來設(shè)置整個系統(tǒng)的時鐘。stm32f10x.h:其間有許多結(jié)構(gòu)體和宏定義,這個文件里面主要是系統(tǒng)寄存器的定義申明以及包裝對其的操作。startup:存放啟動文件資料準(zhǔn)備|
資料文件說明05文件目錄:……\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm這8個startup打頭的.s文件,是針對不同容量的芯片的啟動文件。啟動文件的作用在于進行堆棧等初始化,中斷向量表以及對應(yīng)的中斷處理函數(shù)的定義,啟動文件還要引導(dǎo)程序進入main函數(shù)。對于f103系列的STM32,主要是用到其中3個啟動文件。startup_stm32f10x_Ld.s:適用于小容量的STM32startup_stm32f10x_Md.s:適用于中等容量的STM32startup_stm32f10x_Hd.s:適用于大容量的STM32本課程使用的芯片的flash為512KB,屬于大容量芯片。芯片flash等級劃分規(guī)則:小容量:<=32K中等容量:>=64K&&<=128K大容量:>=256K工程建立|
工程文件分類整理05一個工程會使用到很多的文件,這些文件可能存在不同的來源,存在不同的用途,對應(yīng)著不同的器件。例如:系統(tǒng)啟動文件我們可以從ST官網(wǎng)獲得,而LED的控制程序由用戶自己編寫;LED有LED的控制方法,步進電機也有步進電機的控制方法。為了方便我們自己管理這些文件、以及方便日后進行程序移植。分類方法沒有固定規(guī)則。一般習(xí)慣可以按照以下方法分類:①、建立工程的總文件(demo),與工程相關(guān)的所有文件都存放在里面。②、工程文件中建立文件夾用來分類管理工程中的文件:CMSIS:與系統(tǒng)相關(guān)的文件都存放在這里,這些文件都是ST官網(wǎng)上下載的;Libraries:標(biāo)準(zhǔn)庫函數(shù)文件;ReadMe:用于工程說明的文本文件;USER:用戶自己編寫的文件05因為用戶會自己編寫很多文件,為了方便用戶查閱,對于用戶的文件可以再進行分類,比如按照文件類型分為:INC(C語言頭文件)和SRC(C語言源文件)。工程建立|
工程文件分類整理05將STM32F103的標(biāo)準(zhǔn)庫函數(shù)文件復(fù)制到我們建立Libraries文件夾下:工程建立|
工程文件分類整理05將以下文件復(fù)制到我們建立的CMSIS文件夾下:工程建立|
工程文件分類整理文件路徑core_cm3.c、core_cm3.h\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupportstartup_stm32f10x_hd.s\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\armstm32f10x.h、system_stm32f10x.c、system_stm32f10x.h\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10xstm32f10x_conf.h\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\ADC\TIMTrigger_AutoInjection05運行KEIL5軟件建立新工程:新工程保存路徑為:工程文件夾(demo)工程建立|
工程環(huán)境設(shè)置05點擊保存后會自動彈出一下界面,在這里輸入使用的芯片的型號,選擇合適芯片型號,然后點擊OK。工程建立|
工程環(huán)境設(shè)置05下面這個界面直接關(guān)閉,或者點擊OK。工程建立|
工程環(huán)境設(shè)置05為了方便工程管理,需要建立一些文件分組,一般按照我們建立的文件夾進行分組。工程建立|
工程環(huán)境設(shè)置05將系統(tǒng)相關(guān)文件添加到CMSIS分組下,添加時只需要添加.s文件(AssemblerSource)以及.c文件(CSource),.h文件可以添加也可以不添加。工程建立|
工程環(huán)境設(shè)置05工程建立|
工程環(huán)境設(shè)置05將標(biāo)準(zhǔn)庫函數(shù)源文件添加到Libraries分組下,添加時只需要添加.c文件(CSource),.h文件可以添加也可以不添加。工程建立|
工程環(huán)境設(shè)置05將標(biāo)準(zhǔn)庫函數(shù)源文件添加到Libraries分組下,添加時只需要添加.c文件(CSource),.h文件可以添加也可以不添加。工程建立|
工程環(huán)境設(shè)置05將標(biāo)準(zhǔn)庫函數(shù)源文件添加到Libraries分組下,添加時只需要添加.c文件(CSource),.h文件可以添加也可以不添加。工程建立|
工程環(huán)境設(shè)置05建立用戶自己的文件:點擊菜單欄File下的白色圖標(biāo),即可建立一個空白文件,一般在工程中建立文件時,如果要建立的是.c文件,則會對應(yīng)建立一個.h文件,例如:建立一個main.c文件,對應(yīng)建立一個main.h文件。工程建立|
工程環(huán)境設(shè)置05將新建的兩個空白文件分別保存到……\USER\INC和……\USER\SRC中,各自命名為main.h和main.c。注意一定要帶后綴,否則默認(rèn)保存為文本文件。這兩個文件就是我們用于編寫main函數(shù)(.c文件)以及包含main.c中所需要的相關(guān)頭文件、宏定義、外部聲明(.h文件)等等。工程建立|
工程環(huán)境設(shè)置05將main.c文件添加到工程中USER分組下:雙擊分組USER,找到保存的main.c文件,選擇添加,之后關(guān)閉窗口即可。工程建立|
工程環(huán)境設(shè)置05頭文件框架搭建:#ifndef
MAIN_H_//如果沒有定義宏MAIN_H_,宏名一般依據(jù)文件名命名。#defineMAIN_H_//注意這兩個宏名必須一致//用戶代碼,包括宏定義、函數(shù)聲明、變量外部聲明、頭文件包含等等//一般不在頭文件中定義變量#endif工程建立|
工程環(huán)境設(shè)置05在main.c中包含頭文件main.h并定義主函數(shù),在main.h中包含文件stm32f10x.h。工程建立|
工程環(huán)境設(shè)置注意:主函數(shù)中一般要加入一個死循環(huán),目的是為了讓程序不會結(jié)束運行。05設(shè)置頭文件路徑:在工程中用到了一些存放在用戶自己選擇的路徑下的頭文件,因此需要設(shè)置相關(guān)頭文件路徑,此外官方文件源碼中有部分一部分使用了條件編譯,我們也需要設(shè)置相關(guān)的宏定義,相關(guān)宏名在stm32f10xx.h文件中。工程建立|
工程環(huán)境設(shè)置宏名根據(jù)芯片選擇:大容量芯片選擇STM32F10X_HD;庫函數(shù)編程選擇USE_STDPERIPH_DRIVER;兩個宏名之間使用英文逗號(,)間隔存在頭文件的目錄如下:……\CMSIS……\USER\INC……\Libraries\inc05工程建立|
工程環(huán)境設(shè)置05工程建立|
工程環(huán)境設(shè)置(1)(2)(3)05工程建立|
工程環(huán)境設(shè)置(1)(2)(3)05工程建立|
工程環(huán)境設(shè)置(1)(2)(3)05工程建立|
工程環(huán)境設(shè)置設(shè)置程序調(diào)試和下載方式:05工程建立|
工程環(huán)境設(shè)置設(shè)置程序調(diào)試和下載方式:05工程建立|
工程環(huán)境設(shè)置設(shè)置程序調(diào)試和下載方式:05工程建立|
工程環(huán)境設(shè)置設(shè)置程序調(diào)試和下載方式:設(shè)置好后,點擊OK退出,注意不能直接關(guān)閉,必須點擊OK退出,否則所有設(shè)置將會被取消。程序下載驗證05打開實例程序中的驗證代碼工程程序下載驗證05點擊以下圖標(biāo)進行編譯連接,等待編譯完成后點擊下載圖標(biāo)進行下載程序。下載完成后,芯片復(fù)位,將按照LED1~4順序依次點亮,并保持同一時間只有一個LED點亮(熄滅其他的LED)。信盈達(dá)開發(fā)平臺硬件資料介紹01信盈達(dá)開發(fā)平臺硬件資料介紹05149信盈達(dá)STM32開發(fā)板資源開發(fā)板資源課程介紹供電和下載說明150信盈達(dá)STM32開發(fā)板資源|
開發(fā)板資源01151信盈達(dá)STM32開發(fā)板資源|
開發(fā)板資源01信盈達(dá)STM32開發(fā)板板載資源如下:CPU:STM32F103ZET6,LQFP144,F(xiàn)LASH:512K,SRAM:64K;外擴SRAM:IS62WV51216,1M字節(jié)外擴SPIFLASH:W25Q64,8M字節(jié)1個電源指示燈4個狀態(tài)指示燈1個紅外接收頭,并配備一款小巧的紅外遙控器1個EEPROM芯片,24C02,容量256字節(jié)1個重力加速度傳感器芯片,ADXL3451個高性能音頻編解碼芯片,VS10531個2.4G無線模塊接口(NRF24L01)1路CAN接口,采用TJA1050芯片1路485接口,采用SP3485芯片1路RS232(串口)接口,采用SP3232芯片1個PS/2接口,可外接鼠標(biāo)、鍵盤1個游戲手柄接口,可以直接插FC(紅白機)游戲手柄1路數(shù)字溫濕度傳感器接口,支持DS18B20/DHT11等152信盈達(dá)STM32開發(fā)板資源|
開發(fā)板資源01信盈達(dá)STM32開發(fā)板板載資源如下:1個標(biāo)準(zhǔn)的2.4/2.8/3.5寸LCD接口,支持觸摸屏1個攝像頭模塊接口2個OLED模塊接口1個USB串口,可用于程序下載和代碼調(diào)試(USMART調(diào)試)1個USBSLAVE接口,用于USB通信1個有源蜂鳴器1個FM收發(fā)天線接口,并配天線1個RS232/RS485選擇接口1個CAN/USB選擇接口1個串口選擇接口1個SD卡接口(在板子背面,支持SPI/SDIO)1個SD卡/網(wǎng)絡(luò)模塊選擇接口1個標(biāo)準(zhǔn)的JTAG/SWD調(diào)試下載口1個VS1053的IIS輸出接口1個MIC/LINEIN選擇接口153信盈達(dá)STM32開發(fā)板資源|
開發(fā)板資源01信盈達(dá)STM32開發(fā)板板載資源如下:1個錄音頭(MIC/咪頭)1路立體聲音頻輸出接口1路立體聲錄音輸入接口1組多功能端口(DAC/ADC/PWMDAC/AUDIOIN/TPAD)1組5V電源供應(yīng)/接入口1組3.3V電源供應(yīng)/接入口1個參考電壓設(shè)置接口1個直流電源輸入接口(輸入電壓范圍:6~16V)1個啟動模式選擇配置接口1個RTC后備電池座,并帶電池1個復(fù)位按鈕,可用于復(fù)位MCU和LCD4個功能按鈕,其中WK_UP兼具喚醒功能1個電源開關(guān),控制整個板的電源1路步進電機接口2路工控繼電器接口154信盈達(dá)STM32開發(fā)板資源|
供電和下載說明01供電信盈達(dá)stm32開發(fā)板共支持倆種供電方法:1)DC座供電DC座為12v1A電源供電,可購買信盈達(dá)專用電源供電。2)USB供電USB供電可通過板上連個miniUSB口(即USB從機接口或者串口1接口)5v供電,可從電腦USB口取電,但此供電電流較低,推薦使用DC12v供電155信盈達(dá)STM32開發(fā)板資源|
供電和下載說明01下載與調(diào)試Stm32芯片支持JTAG和SW倆種下載調(diào)試方式,和串口1下載方式。信盈達(dá)stm32開發(fā)板將JTAG端口通過JTAG座子引出,同時支持JTAG和SW倆種模式,串口1在miniUSB中引出。開發(fā)板支持多種調(diào)試方式,和多種的下載方式,用戶可根據(jù)自己的需要選擇合適的下載調(diào)試器156信盈達(dá)STM32開發(fā)板資源|
供電和下載說明01JLINK下載調(diào)試JLINk支持JTAG和SW倆種下載和調(diào)試方式。需要配件:jlink一套。使用方法:a)安裝jlink驅(qū)動b)配置BOOT0,boot1為低電平(配置J8跳線)。c)將jlink把開發(fā)板(JTAG)和電腦USB連接,同時上電。d)配置MDK157信盈達(dá)STM32開發(fā)板資源|
供電和下載說明01打開MDK工程,點擊,打開OptionsforTarget選項卡,在Debug欄選擇仿真工具為Cortex-M3J-LINK,如圖所示158信盈達(dá)STM32開發(fā)板資源|
供電和下載說明01上圖中我們還勾選了Runtomain(),該選項選中后,只要點擊仿真就會直接運行到main函數(shù),如果沒選擇這個選項,則會先執(zhí)行startup_stm32f10x_hd.s文件的Reset_Handler,再跳到main函數(shù)。然后我們點擊Settings,設(shè)置J-LINK的一些參數(shù)。159信盈達(dá)STM32開發(fā)板資源|
供電和下載說明01我們選用J-LINK的SW模式調(diào)試,也可以在此選擇JTAG的調(diào)試方式,單擊OK,完成此部分設(shè)置,接下來我們還需要在Utilities選項卡里面設(shè)置下載時的目標(biāo)編程器。160信盈達(dá)STM32開發(fā)板資源|
供電和下載說明01我們選擇J-LINK來調(diào)試CortexM3,然后點擊Settings。這里要根據(jù)不同的MCU選擇FLASH的大小,因為我們開發(fā)板使用的是STM32F103ZET6,其FLASH大小為512KB,所以我們點擊Add,并在ProgrammingAlgorithm里面選擇512K型號的STM32。然后選中ResetandRun選項,以實現(xiàn)在編程后自動啟動,其他默認(rèn)設(shè)置即可。設(shè)置完成之后點擊OK,然后再點擊OK,回到IDE界面,編譯一下工程。點擊按鈕,即可完成下載。點擊,可進入硬件jlink仿真161信盈達(dá)STM32開發(fā)板資源|
供電和下載說明01ST-LINK下載調(diào)試ST-LINK同樣支持JTAG和SW倆種下載和調(diào)試方式。使用方法與jlink基本相同,只是下載速度與jlink相比要慢一些,MDK配置上只需在option中將選擇的jlink換成STlink選項即可,其余同jlink的使用方法及效果完全一樣,這里不再贅述。162信盈達(dá)STM32開發(fā)板資源|
課程介紹01本課程從庫函數(shù)級別出發(fā),深入淺出,向讀者展示STM32F1的各種功能??偣才溆卸鄠€實例,基本上每個實例在均配有軟硬件設(shè)計,在介紹完軟硬件之后,馬上附上實例代碼,并帶有詳細(xì)注釋及說明,讓讀者快速理解代碼。這些實例涵蓋了STM32F1的絕大部分內(nèi)部資源,所有實例在MDK5編譯器下編譯通過,大家只需下載程序到信盈達(dá)STM32開發(fā)板,即可驗證實驗。不管你是一個STM32初學(xué)者,還是一個老手,本手冊都非常適合。尤其對于初學(xué)者,本手冊將手把手的教你如何使用MDK,包括新建工程、編譯、仿真、下載調(diào)試等一系列步驟,讓你輕松上手。本手冊的實驗平臺是信盈達(dá)STM32開發(fā)板,有這款開發(fā)板的朋友則直接可以拿本手冊配套資料的例程在開發(fā)板上運行、驗證。而沒有這款開發(fā)板而又想要的朋友,可以上淘寶購買。當(dāng)然你如果有了一款自己的開發(fā)板,而又不想再買,也是可以的,只要你的板子上有信盈達(dá)STM32開發(fā)板上的相同資源(需要實驗用到的),代碼一般都是可以通用的,你需要做的就只是把底層的驅(qū)動函數(shù)(比如IO口修改)稍做修改,使之適合你的開發(fā)板即可。GPIO實驗01020304GPIO基礎(chǔ)知識STM32的GPIO資源GPIO框圖分析GPIO庫函數(shù)分析05GPIO示例與作業(yè)06GPIO總結(jié)GPIO基礎(chǔ)知識01GPIO應(yīng)用GPIO工作模式概念解析GPIO基礎(chǔ)知識|
概念解析01全國現(xiàn)狀GPIO:(GeneralPurposeInputOutput)通用輸入輸出端口,是STM32芯片上最常用的外設(shè)。該外設(shè)具體名稱為GPIOx(x=A...I)一般,每個GPIO端口包含最多16個引腳,序號分別為0~15。描述GPIO引腳時會采用縮寫表示,以GPIOA端口下序號為5引腳為例,則該引腳名稱為PA5。MCU可以采集GPIO引腳上的電平狀態(tài),也可以控制GPIO引腳上輸出指定電平,從而實現(xiàn)對電路的控制。右圖為實驗板原理圖的GPIO部分截圖GPIO基礎(chǔ)知識|
概念解析01全國現(xiàn)狀輸出:MCU通過GPIO引腳發(fā)送特定的電平對外圍電路產(chǎn)生影響。比如:MCU驅(qū)動LED時,需要使用GPIO輸出。輸入:MCU通過GPIO引腳檢測外圍電路發(fā)送的電平信號。比如:MCU驅(qū)動按鍵時,需要使用GPIO輸入以下為輸出和輸入相應(yīng)的示例。GPIO基礎(chǔ)知識|
GPIO應(yīng)用01全國現(xiàn)狀GPIO是MCU與外界數(shù)據(jù)交流的唯一通道。除了引腳基本的輸入與輸出功能外,STM32進行的所有通信都會使用到GPIO外設(shè),比如:同步通信IIC、SPI;異步通信UART等。需要注意,往STM32中下載程序這也是MCU與外界進行數(shù)據(jù)交流,此時也必須使用GPIO。下載/調(diào)試引腳:STM32的PA13、PA14、PA15、PB3和PB4引腳在芯片上電后默認(rèn)作為JTAG調(diào)試/下載接口,為確保JTAG接口下載成功實現(xiàn),編程時應(yīng)當(dāng)避免對這些引腳進行其他設(shè)置。GPIO基礎(chǔ)知識|
GPIO工作模式01全國現(xiàn)狀根據(jù)數(shù)據(jù)手冊中列出的每個I/O端口的特定硬件特征,GPIO端口的每個位(即每個引腳)可以由軟件分別配置成8種模式。─輸入浮空─輸入上拉─輸入下拉─模擬輸入─開漏輸出─推挽式輸出─推挽式復(fù)用功能─開漏復(fù)用功能GPIO基礎(chǔ)知識|
GPIO工作模式01全國現(xiàn)狀推挽結(jié)構(gòu)一般是指兩個三極管分別受兩個互補信號的控制,總是在一個三極管導(dǎo)通的時候另一個截止。這種結(jié)構(gòu)既可以輸出高電平,也可以輸出低電平,可以用于連接數(shù)字器件。開漏結(jié)構(gòu),一般使用開漏輸出模式時,若外部不接上拉電阻時,只能輸出低電平,所以要想輸出高電平必須要外接上拉電阻。這樣做的有一個好處,可以用來匹配不同的電平信號,也就是用于不同電壓的系統(tǒng)之間的通信;另外,因為要輸出高電平需要有外部的上拉電阻,所以在進行通信時,通信的速度也受到上拉電阻阻值的影響,阻值小時,通信速度可以很快,阻值大時,通信速度變慢,但也不能為了通信速度把上拉電阻用的很小,也要注意在電阻很小時,功耗會變大,所以要平衡好這個度。STM32的GPIO資源02
GPIO特性GPIO資源STM32的GPIO資源|
GPIO資源02STM32F103ZE芯片中含有7個GPIO端口,分別為GPIOA—GPIOG,均掛載在APB2總線上。共有7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 氣瓶基礎(chǔ)知識培訓(xùn)課件
- 不收租金的辦公場地租賃合同2024版B版
- 專業(yè)化消防器材銷售與購買協(xié)議范本版B版
- 專業(yè)化煤炭加工2024協(xié)議樣本版B版
- 2024棄土資源化利用項目技術(shù)開發(fā)與轉(zhuǎn)讓協(xié)議合同3篇
- 上海某公司股權(quán)轉(zhuǎn)讓專項合同版
- 2024年高品質(zhì)裝修房屋轉(zhuǎn)讓及裝修材料采購合同3篇
- 2025年度食品級儲藏室租賃及質(zhì)量控制合同3篇
- 泳池衛(wèi)生知識培訓(xùn)課件
- 化工行業(yè)保安工作總結(jié)
- JTG C10-2007 公路勘測規(guī)范
- 河北鋼鐵集團礦業(yè)有限公司承德柏泉鐵礦礦山地質(zhì)環(huán)境保護與土地復(fù)墾方案
- 2022聚脲防水涂料應(yīng)用技術(shù)規(guī)程
- 文言文的閱讀與解析技巧
- 2024-2030年馬齒莧提取物行業(yè)供需調(diào)研及投資戰(zhàn)略規(guī)劃報告
- 醫(yī)院感染風(fēng)險評估表(適用于病房、換藥室、治療室、注射室)
- TCASWSS 025-2024 老年大學(xué)課程設(shè)置規(guī)范
- 小學(xué)道德與法治課程標(biāo)準(zhǔn)與教材研究 課件 第七章 法治教育
- JJG 633-2024氣體容積式流量計
- 電機制造行業(yè)的競爭對手分析
- 廣西失敗企業(yè)案例分析報告
評論
0/150
提交評論