STM32 nucleo 开发版的电路的组成特点是什么

曾听一位前辈说过在电子产业,原地踏步或是前行缓慢实则是在退步,非常危险如今看来,确实如此摩托罗拉、诺基亚移动等都成了生动的例子。而作为更新周期较快的嵌入式半导体行业竞争同样激烈,前有Atmel 推出的Xplained Pro平台生态圈现又出现了意法半导体的Nucleo系列板卡。

Nucleo是意法半导体加入后的又一个風格系列板卡有两个鲜明的特点:1.兼容Arduino UNO R3 Shield扩展板、2. 支持ARM embed项目。或许有人会有疑问什么是ARM embed项目?mbed是一个面向ARM Cortex-M系列处理器的原型开发平台主要用于培育物联网(IoT)的协作项目,包括了免费的软件库(SDK)硬件参考设计(HDK)和在线工具(Web)三部分,为用户提供简单、方便快捷嘚基于ARM Cortex-M处理器的MCU开发、调试等操作最近,爱板网也拿到了一款由的基于ARM Cortex-M4处理器的意法半导体Nucleo系列板卡——这是意法半导体不久前才推絀的板卡,在惊叹于贸泽电子能第一时间拿到货源的同时也非常感谢贸泽电子将板子提供给爱板网评测让广大网友第一时间体验ST的最新板卡。

拿到第一感觉就是“改变了”变好看了,同样是STM32F系列板卡的包装但是板卡不再是最常见的绿色PCB板,这是一块精致小巧的乳白色板卡让人过目不忘,在包装盒上板卡的特点介绍中我们还能看到特别标注的mbed-enabled功能

从包装中取出板卡,精致小巧仅有成人的巴掌那般夶小。板卡布局也一目了然被很好的分为微控制器部分以及调试器部分,下面一起先了解下STM32F401 Nucleo板卡主要有哪些特点

  • ST-LINK/V2-1调试器,支持对外部微控制器调试
  • 3个LED:一个USB通讯LED、一个电源LED、一个用户LED;两个机械按键:复位、用户
  • USB接口的3个不同功能:虚拟串口、容量存储、调试接口

带FPU单え的微控制器

包含了STM32F系列板卡惯有的机械按键、LED指示灯、mini USB调试接口众多IO口外设通过排针座引出等功能,除此之外也有与众不同之处,洳兼容Arduino Shield接口并且可以通过Arduino Shield扩展接口给板卡供电,板卡搭载了STM32F401RET6核心微控制器基于32位的高性能ARM Cortex-M4处理器,带FPU单元最高能支持84MHz主频,见下图

OTG功能,定时器*8、SPI*3、I2S*2、I2C*3、USART*3、SDIO*1、12位ADC*1等更具有意法半导体独有的自适应实时(ART)加速器,可以实现从512KB片上闪存执行代码零等待状态这在爱板网先前评测的的STM32F429ZIT6U微控制器中也有介绍,功能也是一样的

微控制器相比,MCU STM32F401RET6虽然基于同样的M4处理器但是无论是功能或者性能都有不少的差距,而且面向的领域不同如果细细观察则能发现其功能与爱板网评测过的中的微控制器特点类似,同样是面向传感器集线器类的应用

当然,除此之外STM32F401RE微控制器同样可以适用于其他不同的应用领域如管理医疗和移动应用或现场总线驱动的工业传感器模块等领域。

事实仩的硬件组成确实很简洁,在基本了解其硬件原理后我们试着上电启动玩玩首先,老规矩自己准备一根miniUSB线,连接电脑上电启动上電后,可以看到首先USB通讯LED点亮其次电源LED点亮,紧接着黄色用户LED闪烁,此时按一下板卡上的用户机械按键用户LED切换闪烁频率,这是开發板自带的出厂程序功能

同时,电脑上会提示安装驱动主要是虚拟串口及ST-LINK的驱动,先不管放一边打开电脑上的计算机硬盘分配空间,发现多出一个可用空间为512KB 的Nucleo的盘符

开发板内置528KB 存储

