學點啥系列之
——STM32F103ZET6 核心板制作指引
原創資料,轉載請聯系
| 作者的話:會畫stm32F103ZET6的話,rct6啥的簡直不要太簡單 |
一、電路總覽

二、單片機部分
要做一塊核心板,首先要搞清楚自己想在這塊板子上加啥東西。
依照思路,一塊單片機最小系統,應該要有電源(三處講)、單片機本身、復位電路以及時鍾電路。
我們先從單片機本身入手,如圖 2 所示,是本次的主角,STM32F103ZET6
翻開數據手冊,查一下,如圖 3:
從數據手冊中我們可以獲知這 LQFP封裝的芯片各個引腳是什么。可能有的同學迷糊了,這些引腳都有編號(1-144),那么實際上單片機上引腳是如何對應編號的呢?
同學,先找 1 號引腳,那么 1號引腳在哪呢?找小圓點(引腳基准點)!
看看下面這張圖 4:
找小圓點,仔細看看,哎呀,居然有 3 個圓點,咱們這個左下角的那個點
才是引腳基准點,離該點最近且作為引腳直線上逆時針第一個引腳是 1 號引腳:
那么答案呼之欲出了,如圖 5 所示:
還有一個方法,那就是將芯片的絲印字符正對,左下角第一個引腳即為一號引腳,此法適用於沒有引腳基准時的判斷。
關於找 1 號腳的問題就不多說了,可以自己找資料。我們把芯片畫在原理圖上,如圖 6
所示:
此處我們將一塊 stm32f103zet6 划分為兩個部件,仔細觀察一下可以發現,我們將 VDD、VSS、VSSA、VREF+、VDDA、VSSA單獨提出來做一個部件,其實二者封裝還是共用的,AD繪制原理圖庫加部件的操作自己琢磨。這里有個有意思的地方,那就是右邊 MCU_2 處有DGND 和 AGND,它們之間用了一個 0Ω的電阻連了起來,關於數字地和模擬地之間用0Ω電阻連接的操作,同學可自行查找資料學習。此處咱們講點更有意思的內容,這里有着一堆VDD、VSS、VREF+、VSSA、VDDA、NRST、VBAT,我在此處做些解釋,防止有些同學不明白還懶。
① VCC: 學過 51 的同學都知道 51 供電引腳是個 VCC,VCC 就是接入電路的電壓。(V代表電壓,C 字母代表電路)
② VDD: 器件內部的工作電壓,咱們一般直接接 3.3V 了。(D 為 device器件的首字母,表示器件)
③VSS: 通常指電路公共接地端電壓,所以可以看到往往咱們都把其接到GND 去了。(S為 series 表示公共連接的意思)
④VDDA: 通對比 VDD 多了個A,不用想,這肯定和模擬電路有關,所以這玩意是對所有的模擬電路部分供電。需要注意的是VDDA 和 VDD 之間的電壓差不能超過 300mV,VDD 與 VDDA應該同時上電或調電,所以咱們就不自找麻煩整寫花里胡哨的電路了,這兩玩意直接連同一個電源就是了。
⑤VSSA:接地的玩意后面跟了個 A,毫無疑問,這是 VDDA的地,所以我們可以理解出來,VDDA 和 VSSA是單片機內部模擬電路的正負(電源),所以啊,你要是這兩玩意不接好,怕是不能使得單片機正常工作了。那為啥我右邊這張圖的VSSA(31號引腳)接了一個數字地呢?不該是接到模擬地嗎?那是因為我這個芯片畫錯了,這里 31號引腳是 VREF-,而不是 VSSA。但真的就是錯的?這里畫錯是有一定道理的,在VREF-可用時,必須綁定到 VSSA。
⑥VREF+、VREF-:關於這個,看到 ref,大家就應該知道這玩意是個參考電壓,結合stm32 的引腳具備 A/D 轉換的功能這點,就能清楚這玩意是用來提高 ADC精度的。在引腳數目上了 100后,為了保證更好的低電壓輸入精度,連接一個單獨的參考電壓輸入到VREF+中,VREF+輸入電壓范圍為 2.0V 到 VDDA,VREF-可用時,必須綁定到VSSA。在引腳數為 64 時,將沒有這個 VREF(實際上不是沒有,而是不引出了,VREF+、VREF-在內部被接到 VDDA、VSSA 上去了)對於 NRST 和VBAT,電路如圖 7 所示:
紅色框的是時鍾電路,藍色框的是復位電路,綠色框的是 VBAT外圍電路。時鍾電路和復位電路不多說,此處講一下這個 VBAT 外圍電路。
VBAT 的作用: 使用電池或其他電源連接到 VBAT 腳上時,當 VDD斷電時,可以保存備份寄存器的內容和維持 RTC 的功能。
圖7上的 VBAT 電路,外接 3V3 或者不外接,都有 BT1 在作用,對於VBAT外圍電路,還有更好的接法,在這里展示一下:
看圖8,這里接了兩個二極管,對比俺畫的電路,區別在於 BAT的正極也接了個二極管,分析電路可知,當 VCC3.3M 作用時,D2兩端壓差不至於導通,所以有了 VCC3.3M 作用時,備用電池就不會作用了,而 VCC3.3M斷開時,D2 滿足導通條件,BAT 作用於 VBAT。
| 該VBAT外圍電路取自博主_Charles_Chen的圖,我自己懶得畫了哈哈哈 |
三、電源和通信部分
這是個 USB 供電電路,C6、R9 是阻容網絡,接到了 USB的外殼上去(6、7、8、9引腳),目的如下:
⑴將影響外殼的噪音濾除、不影響信號地;
⑵迫使板子上電流是流入內部的信號地,而不是流到外殼。
這樣處理綜合考慮了 EMI 濾波和 ESD隔離,相比於直接接地,此類處理方式能更好減小各種干擾,增加整體的抗干擾能力,事實上USB 對 ESD 並不敏感,這種接法也是屬於有備無患,不想接的話可以直接接地或者不接,將阻容網絡去掉。
然后看一下 usb 的 D+和 D-,對應到 STM32 的 USBDP、USBDM。
USBDP(USB DataMinus)是 USB 的正信號線;
USBDM(USB Data Positive)是 USB 的負信號。
查一下數據手冊
再看C5,這是退耦電容,許多同學對濾波和退耦電容區分不清,建議查查資料了解一下,濾波主要是用於電源整流電路中,用來濾除交流成分,使得輸出的直流更加平滑(濾紋波)。
而退耦電容一般用於不需要交流的地方,用來消除自激,並接在正負極,避免由於電流的突變而使得電壓下降,這里也有濾紋波的意思。
說到濾波、退耦電容,又不得不提旁路電容,旁路電容用在有電阻連接時,接在電阻兩端使得交流信號順利通過。(具體自己查資料)
對於 PA8、R6、R7、R8、Q1,此處作用是切換 D+上拉,當 PA 高電平時 D+不上拉;PA8
低電平時 D+上拉。
一般插上電腦 USB 后的 VUSB 的電壓時 5V(實測要更低些),經過下面這個線性穩壓IC(AMS1117-3.3V)后輸出 3V3。(右邊並聯 LED 用來指示3.3V 輸出正常)
接下來是 UART 和 SWD:
至於為啥是 PA13、PA14。。。自己看數據手冊。
BOOT 就不說了,然后就是最好將芯片的各個引腳引出,一般是用排針引出:
附錄:PCB 提要
①各個引腳要注意在 Top/Bottom Overlay 層標注一下:(天藍色線框位置)
②GND 用銅加固一下,電流較大的地方把線弄粗些,必要時直接用鋪銅當導線:
③晶振要盡量靠近時鍾接口、走線盡量對稱,最好走差分線。並且晶振底部盡量不要走線:
④繪制 logo:
這種是兩層疊在一起,分別是 Top Layer 層和 Top Solder 層,自己嘗試一下吧。
| 作於 2020.10.21 上傳於2021.10.24 本文以現在眼光來看仍然有許多可優化的地方,但不影響主題,再者“心寬體益胖”,日漸惰矣 |
