STM32F103xx系列通用單片機

STM32F103CBT6外形圖 STM32F103RBT6引腳圖
STM32F103xx增強型系列由意法半導體集團設(shè)計,使用高性能的ARMCortex-M332位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲器(高達128K字節(jié)的閃存和20K字節(jié)的SRAM),豐富的增強I/O端口和聯(lián)接到兩條APB總線的外設(shè)。所有型號的器件都包含2個12位的ADC、3個通用16位定時器和一個PWM定時器,還包含標準和先進的通信接口:多達2個I2C和SPI、3個USART、一個USB和一個CAN。
一、結(jié)構(gòu)與功能
■內(nèi)核:ARM32位的Cortex™-M3CPU −72MHz,1.25DMips/MHz(Dhrystone2.1),0等待周期的存儲器 −支持單周期乘法和硬件除法
■存儲器 −從32K字節(jié)至512K字節(jié)的閃存程序存儲器(STM32F103xx中的第二個x表示FLASH容量,其中:“4”=16K,“6”=32K,“8”=64K,B=128K,C=256K,D=384K,E=512K) −從6K字節(jié)至64K字節(jié)的SRAM
■時鐘、復位和電源管理 −2.0至3.6伏供電和I/O管腳 −上電/斷電復位(POR/PDR)、可編程電壓監(jiān)測器(PVD) −內(nèi)嵌4至16MHz高速晶體振蕩器 −內(nèi)嵌經(jīng)出廠調(diào)校的8MHz的RC振蕩器 −內(nèi)嵌40kHz的RC振蕩器 −PLL供應(yīng)CPU時鐘 −帶校準功能的32kHzRTC振蕩器
■低功耗 −睡眠、停機和待機模式 −VBAT為RTC和后備寄存器供電
■2個12位模數(shù)轉(zhuǎn)換器,1us轉(zhuǎn)換時間(16通道) −轉(zhuǎn)換范圍:0至3.6V −雙采樣和保持功能 −溫度傳感器
■DMA −7通道DMA控制器 −支持的外設(shè):定時器、ADC、SPI、I2C和USART
■多達80個快速I/O口 −26/37/51/80個多功能雙向5V兼容的I/O口 −所有I/O口可以映像到16個外部中斷 《智能儀表》網(wǎng)絡(luò)作業(yè)
■調(diào)試模式 −串行線調(diào)試(SWD)和JTAG接口
■多達7個定時器 −多達3個16位定時器,每個定時器有多達4個用于輸入捕獲/輸出比較/PWM或脈沖計數(shù)的通道 −16位6通道高級控制定時器 −多達6路PWM輸出 −死區(qū)控制、邊緣/中間對齊波形和緊急制動 −2個看門狗定時器(獨立的和窗口型的) −系統(tǒng)時間定時器:24位自減型
■多達9個通信接口 −多達2個I2C接口(SMBus/PMBus) −多達3個USART接口,支持ISO7816,LIN,IrDA接口和調(diào)制解調(diào)控制 −多達2個SPI同步串行接口(18兆位/秒) −CAN接口(2.0B主動) −USB2.0全速接口
■ECOPACK®封裝(兼容RoHS)
二、特點概述
1. ARM®的Cortex™-M3核心
ARM的Cortex-M3處理器是最新一代的嵌入式ARM處理器,它為實現(xiàn)MCU的需要提供了低成本的平臺、縮減的管腳數(shù)目、降低的系統(tǒng)功耗,同時提供卓越的計算性能和先進的中斷系統(tǒng)響應(yīng)。
ARM的Cortex-M3是32位的RISC處理器,提供額外的代碼效率,通常在8和16位系統(tǒng)的存儲空間上得以體現(xiàn)ARM核心的高性能。 STM32F103xx增強型系列擁有內(nèi)置的ARM核心,因此它與所有的ARM工具和軟件兼容。
2. 嵌入式Flash存儲器和RAM存儲器
最新STM32F103xE型擁有高達512K字節(jié)的內(nèi)置閃存存儲器,用于存放程序和數(shù)據(jù)。 多達64KB的嵌入式SRAM可以以CPU的時鐘速度進行讀寫(不待等待狀態(tài))。
3. 模擬/數(shù)字轉(zhuǎn)換器(ADC)
STM32F103xx增強型產(chǎn)品內(nèi)嵌2個12位的模擬/數(shù)字轉(zhuǎn)換器(ADC),每個ADC有多達16個外部通道,可以實現(xiàn)單次或掃描轉(zhuǎn)換。在掃描模式下,轉(zhuǎn)換在選定的一組模擬輸入上自動進行。 ADC接口上額外的邏輯功能允許:
1)、同時采樣和保持;
2)、交叉采樣和保持;
3)、單次采樣。
模擬看門狗功能允許非常精準地監(jiān)視一路、多路或所有選中的通道,當被監(jiān)視的信號超出預置的閥值時,將產(chǎn)生中斷。由標準定時器(TIMx)和高級控制定時器(TIM1)產(chǎn)生的事件,可以分別內(nèi)部級聯(lián)到ADC的開始觸發(fā)、外部觸發(fā)和DMA觸發(fā),以使應(yīng)用程序能同步AD轉(zhuǎn)換和時鐘。
4. 可變靜態(tài)存儲器(FSMC)
FSMC嵌入在STM32F103xC,STM32F103xD,STM32F103xE中,帶有4個片選,支持一下模式:Flash、RAM、PSRAM、NOR和NAND。3個FSMC中斷線經(jīng)過OR后連接到NVIC。沒有讀/寫FIFO,除PCCARD之外,代碼都是從外部存儲器執(zhí)行,不支持Boot,目標頻率等于SYSCLK/2,所以當系統(tǒng)時鐘是72MHz時,外部訪問按照36MHz進行。
5. 嵌套矢量中斷控制器(NVIC)
可以處理43個可屏蔽中斷通道(不包括Cortex-M3的16根中斷線),提供16個中斷優(yōu)先級。緊密耦合的NVIC實現(xiàn)了更低的中斷處理延遲,直接向內(nèi)核傳遞中斷入口向量表地址,緊密耦合的NVIC內(nèi)核接口,允許中斷提前處理,對后到的更高優(yōu)先級的中斷進行處理,支持尾鏈,自動保存處理器狀態(tài),中斷入口在中斷退出時自動恢復,不需要指令干預。
6. 外部中斷/事件控制器(EXTI)
外部中斷/事件控制器由用于19條產(chǎn)生中斷/事件請求的邊沿探測器線組成。每條線可以被單獨配置用于選擇觸發(fā)事件(上升沿,下降沿,或者兩者都可以),也可以被單獨屏蔽。有一個掛起寄存器來維護中斷請求的狀態(tài)。當外部線上出現(xiàn)長度超過內(nèi)部APB2時鐘周期的脈沖時,EXTI能夠探測到。多達112個GPIO連接到16個外部中斷線。
三.時鐘和啟動
在啟動的時候還是要進行系統(tǒng)時鐘選擇,但復位的時候內(nèi)部8MHz的晶振被選用作CPU時鐘??梢赃x擇一個外部的4-16MHz的時鐘,并且會被監(jiān)視來判定是否成功。在這期間,控制器被禁止并且軟件中斷管理也隨后被禁止。同時,如果有需要(例如碰到一個間接使用的晶振失?。?,PLL時鐘的中斷管理完全可用。多個預比較器可以用于配置AHB頻率,包括高速APB(PB2)和低速APB(APB1),高速APB最高的頻率為72MHz,低速APB最高的頻率為36MHz。 Boot模式 在啟動的時候,Boot引腳被用來在3種Boot選項種選擇一種:從用戶Flash導入,從系統(tǒng)存儲器導入,從SRAM導入。Boot導入程序位于系統(tǒng)存儲器,用于通過USART1重新對Flash存儲器編程。
四.電源供電方案
VDD,電壓范圍為2.0V-3.6V,外部電源通過VDD引腳提供,用于I/O和內(nèi)部調(diào)壓器。VSSA和VDDA,電壓范圍為2.0-3.6V,外部模擬電壓輸入,用于ADC,復位模塊,RC和PLL,在VDD范圍之內(nèi)(ADC被限制在2.4V),VSSA和VDDA必須相應(yīng)連接到VSS和VDD。