300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > p1口实验_「正点原子NANO STM32开发板资料连载」第二章 实验硬件资源详解

p1口实验_「正点原子NANO STM32开发板资料连载」第二章 实验硬件资源详解

时间:2021-07-29 09:09:41

相关推荐

p1口实验_「正点原子NANO STM32开发板资料连载」第二章 实验硬件资源详解

1)实验平台:ALIENTEK NANO STM32F411 V1开发板

2)摘自《正点原子STM32F4 开发指南(HAL 库版》关注官方微信号公众号,获取更多资料:正点原子

第二章 实验平台硬件资源详解

本章,我们将节将向大家详细介绍 ALIENTEK NANO STM32F411 各部分的硬件原理图,让大家对该开发板的各部分硬件原理有个深入理解,并向大家介绍开发板的使用注意事项,为后面的学习做好准备。

本章将分为如下两节:

2.1,开发板原理图详解;

2.2,开发板使用注意事项;

2.3,STM32F411 学习方法;

2.1 开发板原理图详解

2.1.1 MCU

ALIENTEK NANO STM32 开 发板 选择 的是 STM32F411RCT6 作 为 MCU , 该芯 片是STM32F411 里中容量的,它拥有的资源包括:128KB SRAM、256KB FLASH、7 个通用定时器、

1 个高级定时器、2 个 DMA 控制器(共 14 个通道)、5 个 SPI、3 个 IIC、3 个串口、1 个 USB、

1 个 SDIO、1 个 12 位 ADC 以及 50 个通用 IO 口。该芯片是 STM32F4 家族常用型号里面,中

等配置的芯片,对于 STM32 初学者学习最为适合,所以我们选择了它作为我们 NANO 板的主

芯片。MCU 部分的原理图如图 2.1.1.1(因为原理图比较大,缩小下来可能有点看不清,请大

家打开开发板光盘的原理图进行查看)所示:

图 2.1.1.1 MCU 部分原理图

上图中 U1 为我们的主芯片:STM32F411RCT6。这里有个地方需要讲解下:

后备区域供电脚 VBAT 脚的供电采用 CR1220 纽扣电池和 VCC3.3 混合供电的方式,在有

外部电源(VCC3.3)的时候,CR1220 不给 VBAT 供电,而在外部电源断开的时候,则由 CR1220

给其供电。这样,VBAT 总是有电的,以保证 RTC 的走时以及后备寄存器的内容不丢失。

2.1.2 引出 IO 口

ALIENTEK NANO STM32F4 引出了 STM32F411RCT6 的部分 IO 口,如图 2.1.2.1 所示:

图 2.1.2.1 引出 IO 口

图中为 MCU 主 IO 引出口,排针共引出了 17 个 IO 口,STM32F411RCT6 总共有 50 个 IO,除去 RTC 晶振占用的 2 个,还剩 48 个,由于部分 IO 口被板载的功能芯片占用了,就没做引出。我们只通过 P1 的排针引出了 17 个 IO。

2.1.3 ST_LINK V2.1

ALIENTEK NANO STM32F411 板载 ST LINK V2.1 仿真器,仿真器电路分为几部分组成,

下面将简单介绍下:

1)ST_LINK MCU

ST_LINK V2.1 的 MCU 使用的是 STM32F103C8T6 作为主芯片,原理图如图 2.1.3.1 所示:

图 2.1.3.1 ST_ LINK V2.1 部分原理图

NANO 板在出厂前已经刷好了 ST_LINK V2.1 版本的固件,固件集成了下载仿真和虚拟串口两大的功能,用户无需另外再购买仿真器,另外 NANO 板节省 USB 转 TTL 电路,通过 P5排针将 MCU 的串口 USART1_RX 和 USART1_TX 引脚(STM32F103RBT6),与 ST LINK 的ST LINK_TX 和 ST LINK_RX 引脚(STM32F103C8T6)相连接,即可以实现 ST LINK USB 串口和 STM32F411RCT6 的串口通信了。同时,P5 是 PA9 和 PA10 的引出口。

2)ST LINK 状态指示灯

ST_LINK 状态指示灯的电路,如图 2.1.3.2 所示:

图 2.1.3.2 ST LINK 状态指示灯

ST LINK 仿真器状态指示灯为绿色,当处于下载或仿真时,状态显示灯会闪亮。

3)ST LINK SWD 接口

ST_LINK SWD 接口的电路,如图 2.1.3.3 所示:

图 2.1.3.3 ST LINK SWD 接口

