XNUCLEO-F103RB

来自Waveshare Wiki
Waveshare-admin讨论 | 贡献2021年2月23日 (二) 16:51的版本 (Text replace - "EMAIL:3005223819@qq.com<br/> 电话:0755-83040712<br/> QQ:3005223819<br/> 微信:扫下方二维码添加<br /> 200px<br /> <small><nowiki>*</nowiki> 企业微信添加好友时软件无提示,我们无法及�)
跳转至: 导航搜索
XNUCLEO-F103RB
XNUCLEO-F103RB (套餐A)
XNUCLEO-F103RB (套餐B)
{{{name2}}}
{{{name3}}}
板载接口
Arduino ICSP ST Morpho SWD
USB USB TO UART
相关产品
NUCLEO开发板
套餐模块

产品概述

STM32 Xnucleo 开发平台为用户提供了一个经济、灵活和便捷的方式去实现更具创意的设想。并能通过选择执行性能、电源功耗和资源特性等多种组合快速搭建原型。 得益于通用的Arduino™和ST Morpho接口的支持,本产品可以搭配众多的Shield,便于用户在开源平台上使用多种扩展。 STM32 Xnucleo 兼容并能直接运行STM32 Nucleo 官方提供STM32综合HAL库和各种包装好的实验例子,并且可以直接兼容Nucleo的多种Shield。用户可在mbed.org直接访问STM32 Nucleo相关的在线资源。

产品特性

  • 使用LQFP64封装的STM32单片机;
  • 两种可扩展资源:

- Arduino Uno Revision 3通用连接头; - STMicroelectronics Morpho 扩展连接头以访问所用的STM32的IO端口;

  • 支持mbed;
  • 引出SWD接口,支持更多的下载/调试方式,如:ST-LINK/V2 (MINI) , J-LINK-ARM, ULINK V2;
  • 灵活的电源选择:

- USB 电源; - 外部输入电源VIN(6V<=VIN<=12V)来自Arduino和ST Morpho connector连接头,也可以通过CN2电源接头(6V~12V)输入; - 外部5V电源(E5V)来自ST Morpho connector连接头; - 外部+3.3V电源来自Arduino或ST Morpho connector连接头;

  • 7颗LEDs:

- 电源指示灯PWR,FLASH LED,串口接收指示灯RX和发送指示灯TX;

  • 两个按键:

- 分别为复位按键(RESET)和用户按键(USER);

  • 外部高速晶体振荡器:

- 8MHz 晶体振荡器;

  • 外部低速晶体振荡器

- 32.768KHz 晶体振荡器;

  • USB转虚拟串口;
  • USB接口(XNUCLEO-F030R8没有USB接口)
  • ICSP接口(兼容Arduino LEONARDO的shields),作为SPI接口使用;
  • 综合HAL库和多个实验例子
  • 支持广泛的集成开发环境(IDEs),包括IAR,KEIL,基于GCC的IDEs;

产品型号

表1. Xnucleo系列信息
型号 目标MCU
XNUCLEO-F030R8 STM32F030R8T6
XNUCLEO-F103RB STM32F103RBT6
XNUCLEO-F302R8 STM32F302R8T6
XNUCLEO-F401RE STM32F401RET6
XNUCLEO-F411RE STM32F411RET6

XNUCLEO-FXXXRY含义如下:

  • FXXX为STM32 MCU产品线
  • R为管脚数(R意味着有64个管脚)
  • Y为FLASH容量(8为64K,B为128K,C为256K)

快速入门

安装开发工具

CP2102虚拟串口驱动的安装

STM32 Xnucleo 板载了基于CP2102的USB TO UART接口(下文简称为串口),方便用户调试代码。用户需要安装CP2102驱动程序才能正常工作。
运行安装程序:. \Xnucleo \tools\CP2102 driver\PreInstaller.exe
安装完成后,将XNucleo的USB TO UART接口连接到电脑上,可在“设备管理器”中查看到设备CP210x USB to UART Bridge Controller,则说明驱动安装成功。

STM32 ST-LINK UTILITY 的安装

运行安装程序:.\Xnucleo user\tools\STM32 ST-LINK Utility\STM32 ST-LINK Utility_v3.4.0.exe。(具体安装和使用方法,请参考ST官方的说明文档:.\Xnucleo user\tools\STM32 ST-LINK Utility\Readme\STLINK Utility.PDF。用户也可以到ST官方下载最新的安装程序。)
安装完成后,将ST-LINK/V2 (mini)模块连接到电脑上,可在“设备管理器”中查看到设备STMicroelectronics STLink dongle,则说明驱动安装成功。

J-LINK驱动的安装

运行安装程序:. \Xnucleo user\tools\JLinkARM\Setup_JLinkARM_V415e.exe。
安装完成后,将J-Link仿真器连接到电脑上,可在“设备管理器”中查看到设备J-Link driver,则说明驱动安装成功。

启动出厂程序

按照以下顺序配置STM32 Xnucleo,并且启动演示例程:

硬件设置

1) 设置板载跳线
  • JP3 选择 U5V
  • JP2 置为 ON
