你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Nucleo平台最新开发利器——ST Nucleo-F091RC开发板评测 精华  

[复制链接]
沐紫 发布时间:2015-1-19 11:19
STM32 NUCLEO开发平台是ST在2014年最新发布的易用性好、可扩展性佳的低成本平台。开发平台具有mbed功能支持,提供Arduino接口,还提供ST Morpho扩展排针,可连接微控制器的所有周边外设,可以利用Arduino巨大生态系统的优势,通过Arduino shield 板快速评估包括以太网、LCD 显示器、GSM 语音及数据通信、ZigBee 通信、WiFi 网络连接、电机控制、音乐及声音合成器等多种应用。. \, b, w8 H7 }, m# n& M. C; k
如果之前不了解Nucleo平台,可以先看看爱板网之前发过的NUCLEO开发板评测文章
; g9 U/ N. j8 Z' t相比以前的Discovery系列套件,NUCLEO开发平台有三大方面的显著特性:
% Q1 B+ }- r0 \' b+ x! L0 o
  • 统一的硬件PCB设计,真正做到一板多用。意味着只要手中有一个NUCLEO硬件平台,就可以通过更换MCU芯片的方式,评估STM产品5大系列10款产品。1 t' h. d3 `- k5 Q3 R8 C5 O
% M& g6 t' K. V; Q( s
三个板子对比图,看一下,你能找到区别吗?
  • 支持mbed云端开发方式。mbed是一个面向ARM处理器的原型开发平台,它具体包括免费的软件库(SDK),硬件参考设计(HDK)和在线工具(Web)三部分内容。它的宗旨是让ARM和Arduino一样简单用,cortex和AVR一样开发。
    2 y7 G) H" B2 y$ \  A3 H
  • 带有ST Morpho 扩展排针和Arduino Uno Revision 3插座。通过Morpho 扩展排针可以挂接多种扩展应用板,通过Arduino Uno Revision 3接口,可以连接数十个兼容 Arduino 的扩展板,实现多种应用开发。
    8 d' {0 X3 h( S
总体来说,NUCLEO系列开发平台构建了一个新型的生态系统,并融入一个更大的ARM生态圈。结合mbed的云端优势和Arduino接口丰富的资源,NUCLEO开发更加简单,应用也更加多样化。到目前为止,ST意法半导体一共推出了10种Nucleo开发板,基本上定价都在10美元左右,如下图所示。' w! v! V7 M# e+ z

