STM32F103RCT6:
STM32F103RCT6是一種嵌入式-微控制器的集成電路(IC),32位 Cortex-M3內(nèi)核處理器,速度是72MHz,程序存儲(chǔ)器容量是256KB,程序存儲(chǔ)器類(lèi)型是FLASH,RAM容量是48K,封裝LQFP64。
STM32單片機(jī)命名規(guī)則:
STM32單片機(jī)最小系統(tǒng):
所謂單片機(jī)最小系統(tǒng),就是讓單片機(jī)能夠正常運(yùn)行,最少且必須的器件所組成的系統(tǒng)。
單片機(jī)最小系統(tǒng)上電之后,單片機(jī)可以正常復(fù)位,下載程序,除此之外沒(méi)有其他任何功能。
在最小系統(tǒng)保證正確的基礎(chǔ)上,可以依次添加其他功能模塊或器件,使之單片機(jī)具有實(shí)際功能。
STM32單片機(jī)最小系統(tǒng)包括一個(gè)復(fù)位電路和一個(gè)時(shí)鐘電路。如下圖1所示。
圖中復(fù)位電路使用的是上電復(fù)位電路,STM32單片機(jī)NRST引腳輸入低電平,則發(fā)生復(fù)位。
圖1 STM32F103單片機(jī)最小系統(tǒng)
電源引腳:
VDD是單片機(jī)的數(shù)字電源正極,VSS是數(shù)字電源負(fù)極,共有5個(gè)VDD引腳,5個(gè)VSS引腳。VDDA是單片機(jī)的模擬電源正極,負(fù)責(zé)給內(nèi)部的ADC、DAC模塊供電,VSSA是模擬電源負(fù)極。
還有一個(gè)電源引腳,就是VBAT,BAT就是Battery(電池),這個(gè)引腳用來(lái)連接電池的正極的。STM32帶RTC功能(實(shí)時(shí)時(shí)鐘),所以有VBAT引腳。
原理圖上預(yù)留了一個(gè)CR1220紐扣鋰電池,當(dāng)主電源供電存在的情況下,由系統(tǒng)中的VCC3.3給VBAT供電;
當(dāng)主電源斷電之后,由CR1220紐扣電池給STM32自帶的RTC模塊供電,從而能夠保證實(shí)時(shí)時(shí)鐘模塊在主電源掉電的情況下還能夠正常工作。
但是這樣設(shè)計(jì)的話(huà),這里有一個(gè)矛盾需要解決。如果VBAT引腳直接與VCC3.3和CR1220連接的話(huà),會(huì)存在下面問(wèn)題:
1、當(dāng)電池電壓高于3.3V,電池就會(huì)輸出電流到AMS1117,使得芯片發(fā)燙,還會(huì)很快消耗電池電量。
2、如果電池電壓低于3.3V,AMS1117產(chǎn)生的3.3V,就會(huì)給電池充電,而這種CR1220電池是不能夠充電的。
為了解決上面問(wèn)題,我們將VBAT引腳的供電電路設(shè)計(jì)如下:
D1防止電池的電流流向AMS1117,D2防止AMS1117產(chǎn)生的3.3V流向電池。
之所以這樣設(shè)計(jì),用的就是“二極管的單向?qū)ㄐ浴薄?/span>
正常產(chǎn)品設(shè)計(jì)的時(shí)候,每個(gè)電源引腳旁邊,最好放置一個(gè)0.1uF的電容濾波,用來(lái)濾除電源的噪聲雜波。
復(fù)位引腳NRST
復(fù)位就是重啟。STM32復(fù)位引腳是低電平復(fù)位,正常工作狀態(tài),復(fù)位引腳是高電平。
單片機(jī)的置位和復(fù)位,其目的都是為了把電路初始化到一個(gè)確定狀態(tài)。
復(fù)位時(shí)在單片機(jī)內(nèi)部單片機(jī)是將存儲(chǔ)設(shè)備和一些寄存器裝入生產(chǎn)廠(chǎng)商預(yù)設(shè)的一個(gè)值。一般來(lái)說(shuō),單片機(jī)復(fù)位電路的作用是把一個(gè)狀態(tài)機(jī)初始化到一個(gè)空的狀態(tài)。
單片機(jī)實(shí)現(xiàn)上電復(fù)位的原理:
當(dāng)復(fù)位電平(低電平)持續(xù)兩個(gè)機(jī)器周期以上時(shí)復(fù)位有效,系統(tǒng)上電后由于電容的充電,會(huì)保持一段時(shí)間的低電平來(lái)使單片機(jī)復(fù)位。
剛上電,電容兩端電壓為0,即低電平復(fù)位,RC電路有個(gè)充電曲線(xiàn)(即電容兩端電壓變化曲線(xiàn)),單片機(jī)識(shí)別外部電平有一個(gè)連接電壓,保證rc電路電容電壓充到單片機(jī)臨界電壓的時(shí)間在兩個(gè)機(jī)器周期以上就能滿(mǎn)足單片機(jī)復(fù)位條件;
當(dāng)3.3V電源加到VCC3.3時(shí),RC電路導(dǎo)通,NRST與地的電位差為電容與地的電位差。NRST與地的電位差只有電容充電完畢后才會(huì)達(dá)到3.3V,所以在電容的充電過(guò)程中,給芯片引腳的信號(hào)都是低電平。根據(jù)RC電路充電方程式V(t)=U+A*e-(t/RC),只要合理的選擇好R跟C的值就可以保證充電時(shí)間大于芯片復(fù)位所要求的時(shí)間。我們一般R選擇10K電阻,C選擇0.1uF電容。
晶振引腳
STM
32有兩組晶振,一組用來(lái)給單片機(jī)提供主時(shí)鐘(5:OSC_IN,6:OSC_OUT),主時(shí)鐘晶振使用8MHz的晶振(為了程序內(nèi)部倍頻方便,一般選用8MHz的晶振)。
一組用來(lái)給RTC提供時(shí)鐘(3:OSC32_IN,4:OSC32_OUT),RTC時(shí)鐘晶振,需要連接32.768K的晶振,關(guān)于為什么要用32.768KHz,大家可以去百度了解一下哈。
實(shí)際應(yīng)用中,如果不用RTC功能的話(huà),RTC的晶振不必連接。
STM32的時(shí)鐘電路又分為內(nèi)時(shí)鐘和外時(shí)鐘兩種模式。
外部時(shí)鐘是在OSC_IN和OSC_OUT之間加上一個(gè)晶振,單片機(jī)內(nèi)部振蕩器便能產(chǎn)生自激震蕩,產(chǎn)生時(shí)鐘信號(hào),在晶振的兩側(cè)加上20~30pF的瓷片電容起到了微調(diào)時(shí)鐘頻率的作用,讓頻率更加穩(wěn)定。
內(nèi)部時(shí)鐘是STM32內(nèi)部有時(shí)鐘產(chǎn)生,所以如果不用外部晶振的話(huà),也可以不用連接,內(nèi)部時(shí)鐘是用芯片內(nèi)部振蕩電路,精度不高,溫漂也較大,不需要外部振蕩器件。
BOOT引腳
STM32有兩個(gè)BOOT引腳,分別是BOOT0和BOOT1,這兩個(gè)引腳的高低電平,決定了單片機(jī)的啟動(dòng)方式和運(yùn)行方式。
第一種(BOOT1=X,BOOT0=0)啟動(dòng)方式是最常用的用戶(hù)FLASH啟動(dòng)。
默認(rèn)啟動(dòng)方式
。
第二種(BOOT1=0,BOOT0=1)啟動(dòng)方式是系統(tǒng)存儲(chǔ)器啟動(dòng)方式。STM32中自帶的BootLoader( 就是通常說(shuō)的ISP程序)就是在這種啟動(dòng)方式中,如果出現(xiàn)程序硬件錯(cuò)誤的話(huà)可以切換BOOT0=1到該模式下重新燒寫(xiě)Flash即可恢復(fù)正常。BootLoader所在區(qū)域的內(nèi)容在芯片出廠(chǎng)后沒(méi)有人能夠修改或擦除,即它是一個(gè)ROM區(qū)。
第三種(BOOT1=1,BOOT0=1)啟動(dòng)方式是STM32內(nèi)嵌的SRAM啟動(dòng)。該模式用于調(diào)試。
上面就是最小系統(tǒng)的全部?jī)?nèi)容,當(dāng)然只有上面的部分還不行,一般最小系統(tǒng)還包括下面幾部分:
電源電路:
因?yàn)?a href="/tags/STM32單片機(jī)" target="_blank">STM32單片機(jī)一般都是3.3V供電,而生活中一般常見(jiàn)的都是5V電源(電腦的USB口,手機(jī)充電器,移動(dòng)電源...),所以一般使用AMS1117-3.3V 穩(wěn)壓電源芯片將5V降壓為3.3V,該芯片的封裝一般為SOT223。
下載電路:
當(dāng)然除了上面幾部分以為,還需要一個(gè)下載電路,STM32的下載方式有如下幾種:
(1)串口下載:使用串口下載需要單片機(jī)內(nèi)有相應(yīng)的程序的支持,而系統(tǒng)存儲(chǔ)器中就放了這么一段程序,由ST 在生產(chǎn)線(xiàn)上寫(xiě)入,用于通過(guò)可用的串行接口對(duì)閃存存儲(chǔ)器進(jìn)行重新編程。(在系統(tǒng)存儲(chǔ)器啟動(dòng)模式下下載,因?yàn)樵趶S(chǎng)家提供的BootLoader中,提供了串口下載程序的固件,可以通過(guò)這個(gè)BootLoader將程序下載到系統(tǒng)的Flash中。程序燒錄在FLASH)。
注意:使用此種方式需要BOOT0=1,即需要有外部電路支持才可以實(shí)現(xiàn)串口下載。
推薦使用SWD模式下載,SWD模式只需要三個(gè)引腳(GND、SWCLK、SWDIO)即可實(shí)現(xiàn)程序的下載功能。
從今天開(kāi)始本微信公眾號(hào)正式開(kāi)通了,各位有什么想要了解的軟硬件知識(shí),各種模塊,后臺(tái)留言給我,咱們一起玩轉(zhuǎn)哈。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀(guān)點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!