2) 接入电源
  • 使用USB电源时,连接Xnucleo板载USB到PC。
  • 使用外部电源时,连接Xnucleo电源座CN2到6~12V电源适配器。

3) 连接ST-LINK/V2 (mini)到Xnucleo的SWD接口
注意:如果先连接ST-LINK/V2 (mini)到SWD接口,再连接USB电源或外部电源,可能会导致ST-LINK/V2 (mini)初始化失败。

查看程序现象

每按一次USER按键,USER LED的闪烁频率由从快切换到慢,或者由慢切换到快。
===硬件配置

供电设置

STM32 Xnucleo 可以通过USB供电,也可以用过外部电源供电。
可由以下位置供电:

  • 位于CN6 或者CN7 的VIN (6V~12V)
  • E5V (5V) 或者 +3V3电源引脚
  • CN2电源接头(7V~12V)

其中VIN (7V~12V),E5V (5V),+3V3和CN2是通过使用一个外部的电源设备对Xnucleo进行供电。

USB电源输入

Xnucleo的所有部分以及Shield,在接上ST-LINK/V2 (MINI)之后,均可由ST-LINK/V2 (MINI)的USB接口,从PC主机获得供电。
如果用户使用ST-LINK/V2 (MINI)对Xnucleo供电的情况下:在ST-LINK/V2 (mini)对外输出3.3V时,则ST-LINK/V2 (mini)对应输出的最大电流为150mA。在ST-LINK/V2 (mini)对外输出5V时,则ST-LINK/V2 (mini)对应输出的最大电流为300mA。在这种情况下,只能强制使用外部电源,将在下一节介绍。
Xnucleo板载的所有器件和扩展板也可以使用自带的USB接口供电(U5V)。但应该注意,如果Xnucleo 需求超过300mA的电流,可能对USB有损害。当使用USB对Xnucleo供电时,必须通过JP3设置跳线选择U5V。如表 2. 电源相关跳线所示。

表 2. 电源相关跳线
跳线 描述
JP3 当使用USB供电时,必须跳线选择U5V(默认设置)
XNUCLEO-F103RB-1.png
当使用CN2,VIN或E5V必须跳线选择E5V
XNUCLEO-F103RB-2.png

使用CN2,VIN或E5V作为外部电源

CN2,VIN或E5V可以被用作为外部电源以防Xnucleo和扩展板的负载电流超过USB允许电流。在使用时,必须先连接好外部电源,然后再连接USB或ST-LINK/V2 (mini)。这个过程确保Xnucleo正常工作。

表 3. 外部电源参数
电源名 对应管脚 电压范围 最大电流 使用限制
CN2 CN2 6V~12V 800mA 输入电流与输入电压有关:
当CN2/VIN = 7V时,输入电流为800mA。
当6V<CN2/VIN(<或=)9V时,
输入电流为450mA

当9V<CN2/VIN(<或=)12V时,
输入电流为250mA

VIN CN6的8脚
CN7的24脚
E5V CN7的6脚 4.75V~5.25V 500mA ------