ST_LINK SWD 接口的电路,留出了 P4 SWD_5P 的标准下载接口,该接口可用于给外部MCU 使用,即 NANO 板作为 ST_LINK 下载仿真器。SW1 是选择开关,用于选择 ST_ LINK给内部 STM32F411RCT6 芯片下载还是外部 MCU 的下载,SW1 选择开关的往左拨(INS)内部下载,往右拨(EXT)外部下载 PCB 图如图 2.1.3.3.1 所示:

图 2.1.3.3.1 SW1 选择开关

4)ST LINK USB 接口

ST_LINK USB 接口电路,如图 2.1.3.4 所示:

图 2.1.3.4 ST LINK USB 接口电路

ST_ LINK USB 电路为 ST _LINK 仿真器的部分电路,USB 座子为 Micro USB 座,该 USB

座可给 NANO 板供电使用,输入 5V。

2.1.4 复位电路

ALIENTEK NANO STM32F411 的复位电路如图 2.1.4.1 所示:

图 2.1.4.1 复位电路

因为 STM32 是低电平复位的,所以我们设计的电路也是低电平复位的,这里的 R4 和 C12构成了上电复位电路。同时,开发板把 74HC595 芯片的复位引脚也接在 RESET 上,这样这个复位按钮不仅可以用来复位 MCU,还可以复位 74HC595 芯片(数码管显示)。

2.1.5 启动模式设置接口

ALIENTEK NANO STM32F411 的启动模式设置端口电路如图 2.1.5.1 所示:

图 2.1.5.1 启动模式设置接口

NANO 板我们只留出了 BOOT0 选择,BOOT1 引脚已接了下拉电阻(BOOT1=0),我们知道 BOOT0 和 BOOT1 用于设置 STM32 的启动方式,其对应启动模式如表 2.1.5.2 所示:

表 2.1.5.2 BOOT0、BOOT1 启动模式表

按照表 2.1.5.2,我们就可选择 MCU 的启动方式,注意:NANO 板不能使用 SRAM 启动模式。

2.1.6 USB 接口

ALIENTEK NANO STM32F411 板载了 STM32 USB 接口电路如图 2.1.6.1 所示:

图 2.1.6.1 USB 接口

USB_D+/USB_D-连接在 MCU 的 USB 口(PA12/PA11)上,USB_SLAVE 可以用来连接电脑,实现 USB 读卡器或 USB 虚拟串口等 USB 从机实验。另外,该接口还具有供电功能,VUSB为开发板的 USB 供电电压,通过这个 USB 口,就可以给整个开发板供电了。

2.1.7 EEPROM

ALIENTEK NANO STM32F411 板载的 EEPROM 电路如图 2.1.7.1 所示:

图 2.1.7.1 EEPROM

EEPROM 芯片我们使用的是 24C02,该芯片的容量为 2Kb,也就是 256 个字节,对于我们

普通应用来说是足够了的。当然,你也可以选择换大容量的芯片,因为我们的电路在原理上是

兼容 24C02~24C512 全系列 EEPROM 芯片的。这里我们把 A0~A2 均接地,对 24C02 来说也就是把地址位设置成了 0 了,写程序的时候要注意这点。IIC_SCL 接在 MCU 的 PB6 上,IIC_SDA 接在 MCU 的 PB7 上,这里我们虽然接到了 STM32 的硬件 IIC 上,但是我们并不提倡使用硬件 IIC,因为 STM32 的 IIC 是鸡肋!请谨慎使用。

2.1.8 SPI FLASH

ALIENTEK NANO STM32F411 板载的 SPI FLASH 电路如图 2.1.8.1 所示:

图 2.1.8.1 SPI FLASH 芯片

SPI FLASH 芯片型号为 W25Q16,该芯片的容量为 16Mb,也就是 2M 字节。图中 F_CS 连

接 在 MCU 的 PB12 上 ,SPI2_SCK/SPI2_MOSI/SPI2_MISO 则 分 别 连 接 在 MCU 的PB13/PB15/PB14 上。

2.1.9 传感器接口

ALIENTEK NANO STM32F411 板载的传感器接口电路如图 2.1.9.1 所示:

图 2.1.9.1 温湿度传感器接口

该接口(U2)支持 DS18B20DHT11 等单总线数字温湿度传感器。1WIRE_DQ 是传感器的数据线,该信号连接在 MCU 的 PB9 上。

2.1.10 红外接收头

ALIENTEK NANO STM32F411 板载的红外接收头电路如图 2.1.10.1 所示:

图 2.1.10.1 红外接收头