点击进入后发现有一个网页链接以及一些系统文件(隐藏的)。此时可以打开网页鏈接图标网页链接指向的地址为,即STM32F401 Nucleo开发板包括板卡基本资料信息、在线IDE工具,讨论区等要确保完美的使用这些功能,我们首先需偠做的是注册一个账号这个账号也就是你在开发STM32F401 Nucleo板卡时候的云端账号,可以保存你的云端资料信息及代码开发等情况非常重要。

注册唍账号就可以尽情享用STM32F401 Nucleo开发板了在网页下面可以看到此时板卡的固件可以更新,点击下载最新的V2.J20.M4固件

更新固件需要通过USB通讯接口,所鉯我们要安装之前未安装的驱动在ST官方资料库中下载STM32F401 Nucleo开发板的。下载的压缩包中包含了32位系统以及64位系统不同的驱动根据自己电脑的系统信息安装对应的驱动文件。

 安装完USB驱动文件后我们就能通过USB通讯接口更新固件,打开固件更新程序

更新完固件那就是万事具备了,此时我们可以畅享在线IDE设计工具mbed见下图。

打开mbed在线IDE设计工具

mbed编译器打开的速度取决于你的网速打开后可以选择相应的例程或是新建唎程,选择完成点击OK

正式进入到mbed编译器界面,非常简洁笔者以刚选的PWM例程实际体验了一把,点击编译后编程生成的bin会自动下载到电腦上,见下图

然后呢?这是要如何将bin文件烧录到开发板中超级简单,找到刚下载好的bin文件直接复制或者拖动到STM32F401 Nucleo开发板的存储中(一開始介绍的512KB Flash),复位一下板卡就自动运行程序了若是要更换其他例程,只需将你所需求的bin文件再次拖进Nucleo开发板的盘符中就行了它会自動覆盖原程序。

接着笔者又试了下开发板的串口程序编译->复制进U盘->打开串口工具,设置9600波特率正常输出数据。

相对于目前常用的Keil、IAR等軟件mbed要方面多了首先,不需要下载安装软件其次,一个账号足以无论何时何地只有有网络就可以进行在线设计开发。不过mbed在实际使鼡中也存在一些不足而且可以说是硬伤,mbed仅仅适用于代码的编写以及编译下载操作无法执行调试,对于简单的代码程序还好对于复雜的代码程序在调试时无疑是不足的,如果需要更深入的分析软件程序运行还是需要用到Keil、IAR等专业的IDE设计工具中的调试功能

不过由于STM32F401 Nucleo开發板刚出来不久,需要使用Keil、IAR等软件调试功能的朋友最好还是下载最新的IDE设计工具(老版本的IDE设计工具可能找不到此微控制器的库文件)笔者这里使用的是Keil 5版本,STM32F401 Nucleo开发板的例程可以在中找到

Nucleo开发板的使用,我们感受到了一种全新的设计体验方便好用的云端设计,一个賬号一台可以联网的电脑,即可在不同的没有安装专业的IDE设计工具的电脑上执行代码编译、下载等操作不过在方便的同时也存在了不尐令人担忧的隐患,如云端账号的问题假设一个公司或者企业的重要项目,在云端开发真适合吗最近小米论坛800万用户数据的泄密不得鈈让人们重视这个问题,而这也是笔者无法下定论的可能就是个仁者见仁智者见智的问题。

体验了意法半导体全新系列的STM32F401 Nucleo开发板精致尛巧乳白色外观,带FPU单元、功能性能强大的STM32F401RE微控制器板卡兼容Arduino Shield、支持ARM mbed在线编译器,方便的U盘式下载程序让人们耳目一新,这对于喜欢簡单、喜欢尝鲜的朋友是个非常不错的选择况且,STM32F401 Nucleo开发板目前在极具性价比,有需要的朋友可以去看看

 原创申明:本文为爱板网原創,谢绝转载!

曾听一位前辈说过在电子产业,原地踏步或是前行缓慢实则是在退步,非常危险如今看来,确实如此摩托罗拉、诺基亚移动等都成了生动的例子。而 作为更新周期较快的嵌入式半导体行业竞争同样激烈,前有Atmel 推出的Xplained Pro平台生态圈现又出现了意法半导体的Nucleo系列板卡。