注意:当Xnucleo使用外部供电时,必须遵守以下步骤:
1) JP3选择U5V;
2) 连接外部电源到CN2,VIN或E5V;
3) 接通外部电源,CN2,VIN:6V~12V,E5V:5V;
4) 观察PWR LED为常亮;
5) 连接PC与Xnucleo USB或ST-LINK/V2 (mini);
如果不遵守以上步骤,而先接通USB或ST-LINK/V2 (mini)可能会出现如下问题: "当Xnucleo需求的电流超过300mA时,可能会对USB有损害。或者输入电流会被USB口限制在300mA以内,可能导致Xnucleo无法正常工作。

外部电源输出

  • 通过CN2,VIN或E5V对Xnucleo供+5V电压时,Xnucleo板载管脚CN6 的5 脚或CN7的18脚可对Arduino shield 和扩展板供电。在这种情况下,最大输入电流应该遵守表 3的说明。
  • 通过CN2,VIN或E5V对Xnucleo供+3.3V电压时,CN6 的4 脚或CN7的12脚和16脚也可用作电源输出,最大输出电流被限制于稳压器的最大电流输出能力(最大500mA)。

LED指示灯

Xnucleo板载的LED用于指示Xnucleo 工作状态的信息。

FLASH LED

表 4. LED和MCU引脚对应关系
FLASH LED MCU PIN
LED1 D13(PA5/PB13)
LED2 PC9
LED3 PC8
LED4 PC5

通过设置JP7可连接各个LED。对于XNUCLEO-F302R8,其PB13脚需连接到D13。而对于其他XNUCLEO,则需要将PA5连接到D13。当IO输出高电平,FLASH LED常亮;反之,FLASH LED熄灭。

电源指示灯PWR LED

该指示灯为红色。指示Xnucleo供电是否正常,+5V电源有效。

串口工作状态指示灯LED

TX指示灯为绿色,RX指示灯为蓝色。TX闪烁,指示MCU 正在向PC发送信息。RX闪烁,指示MCU 正在接收电脑返回信息。

按键

USER键

通过设置JP6为ON,USER按键连接到目标MCU的PC13脚。

RESET键

RESET键连接到目标MCU的NRST,用于复位目标MCU。

JP2(IDD)跳线

JP2 ON

STM32单片机被供电(默认)。

JP2 OFF

STM32单片机不被供电。移除该跳线之后,用户可以在该跳线两端的管脚之间串联一个电流表,用以测量STM32单片机的功耗。

USART 通信

STM32单片机的PA2和PA3是USART2接口,可以通过设置相关的跳线选择和虚拟串口、Morpho或者Arduino连接头相连。

设置跳线将目标MCU连接到串口

通过设置跳线(参考表 6. JP4引脚连接)

  • JP4的RX/PA3和TXD连接
  • JP4的TX/PA2和RXD连接

设置跳线实现MCU与SHIELD或扩展板的通信

如果目标MCU需要和shield或扩展板(CN9的RX/D0和TX/D1)通信,则需要设置跳线(参考表 6. JP4引脚连接):

  • JP4的RX/PA3和RX/D0连接
  • JP4的TX/PA2和TX/D1连接

在这种情况下,可以连接另一个USART(视目标MCU而定)到虚拟串口,需要按照以下方式连接:

  • JP4的TX/PC10/PC6连接RXD
  • JP4的RX/PC11/PC7连接TXD

其中,NUCLEO-F030R8的连接方式:

  • JP4的TX/PA9连接RXD
  • JP4的RX/PA10连接TXD

注意:用户需根据实际需求,参考表 5. USART的相关引脚和跳线选择合适的USART,并做相应的硬件配置,该列表中的USART在mbed中无效,即mbed中没有定义该表中的USART,只定义了USART2(PA2,PA3),因此,使用mbed中与USART相关的API(如:printf)时,只能选择USART2(PA2,PA3)与虚拟串口或CN9的RX/D0,TX/D1连接。