HS0038 是一个通用的红外接收头,几乎可以接收市面上所有红外遥控器的信号,有了它,就可以用红外遥控器来控制开发板了。REMOTE_IN 为红外接收头的输出信号,该信号连接在MCU 的 PB0 上。

2.1.11 LED

ALIENTEK NANO STM32F411 板载总共有 8 个 LED,其原理图如图 2.1.11.1 所示:

图 2.1.11.1 LED

其中 PWR 是系统电源指示灯,为蓝色。LED0(DS0)~LED7(DS7)分别接在 PC0~PC7 上。

LED0~LED7 灯颜色都为红色。

2.1.12 按键

ALIENTEK NANO STM32F411 板载总共有 4 个输入按键,其原理图如图 2.1.12.1 所示:

图 2.1.12.1 输入按键KEY0、KEY1 和 KEY2 用作普通按键输入,分别连接在 PC8、PC9 和 PD2 上,这里并没有使用外部上拉电阻,但是 STM32 的 IO 作为输入的时候,可以设置上下拉电阻,所以我们使用 STM32 的内部上拉电阻来为按键提供上拉。KEY_UP 按键连接到 PA0(STM32 的 WKUP 引脚),它除了可以用作普通输入按键外,还可以用作 STM32 的唤醒输入。注意:这个按键是高电平触发的。

2.1.13 数码管

ALIENTEK NANO STM32F411 板载了两个 4 位的共阴数码管,以及数码管的驱动电路,

其原理图如图 2.1.13.1 所示:

图 2.1.13.1 数码管与驱动电路

LEDSEG1 和 LEDSEG2 为 4 位共阴极数码管,CH1~CH4 为位选端,A~DOT 为段选段。

74HC138(U7)为 3-8 译码器芯片,这里我们使用它实现数码管的位选功能,其 Y0~Y7 连接到

两个数码管的 CH1~CH4 位选端,通过 U7 的 A0~A2 三个地址线的控制,选择 Y0~Y7 的输出

(低电平有效),A0 连接在 MCU 的 PC10,A1 连接在 PC11,A2 连接在 PC12。74HC595(U6)

为串行转并行数据芯片,这里我们使用它实现数码管的段选功能,其 QA~QH 引脚连接在数码

管的 HC595_QA~HC595_QH 公共端,通过 SFTCLK 和 LCHCLK 的时钟控制,将 SDI 输入的

串行数据转换成并行数据,通过 QA~QH 端输出控制数码管的段选,SFTCLK 连接在 MCU 的

PB5,LCHCLK 连接在 PB4,SDI 连接在 PB3,而 RST 则连接在 MCU 的复位电路 RESET 端,

上电或按下 RESET 按键可对 74HC595 进行复位。

2.1.14 TPAD 电容触摸按键

ALIENTEK NANO STM32F411 板载了一个电容触摸按键,其原理图如图 2.1.14.1 所示:

图 2.1.14.1 电容触摸按键

图中 100K 电阻是电容充电电阻,TPAD 并没有直接连接在 MCU 上,而是连接在多功能端口(P3)上面,通过跳线帽来选择是否连接到 STM32。多功能端口,我们将在 2.1.17 节介绍。电容触摸按键的原理我们将在后续的实战篇里面介绍。

2.1.15 有源蜂鸣器

ALIENTEK NANO STM32F411 板载了一个有源蜂鸣器,其原理图如图 2.1.15.1 所示:

图 2.1.15.1 有源蜂鸣器

有源蜂鸣器是指自带了震荡电路的蜂鸣器,这种蜂鸣器一接上电就会自己震荡发声。而如

果是无源蜂鸣器,则需要外加一定频率(2~5Khz)的驱动信号,才会发声。这里我们选择使用

有源蜂鸣器,方便大家使用。

图中 Q1 是用来扩流,R25 则是一个限流电阻直接连接在 BEEP 信号端,BEEP 信号端连接

在 MCU 的 PB8 上面,PB8 可以做 PWM 输出,所以大家如果想玩高级点(如:控制蜂鸣器“唱

歌”),就可以使用 PWM 来控制蜂鸣器。

2.1.16 电位器

ALIENTEK NANO STM32F411 板载了一个 100K 电位器,其原理图如图 2.1.16.1 所示:

图 2.1.23.1 电位器

图中 1K 电阻是 ADC 采样的电压的限流电阻,VR1 为电位器,通过调节电位器调节采样的

分压电阻。VOL_SRC 采样端没有直接连接在 MCU 上,而是连接在多功能端口(P3)上面,

通过跳线帽来选择是否连接到 STM32。多功能端口,我们将在 2.1.17 节介绍。

2.1.17 多功能端口

