走進stm32

瞭解stm32

ARM公司的高性能”Cortex-M3”內核

1.25DMips/MHz,而ARM7TDMI只有0.95DMips/MHz

流的外設

1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻轉速度

低功耗

在72MHz時消耗36mA(所有外設處於工作狀態),待機時下降到2μA

最大的集成度

復位電路、低電壓檢測、調壓器、精確的RC振盪器等

簡單的結構和易用的工具

參數

2.0V-3.6V供電

兼容5V的I/O管腳

優異的安全時鐘模式

帶喚醒功能的低功耗模式

內部RC振盪器

內嵌復位電路

工作溫度範圍:-40°C至+85°C或105°C

101性能

36MHz CPU 多達16K字節SRAM 1x12位ADC溫度傳感器

103性能

特點

內核:ARM32位Cortex-M3 CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單週期乘法和硬件除法。

存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器。

時鐘、復位和電源管理:2.0-3.6V的電源供電和I/O接口的驅動電壓。上電覆位(POR)、掉電覆位(PDR)和可編程的電壓探測器(PVD)。4-16MHz的晶振。內嵌出廠前調校的8MHz RC振盪電路。內部40 kHz的RC振盪電路。用於CPU時鐘的PLL。帶校準用於RTC的32kHz的晶振。

低功耗:3種低功耗模式:休眠,停止,待機模式。爲RTC和備份寄存器供電的VBAT。

調試模式:串行調試(SWD)和JTAG接口。

DMA:12通道DMA控制器。支持的外設:定時器,ADC,DAC,SPI,IIC和UART。

3個12位的us級的A/D轉換器(16通道):A/D測量範圍:0-3.6V。雙採樣和保持能力。片上集成一個溫度傳感器。

2通道12位D/A轉換器:STM32F103xC,STM32F103xD,STM32F103xE獨有。

最多高達112個的快速I/O端口:根據型號的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內的輸入。

最多多達11個定時器:4個16位定時器,每個定時器有4個IC/OC/PWM或者脈衝計數器。2個16位的6通道高級控制定時器:最多6個通道可用於PWM輸出。2個看門狗定時器(獨立看門狗和窗口看門狗)。Systick定時器:24位倒計數器。2個16位基本定時器用於驅動DAC。

最多多達13個通信接口:2個IIC接口(SMBus/PMBus)。5個USART接口(ISO7816接口,LIN,IrDA兼容,調試控制)。3個SPI接口(18 Mbit/s),兩個和IIS複用。CAN接口(2.0B)。USB 2.0全速接口。SDIO接口。

ECOPACK封裝:STM32F103xx系列微控制器採用ECOPACK封裝形式。

系統作用

1、集成嵌入式Flash和SRAM存儲器的ARM Cortex-M3內核。和8/16位設備相比,ARM Cortex-M3 32位RISC處理器提供了更高的代碼效率。STM32F103xx微控制器帶有一個嵌入式的ARM核,所以可以兼容所有的ARM工具和軟件。

2、嵌入式Flash存儲器和RAM存儲器:內置多達512KB的嵌入式Flash,可用於存儲程序和數據。多達64KB的嵌入式SRAM可以以CPU的時鐘速度進行讀寫(不待等待狀態)。

3、可變靜態存儲器(FSMC):FSMC嵌入在STM32F103xC,STM32F103xD,STM32F103xE中,帶有4個片選,支持四種模式:Flash,RAM,PSRAM,NOR和NAND。3個FSMC中斷線經過OR後連接到NVIC。沒有讀/寫FIFO,除PCCARD之外,代碼都是從外部存儲器執行,不支持Boot,目標頻率等於SYSCLK/2,所以當系統時鐘是72MHz時,外部訪問按照36MHz進行。

4、嵌套矢量中斷控制器(NVIC):可以處理43個可屏蔽中斷通道(不包括Cortex-M3的16根中斷線),提供16箇中斷優先級。緊密耦合的NVIC實現了更低的中斷處理延遲,直接向內核傳遞中斷入口向量表地址,緊密耦合的NVIC內核接口,允許中斷提前處理,對後到的更高優先級的中斷進行處理,支持尾鏈,自動保存處理器狀態,中斷入口在中斷退出時自動恢復,不需要指令干預。

5、外部中斷/事件控制器(EXTI):外部中斷/事件控制器由用於19條產生中斷/事件請求的邊沿探測器線組成。每條線可以被單獨配置用於選擇觸發事件(上升沿,下降沿,或者兩者都可以),也可以被單獨屏蔽。有一個掛起寄存器來維護中斷請求的狀態。當外部線上出現長度超過內部APB2時鐘週期的脈衝時,EXTI能夠探測到。多達112個GPIO連接到16個外部中斷線。