表 5. USART的相关引脚和跳线
型号\引脚 PC6,PC7 PC10,PC11 PA9,PA10 SB70,SB71 SB72,SB73
XNUCLEOF030R8 USART1 无此项
XNUCLEOF103RB USART3 USART1(未使用) ON OFF
XNUCLEO-F302R8 USART3 USART1(未使用) ON OFF
XNUCLEO-F401RE USART6 USART1(未使用) OFF ON


表 6. JP4引脚连接表
A B C D
ARDUINO PORT MCU PIN CP2102 PIN MCU PIN
RX/D0 RX/PA3 TXD RX/PC11/PC7
TX/D1 TX/PA2 RXD TX/PC10/PC6


表 7. NUCLEO-F030R8 JP4引脚连接表
A B C D
ARDUINO PORT MCU PIN CP2102 PIN MCU PIN
RX/D0 RX/PA3 TXD RX/PA10
TX/D1 TX/PA2 RXD TX/PA9

ADC或I2C通信

通过设置JP5的跳线可以选择ADC或I2C连接到Arduino或Morpho。
其中:

  • JP5的A4和A5是对应连接到Arduino的A4和A5(CN8的5,6脚)或Morpho CN7的36,38脚
  • JP5的SDA/PB9和SCL/PB8脚对应STM32 MCU的外设I2C
  • JP5的PC1/ADC和PC0/ADC脚对应STM32 MCU的外设ADC
表 8. JP5引脚连接表
A B C
MCU PIN ARDUINO PORT MCU PIN
SCL/PB8 A5 PC0/ADC
SDA/PB9 A4 PC1/ADC

SPI接口

Arduino的D11, D12, D13为SPI接口。其中XNUCLEO-F302R8的PB13,PB14,PB15分别和D13, D12, D11相连。其它XNUCLEO的PA5,PA6,PA7分别和D13, D12, D11相连。

USB接口

除XNUCLEO-F030R8之外,其他XNUCLEO预留了一个USB接口。通过设置JP1为ON,可以使能USB接口。

锡桥

表 9. 锡桥
锡桥 状态 描述
SB74 ON IOREF连接到3.3V
OFF IOREF悬空
SB75 ON IOREF连接到5V
OFF IOREF悬空
SB45 (VBAT/VLCD) ON STM32 单片机的VBAT 或 VLCD连接到VDD
OFF STM32 单片机的VBAT 或 VLCD不连接VDD
SB57 (VREF+) ON STM32 单片机的VREF+被连接到VDD
OFF STM32 单片机的VREF+不连接VDD,由CN10的7脚提供电源

注:所有出现在STM32 Xnucleo 板上的其他锡桥都是用于配置一些IO和电源脚,以兼容支持的STM 32单片机的特性和引出脚。

扩展连接头

本节的图片用于说明不同型号的STM32 Xnucleo板载接口对应的外设分配。

图 1. XNUCLEO-F030R8

XNUCLEO-F103RB-3.png

图 2. XNUCLEO-F103RB
XNUCLEO-F103RB-4.png

图 3. XNUCLEO-F302RC
XNUCLEO-F103RB-5.png

图 4. XNUCLEO-F401RE
XNUCLEO-F103RB-6.png

图 5. XNUCLEO-F411RE
XNUCLEO-F103RB-7.png

3.MBED基于STM32 XNUCLEO平台的使用

Xnucleo完全兼容和并且可以直接运行对应Nucleo的示例程序。因此,用户可以根据STM32 Nucleo的应用来开发STM32 Xnucleo的应用。Xnucleo与Nucleo的对应关系下表所示:

表 10. Xnucleo与Nucleo的对应关系表
Xnucleo Nucleo
XNUCLEO-F030R8 NUCLEO-F030R8
XNUCLEO-F103RB NUCLEO-F103RB
XNUCLEO-F302RC NUCLEO-F302R8
XNUCLEO-F401RE NUCLEO-F401RE
XNUCLEO-F411RE NUCLEO-F411RE

本手册操作都是以XNUCLEO-F103RB为例。用户在配置环境的时候可能会有一些不同,应根据实际情况操作。

使用MBED编译和下载工程

mbed的使用说明请参阅官方文档。由于篇幅所限,部分操作步骤可能略过。

编译工程

