STM32單片機(jī)詳細(xì)教學(xué)(二):STM32系列單片機(jī)的介紹

大家好,今天給大家介紹STM32系列單片機(jī),文章末尾附有本畢業(yè)設(shè)計(jì)的論文和源碼的獲取方式,可進(jìn)群免費(fèi)領(lǐng)取。

前言

STM32系列芯片是為要求高性能、低成本、低功耗的嵌入式應(yīng)用設(shè)計(jì)的ARM Cortex M0, M0+, M3, M4和M7內(nèi)核,按照內(nèi)核架構(gòu)分成不同的產(chǎn)品。其主流的產(chǎn)品有STM32F0、STM32F1和STM32F3;超低功耗產(chǎn)品STM32L0、STM32L1、STM32L4以及STM32L4+;性能產(chǎn)品STM32F2、STM32F4、STM32F7以及STM32H7。

在本文中以介紹筆者使用過的兩款單片機(jī)STM32F103ZET6以及STM32F407IG為主,此外還會(huì)介紹常用的STM32F407VET6、STM32F429IGT等單片機(jī)。

1、STM32F103ZET6

STM32F103X6是一款中等容量增強(qiáng)型,32位基于ARM核心的微控制器,它主要擁有以下特點(diǎn):

1、內(nèi)核:ARM32位CortexTM-M3 CPU,最高72MHz工作頻率,單周期乘法和硬件除法;
2、存儲(chǔ)器:64K或128K字節(jié)閃存成熟存儲(chǔ)器,高達(dá)20K字節(jié)SRAM;
3、時(shí)鐘、復(fù)位和電源管理:23.6V供電和I/O引腳,上電/斷電復(fù)位、可編程電壓監(jiān)測(cè)器,416MHz晶體振蕩器,內(nèi)嵌出廠調(diào)校8MHz振蕩器,產(chǎn)生CPU時(shí)鐘的PLL,帶校準(zhǔn)功能的32KHz RTC振蕩器;
4、低功耗:睡眠、停機(jī)和待機(jī)模式,VBAT為RTC和后備寄存器供電;
5、2個(gè)12位A/D轉(zhuǎn)換器(16個(gè)輸入通道),速度為1us:轉(zhuǎn)換范圍0~3.6V,雙采樣和保持功能,溫度傳感器;
6、DMA(直接存儲(chǔ)器訪問):7通道DMA控制器,支持定時(shí)器、ADC、SPI、IIC和USART等外設(shè);
7、多達(dá)80個(gè)快速I/O口:所有I/O口都可以映射到16個(gè)外部中斷,幾乎所有的端口均可容忍5V的輸入信號(hào);
8、調(diào)試模式:串行單線調(diào)試(SWD)和JTAG接口;
9、多達(dá)7個(gè)定時(shí)器:3個(gè)16位定時(shí)器每個(gè)定時(shí)器有多達(dá)4個(gè)用于輸入捕獲/輸出比較/PWM/脈沖計(jì)數(shù)的通道和增量編碼器輸入,1個(gè)16位帶死區(qū)控制和緊急剎車用于電機(jī)控制的PWM高級(jí)控制定時(shí)器,2個(gè)看門狗定時(shí)器(獨(dú)立型和窗口型),24位自減型計(jì)數(shù)器(系統(tǒng)時(shí)間定時(shí)器);
10、多達(dá)9個(gè)通信接口:2個(gè)IIC接口,3個(gè)USART接口,2個(gè)SPI接口,1個(gè)CAN接口,1個(gè)USB2.0全速接口;
11、ECOPACK封裝

對(duì)于STM32F103系列的系統(tǒng)結(jié)構(gòu)如下圖中所示,從這樣一個(gè)內(nèi)部資源圖中可以很清楚地看到芯片內(nèi)部的各種資源之間的連接關(guān)系,它們各自的功能如下:

