[STM32F0] Nucleo-F070RB评测

[复制链接]
 楼主| dirtwillfly 发表于 2015-4-22 10:23 | 显示全部楼层 |阅读模式
本帖最后由 dirtwillfly 于 2015-4-22 10:23 编辑

    非常荣幸,能从21ic拿到Nucleo-F070RB。周一中午午睡时,突然接到快递电话,通知去取快递。拿到手看到是21ic发来的开发板,迫不及待的打开,看到简洁而时尚的Nucleo-F070RB。Nucleo开发板仍然采用了简洁的塑料包装,开发板的主要硬件一览无余。
image002.jpg

打开包装:
image004.jpg
image006.jpg

    Nucleo开发板,与Discovery系列开发板绿色的外观比较起来,略显小巧,但简洁的配色更突显时尚。
image008.jpg

   除了外观上的更简洁时尚,Nucleo开发板最大的特点是支持mbed。mbed平台,包括免费的软件库(SDK)、硬件设计(HDK)以及在线的Web开发环境,也就是常说的云端开发。使开发者可以告别庞大的占用很多硬盘空间的IDE软件,可以使用Nucleo固件库进行快速开发。当然,也可以使用离线版的mbed软件SMeshStudio进行开发Nucleo开发板第二个特点,就是具有完全兼容的Arduino Uno Rev3接口,可以和Arduino子板随意搭配,这也为快速开发生产提供硬件上的支持。    从2013年12月意法半导体宣布加入ARM MBED项目,到现在,意法半导体共推出了14款Nucleo开发板:
image010.jpg



    在这14款Nucleo开发板中,笔者去年在21ic有幸获得过一块Nucleo-F411RE,在这里正好做个对比:
image012.jpg
image014.jpg


    从外观上看,这两个开发板除了核心mcu不同和贴纸编号不同,其余硬件、外观基本都是一样的。咱们更进一步,看下两个开发板的I/O扩展是否相同:
image016.jpg

    从上面图片可以看出,两个开发板据大部分I/O扩展都是一样的。只有CN10上的第18个I/O不同,F070RB上是PB11,F411RE上是NC。
    从意法半导体的产品定位来说,Nucleo-F070RB是一款介于高性能和低功耗之间的开发平台,具有很高的性价比,在digikey仅售80.99元。可以参考下图ST的产品线(ST产品线图官网还未更新到14款产品):
image018.jpg
Nucleo-F070RB开发板硬件原理框图:
image020.jpg

Nucleo-F070RB开发板正面硬件图:
image022.jpg

Nucleo-F070RB开发板背面硬件图:
image024.jpg

    透过上面硬件图,我们可以看到Nucleo开发板的这些硬件特点:

1、Arduino Uno Rev3接口,支持Arduino兼容的子板;

2、扩展了ST Morpho全部的I/O接口,方便连接控制器的周边外设进行硬件扩展;

3、集成ST-Link/V2-1的调试下载器,可用于下载和调试程序,支持对外部微控制器调试;

4、板载的TQFP64封装的STM32F070RBT6,该mcu具有Cortex-M0架构,主频最高可以达到48MHz。

5、板载3个LED,一个USB通讯LED,一个电源LED和一个用户LED;

6、板载两个机械按键:一个复位按键和一个用户按键。

另外还需要说明的是:

1、Nucleo开发板的USB接口具有三个不同的功能,虚拟串口、容量存储和调试接口;

2、有3种不同供电方式:mini USB接口供电、IO引脚用电、通过Arduino UNO R3 Shield接口供电;

3、支持Keil、IAR、GCC和embed在线IDE的设计工具。





 楼主| dirtwillfly 发表于 2015-4-22 10:23 | 显示全部楼层
核心微控制器STM32F070RBT6
    板载的微控制器STM32F070RBT6,是采用高性能的ARM Cortex-M0 32位RISC内核,最高工作频率48MHz,具有高速嵌入存储器(128KB闪存和16KB SRAM),工作电压范围2.4V-3.6V,以及各种增强性外设和51个I/O,提供标准通信接口(两个I2C,两个SPI和四个USART),一个USB全速器件,一个16通道12位ADC,7个通用16位计时器和一个PWM定时器。主要用在应用控制和用户接口,手持设备,A/V接收器和数字TV,PC外设,游戏和GPS平台,PLC,逆变器,打印机,扫描仪,告警系统,视频互连和HVAC等领域。

STM32F070RB框图:
image026.jpg


 楼主| dirtwillfly 发表于 2015-4-22 10:23 | 显示全部楼层
本帖最后由 dirtwillfly 于 2015-4-22 10:16 编辑

我将在mbed开发环境下体验Nucleo-F070RB的开发。首先下载ST-Link Driver,下载链接:https://mbed.org/teams/st/wiki/ST-Link-Driver。下载后双击打开,安装驱动。我的电脑是32位的win7操作系统,所以我选择安装dpinst_x86.exe。出现下图,就安装好了驱动程序。
   image028.jpg

