STM32F103xx系列通用單片機(jī)

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