Cortex-M系列处理器的原型开发平台主要用于培育物联网(IoT)的协作项目,包括了免费的软件库(SDK)硬件参考设计(HDK)和在线工具 (Web)三部分,为用户提供简单、方便快捷嘚基于ARM Cortex-M处理器的MCU开发、调试等操作最近,爱板网也拿到了一款由贸泽电子提供的 基于ARM Cortex-M4处理器的意法半导体Nucleo系列板卡——STM32F401 Nucleo这是意法半导體不久前才推出的板卡,在惊叹于贸泽电子能第一时间拿到货源的同时也非常感谢贸泽电子将板子提供给爱板网评测让广大网友第一 时間体验ST的最新板卡。

拿到STM32F401 Nucleo开发板第一感觉就是“改变了”变好看了,同样是STM32F系列板卡的包装但是板卡不再是最常见的绿色PCB板,这是一塊精致小巧的乳白 色板卡让人过目不忘,在包装盒上板卡的特点介绍中我们还能看到特别标注的mbed-enabled功能

从包装中取出板卡,精致小巧僅有成人的巴掌那般大小。板卡布局也一目了然被很好的分为微控制器部分以及调试器部分,下面一起先了解下STM32F401 Nucleo板卡主要有哪些特点

ST-LINK/V2-1調试器,支持对外部微控制器调试

3个LED:一个USB通讯LED、一个电源LED、一个用户LED;两个机械按键:复位、用户

USB接口的3个不同功能:虚拟串口、容量存储、调试接口

STM32F401 Nucleo开发板包含了STM32F系列板卡惯有的机械按键、LED指示灯、mini USB调试接口众多IO口外设通过排针座引出等功能,除此之外也有与众不哃之处,如兼容Arduino Shield接口并且可以通过Arduino Shield扩展接口给板卡供电,板卡搭载了STM32F401RET6核心微控制器基于32位的高性能ARM Cortex-M4处理器,带FPU单元最高能支持84MHz主频,见下图

(ART)加速器,可以实现从512KB片上闪存执行代码零等待状态这在爱板网先前评测的STM32F429I Discovery开发板的STM32F429ZIT6U微控制器中也有介绍,功能也是一样嘚

与STM32F429ZIT6U微控制器相比,MCU STM32F401RET6虽然基于同样的M4处理器但是无论是功能或者性能都有不少的差距,而且面向的领域不同如果细细观察则能发现其功能与爱板网评测过的Atmel SAMG53-XPRO板卡中的微控制器特点类似,同样是面向传感器集线器类的应用

当然,除此之外STM32F401RE微控制器同样可以适用于其他鈈同的应用领域如管理医疗和移动应用或现场总线驱动的工业传感器模块等领域。

事实上STM32F401 Nucleo开发板的硬件组成确实很简洁,在基本了解其硬件原理后我们试着上电启动玩玩首先,老规矩自己准备一根miniUSB线,连接电脑上电启 动上电后,可以看到首先USB通讯LED点亮其次电源LED點亮,紧接着黄色用户LED闪烁,此时按一下板卡上的用户机械按键用户LED切换闪烁 频率,这是开发板自带的出厂程序功能

同时,电脑上會提示安装驱动主要是虚拟串口及ST-LINK的驱动,先不管放一边打开电脑上的计算机硬盘分配空间,发现多出一个可用空间为512KB 的Nucleo的盘符

开發板内置528KB 存储

点击进入后发现有一个网页链接以及一些系统文件(隐藏的)。此时可以打开网页链接图标网页链接指向的地址为ST Nucleo F401RE开发板嘚资料站, 即STM32F401 Nucleo开发板包括板卡基本资料信息、在线IDE工具,讨论区等要确保完美的使用这些功能,我们首先需要做的是注册一个账号這个账号也就是你在 开发STM32F401 Nucleo板卡时候的云端账号,可以保存你的云端资料信息及代码开发等情况非常重要。

注册完账号就可以尽情享用STM32F401 Nucleo开發板了在网页下面可以看到此时板卡的固件可以更新,点击下载最新的V2.J20.M4固件

更新固件需要通过USB通讯接口,所以我们要安装之前未安装嘚驱动在ST官方资料库中下载STM32F401 Nucleo开发板的USB驱动。下载的压缩包中包含了32位系统以及64位系统不同的驱动根据自己电脑的系统信息安装对应的驅动文件。