. E/ I5 M& G3 [, c今天向大家介绍的是最新的Nucleo-F091RC开发板,基于Cortex-M0内核的F0微控制器,可以说是STM32F0STM32F0系列产品系列里目前性能最强大的Nucleo开发板。和之前我们评测过的Nucleo-F072RB开发板非常相似,两种开发板的核心微控制器相比差别非常小。
  |* q: Q- f1 G' |$ @! x8 Y7 N
, a; S& o/ ^3 n* v7 ]8 f7 QSTM32F091RCSTM32F091RC数据手册相比STM32F072RBSTM32F072RB数据手册来说片上FLASH和SRAM容量更大,足以实现Java堆栈,能够运行通常只有大存储容量或昂贵产品才能运行的复杂应用软件,带来令人满意的用户体验。它克服了目前定位在经济型应用的同类产品的限制,可提供多达8通用同步/异步串行接收/发送器(USART, Universal Synchronous/Asynchronous Receiver/Transmitter),为车载音响或三相电表等应用节省多路复用通信端口。
2 v! A/ M% r4 C7 e$ x; S! z, g" YNucleo-F091RC开发板硬件上由全新设计的ST-LINK/V2-1仿真器和MCU核心板组成。' R5 ]) C" ]$ d/ e( g9 k( a1 D
Nucleo-F091RC开发板整体做工细腻,用料考究,采用白色阻焊和魅蓝色丝印,让人眼前一亮,相比Discovery系列的传统绿油白字,拥有更佳的色彩体验感。在PCB外形方面,Nucleo开发板相比Discovery系列有较大变化,
- n% X' f2 O& f( F, Z( |+ t9 e
  • 首先在ST-LINK/V2-1仿真器和MCU核心板 之间增加了隔离槽,可以将两者分开,仿真器单独使用;
  • 其次,在MCU核心板上增加了3处定位孔,可安装半径3mm螺丝铜柱;
  • 最后,MCU核心板底部采用突出外形,对应于Arduino 开发板机械外形。: F4 i1 E8 J3 U; g4 ]
ST-LINK/V2-1仿真器带有独立的SWD仿真接口,可通过跳线开关设定来仿真板上或者外部MCU器件。相比Discovery系列搭载的ST-LINK/V2仿真器,ST-LINK/V2-1仿真器采用全新的PCB布局,以STM32F103CBT6STM32F103CBT6数据手册为核心控制器,除了调试接口(SWD)外,额外实现虚拟串口和存储设备(Mass storage)接口二种功能,其中存储设备接口功能可将板载的MCU的FLASH虚拟成存储设备,只需要将各种开发环境编译生成的bin文件复制到存储设备中,就可实现程序下载,主要针对mbed功能应用。另外,还支持USB软件的重新枚举功能,并且枚举成功后,可为MCU核心板提供大于100mA至最大300mA电流。! J5 d+ Q6 W' o- f, l: \

: K, }/ [# r( SMCU核心板设计简洁,板载一个复位按钮,一个用户按钮和一个绿色LED灯。板载微控制器为STM32F091RCT6,LQFP64脚封装。
# X% \. W4 p" }  o9 b! Y
  • ARM Cortex-M0 CPU up to 48MHz
  • 256 KB Flash
  • 32 KB SRAM
  • 12位 ADC 1 Msps最大16 channels
  • 最大 12个定时器
  • 2x I2C, 8x USARTs,2x SPIs, CAN
  • 96位唯一 ID2 h3 J3 B3 @; N' Y
; x$ Q2 c7 W5 X$ P0 K
Nucleo-F091RC开发板采用多种供电方式。
8 T* n) I8 S' ~# V6 m
  • USB总线接口(VBUS)供电。ST-LINK/V2-1枚举成功后,通过一个STS7PF30L型P-MOS管芯片开关来实现对MCU核心板供电,或者通过SB1锡桥设置来直接为MCU核心板供电。
  • 灵活的外部3.3V/ 5V/ 7-12V电源供电。采用一片LDO芯片LD1117S50TRLD1117S50TR数据手册实现 7-12V电压输入,5V@最大800mA电流输出;采用LD39050PU33RLD39050PU33R数据手册芯片实现5V输入3.3V@最大500mA电压输出。
    . w. j, p, m4 y4 }