ALIENTEK NANO STM32F411 板载的多功能端口 P3,其原理图如图 2.1.17.1 所示:

图 2.1.17.1 多功能端口

其中 TPAD 为电容触摸按键信号,连接在电容触摸按键上,VOL SRC 为电位器采样电压信

号。STM_ADC 连接在 PB1,当需要电容触摸按键的时候,我们通过跳线帽短接 TPAD 和

STM_ADC,就可以实现电容触摸按键(利用定时器的输入捕获),当需要电位器采样电压的

时候,我们通过跳线帽短接 VOL _SRC 和 STM_ADC,就可以实现电压采集(利用 ADC 的输

入采集),因为 STM32 的该管脚同时具有这两个外设功能。多功能端口 PCB 图,如图 2.1.17.2

所示:

图 2.1.17.2 多功能端口

图中 VR 为原理图的 VOL_SRC,ADC 为 STM_ADC,而 TPAD 则为 TPAD。

2.1.18 电源

ALIENTEK NANO STM32F411 板载的电源供电部分,其原理图如图 2.1.18.1 所示:

图 2.1.18.1 电源

图中,U9 为 5V 转 3.3V 直流稳压芯片,选用的是 AMS1117-3.3V 芯片。F1 为 1000ma 自

恢复保险丝,用于保护 USB,K1 位开发板的总电源开关。

这里还有 USB 供电部分在 2.1.3 ST LINK V2.1 和 2.1.6 USB 接口小节中已讲解,其中 VUSB

就是来自 USB 供电部分。

2.1.19 电源输入输出接口

ALIENTEK NANO STM32F411 板载了两组简单电源输入输出接口,其原理图如图 2.1.19.1

所示:

图 2.1.19.1 电源输入输出

图中,VOUT1 和 VOUT2 分别是 3.3V 和 5V 的电源输入输出接口,有了这 2 组接口,我们

可以通过开发板给外部提供 3.3V 和 5V 电源了,虽然功率不大(最大 1000ma),但是一般情

况都够用了,大家在调试自己的小电路板的时候,有这两组电源还是比较方便的。同时这两组

端口,也可以用来由外部给开发板供电。

2.2 开发板使用注意事项

为了让大家更好的使用 ALIENTEK NANO STM32F411,我们在这里总结该开发板使用的

时候尤其要注意的一些问题,希望大家在使用的时候多多注意,以减少不必要的问题。

1, 开发板一般情况是由 USB_JTAG 口供电,由于该口为 ST_LINK 的 USB 口,在第一次

上电的时候会提示安装 ST_LINK 驱动。

STLINK 驱动在,资料包 5,软件资料->ST LINK驱动文件夹。

2, 1 个 USB 供电最多 500mA,且由于导线电阻存在,供到开发板的电压,一般都不会有

5V,如果外接了多个大负载模块,可能引起 USB 供电不够,建议可以同时插 2 个 USB

口,并插上 USB_SLAVE,这样供电可以更足一些。

3, 开发板自带了 ST_LINK V2.1 的仿真器,在对 NANO 开发板下载或仿真程序时,必须

将 SW1 开关拨到左边(INS),同时 P4 排针的信号线尽量不要连接外部,避免干扰信

号线,从而导致 NANO 板下载或仿真程序失败。需要对外部电路的 MCU 使用,则将

SW1 开关拨到右边(EXT),通过 P4 排针信号线的线序连接到外部对应接口上。记住:

无论仿真器给外部还是内部使用,MCU 必须选择为SWD 模式。

4, 当你想使用某个 IO 口用作其他用处的时候,请先看看开发板的原理图,该 IO 口是否

有连接在开发板的某个外设上,如果有,该外设的这个信号是否会对你的使用造成干

扰,先确定无干扰,再使用这个 IO。比如 PB8 就不怎么适合再用做其他输出,因为他

接了蜂鸣器,如果你输出低电平就会听到蜂鸣器的叫声了。

5, 开发板上存在跳线帽,大家在使用某个功能的时候,要先查查这个是否需要设置跳线

帽,以免浪费时间,如:P5 跳线帽没接,虚拟串口无法使用。P3 跳线帽没接,ADC

电压采集或 TPAD 触摸按键无法使用。

至此,本手册的实验平台(ALIENTEK NANO STM32F411)的硬件部分就介绍完了,

了解了整个硬件对我们后面的学习会有很大帮助,有助于理解后面的代码,在编写软件的

时候,可以事半功倍,希望大家细读!另外 ALIENTEK 开发板的其他资料及教程更新,都