打开mbed软件,以XNUCLEO-F103RB为例,任意打开一个工程,例如Nucleo_printf。点击Compile进行编译。如果工程没有任何错误,则等待Compile Output提示Success!,并且生成Nucleo_printf_NUCLEO_F103RB.bin的文件。这个文件位于指定的文件保存路径(这个路径可以更改)。

下载工程

1) 运行STM32 ST-LINK Utility,依次点击file->Open file。打开Nucleo_printf_NUCLEO_F103RB.bin文件。
2) 将板载的USB TO UART接口连接到电脑的USB口,并且连接ST-LINK/V2 (mini),JP5选择U5V,根据2.5 USART 通信的要求设置JP4,并按照以下格式配置串口。

表 11. 串口配置
波特率 115200
数据位 8
停止位 1
奇偶校验

3) 下载工程之后,串口接收到的信息如下:

Hello World!
This program runs since 1 seconds.
This program runs since 2 seconds.
This program runs since 3 seconds.
This program runs since 4 seconds.
This program runs since 5 seconds.
...

此时,USER LED以0.5Hz的频率闪烁,TX LED 闪烁提示STM32 Xnucleo正在向PC发送信息。

3.2. 从MBED中导出基于KEIL的工程

mbed不能直接仿真或在线调试,但它提供了“导入工程”和“导出工程”的功能,只要将mbed工程导出为Keil工程后,就可以正常仿真调试了。
利用导出功能,还可以导出mbed库文件,该文件包括STM32单片机的HAL库。在Keli环境下,用户能直接使用或修改mbed库并且可以将其移植到其他的应用中。
操作方法如下:
在mbed中,打开需要导出的工程。右击左边Program Workspace框中的工程文件名,依次选择Nucleo_printf->Export Program。如下图所示:

图 6. 导出为Keil工程

XNUCLEO-F103RB-7.png

在弹出窗口的Export Toolchain下拉菜单中,选择导出工程的类型为Keil μVision即可。将mbed工程导出为Keil工程之后,就可以使用Keil的仿真调试功能了。具体操作方法,请参阅Keil相关的手册。

4. 外围模块例程说明

Xnucleo提供了一个基于Waveshare的I/O Expansion Shield、0.96寸OLED和舒适款传感器的综合演示例程。按照表 12. 传感器和与XNUCLEO的接线方式把传感器对应接到I/O Expansion Shield上。

外围模块和与XNUCLEO的接线方式

表 12. 传感器和与XNUCLEO的接线方式
传感器 引脚 XNUCLEO-F030R8 XNUCLEO-F103RB XNUCLEO-F302R8 XNUCLEO-F401RE XNUCLEO-F411RE
Temperature-Humidity Sensor DOUT PB3/D3 PB3/D3 PB3/D3 PB3/D3 PB3/D3
Rotation Sensor SIA PB4/D5 PB4/D5 PB4/D5 PB4/D5 PB4/D5
SIB PB5/D4 PB5/D4 PB5/D4 PB5/D4 PB5/D4
SW PB10/D6 PB10/D6 PB10/D6 PB10/D6 PB10/D6
Color Sensor LED 3.3V 3.3V 3.3V 3.3V 3.3V
OUT PC7/D9 PA1/A1 PA1/A PA1/A1 PA1/A1
S3 PA9/D8 PA9/D8 PA9/D8 PA9/D8 PA9/D8
S2 PA8/D7 PA8/D7 PA8/D7 PA8/D7 PA8/D7
S1 NC NC NC NC NC
S0 NC NC NC NC NC
UV Sensor

Water Sensor
Moisture Sensor
Tilt Sensor
Laser Sensor
Gas Sensor
Sound Sensor
Flame Sensor
Hall Sensor
Metal Sensor
Infrared Reflective Sensor

AOUT PA4/A2 PA4/A2 PA4/A2 PA4/A2 PA4/A2
DOUT PA10/D2 PA10/D2 PA10/D2 PA10/D2 PA10/D2
0.96inch OLED DIN PA7/D11 PA7/D11 PB15/D11 PA7/D11 PA7/D11
CLK PA5/D13 PA5/D13 PB13/D13 PA5/D13 PA5/D13
CS PB8/A5 PB8/A5 PB8/A5 PB8/A5 PB8/A5
D/C PB9/A4 PB9/A4 PB9/A4 PB9/A4 PB9/A4
RES PB0/A3 PB0/A3 PB0/A3 PB0/A3 PB0/A3