( K; f' I6 V/ H. H% t# u8 D通过MCU核心板上的JP6跳线开关可以测量MCU核心板的电流消耗。在采用USB供电时,正常运行程序时,电流消耗为1.18mA。
" R5 ]' @( I5 _- A2 T. U7 x1 m8 x) o% l6 ^9 n0 O
ST Nucleo-F091RC开发板通过Morpho和Arduino接口支持多种扩展板,例如:. c( a$ E& {9 Z4 v& c) H  I
想要更进一步了解比较Nucleo开发板可以查看STM32-NUCLEO开发平台全方位解析
# m. |* @4 V+ INucleo开发板的资源特别丰富,在开始使用之前可以去下面网站找到大量Nucleo-F091RC开发板的相关资源。! @- |# z* \& e' v( n
也可以参考STM32-NUCLEO开发平台资料准备好各种资源。6 ^4 |) x. L: R6 d% h, f7 O
驱动安装及硬件准备
9 @/ {6 E: n. J( m2 d6 o/ e/ ~5 r给ST Nucleo-F091RC开发板上电前,先去ST社区下载ST-LINK/V2-1驱动或者去ST官网下载STM32 ST-LINK utilityV3.5.0 , 这里还要下载虚拟串口驱动STM32 Virtual COM Port Driver, 安装好这些驱动,给ST Nucleo-F091RC开发板上电后,在PC机上,打开我的电脑/属性/设备管理器,会看到# u" b4 c: M9 ^& k# h

# S: _( k4 y- `3 F+ {这三个地方识别到调试接口,虚拟串口和存储设备了。在我的电脑中,会出现一个容量为256K大小的U盘盘符。它固定占用16k容量,存储文件内容如下:* b3 H' c9 c& R. `

. I8 h6 b2 K' S, ^这个支持MBED开发环境。打开安装好的ST-LINK utility软件,点击界面上的链接按钮,如果出现下面的信息,表明ST Nucleo-F091RC开发板驱动安装成功了,硬件已经准备好。
, `$ k. g' L: A. o5 M' M# O7 @1 U; I* Y( c, v4 t5 y0 |( I
多种IDE软件开发方式6 D2 ?" p. ]' H2 l+ P2 Y9 i
ST Nucleo系列开发平台最大的特色之处在于焕然一新的软件开发方式。除了支持传统的IDE开发环境比如KEIL-MDK/IAR-EWARM/ TrueSTUDIO外,增加了在线的mbed开发环境和STM32Cube软件支持。其中STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列,平台包括了STM32Cube 硬件抽象层和一套的中间件组件(RTOS, USB, FS, TCP/IP,  Graphics, 等等)。它由两部分组成,) M# b( d4 |: s5 M
  • 一是 PC端的图形化配置工具:STM32CubeMX;
  • 二是基于STM32上的完备固件集合:STM32Cube库STM32Cube_FW_F0_V1.1.0。
    4 y+ M5 r* y6 E' H( I
相信将来,ST将会逐步放弃对标准固件库的更新,全面转向STM32Cube完备固件库。# o7 d' ~% w$ n. j/ G- e
7 K2 _* k+ I4 ], Q
mbed云端--最快捷的开发方式。无需安装IDE软件,而且有非常多模板可以快速的上手。第一次使用时需要注册账号,之后就可以按照模板开始自己的设计。可以参考从繁至简,颠覆传统设计的云端开发——极具性价比的STM32F401 Nucleo开发板评测了解在线mbed的使用。, P  [3 o% L- W# G2 Y- R6 p
注册成功后,进入的界面是这样子。通过新设计,可以建立多种基于模板或者空白模块的程序。6 g* L0 r/ s7 v9 |% M
5 Y5 X; [8 Y  F* G
这里选择一个通过虚拟串口打印字符到PC机上的模板进行说明,设置工程名:Nucleo_printf。  @5 q5 ~( ?8 G: J  G- X# C2 B
" F+ e: x8 z# ~8 a6 r( Y2 N5 R
确认后,自动生成一个工程文件,main.cpp文件如下,串口格式:9600-8-N-1。代码是C++格式。
$ ?4 K: W; L0 c6 N0 D! w$ G! [$ ?; s% O' T6 @6 s( A+ k
点击上图中的编译按钮,编译完成后,会自动生成bin文件,并提示进行保存
3 O" A' J* N5 z& |) g' E
/ j( o" [- I  y) ?0 T( h7 C将这个bin文件复制到U盘内,即可实现程序的下载,真是超级简单!- O8 I3 ~4 ]. l7 F( ?3 R
- Z- Q2 ^  j% u6 n4 q
将板卡复位一下,程序就会自动运行了,每次复制bin文件到U盘都会实现程序固件的更新,这种“新颖”的下载方式也是NUCLEO系列平台的一个特色。6 L& [1 S7 b2 E& N
打开串口终端,设置好9600波特率,8位数据,1停止位,无校验,然后就可以看到Nucleo-F091RC开发板发送的信息了
' M+ |+ z( f. A0 P2 J. u/ E. j
& h  K5 Y" i2 E" I1 P/ J  I% RKEIL-MDK+标准固件库--最熟悉的开发方式。这种开发方式是最传统的方式,也是最熟悉的方式,只要下载到标准固件库:STM32F0xx_StdPeriph_LibV1.4.0,参考搭建STM32-NUCLEO-KEIL-MDK工程模板的方法,就可以快速实现程序开发,因为STM32F091STM32F091系列产品系列芯片刚推出不久,KEIL-MDK内部没有此系列型号,需要找到路径STM32F0xx_StdPeriph_LibV1.4.0\Utilities\Third_Party\Toolchains_STM32F091_Patches中的补丁工具MDK-ARM STM32F09x_256k _Support_V1.0,将型号信息安装到KEIL-MDK软件中,这里安装到了KEIL-MDKV4.73版本中。建立如下工程模板. S% Q) j5 t/ O7 `% ?, ?
* k; u7 B$ b( f9 \8 b4 ~6 c$ B, [
并在KEIL-MDK中实现如下文件,编译下载。这里实现了LED灯/串口打印/中断按键的驱动
( p9 ?; a; \% O, C) Q" T! |0 z! B$ h% l+ K8 P9 D
在串口助手上打印信息如下:, y/ |6 B2 k4 _& b- @
" W' u* u( `+ i7 s
STM32CubeMX + CubeF0完备固件库—最潮流的开发方式。采用STM32Cube软件开发,还是离不开KEIL-MDK/IAR-EWARM/ TrueSTUDIO等IDE开发环境的支持。所以,在此之前,必须要安装MDK-ARM STM32F09x_256k _Support_V1.0类的补丁工具。+ b2 _, a7 D% `$ _" Q5 A7 C
STM32CubeMX是一款图形化工具,它用于STM32初始化代码的配置。它可以直观地进行STM32型号和板卡选择;进行图形化外设资源配置;C代码项目产生,并且它可以很好地支持Eclipse,作为一个插件使用。9 W4 ]3 O5 u7 b$ g: K8 n8 Q
在使用前,要安装好java软件 才能安装该软件。打开界面后,有【MCU】和【Board】两个选项,这里选择【Board】选项。在【MCU Series】里面选择STM32F0,在【Type of Board】里面选择Nucleo,通过这样的筛选,会看到有3款NUCLEO开发板在列,这里选择NUCLEO-F091RC,在显示绿色的可用外设中,设置button数量1个,Led数量1个。; H% B: A" A+ w3 \* S" t; D' G

6 w( h$ ?# `0 L! X# |) f# ^- }- n在引脚配置中,为用到的引脚会以黑色显示。不同的外设和特殊功能引脚颜色不同。, c( r7 m5 E0 y$ _! O( W" S
在配置选项中,可以选择是否使用FATFS文件系统或者FREERTOS等。
+ h4 ?8 }1 X: C1 _+ d1 _& n6 i3 Z0 K4 S  E; Y
在时钟配置界面,可以修改时钟频率,作用等同STM32F0xx_Clock_Configuration_V1.0.1. y2 F1 H# Z% V1 }

  A. r1 ~9 {, M$ i1 j# ^6 H  d6 ?通过点击矩形方框中的资源模块进行分类详细配置
3 F8 V+ [- {1 P1 a, f8 J
. y# s3 N- T; A  F/ U一个针对GPIO引脚的具体配置
) R* r6 L  i0 j; o& w# I4 c* M# d
, I: X5 z8 [( c2 p最后的配置是针对电源功耗的计算,里面有不同种类锂电池可以选择。
, w8 |/ j0 b# G2 s0 q! J3 I3 Y, Y5 U8 g6 o. O5 K
点击工程界面的【Generate Code】选项,# t5 }' t7 E/ x8 e
! d# P8 D  a& b
在工程设置里面,设置好输出工程名,输出工程文件路径和IDE开发环境等。STM32Cube_FW_F0_V1.1.0要设置好对应的目录,否则无法正确输出。【Code Generator】里面保持默认选项即可。4 @( e. ^" u7 [8 U" E' X

, w. `% j/ r9 j7 a3 @产生的工程文件夹内容
0 [5 `8 z7 \$ C" V, q) O9 J+ b7 }% b8 U
这里是可以直接下载的,只不过仅是外设的初始化代码,需要自行增加用户代码。
7 @: x- I% L" ^9 u) o: u! v; H) U
' l: L3 s, f( v" w$ ySTM32Cube_FW_F0_V1.1.0是STM32Cube系列软件中针对F0的完备固件库。它在结构上比原来的标准固件库增加一个中间件部分。硬件抽象层STM32F0xx_HAL_Driver和原来的标准固件库类似,注重不同系列型号中硬件资源配置代码的兼容性。通过这样的方式,可以更好地降低STM32开发门槛,增加不同系列型号软件代码的通用性,可移植性。
- W, Y) n5 ?& y, A8 c
6 k6 w8 X6 i0 d0 n/ a) [2 s4 N在STM32Cube_FW_F0_V1.1.0的工程文件夹中,可以找到ST Nucleo-F091RC开发板文件夹( I  @, ?3 [* Q: _: e3 u

# h5 {& I  ]: ~0 L. O7 h打开演示文件夹,打开KEIL-MDK工程文件
. b$ }: _2 r6 h$ ]# b2 M- X( l9 \$ y4 Z% p* N+ a' J( Z' ?3 ]/ y
可以看到资料齐全的各种驱动代码,借助这些经过验证的代码,快速实现产品开发。
& p% F: o2 }" B2 R( Z. r' b& B5 i+ l9 W# w* C, ~+ H
编译后,即可下载,因为手头没有Adafruit 1.8" TFT LCD shield扩展板,只能看到LED灯闪烁。) P) x2 p8 S0 [0 C

2 X. r8 |7 f4 O+ e小结, z" B# e2 Y( r" M$ p/ z. Y& T
介绍了最新的Nucleo-F091RC开发板,10美元左右的价格使它成为性价比很高的开发套件。全新设计的ST-LINK/V2-1仿真器,全扩展接口以及Arduino兼容接口使得Nucleo开发板应用更加多样化。支持各种常用开发软件及在线mbed平台使得Nucleo开发板更加容易上手。统一化的硬件设计风格,让用户可用最低的成本评估5大系列10款产品。STM32Cube系列软件更是带给广大工程师崭新的开发体验,未来采用STM32Cube完备固件库开发将是一种必然的趋势。总体而言,Nucleo-F091RC开发板是一款非常好的ARM Cortex-M0入门学习套件。
* i+ {  P8 k/ z/ z参考资料
- F" w/ T' `! a' M$ I- n0 e$ }) g! X3 a

% s( F6 j8 k( r: h) v以上评测文章由社区特邀爱板网撰写,原文地址:http://www.eeboard.com/evaluation/st-nucleo-f411re-review/
; n! v1 n# S" p9 {! r( G; g9 T, }, W8 H, M/ |3 s1 U8 R7 m- e
收藏 7 评论93 发布时间:2015-1-19 11:19

举报

93个回答
harvardx 回答时间:2015-1-21 10:50:34
插入一下.哈哈 ,文章中提到的F0xx标准外设库是V1.4.0, 现在官方已经更新到. V1.5.0 上传给大家.) a3 c# q5 o. _+ J( j
http://yunpan.cn/cy7IAMx5P6Q92 (提取码:2e1b)
5 R/ z2 f: E# M; R$ M: T; g1 H7 X- J% x; p) r6 T, Y. L1 Q
关于F072 和F091等新芯片MDK4 MDK5不支持的问题,可以通过以下路径添加支持:3 B, Z, q- H  I

. G2 }( t% s/ ~, v' o0 c7 r..\STM32F0xx_StdPeriph_Lib_V1.5.0\Utilities\Third_Party\Toolchains_STM32F030xC_STM32F070x6_STM32F070xB_Patches\MDK-ARM STM32F030xC_STM32F070xB_STM32F070x6_Support.zip ( o3 c& g5 d- g% k& L: P
4 p6 [& R' P- u6 _# }1 f
当然如果你喜欢iar则选另外一个.
. Z& V( j: H" y% F/ L
大秦正声 回答时间:2015-1-19 13:51:36
版主讲的很详细!
沐紫 回答时间:2015-1-19 13:16:39
zfz0122 发表于 2015-1-19 11:38# V3 m# k+ D. l) z
重复发帖。。。nucleo的拓展板去哪找啊
3 p2 e2 E8 e, j8 ~* M
我看到你那个帖子内容不全,这个是我们邀请爱板网发布的评测文章,我都搬过来啦
子曰小玖 回答时间:2015-1-19 11:22:10
真不错!!!!!
拼命三郎 回答时间:2015-1-19 11:30:04
不错,学习了,不过图中的Micro USB标注错误,应该是MINI USB
abend 回答时间:2015-1-19 11:34:40
拼命三郎 发表于 2015-1-19 11:30
- V6 a  i& i. _% q. N不错,学习了,不过图中的Micro USB标注错误,应该是MINI USB

1 x0 m8 N& o& h是的,Nucleo都用这个,真心不喜欢
kqh1120 回答时间:2015-1-19 11:38:48
本帖最后由 zfz0122 于 2015-1-19 12:13 编辑 / z4 W9 @! x& f# q
$ ~- Q9 p, }! l# j: z
重复发帖。。。nucleo的拓展板去哪找啊
wyxy163@126.com 回答时间:2015-1-19 12:56:15
提示: 作者被禁止或删除 内容自动屏蔽
cxtarm 回答时间:2015-1-19 13:09:17
不错的板子
大秦正声 回答时间:2015-1-19 13:50:06
uart有8个啊!
harvardx 回答时间:2015-1-19 15:32:57
奇怪 为何我不能在cubemx选择091 ,你们的版本是啥?
harvardx 回答时间:2015-1-19 15:59:57
harvardx 发表于 2015-1-19 15:32* y8 c# h4 m& M0 o
奇怪 为何我不能在cubemx选择091 ,你们的版本是啥?
3 ~- d/ ~  ~3 O+ S) z
注意 .cubemx已经升级 ,选哟手动去官网下载. 用他自己的update居然查不出来.哈哈 .升级后 就可以看到091了
boyubeiyu 回答时间:2015-1-19 16:03:55
这个评测很不错
Dylan疾风闪电 回答时间:2015-1-19 16:29:42
好详细的说明
wamcncn 回答时间:2015-1-19 17:33:05
M0的视频资料少,不像M3一样,不仅有详细的中文固件库说明,还有很多视频

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版