STM32F103 學(xué)習(xí)筆記 day13
最小系統(tǒng)包括:電源電路,晶振電路,復(fù)位電路,boot啟動(dòng)電路,下載調(diào)試電路,5部分
電源電路知識(shí)點(diǎn):

這個(gè)是可以在數(shù)據(jù)手冊(cè)里找到的。去對(duì)照著看引腳就可以了。
四類引腳:數(shù)字電源、模擬電源、參考電壓,vbat(后備電源)
數(shù)字電源:

右側(cè)的5v來(lái)自u(píng)sb,通過(guò)一個(gè)穩(wěn)壓芯片,得到一個(gè)3.3v電壓,也就是左邊那個(gè),用來(lái)給單片機(jī)供電。

這里的兩個(gè)信號(hào)之間沒(méi)有本質(zhì)區(qū)別,加兩個(gè)0R的電阻是為了維修方便
然后stm上所有的VDD都可以連到這個(gè)穩(wěn)壓產(chǎn)生的3.3v上了。(芯片設(shè)置很多VDD的原因是為了方便給更多的外設(shè)供電。)
模擬電源:

由數(shù)字電源的3.3v產(chǎn)生,經(jīng)過(guò)一個(gè)RC低通濾波器,過(guò)濾掉高頻部分,得到低頻部分,也就是VDDA。這里需要注意,畫面中上方的那個(gè)VDDA是產(chǎn)生的信號(hào),是信號(hào)源,不是輸入,而是輸出。
RC低通濾波器工作原理:


(基礎(chǔ)知識(shí)有點(diǎn)忘了,媽的)
參考電壓:
VREF是指電路中一個(gè)與負(fù)載、功率供給、溫度漂移、時(shí)間等無(wú)關(guān),能保持始終恒定的一個(gè)電壓。指測(cè)量電壓值時(shí),用作參考點(diǎn)的電壓值。在這個(gè)芯片中,用VDDA來(lái)做參考電壓的主要輸入。

右上角的VREF_SEL實(shí)際上是被短路帽短路的,本質(zhì)就是VDDA=VREF+,VREF-=gnd
所以如果不想用這個(gè)vdda作為參考電壓,就可以從排針1處引入一個(gè)自己的電壓信號(hào)(把短路帽薅下來(lái)就行了)
VBAT區(qū)域

右上角是3.3v的數(shù)字電源,正常給vbat供電,一旦上面那條路斷了(開發(fā)板斷電),下面的電池BAT就繼續(xù)為VBAT供電(紐扣電池)電壓為3v
復(fù)位電路:

還是比較好理解的。沒(méi)按下按鍵的時(shí)候,電源通過(guò)電容接地。給電容充電,reset腳為高電平,按下按鍵的時(shí)候reset接地。STM32復(fù)位一斤NRST保持低電平時(shí)間1-4.5ms即可復(fù)位。所以就復(fù)位了。
BOOT啟動(dòng)電路

其實(shí)確實(shí)沒(méi)明白boot電路的功能是什么。不過(guò)查閱資料之后大概明白了:其實(shí)就是相當(dāng)于電腦開機(jī)的時(shí)候選擇一下從那個(gè)硬盤打開

所以大概記住,目前最常用的是boot0=0就行

反映到具體電路里面,3、5引腳和4、6引腳被分別用短路帽連接起來(lái),也就相當(dāng)于boot0經(jīng)過(guò)R11接地,boot1通過(guò)R12接地。
(電路中的Header系列芯片的作用是形成2*N形式的焊盤。header是設(shè)計(jì)電路中用到的跳線焊盤,因?yàn)闀?huì)經(jīng)常用到,所以在電路版圖設(shè)計(jì)軟件中會(huì)做成一個(gè)現(xiàn)有的元件放在里面,里面都是2*N形式的焊盤。)
晶振電路:

高速為系統(tǒng)內(nèi)部提供時(shí)鐘,低速為系統(tǒng)內(nèi)部RTC提供時(shí)鐘。
啥是RTC:RTC就是芯片內(nèi)部的時(shí)鐘,real time clock
簡(jiǎn)單說(shuō),晶振和時(shí)鐘差不多的東西,晶振提供了時(shí)鐘,時(shí)鐘依靠晶振。
低速晶振:

32.768khz,這個(gè)東西是正點(diǎn)原子在STM32F103ZET6這款芯片外面自己配置的。那么為什么這么配置呢?不知道。但是如果以后你要對(duì)芯片進(jìn)行配置,需要知道這里要根據(jù)什么來(lái)選擇芯片——數(shù)據(jù)手冊(cè)。
我們來(lái)找一下數(shù)據(jù)手冊(cè)說(shuō)這個(gè)信息的位置:
直接找clock tree

在里面可以找到這個(gè):

就是這個(gè)東西:

就可以看到具體在配置外部晶振的時(shí)候應(yīng)該怎么配置了。
下載調(diào)試電路

SWD是一種下載調(diào)試電路,還有一種叫做JTAG。后面這兩種都要用到,都要學(xué)。師兄那個(gè)慣導(dǎo)的項(xiàng)目里就用了JTAG。
圖中主要用到的兩個(gè)接口就是JTMS和JTCK兩個(gè)引腳,RESET接到了剛才說(shuō)過(guò)的NRST引腳上面。所以只占用單片機(jī)的2個(gè)引腳。
這個(gè)是JTAG的

一共20個(gè)pin,9個(gè)接地,兩個(gè)接電源,剩下的9個(gè)要看清楚去接。不過(guò)這個(gè)東西是不是已經(jīng)是一種成品了,不需要研究原理,就記住會(huì)用就行??梢?jiàn),這個(gè)占用引腳數(shù)比較多(3、5、7、9、15)
還可以使用串口

圖示是一種最簡(jiǎn)單的方式:把PA9\PA10用排針印出來(lái),買USB-TTL模塊和RS232就可以完成串口下載了。
那個(gè)串口一鍵下載我覺(jué)得就不看了,以后離開開發(fā)板就沒(méi)法用了。
想研究一下什么是USB-TTL還有RS232到底是什么
什么是USB-ttl:
簡(jiǎn)單說(shuō)就是建立計(jì)算機(jī)和單片機(jī)之間的聯(lián)系的一個(gè)東西,比如型號(hào)為(CH340)這個(gè)東西
什么是RS232:
在串行通訊時(shí),要求通訊雙方都采用一個(gè)標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來(lái)進(jìn)行通訊。RS-232-C接口(又稱EIARS-232-C)是目前最常用的一種串行通訊接口。

這玩意就是RS232
IO分配
基本原則:優(yōu)先分配特定外設(shè)IO,然后分配通用IO,最后微調(diào)
特定外設(shè):SPI,I2C

這些都是特定外設(shè)
這個(gè)是不是應(yīng)該到時(shí)候仔細(xì)查看數(shù)據(jù)手冊(cè)來(lái)查找IO口使用的原則,然后進(jìn)行分配啊
是的,比如這里:

通用的GPIO就是說(shuō),有的東西每個(gè)IO口都能干,那你就隨便選一下就行。這時(shí)候的操作原則就是需要方便布線了。
微調(diào)同上。
今天先學(xué)到這里。