- 基于ARM的嵌入式系統和物聯網開發
- (英)佩里·肖
- 3294字
- 2020-03-16 13:58:50
1.4 Arm?Mbed?系統
Arm?Mbed?是一個基于32位ARM?Cortex-M微控制器的平臺和操作系統,由ARM?公司及其技術伙伴聯合開發,用于物聯網設備。它提供操作系統、云服務、工具和開發者生態系統,用以開發和部署物聯網解決方案。
Arm?Mbed?系統的主要特征之一是其基于網頁的開發環境,只需用一個數據線將設備插入計算機,計算機上將顯示一個USB存儲盤,利用Arm?Mbed?在線編譯器寫入并編譯軟件代碼,將編譯的代碼下載到設備上,按一下鍵盤上的重啟按鍵即可運行!
Arm?Mbed?提供開發物聯網和嵌入式設備所需的所有東西,它可以支持100多個Mbed開發板和400多個組件,還有用于寫入、構建和測試應用的工具及服務器和用戶端工具,用于與接入設備進行通信。
Mbed微控制器為有經驗的嵌入式開發人員進行概念驗證提供了有力且有效的平臺。對于尚無32位微控制器開發經驗的開發人員,Mbed提供樣機研究方案,用戶可借用Mbed社區共享的庫、資源和支持完成項目。
圖1-7和圖1-8是Arm?Mbed?主頁和相應的開發者網站。圖1-9是Arm?Mbed?支持的開發板列表,其中有幾個開發板值得我們關注。

圖1-7 Arm?Mbed?網站(上圖)和Mbed系統原理圖(下圖)

圖1-8 Arm?Mbed?開發者網站,以前鏈接是https://developer.mbed.org,現改為https://os.mbed.com

圖1-9 Arm?Mbed?開發板,以前鏈接是https://developer.mbed.org/products,現改為https://os.mbed.com/products
1.4.1 NXP LPC1768
這是最常用的一種開發板,基于NXP LPC1768微控制器,32位ARM?Cortex-M3內核,運行速度為96MHz,512KB閃存,32KB內存和若干接口,包括內置以太網、USB主機和設備、CAN、SPI、I2C、ADC、DAC、PWM和其他輸入/輸出接口。12位ADC尤其有用。圖1-10是開發板及其引腳分配,包括常用的接口及其位置。P5-P30引腳也可用作數字輸入和數字輸出接口。