现在把板子用mini usb数据线连接Nucleo-F070RB到电脑,稍等一会。可以看到有新的移动存储设备被识别出来:
   image030.jpg

此时,开发板上红色的USB通讯LED和红色的电源LED都是常亮状态,绿色的用户LED在不停地闪。
image032.jpg

 楼主| dirtwillfly 发表于 2015-4-22 10:23 | 显示全部楼层
本帖最后由 dirtwillfly 于 2015-4-22 10:18 编辑

双击打开移动存储设备NODE_F070RB,里面的文件:
image034.jpg

mbed.htm其实就是一个网页链接,打开后会跳转到:http://developer.mbed.org/platforms/ST-Nucleo-F070RB/该页面有对Nucleo-F070RB开发板的英文介绍和Arduino 接口及ST Morpho 扩展接口图:
Arduino接口图:
image036.gif   
Morpho接口图:
image038.jpg


 楼主| dirtwillfly 发表于 2015-4-22 10:23 | 显示全部楼层
本帖最后由 dirtwillfly 于 2015-4-22 10:21 编辑



此时会出现“Create new program”的对话框,点击Template后的选择框,可以选择要运行的例程或者Empty Program:
image046.jpg


我先选择一个最简单的程序:BlinkyLED test for the ST Nucleo boards,其他选项不变,工程名:Nucleo_ticker也不变。然后点击对话框的OK。稍微等待几秒建立新程序,出现如下页面:
image048.jpg


此时可以看到工程/Nucleo_ticker。其中main.cpp是主程序,另外还有mbed库,点开左侧的工程管理栏,可以看到用到的具体的mbed库文件:ClassesFilesStructsGroups
image050.jpg
 楼主| dirtwillfly 发表于 2015-4-22 10:23 | 显示全部楼层
本帖最后由 dirtwillfly 于 2015-4-22 10:22 编辑

我们打开main.cpp文件,看下主程序的源码:
#include "mbed.h"

Ticker toggle_led_ticker;

DigitalOut led1(LED1);

void toggle_led() {
    led1 = !led1;
}

int main() {
    // Init the ticker with the address of the function (toggle_led) to be attached and the interval (100 ms)
    toggle_led_ticker.attach(&toggle_led, 0.1);
    while (true) {
        // Do other things...
    }
}
点击页面菜单栏“Compile”,对代码进行编译。编译完成出现:
image052.jpg



点“保存”把编译好的bin文件保存到电脑。通过鼠标把这个bin文件拖拽到移动存储设备NODE_F070RB,这样就完成了对stm32f070rbt6的烧写。按Nucleo-F070RB开发板上的复位按键,就可以看到实验效果了。绿色LED在闪烁(好吧,和不烧写这个程序时现象一样),因为板子自带的就是这个demo程序。。。。


总结:通过对板子的观察和实验,体验了使用mbed方式开发软件的过程。非常喜欢Nucleo平台的这种快速的开发方式,同时使用mbed对我用的这种低配置电脑也是一个非常好的选择。另外,板卡强大的的可扩展性,方便的拖拽下载方式,也是非常具有特色。





By:灰小子(21ic论坛id:dirtwillfly)


2015年4月21日




 楼主| dirtwillfly 发表于 2015-4-22 10:23 | 显示全部楼层
占楼备用
lxkholmes701 发表于 2015-4-22 10:40 | 显示全部楼层
占楼学习,顶~~~
angus118 发表于 2015-4-22 10:41 | 显示全部楼层
恭喜群主大大,感谢群主大大分享资料
brave123 发表于 2015-4-22 18:51 | 显示全部楼层
很好,顶。。。。
jshengw 发表于 2015-4-22 19:13 | 显示全部楼层
好详细~!顶~~~
lvyunhua 发表于 2015-4-22 20:20 | 显示全部楼层
不错,学习了。
 楼主| dirtwillfly 发表于 2015-4-22 20:22 | 显示全部楼层
angus118 发表于 2015-4-22 10:41
恭喜群主大大,感谢群主大大分享资料

:Q花了两个晚上的宝贵时间
amd1217 发表于 2015-4-22 20:39 | 显示全部楼层
感谢分享,很好的总结。
mmuuss586 发表于 2015-4-22 22:38 | 显示全部楼层

不错,呵呵;
小浣熊 发表于 2015-4-22 23:15 | 显示全部楼层
不错额。。。确实有收获。
秋风式街球 发表于 2015-4-22 23:43 | 显示全部楼层
大大就是牛!!!
戈卫东 发表于 2015-4-23 05:09 | 显示全部楼层
好。。。。。。学习。。
SLHSu37 发表于 2015-4-23 08:20 | 显示全部楼层
好吧··我现在才知道,插上nucleo出现的小U盘,是小程序用的···········
mafang618 发表于 2015-4-23 08:50 | 显示全部楼层
非常感谢版主的辛苦介绍
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422 我的博客:http://blog.timcu.com/

1194

主题

35077

帖子

1122

粉丝
快速回复 返回顶部 返回列表