6、時鐘和啓動:在啓動的時候還是要進行系統時鐘選擇,但復位的時候內部8MHz的晶振被選用作CPU時鐘。可以選擇一個外部的4-16MHz的時鐘,並且會被監視來判定是否成功。在這期間,控制器被禁止並且軟件中斷管理也隨後被禁止。同時,如果有需要(例如碰到一個間接使用的晶振失敗),PLL時鐘的中斷管理完全可用。多個預比較器可以用於配置AHB頻率,包括高速APB(PB2)和低速APB(APB1),高速APB最高的頻率爲72MHz,低速APB最高的頻率爲36MHz。

7、Boot模式:在啓動的時候,Boot引腳被用來在3種Boot選項種選擇一種:從用戶Flash導入,從系統存儲器導入,從SRAM導入。Boot導入程序位於系統存儲器,用於通過USART1重新對Flash存儲器編程。

8、電源供電方案:VDD ,電壓範圍爲2.0V-3.6V,外部電源通過VDD引腳提供,用於I/O和內部調壓器。VSSA和VDDA,電壓範圍爲2.0-3.6V,外部模擬電壓輸入,用於ADC,復位模塊,RC和PLL,在VDD範圍之內(ADC被限制在2.4V),VSSA和VDDA必須相應連接到VSS和VDD。VBAT,電壓範圍爲1.8-3.6V,當VDD無效時爲RTC,外部32KHz晶振和備份寄存器供電(通過電源切換實現)。

9、電源管理:設備有一個完整的上電覆位(POR)和掉電覆位(PDR)電路。這條電路一直有效,用於確保從2V啓動或者掉到2V的時候進行一些必要的操作。當VDD低於一個特定的下限VPOR/PDR時,不需要外部復位電路,設備也可以保持在復位模式。設備特有一個嵌入的可編程電壓探測器(PVD),PVD用於檢測VDD,並且和VPVD限值比較,當VDD低於VPVD或者VDD大於VPVD時會產生一箇中斷。中斷服務程序可以產生一個警告信息或者將MCU置爲一個安全狀態。PVD由軟件使能。

10、電壓調節:調壓器有3種運行模式:主(MR),低功耗(LPR)和掉電。MR用在傳統意義上的調節模式(運行模式),LPR用在停止模式,掉電用在待機模式:調壓器輸出爲高阻,核心電路掉電,包括零消耗(寄存器和SRAM的內容不會丟失)。

11、低功耗模式:STM32F103xx支持3種低功耗模式,從而在低功耗,短啓動時間和可用喚醒源之間達到一個最好的平衡點。休眠模式:只有CPU停止工作,所有外設繼續運行,在中斷/事件發生時喚醒CPU;停止模式:允許以最小的功耗來保持SRAM和寄存器的內容。1.8V區域的時鐘都停止,PLL,HSI和HSE RC振盪器被禁能,調壓器也被置爲正常或者低功耗模式。設備可以通過外部中斷線從停止模式喚醒。外部中斷源可以使16個外部中斷線之一,PVD輸出或者TRC警告。待機模式:追求最少的功耗,內部調壓器被關閉,這樣1.8V區域斷電。PLL,HSI和HSE RC振盪器也被關閉。在進入待機模式之後,除了備份寄存器和待機電路,SRAM和寄存器的內容也會丟失。當外部復位(NRST引腳),IWDG復位,WKUP引腳出現上升沿或者TRC警告發生時,設備退出待機模式。進入停止模式或者待機模式時,TRC,IWDG和相關的時鐘源不會停止。

STM32型號的說明:

以STM32F103RBT6這個型號的芯片爲例,該型號的組成爲7個部分,其命名規則如下:

STM32 STM32代表ARM Cortex-M內核的32位量控制器
F F代表芯片子系列
103 代表增強型系列
R R這一項代表引腳數,其中T代表36腳,C代表48腳,R代表64腳,V代表100腳,Z代表144腳,I代表176腳。
B B這一項代表內嵌Flash容量,其中6代表32K字節Flash,8代表64K字節Flash,B代表128K字節Flash,C代表256K字節Flash,D代表384K字節Flash,E代表512K字節Flash,G代表1M字節Flash。
T T這一項代表封裝,其中H代表BGA封裝,T代表LQFP封裝,U代表VFQFPN封裝。
6 6這一項代表工作溫度範圍,其中6代表-40——85℃,7代表-40——105℃。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章