0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32系列成員介紹

科技綠洲 ? 來源:匯極星科技 ? 作者:匯極星科技 ? 2023-06-22 09:13 ? 次閱讀

STM32意法半導(dǎo)體 (STMicroelectronics) 公司推出的新一代基于Cortex-M內(nèi)核的32位微控制器系列。STM32以其 高性能、低功耗、一流的外設(shè) 、簡(jiǎn)單易用等特點(diǎn)在近幾年迅速發(fā)展,占領(lǐng)了很大市場(chǎng),得到了很多開發(fā)者青睞。其應(yīng)用領(lǐng)域包括電機(jī)驅(qū)動(dòng)應(yīng)用控制 ,PC游戲****外設(shè)GPS平臺(tái) ** , 編程控制器(PLC) 、 變頻器 、打印機(jī)掃描儀**等。(除了STM32,意法半導(dǎo)體公司還推出了8位微處理器STM8系列,因其高性價(jià)比也有很多開發(fā)者在使用。這里暫不介紹STM8系列)

圖片

STM32系列成員眾多,按其性能可分為入門型(F0系列),基礎(chǔ)型(F1系列),增強(qiáng)型(F3系列),高性能型(F4,F(xiàn)7等)。按內(nèi)核的不同分為Cortex-M0(F0系列),Cortex-M3(F1、F3系列),Cortex-M4(F4系列)等。一般初學(xué)者選擇F103系列較多,既能滿足學(xué)習(xí)要求,又不至于太貴。

光憑一句“高性能”可能對(duì)其性能還是沒有什么概念。下面是一個(gè)常見單片機(jī)的性能分?jǐn)?shù)對(duì)照表,可供參考。

圖片圖片圖片

對(duì)照表最下面的AT89C52就是最典型的51單片機(jī),可以看到其分?jǐn)?shù)只有2.36。而STM32F103的分?jǐn)?shù)達(dá)到了177,STM32F407更是達(dá)到了566。

近幾年,國(guó)產(chǎn)單片機(jī)也迅速崛起,在性能上已經(jīng)不輸國(guó)外。例如ESP8266、ESP32系列已經(jīng)獲得眾多單片機(jī)開發(fā)者的喜愛,不僅性能強(qiáng)大,而且自帶wifi模塊。又如對(duì)標(biāo)STM32的GD32系列,其性能也已經(jīng)不低于STM32,只是其學(xué)習(xí)資源不如STM32多。

很多人都是從51開始學(xué)習(xí)單片機(jī),大學(xué)教材也大都以51單片機(jī)為例。STM32相比于51單片機(jī),性能大幅提升,外設(shè)也更多,為了方便開發(fā),ST官方專門發(fā)布了標(biāo)準(zhǔn)外設(shè)庫,只要調(diào)用外設(shè)庫里的函數(shù)就能輕松使用各種外設(shè),而不需要對(duì)寄存器進(jìn)行直接操作。

由于STM32功能較強(qiáng),內(nèi)部寄存器復(fù)雜且多,所以使用起來也相對(duì)較麻煩。比如要給某個(gè)IO口置高電平,51單片機(jī)只要 P0^0=1; 一行程序就能實(shí)現(xiàn),但是STM32首先要調(diào)用GPIO的標(biāo)準(zhǔn)外設(shè)庫,然后進(jìn)行GPIO初始化并使能對(duì)應(yīng)的時(shí)鐘,然后才能將GPIO置位(當(dāng)然也可以直接操作寄存器,不過STM32寄存器太多,使用更不方便)。所以很多51單片機(jī)學(xué)習(xí)者剛開始學(xué)習(xí)STM32會(huì)覺得無從下手,其實(shí)只要了解了STM32的庫函數(shù),其開發(fā)就和51一樣簡(jiǎn)單,而且對(duì)于大型的項(xiàng)目開發(fā)其優(yōu)勢(shì)就體現(xiàn)出來了。學(xué)習(xí)STM32就是學(xué)習(xí)其庫函數(shù),從官方的庫函數(shù)使用手冊(cè)入手,學(xué)習(xí)起來還是很簡(jiǎn)單的。

STM32型號(hào)很多,所以有著規(guī)范的命名規(guī)則,從其型號(hào)便可知道其部分參數(shù),如產(chǎn)品類型,F(xiàn)lash容量,封裝。

圖片

文將以STM32F103C8T6這款單片機(jī)為例來介紹STM32。

