市場上涌現(xiàn)各種價(jià)格親民的經(jīng)濟(jì)型微控制器,助力新一代開發(fā)者創(chuàng)造令人興奮的新型嵌入式應(yīng)用。如今的開發(fā)工具非常好用,軟硬件均呈現(xiàn)模塊化趨勢,插接安裝簡單容易,使得產(chǎn)品設(shè)計(jì)評估和原型開發(fā)周期大幅縮短。STM32開放式開發(fā)環(huán)境是業(yè)內(nèi)獨(dú)一無二的軟硬件開發(fā)平臺,堆疊式插接電路板集成各種模塊化硬件,同時(shí)模塊化軟件覆蓋從驅(qū)動程序到應(yīng)用層的全部軟件,幫助設(shè)計(jì)人員將創(chuàng)意快速變成產(chǎn)品原型,順利轉(zhuǎn)化成最終設(shè)計(jì)。
STM32開放式開發(fā)環(huán)境是什么?
STM32開放式開發(fā)環(huán)境 是意法半導(dǎo)體開發(fā)的嵌入式系統(tǒng)原型設(shè)計(jì)開發(fā)環(huán)境,以簡化嵌入式項(xiàng)目設(shè)計(jì)為目標(biāo),通過開源形式提供全部重要功能模塊,組件包括:
-價(jià)格極低的STM32 Nucleo開發(fā)板(STM32微控制器)和STM32 Nucleo擴(kuò)展板(傳感器、通信接口、電機(jī)控制和致動功能),提供基于尖端商用產(chǎn)品的各種硬件功能。
-基于STM32Cube軟件工具的STM32微控制器軟件庫和簡單好用的軟件庫配置器(STM32CubeMX )。
-STM32Cube擴(kuò)展軟件庫,支持STM32 Nucleo擴(kuò)展板上各種器件,包括電機(jī)驅(qū)動器、低能耗藍(lán)牙模塊、MEMS傳感器等。
-功能包:一套利用STM32 Nucleo開發(fā)板和STM32Cube軟件為一些最常用用例開發(fā)的功能性例程(代碼示例)。
-每個(gè)軟硬件功能模塊都配備描述詳盡的技術(shù)文檔。
-活躍的快速發(fā)展的在線開發(fā)社區(qū)
STM32 Nucleo開發(fā)板
STM32 Nucleo開發(fā)板是STM32開發(fā)環(huán)境的基礎(chǔ)組件,板載一顆基于ARM? Cortex?-M 32位處理器內(nèi)核的STM32微控制器。STM32開放式開發(fā)環(huán)境所用的STM32 Nucleo開發(fā)板是64引腳版(圖1)微控制器。目前STM32 F4和STM32 L0微控制器兼容所有的STM32 Nucleo擴(kuò)展板和擴(kuò)展軟件。
圖1 – STM32 Nucleo-64開發(fā)板
開發(fā)環(huán)境使用基于STM32Cube HAL(硬件抽象層) API的STM32Cube軟件庫,大幅降低了在不同系列的STM32產(chǎn)品(目前有20余款STM32 Nucleo開發(fā)板)中移植軟件項(xiàng)目所需的編程工作量。
STM32 Nucleo-64開發(fā)板硬件具有以下特性:
-采用LQFP-64封裝的STM32微控制器
-通過38引腳的Morpho連接器可以使用STM32的所有引腳
-四個(gè)Arduino連接器(位置非對稱排列,引導(dǎo)用戶正確插接Arduino兼容擴(kuò)展板)
-集成ST-LINK/V2-1調(diào)試器/代碼燒錄器和mini USB端口,無需安裝額外的調(diào)試工具,板子可直連PC機(jī),進(jìn)行調(diào)試和燒寫代碼操作。此外,USB接口支持虛擬COM端口和大容量存儲接口(兼容ARM mbed)
-2個(gè)按鍵(微控制器復(fù)位信號和開發(fā)者專用按鍵)
-3支LED燈(5V電源、開發(fā)者專用、ST-Link調(diào)試器狀態(tài))
用戶可以為板子選用不同的電源:
-5V USB供電
-5V外部電源
-外部電源VIN (7-12V)
STM32 Nucleo開發(fā)板上的5V電源還用于驅(qū)動通過Arduino或morpho連接器連接主板的擴(kuò)展板,同時(shí)通過板載穩(wěn)壓器為STM32提供3.3V 電源。
STM32 Nucleo開發(fā)板功能性極強(qiáng),板載代碼燒寫/調(diào)試工具非常實(shí)用,設(shè)計(jì)人員可以立即動手開發(fā)項(xiàng)目,而無需添置昂貴的開發(fā)工具。
基于STM32Cube的嵌入式軟件和工具
在選中了最適合自己的STM32 Nucleo開發(fā)板后,下一步是下載相關(guān)的軟件庫,熟悉STM32技術(shù)特性和外設(shè)。最快捷的入門方式是下載軟件庫配置器STM32CubeMX ()。在這個(gè)工具的圖形用戶界面內(nèi),用戶只要直接選擇正在使用的STM32 Nucleo開發(fā)板(圖2),配置器就會按照板子所連接的硬件設(shè)備(例如LED、按鍵、UART引腳分配)自動配置STM32外設(shè)。
下一步,可能需要詳細(xì)配置每個(gè)外設(shè),例如,設(shè)置UART同步/異步通信模式、波特率、寄偶校驗(yàn)和停止位。
圖 2 – STM32CubeMX: 從板子選型到外設(shè)配置,只需幾步簡單的操作。
最后,STM32CubeMX將生成代碼,創(chuàng)建一個(gè)完整軟件項(xiàng)目,且兼容所用代碼編譯工具鏈(例如IAR、Keil或Eclipse),同時(shí)配置先前在圖形用戶界面內(nèi)所選的全部硬件和外設(shè),并兼容所用代碼調(diào)試/燒錄工具。
這個(gè)圖形用戶界面工具讓你從零開始創(chuàng)建項(xiàng)目,幾分鐘完成項(xiàng)目所需的全部配置,然后立即動手創(chuàng)建自己的軟件項(xiàng)目,直接在main.c文件里寫代碼。
圖3 – STM32Cube軟件庫的層次
所生成的代碼位于STM32Cube嵌入式軟件之上,STM32Cube有兩個(gè)主層(圖3):
-硬件抽象層:準(zhǔn)許上面的軟件層(例如,中間件層)執(zhí)行各自的功能,而無需開發(fā)人員深入了解如何使用微控制器
-中間件:一整套中間件組件(RTOS, USB, TCP/IP, …)
軟件設(shè)計(jì)采用模塊化方法,用戶在項(xiàng)目開發(fā)過程中可以隨時(shí)添加軟件模塊,輕松地跨系列移植全部項(xiàng)目。
STM32 Nucleo擴(kuò)展板
為連接STM32 Nucleo擴(kuò)展板,STM32 Nucleo-64開發(fā)板配備兩種連接器:
-兼容Arduino標(biāo)準(zhǔn)的Arduino連接器(微控制器的32個(gè)引腳都在這個(gè)連接器上)。
-Morpho 連接器,可以連接STM32微控制器的全部引腳(76個(gè)引腳都在這個(gè)連接器上)。
STM32 Nucleo擴(kuò)展板讓設(shè)計(jì)人員像搭積木一樣,在主板上插接多塊不同功能的子板,創(chuàng)建一個(gè)完整的應(yīng)用系統(tǒng)。目前意法半導(dǎo)體網(wǎng)站() 上有20余款擴(kuò)展板(圖4)在售,按功能劃分,可以分為五類:
-感測:MEMS 9軸運(yùn)動傳感器; 壓力傳感器,環(huán)境傳感器,接近檢測傳感器; MEMS麥克風(fēng)
-連接: 低能耗藍(lán)牙、Wi-Fi、NFC和Sub-GHz射頻;
-電機(jī)控制/致動: 直流電機(jī)驅(qū)動器、步進(jìn)電機(jī)驅(qū)動器、3相直流無刷電機(jī)驅(qū)動器
-輸入/輸出: I/O模塊(家庭自動化和工業(yè)自動化)
-信號調(diào)理: 運(yùn)算放大器
圖4 – 各種型號的STM32 Nucleo擴(kuò)展板
STM32 Nucleo板功能擴(kuò)展方法類似于Arduino和Raspberry Pi解決方案,便于設(shè)計(jì)人員快捷開發(fā)產(chǎn)品原型。利用這些連接工具,可以將擴(kuò)展板堆疊插接在主板上,給系統(tǒng)增添新的功能,唯一不足之處是,堆疊式連接方法受限于微控制器外設(shè)的使用方式,這個(gè)問題的解決方法是,使用I2C和SPI總線替代UART等速度慢的數(shù)據(jù)總線,這樣可提高同一總線上所連接設(shè)備的數(shù)量。此外,Arduino連接器不對稱排列設(shè)計(jì)可有效防止STM32 Nucleo擴(kuò)展板連接方向錯(cuò)誤,降低電源連接錯(cuò)誤損壞設(shè)備的風(fēng)險(xiǎn)。擴(kuò)展板使用STM32 Nucleo開發(fā)板上LDO穩(wěn)壓器通過板上5V電源生成的3.3V電源,用戶可以使用跳線(JP5)為開發(fā)板選擇USB 5V電源或外部E5V電源。有些擴(kuò)展板需要更高的電壓,例如,電機(jī)驅(qū)動器和I/O擴(kuò)展板,因此,開發(fā)板上還增加一個(gè)電源連接器,利用外部電源驅(qū)動負(fù)載,提供更高的電壓Vbus(最高45V)。
為安全起見,多數(shù)擴(kuò)展板是為低功率應(yīng)用設(shè)計(jì),50V以下電壓在電源極性接反或短路時(shí)可以降低板子燒毀風(fēng)險(xiǎn),所以適合初學(xué)者和學(xué)生使用。
這些低功耗的擴(kuò)展板還可以單獨(dú)連接高壓高功率的電機(jī)控制擴(kuò)展板,但是,我們只建議電機(jī)控制專業(yè)人士選用這種配置。為了便于區(qū)分,我們將高功率STM32 Nucleo擴(kuò)展板涂成綠色,其余的擴(kuò)展板全都是藍(lán)色。高功率電機(jī)控制擴(kuò)展板兼?zhèn)涓邏焊吖β蕯U(kuò)展板和低壓擴(kuò)展板的雙重優(yōu)點(diǎn),在電機(jī)控制應(yīng)用中輕松增加數(shù)據(jù)通信功能,例如,使用射頻技術(shù)遠(yuǎn)程驅(qū)動高壓電機(jī)或使用低能耗藍(lán)牙或Wi-Fi獲取電機(jī)驅(qū)動信息和遠(yuǎn)程記錄失敗數(shù)據(jù)。
評論
查看更多