1、ICode總線:將Cortex-M3內(nèi)核的指令總線與Flash指令接口相連接,指令預(yù)取在這條總線上完成;
2、DCode總線:將Cortex-M3內(nèi)核的DCode總線與Flash指令接口相連接,用以常量的加載和調(diào)試訪問;
3、Syetem總線:連接Cortex-M3內(nèi)核的系統(tǒng)總線(外設(shè)總線)到總線矩陣,總線矩陣用以協(xié)調(diào)內(nèi)核和DMA之間的訪問;
4、DMA總線:將DMA的AHB主控接口與總線矩陣相連,總線矩陣協(xié)調(diào)CPU的DCode和DMA到SRAM、閃存和外設(shè)的訪問;
5、總線矩陣:是用來(lái)協(xié)調(diào)內(nèi)核System總線和DMA主控總線之間的訪問仲裁,仲裁使用輪換算法??偩€矩陣包含4個(gè)驅(qū)動(dòng)部件(DCode、System、DMA1和DMA2總線)以及4個(gè)被動(dòng)部件(Flash接口、PSMC和AHB2APB橋)。AHB外設(shè)通過總線矩陣與系統(tǒng)總線相連,允許DMA訪問。
6、AHB/APB橋:戀歌AHB/APB橋在AHB和2個(gè)APB總線間提供同步連接。APB1操作速度限制為36MHz,APB2不限速(72MHz)。在每一次復(fù)位以后,所有除SRAM和Flash以外的外設(shè)都將被關(guān)閉,使用任意一個(gè)外設(shè)之前,必須要設(shè)置寄存器RCC_AHBENR來(lái)打開該外設(shè)的時(shí)鐘。


通過STM32內(nèi)部的多通信接口可外接的設(shè)備有:

USART接口:ESP8266 WIFI模塊、GSM模塊、藍(lán)牙模塊、GPS模塊、指紋識(shí)別模塊等;
IIC接口:OLED屏、MPU6950、EEPROM等;
SPI接口:VS1053音頻模塊、串行Flash、電阻屏等;
AD/DA接口:光敏傳感器、溫濕度傳感器、煙霧傳感器、示波器等;
CAN接口:電子調(diào)速器、以及各種CAN設(shè)備。

2、STM32F407IG

STM32F407IG是一款帶DSP和FPU的高性能基礎(chǔ)款系列,32位基于ARM核心的微控制器,它主要擁有以下特點(diǎn):

1、內(nèi)核:ARM32位CortexR-M4 CPU with FPU,最高168MHz工作頻率,ART(自適應(yīng)實(shí)時(shí)加速器),來(lái)自Flash存儲(chǔ)的允許0等待狀態(tài)(系統(tǒng)中五延時(shí)子程序時(shí),所有輸入?yún)?shù)都可以在第一時(shí)間得到響應(yīng),保證系統(tǒng)及時(shí)處理外部事件);
2、存儲(chǔ)器: 高達(dá)1MB的Flash存儲(chǔ),192+4KB的SRAM,以及包含64KB的CCM(核心耦合內(nèi)存);
3、LCD并行接口,8080/6800模式;
4、時(shí)鐘、復(fù)位和電源管理: 1.83.6V供電電源和I/O,POR\PDR、PVD和BOR,426MHz晶體振蕩器,內(nèi)部16MHz工廠調(diào)校的RC(精度為1%),具有校準(zhǔn)的內(nèi)部32KHz RC
5、低功耗: 睡眠、停機(jī)和待機(jī)模式,VBAT為RTC和后備2032位寄存器+4KB備份SRAM供電;
6、312位,2.4 MSPS A/D轉(zhuǎn)換器:高達(dá)24個(gè)通道和7.2 MSPS三重交錯(cuò)模式;
7、2*12位D/A轉(zhuǎn)換器;
8、通用DMA:16-stream DMA具有FIFO和突發(fā)支持的控制器
9、多達(dá)17個(gè)定時(shí)器:最多12個(gè)16位和2個(gè)32位定時(shí)器,最高168MHz,每個(gè)定時(shí)器最多4 IC/OC/PWM或脈沖計(jì)數(shù)器和正交(增量)編碼器輸入;
10、調(diào)試模式:串行線調(diào)試(SWD)和JTAG,Cortex-MX嵌入式跟蹤MacrocellTM ;
11、多達(dá)140個(gè)具有中斷功能的I/O端口:高達(dá)136個(gè)快速I/O、頻率高達(dá)84MHz,多達(dá)138個(gè)5V耐壓I/O;
12、多達(dá)15個(gè)通信接口:多達(dá)3個(gè)IIC接口(SMBus/PMBus),多達(dá)4個(gè)USART/UART(10.5Mbit/s),7816接口LIN、IrDA及調(diào)制解調(diào)器控制,多達(dá)3個(gè)SPI(42Mbit/s)其中2個(gè)具有多路復(fù)用器,全雙工I2S,2路CAN接口(2.0B),SDIO接口;
13、網(wǎng)絡(luò)連接:USB2.0全速設(shè)備/主機(jī)/OTG帶有片上PHY的控制器,USB2.0高速/全速具有專用功能的設(shè)備主機(jī)/OTG控制器DMA以及片上全速PHY和ULPI,具有專用DMA的10/100以太網(wǎng)MAC支持IEEE 1588V2硬件MII/RMII;
14、8至14位并行攝像頭接口,最高可達(dá)54Mbytes/s;
15、真隨機(jī)數(shù)生成器;
16、CRC計(jì)算單元;
17、96位唯一ID;
18、RTC:亞秒級(jí)精度,硬件日歷。