從命名規(guī)則可以知道,STM32F103C8T6是STM32基礎(chǔ)型單片機(jī),采用LQFP 48 封裝,帶有64KB的Flash(閃存程序存儲(chǔ)器)。其最高工作頻率72MHz,20KB的SRAM,2個(gè)12位ADC模數(shù)轉(zhuǎn)換器),7通道DMA控制器并支持定時(shí)器、ADC、SPI、IIC等,帶有7個(gè)定時(shí)器,多達(dá)9個(gè)通信接口(2個(gè)IIC、3個(gè)USART、2個(gè)SPI、CAN接口、USB2.0)。下圖是其引腳圖。

由于引腳有限,很多IO口都是功能復(fù)用,下圖是其IO功能復(fù)用情況。

圖片

接下來詳細(xì)介紹各個(gè)外設(shè)

1.GPIO

GPIO即通用輸入輸出口,也就是我們常說的IO口。這款單片機(jī)有PA(PA0-PA15)、PB(PB0-PB15)、PC 3組IO(PC13-PC15),類似于STC89C52的P0、P1、P2口,A與B組每組16個(gè),但C組只有3個(gè)。GPIO的排列分布不像51單片機(jī)那么規(guī)則,其實(shí)是考慮到開發(fā)者需要擴(kuò)展IO時(shí)減少電路圖的更改。有些GPIO默認(rèn)是不做普通IO口的,例如PB4、PB3默認(rèn)是作為JTAG使用,PC14、PC15默認(rèn)作為RTC的晶振接口,如需作為普通IO口使用,則需要將對(duì)應(yīng)復(fù)用功能屏蔽。

2.ADC

這款單片機(jī)有兩個(gè)12位的ADC(PB0:ADC_IN8、PB1:ADC_IN9),用以將0-3.3V的電壓模擬量轉(zhuǎn)成數(shù)字量(0-2^12)。每個(gè)ADC共用多達(dá)16個(gè)外部通道, 可以實(shí)現(xiàn)單次或掃描轉(zhuǎn)換。在掃描模式下,自動(dòng)進(jìn)行在選定的一組模擬輸入上的轉(zhuǎn)換。需要注意的是,ADC的電源是獨(dú)立于供電電源的,其供電引腳為VSS-A與VDD-A,一般可以將這兩個(gè)引腳直接與3.3V電源相連。包括其他的幾組VDD和VSS,直接與3.3V電源連接即可(之所以分幾個(gè)電源,是為了提高供電穩(wěn)定性)

3.晶振

從上面的引腳圖可以看出,STM32可以外接兩個(gè)晶振。其中8M晶振就是單片機(jī)CPU運(yùn)行用的,雖然晶振頻率只有8M,但其內(nèi)部頻率最高可以達(dá)到72MHz,這得益于其內(nèi)部的分頻器,將8M震蕩頻率經(jīng)二分頻就得到了16M,經(jīng)過多次分頻就能得到更高的頻率。

下圖是其時(shí)鐘樹示意圖。

圖片

另外一個(gè)32.768kHz的低頻晶振是用于內(nèi)部 RTC時(shí)鐘 。STM32自帶RTC時(shí)鐘,類似于手機(jī)、電腦的系統(tǒng)時(shí)鐘。不知大家有沒有注意過,在我們的手機(jī)或者電腦沒有聯(lián)網(wǎng)的時(shí)候,重新開機(jī)后仍然可以顯示時(shí)間,其實(shí)這就是RTC時(shí)鐘。原理就是在手機(jī)或者電腦主電源斷電的情況下,自動(dòng)啟用后備電源(電腦的后備電源就是主板上的紐扣電池),維持RTC時(shí)鐘晶振工作,以實(shí)現(xiàn)主電源斷電下也能計(jì)時(shí)。之所以不采用8M高頻晶振作為RTC的振蕩源,是因?yàn)楦哳l晶振受溫度、制作工藝影響大而容易出現(xiàn)誤差(RTC的誤差就小得多了)。要想使用STM32的RTC,只需要給1號(hào)引腳Vbat接一個(gè)紐扣電池即可,在未接3.3V電源時(shí),會(huì)自動(dòng)使用紐扣電池供電,接了3.3V電源又會(huì)自動(dòng)切換至3.3V電源供電。因?yàn)镽TC耗電極低,所以一顆紐扣電池也足夠使用很長(zhǎng)時(shí)間。但是在主電源斷電情況下,如果紐扣電池也沒電了,內(nèi)部的時(shí)鐘時(shí)間就會(huì)丟失,再次上電就恢復(fù)成了初始時(shí)間。

關(guān)于其具體用法,以后再做詳細(xì)介紹。

