在MCU的學習中,大部分人都是學習別人的開發板,例如正點原子、野火等,優勢是有可靠的教程和代碼,缺點是容易讓人有種本身所有都學會的了錯覺,聽了課程編寫了代碼,運行正常。git
這個時候,能夠嘗試自已作一塊屬於本身的開發板,儘管它的電氣特性可能沒有那麼好,沒有達到商用的標準,但這個過程當中會踩到不少坑,這樣對驅動的理解纔會更進一步。MCU的開發板基本都是雙層版,不要去仿製正點原子或野火的板子,最好本身設計,參考官方文檔資料,建議提升一下動手能力,也提升了本身的軟件開發水平。github
本人大學期間作的東西基本都是在學長的基礎上修改的。畢業了,公司產品從ST32轉向國產GD32,發現本身在一些方面學習的很模糊,沒有學習到精髓。因此設計一款兼容STM32F207和GD32F207的開發板,用來重溫學習。app
下圖來自STM32F207的datasheet。ide
①表示Vcap1和Vcap2接了2.2uf的電容接地,每一個接1個電容;佈局
②表示VDD1到VDD15接上VDD電源,再接電容,接地。Vss接地。PCB佈局,儘可能把電容離管腳近;學習
③表示可能有15個VDD,同理Vcap1和Vcap2只有兩個方塊,說明有兩個電源引腳;url
④表示VDDA鏈接VDDA,VDDA和VSSA,那麼就是他們給ADC等模塊供電,沒有的話,就是VDD和VSS供電。其中Vref+和Vref-是ADC模塊基準電壓,能夠直接連VDDA和VSSA;spa
⑤必須其中有一個VDD鏈接上4.7uf電容,(注意:STM32F10系列必須是VDD_3鏈接4.7uf電容);設計
⑥表示Vref+能夠鏈接其餘的基準電壓,可是要鏈接10nf電容+1uf電容,其實就是並聯。orm
註釋:
10nf+1uf 就是並聯電容
100nf = 104 10nf = 103 1uf=105
下圖見:STM32F207用戶參考手冊,編號RM0033
boot0能夠不下拉電阻的,片內有下拉電阻,實際項目中,仍是須要下拉電阻,保證在複雜電磁環境下從Flash啓動;
採用跳電阻的形式選擇,實際項目,只須要BOOT0就好,學習的板子,兩個都設計吧。
STM32F207官方評估板電路:
下圖見datasheet
上圖看出,官方建議下拉0.1uF電容,再接復位按鍵,當管腳是低電平的時候復位,官方評估板電路採用電阻降壓,註釋donot fit,
採用3225封裝的無源貼片晶振。
晶振資料
Load Capacitance:負載電容
我的通常配18PF電容
下圖是ST的評估板原理圖
其中,低速時鐘爲了片內RTC
根據ST的評估板,JTAG有上下拉電阻,實際應用中,使用SWD接口,只須要VCC,TMS,TCK,GND四根信號線,沒有上下電阻也沒有影響。
一、復位採用max809
二、不管是否使用模擬部分和AD部分,MCU外圍出去VCC和GND,VDDA、VSSA、Vref(若是封裝有該引腳)都必須要鏈接,不可懸空
三、兼容GD207和ST207,原理圖上作一下圖示四種處理
差別區別:
設計兼容STM32F207和GD32F207的開發板,其餘外設資源電路直接參看原理圖。
板載資源有:
USB串口
網口(RTL8201)
兩顆LED
RTC
NorFlash
電源(5V轉3.3V)
TF卡
觸摸按鍵
4個獨立按鍵
8位並口LCD
USB
ESP8266的WIFI模塊
ESP8266的USB下載口
原理圖和PCB源文件可以使用下面連接進行下載:
https://github.com/strongercjd/STM32F207VCT6
設計缺陷
四個角忘記放置定位孔
BOOT0和BOOT1的絲印錯寫爲GND
很水的原理圖和layout
沒有鈕釦電池供電給RTC
點擊查看本文所在的專輯,STM32F207教程
免責聲明:上述設計僅供學習參考使用,在普通室溫環境下使用沒問題,對於參考電路形成商業產品或工業產品故障,本人概不負責。