XNUCLEO-F103RB
| ||||||||||||||||||||
| ||||||||||||||||||||
|
说明
产品概述
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,基于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(默认设置) |
当使用CN2,VIN或E5V必须跳线选择E5V |
使用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时, |
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 |
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发送信息。
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 |
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打印信息)两种方式显示模块反馈的信息。例如:
同时串口对应输出:
/*----------------------*/ 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的使用方式一样 |
资料
文档
视频
程序
软件
相关资料
应用笔记
FAQ
如何连接 XNUCLEO以开始实验?
开始一个试验之前,必须先具备以下条件:
- 电源;
- 下载或仿真器ST-Link V2 (mini);
- Micro USB 线;
- 设置 JP3
实验步骤:
- 接上电源,以下电源任选其一即可;
- USB :这个USB端口是用于USB通信试验,也可以提供电源
- USB TO UART :这个USB端口是用于USB转串口(即虚拟串口),便于串口通信调试,也可以提供电源
- DC 电源座,方便接入 直流电源适配器(6~12V)
- 设置 JP3跳线帽。当选择USB或USB TO UART作为输入电源时,JP3选择U5V; 当直流电源适配器(6~12V)作为输入电源时,JP3选择E5V;
- 接上 ST-Link V2 (mini)到SWD接口,以便下载程序或仿真。
- 使用串口调试时,连接电脑到 USB TO UART。
图 1. 连接USB TO UART,可进行串口调试,电脑USB电源对XNUCLEO板供电 |
图 2. 连接USB,可进行USB通信试验,电脑USB电源对XNUCLEO板供电 |
图 3. 连接USB和USB TO UART,可进行USB通信试验和串口调试,电脑USB电源对XNUCLEO板供电 |
图 4. 连接电源适配器,外部电源对XNUCLEO板供电 |
图 5. 连接电源适配器和USB TO UART,可进行串口调试,外部电源对XNUCLEO板供电 |
图 6. 连接USB和USB TO UART,可进行USB通信试验和串口调试,外部电源对XNUCLEO板供电 |