安装完USB驱动文件后我们就能通过USB通讯接口更新固件,打开固件更新程序

更新完固件那就是万事具备了,此时我们可以畅享茬线IDE设计工具mbed见下图。

打开mbed在线IDE设计工具

mbed编译器打开的速度取决于你的网速打开后可以选择相应的例程或是新建例程,选择完成点击OK

正式进入到mbed编译器界面,非常简洁笔者以刚选的PWM例程实际体验了一把,点击编译后编程生成的bin会自动下载到电脑上,见下图

然后呢?这是要如何将bin文件烧录到开发板中超级简单,找到刚下载好的bin文件直接 复制或者拖动到STM32F401 Nucleo开发板的存储中(一开始介绍的512KB Flash),复位┅下板卡就自动运行程序了若是要更换其他例程,只需将你所需求的bin文件再次拖进Nucleo开发板的盘符中就行了它会自动覆盖 原程序。

接着筆者又试了下开发板的串口程序编译->复制进U盘->打开串口工具,设置9600波特率正常输出数据。

相对于目前常用的Keil、IAR等软件mbed要方面多了首先,不需要下载安装软件其 次,一个账号足以无论何时何地只有有网络就可以进行在线设计开发。不过mbed在实际使用中也存在一些不足而且可以说是硬伤,mbed仅仅适用于代码 的编写以及编译下载操作无法执行调试,对于简单的代码程序还好对于复杂的代码程序在调试時无疑是不足的,如果需要更深入的分析软件程序运行还是需要用 到Keil、IAR等专业的IDE设计工具中的调试功能

不过由于STM32F401 Nucleo开发板刚出来不久,需偠使用Keil、IAR等软件调试功能的朋友最好还是下载最新的IDE设计工具(老版本的IDE设计工具可能找不到此微 控制器的库文件)笔者这里使用的是Keil 5蝂本,STM32F401 Nucleo开发板的例程可以在ST的官方资料库中找到

通过对STM32F401 Nucleo开发板的使用,我们感受到了一种全新的设计体验方便好用的云端设计,一个賬号一台可以联网的电脑,即可在不同的没有安装专业的IDE设计 工具的电脑上执行代码编译、下载等操作不过在方便的同时也存在了不尐令人担忧的隐患,如云端账号的问题假设一个公司或者企业的重要项目,在云端开发真 适合吗最近小米论坛800万用户数据的泄密不得鈈让人们重视这个问题,而这也是笔者无法下定论的可能就是个仁者见仁智者见智的问题。

体验了意法半导体全新系列的STM32F401 Nucleo开发板精致尛巧乳白色外观,带FPU单元、功能性能强大的STM32F401RE微控制器板卡兼容Arduino Shield、支持ARM mbed在线编译器,方便的U盘式下载程序让人们耳目一新,这对于喜欢簡单、喜欢尝鲜的朋友是个非常不错的选择况且,STM32F401 Nucleo开发板目前在贸泽电子仅有 68 RMB的报价极具性价比,有需要的朋友可以去看看

点击上方EEWORLD关注电子工程世界!


说實话拿到Nucelo-F446的这个板子挺意外的,也是第一次做测评所以我认为既然是测评,那么就是测+评所以接下来的内容我从两个大的方面为大镓分享。我想包括基本概念及我自己碰到的一些问题和大家一起经历对该板的了解及学习的过程。

1、 什么是Nucleo(说实话,作者我也是对這个概念很好奇)

STM32F446系列微控制器的一些文章:

意法半导体最新的STM32F446系列微控制器为设计人员带来更多应用选择

至于怎么使用这个stm32cubef4库我在后媔的内容中介绍。

b、下载st-link的驱动安装成功


以上我们已经准备好了,硬件和软件的配置那么我们就开始一个小小的实验

*Nucleo-F446RE板程序实现和烧錄、调试:在这里程序的烧录我想用两种方法:


因为之前已经在(),这个网址下载好了库

打开一个比较简单的GPIO_IOToggle,GPIO电平翻转的程序


b、咑开工程,我们可以看到main函数在while的主要实现了对PA5实现了电平翻转

d、PA5硬件连接示意图:


最后,为了保证程序是正确的既然这个实验中,峩们实现了GPIO的PA5的电平翻转那么按道理来说我们需要在示波器上看看直观的波形;


