STM32F103C8T6核心板
一、STM32F103C8T6芯片
1.1 STM32F103C8T6簡(jiǎn)介
? STM32F103C8T6是一款由意法半導(dǎo)體公司(ST)推出的基于Cortex-M3內(nèi)核的32位微控制器,硬件采用LQFP48封裝。
? 具體參數(shù)為:
- 64K x 8bit的Flash
- 20K x 8bit的SRAM
- 37個(gè)GPIO,分別為PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD1
- 2個(gè)12bit ADC合計(jì)12路通道,外部通道:PA0到PA7以及PB0到PB1。內(nèi)部通道:溫度傳感器通道ADC_Channel_16和內(nèi)部參考電壓通道ADC_Channel_17
- 4個(gè)16bit定時(shí)器/計(jì)數(shù)器,分別為TIM1、TIM2、TIM3、TIM4
- 2個(gè)看門狗定時(shí)器(獨(dú)立看門狗IWDG、窗口看門狗WWDG)
- 1個(gè)24bit向下計(jì)數(shù)的滴答定時(shí)器systick
- 2個(gè)IIC,2個(gè)SPI,3個(gè)USART,1個(gè)CAN
- 內(nèi)部8MHz時(shí)鐘HSI最高可倍頻到64MHz,外部8MHz時(shí)鐘HSE最高可倍頻到72MHz
? Cortex-M3是ARM公司推出的基于ARMv7架構(gòu)的MCU內(nèi)核,ST公司在此內(nèi)核的基礎(chǔ)上完成了USART、DMA、GPIO等外圍電路的設(shè)計(jì)。
? ST系列家族:
? 相同系列的內(nèi)核一般相同,如F1系列都采用Cortex-M3內(nèi)核開發(fā),但根據(jù)Flash大小不同可將STM32分成小容量產(chǎn)品(<64K)、中等容量產(chǎn)品(介于64K-128K)、大容量產(chǎn)品3個(gè)部分
? Cortex-M3摒棄了馮· 諾依曼結(jié)構(gòu)(普林斯頓結(jié)構(gòu)),采用了將指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開的 的哈佛結(jié)構(gòu)(Harvard Architecture ),這樣一來Cortex-M3同時(shí)擁有了獨(dú)立的32-bit指令總線和32-bit數(shù)據(jù)總線,數(shù)據(jù)訪問將不再占用指令總線,同時(shí)讀取指令和數(shù)據(jù)后提升了MCU運(yùn)行速度。
? Cortex-M3是一個(gè) 32 位處理器內(nèi)核,正因如此,STM32才被稱作為32-bit微控制器,他擁有32條地址總線,也就是說最大尋址空間為4Gbyte。此外,Cortex-M3的寄存器是32 位的,存儲(chǔ)器接口也是 32 位的
1.2 芯片引腳說明
二、去耦電路
2.1 原理圖設(shè)計(jì)
2.2 原理分析
2.2.1 結(jié)論
-
在電源管腳上放置一個(gè)104(0.1μF)的電容能夠有效抑制電源上的噪聲,也就是能夠?qū)﹄娫丛肼暼ヱ睿?/p>
-
“電源 – 去耦電容 – 地”三點(diǎn)一線的距離越近,則去耦的效果越好
-
相同材料的電容,即便電容容量減少為1/10,去耦的效果并不會(huì)有什么明顯變化,我們對(duì)于高頻去耦用同樣封裝的器件,容值為0.01μF、0.1μF、1μF效果相差不大
-
同樣容值,貼片(SMD)封裝的電容比穿孔的電容效果更好,原因就是穿孔電容的管腳等效的電感要大很多,影響了去耦的效果;
2.2.2 去耦效果圖
?
2.2.3 放置距離問題
-
容值最小的電容,有最高的諧振頻率,去耦半徑最小,因此放在最靠近芯片的位置。
-
容值稍大些的可以距離稍遠(yuǎn),最外層放置容值最大的。但是,所有對(duì)該芯片去耦的電容都盡量靠近芯片
2.2.3 放置位置問題
? 針對(duì)于高速的PCB設(shè)計(jì)時(shí),電容最好是放置在芯片的同一側(cè),去耦的效果更好;而如果是MCU類型的去耦電容,那么放置背面和正面的區(qū)別不大。
?
2.3 PCB設(shè)計(jì)示例
?
三、晶振電路
3.1 原理圖設(shè)計(jì)
? 晶振的選擇:
? 查看STM32系列的數(shù)據(jù)手冊(cè):
? 可知:
CL = CL1 x CL2 / (CL1 + CL2) + Cstray
Cstray的值為2pf~7pf的范圍
而CL可以根據(jù)晶振的數(shù)據(jù)手冊(cè)可知:
? 我們這里選擇的是16pf的CL
? 然后我們一般設(shè)置CL1 = CL2,而選擇Cstray為5pf
? 之后根據(jù)計(jì)算可得,CL1 = CL2 = 22pf,所以我們8MHZ晶振的匹配電容就選擇為22pf
? 而對(duì)于32.768KHZ的外部晶振而言,根據(jù)STM32芯片數(shù)據(jù)手冊(cè)中關(guān)于外部低速晶振的描述,強(qiáng)烈建議使用具有負(fù)載電容CL <= 7 pF的諧振器。切勿使用負(fù)載電容為12.5 pF的諧振器。
? 因此我們選擇CL = 6pF,Cstray=2pf,所以選擇CL1 = CL2 = 8pF
3.2 原理分析
? STM32內(nèi)部自身就有三個(gè)時(shí)鐘源,這個(gè)看過32手冊(cè)時(shí)鐘樹的都會(huì)有一定的了解,在32芯片的時(shí)鐘樹中需要有五個(gè)時(shí)鐘源,我們PCB需要放置的便是外部高速時(shí)鐘和外部低速時(shí)鐘。
? 高速外部時(shí)鐘,可接石英/陶瓷諧振器,或者接外部時(shí)鐘源,頻率范圍為4MHz~16MHz。一般設(shè)置的為8MHZ的晶振,用于系統(tǒng)的主頻使用
? 低速外部時(shí)鐘,接頻率為32.768kHz的石英晶體,用于驅(qū)動(dòng)RTC時(shí)鐘
3.3 PCB設(shè)計(jì)示例
? 我們可以注意到,晶振旁邊使用GND布線包圍,最好也在圍繞的GND線上打孔,這是為了將晶振隔離開。而且晶振所在區(qū)域的頂層以及底層最好不要走線,因?yàn)檫@會(huì)影響到信號(hào)線的信號(hào)。
? 其次的話,晶振的兩個(gè)電容盡量和晶振保持對(duì)稱。
?
四、SWD下載電路
4.1 原理圖設(shè)計(jì)
4.2 原理講解
4.2.1 JTAG介紹
我們比較常用的是Jlink下載器 ,這種下載器有一個(gè)缺點(diǎn)就是使用的Jtag 20PIN接口,太多的PIN會(huì)導(dǎo)致一些小型的PCB板很擁擠,也會(huì)增加布線的難度。 而使用SWD接口下載調(diào)試,只需要要使用4個(gè)PIN: GND, RST, SWDIO, SWDCLK ,而且下載速度可以達(dá)到10M/s,優(yōu)勢(shì)顯而易見。
4.2.2 SWD模式
? SWD 模式比 JTAG 在高速模式下面更加可靠。 在大數(shù)據(jù)量的情況下面 JTAG 下載程序會(huì)失敗, 但是SWD 發(fā)生的幾率會(huì)小很多?;臼褂?JTAG 仿真模式的情況下是可以直接使用 SWD 模式的, 只要你的仿真器支持。
?
4.2.3 SWCLK為什么需要經(jīng)過10K電阻下拉至GND?SWDIO為什么需要經(jīng)過10K電阻上拉至3.3V?
ST官方說明:
接著,查看《STM32F4xx中文參考手冊(cè)》第1251頁(yè):
? SWDIO,在芯片內(nèi)部已經(jīng)有上拉,但在電路板上必須再一次上拉(100k或者10k電阻)
? SWCLK,在芯片內(nèi)部已經(jīng)有下拉,在電路板上沒有特殊要求進(jìn)一步下拉。
4.3 PCB設(shè)計(jì)參考示例
? 這里我們的電阻應(yīng)該盡量靠近我們的SWD下載口,以便更好實(shí)現(xiàn)上下拉效果
五、電源指示電路
5.1 原理圖設(shè)計(jì)
5.2 原理講解
? LED為發(fā)光二極管,正向?qū)?,具有正向壓降,這里要根據(jù)數(shù)據(jù)手冊(cè)去查看LED燈的正向壓降。比如我選擇了以下的LED燈(立創(chuàng)商城的物料編號(hào)為:C511086):
? 由數(shù)據(jù)手冊(cè)可知,其正向壓降的最大值為2.4V,典型值為2.1V,所以當(dāng)LED正常工作時(shí),LED燈的壓降最大為2.4V,此時(shí)R3的分壓為0.9V.
? 一般來說,電流為3mA~10mA時(shí)LED燈正常點(diǎn)亮,最大額定的電流為20mA,在額定電流內(nèi),流過LED燈的電流越大,LED燈越亮。
? 這里我們選擇I = 10mA,故R3 = U / I = 0.9V / 10mA = 90R。考慮到我們物料一般100R的電阻比較多,所以可以選擇100R的電阻代替。
5.3 PCB設(shè)計(jì)參考示例
?
六、復(fù)位電路設(shè)計(jì)
6.1 原理圖設(shè)計(jì)
6.2原理講解
? 由芯片的數(shù)據(jù)手冊(cè)可知:
? 當(dāng)NRST引腳被拉低時(shí),會(huì)產(chǎn)生復(fù)位信號(hào),我們可以通過這個(gè)對(duì)我們的單片機(jī)進(jìn)行復(fù)位操作。
? 在電路圖中:
-
當(dāng)單片機(jī)重新上電的時(shí)候,此時(shí)電容C14充電導(dǎo)通,RESET的電壓為低電平,進(jìn)行系統(tǒng)復(fù)位,,一段時(shí)間后,電容C9充電完成斷開,RESET的電壓為高電平,單片機(jī)保持穩(wěn)定,不會(huì)復(fù)位
-
當(dāng)按鍵按下時(shí),按鍵會(huì)保持20~50ms的導(dǎo)通,nRST與地端導(dǎo)通,此時(shí)電壓為低電平,進(jìn)行系統(tǒng)復(fù)位。
6.3 PCB設(shè)計(jì)參考示例
? 這里我們?yōu)V波電容盡量靠近我們的元器件,能夠很好地消除按鍵按下的時(shí)候的電壓抖動(dòng),保證芯片復(fù)位的準(zhǔn)確性。
七、BOOT電路設(shè)計(jì)
7.1 原理圖設(shè)計(jì)
7.2 原理分析
? STM32的BOOT0和BOOT1控制的是芯片的啟動(dòng)方式,其支持內(nèi)部FLASH啟動(dòng)、系統(tǒng)存儲(chǔ)器啟動(dòng)、內(nèi)部SRAM啟動(dòng)。
- 用戶閃存 = 芯片內(nèi)置的Flash。
- SRAM = 芯片內(nèi)置的RAM區(qū),就是內(nèi)存
- 系統(tǒng)存儲(chǔ)器 = 芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時(shí)在這個(gè)區(qū)域預(yù)置了一段Bootloader,就是通常說的ISP程序。這個(gè)區(qū)域的內(nèi)容在芯片出廠后沒有人能夠修改或擦除,即它是一個(gè)ROM區(qū),它是使用USART1作為通信口
一般使用JTAG或者SWD調(diào)試下載程序,會(huì)下載到閃存里,所以可以直接將BOOT0引腳和BOOT1引腳置為低電平。
? 接10K的原因是因?yàn)锽OOT0和BOOT1在沒有接任何外設(shè)的情況下處于高阻態(tài)的狀態(tài),通過10K的上下拉電阻可以起到一個(gè)很好的限流作用,同時(shí)可以保護(hù)內(nèi)部的IC芯片
7.3 PCB設(shè)計(jì)參考示例
? 這里我們將BOOT0和BOOT1的下拉電阻放置到PCB的背面,這樣就可以避免干擾我們的走線。
八、外圍IO口電路設(shè)計(jì)
8.1 原理圖設(shè)計(jì)
? 我們一般使用排針將未使用的引腳引出。推薦大家使用雙排針,盡量少使用單排針,這樣穩(wěn)定性會(huì)更強(qiáng)一點(diǎn),可以避免拔插排針的時(shí)候出現(xiàn)彎曲的情況。
? 同時(shí),建議把BOOT0引出來,這樣便于后面設(shè)計(jì)ISP一鍵下載電路,這樣就可以通過使用一根USB數(shù)據(jù)線就可以下載程序。
? 最后的話,建議至少引出兩組3V3和GND,即每一邊的排針都有一組電源,便于我們PCB的布線
8.2 PCB設(shè)計(jì)參考示例
? 引腳的外圍排針盡量放置在板子的兩側(cè)外圍,避免干擾我們芯片周圍元器件的擺放
上述的原理圖以及PCB設(shè)計(jì)已經(jīng)開源至立創(chuàng)開源平臺(tái)上,大家可以下載進(jìn)行參考設(shè)計(jì)專屬自己的STM32F103C8T6最小系統(tǒng)板,鏈接為:https://oshwhub.com/panzhongsheng/bi-she-STM32F103C8T6hu-xin-ban文章來源:http://www.zghlxwxcb.cn/news/detail-778146.html
如果覺得寫的還不錯(cuò)的話,麻煩大家點(diǎn)贊收藏加關(guān)注哦,你們的支持是我創(chuàng)作的動(dòng)力,下一期會(huì)開源STM32F103C8T6系統(tǒng)板,希望大家持續(xù)關(guān)注哦?。?/em>文章來源地址http://www.zghlxwxcb.cn/news/detail-778146.html
到了這里,關(guān)于【開源硬件篇】STM32F103C8T6核心板的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!