單片機(jī)最小系統(tǒng)是指用最少的電路組成單片機(jī)可以工作的系統(tǒng),,通常最小系統(tǒng)包含:電源電路,、時鐘電路,、復(fù)位電路,、調(diào)試/下載電路,對于STM32還需要啟動選擇電路,。 電源電路不同的MCU的工作電壓可能是不一樣的,比如51單片機(jī)通常為5V,,而STM32單片機(jī)通常為3.3V。因此,,通常需要查閱該MCU的數(shù)據(jù)手冊才能確定工作電壓和規(guī)范。 打開“2_官方資料”的《1_STM32F103xE數(shù)據(jù)手冊【重要】.pdf》(后簡稱,,《數(shù)據(jù)手冊》),,找到“5.1.6Power supply scheme”電源方案小結(jié),可以看到如圖 5.2.1 框圖,。 結(jié)合《數(shù)據(jù)手冊》“5.3.1 General operating conditions”的表 5.2.1 ,,可得知上圖中的各電壓值大小。
從數(shù)據(jù)手冊了解到以上知識后,,再來看看原理圖第三頁的MCU電源部分,。左邊的U1B(U1A和U1B共同組成U1,即MCU)是MCU所有電源相關(guān)引腳,,可以看到VDDA ,、VDD1 ~ VDD11、 VREF+都直接接在了VDD_3V3上(3.3V),,VSSA ,、VSS1 ~ VSS11、 VREF-都接在了GND上,,VBAT接在了VDD_BAT上,。右邊是一系列退耦電容,這些電容在Layout(PCB布局走線)時,,需要均勻分布在每組電源引腳附近,。此時,MCU電源部分符合數(shù)據(jù)手冊的要求,。 前面VDD_3V3需要外部提供給MCU,也就是通過電源適配器提供,,而一般的電源適配器通常為5V或 12V,,因此還需要電源轉(zhuǎn)換電路,將外部輸入的12V或5V轉(zhuǎn)換為3.3V,。下圖 5.2.3,、圖 5.2.4、圖 5.2.5分別為12V電源輸入電路,、12V轉(zhuǎn)5V電路,、5V轉(zhuǎn)3.3V電路,在5V轉(zhuǎn)3.3V電路中有一個紅色LED燈,,用于提示用戶整個系統(tǒng)電源正常工作,,該部分電路讀者僅作了解即可。 最后再看看RTC電源電路,,在外部12V輸入時,,VDD_3V3為3.3V,,而J5的紐扣電池約為3V,D5為肖特基二極管,,此時VDD_3V3大于紐扣電池電壓,,因此由VDD_3V3供電。當(dāng)外部12V無輸入時,,VDD_3V3為0V,, 而J5的紐扣電池約為3V,此時VDD_3V3小于紐扣電池電壓,,由紐扣電池供電,,保證RTC繼續(xù)運行,電路如圖 5.2.6 所示,。 時鐘電路MCU是一個集成芯片,,由非常復(fù)雜的數(shù)字電路和其它電路組成,需要穩(wěn)定的時鐘脈沖信號才能保證正常工作,。時鐘如同人體內(nèi)部的心臟一樣,,心臟跳動一下,推動血液流動一下,。時鐘產(chǎn)生一次,,就推動處理器執(zhí)行一下指令。除了CPU,,芯片上所有的外設(shè)(GPIO,、I2C、SPI等)都需要時鐘,,由此可見時鐘的重要性,。 芯片運行的時鐘頻率越高,芯片處理的速度越快,,但同時功耗也越高,。為了功耗和性能兼顧,微處理器一般有多個時鐘源,,同時還將時鐘分頻為多個大小,,適配不同需求的外設(shè)。 由《數(shù)據(jù)手冊》可得到如圖 5.2.7 所示的時鐘樹,,這里只關(guān)心時鐘源,,時鐘的分配使用放在后面講解。 可以看到一共有四個時鐘源: ①HSI(High Speed Internal clock signal): HSI是內(nèi)部的高速時鐘信號,,頻率8MHz,。因為是內(nèi)部提供,可以降低成本,,缺點是精度較差,。 ②HSE(High Speed External clock signal): HSE是外部的高速時鐘信號,,需要外部電路晶振,輸入頻率范圍要求為4-16MHz,。因為需要外部電路提供,,成本會增加,但精度較好,。 ③LSE(Low Speed External clock signal): LSE是外部的低速時鐘信號,,需要外部電路晶振,輸入頻率范圍要求為32.768KHz,。一般用于RTC實時時鐘,。 ④LSI(Low Speed Internal clock signal): LSI是內(nèi)部的低速RC振蕩器,頻率40KHz,。一般用于看門狗,、RTC實時時鐘等。 對于STM32F103系列的MCU,,都需要一個高速時鐘和一個低速時鐘,,而這兩個時鐘可以選擇使用內(nèi)部時鐘源節(jié)約成本,也可以選擇外部時鐘源輸入提高精度,。如果使用內(nèi)部時鐘源,,則無需設(shè)計外部電路,反之,,則需要時鐘電路,。 繼續(xù)查看《數(shù)據(jù)手冊》,可以看到如圖 5.2.8 和圖 5.2.9 所示的外部時鐘輸入?yún)⒖茧娐?。手冊上提到對于HSE,,當(dāng)晶振為8MHz時,CL1和CL2的容值范圍為5pF~25pF。REXT用于產(chǎn)生負(fù)反饋,保證放大器工作在高增益的線性區(qū),,同時也起到限流作用,通常在兆歐級,,具體由晶振決定,。 對于LSE,,當(dāng)晶振為32.768KHz時,CL1和CL2的容值范圍為5pF~15pF,。之所以選擇32.768KHz,,是因為32768=215,分頻設(shè)置寄存器通常為2n的形式,,這樣經(jīng)過15次分頻就很容易得到1Hz的頻率,。 從數(shù)據(jù)手冊了解到以上知識后,,再來看看原理圖第三頁的時鐘電路部分,如圖 5.2.10 所示,。高速時鐘和低速時鐘都可由外部提供,,且電路設(shè)計與數(shù)據(jù)手冊一致。 晶振旁的負(fù)載電容,,應(yīng)選擇高質(zhì)量陶瓷電容(NPO),,以滿足高頻率場合。在Layout(PCB布局走線)時,,晶振和負(fù)載電容,,應(yīng)盡可能的靠近MCU,以減少輸出失真和啟動時的穩(wěn)定時間,,保證振蕩器可靠工作,。 復(fù)位電路嵌入式系統(tǒng)中,由于外界環(huán)境干擾,,難免出現(xiàn)程序跑飛或死機(jī),,這時就需要復(fù)位讓MCU重新運行。查看《參考手冊》,,可見如圖 5.2.11 所示復(fù)位電路,。該電路將一個按鍵接在了NRST引腳,一旦按鍵按下,,NRST就會接地,,拉低NRST,實現(xiàn)復(fù)位,。 再來看看原理圖上的復(fù)位電路,,如圖 5.2.12 所示。當(dāng)開發(fā)板正常工作時,,VDD_3V3上拉NRST,, POWER_EN為前面12V轉(zhuǎn)5V電源芯片的使能引腳,此時被電源芯片鉗位在6.5V,。當(dāng)SW1被按下,,D1為肖特基二極管,NRST和POWER_EN都會導(dǎo)通接地,,拉低NRST和POWER_EN,,使MCU復(fù)位,同時斷開系統(tǒng)供電,。 調(diào)試/下載電路不同的MCU,,調(diào)試/下載的方式可能不一樣。比如51系列單片機(jī),,使用串口下載程序,,同時也使用仿真調(diào)試,。對于STM32,可以使用串口下載程序,,也能使用串口打印進(jìn)行簡單調(diào)試,,但STM32支持更高效的JTAG(Joint Test Action Group)調(diào)試接口和SWD(Serial Wire Debug)調(diào)試接口。 該電路比較簡單,,所涉及的引腳參考表 3.4.1,,原理圖如圖 5.2.13 所示。 啟動選擇電路不同的MCU,,啟動的方式的種類可能不一樣,。比如51系列單片機(jī),只能從內(nèi)置存儲器讀取數(shù)據(jù)啟動,,因此沒有啟動選擇的必要,。對于STM32,可以從內(nèi)置存儲器啟動(默認(rèn)),,可以從系統(tǒng)存儲器(用于從USART1下載程序),,可以從內(nèi)部SRAM啟動(調(diào)電消失,可用于調(diào)試),,出現(xiàn)多個啟動方式,,就需要啟動選擇。 STM32通過BOOT1和BOOT2引腳的電平組合進(jìn)行啟動選擇,,組合方式和電路設(shè)計如圖 5.2.14 所示,。 當(dāng)J1撥碼開關(guān)的1、4腳斷開(對應(yīng)開發(fā)板紅色撥碼開關(guān)的1號撥碼朝下),,2,、3腳任意(對應(yīng)開發(fā)板紅色撥碼開關(guān)的2號撥碼任意)。此時BOO1為0,,BOOT1任意,,開發(fā)板上電,MCU將從內(nèi)部主存儲器讀取數(shù)據(jù)啟動,,是最常用的啟動方式,。 當(dāng)J1撥碼開關(guān)的1、4腳連接(對應(yīng)開發(fā)板紅色撥碼開關(guān)的1號撥碼朝上),,2,、3腳斷開(對應(yīng)開發(fā)板紅色撥碼開關(guān)的2號撥碼朝下)。此時BOO1為1,,BOOT1為0,,開發(fā)板上電,,MCU將從系統(tǒng)存儲器讀取數(shù)據(jù)啟動,,在系統(tǒng)存儲器里面廠家燒寫的串口下載程序,,此時可以通過USART1燒寫新程序到主存儲器。 當(dāng)J1撥碼開關(guān)的1,、4腳連接(對應(yīng)開發(fā)板紅色撥碼開關(guān)的1號撥碼朝上),,2、3腳連接(對應(yīng)開發(fā)板紅色撥碼開關(guān)的2號撥碼朝上),。此時BOO1為1,,BOOT1為1,開發(fā)板上電,,MCU將直接從內(nèi)部SRAM啟動,,SRAM的燒寫次數(shù)壽命比Flash更多,可用于調(diào)試,。 各啟動模式的啟動示意圖如圖 5.2.15 所示,。通常,我們只使用主存儲器啟動即可,。從系統(tǒng)存儲器啟動,,實現(xiàn)從串口下載程序也逐漸被淘汰,STM32的高端MCU已經(jīng)不支持該方式下載,。從SRAM啟動也沒什么必要,,目前Flash的燒寫壽命次數(shù)也遠(yuǎn)遠(yuǎn)超過用戶實際燒寫次數(shù)。 【總結(jié)】本小結(jié)帶領(lǐng)讀者學(xué)習(xí)了如何讀原理圖,,也對STM32的最小系統(tǒng)有了一些了解,。后面的電路眾多,在分析某個電路時,,結(jié)合相關(guān)手冊的參考電路和說明,, 加上不斷積累,相信讀者也能靈活分析原理圖,。 |
|