4.IIC、USART、SPI通信

STM32外設(shè)豐富,支持硬件級(jí)的IIC、USART、SP通信。相比于軟件實(shí)現(xiàn)的通信,硬件級(jí)的更快,更穩(wěn)定,更方便。

IIC一般用于單片機(jī)與傳感器、顯示屏、EEPROM等外設(shè)間的數(shù)據(jù)傳輸。其IIC接口支持 7 位或 10 位尋址, 7 位從模式時(shí)支持雙從地址尋址。內(nèi)置了硬件 CRC發(fā)生器/ 校驗(yàn)器。

它們可以使用** DMA** 操作并支持 SMBus 總線 2.0 版 /PMBus 總線。

USART可用于單片機(jī)與電腦的的串口通信。USART1接口通信速率可達(dá)4.5Mbps,其他接口的通信速率可達(dá)2.25Mbps。USART接口具有硬 件的CTS和RTS信號(hào)管理、支持IrDA SIR ENDEC傳輸編解碼、兼容ISO7816的智能卡并提供LIN主/ 從功能。 所有USART接口都可以使用DMA操作。

SPI比前兩種通信擁有更快的通信速率,一般用于數(shù)據(jù)傳輸量大的場(chǎng)合,比如控制高分辨率或高刷新率的彩屏。SPI接口,在從或主模式下,全雙工和半雙工的通信速率可達(dá)18Mbps。3位的預(yù)分頻器可 產(chǎn)生8種主模式頻率,可配置成每幀8位或16位。硬件的CRC產(chǎn)生/校驗(yàn)支持基本的SD卡和MMC模式。 所有的SPI接口都可以使用DMA操作。

5.JTAG、SWD與仿真器

在STM32上有幾個(gè)接口稱為JTAG、SWD。JTAG接口(Joint Test Action Group,聯(lián)合測(cè)試工作組),是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容),主要用于芯片內(nèi)部測(cè)試?,F(xiàn)在多數(shù)的高級(jí)器件都支持JTAG協(xié)議,如DSP、FPGA器件等。標(biāo)準(zhǔn)的JTAG接口是4線:TMS(PA13)、TCK(PA14)、TDI(PA15)、TDO(PB3),分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。有了JTAG,就可以對(duì)單片機(jī)程序進(jìn)行在線調(diào)試,包括 斷點(diǎn)調(diào)試變量監(jiān) ,對(duì)于程序查錯(cuò)是非常方便。

圖片

SWD接口即串行調(diào)試(SerialWireDebug),是一種和JTAG不同的調(diào)試模式,最直接的區(qū)別是調(diào)試接口上,SWD只需要4(或者5)個(gè)引腳:3.3V、GND、SWDIO(PA13)、SWCLK(PA14)。他的SWDIO、SWCLK與JTAG的TMS、TCK復(fù)用了。

要想實(shí)現(xiàn)在線調(diào)試,還需要專門的仿真工具。常用的仿真器有J-Link、U-Link、ST-Link

J-Link其實(shí)就是一個(gè)USB轉(zhuǎn)JTAG的工具,可將電腦與JTAG端口相連。JLINK是一個(gè)通用的開發(fā)工具,可以用于KEIL、IAR、ADS 等平臺(tái)。速度,效率,功能都很好。

U-Link是ARM/KEIL公司推出的仿真器,不過現(xiàn)在能買到的都是其升級(jí)版本ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil軟件實(shí)現(xiàn)仿真功能,僅可以在Keil軟件上使用(不支持IAR、ADS等其他平臺(tái))。

ST-Link是專門針對(duì)意法半導(dǎo)體STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM標(biāo)準(zhǔn)接口和JTAG / SWD標(biāo)準(zhǔn)接口,通過ST-Link可直接將程序?qū)懭雴纹瑱C(jī)(SWIM / JTAG / SWD)以及EEPROM燒寫,當(dāng)然也也支持在線仿真,相比另外兩種,更具優(yōu)勢(shì)。所以個(gè)人非常推薦該仿真器