但是,示波器在公司所以就用万用表测试了下。所以電平翻转可以实现

评:1、从板子的组成来看:


板子开了个槽,是将调试模块和主要硬件模块(主控、硬件功能模块、IO等)分开了是将調试模块和主要硬件模块集成在了同一块板子上。但是我发现没有JLINK调试接口。其实我个人用的JINK仿真器不知道以后会不会ST工程师会考虑預留JLINK的调试接口;
2、从板子的外观来看:
a、ST的工程师预留了HSE OCS的位置包括其匹配电容。而GPIO_IOToggle程序中也是选用的STM32内部自带的的HSI 16M的晶振在我觉得這个应该是需要使用者自己来选择外部晶振。
因为一般我们会用8m的外部晶振可是在超频的情况下,如stm32f407会用248M的晶振如下是stm32f407的Sys-tick的函数:
  1. 当使用ucos的时候,此函数会初始化ucos的时钟节拍

  2. //分析:根据文档16位2位,1位0位都有各自的作用

  3. 在这个地方需要解释的是由于SysTick是24位的寄存器,那麼它最大load的值是2^24=.

  4. *Description:超频情况下实现毫秒级的延时

  5. *Others:因为在这里是一种特殊情况,是哪种特殊情况呢是超频的情况。

  6. 频率越高 一个周期僦越短 延时需要的时钟数就越多.

  7. 这样写是为了避免 延时的时钟数超出其数据类型的表达范围

  8. 所以要考虑最高频率(超频使用)下延时需要嘚时钟数

  9. delay_xms(540);//主要是为了防止向这个函数传入的参数超出其范围

b、我在看外部晶振的走线外部晶振的走线方式是:先经过匹配电容,再连接箌晶振而Nucleo-F446RE这个板子却是:先经过晶振再到匹配电容(图片拍的不清晰,所以没有上传) 另一方面TI在对msp430的走线上也是有要求。所以我鈈知道这个方面ST有没有相关的说明。
如下的TI的附件中有相关的描述:


c、Nucleo-F446RE这个板子主控用的是64pin的STM32F446RE,而这个板子其实是还有一个重要的方向嘚用途是物联网我个人觉得64pin的IO是不是有点少了?
mbed是一个面向ARM Cortex-M系列处理器的原型开发平台主要用于培育物联网(IoT)的协作项目。尽管我茬ST的社区找到了关于mbed一些简单的介绍视频(如下)如果mbed是针对物联网的项目,那么ST的工程师是否考虑下对这个mbed的更深入一些的介绍呢這样如果作为使用者的我们也好利用这个工具去实现一些项目,这样会更加方便一些
ARM? mbed?集成开发环境入门:
其实拿到这个板子,关于MDK嘚选则方面我还是花了点时间的其实作为我来说的话,我不太希望把时间花在软件的准备上面(因为5.11的pack不支持STM32F446RE这个片子)所以ST的工程師是否能考虑在Nucleo类板子的自带的纸版的介绍用大致的说明下软件的要求或者以网页的形式说明并打印在自带的纸版上面。
STM32CubeF4里面MDK(以MDK为例)就拿GPIO_IOToggle这个程序来说,其他的程序我还没来得及看这个程序中什么时钟的配置啊,还有一些条件编译啊都在里面main.c的文件中我不知道ST工程师昰怎么的想法,还是说需要我们用户自己来整理呢
但是对于我来说,使用起来不太好不太利于实现结构化的程序。
我习惯将这些时钟配置等等之类的定义在其他文件中而main.c文件中,就写功能实现的语句就可以
我们用Cortex-M3的内核也好,用Cortex-M4的stm32f446xx也好我们最终是拿它来做实际的項目。那么项目的环境有好一些的还有恶劣的环境,比如说温湿度我在用户手册中看到了stm32f446可以工作在-40~+105℃的范围内,所以我们在选择的時候可以留意下

以上,是我自己对这个板子做的一些action及一些较大胆的感想希望ST的工程师及各位高工帮忙指正我描述的不对的地方,和需要改进的地方

相关代码及软件请点击下方阅读原文。

我要回帖

更多关于 电路的组成 的文章

 

随机推荐