STM32F5
簡介
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振蕩器等簡單的結構和易用的工具
12V-36V供電兼容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振蕩器被禁能,調壓器也被置為正?;蛘叩凸哪J?。設備可以通過外部中斷線從停止模式喚醒。外部中斷源可以使16個外部中斷線之一,PVD輸出或者TRC警告。待機模式:追求最少的功耗,內部調壓器被關閉,這樣1.8V區域斷電。PLL,HSI和HSE RC振蕩器也被關閉。在進入待機模式之后,除了備份寄存器和待機電路,SRAM和寄存器的內容也會丟失。當外部復位(NRST引腳),IWDG復位,WKUP引腳出現上升沿或者TRC警告發生時,設備退出待機模式。進入停止模式或者待機模式時,TRC,IWDG和相關的時鐘源不會停止。
STM32的輸入有4種輸入模式:
模擬輸入 GPIO_AIN
用于AD轉換
浮空輸入 GPIO_IN_FLOATING
引腳處于浮空模式,電平狀態是不確定的。外部信號輸入什么,IO口就是什么狀態。
上拉輸入 GPIO_IPU
防止IO口出現不確定的狀態,比如,當IO口懸空時,就會通過內部的上拉電阻將該點鉗位在高電平。
下拉輸入 GPIO_IPD
功能與上拉電阻類似,防止IO口出現不確定的狀態,比如,當IO口懸空時,就會通過內部的下拉電阻將該點鉗位在低電平。
STM32中空的I/O管腳是高電平還是低電平取決于具體情況。
1、IO端口復位后處于浮空狀態,也就是其電平狀態由外圍電路決定。
2、STM32上電復位瞬間I/O口的電平狀態默認是浮空輸入,因此是高阻。做到低功耗。
3、STM32的IO管腳配置口默認為浮空輸入,把選擇權留給用戶,這是一個很大的優勢:一方面浮空輸入確保不會出現用戶不希望的默認電平(此時電平取決于用戶的外圍電路);另一方面降低了功耗,因為不管是上拉還是下拉都會有電流消耗。從另一個角度來看,不管I/O管腳的默認配置如何,還是需要在輸出的管腳外加上拉或下拉,這是為了保證芯片上電期間和復位時輸出的管腳始終處于已知的電平。
4、在沒有任何操作的情況下,STM32通用推挽輸出模式的引腳默認低電平,也就是有電的狀態。所以在配置的時候通常會先把引腳的電平設置拉高,讓電路不產生電流。有電到沒電這一過程也就是引腳電平從低到高的過程。
5、STM32的I/O管腳有兩種:TTL和CMOS,所有管腳都兼容TTL和CMOS電平。也就是說從輸入識別電壓上看,所有管腳不管是TTL管腳還是CMOS管腳都可以識別TTL或CMOS電平。c
評論
查看更多