STM32-NUCLEO开发平台全方位解析
扫描二维码
随时随地手机看文章
STM32 NUCLEO开发平台是ST最新发布的易用性好、可扩展性佳的低成本平台。开发平台具有mbed功能支持Arduino接口,同时还提供ST Morpho扩展排针,可连接微控制器的所有周边外设,可以利用Arduino巨大生态系统优势,便于快速实现STM32学习和评估!为了让大家在短时间内熟悉ST这款通用性的开发平台,这里以STM32-NUCLEO-072RB开发板为例,先简单介绍一下这个NUCLEO开发平台的特性。然后再详细说明一下,学好这个开发平台需要准备哪方面的资料,这些内容非常适合STM32初学者和初级工程师阅读。
STM32-NUCLEO-072RB开发板特性讲解
在讲解NUCLEO开发平台特性之前,先来看一下它的前辈--DISCVOERY套件平台。如上图,DISCOVERY是ST推出的针对不同MCU的低成本开发套件,不同的MCU型号,加载的资源和外观是不同的,基本特点是:采用绿色阻焊层(绿板);带有ST-LINK/V2仿真器;采用5V或者3.3V外部供电;一个复位按钮和一个用户按钮;LED灯数量从2个-9个不等;带有陀螺仪、加速度传感器、音频解码和段式液晶屏等不同外部资源;评估不同的MCU型号,需要够买不同的DISCOVERY套件才可以。
为了解决兼容性问题(在一个板子上评估多个系列MCU),再加上Arduino开发平台成熟生态系统的吸引和mbed网络编程工具的大力支持,ST的工程师们就设计了这样一款“核”板卡!与DISCOVERY相比,它成本更低,因为减少了不必要的外部资源;它扩展了Arduino插座,这样,和Arduino开发板“玩”的扩展板,也能和它一块“玩”;它支持MBED,在一些没有安装权限的办公平台上,使用网络就可以开发程序了,多方便!
总的来说,NUCLEO开发平台由ST-LINK/V2-1仿真器模块和主MCU核心板模块两个部分组成,它具有六大特性:
1、全新设计的ST-LINK/V2-1仿真器平台,可以独立使用
2、更加灵活的供电方式,适合实验室和现场开发应用
3、统一的主MCU核心板设计,真正一板多用
4、 外部资源少,可扩展性好
5、支持在线和单机多种IDE开发环境,丰富开发人员的选择
6、丰富的软件代码例程支持,方便短时间上手
特性一:全新设计的ST-LINK/V2-1仿真器平台
1、是以往探索套件DISCOVERY平台板载的ST-LINK/V2仿真器升级版,采用了全新的PCB布局,增加了一个STS7PF30L型P-MOS管芯片。如果是采用USB总线为主MCU板供电方式的话,需要等待仿真器驱动安装完毕后,才能打开MOS管,为主芯片供电,若PC机驱动安装不上,主MCU核心板无法供电!
2、通过SWD接口实现程序调试和下载
3、独立的跳线开关,可以单独使用仿真外部其他STM32MCU开发板!仿真器模块可以与主MCU核心板分离开,更加容易单独使用
4、一个USB接口实现三种功能: 仿真器内置全新固件,实现了虚拟串口,调试接口(SWD)和存储设备(Mass storage)三种功能
5、TX/RX引脚引出,独立实现USB转TTL串口线功能
特性二:更加灵活的供电方式
1、通用的USB总线供电方式—通过信号开关控制
2、灵活的外部5V或者3.3V或者7-12V电源供电(以前的探索套件没有)采用LD1117S50TR芯片实现 7-12V电压输入,5V输出;采用LD39050PU33R芯片实现5V输入3.3V电压输出
特性三:统一的主MCU核心板设计
1、NUCLEO各型号开发板的主MCU核心板是统一的PCB设计,支持64引脚的MCU型号芯片,除MCU不同外,其它都一样
2、你有一个NUCLEO开发板,可以对
STM32F030R8、STM32F072RB、STM32F103RB 、 STM32F302R8、STM32F334R8 、 STM32F401RE、STM32F411RE、STM32L053R8、STM32L152RE T6型MCU中的任何一个进行快速评估,代码上仅需要简单修改引脚配置即可,MCU型号涵盖5个大系列,满足各个行业的客户需求!
三个板子对比图,看一下,你能找到区别吗?
特性四:外部资源少,可扩展性好
板载资源:
1、 三个LED灯
通信指示: (LD1)
用户指示: (LD2)
电源指示: (LD3)
2 、两个按钮:用户按钮和复位按钮
扩展IO引脚排针和插座
1、带有ArduinoUno Revision 3插座,方便和ArduinoUno开发板及其扩展板无缝对接
2、IO通过ST Morpho 扩展排针引出,兼容ST扩展板
下面看一下几个扩展板:
Arduino UNO开发板
Arduino是意大利工程师设计的开源硬件平台,拥有良好的生态系统和各种Shield扩展板,实现特殊功能! Arduino UNO是Arduino USB接口系列的最新版本,作为Arduino平台的参考标准模板。UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。 输入电压(推荐)7-12V, 工作时钟16 MHz。
低功耗蓝牙评估板X-NUCLEO-IDB04A1
该套件是一个用在NUCLEO开发板上的低功耗的蓝牙扩展套件,它带有兼容Arduino的UNO R3接口,采用低功耗,兼容BTLE 4.0的 单模芯片BlueNRG。扩展板通过SPI方式与NUCLEO板上的MCU通信,用户可以改变SPI的时钟频率,SPI片选和SPI IRQ都可以通过板上的电阻进行修改。
步进电机扩展板X-NUCLEO-IHM01A1
基于L6474芯片的步进电机驱动板,可以用一个NUCLEO开发板驱动最多3路步进电机
Adafruit 1.8" TFT LCD shield扩展板
总结:有了插座接口和碟型排针,可以自制各种扩展板,比如触摸按键,TFT,SD,USB等
特性五:支持多种IDE开发环境
STM32 NUCLEO开发板支持在线和单机IDE平台:
1、支持mbed(mbed.org)在线IDE开发环境: ST官网地址链接:
http://www.st.com/web/catalog/tools/FM147/SC1887/P...
在仿真器虚拟出的U盘里面,有个网页文件,如果有网络,打开后就能进入
2、支持常用MDK/IAR/及基于GCC的开发环境等
MDK-ARM v5.01 以上
EWARM v7.10.3 以上
TrueSTUDIO v5 以上
STM32 Nucleo开发板能让开发人员能够利用mbed开源软件平台、在线工具和mbed.org的合作基础设施开发创新应用,从ST官网界面,就可以进入链接网站:
这里要求先注册一下,才能使用
注册后,打开ST-NUCLEO-F072RB板子文件,载入一个blink led项目后,编译一下,就生成一个二进制文件Nucleo_blink_led_NUCLEO_F072RB.bin,将该文件拖入仿真器虚拟出来的U盘内,就可以实现程序的下载,是不是很方便呢?不妨自己试一下
特性六:丰富的软件代码例程支持
STM32-NUCLEO开发板具有丰富的代码和例程用于学习,具有一个从下到上的完整生态系统
NUCLEO软件包: STM32 Nucleo_FW_V1.2.1
CUbeF0软件包: STM32Cube_FW_F0_V1.0.0
标准库及例程包: STM32F0xx_StdPeriph_Lib_V1.3.1
DISCOVERY套件软件包:STM32F072B-Discovery_FW_V1.0.1
高级评估板套件软件包: STM32072B-EVAL_FW_V1.0.0