![圖片](https://mmbiz.qpic.cn/mmbiz_jpg/Px0x0xOsMVYtRiaptO9smicSJgxvy60V2Q2VicfibuSRLhjKryozIzmphjzxenenKFgTa4p9o1j5sK05OwYaLibja5Q/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)

6.程序開發(fā)平臺(tái)

STM32程序開發(fā)平臺(tái)主要有Keil、IAR、STM32CudeIDE等。Keil支持眾多單片機(jī)開發(fā),版本如今已更新到Keil 5。IAR相比Keil,編譯的代碼更緊湊,實(shí)際使用與Keil差不多。STM32CudeIDE是STM專門為STM32開發(fā)的IDE,但是使用還是比不上前兩種平臺(tái)

7.其他

內(nèi)部溫度傳感器:STM內(nèi)部有一個(gè)溫度傳感器,并連接到PC13,可用于監(jiān)測(cè)芯片溫度。

控制器區(qū)域網(wǎng)絡(luò)(CAN):CAN 接口兼容規(guī)范 2.0A 和 2.0B( 主動(dòng) ) ,位速率高達(dá) 1Mbps 。它可以接收和發(fā)送 11 位標(biāo)識(shí)符的標(biāo)準(zhǔn)幀, 也可以接收和發(fā)送29 位標(biāo)識(shí)符的擴(kuò)展幀。具有 3 個(gè)發(fā)送郵箱和 2 個(gè)接收 FIFO , 3 級(jí) 14 個(gè)可調(diào)節(jié)的濾波器。一般用與單片機(jī)與上位機(jī)的通信。

通用串行總線 (USB):內(nèi)嵌一個(gè)兼容全速 USB 的設(shè)備控制器,遵循全速 USB 設(shè)備 (12Mbps

) 標(biāo)準(zhǔn),端點(diǎn)可由軟件配置,具有待機(jī) / 喚醒功能。

定時(shí)器:中等容量的STM32F103xx增強(qiáng)型系列產(chǎn)品包含1個(gè)高級(jí)控制定時(shí)器、3個(gè)普通定時(shí)器,以及2個(gè)看門 狗定時(shí)器和1個(gè)系統(tǒng)嘀嗒定時(shí)器。

圖片

看門狗:用于防止程序跑偏。獨(dú)立的看門狗是基于一個(gè) 12 位的遞減計(jì)數(shù)器和一個(gè) 8 位的預(yù)分頻器,它由一個(gè)內(nèi)部獨(dú)立的 40kHz 的 RC 振蕩器提供時(shí)鐘;因?yàn)檫@個(gè)RC 振蕩器獨(dú)立于主時(shí)鐘,所以它可運(yùn)行于停機(jī)和待機(jī)模式。它可以被當(dāng) 成看門狗用于在發(fā)生問題時(shí)復(fù)位整個(gè)系統(tǒng),或作為一個(gè)自由定時(shí)器為應(yīng)用程序提供超時(shí)管理。通過 選項(xiàng)字節(jié)可以配置成是軟件或硬件啟動(dòng)看門狗。