圖1-10 Arm?Mbed?網站上NXP LPC1768開發板及其引腳分配(來源:https://os.mbed.com/platforms/mbed-LPC1768/)
特征
?NXP LPC1768微控制器
-高性能ARM?Cortex?-M3內核
-96MHz、32KB內存、512KB閃存
-以太網、USB主機/設備、2個SPI、2個I2C、3個UART、CAN、6個PWM、6個ADC(12位),通用輸入輸出接口
?樣機形狀系數
-40個引腳、0.1寸厚、雙列直插封裝,54×26mm
-5V USB或4.5V~9V電源
-內置USB拖放閃存編輯器
?mbed.org開發者網站
-輕量級在線編譯器
-高水平C/C++軟件開發工具包
-公開代碼庫和代碼工程的指南
還有一個NXP LPC1768Mbed應用板(圖1-11),NXP LPC1768及其Mbed應用板構成一個很好用的工具包。

圖1-11 Arm?Mbed?網站上NXP LPC1768開發板上的應用板的正面(左)和背面(右)(來源:https://os.mbed.com/components/mbed-Application-Board/)
特征
?128×32圖形液晶顯示器
?5路操縱桿
?2個電位計
?3.5mm音頻接口(模擬輸出)
?揚聲器、PWM連接
?3軸+/11.5g加速計
?3.5mm音頻接口(模擬輸入)
?2個伺服電機頭
?RGB LED、PWM連接
?USB-mini-B連接器
?溫度傳感器
?Xbee(Zigbee)或RN-XV(WiFi)插口
?RJ45以太網連接器
?USB-A連接器
?1.3mm DC接口輸入
更多關于LPC1768的信息
https://os.mbed.com/ platforms/mbed-LPC1768/
https://os.mbed.com/components/mbed- Application- Board/
1.4.2 NXP LPC11U24
這是另一種比較有趣的開發板,基于NXP LPC11U24,32位ARM?Cortex-M0內核,運行速度為48MHz,32KB閃存,8KB內存和若干接口,包括USB設備、SPI、I2C、ADC和其他輸入輸出接口。圖1-12是開發板及其打印輸出,包括常用的接口及其位置。P5-P30引腳也可用作數字輸入和數字輸出接口。
與NXP LPC1768不同,NXP LPC11U24速度更慢、性能更低,但它功耗低、價格低,所以主要用于低成本USB設備和電動應用程序。

圖1-12 Arm?Mbed?網站上NXP LPC11U24開發板及其引腳分配(來源:https://os.mbed.com/platform/mbed-LPCIIU24)
特征
?NXP LPC11U24微控制器
?低功耗ARM?Cortex?-M0內核
?48MHz、8KB內存、32KB閃存
?USB設備、2個SPI、I2C、UART、6個ADC、通用輸入輸出接口
?樣機形狀系數
?40個引腳、0.1寸厚、雙列直插封裝、54×26mm
?5V USB,4.5V~9V電源或2.4V~3.3V電池
?內置USB拖放閃存編輯器
?mbed.org開發者網站
?輕量級在線編譯器
?高水平C/C++軟件開發工具包
?公開代碼庫和代碼工程的指南
更多關于LPC11U24的信息
https://os.mbed.com/platforms/mbed‐LPC11U24/
1.4.3 BBC Micro:bit
BBC Micro:bit是一個袖珍的、可編碼的計算機,由BBC與31個機構聯合開發,包括ARM?、NXP、element14、Microsoft、Cisco等。圖1-13是開發板及其打印輸出。它使得任何人都可以利用技術變得富有創造力。BBC為英國所有7年級11~12歲的小孩捐贈了一個免費的Micro:bit。

圖1-13 Arm?Mbed?網站上BBC Micro:bit開發板及其引腳分配(來源:https://os.mbed.com/platforms/Microbit/)
BBC Micro:bit基于Nordic nRF51822微程序控制器、16K內存、256K閃存、還有Freescale板上的加速計和磁力計。
特征
?在BBC網站(http://www.microbit.co.uk/create-code)可實現在高級在線集成開發環境下編程
-Microsoft TouchDevelop IDE
-Microsoft Blocks
-CodeKingdoms Javascript
-MicroPython
?Mbed功能
-在線集成開發環境(developer.mbed.org)
-方便使用C/C++軟件開發工具包
-用于快速開發的Micro:bit專用運行庫(由Lancaster University開發)
?Nordic nRF51822多協議藍牙?4.0低功耗/2.4GHz無線射頻SoC
-32位ARM?Cortex M0處理器(16MHZ)
-16KB內存
-256KB閃存
-藍牙低功耗主/從連接
?輸入/輸出
-25LED矩陣
-Freescale MMA86523軸加速計
-Freescale MAG31103軸磁力計(電子羅盤)
-2個按鍵
-USB和邊緣連接器串行輸入/輸出
-2/3可重構PWM輸出
-5個banana/croc-clip連接器
-邊緣連接器
-6個模擬輸入
-6-17GPIO通用輸入輸出(由配置決定)
-SPI
-i2c
?USB Micro B連接器
?JST電源連接器(3v)
更多關于Microsoft:bit的信息
https://os.mbed.com/platforms/Microbit/
1.4.4 Arm?Mbed?以太物聯網入門工具包
Arm?Mbed?以太物聯網入門工具包包含一個Arm?Mbed?FRDM-K64F開發板和一個mbed應用板(圖1-14),由IBM物聯網基金會設計,旨在為用戶提供靈活的體驗,用戶可以很容易地從開發板的傳感器上發送數據到IBM云。它尤其適合沒有特定嵌入式或網頁開發經歷的用戶,因為它提供了一個學習新理念和創建工作原型的平臺。它允許用戶通過IBM BlueMix平臺進入IBM云應用,使得部署和設備管理非常簡易。用戶還可以對入門工具包的硬件進行修改,以便滿足個性需求。

圖1-14 Arm?Mbed?以太物聯網入門工具包,包含一個FRDM-K64F開發板(左)及其應用板(右)
NXP FRDM-K64F是新一代開發板,基于Kinetis K64F低功耗微控制器,ARM?Cortex?-M4內核,運行速度高達120MHz,1024KB嵌入式閃存,256KB內存,以及若干外圍設備(16位ADC、DAC、計時器)和接口(以太網、USB設備和串行端口)。新型的Mbed應用板采用Arduino標準開發板,使潛在實驗數達到最大,同時與Mbed應用板盡可能保持一致。
本書重點關注Arm?Mbed?IBM以太物聯網入門工具包。
Arm?Mbed?以太物聯網工具包包含:
Mbed Enabled NXP K64F開發板
?NXP K64F Kinetis K64微控制器(MK64FN1M0VLL12)
?高性能ARM?Cortex?-M4內核、浮點運算器、數字信號處理器(DSP)
?120MHz、256KB內存、1MB閃存
Mbed應用板
?128×32圖形液晶顯示器
?5路操縱桿
?2個電位計
?揚聲器、PWM連接
?3軸+/11.5g加速計
?RGB LED、PWM連接
?溫度傳感器
?Xbee(Zigbee)或RN-XV(WiFi)插口
微控制器特征
?100LQFP Kinetis MK64FN1M0VLL12
?性能
-ARM?Cortex?-M4、32位內核、數字信號處理器指令、浮點運算器
-120MHz最大CPU頻率
?存儲器和存儲接口
-1024KB程序閃存
-256KB內存
-FlexBus外部總線接口
?系統外圍設備
-多種低功耗模式、低泄漏喚醒單元
-16通道DMA控制器
?時鐘
-3個內部基準時鐘:32kHz、4MHz和48MHz
-2個晶振輸入:3MHZ~32MHz(XTAL0)和32kHz(XTAL32/RTC)
-鎖相環(PLL)和反饋循環(FL)
?模擬模塊
-2個16位SAR ADC,最高800ksps(12位模式)
-2個12位DAC
-3個模擬比較器
-電壓基準1.13V
?通信接口
-1個10/100Mbit/s以太網多路存儲微控制器,MII/RMII接口IEEE1588可連
-1個全/低速設備/主機/一鍵拷貝(OTG)控制器USB 2.0接口,3.3V/120MA嵌入式穩壓電源和USB設備非晶體操作
-1個CAN模塊
-3個SPI模塊
-3個I2C模塊,支持最高速度1Mbit/s
-6個UART模塊
-1個安全數字主控制器(SDHC)
-1個I2S模塊
?計時器
-2個8通道Flex-Timers(PWM/電動機控制)
-2個2通道Flex-Timers(PWM/正交譯碼器)
-32位PIT和16位低功耗計時器
-實時時鐘(RTC)
-可編程延遲時鐘
?安全性和完整性模塊
-硬件CRC和隨機數生成器模塊
-支持DES、3DES、AES、MD5、SHA-1和SHA-256算法的硬件加密
?操作特性
-電壓范圍:1.71V~3.6V
-閃存寫入電壓范圍:1.71V~3.6V
開發板特征
?板級組件
-FXOS8700CQ-6軸傳感器加速計和磁力計
-2個用戶按鍵
-RGB LED
?連接性
-USB全速/低速一鍵復制/主機/設備控制器、片上收發器、3.3V~5V校準器和微型USB連接器
-帶有板上收發器和RJ45連接器的10/100M以太網控制器
-可連接多達5個UART、2個SPI、2個I2C、1個CAN(多路復用外圍設備)
?擴展
-Micro SD卡接口
-與Arduino R3板兼容的接頭(32針/外行)
-專有板接頭(32針/內行)
?模擬和數字輸入/輸出(多路復用外圍設備)
-多達2個ADC、16位分辨率、28個模擬輸入/輸出引腳連接到接頭
-多達3個計時器,可從接頭連接到18個PWM信號
-多達6個比較器輸入或1個DAC輸出
-多達40個微控制器輸入/輸出引腳連接到接頭(3.3V,每個4mA,最大400mA)
?開發板電源選項(板級3.3V~5V校準器)
-USB調試5V
-USB目標5V
-Arduino接頭5V~9V輸入電壓
-5V PWR輸入
-紐扣電池3.3V
?集成了開放SDA USB調試和編程適配器
-若干個工業級的標準調試接口(PEmicro、CMSIS-DAP、JLink)
-拖放MSD快速編程
-虛擬USB到串行端口
?形狀系數:3.2"×2.1"/81mm×53mm
?軟件開發工具
-可用Mbed HDK&SDK
-在線開發工具
-方便使用C/C++SDK
-大量已發表庫和項目
-線下選項NXP free KDS(編譯器工具鏈)和KSDK庫/示例
供應商網站:http://www.nxp.com/frdm-k64F
圖1-15是FRDM-K64F開發板組件布局和引腳分配,以下是最常用的引腳:
RGB LED LED1(LED_RED),LED2(LED_GREEN),LED3(LED_BLUE),LED4(LED_RED)
數字輸入/輸出 D0,D1,D2,…,D15
模擬輸入 DAC0_OUT
PWM(脈寬調制) A4,A5,D3,D5,D6,…,D13

圖1-15 FRDM-K64F開發板組件布局(左)和Arm?Mbed?網站上Arduino和NXP引腳分配
更多關于FRDM-K64F的信息
https://os.mbed.com/platforms/IBMEthernetKit/
https://os.mbed.com/platforms/FRDM‐K64F/