很早就想寫這樣一篇Nucelo系列開發(fā)板的對比,但是因為各種原因拖延下來。正好穎展電子元器件做 Nucleo-L432KC 開發(fā)板的評測活動,就借這個機會寫了。外形我們先看看三種Nucleo系列開發(fā)板的對比圖,從左到右依次是Nucleo-L432KC、Nucleo-F091RC、Nucleo-F746ZG,可以看到它們風(fēng)格很一致,都是白底藍字,CPU在中間,兩邊是擴展接口。
三種開發(fā)板的大小差異很大,尺寸上Nucleo-144是70x135mm,Nucleo-64是70x82mm,Nucleo-32是19x51mm,Nucleo-64板子的寬度和Nucleo-144相同,都是70mm。三種板子的面積的比例大約是 1 : 5.9 : 9.8。從PCB工藝看,Nucleo-64是雙層板,Nucleo-32是4層板,而Nucleo-144是6層板。以太網(wǎng)從功能上看,Nucleo-144多出了一個以太網(wǎng)接口,相比Nucleo-64多出來的面積,大部分都是以太網(wǎng)相關(guān)的。U11是變壓器,U10是ESD保護,U9是以太網(wǎng)控制器為了減少板子的整體厚度,Nucleo-144采用了半沉結(jié)構(gòu)的以太網(wǎng)插座,這樣減少了約1/3的插座高度。
仿真器Nucleo系列開發(fā)板上都帶有STLink/V2仿真器,它支持Mbed規(guī)定的三種主要功能:虛擬串口Mbed虛擬磁盤仿真器Nucleo-32的板載仿真器ST-Link不支持外連,而Nucleo-64和Nucleo-144都是支持的,可以仿真外部的ST單片機。甚至Nucleo-64和Nucleo-144開發(fā)板上的STLink可以掰下,作為獨立的STlink使用。Nucleo-64和Nucleo-144開發(fā)板上的STLink很相似,連布局都基本一致,只有細(xì)微的差別。最大區(qū)別是USB和晶體。
時鐘三種Nucleo都支持多種時鐘輸入,包括OSC、OSC32、外部時鐘(MCO)、內(nèi)部時鐘等。OSC是系統(tǒng)外部主時鐘,通常是一個4-26MHz晶體。在Nucleo-32上受體積限制,沒有預(yù)留OSC位置,這也是因為某些Nucleo-32上的MCU沒有OSC輸入腳。Nucleo-64和Nucleo-144上雖然有OSC輸入,但是都沒有焊接,默認(rèn)都是將STLink的MCO(8MHz)作為外部時鐘輸入。此外三種Nucleo上都焊接了32K晶體,可以選擇OSC32作為系統(tǒng)時鐘,這對于低功耗也有好處。從32K晶體型號上看,Nucleo-64因為出道最早,選擇了普通的SMD封裝,而Nucleo-32/Nucleo-144都使用了微型SMD封裝。Nucleo-64上預(yù)留的主時鐘也是最普通的封裝。
接口Nucleo系列開發(fā)板的接口都是兼容Arduino的,這樣可以充分利用Arduino的資源,使用各種Arduino的傳感器、擴展板、接口板等。Nucleo-32的接口是兼容Arduino Nano的,而Nucleo-64和Nucleo-144是兼容Arduino Uno的。Nucleo-64和Nucleo-144除了Arduino接口外,還帶有ST Morpho(大閃蝶)接口。Nucleo-32和ArduinoNano電源Nucleo系列開發(fā)板都支持多種電源輸入:USB、Vin、5V輸入,Nucleo-32使用二極管隔離E5V和U5V電源輸入,任何一路有輸入都可以工作;Nucleo-64和Nucleo-144需要通過短路塊選擇輸入的電源。
通過USB接口供電時,由STLink控制MOSFET(ST890CDR)通斷,將USB的U5V傳遞到+5V。在STlink沒有被OS識別出來時,MOSFET是關(guān)斷的,也就是說使用移動電源時,不能通過USB供電,只能通過E5V或者Vin供電(Nucleo-144多了U5V電源選擇,但是需要自己短連SB1)。
Nucleo開發(fā)板都支持電流測量功能,這個功能是通過在VCC上串聯(lián)電流表實現(xiàn)的,就是默認(rèn)通過短路塊連接3.3V到VCC,取下短路塊就可以串聯(lián)電流表進行測量。這樣好處是簡單,缺點是不能實時測量功耗。Mbed Nucleo系列開發(fā)板都支持使用Mbed Cleaasic進行程序開發(fā)。使用Mbed,可以簡化底層操作,實現(xiàn)程序的快速移植。不過因為Nucleo開發(fā)板更新很快,而Mbed升級較慢,經(jīng)常出現(xiàn)一個Nucleo開發(fā)板發(fā)布很久,Mbed上還不支持這個板子
使用Mbed的優(yōu)點:
使用簡單,兼容性好
支持Mbed磁盤,可以通過拖放bin文件方式下載程序
支持Mbed中間層,利用Mbed強大而簡單易用的庫
可以使用Mbed眾多第三方元件的庫
支持虛擬串口
支持STLink仿真和下載
其他
從元件上看,Nucleo-64使用了很多普通元件,比如8M晶體、32K晶體、USB等,都使用了以前常用的普通型號,體積較大,精度一般。而Nucleo-32和Nucleo-144基本將這些元件替換為更小封裝的型號,STLink的USB插座也從現(xiàn)在較少使用的miniUSB改為主流的macroUSB,方便了用戶。
Nucleo-32/Nucleo-64/Nucleo-144 對比表
Nucleo-32 Nucleo-64 Nucleo-144
大小(mm) 19 x 51 70 x 82 70 x 135PCB
層數(shù) 4 2 6
用戶USB 無 無 有
STLink USB macoUSB miniUSB macroUSB
STLink 可外連 否 是 是
接口
Arduino Nano Arduino Uno + Morpho Zio (Arduino + Morpho)
GPIO 20/22 51 118
用戶按鍵 無 1 1
用戶LED 1
1 3
電流測量 支持 支持 支持
外部晶體 32K 32K,8M(未焊接) 32K,8M(未焊接)
Mbed 支持 支持 支持
電源選擇
無 USB/E5V USB/E5V/VIN