寫在前面
本文以STM32F401RCT6為例,講解單片機(jī)最小系統(tǒng)的設(shè)計(jì)方法,以及一些相關(guān)的原理。
上圖所示即為單片機(jī)最小系統(tǒng)電路,我們將其分為三個(gè)部分,即電源電路、復(fù)位電路、時(shí)鐘電路。在了解最小電路之前,我們先看看下面幾個(gè)問題
設(shè)計(jì)最小系統(tǒng)電路的時(shí)候,常常在芯片的VDD和VSS之間連接一個(gè)104電容,為什么這些電容要放得離引腳足夠近?
VDD和AVDD有什么區(qū)別?VSS和AVSS又有什么區(qū)別?
同樣是接地,為什么會(huì)有AGND和GND?為什么又會(huì)有VCC和AVCC?這些不同的電源和地在PCB設(shè)計(jì)的時(shí)候有什么注意事項(xiàng)?
為什么兩個(gè)標(biāo)上OSC的引腳上都需要接晶振?這兩個(gè)引腳有什么不同嗎?晶振的作用是什么?
復(fù)位電路是如何實(shí)現(xiàn)復(fù)位的?單片機(jī)復(fù)位的具體原理是什么?
VCAP引腳為什么需要接2.2uF電容?這跟芯片的供電有什么關(guān)系嗎?
如果這幾個(gè)問題難不倒你,那么本文的內(nèi)容你也已經(jīng)不需要再看了。如果你看懵了,那我們接下來就一個(gè)一個(gè)解決這些問題。
旁路電容和電源濾波
細(xì)心的朋友應(yīng)該也發(fā)現(xiàn)了,放置的100nF電容的數(shù)量,正好和VDD、VSS引腳的數(shù)量相同。因此,在PCB設(shè)計(jì)時(shí),需要把這些電容放置得距離芯片引腳足夠近,這些電容也被稱為旁路電容。
我們都知道,電容很重要的一個(gè)作用就是濾波,因此在供電電路中,經(jīng)常需要放置電容來濾除雜波,使得高電平的電壓值更加穩(wěn)定。因此,旁路電容的作用就是濾波。如果這些旁路電容距離單片機(jī)的VSS、VDD引腳太遠(yuǎn),就有可能導(dǎo)致濾波后的電平在傳輸過程中又產(chǎn)生了雜波,使得單片機(jī)的輸入輸出電壓參考出現(xiàn)了不準(zhǔn)確的問題。
同樣的道理,AVCC和AGND之間的電容則需要放置在AVDD和AVSS之間,那么這就需要說到模擬信號和數(shù)字信號之間電路分割的問題了。
為了防止串?dāng)_,我們在設(shè)計(jì)PCB的時(shí)候常常會(huì)將模擬信號的電路和數(shù)字信號的電路分開,并在接地處僅僅使用一根銅導(dǎo)線連接。這里也是一樣,理論上AVCC和VCC的電平是一樣的,但是只能分開供電,因?yàn)槟M信號是具有連續(xù)性的,連在一起會(huì)干擾到數(shù)字信號的電平參考。
為什么AGND和GND需要用一根銅線相連?
因?yàn)檎麄€(gè)板子需要共地。我們需要理解清楚的是,電流是從高電平流向低電平的,那么最后就必然會(huì)流回GND,而模擬信號是以不同大小的電平,數(shù)字信號卻只有高電平和低電平之分,因此,如果將整塊板子的GND都連接到一起,就會(huì)導(dǎo)致錯(cuò)誤的回流。比如,我們的外設(shè)電路中有一個(gè)ADC采樣采集到了2V的電壓,如果這個(gè)時(shí)候的高電平參考是3.3V,那么就必須防止從這個(gè)2V高電平流出來的電流流入VSS引腳,而只能讓其流入AVSS引腳。而實(shí)際上,我們又需要保證GND和AGND的電平一致,所以就采取了這種多點(diǎn)接地的方式。
時(shí)鐘電路
設(shè)計(jì)單片機(jī)的時(shí)鐘電路就必須先了解單片機(jī)時(shí)鐘信號的發(fā)生機(jī)制?!禨TM32F4xx參考手冊》中有這么一張時(shí)鐘樹
相信用過STM32CubeMX進(jìn)行工程配置的小伙伴應(yīng)該不會(huì)感到陌生。STM32可以使用三種不同的時(shí)鐘源來驅(qū)動(dòng)系統(tǒng)時(shí)鐘 (SYSCLK),即HSI振蕩器時(shí)鐘、HSE振蕩器時(shí)鐘和主PLL時(shí)鐘。對于每個(gè)時(shí)鐘源來說,在未使用時(shí)都可單獨(dú)打開或者關(guān)閉,以降低功耗。
在這個(gè)時(shí)鐘樹里面,我們可以看到下圖紅框里的四個(gè)引腳,對應(yīng)的就是我們時(shí)鐘電路的引腳。可以看到,在OSC32_IN和OSC32_OUT兩個(gè)引腳內(nèi)部,標(biāo)注的是LSEOSC 32.768kHz,在OSC_OUT和OSC_IN內(nèi)部,標(biāo)注的是4-26MHz HSE OSC。
細(xì)心的小伙伴應(yīng)該發(fā)現(xiàn)了,OSC32引腳連接的晶振剛好是32.768kHz,OSC引腳連接的晶振是8MHz,正好介于4-26MHz之間。這里就要說到單片機(jī)的HSE時(shí)鐘和LSE時(shí)鐘了
HSE時(shí)鐘
HSE為高速外部時(shí)鐘信號(High-speed external clock),該信號有兩個(gè)時(shí)鐘源
外部用戶時(shí)鐘
外部用戶時(shí)鐘是通過外部輸入占空比約為 50% 的外部時(shí)鐘信號(方波、 正弦波或三角波)來驅(qū)動(dòng) OSC_IN 引腳,同時(shí)OSC_OUT引腳保持高阻態(tài)。該方法適用于有外部時(shí)鐘源,或者有其他信號發(fā)生器能夠提供信號的情況。
外部晶振/陶瓷諧振器
這也是我們設(shè)計(jì)電路時(shí)常常采用的方法,它的特點(diǎn)是精度高。
外部晶振的頻率范圍為4MHz~26MHz,本系統(tǒng)采用8MHz石英晶體作為系統(tǒng)的外部時(shí)鐘源,該高速外部時(shí)鐘可以直接作為系統(tǒng)時(shí)鐘或者PLL輸入。
大家可能會(huì)好奇,為什么這里的晶振兩端要并聯(lián)一個(gè)1MΩ電阻呢?
在無源晶振應(yīng)用方案中,兩個(gè)外接電容能夠微調(diào)晶振產(chǎn)生的時(shí)鐘頻率。而并聯(lián)1MΩ電阻可以幫助晶振起振。因此,當(dāng)發(fā)生程序啟動(dòng)慢或不運(yùn)行時(shí),可以給晶振并聯(lián)1MΩ的電阻。這個(gè)1MΩ電阻可以增加電路中的負(fù)性阻抗,縮短了晶振起振時(shí)間,達(dá)到了晶振起振更容易之目的。
假設(shè)電路中無任何的擾動(dòng)信號,那么晶振就不可能起振。因?yàn)橐话愕碾娐范加袛_動(dòng)信號,所以許多反相門電路中都不加這個(gè)電阻,但有個(gè)別的反相門電路不加這個(gè)電阻就不能起振,因?yàn)閿_動(dòng)信號強(qiáng)度不夠。同時(shí),并聯(lián)1MΩ電阻還能夠增加振蕩電路的穩(wěn)定性,有時(shí)候也給晶振同時(shí)串聯(lián)一個(gè)100Ω的電阻,用以減少晶振的頻率偏移程度。
這里需要注意的時(shí),給晶振并聯(lián)電阻不能太小,串聯(lián)電阻不能太大。否則,在溫度較低的情況下不易起振。
LSE時(shí)鐘
LSE 晶振是 32.768 kHz 低速外部 (Low-speed external clock) 晶振或陶瓷諧振器,可作為實(shí)時(shí)時(shí)鐘外設(shè) (RTC) 的 時(shí)鐘源來提供時(shí)鐘/日歷或其它定時(shí)功能,具有功耗低且精度高的優(yōu)點(diǎn)。
與HSE時(shí)鐘類似,可以利用方波、三角波等信號驅(qū)動(dòng)OUC32_IN引腳來實(shí)現(xiàn)外部時(shí)鐘源。同樣,也可以使用32.768 kHz晶振起振來實(shí)現(xiàn)時(shí)鐘信號的發(fā)生,其電路設(shè)計(jì)方法和HSE類似。
復(fù)位電路
在STM32中,共有三種類型的復(fù)位,分別為系統(tǒng)復(fù)位、電源復(fù)位和備份域復(fù)位。關(guān)于這三種復(fù)位的方式有很多種,比如NRST引腳輸入低電平、窗口看門狗計(jì)數(shù)結(jié)束、獨(dú)立看門狗計(jì)數(shù)結(jié)束等。我們這里需要設(shè)計(jì)的電路就是NRST引腳低電平輸入電路。
有人可能會(huì)有疑惑,NRST輸入低電平的電路有什么好設(shè)計(jì)的?
的確沒什么好設(shè)計(jì)的,我們這里采取的是按鍵復(fù)位的方式,只需要讓按鍵按下后,NRST引腳電平拉低即可。唯一需要說的就是按鍵的硬件消抖,我這里放置抖動(dòng)的方法是電容濾波。同時(shí),NRST引腳需要通過一個(gè)上拉電阻,保證其在按鍵松開狀態(tài)下處于高電平。
由于我采用的芯片封裝是LQFP64,即芯片只有64個(gè)外露的引腳,因此沒有電源監(jiān)視器開關(guān)控制管腳,即PDR_ON。這里需要注意的是,在有該引腳的芯片中,當(dāng)PDR_ON接+3.3V時(shí)則為開啟電源監(jiān)視器,當(dāng)PDR_ON接GND時(shí)則為關(guān)閉電源監(jiān)視器。只有當(dāng)PDR_ON接高電平+3.3V時(shí),系統(tǒng)上電復(fù)位電路才會(huì)正常工作實(shí)現(xiàn)上電復(fù)位的功能。
嵌入式線性調(diào)壓器
嵌入式線性調(diào)壓器為備份域和待機(jī)電路以外的所有數(shù)字電路供電。調(diào)壓器輸出電壓約為 1.2 V。此調(diào)壓器需要將兩個(gè)外部電容連接到專用引腳 VCAP_1 和 VCAP_2,所有封裝都配有這兩個(gè)引腳。為激活或停用調(diào)壓器,必須將特定引腳連接到 VSS 或 VDD。具體引腳與封裝有關(guān),我們這里選的封裝是LQFP64,只有一個(gè)VCAP引腳,因此只需要連接一個(gè)電容。
查閱《STM32F4xx參考手冊》,即可知道VCAP需要連接一個(gè)2.2uF電容接地,如圖所示
審核編輯:劉清
-
單片機(jī)
+關(guān)注
關(guān)注
6032文章
44514瀏覽量
632956 -
pcb
+關(guān)注
關(guān)注
4317文章
23002瀏覽量
396235 -
STM32
+關(guān)注
關(guān)注
2266文章
10871瀏覽量
354789 -
PCB設(shè)計(jì)
+關(guān)注
關(guān)注
394文章
4670瀏覽量
85281 -
電源濾波
+關(guān)注
關(guān)注
4文章
78瀏覽量
13833 -
GND
+關(guān)注
關(guān)注
2文章
529瀏覽量
38653 -
STM32F401
+關(guān)注
關(guān)注
1文章
16瀏覽量
10467
原文標(biāo)題:【電子設(shè)計(jì)】單片機(jī)最小系統(tǒng)電路和PCB設(shè)計(jì)
文章出處:【微信號:HGL-DXP2004,微信公眾號:DXP設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論