STM32單片機(jī)最小系統(tǒng)設(shè)計
序言
本文引用地址:http://www.ex-cimer.com/article/202404/457818.htm我們大多數(shù)人在學(xué)習(xí)stm32過程中都會陷入這樣一個誤區(qū)————只關(guān)注軟件代碼層面而忽視了硬件層面,簡單來說就是只會用開發(fā)板,一旦需要設(shè)計自己的stm32系統(tǒng)就無從下手。本文旨在完成stm32最小系統(tǒng)的設(shè)計。
STM32最小系統(tǒng)的組成
STM32最小系統(tǒng)簡述
STM32最小系統(tǒng),就是能讓STM32單片機(jī)能夠正常工作所必須擁有的組成部分的集合,也是STM32單片機(jī)正常運(yùn)行的必要環(huán)境。STM32最小系統(tǒng)主要組成部分有:
stm32最小系統(tǒng)包括:
1.供電電路;
2.時鐘電路;
3.下載電路;
4.復(fù)位電路;
5.BOOT啟動模式選擇。
因為STM32單片機(jī)內(nèi)部已經(jīng)集成了時鐘電路,所以STM32只需有供電和復(fù)位電路就能正常運(yùn)行。但在實際應(yīng)用中,為了使單片機(jī)的靈活性、抗干擾能力、適應(yīng)力、可調(diào)試的能力等,最小系統(tǒng)中還需帶有其它保持最小系統(tǒng)穩(wěn)定的電路。本文所述的STM32最小系統(tǒng)基于STM32F103RCT6設(shè)計。
供電電路
在設(shè)計最小系統(tǒng)的供電電路時,需先確定供電的電壓,本文所述STM32采用的供電電壓為5V的USB供電電路,單片機(jī)的工作電壓為3.3V,我們需要對電壓進(jìn)行降壓處理,因此我們采用AMS1117-3.3芯片,將5V轉(zhuǎn)換成3.3V給單片機(jī)供電。
在STM32單片機(jī)的某些使用場合中,需要較高的信噪比,所以將模擬信號和數(shù)字信號區(qū)分開,來規(guī)避彼此的影響。在實際應(yīng)用中,VDDA供電給ADC、DAC模塊,VREF+是參考電壓輸入引腳正極,VREF-是對應(yīng)的負(fù)極。VREF+與VDDA連接,VREF-與VSSA連接。
一般情況下,數(shù)字電源VDD與模擬電源VDDA之間只需要接一個簡單的低通濾波器即可(RC型、π型),而數(shù)字地和模擬地之間可以進(jìn)行簡單的隔離(即在兩者之間接一個0Ω的電阻),或者在一些要求不高的場合,直接公用地。
時鐘電路
在官方STM32數(shù)據(jù)手冊中,高速外部時鐘(HSE)可接4MHz~16MHz的晶振,我們一般接8MHz的晶振,方便進(jìn)行倍頻,在經(jīng)過PLL鎖相環(huán)倍頻輸出后,供給STM32的外設(shè)使用。下圖所示的時鐘電路組成:晶振+起振電容 +(反饋電阻MΩ級)。如不接高速外部時鐘時,OSC_IN應(yīng)接地,OSC_OUT應(yīng)懸空。
低速外部時鐘(LSE),接頻率為32.768KHz的晶振,用于提供給(RTC)實時時鐘。因為2^15=32768,在經(jīng)過寄存器設(shè)置分頻之后,能很容易地得到1Hz的頻率,實現(xiàn)精準(zhǔn)的定時,可用于計時電路(萬年歷等)。
有源晶振與無源晶振:
無源晶振:方便靈活、精度一般足夠、成本較低、需要外接起振電容
有源晶振:更穩(wěn)定、需要外接電源供電、不需要外圍輔助電路
下載電路
STM32單片機(jī)的下載方式有3種,分別是SWD(Serial Wire Debug)、JTAG(Joint Test Action Group)、ISP(in-system programming)下載電路。其中JTAG和SWD下載電路可供用戶對程序進(jìn)行在線調(diào)試。
JTAG下載電路:
SWD下載電路:
ISP一鍵下載電路:一般采用CH340G芯片實現(xiàn)轉(zhuǎn)串口,其中CH340G芯片需要單獨的震蕩電路,一般使用12MHz的晶振。該芯片將電腦的USB映射為串口使用,電腦在使用CH340G轉(zhuǎn)串口時應(yīng)安裝對應(yīng)的驅(qū)動程序。
ISP下載電路可直接使用轉(zhuǎn)串口接入單片機(jī)串口引腳實現(xiàn)相應(yīng)功能,這里就不貼電路圖了。
復(fù)位電路
在STM32運(yùn)行的過程中,為確保系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路必不可少。我們利用復(fù)位電路將STM32電路恢復(fù)到初始的狀態(tài),主要是防止程序混亂,將系統(tǒng)恢復(fù)初始狀態(tài),以便接收各種指令進(jìn)行工作。
BOOT啟動模式選擇
STM32直接通過兩個引腳BOOT0和BOOT1設(shè)置啟動模式(M3和M4):
主閃存存儲器(Flash):執(zhí)行程序;
系統(tǒng)存儲器(Bootloder):執(zhí)行串口程序下載;
內(nèi)置SRAM:執(zhí)行SRAM內(nèi)代碼。
附
STM32芯片選擇
在設(shè)計STM32系統(tǒng)時,我們在選擇使用哪款芯片時需要根據(jù)項目功能需求來選擇,再確定好項目需求之后,我們可以在st官方技術(shù)社區(qū)下載選型手冊或者下載芯片數(shù)據(jù)手冊來確定選擇哪款芯片。
一般在stm32中文數(shù)據(jù)手冊的第一頁就會有芯片資源描述,你可以根據(jù)資源介紹來選擇所需的芯片。
芯片引腳功能
在設(shè)計STM32系統(tǒng)時,我們需要根據(jù)芯片數(shù)據(jù)手冊來確認(rèn)需要使用的引腳,例如我們需要外接低速外部晶振時,我們需要在芯片手冊上找到外接晶振引腳。本文使用STM32F103RCT6芯片,所以是64腳的芯片封裝,然后找到外接晶振引腳,就是PC14、PC15。于是在繪制原理圖時就可以找到對應(yīng)引腳,連接相應(yīng)的外部電路。
評論