可以看出STM32F4系列的單片機(jī)相較于F1具備更多的硬件資源,以及更高的晶振頻率,因此它也能夠?qū)崿F(xiàn)更多更復(fù)雜的任務(wù)功能。

3、其它類型

對(duì)于其他類型的STM32系列,比較常見的有STM32F407VET6以及STM32F429IGT單片機(jī),這兩款芯片的結(jié)構(gòu)同屬于F4類型。因此在這里就不在過多解釋,主要介紹在淘寶中以這兩款芯片作為主控CPU所設(shè)計(jì)的開發(fā)板。
(1)淘寶上的某款基于F407的單片機(jī)開發(fā)板如下圖中所示,其具有板載SD卡座、RTC電池CR1220、無(wú)線通信NRF2401接口、支持FNsc液晶接口多用戶按鍵以及所有CPU-0引出的基本特性,其具體的參數(shù)如下表中所示:

內(nèi)核

Cortex-M4 32-bit TISC

特性

單周期DSP指令

工作頻率

168MH 210D MIPS/1.25 DMIP/MHz

工作電壓

1.8~3.6V

封裝

LQRP 100

存儲(chǔ)資源

512KB Flash 192+4KB SRAM

資源

3SPI、3USART、2UART、3IIC、1FSMC、1SDIO、2CAN、1USB 2.0 FS/HS控制器(帶有專用DMA)、1USB HS ULPI(用于外接USB HS PHY)、110/100 Ethemet MAC、3A/D(12位,lus,分時(shí)24道)、2D/A(12位)


(2)淘寶上正點(diǎn)原子的一款基于F429IGT芯片的單片機(jī)開發(fā)板如下圖所示,其板載STM32F429IGT6芯片,176角,1024K Flash,256K SRAM,資源有8個(gè)串口、16個(gè)定時(shí)器、3個(gè)ADC共24通道,2個(gè)DAC,2個(gè)CAN,SDIO,F(xiàn)SMC,I2C,I2S,SPI,網(wǎng)絡(luò),DCMI攝像接口,百兆易以太網(wǎng),全速USB OTG/高速USB OTG等。

完整代碼可進(jìn)群免費(fèi)領(lǐng)取?。?!

嵌入式物聯(lián)網(wǎng)的學(xué)習(xí)之路非常漫長(zhǎng),不少人因?yàn)閷W(xué)習(xí)路線不對(duì)或者學(xué)習(xí)內(nèi)容不夠?qū)I(yè)而錯(cuò)失高薪offer。不過別擔(dān)心,我為大家整理了一份150多G的學(xué)習(xí)資源,基本上涵蓋了嵌入式物聯(lián)網(wǎng)學(xué)習(xí)的所有內(nèi)容。點(diǎn)擊下方鏈接,0元領(lǐng)取學(xué)習(xí)資源,讓你的學(xué)習(xí)之路更加順暢!記得點(diǎn)贊、關(guān)注、收藏、轉(zhuǎn)發(fā)哦!

點(diǎn)擊這里找小助理0元領(lǐng)?。?/a>

the end

評(píng)論(0)