開發說明: ST最新推出了Cortex-M4內核的MCU,作為STM32F103系列的升級產品,其內核由Cortex-M3升級到Cortex-M4,并增加了浮點運算單元,豐富了外設接口,非常適合IoT的嵌入式開發。目前市場上針對Cortex-M4內核的開發板還很少,幾乎都是ST推出的開發套件。根據發起者在實際項目中遇到的問題及考慮到電子愛好者的需求,發起者希望開發一款基于Cortex-M4內核的,具有高性價比、靈活易用的開發板,并將其作為開源硬件,分享給電子愛好者。基于這個想法,促成了本次的項目眾籌。 項目背景介紹 STM32F302CBT6是一款基于Cortex-M4內核的MCU,采用QFP48封裝,小巧而功能強大,非常適合IoT的嵌入式開發。STM32F302CBT6與其相關芯片的對比如下: 1. 相同封裝形式芯片對比: F30X系列相對于F103系列內核由M3升級到M4,并增加了浮點運算單元。而且更針對于IoT應用,在48 PIN小封裝上集成了DAC、運算放大器和比較器,更適合于高性價比和小形化的IoT和數據采集系統應用。并且F302與F303只是在內存和接口的通道數量上有差別,F303所具有的功能模塊,F302上都包含了,因此,F302的程序開發,可以兼容F303,是一款極具性價比的產品。
2. 不同封裝形式芯片對比: F302C系列相對于F103R系列內核由M3升級到M4,并增加了浮點運算單元。并且包含了R系列所有的外設,同時增加了模擬信號處理所需要的運算放大器和比較器,而不像F103C和F103R之間,將外設進行了刪減。并且F302C系列與F30XR系列,也只是因為管腳數不同,在外設接口數量上有所差別,R系列所包含的外設,在C系列上都包含,由F302C上開發的程序,可以很好的移植到F302R系列上。而QFP48的封裝,相對于QFP64的封裝,體積更小,性價比更高。因此說,STM32F302C系列是一款體積小巧、功能強大、極具性價比的產品。 番茄STM32F302CBT6開發板基于STM32F302CBT6、針對IoT嵌入式而設計,是一款功能強大,又極具性價比的開發板。板載功能盡量做到常用、精簡。板載接口充分考慮接口的可擴展性,將MCU的IO全部引出,并精心設計,做到接口的可擴展性、兼容性和可重用性,使開發者非常容易基于此開發板擴展其它功能模塊并且避免因擴展功能而大量使用杜邦線等飛線產生的問題。 番茄STM32F302CBT6開發板板載功能介紹 1. 板載Micro USB接口,通過Micro USB接口為開發板供電,并可實現與上位機的USB通信,如果不需要USB通信時,也用使用移動電源的USB口為開發板供電,使得開發板更加靈活便攜; 2. 板載5V、3.3V電源輸出,可提供擴展功能的供電; 3. 板載2個按鍵,可實現常用的按鍵輸入控制; 4. 板載1個LED電源指示和1個受GPIO控制的LED,可方便程序調試與輸出操作的指示。 5. 板載RTC時鐘電路,可實現低功耗實時操作; 6. 支持SWD調試接口。為實現開發板的小巧及盡量少的占用IO資源,本開發板采用SWD調試接口而摒棄JTAG調試接口(并針對SWD接口,專門設計了精美的JTAG轉SWD轉接口,兼容所有主流仿真器,可裝配于仿真器上,免去杜邦線跳線的麻煩及接口接錯導致板卡損壞的風險); 7. 支持0.96' OLED顯示接口(模塊選配)。基于OLED小巧、無需要背光,可以更薄等優點,本開發板摒棄價格昂貴、體積龐大的觸摸屏,采用0.96’ OLED屏實現輸出顯示,從而使整個開發板體積更小,性價比更高,更適合于IoT應用。而針對觸摸屏應用,開發者可根據需要,通過擴展接口實現。 8. 支持高精度模擬基準,特別適用于高精度ADC與DAC數據采集應用(選配)。板載的12 bit ADC和DAC,非常適合于IoT應用中的傳感器數據采集與控制,而對于12 bit的ADC和DAC,數據采集的精度已經不在于ADC和DAC的位數,而在于ADC和DAC的參考電壓的精度。本開發板專門針對此應用,設計了高精度模擬基準,可實現高精度的ADC和DAC數據轉換和數據采集。 9. 更具人性化的可擴展接口。為實現開發板的小巧、精美,提高性價比,又不失STM32F302CBT6強大的功能,本開發板盡量精簡板載功能,并設計了更具人性化的可擴展接口,將全部IO引出,方便開發者擴展其它功能模塊,發揮STM32F302CBT6的強大功能。市面上通用的開發板,接口設計考慮多一些的是兼容Arduino標準接口,而其它的開發板則是直接將IO口全部引出,并將電源、地單獨引出。這樣在擴展其它模塊時,則只能采用杜邦線跳線的方式與其它模塊連接通信,既容易產生杜邦線跳線錯誤,又容易在調試時不小心拖拽到,不利于調試和接口擴展,并且使模塊擴展顯得笨重、不夠美觀。 本開發板充分考慮了接口的可擴展性,設計了一套可擴展接口。如圖1所示。
開發板.jpg (70.69 KB, 下載次數: 98)
下載附件
開發板布局圖
2017-11-3 10:42 上傳
圖1 開發板布局圖 9.1 將所有IO口全部引出,并分別用排針和排母引出,排母引出用于接口擴展,排針引出方便開發調試時測量監測。如圖2所示,用并排的排針和排母將PA0和PA8分別引出,排母用于接口擴展,排針用于調試測量。所有PA口與PB口都采用這種方式引出。
開發板布局圖_接口1.png (185.32 KB, 下載次數: 97)
下載附件
管腳圖
2017-11-3 10:43 上傳
圖2 IO口引出同時采用排針和排母 9.2 將電源、地與IO口布置在一起,方便各種供電接口。如圖3所示。將5V電源、地和3.3V電源地分別按照不同順序與IO口布置在一起,可將擴展功能板直接插入擴展接口上,無需杜邦線跳線。
開發板布局圖_接口2.png (59.22 KB, 下載次數: 90)
下載附件
供電
2017-11-3 10:44 上傳
圖3 供電與IO同時布置,方便擴展功能直接插入開發板 9.3 可實現各種不能協議接口外設的接口擴展。如圖4所示,可實現硬件SPI、硬件I2C、USART等各種接口的擴展。
開發板布局圖_接口3.png (108.05 KB, 下載次數: 106)
下載附件
擴展接口
2017-11-3 10:44 上傳
圖4 方便的硬件外設通信接口擴展 9.4 多模塊共用時,IO口重分配的接口擴展。當在系統開發時,采用多模塊同時工作時,經常會遇到這樣的情況:模塊A采用5V、GND、PA0和PA1進行通信,在開發模塊B時,模塊B需要用到PA0口作為ADC使用,而這時還想同時使用模塊A,這時就存在接口沖突的情況。此時,只要將作為IO口通信用的模塊A旋轉180度,插入對角接口上,并將相應程序中的PA0改為PB0,PA1改為PB1,即可實現模塊A的通信,電源、地完全兼容。如圖5所示。
開發板布局圖_接口4.png (145.63 KB, 下載次數: 92)
下載附件
接口易用性
2017-11-3 10:45 上傳
圖5 將模塊旋轉180度對角位置,IO定義調整,供電完全兼容 關于接口擴展的基本規律,概述如上4點。具體使用哪些接口可實現便捷的功能擴展,開發者可根據自己的開發情況,發現更多接口使用方案。 10. 附帶的JTAG轉SWD轉接口,兼容所有主流仿真器,可裝配于仿真器上,免去杜邦線跳線的麻煩及接口接錯導致板卡損壞的風險。
5.jpg (39.02 KB, 下載次數: 98)
下載附件
JTAG轉SWD接口
2017-11-3 10:45 上傳
開發板帶仿真器.jpg (54.83 KB, 下載次數: 88)
下載附件
仿真調試
2017-11-3 10:46 上傳
圖6 用JTAG轉SWD轉接口仿真調試 開發者獨創聲明: 番茄STM32F302CBT6開發板的板載擴展接口方式,為開發者獨創,本著開源硬件的精神,開發者將其作為一種開源硬件,任何組織或個人,可無償使用此接口定義方式,并請在使用時注明其采用番茄開發板接口形式,并不得將此作為獨有知識產權進行保護。考慮到盡量精簡開發板功能并使開發板小巧,本擴展接口采用8個IO口插入一組電源地的形式,實際中,也可以采用2個或4個IO口插入一組電源地的形式,并且可由PA、PB口擴展到PC、PD等其它更多的IO口,或由左、右布局改為上、下、左、右布局,以上所述同屬本接口定義方式。(如果此擴展接口方式,在開發者之前已有知識產權,請及時聯系開發者。) 聯系人及聯系方式: 微信號或QQ號:27615211
|