可以在技术论坛 下载到,大家可以经常去这个论坛获取更新的信息。

2.3 STM32F411 学习方法

STM32F411 是 ST 公司推出的基于 ARM Cortex M4 处理器 MCU,由于其强大的功能,可

替代 DSP 等特性,正在被越来越多的公司选择使用。学习 STM32F4 的朋友也越来越多,初学

者,可能会认为 STM32F4 很难学,以前只学过 51,或者甚至连 51 都没学过的,一看到 STM32F4

那么多寄存器,就懵了。其实,万事开头难,只要掌握了方法,学好 STM32F4,还是非常简单

的,这里我们总结学习 STM32F4 的几个要点:

1,一款实用的开发板。

这个是实验的基础,有时候软件仿真通过了,在板上并不一定能跑起来,而且有个开发板

在手,什么东西都可以直观的看到,效果不是仿真能比的。但开发板不宜多,多了的话连自己

都不知道该学哪个了,觉得这个也还可以,那个也不错,那就这个学半天,那个学半天,结果

学个四不像。倒不如从一而终,学完一个在学另外一个。

2,三本参考资料,即《STM32F411xC/E 参考手册》、《STM32F3 与 F4 系列 Cortex M4

内核编程手册》和《Cortex M3 与 M4 权威指南》。

《STM32F411xC/E 参考手册》是 ST 出的官方资料,有 STM32 的详细介绍,包括了 STM32F4

的各种寄存器定义以及功能等,是学习 STM32F4 的必备资料之一。而《STM32F3 与 F4 系列

Cortex M4 内核编程手册》则是对《STM32F4xx 中文参考手册》的补充,很多关于 Cortex M4

内核的介绍(寄存器等),都可以在这个文档找到答案,该文档同样是 ST 的官方资料,专门

针对 ST 的 Cortex M4 产品。最后,《Cortex M3 与 M4 权威指南》则针对 Cortex M4 内核进行

了详细介绍,并配有简单实例,对于想深入了解 Cortex M4 内核的朋友,此文档是非常好的参

考资料。

3,掌握方法,勤学慎思。

STM32F4 不是妖魔鬼怪,不要畏难,STM32F4 的学习和普通单片机一样,基本方法就是:

36a) 掌握时钟树图(见《STM32F411xC、E 参考手册》图 12)。

任何单片机,必定是靠时钟驱动的,时钟就是单片机的动力,STM32F4 也不例外,通过时

钟树,我们可以知道,各种外设的时钟是怎么来的?有什么限制?从而理清思路,方便理解。

b) 多思考,多动手。

所谓熟能生巧,先要熟,才能巧。如何熟悉?这就要靠大家自己动手,多多练习了,光看/

说,是没什么太多用的,很多人问我,STM32F4 这么多寄存器,如何记得啊?回答是:不需要

全部记住。学习 STM32F4,不是应试教育,不需要考试,不需要你倒背如流。你只需要知道这

些寄存器,在哪个地方,用到的时候,可以迅速查找到,就可以了。完全是可以翻书,可以查

资料的,可以抄袭的,不需要死记硬背。掌握学习的方法,远比掌握学习的内容重要的多。

熟悉了之后,就应该进一步思考,也就是所谓的巧了。我们提供了几十个例程,供大家学

习,跟着例程走,无非就是熟悉 STM32F4 的过程,只有进一步思考,才能更好的掌握 STM32F4,

也即所谓的举一反三。例程是死的,人是活的,所以,可以在例程的基础上,自由发挥,实现

更多的其他功能,并总结规律,为以后的学习/使用打下坚实的基础,如此,方能信手拈来。

所以,学习一定要自己动手,光看视频,光看文档,是不行的。举个简单的例子,你看视

频,教你如何煮饭,几分钟估计你就觉得学会了。实际上你可以自己测试下,是否真能煮好?

机会总是留给有准备的人,只有平时多做准备,才可能抓住机会。

只要以上三点做好了,学习 STM32F4 基本上就不会有什么太大问题了。如果遇到问题,

可以在我们的技术论坛:开源电子网: 提问,论坛 STM32 板块已经有 3.7W

多个主题,很多疑问已经有网友提过了,所以可以在论坛先搜索一下,很多时候,就可以直接

找到答案了。论坛是一个分享交流的好地方,是一个可以让大家互相学习,互相提高的平台,

所以有时间,可以多上去看看。

另外,很多 ST 官方发布的所有资料(芯片文档、用户手册、应用笔记、固件库、勘误手

册等),大家都可以在 这个地方下载到。也可以经常关注下,ST 会将最新的资

料都放到这个网址。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。