在調(diào)試模式下,計(jì)數(shù)器可以被凍結(jié)。窗口看門狗內(nèi)有一個(gè)7 位的遞減計(jì)數(shù)器,并可以設(shè)置成自由運(yùn)行。它可以被當(dāng)成看門狗用于在發(fā)生問 題時(shí)復(fù)位整個(gè)系統(tǒng)。它由主時(shí)鐘驅(qū)動(dòng),具有早期預(yù)警中斷功能;在調(diào)試模式下,計(jì)數(shù)器可以被凍結(jié)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628326
  • STM32
    +關(guān)注

    關(guān)注

    2257

    文章

    10828

    瀏覽量

    352454
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2212

    瀏覽量

    81978
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    沙場(chǎng)點(diǎn)兵STM32微處理器全系列成員

    STM32微處理器在行業(yè)中占著不可替代的地位,集高性能、實(shí)時(shí)功能、數(shù)字信號(hào)處理、低功耗與低電壓操作等特性于一身,同時(shí)還保持了集成度高和易于開發(fā)的特點(diǎn),最重要的是,性價(jià)比高、價(jià)格便宜~~下面一起來沙場(chǎng)點(diǎn)兵STM32系列的各個(gè)
    發(fā)表于 08-18 16:54

    沙場(chǎng)點(diǎn)兵STM32微處理器全系列成員

    STM32微處理器在行業(yè)中占著不可替代的地位,集高性能、實(shí)時(shí)功能、數(shù)字信號(hào)處理、低功耗與低電壓操作等特性于一身,同時(shí)還保持了集成度高和易于開發(fā)的特點(diǎn),最重要的是,性價(jià)比高、價(jià)格便宜~~STM32系列的各個(gè)
    發(fā)表于 08-26 13:29

    沙場(chǎng)點(diǎn)兵STM32微處理器有哪些系列

    和軟件選項(xiàng),使該系列產(chǎn)品成為小型項(xiàng)目和完整平臺(tái)的理想選擇。下面我們”沙場(chǎng)點(diǎn)兵”STM32系列中全系列成員,捕捉精髓,學(xué)習(xí)技術(shù),創(chuàng)造可能
    發(fā)表于 02-19 06:26

    STM8微控制器全系列成員

    STM8有幾個(gè)系列,最近在犯愁不知道選哪個(gè)系列的,千辛萬苦在網(wǎng)上查資料,終于找到了一遍介紹STM8個(gè)系列資料的文章,現(xiàn)整理成PDF文件,為STM8選型犯愁的各位可以下載看看
    發(fā)表于 08-07 08:59 ?4次下載

    向您介紹 STM32 F3 系列

    意法半導(dǎo)體STM32F3系列 — discovery kit介紹.
    的頭像 發(fā)表于 06-22 17:10 ?5540次閱讀

    向您介紹 STM32 F2 系列

    意法半導(dǎo)體STM32 F2 系列介紹.
    的頭像 發(fā)表于 06-22 17:10 ?4493次閱讀

    向您介紹STM32 F4 系列

    意法半導(dǎo)體STM32 F4系列介紹.
    的頭像 發(fā)表于 06-22 16:50 ?8081次閱讀

    STM32家族迎來新成員 STM32G0的I/O利用率超93%

    STM32家族迎來新成員STM32G0系列,I/O利用率超93%,內(nèi)置1%精度RC振蕩器的主流型MCU。
    的頭像 發(fā)表于 01-04 09:35 ?7773次閱讀
    <b class='flag-5'>STM32</b>家族迎來新<b class='flag-5'>成員</b> <b class='flag-5'>STM32</b>G0的I/O利用率超93%

    小米A系列成為AndroidOne銷量冠軍

    小米A系列是小米參與Android One項(xiàng)目推出的重要產(chǎn)品,小米首款A(yù)ndroid One手機(jī)A1發(fā)布于2017年,在兩年時(shí)間里小米A系列成績(jī)卓越。
    的頭像 發(fā)表于 08-22 17:55 ?1711次閱讀

    Holtek推出單向發(fā)射SoC Flash MCU系列成員

    Holtek新推出Sub-1GHz OOK/FSK單向發(fā)射SoC Flash MCU系列成員BC68F2150,相較于之前推出的BC68F2130及BC68F2140,BC68F2150射頻特性一致
    的頭像 發(fā)表于 12-02 14:14 ?1909次閱讀

    STM32STM32 MCU系列介紹

    STM32-32 微控制器(MCU)家族 系列 MCU 主流級(jí)別MCU STM32 F0系列-ARM Cortex-M0入門級(jí)MCU
    發(fā)表于 11-18 18:51 ?72次下載
    【<b class='flag-5'>STM32</b>】<b class='flag-5'>STM32</b> MCU<b class='flag-5'>系列</b><b class='flag-5'>介紹</b>

    AN5155_STM32WB系列STM32Cube例程包介紹

    AN5155_STM32WB系列STM32Cube例程包介紹
    發(fā)表于 11-21 08:11 ?1次下載
    AN5155_<b class='flag-5'>STM32</b>WB<b class='flag-5'>系列</b><b class='flag-5'>STM32</b>Cube例程包<b class='flag-5'>介紹</b>

    AN5096_介紹STM32G0系列硬件開發(fā)

    AN5096_介紹STM32G0系列硬件開發(fā)
    發(fā)表于 11-21 08:11 ?4次下載
    AN5096_<b class='flag-5'>介紹</b><b class='flag-5'>STM32</b>G0<b class='flag-5'>系列</b>硬件開發(fā)

    stm32f030系列時(shí)鐘介紹

    時(shí)鐘是微處理器的驅(qū)動(dòng)力,類似人的心臟,只有不停地跳動(dòng)系統(tǒng)才能正常運(yùn)行。Stm32不同系列的時(shí)鐘基本結(jié)構(gòu)類似,就是外設(shè)有些差別。這里以stm32f030系列為例來
    的頭像 發(fā)表于 03-23 10:10 ?3368次閱讀
    <b class='flag-5'>stm32</b>f030<b class='flag-5'>系列</b>時(shí)鐘<b class='flag-5'>介紹</b>

    STM32 USB接口介紹

    以下內(nèi)容基于STM32H7系列進(jìn)行介紹,同樣適用于STM32F4/F7系列芯片。
    的頭像 發(fā)表于 05-14 15:49 ?8993次閱讀
    <b class='flag-5'>STM32</b> USB接口<b class='flag-5'>介紹</b>