![第1章 STM32基本原理.ppt_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/22/38255228-96d5-42ed-b20f-8276e89768f7/38255228-96d5-42ed-b20f-8276e89768f71.gif)
![第1章 STM32基本原理.ppt_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/22/38255228-96d5-42ed-b20f-8276e89768f7/38255228-96d5-42ed-b20f-8276e89768f72.gif)
![第1章 STM32基本原理.ppt_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/22/38255228-96d5-42ed-b20f-8276e89768f7/38255228-96d5-42ed-b20f-8276e89768f73.gif)
![第1章 STM32基本原理.ppt_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/22/38255228-96d5-42ed-b20f-8276e89768f7/38255228-96d5-42ed-b20f-8276e89768f74.gif)
![第1章 STM32基本原理.ppt_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/22/38255228-96d5-42ed-b20f-8276e89768f7/38255228-96d5-42ed-b20f-8276e89768f75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于STM32的嵌入式系統(tǒng)原理與設(shè)計第一章 STM32基本原理,博客: 交流論壇: 開發(fā)板和教程: ,要點,STM32性能和結(jié)構(gòu),CortexM3處理器,輸入輸出端口GPIO,引腳、電源和時鐘樹,模數(shù)和數(shù)模轉(zhuǎn)換,中斷,定時器,DMA,靈活的FSMC,同步和異步串行接口,第一章 STM32基本原理,學(xué)習(xí)STM32需要從原理入手,為硬件、軟件、操作系統(tǒng)、工程實踐學(xué)習(xí)打下一個良好的基礎(chǔ)。 本章的第一部分是STM32的性能和結(jié)構(gòu),然后是對Cortex M3處理器的分析,之后是地址映射、引腳功能描述、電源連接、復(fù)位和時鐘控制RCC、輸入輸出端口GPIO、ADC和DAC、中斷、DMA、定時器、同步串行通信
2、SPI和I2C、同步異步串行通信USART,最后是靈活的存儲器控制FSMC。 通過本章的學(xué)習(xí),既可以掌握STM32的全貌,也可以學(xué)習(xí)到重要的關(guān)于Cortex M3處理器內(nèi)核和STM32器件的細(xì)節(jié)信息,1.1 STM32性能和結(jié)構(gòu)1.1.1總體性能,以高密度的STM32F103VET6為例,能適合一般項目的需要,價格在30元以下,避免由于FLASH和RAM太小造成的瓶頸。 VET6的含義為: V的含義為100pins,即100個管腳。 E表示512KB的FLASH。 T表示LQFP封裝。 6 表示-40到85度的溫度范圍。,STM32F103系列芯片包括從36腳至100腳不同封裝形式,STM32
3、系列命名遵循一定的規(guī)則:,退出,芯片類型:F通用快閃,L低電壓(1.653.6V),W無線系統(tǒng)芯片。,103ARM Cortex-M3內(nèi)核,增強(qiáng)型;050ARM Cortex-M0內(nèi)核;101ARM Cortex-M3內(nèi)核,基本型; 102ARM Cortex-M3內(nèi)核,USB基本型;105ARM Cortex-M3內(nèi)核,USB互聯(lián)網(wǎng)型; 107ARM Cortex-M3內(nèi)核,USB互聯(lián)網(wǎng)型、以太網(wǎng)型;215/217ARM Cortex-M3內(nèi)核,加密模塊;405/407ARM Cortex-M4內(nèi)核,不加密模塊等。,引腳數(shù)目:R64PIN,F(xiàn)20PIN,G28PIN;K32PIN,T36PI
4、N,H40PIN,C48PIN,U63PIN, O90PIN,V100PIN,Q132PIN,Z144PIN,I176PIN。,B128KB Flash(中容量),416KB Flash(小容量), 632KB Flash(小容量),864KB Flash(中容量),C256KB Flash(大容量),D384KB Flash(大容量),E512KB Flash(大容量),F(xiàn)768KB Flash(大容量),G1MKB Flash(大容量)。,封裝信息:TLQFP,HBGA,UVFQFPN,YWLCSP。,工作溫度范圍:6-4085(工業(yè)級), 7-40105(工業(yè)級)。,6 KB RAM*,
5、6 KB RAM*,STM32F103 “增強(qiáng)型”系列,Flash Size (bytes),128 K,256 K,512 K,100 pins LQFP/BGA,STM32F103Rx 20 KB RAM,STM32F103Rx 20 KB RAM,STM32F103Cx 20 KB RAM,32 K,64 K,STM32F103Rx 64 KB RAM,STM32F103Vx 20 KB RAM,STM32F103Vx 64 KB RAM,STM32F103Vx 20 KB RAM,STM32F103Vx 64 KB RAM,3xUSART 3x16-bit timer 2xSPI, 2
6、XI2C USB, CAN, PWM 2xADC,64 pins LQFP,48 pinsLQFP,2xUSART 2x16-bit timer 1xSPI, 1xI2C USB, CAN, PWM 2xADC,5xUSART 5x16-bit timer 2xSPI, 2XI2C USB, CAN, PWM 2xADC, 2xDAC, I2S EMI (144 pins only),STM32F103Rx 64 KB RAM,144 pins LQFP/BGA,STM32F103Zx 64 KB RAM,STM32F103Zx 64 KB RAM,STM32R103Zx 64 KB RAM,
7、STM32F103Cx 10 KB RAM,STM32F103Rx 10 KB RAM,* 32kB devices exist w/o the CAN and USB, with 6kB of RAM,0 K,Samples April 07 Production Oct 07,Samples Dec 07 Production Q2 08,STM32 MCU結(jié)構(gòu) 由控制單元、從屬單元和總線矩陣三大部分組成,控制單元和從屬單元通過總線矩陣相連接 控制單元包括 Cortex-M3內(nèi)核和兩個DMA控制器(DMA1和DMA2) 從屬單元包括存儲器(Flash和SRAM等)和設(shè)備(連接片外設(shè)備的接口
8、和片內(nèi)設(shè)備),1.1 STM32性能和結(jié)構(gòu)1.1.2 系統(tǒng)結(jié)構(gòu)分析,STM32 MCU結(jié)構(gòu) 連接片外設(shè)備的接口有并行接口和串行接口,并行接口即通用IO接口GPIO,串行接口有USART、SPI、I2C、USB和CAN等 片內(nèi)設(shè)備有定時器TIM、模數(shù)轉(zhuǎn)換器ADC和數(shù)模轉(zhuǎn)換器DAC等,1.1 STM32性能和結(jié)構(gòu)1.1.2 系統(tǒng)結(jié)構(gòu)分析,總線結(jié)構(gòu)中各單元的功能,STM32 MCU結(jié)構(gòu) ICode 總線:將 Flash 存儲器指令接口與 Cortex-M3 內(nèi)核的指令總線相連接,用于指 令預(yù)取; DCode 總線:將 Flash 存儲器的數(shù)據(jù)接口與 Cortex-M3 內(nèi)核的 DCode 總線相連接
9、,用于常量加載和調(diào)試訪問; System 總線:將Cortex-M3 內(nèi)核的 System 總線(外設(shè)總線)連接到總線矩陣;,1.1 STM32性能和結(jié)構(gòu)1.1.2 系統(tǒng)結(jié)構(gòu)分析,STM32 MCU結(jié)構(gòu) DMA 總線:將DMA 的 AHB 主控接口與總線矩陣相連; 總線矩陣:用于連接三個主動單元部件和三個被動單元,負(fù)責(zé)協(xié)調(diào)和仲裁Cortex-M3 內(nèi)核和 DMA 對 SRAM 的訪問,仲裁采用輪換算法 AHB/APB 橋:兩個 AHB/APB 橋在 AHB 和 2 個 APB 總線之間提供完全同步連接。,1.1 STM32性能和結(jié)構(gòu)1.1.2 系統(tǒng)結(jié)構(gòu)分析,1.1 STM32性能和結(jié)構(gòu)1.1.
10、2 系統(tǒng)結(jié)構(gòu)分析,1.1 STM32性能和結(jié)構(gòu)1.1.2 系統(tǒng)結(jié)構(gòu)分析,(1)Cortex-M3 CPU所在之處,是司令部是大腦。 (2)總線矩陣 (3)FLASH通過FLASH接口連接CPU。 (4)靜態(tài)存儲器SRAM通過總線矩陣連接CPU。 (5)復(fù)位和時鐘控制RCC。 (6)低速APB1外設(shè)。 (7)低速APB2外設(shè)。 (8)可變靜態(tài)存儲控制器FSMC。 (9)DMA通道。,1.1 STM32性能和結(jié)構(gòu)1.1.3 芯片封裝和管腳概述,Cortex-M3簡介 Cortex-M3是采用哈佛結(jié)構(gòu)的32位處理器內(nèi)核,擁有獨立的指令總線和數(shù)據(jù)總線,兩者共享同一個4GB存儲空間 Cortex-M3內(nèi)
11、建一個嵌套向量中斷控制器(NVIC:Nested Vectored Interrupt Controller),支持可嵌套中斷、向量中斷和動態(tài)優(yōu)先級等 Cortex-M3內(nèi)部還包含一個系統(tǒng)滴答定時器SysTick,1.2 Cortex M3處理器,1.2 Cortex M3處理器 1.2.1 Cortex-M3的定位和應(yīng)用,從圖1.2.1可見,嵌入式處理器核CortexM3,容量(Capability)和執(zhí)行功能(Performance Functionality)都居中,但其性價比是當(dāng)今最好的品種之一,也是現(xiàn)在最流行的品種之一。,1.2 Cortex M3處理器 1.2.2 Cortex-M
12、3處理器結(jié)構(gòu),1.2 Cortex M3處理器 1.2.3 Cortex-M3寄存器,1.2 Cortex M3處理器 1.2.3 Cortex-M3寄存器,1.2 Cortex M3處理器 1.2.3 Cortex-M3寄存器,特殊功能寄存器,1.2 Cortex M3處理器 1.2.3 Cortex-M3寄存器,1.2 Cortex M3處理器 1.2.4 堆棧,1.2 Cortex M3處理器 1.2.4 堆棧,1.3 STM32存儲地址映射,程序存儲器、數(shù)據(jù)存儲器、寄存器和輸入輸出端口寄存器被組織在同一個4GB的線性地址空間內(nèi),1.3 STM32存儲地址映射,代碼分析,P13代碼1-2
13、 到1-6 說明如何訪問串口寄存器來實現(xiàn)發(fā)送數(shù)據(jù)到串口,1.3 STM32存儲地址映射,1.4 引腳功能描述,引腳功能來源于數(shù)據(jù)手冊,注意復(fù)用功能,1.6復(fù)位和時鐘控制RCC,復(fù)位分三種形式,電源復(fù)位、系統(tǒng)復(fù)位和備份區(qū)域復(fù)位。,1.6.1 復(fù)位,STM32 系統(tǒng)時鐘樹 系統(tǒng)時鐘樹由系統(tǒng)時鐘源、系統(tǒng)時鐘和設(shè)備時鐘等部分組成 系統(tǒng)時鐘源有4個: 高速外部時鐘HSE、 低速外部時鐘LSE、 高速內(nèi)部時鐘HSI和 低速內(nèi)部時鐘LSI,1.6復(fù)位和時鐘控制RCC,1.6.2時鐘源,1.6復(fù)位和時鐘控制RCC,時鐘樹圖解了各個設(shè)備時鐘的來源。 參考P19頁圖1-11 STM32時鐘樹。 問題:STM32定
14、時器1是APB2外設(shè),請從晶振開始,分析器定時器1時鐘的來源。 那么定時器2呢?,通常,STM32主頻在72M,而外時鐘選擇8M,因此必須通過倍頻獲得。(鎖相環(huán)PLL對選擇的時鐘進(jìn)行倍頻),1.6.2時鐘源,1.6復(fù)位和時鐘控制RCC,STM32 系統(tǒng)時鐘樹 系統(tǒng)時鐘SYSCLK可以是HSE或HSI,也可以是HSE或HSI通過鎖相環(huán)倍頻后的鎖相環(huán)時鐘PLLCLK SYSCLK經(jīng)AHB預(yù)分頻器分頻后得到AHB總線時鐘HCLK,HCLK經(jīng)APB1/APB2預(yù)分頻器分頻后得到APB1/APB2總線時鐘PCLK1和PCLK2,1.6復(fù)位和時鐘控制RCC,STM32 MCU系統(tǒng)時鐘樹 系統(tǒng)時鐘樹中的時鐘
15、選擇、預(yù)分頻值和外設(shè)時鐘使能等都可以通過對復(fù)位和時鐘控制(RCC)寄存器編程實現(xiàn),1.6復(fù)位和時鐘控制RCC,STM32 MCU系統(tǒng)時鐘樹 Keil的電源,復(fù)位和時鐘控制對話框,1.6復(fù)位和時鐘控制RCC,STM32 MCU系統(tǒng)時鐘樹 APB2設(shè)備時鐘使能寄存器(RCC_APB2ENR),前頁 返回,郭書軍 cortex_,1.6復(fù)位和時鐘控制RCC,STM32 MCU系統(tǒng)時鐘樹 Keil的APB橋?qū)υ捒?1.6復(fù)位和時鐘控制RCC,1.7輸入輸出端口GPIO 1.7.1常規(guī)輸入輸出GPIO,GPIO包括多個16位I/O端口,每個端口可以獨立設(shè)置3工作模式,并可獨立地置位或復(fù)位 GPIO由寄存
16、器、輸入驅(qū)動器和輸出驅(qū)動器等部分組成 GPIO是可編程輸入/輸出端口,1.7輸入輸出端口GPIO1.7.1常規(guī)輸入輸出GPIO,GPIO通過7個32位寄存器進(jìn)行操作,1.7輸入輸出端口GPIO 1.7.1常規(guī)輸入輸出GPIO,GPIO結(jié)構(gòu)及寄存器說明 每個端口的4個配置位是CNF1:0和MODE1:0,注:(1) ODR=1:上拉,ODR=0:下拉,(2) 01/10/11依次對應(yīng)最大輸出頻率為10MHz/2MHz/50MHz,1.7輸入輸出端口GPIO 1.7.1常規(guī)輸入輸出GPIO,GPIO端口的模式模式是輸入浮空,為什么這樣設(shè)計?,1.7輸入輸出端口GPIO1.7.2 GPIO復(fù)用,可以
17、將具有復(fù)用功能的引腳的功能進(jìn)行重新配置,例如配置一些管腳為ADC的管腳,這些管腳就不能再作為GPIO使用。這個過程叫做復(fù)用重映射。 8個ADC通過的選擇過程P21-22。 問題:根據(jù)P21表1-7,如果需要選擇一個引腳做ADC輸入引腳,可以選擇哪個引腳呢?為什么?,ADC簡介 模數(shù)轉(zhuǎn)換器ADC的主要功能是將模擬信號轉(zhuǎn)化為數(shù)字信號以便于微控制器進(jìn)行數(shù)據(jù)處理 STM32 ADC是12位逐次比較型,最多可測量21個外部的模擬量,各通道的轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)。,1.8模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器 1.8.1 模-數(shù)轉(zhuǎn)換器,ADC結(jié)構(gòu) STM32 ADC主要由模擬多路開關(guān)、模擬至數(shù)字轉(zhuǎn)換器、數(shù)
18、據(jù)寄存器和觸發(fā)選擇等部分組成 轉(zhuǎn)換通道分為規(guī)則通道和注入通道兩組 規(guī)則通道由最多16個通道組成,按順序轉(zhuǎn)換 注入通道由最多4個通道組成,可插入轉(zhuǎn)換,1.8模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器 1.8.1 模-數(shù)轉(zhuǎn)換器,1.8模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器 1.8.2數(shù)-模轉(zhuǎn)換器,1. 數(shù)模轉(zhuǎn)換器框圖分析 P24 圖1-15。 2.參考源。 3.信號發(fā)生器功能。,中斷簡介 接口數(shù)據(jù)傳送控制方式有查詢、中斷和DMA等,中斷是重要的接口數(shù)據(jù)傳送控制方式 STM32中斷控制分為全局和局部2級,全局中斷由嵌套向量中斷控制器NVIC控制,局部中斷由設(shè)備控制 STM32有84個中斷,包括16個內(nèi)核中斷和68個可屏蔽中斷,具有16
19、級可編程的中斷優(yōu)先級。而常用的就是這68個可屏蔽中斷: 在STM32F103系列上面,只有60個(在107系列才有68個) 嵌入式實時操作系統(tǒng)的系統(tǒng)服務(wù)也是靠中斷激發(fā)的!,1.9中斷,STM32部分中斷向量表(異常),1.9中斷1.9.1 STM32的中斷通道和中斷向量處理,STM32部分中斷向量表(中斷向量存放的執(zhí)行代碼么?),1.9中斷1.9.1 STM32的中斷通道和中斷向量處理,STM32部分中斷向量表(續(xù)),1.9中斷1.9.1 STM32的中斷通道和中斷向量處理,STM32部分中斷向量表(續(xù)),1.9中斷1.9.1 STM32的中斷通道和中斷向量處理,1.9中斷1.9.1 STM3
20、2的中斷通道和中斷向量處理,1.STM32中斷通道。 表1-8中的中斷通道分析 2.啟動代碼設(shè)置中斷向量表 代碼1-7分析 3.復(fù)位中斷的處理 代碼1-8分析,EXTI中斷 每個配置為輸入方式的GPIO引腳都可以配置成外部中斷的中斷輸入口,這點也是STM32的強(qiáng)大之處。 STM32F103的中斷控制器支持19個外部中斷/事件請求。 每個中斷設(shè)有狀態(tài)位,每個中斷/事件都有獨立的觸發(fā)和屏蔽設(shè)置,觸發(fā)請求可以是上升沿、下降沿或者雙邊沿觸發(fā)。,1.9中斷1.9.2 STM32外部中斷EXTI,ALIENTEK,中斷線的映射關(guān)系圖,1.9中斷1.9.2 STM32外部中斷EXTI,EXTI中斷 STM3
21、2F103的19個外部中斷為: EXTI線015連接到對應(yīng)外部IO口的輸入中斷 EXTI線16連接到PVD中斷 EXTI線17連接到RTC鬧鐘中斷 EXTI線18連接到USB喚醒中斷 EXTI線19連接到以太網(wǎng)喚醒中斷(F107系列) 注意:同一時間,對于不同端口同一序列的端口線,只能設(shè)置一個為中斷!,1.9中斷1.9.2 STM32外部中斷,問題: 是否可以用PA0和PB0同時作為外部中斷? 是否可以用PA0和PB1同時作為外部中斷? 為什么?,STM32支持16個中斷優(yōu)先級,使用8位中斷優(yōu)先級設(shè)置的高4位,并分為搶占優(yōu)先級(先占優(yōu)先級)和非搶占優(yōu)先級(從優(yōu)先級或響應(yīng)優(yōu)先級),搶占優(yōu)先級在前
22、,響應(yīng)優(yōu)先級在后,具體位數(shù)通過應(yīng)用程序中斷及復(fù)位控制寄存器AIRCR的優(yōu)先級分組PRIGROUP位段(AIRCR10:8)設(shè)置。,1.9中斷1.9.3 STM32中斷優(yōu)先級分組,優(yōu) 先級越高,數(shù)值越低!,1.9中斷1.9.3 STM32中斷優(yōu)先級分組,注意: 第一,如果兩個中斷的搶占優(yōu)先級和響應(yīng)優(yōu)先級都是一樣的話,則看哪個中斷先發(fā)生就先執(zhí)行; 第二,高優(yōu)先級的搶占優(yōu)先級是可以打斷正在進(jìn)行的低搶占優(yōu)先級中斷的。而搶占優(yōu)先級相同的中斷,高優(yōu)先級的響應(yīng)優(yōu)先級不可以打斷低響應(yīng)優(yōu)先級的中斷。,DMA簡介 直接存儲器存?。―MA)用來提供在外設(shè)和存儲器之間或者存儲器和存儲器之間的批量數(shù)據(jù)傳輸。DMA傳送過
23、程中無須CPU干預(yù),數(shù)據(jù)可以通過DMA快速地傳送,這就節(jié)省了CPU的資源來做其他操作 STM32的兩個DMA控制器有12個通道(DMA1有7個通道DMA2有5個通道),每個通道專門用來管理來自于一個或多個外設(shè)對存儲器訪問的請求,還有一個仲裁器來協(xié)調(diào)各個DMA請求的優(yōu)先權(quán)。,1.10 直接存儲器存取DMA,1.10 DMA1.10.1 DMA解析,1.圖1-17DMA框圖解析 2.從內(nèi)存到外設(shè)或從外設(shè)到內(nèi)存的DMA傳輸。 3.傳輸申請和仲裁。,DMA1的通道請求源,1.10 DMA 1.10.2 DMA通道和請求,在使用某一條通道時,應(yīng)盡可能做到只有一個外設(shè)的DMA請求或者時分復(fù)用。,P32表1
24、-10和表1-11,DMA仲裁機(jī)制,1.10 DMA 1.10.2 DMA通道和請求,仲裁器是用來協(xié)調(diào)各個 DMA 通道的優(yōu)先級(這里所說的優(yōu)先級指的是DMA通道的優(yōu)先級,而不是來自外設(shè)的DMA請求的優(yōu)先級)。然后,再由仲裁器根據(jù)優(yōu)先級來處理各個通道的。 通道號高,優(yōu)先級低。 同一DMA模塊可通過軟件編程設(shè)置通道優(yōu)先權(quán)。,P33圖1-18,TIM結(jié)構(gòu)和功能說明 STM32定時器: 系統(tǒng)滴答定時器SysTick,常規(guī)定時器(高級控制定時器TIM1/8、通用定時器TIM2-5、基本定時器TIM6/7 ) 。 實時鐘RTC、獨立看門狗IWDG和窗口看門狗WWDG等 高級控制定時器除了具有剎車輸入BK
25、IN、互補(bǔ)輸出CHxN和重復(fù)次數(shù)計數(shù)器外與通用定時器的主要功能基本相同,兩者都包含基本定時器的功能 實時鐘提供時鐘日歷的功能。 獨立看門狗和窗口看門狗用來檢測和解決軟件錯誤引起的故障,1.11 定時器,高級控制定時器 高級控制定時器主要由時基單元、輸入捕獲和輸出比較等部分組成 時基單元包含16位計數(shù)器CNT、16位預(yù)分頻器PSC、自動重裝載寄存器ARR和重復(fù)次數(shù)計數(shù)器RCR 時基單元是定時器的核心,也是基本定時器的主要功能單元,1.11 定時器1.11.1 STM32常規(guī)定時器,高級控制定時器 輸入捕獲包含輸入濾波器和邊沿檢測器、預(yù)分頻器和捕獲/比較寄存器等,可以測量輸入信號的周期和脈沖寬度
26、輸出比較包含捕獲/比較寄存器、死區(qū)發(fā)生器DTG和輸出控制,可以產(chǎn)生PWM等,1.11 定時器1.11.1 STM32常規(guī)定時器,計數(shù)器模式 向上計數(shù)模式:計數(shù)器從0計數(shù)到設(shè)定的數(shù)值,然后重新從0開始計數(shù)并且產(chǎn)生一個計數(shù)器溢出事件。 向下計數(shù)模式:計數(shù)器從設(shè)定的數(shù)值開始向下計數(shù)到0,然后自動從設(shè)定的數(shù)值重新向下計數(shù),并產(chǎn)生一個向下溢出事件。 中央對齊模式(向上/向下計數(shù)):計數(shù)器從0開始計數(shù)到設(shè)定的數(shù)值-1,產(chǎn)生一個計數(shù)器溢出事件,然后向下計數(shù)到1并且產(chǎn)生一個計數(shù)器下溢事件;再從0開始重新計數(shù)。,1.11 定時器1.11.1 STM32常規(guī)定時器,1.11 定時器1.11.1 STM32常規(guī)定時
27、器,STM32的常規(guī)定時器分為三類,包括 1.高級控制定時器TIM1和TIM8 2.通用定時器TIM2、TIM3、TIM4、TIM5 3.基本定時器TIM6、TIM7 三種定時器功能 P39表1-16,系統(tǒng)滴答定時器說明 Systick就是一個簡易的周期定時器,放在了NVIC中,主要目的是為了給操作系統(tǒng)提供一個硬件上的中斷(號稱滴答中斷)。 操作系統(tǒng)進(jìn)行運轉(zhuǎn)的時候,也會有“心跳”。它會根據(jù)“心跳”的節(jié)拍來工作,把整個時間段分成很多小小的時間片,每個任務(wù)每次只能運行一個“時間片”的時間長度就得退出給別的任務(wù)運行,這樣可以確保任何一個任務(wù)都不會霸占整個系統(tǒng)不放。或者把每個定時器周期的某個時間范圍賜
28、予特定的任務(wù)等,還有操作系統(tǒng)提供的各種定時功能,都與這個滴答定時器有關(guān)。因此,需要一個定時器來產(chǎn)生周期性的中斷,而且最好還讓用戶程序不能隨意訪問它的寄存器,以維持操作系統(tǒng)“心跳”的節(jié)律。只要不把它在SysTick控制及狀態(tài)寄存器中的使能位清除,就永不停息。,1.11 定時器1.11.2 系統(tǒng)滴答定時器SysTick,系統(tǒng)滴答定時器寄存器 四個寄存器: SysTick-CTRL, -控制和狀態(tài)寄存器 SysTick-LOAD, -重裝載寄存器 SysTick-VAL, -當(dāng)前值寄存器 SysTick-CALIB, -校準(zhǔn)值寄存器,1.11 定時器1.11.2 系統(tǒng)滴答定時器SysTick,1.1
29、1 定時器1.11.2 系統(tǒng)滴答定時器SysTick,1.SysTic定時器的位置和功能 2. SysTic定時器的4個寄存器 表1-12 表1-15 3. SysTic定時器編程(寄存器級別)。 P36代碼1-10. 4. SysTic定時器編程(庫函數(shù)級別)。 P36代碼1-11. 庫函數(shù)實現(xiàn)原理 P36代碼1-12,SPI結(jié)構(gòu) 串行外設(shè)接口(Serial peripheral interface:SPI)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信、交換信息。 SPI可以實現(xiàn)主設(shè)備或從設(shè)備協(xié)議,當(dāng)配置為主設(shè)備時,SPI可以連接多達(dá)16個獨立的從設(shè)備,發(fā)送數(shù)據(jù)和接
30、收數(shù)據(jù)寄存器的寬度可配置為8位或16位 SPI使用2根數(shù)據(jù)線、1根控制線和1根時鐘線實現(xiàn)串行通信 主入從出(MISO) 主出從入(MOSI) 串行時鐘(SCK) 從設(shè)備選擇(NSS),1.12 同步串行口SPI和I2C 1.12.1 SPI,1.12 同步串行口SPI和I2C 1.12.1 SPI,SPI時鐘周期 在一個SPI時鐘周期內(nèi),會完成如下操作: 1) 主機(jī)通過MOSI線發(fā)送1位數(shù)據(jù),從機(jī)通過該線讀取這1位數(shù)據(jù); 2) 從機(jī)通過MISO線發(fā)送1位數(shù)據(jù),主機(jī)通過該線讀取這1位數(shù)據(jù)。 這個SPI時鐘周期,就是SCK信號的時鐘周期。因此,該時鐘的頻率決定了SPI的傳輸速率。 SPI主從模式
31、SPI接口支持多從機(jī)模式,如圖1-19.,SPI結(jié)構(gòu) SPI由收發(fā)數(shù)據(jù)和收發(fā)控制兩部分組成 收發(fā)數(shù)據(jù)部分包括發(fā)送緩沖區(qū)、接收緩存區(qū)和移位寄存器 收發(fā)控制部分包括控制狀態(tài)寄存器、通信電路、主控制電路和波特率發(fā)生器,1.12 同步串行口SPI和I2C 1.12.1 SPI,SPI結(jié)構(gòu) NSS是一個可選的引腳功能是用作“片選引腳”用來選擇從設(shè)備,通常配置成通用I/O引腳 當(dāng)SPI連接多個從設(shè)備時MOSI、MISO和SCK連接所有的從設(shè)備,但每個從設(shè)備的NSS引腳必須連接到主設(shè)備的一個通用I/O引腳,1.12 同步串行口SPI和I2C 1.12.1 SPI,1.12 同步串行口SPI和I2C 1.12
32、.1 SPI,SPI框圖分析,1.12 同步串行口SPI和I2C 1.12.1 SPI,SPI波形圖,I2C結(jié)構(gòu) 內(nèi)部集成電路總線接口I2C是通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn),用于連接微控制器和外圍設(shè)備,連接在總線上的每個設(shè)備都有唯一的7/10位地址 I2C使用一根雙向串行數(shù)據(jù)線SDA和一根雙向串行時鐘線SCL實現(xiàn)主/從設(shè)備間的多主串行通信,1.12 同步串行口SPI和I2C 1.12.2 I2C,I2C結(jié)構(gòu) SDA和SCL的時序關(guān)系 起始條件是在SCL高電平時SDA從高電平變?yōu)榈碗娖剑?停止條件是在SCL高電平時SDA從低電平變?yōu)楦唠娖?SDA上的數(shù)據(jù)必須在SCL高電平時保持穩(wěn)定,低電平時
33、 可以改變。發(fā)送器發(fā)送數(shù)據(jù)后釋放SDA(高電平),接收器接收數(shù)據(jù)后必須在SCL低電平時將SDA變?yōu)榈碗娖剑⒃赟CL高電平時保持穩(wěn)定,作為對發(fā)送器的應(yīng)答,1.12 同步串行口SPI和I2C 1.12.2 I2C,I2C結(jié)構(gòu) 傳輸數(shù)據(jù) 發(fā)送到SDA信號線上的數(shù)據(jù)以字節(jié)為單位,每個字節(jié)必須為8位,而且是高位在前,低位在后,每次發(fā)送數(shù)據(jù)的字節(jié)數(shù)量不受限制。當(dāng)發(fā)送方發(fā)送完每一字節(jié)后,都必須等待接收方返回一個應(yīng)答響應(yīng)信號ACK。 發(fā)送器發(fā)送數(shù)據(jù)后釋放SDA(高電平),接收器接收數(shù)據(jù)后必須在SCL低電平時將SDA變?yōu)榈碗娖剑⒃赟CL高電平時保持穩(wěn)定,作為對發(fā)送器的應(yīng)答,1.12 同步串行口SPI和I2C
34、 1.12.2 I2C,1.12 同步串行口SPI和I2C 1.12.2 I2C,I2C 總線作為一個多主機(jī)的總線,可以連接多于一個能控制總線的器件到總線。主機(jī)通常是微控制器,例如STM32??紤]數(shù)據(jù)在兩個連接到I2C 總線的微控制器及三個I2C外設(shè)之間傳輸?shù)那闆r如圖P43頁1-22:,1.12 同步串行口SPI和I2C 1.12.2 I2C,1.12 同步串行口SPI和I2C 1.12.2 I2C,I2C結(jié)構(gòu) I2C由數(shù)據(jù)和時鐘兩部分組成 數(shù)據(jù)部分包括數(shù)據(jù)寄存器、數(shù)據(jù)移位寄存器和數(shù)據(jù)控制等 時鐘部分包括控制狀態(tài)寄存器、時鐘控制寄存器、控制邏輯電路和時鐘控制等,控制狀態(tài)寄存器通過控制邏輯電路等控制時鐘的行為,1.12 同步串行口SPI和I2C 1.12.2 I2C,USART簡介 Universal synchronous Asynchronous Receiver /Transmitter 它提供了一種靈活的方法與使用異步串行數(shù)據(jù)格式的外部設(shè)備
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 總經(jīng)理年會致辭15篇
- 開學(xué)典禮大會學(xué)生發(fā)言稿(5篇)
- 學(xué)校社團(tuán)活動總結(jié)(合集15篇)
- 湖南省永州市高三上學(xué)期第一次模擬考試語文試題(含答案)
- 水下自激吸氣式射流裝置沖刷特性研究
- 二零二五年度社會保險停繳合同范本(國有企業(yè))3篇
- 基于FPGA的聲紋識別系統(tǒng)研究與實現(xiàn)
- 二零二五版外專局外籍教師教學(xué)成果推廣與應(yīng)用合同規(guī)范3篇
- 融資租賃合同出租人取回權(quán)制度的法律問題研究
- 建筑與市政工程巡查結(jié)果的評估與總結(jié)
- 文檔協(xié)同編輯-深度研究
- 七年級數(shù)學(xué)新北師大版(2024)下冊第一章《整式的乘除》單元檢測習(xí)題(含簡單答案)
- 2024-2025學(xué)年云南省昆明市盤龍區(qū)高一(上)期末數(shù)學(xué)試卷(含答案)
- 五年級上冊寒假作業(yè)答案(人教版)
- 2024年財政部會計法律法規(guī)答題活動題目及答案一
- 2025年中考語文復(fù)習(xí)熱搜題速遞之說明文閱讀(2024年7月)
- 綜治工作培訓(xùn)課件
- 2024年云網(wǎng)安全應(yīng)知應(yīng)會考試題庫
- 2024年全國職業(yè)院校技能大賽高職組(智能節(jié)水系統(tǒng)設(shè)計與安裝賽項)考試題庫-下(多選、判斷題)
- 2024年廣東省事業(yè)單位考試真題及答案5
- 禪密功筑基功法
評論
0/150
提交評論