基于 ARM Cortex-M3內(nèi)核的STM32系列處理器解決方案
STM32簡(jiǎn)單介紹
一、背景
如果你正為項(xiàng)目的處理器而進(jìn)行艱難的選擇:一方面抱怨16位單片機(jī)有限的指令和性能,另一方面又抱怨32位處理器的高成本和高功耗,那么,基于 ARM Cortex-M3內(nèi)核的STM32系列處理器也許能幫你解決這個(gè)問(wèn)題。使你不必在性能、成本、功耗等因素之間做出取舍和折衷。
即使你還沒(méi)有看完STM32的產(chǎn)品手冊(cè),但對(duì)于這樣一款融合ARM和ST技術(shù)的“新生兒”相信你和我一樣不會(huì)擔(dān)心這款針對(duì)16位MCU應(yīng)用領(lǐng)域 的32位處理器的性能,但是從工程的角度來(lái)講,除了芯片本身的性能和成本之外,你或許還會(huì)考慮到開(kāi)發(fā)工具的成本和廣泛度;存儲(chǔ)器的種類、規(guī)模、性能和容 量;以及各種軟件獲得的難易,我相信你看完本專題會(huì)得到一個(gè)滿意的答案。
對(duì)于在16位MCU領(lǐng)域用慣專用在線仿真器(ICE)的工程師可能會(huì)擔(dān)心開(kāi)發(fā)工具是否能夠很快的上手?開(kāi)發(fā)復(fù)雜度和整體成本會(huì)不會(huì)增加?產(chǎn)品上 市時(shí)間會(huì)不會(huì)延長(zhǎng)?沒(méi)錯(cuò),對(duì)于32位嵌入式處理器來(lái)說(shuō),隨著時(shí)鐘頻率越來(lái)越高,加上復(fù)雜的封裝形式,ICE已越來(lái)越難勝任開(kāi)發(fā)工具的工作,所以在32位嵌 入式系統(tǒng)開(kāi)發(fā)中多是采用JTAG仿真器而不是你熟悉的ICE。但是STM32采用串行單線調(diào)試和JTAG,通過(guò)JTAG調(diào)試器你可以直接從CPU獲取調(diào)試 信息,從而將使你的產(chǎn)品設(shè)計(jì)大大簡(jiǎn)化,而且開(kāi)發(fā)工具的整體價(jià)格要低于ICE,何樂(lè)而不為?
有意思的是STM32系列芯片上印有一個(gè)蝴蝶圖像,據(jù)ST微控制器產(chǎn)品部Daniel COLONNA先生說(shuō),這是代表自由度,意在給工程師一個(gè)充分的創(chuàng)意空間。我則“曲解”為預(yù)示著一種蝴蝶效應(yīng),這種蝴蝶效應(yīng)不僅會(huì)對(duì)方案提供商以及終端產(chǎn) 品供應(yīng)商帶來(lái)舉足輕重的影響,而且會(huì)引起競(jìng)爭(zhēng)對(duì)手策略的改變……翅膀已煽動(dòng),讓我們一起靜觀其變!
二、STM32市面上流通的型號(hào)
截至2010年7月1日,市面流通的型號(hào)有:
基本型:STM32F101R6,STM32F101C8,STM32F101R8,STM32F101V8 ,STM32F101RB,STM32F101VB
增強(qiáng)型:STM32F103C8,STM32F103R8,STM32F103V8,STM32F103RB,STM32F103VB,STM32F103VE,STM32F103ZE
三、STM32系列的作用
ARM公司的高性能”Cortex-M3”內(nèi)核
1.25DMips/MHz,而ARM7TDMI只有0.95DMips/MHz
一流的外設(shè)
1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻轉(zhuǎn)速度
低功耗
在72MHz時(shí)消耗36mA(所有外設(shè)處于工作狀態(tài)),待機(jī)時(shí)下降到2μA
最大的集成度
復(fù)位電路、低電壓檢測(cè)、調(diào)壓器、精確的RC振蕩器等
簡(jiǎn)單的結(jié)構(gòu)和易用的工具
四、STM32F10x重要參數(shù)
2V-3.6V供電
容忍5V的I/O管腳
優(yōu)異的安全時(shí)鐘模式
帶喚醒功能的低功耗模式
內(nèi)部RC振蕩器
內(nèi)嵌復(fù)位電路
工作溫度范圍:-40℃至+85℃或105℃
五、性能特點(diǎn)
基本型STM32F101:36MHz CPU,多達(dá)16K字節(jié)SRAM,1x12位ADC溫度傳感器
增強(qiáng)型STM32F103:72MHz CPU,多達(dá)20K字節(jié)SRAM,2x12位ADC 溫度傳感,PWM定時(shí)器,CAN,USB
六、STM32互聯(lián)型系列簡(jiǎn)介:
全新STM32互連型(Connectivity)系列微控制器增加一個(gè)全速USB(OTG)接口,使終端產(chǎn)品在連接另一個(gè)USB設(shè)備時(shí)既可以 充當(dāng)USB主機(jī)又可充當(dāng)USB從機(jī);還增加一個(gè)硬件支持IEEE1588精確時(shí)間協(xié)議(PTP)的以太網(wǎng)接口,用硬件實(shí)現(xiàn)這個(gè)協(xié)議可降低CPU開(kāi)銷,提高 實(shí)時(shí)應(yīng)用和聯(lián)網(wǎng)設(shè)備同步通信的響應(yīng)速度。
全新互連型系列還是STM32家族中首款集成兩個(gè)CAN2.0B控制器的產(chǎn)品,讓開(kāi)發(fā)人員能夠研制可連接兩條工業(yè)標(biāo)準(zhǔn)CAN(控制器區(qū)域網(wǎng))總 線的網(wǎng)關(guān)設(shè)備。此外,新系列微控制器還支持以太網(wǎng)、USB OTG和CAN2.0B外設(shè)接口同時(shí)工作,因此,開(kāi)發(fā)人員只需一顆芯片就能設(shè)計(jì)整合所有這些外設(shè)接口的網(wǎng)關(guān)設(shè)備。
STM32互連型系列產(chǎn)品強(qiáng)化了音頻性能,采用一個(gè)先進(jìn)的鎖相環(huán)機(jī)制,實(shí)現(xiàn)音頻級(jí)別的I2S通信。結(jié)合USB主機(jī)或從機(jī)功能,STM32可以從 外部存儲(chǔ)器(U盤(pán)或MP3播放器)讀取、解碼和輸出音頻信號(hào)。設(shè)計(jì)人員還可以在新系列微控制器上開(kāi)發(fā)人機(jī)界面(HMI)功能,如播放和停止按鍵,以及顯示 器界面。這個(gè)功能使其可用于各種家庭音響設(shè)備,如音響底座系統(tǒng)、鬧鐘/音樂(lè)播放器和家庭影院。
新系列產(chǎn)品整合先進(jìn)的面向連接的外設(shè),標(biāo)準(zhǔn)的STM32外設(shè)(包括一個(gè)PWM定時(shí)器),高性能的32位ARM Cortex-M3 CPU,這些特性使開(kāi)發(fā)人員可以在設(shè)備上(如家電、樓宇或工業(yè)自動(dòng)化)整合多種功能,如馬達(dá)控制、用戶界面控制和設(shè)備互連功能。其它目標(biāo)應(yīng)用包括需要聯(lián) 網(wǎng)、數(shù)據(jù)記錄或USB外設(shè)擴(kuò)展功能的系統(tǒng),如病患監(jiān)視、銷售終端機(jī)、自動(dòng)售貨機(jī)和保安系統(tǒng)。
包括新的互連型系列在內(nèi)的STM32系列微控制器具有多種配套軟件和開(kāi)發(fā)工具,其中包括意法半導(dǎo)體免費(fèi)提供的軟件庫(kù)以及第三方工具廠商的廣泛支持。意法半導(dǎo)體還將推出一個(gè)新的評(píng)估板,目前正在向大客戶提供STM32F105和STM32F107互連型系列的樣片。
七、STM32新系列產(chǎn)品的功能:
STM32互連型系列產(chǎn)品分為兩個(gè)型號(hào):STM32F105和STM32F107。STM32F105具有USB OTG 和CAN2.0B接口。STM32F107在USB OTG 和CAN2.0B接口基礎(chǔ)上增加了以太網(wǎng)10/100 MAC模塊 。片上集成的以太網(wǎng)MAC支持MII和RMII,因此,實(shí)現(xiàn)一個(gè)完整的以太網(wǎng)收發(fā)器只需一個(gè)外部PHY芯片。只使用一個(gè)25MHz晶振即可給整個(gè)微控制器 提供時(shí)鐘頻率,包括以太網(wǎng)和USB OTG外設(shè)接口。微控制器還能產(chǎn)生一個(gè)25MHz或50MHz的時(shí)鐘輸出,驅(qū)動(dòng)外部以太網(wǎng)PHY層芯片,從而為客戶節(jié)省了一個(gè)附加晶振。
音頻功能方面,新系列微控制器提供兩個(gè)I2S音頻接口,支持主機(jī)和從機(jī)兩種模式,既用作輸入又可用作輸出,分辨率為16位或32位。音頻采樣頻 率從8kHz到96kHz。利用新系列微控制器強(qiáng)大的處理性能,開(kāi)發(fā)人員可以用軟件實(shí)現(xiàn)音頻編解碼器,從而消除了對(duì)外部組件的需求。
把U盤(pán)插入微控制器的USB OTG接口,可以現(xiàn)場(chǎng)升級(jí)軟件;也可以通過(guò)以太網(wǎng)下載代碼進(jìn)行軟件升級(jí)。這個(gè)功能可簡(jiǎn)化大型系統(tǒng)網(wǎng)絡(luò)(如遠(yuǎn)程控制器或銷售終端設(shè)備)的管理和維護(hù)工作。
八、充分發(fā)揮 STM32架構(gòu)的優(yōu)勢(shì):
除新增的功能強(qiáng)化型外設(shè)接口外,STM32互連系列還提供與其它STM32微控制器相同的標(biāo)準(zhǔn)接口,這種外設(shè)共用性提升了整個(gè)產(chǎn)品家族的應(yīng)用靈 活性,使開(kāi)發(fā)人員可以在多個(gè)設(shè)計(jì)中重復(fù)使用同一個(gè)軟件。新STM32的標(biāo)準(zhǔn)外設(shè)包括10個(gè)定時(shí)器、兩個(gè)12位1-Msample/s 模數(shù)轉(zhuǎn)換器 (交錯(cuò)模式下2-Msample/s)、兩個(gè)12位數(shù)模轉(zhuǎn)換器、兩個(gè)I2C接口、五個(gè)USART接口和三個(gè)SPI端口。新產(chǎn)品外設(shè)共有12條DMA通道, 還有一個(gè)CRC計(jì)算單元,像其它STM32微控制器一樣,支持96位唯一標(biāo)識(shí)碼。
新系列微控制器還沿續(xù)了STM32產(chǎn)品家族的低電壓和節(jié)能兩大優(yōu)點(diǎn)。2.0V到3.6V的工作電壓范圍兼容主流的電池技術(shù),如鋰電池和鎳氫電 池,封裝還設(shè)有一個(gè)電池工作模式專用引腳Vbat。以72MHz頻率從閃存執(zhí)行代碼,僅消耗 27mA電流。低功耗模式共有四種,可將電流消耗降至兩微安。從低功耗模式快速啟動(dòng)也同樣節(jié)省電能;啟動(dòng)電路使用STM32內(nèi)部生成的8MHz信號(hào),將微 控制器從停止模式喚醒用時(shí)小于6微秒。
九、存儲(chǔ)器和封裝選項(xiàng):
在STM32F105和STM32F107互連型系列微控制器之前,意法半導(dǎo)體已經(jīng)推出STM32基本型系列、增強(qiáng)型系列、USB基本型系列和 增強(qiáng)型系列;新系列產(chǎn)品沿用增強(qiáng)型系列的72MHz處理頻率。內(nèi)存包括64KB到256KB閃存和 20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三種封裝,不同的封裝保持引腳排列一致性,結(jié)合STM32 平臺(tái)的設(shè)計(jì)理念,開(kāi)發(fā)人員通過(guò)選擇產(chǎn)品可重新優(yōu)化功能、存儲(chǔ)器、性能和引腳數(shù)量,以最小的硬件變化來(lái)滿足個(gè)性化的應(yīng)用需求。
STM32硬件關(guān)鍵設(shè)計(jì)精華集錦
如何保證ADC精度之STM32的ADC
共有最多3個(gè)ADC模塊,最多21個(gè)ADC輸入通道
特性
12位分辨率
自校準(zhǔn)
轉(zhuǎn)換結(jié)束,注入轉(zhuǎn)換結(jié)束和發(fā)生模擬看門(mén)狗事件時(shí)產(chǎn)生中斷
帶內(nèi)嵌數(shù)據(jù)一致的數(shù)據(jù)對(duì)齊
非常豐富的操作模式
雙重模式(帶2個(gè)或以上ADC的器件)
ADC轉(zhuǎn)換時(shí)間:
1μs:ADC時(shí)鐘為14MHz時(shí)達(dá)到最快
14個(gè)時(shí)鐘周期,轉(zhuǎn)換周期可調(diào):14、20、26、41、54、68、84、252
ADC供電要求:2.4V~3.6V
ADC輸入范圍:VREF-≤VIN≤VREF+
規(guī)則通道轉(zhuǎn)換期間有DMA請(qǐng)求產(chǎn)生
模擬看門(mén)狗
ADC輸入通道映射
STM32的雙ADC操作模式
ADC的誤差種類
(1) 理想ADC轉(zhuǎn)換曲線
?。?) 實(shí)際ADC轉(zhuǎn)換曲線
?。?) 實(shí)際ADC兩終點(diǎn)連線
ET 總誤差:實(shí)際ADC轉(zhuǎn)換曲線與理想曲線間的最 大偏離