詳解:STM32最小系統(tǒng)硬件組成
STM32最小系統(tǒng)硬件組成詳解
0組成:電源? ?復(fù)位? ?時鐘????調(diào)試接口? 啟動
1、電源 :一般3.3V ?LDO供電? ?加多個0.01uf去耦電容??
2、復(fù)位:有三種復(fù)位方式:上電復(fù)位、手動復(fù)位、程序自動復(fù)位
通常低電平復(fù)位:(51單片機(jī)高電平復(fù)位,電容電阻位置調(diào)換)
上電復(fù)位,在上電瞬間,電容充電,RESET出現(xiàn)短暫的低電平,該低電平持續(xù)時間由電阻和電容共同決定,計算方式如下:t = 1.1RC(固定計算公式)? 1.1*10K*0.1uF=1.1ms
需求的復(fù)位信號持續(xù)時間約在1ms左右。
手動復(fù)位:按鍵按下時,RESET和地導(dǎo)通,從而產(chǎn)生一個低電平,實現(xiàn)復(fù)位。
3、時鐘 :? ?晶振 起振電容? (反饋電阻MΩ級)? ?
如使用內(nèi)部時鐘:
對于100腳或144腳的產(chǎn)品,OSC_IN應(yīng)接地,OSC_OUT應(yīng)懸空。
2)對于少于100腳的產(chǎn)品,有2種接法:
i)OSC_IN和OSC_OUT分別通過10K電阻接地。此方法可提高EMC性。
32.768KHZ:
可選擇只接高速外部時鐘8MHZ或 既多接一個32.768MHZ的外部低速時鐘。
32.768KHZ時鐘作用:用于精準(zhǔn)計時電路? 萬年歷
通常會選擇32.768KHz的晶振,原因在于32768=2^15,而嵌入式芯片分頻設(shè)置寄存器通常是2的次冪的形式,這樣經(jīng)過15次分頻后,就很容易的1HZ的頻率。實現(xiàn)精準(zhǔn)定時。用于精準(zhǔn)計時電路萬年歷?
晶振:一般選擇8MHZ ?方便倍頻? ? ?
有源:更穩(wěn)定 成本更高 需要接電源供電? 不需要外圍電路? ? ? 3腳單線輸出??
無源:精度基本夠 方便靈活 便宜
最大區(qū)別:是否需要單獨供電
無源晶振需要外接起振電容:晶振的兩側(cè)有兩個電容
OSC——OUT不接,懸空
有源晶振
作用:
1、使晶振兩端的等效電容等于或接近于負(fù)載電容;
2、起到一定的濾波的作用,濾除晶振波形中的高頻雜波;
該起振電容的大小一般選擇10~40pF,當(dāng)然根據(jù)不同的單片機(jī)使用手冊可以具體查閱,如果手冊上沒有說明,一般選擇20pF、30pF即可,這是個經(jīng)驗值。
調(diào)整電容可微調(diào)振蕩頻率:
一般情況下,增大電容會使振蕩頻率下降,而減小電容會使振蕩頻率升高,
反饋電阻:? ?1M ?? 負(fù)反饋? ? 同時也是限流
1、連接晶振的芯片端內(nèi)部是一個線性運算放大器,將輸入進(jìn)行反向180度輸出,晶振處的負(fù)載電容電阻組成的網(wǎng)絡(luò)提供另外180度的相移;整個環(huán)路的相移360度,滿足振蕩的相位條件,
2、 晶振輸入輸出連接的電阻作用是產(chǎn)生負(fù)反饋,保證放大器工作在高增益的線性區(qū),一般在M歐級;
3、 限流的作用,防止反向器輸出對晶振過驅(qū)動,損壞晶振,有的晶振不需要是因為把這個電阻已經(jīng)集成到了晶振里面。? ? ? ? ? ? ?
?
4、啟動:? 用戶使用通常都設(shè)置成Boot0? Boot1均為0即均為低電平??
M3核的器件有3種啟動方式,M4的有4種。通過BOOT0,BOOT1的電平進(jìn)行選擇。
? ? ? ?STM32三種啟動模式對應(yīng)的存儲介質(zhì)均是芯片內(nèi)置的,它們是:
1)用戶閃存 = 芯片內(nèi)置的Flash。
2)SRAM = 芯片內(nèi)置的RAM區(qū),就是內(nèi)存啦。
3)系統(tǒng)存儲器 = 芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時在這個區(qū)域預(yù)置了一段Bootloader,就是通常說的ISP程序。這個區(qū)域的內(nèi)容在芯片出廠后沒有人能夠修改或擦除,即它是一個ROM區(qū),它是使用USART1作為通信口。
M4在上述基礎(chǔ)上又增加了可在FSMC的BANK1區(qū)域啟動。
5、調(diào)試接口:STM32有兩種調(diào)試接口,JTAG為5針,? SWD為2線串行(一共四線)
此外還有采用USB進(jìn)行程序燒寫和數(shù)據(jù)輸出:和電腦USB口連接也可以進(jìn)行小負(fù)載驅(qū)動供電。
通常采用CH340G的芯片:實現(xiàn)USB轉(zhuǎn)串口。
需要單獨的振蕩電路 12MHZ?
使用該芯片將電腦的USB映射為串口使用,? 注意電腦上應(yīng)安裝串口驅(qū)動程序,否則不能正常識別。
當(dāng)燒寫程序時,我們希望BOOT0=1,BOOT1=0。當(dāng)燒寫完成后我們希望BOOT0=0,BOOT1=0(這個模式BOOT1可以是0可以是1,這里我們讓BOOT1拉低,即整個過程BOOT1都為L接地,簡化電路設(shè)計)。
作者:alala120鏈接:https://blog.csdn.net/alala120/article/details/81266148版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。