注意:

  • 以上所有传感器的电源VCC和GND分别接在IO Expansion Shied的VCC和GND,具体的连接方法请参考IO Expansion Shied用户手册。
  • 部分传感器只引出了AOUT或DOUT中的一个,那么IO Expansion Shied多出的预留引脚不用接。且每次只能接一个传感器。

4.2. 例程现象说明

XNUCLEO板载的LED1每2秒闪烁一次,指示程序正在运行。

4.2.1. 数据显示方式:

该例程使用OLED和串口打印(串口每500 ms向PC打印信息)两种方式显示模块反馈的信息。例如:

图 7. OLED显示传感器参数
XNUCLEO-F103RB-9.jpg


同时串口对应输出:

/*----------------------*/
T:23 C      H:34
D:3868	  A:3.116   S:OFF
Rot:227      SW:52
R:20    G:6    B:105
RTC:12 : 1 : 4    KEY:10
/*----------------------*/

反馈的数据含义

表 13. 各符号含义表
符号 含义 备注
T 温度 单位:摄氏度
H 湿度 空气湿度百分比(%)
D AD转换值 12BIT的电压值,根据实验校准,可等比换算为实际值
A DA转换值 电压值
S 状态 ON为开启,OFF为关闭
Rot 旋转编码器旋转计数 正转计数加一递增,反转减一递减,最小计数值为0;最大计数值为255
SW 按下旋转编码器的计数 支持短按(单击),双击,长按和连发
R 红色值 根据RGB值可知实际颜色,参考Color Sensor用户手册
G 绿色值 根据RGB值可知实际颜色,参考Color Sensor用户手册
B 蓝色值 根据RGB值可知实际颜色,参考Color Sensor用户手册
RTC 实时时钟值 RTC输出时间数据
KEY Xnucleo用户按键计数 使用方式和旋转编码器的SW的使用方式一样

如何连接 XNUCLEO以开始实验?

开始一个试验之前,必须先具备以下条件:

  1. 电源;
  2. 下载或仿真器ST-Link V2 (mini);
  3. Micro USB 线;
  4. 设置 JP3

实验步骤:

  1. 接上电源,以下电源任选其一即可;
  • USB :这个USB端口是用于USB通信试验,也可以提供电源
  • USB TO UART :这个USB端口是用于USB转串口(即虚拟串口),便于串口通信调试,也可以提供电源
  • DC 电源座,方便接入 直流电源适配器(6~12V)
  1. 设置 JP3跳线帽。当选择USB或USB TO UART作为输入电源时,JP3选择U5V; 当直流电源适配器(6~12V)作为输入电源时,JP3选择E5V;
  2. 接上 ST-Link V2 (mini)到SWD接口,以便下载程序或仿真。
  3. 使用串口调试时,连接电脑到 USB TO UART。
图 1. 连接USB TO UART,可进行串口调试,电脑USB电源对XNUCLEO板供电
XNUCLEO 1.png
图 2. 连接USB,可进行USB通信试验,电脑USB电源对XNUCLEO板供电
XNUCLEO 2.png
图 3. 连接USB和USB TO UART,可进行USB通信试验和串口调试,电脑USB电源对XNUCLEO板供电
XNUCLEO 3.png
图 4. 连接电源适配器,外部电源对XNUCLEO板供电
XNUCLEO 4.png
图 5. 连接电源适配器和USB TO UART,可进行串口调试,外部电源对XNUCLEO板供电
XNUCLEO 5.png
图 6. 连接USB和USB TO UART,可进行USB通信试验和串口调试,外部电源对XNUCLEO板供电
XNUCLEO 6.png

联系人:黄工

EMAIL:3005763927@qq.com
电话:0755-83040712
QQ:3005763927
微信:扫下方二维码添加
Hkx-wx.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证