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