STM32F4开发板硬件简介
Posted 行稳方能走远
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32F4开发板硬件简介相关的知识,希望对你有一定的参考价值。
摘自:STM32F4开发板硬件平台简介
作者:SKY丶丿平才
发布时间: 2021-03-20 10:44:41
网址:https://blog.csdn.net/weixin_48264057/article/details/115023309
文章目录
前言
实践出真知,要想学好 STM32F4,实验平台必不可少!这篇博文将详细介绍一个用来学习STM32F4 的硬件平台:ALIENTEK 探索者 STM32F4 开发板,通过该篇的介绍,你将了解到ALIENTEK 探索者 STM32F4 开发板的功能及特点。
一、ALIENTEK 探索者 STM32F4 开发板资源初探
1.开发板资源图
从上图 可以看出,ALIENTEK 探索者 STM32F4 开发板,资源十分丰富,并把 STM32F407
的内部资源发挥到了极致,基本所有 STM32F407 的内部资源,都可以在此开发板上验证,同
时扩充丰富的接口和功能模块,整个开发板显得十分大气。
2.ALIENTEK 探索者 STM32F4 开发板板载资源汇总
◆ CPU:STM32F407ZGT6,LQFP144,FLASH:1024K,SRAM:192K;
◆ 外扩 SRAM:IS62WV51216,1M 字节
◆ 外扩 SPI FLASH:W25Q128,16M 字节
◆ 1 个电源指示灯(蓝色)
◆ 2 个状态指示灯(DS0:红色,DS1:绿色)
◆ 1 个红外接收头,并配备一款小巧的红外遥控器
◆ 1 个 EEPROM 芯片,24C02,容量 256 字节
◆ 1 个六轴(陀螺仪+加速度)传感器芯片,MPU6050
◆ 1 个高性能音频编解码芯片,WM8978
◆ 1 个 2.4G 无线模块接口,支持 NRF24L01 无线模块
◆ 1 路 CAN 接口,采用 TJA1050 芯片
◆ 1 路 485 接口,采用 SP3485 芯片
◆ 2 路 RS232 串口(一公一母)接口,采用 SP3232 芯片
◆ 1 路单总线接口,支持 DS18B20/DHT11 等单总线传感器
◆ 1 个 ATK 模块接口,支持 ALIENTEK 蓝牙/GPS 模块
◆ 1 个光敏传感器
◆ 1 个标准的 2.4/2.8/3.5/4.3/7 寸 LCD 接口,支持电阻/电容触摸屏
◆ 1 个摄像头模块接口
◆ 1 个 OLED 模块接口
◆ 1 个 USB 串口,可用于程序下载和代码调试(USMART 调试)
◆ 1 个 USB SLAVE 接口,用于 USB 从机通信
◆ 1 个 USB HOST(OTG)接口,用于 USB 主机通信
◆ 1 个有源蜂鸣器
◆ 1 个 RS232/RS485 选择接口
◆ 1 个 RS232/模块选择接口
◆ 1 个 CAN/USB 选择接口
◆ 1 个串口选择接口
◆ 1 个 SD 卡接口(在板子背面)
◆ 1 个百兆以太网接口(RJ45)
◆ 1 个标准的 JTAG/SWD 调试下载口
◆ 1 个录音头(MIC/咪头)
◆ 1 路立体声音频输出接口
◆ 1 路立体声录音输入接口
◆ 1 路扬声器输出接口,可接 1W 左右小喇叭
◆ 1 组多功能端口(DAC/ADC/PWM DAC/AUDIO IN/TPAD)
◆ 1 组 5V 电源供应/接入口
◆ 1 组 3.3V 电源供应/接入口
◆ 1 个参考电压设置接口
◆ 1 个直流电源输入接口(输入电压范围:DC6~16V)
◆ 1 个启动模式选择配置接口
◆ 1 个 RTC 后备电池座,并带电池
◆ 1 个复位按钮,可用于复位 MCU 和 LCD
◆ 4 个功能按钮,其中 KEY_UP(即 WK_UP)兼具唤醒功能
◆ 1 个电容触摸按键
◆ 1 个电源开关,控制整个板的电源
◆ 独创的一键下载功能
◆ 除晶振占用的 IO 口外,其余所有 IO 口全部引出
3.ALIENTEK 探索者 STM32F4 开发板的特点
①接口丰富。板子提供十来种标准接口,可以方便的进行各种外设的实验和开发。
②设计灵活。板上很多资源都可以灵活配置,以满足不同条件下的使用。我们引出了除晶
振占用的 IO 口外的所有 IO 口,可以极大的方便大家扩展及使用。另外板载一键下载
功能,可避免频繁设置 B0、B1 的麻烦,仅通过 1 根 USB 线即可实现 STM32 的开发。
③资源充足。主芯片采用自带1M字节FLASH的STM32F407ZGT6,并外扩1M字节SRAM
和 16M 字节 FLASH,满足大内存需求和大数据存储。板载高性能音频编解码芯片、六
轴传感器、百兆网卡、光敏传感器以及各种接口芯片,满足各种应用需求。
④人性化设计。各个接口都有丝印标注,且用方框框出,使用起来一目了然;部分常用外
设大丝印标出,方便查找;接口位置设计合理,方便顺手。资源搭配合理,物尽其用。
二、ALIENTEK 探索者 STM32F4 开发板资源说明
1.硬件资源说明
这里我们首先详细介绍探索者 STM32F4 开发板的各个部分(第一张图的标记部分)的硬
件资源,这里将按逆时针的顺序依次介绍。
- NRF24L01 模块接口
这是开发板板载的 NRF24L01 模块接口(U6),只要插入模块,我们便可以实现无线通信,
从而使得我们板子具备了无线功能,但是这里需要 2 个模块和 2 个开发板同时工作才可以。如
果只有 1 个开发板或 1 个模块,是没法实现无线通信的。 - W25Q128 128M FLASH
这是开发板外扩的 SPI FLASH 芯片(U11),容量为 128Mbit,也就是 16M 字节,可用于
存储字库和其他用户数据,满足大容量数据存储要求。当然如果觉得 16M 字节还不够用,你可
以把数据存放在外部 SD 卡。 - SD 卡接口
这是开发板板载的一个标准 SD 卡接口(SD_CARD),该接口在开发板的背面,采用大 SD
卡接口(即相机卡,TF 卡是不能直接插的,TF 卡得加卡套才行),SDIO 方式驱动,有了这个
SD 卡接口,就可以满足海量数据存储的需求。 - 引出 IO 口(总共有三处)
这是开发板 IO 引出端口,总共有三组主 IO 引出口:P3、P4 和 P5。其中,P3 和 P4 分别
采用 222 排针引出,总共引出 86 个 IO 口,P5 采用 116 排针,按顺序引出 FSMC_D0~D15
等 16 个 IO 口。而 STM32F407ZGT6 总共只有 112 个 IO,除去 RTC 晶振占用的 2 个 IO,还剩
下 110 个,前面三组主引出排针,总共引出:102 个 IO,剩下的分别通过:P6、P9、P10 和 P11
引出。 - JTAG/SWD 接口
这是 ALIENTEK 探索者 STM32F4 开发板板载的 20 针标准 JTAG 调试口(JTAG),该 JTAG
口直接可以和 ULINK、JLINK 或者 STLINK 等调试器(仿真器)连接,同时由于 STM32 支持
SWD 调试,这个 JTAG 口也可以用 SWD 模式来连接。
用标准的 JTAG 调试,需要占用 5 个 IO 口,有些时候,可能造成 IO 口不够用,而用 SWD
则只需要 2 个 IO 口,大大节约了 IO 数量,但他们达到的效果是一样的,所以我们强烈建议仿
真器使用 SWD 模式! - CAN/USB 选择口
这是一个 CAN/USB 的选择接口(P11),因为 STM32 的 USB 和 CAN 是共用一组 IO(PA11
和 PA12),所以我们通过跳线帽来选择不同的功能,以实现 USB/CAN 的实验。 - USB 串口/串口 1
这是 USB 串口同 STM32F407ZGT6 的串口 1 进行连接的接口(P6),标号 RXD 和 TXD 是
USB 转串口的 2 个数据口(对 CH340G 来说),而 PA9(TXD)和 PA10(RXD)则是 STM32 的串口
1 的两个数据口(复用功能下)。他们通过跳线帽对接,就可以和连接在一起了,从而实现 STM32
的程序下载以及串口通信。
设计成 USB 串口,是出于现在电脑上串口正在消失,尤其是笔记本,几乎清一色的没有串
口。所以板载了 USB 串口可以方便大家下载代码和调试。而在板子上并没有直接连接在一起,
则是出于使用方便的考虑。这样设计,你可以把 ALIENTEK 探索者 STM32F4 开发板当成一个
USB 转 TTL 串口,来和其他板子通信,而其他板子的串口,也可以方便地接到 ALIENTEK 探
索者 STM32F4 开发板上。 - STM32F407ZGT6
这是开发板的核心芯片(U4),型号为:STM32F407ZGT6。该芯片集成 FPU 和 DSP 指令,
并具有 192KB SRAM、1024KB FLASH、12 个 16 位定时器、2 个 32 位定时器、2 个 DMA 控
制器(共16个通道)、3个SPI、2个全双工I2S、3个IIC、6个串口、2个USB(支持HOST /SLAVE)、
2 个 CAN、3 个 12 位 ADC、2 个 12 位 DAC、1 个 RTC(带日历功能)、1 个 SDIO 接口、1 个
FSMC 接口、1 个 10/100M 以太网 MAC 控制器、1 个摄像头接口、1 个硬件随机数生成器、以
及 112 个通用 IO 口等。 - USB HOST(OTG)
这是开发板板载的一个侧插式的 USB-A 座(USB_HOST),由于 STM32F4 的 USB 是支持
HOST 的,所以我们可以通过这个 USB-A 座,连接 U 盘/USB 鼠标/USB 键盘等其他 USB 从设
备,从而实现 USB 主机功能。不过特别注意,由于 USB HOST 和 USB SLAVE 是共用 PA11 和
PA12,所以两者不可以同时使用。 - 后备电池接口
这是 STM32 后备区域的供电接口,可以用来给 STM32 的后备区域提供能量,在外部电源
断电的时候,维持后备区域数据的存储,以及 RTC 的运行。 - USB SLAVE
这是开发板板载的一个 MiniUSB 头(USB_SLAVE),用于 USB 从机(SLAVE)通信,一
般用于 STM32 与电脑的 USB 通信。通过此 MiniUSB 头,开发板就可以和电脑进行 USB 通信
了。注意:该接口不能和 USB HOST 同时使用。
开发板总共板载了 2 个 MiniUSB 头,一个(USB_232)用于 USB 转串口,连接 CH340G
芯片;另外一个(USB_SLAVE)用于 STM32 内带的 USB。同时开发板可以通过此 MiniUSB
头供电,板载两个 MiniUSB 头(不共用),主要是考虑了使用的方便性,以及可以给板子提供
更大的电流(两个 USB 都接上)这两个因素。 - USB 转串口
这是开发板板载的另外一个 MiniUSB 头(USB_232),用于 USB 连接 CH340G 芯片,从而
实现 USB 转串口。同时,此 MiniUSB 接头也是开发板电源的主要提供口。 - 小喇叭
这是开发板自带的一个 8Ω 2W 的小喇叭,安装在开发板的背面,并带了一个小音腔,可
以用来播放音频。该喇叭由 WM8978 直接驱动,最大输出功率可达 0.9W。 - OLED/摄像头模块接口
这是开发板板载的一个 OLED/摄像头模块接口(P8),如果是 OLED 模块,靠左插即可(右
边两个孔位悬空)。如果是摄像头模块(ALIENTEK 提供),则刚好插满。通过这个接口,可以
分别连接 2 个外部模块,从而实现相关实验。 - 光敏传感器
这是开发板板载的一个光敏传感器(LS1),通过该传感器,开发板可以感知周围环境光线
的变化,从而可以实现类似自动背光控制的应用。 - 有源蜂鸣器
这是开发板的板载蜂鸣器(BEEP),可以实现简单的报警/闹铃。让开发板可以听得见。 - 红外接收头
这是开发板的红外接收头(U13),可以实现红外遥控功能,通过这个接收头,可以接受市
面常见的各种遥控器的红外信号,大家甚至可以自己实现万能红外解码。当然,如果应用得当,
该接收头也可以用来传输数据。 - 单总线接口
这是开发板的一个单总线接口(U12),该接口由 4 个镀金排孔组成,可以用来接
DS18B20/DS1820 等单总线数字温度传感器。也可以用来接 DHT11 这样的单总线数字温湿度传
感器。实现一个接口,多个功能。不用的时候,大家可以拆下上面的传感器,放到其他地方去
用,使用上是十分方便灵活的。 - 2 个 LED
这是开发板板载的两个 LED 灯(DS0 和 DS1),DS0 是红色的,DS1 是绿色的,主要是方
便大家识别。这里提醒大家不要停留在 51 跑马灯的思维,搞这么多灯,除了浪费 IO 口,实在
是想不出其他什么优点。 - 复位按钮
这是开发板板载的复位按键(RESET),用于复位 STM32,还具有复位液晶的功能,因为
液晶模块的复位引脚和 STM32 的复位引脚是连接在一起的,当按下该键的时候,STM32 和液
晶一并被复位。 - 启动选择端口
这是开发板板载的启动模式选择端口(BOOT),STM32 有 BOOT0(B0)和 BOOT1(B1)
两个启动选择引脚,用于选择复位后 STM32 的启动模式,作为开发板,这两个是必须的。在
开发板上,我们通过跳线帽选择 STM32 的启动模式。关于启动模式的说明,请看 2.1.8 小节。 - 4 个按键
这是开发板板载的 4 个机械式输入按键(KEY0、KEY1、KEY2 和 KEY_UP),其中 KEY_UP
具有唤醒功能,该按键连接到 STM32 的 WAKE_UP(PA0)引脚,可用于待机模式下的唤醒,
在不使用唤醒功能的时候,也可以做为普通按键输入使用。
其他 3 个是普通按键,可以用于人机交互的输入,这 3 个按键是直接连接在 STM32 的 IO
口上的。这里注意 KEY_UP 是高电平有效,而 KEY0、KEY1 和 KEY2 是低电平有效,大家在
使用的时候留意一下。 - 参考电压选择端口
这是 STM32 的参考电压选择端口(P7),我们默认是接开发板的 3.3V(VDDA)。如果大
家想设置其他参考电压,只需要把你的参考电压源接到 Vref+和 GND 即可。 - MPU6050 传感器
这是开发板板载的一个六轴传感器(U8),MPU6050 是一个高性能的六轴传感器,它内部
集成 1 个三轴加速度传感器和 1 个三轴陀螺仪,并且带 DMP 功能,该传感器在四轴飞控方面
应用非常广泛。所以喜欢玩四轴的朋友,也可以通过我们的开发板进行学习。 - 触摸按钮
这是开发板板载的一个电容触摸输入按键(TPAD),利用电容充放电原理,实现触摸按键
检测。 - 电源指示灯
这是开发板板载的一颗蓝色的 LED 灯(PWR),用于指示电源状态。在电源开启的时候(通
过板上的电源开关控制),该灯会亮,否则不亮。通过这个 LED,可以判断开发板的上电情况。 - 多功能端口
这是 1 个由 6 个排针组成的一个接口(P2&P12)。不过大家可别小看这 6 个排针,这可是
本开发板设计的很巧妙的一个端口(由 P2 和 P12 组成),这组端口通过组合可以实现的功能有:
ADC 采集、DAC 输出、PWM DAC 输出、外部音频输入、电容触摸按键、DAC 音频、PWM DAC
音频、DAC ADC 自测等,所有这些,你只需要 1 个跳线帽的设置,就可以逐一实现。 - 扬声器接口
这是开发板预留的一个扬声器接口(P1),可以外接 1W(8Ω)左右的小喇叭(需自备喇叭),
这样使用 WM8978 放音的时候,就可以直接推动喇叭输出音频了。不过,我们开发板自带了一个
8Ω 2W 的小喇叭,所以,这里即使不外接喇叭,也是可以听到声音的! - 耳机输出接口
这是开发板板载的音频输出接口(PHONE),该接口可以插 3.5mm 的耳机,当 WM8978
放音的时候,就可以通过在该接口插入耳机,欣赏音乐。 - 录音输入接口
这是开发板板载的外部录音输入接口(LINE_IN),通过咪头我们只能实现单声道的录音,
而通过这个 LINE_IN,我们可以实现立体声录音。 - MIC(咪头)
这是开发板的板载录音输入口(MIC),该咪头直接接到 WM8978 的输入上,可以用来实
现录音功能。 - 24C02 EEPROM
这是开发板板载的 EEPROM 芯片(U14),容量为 2Kb,也就是 256 字节。用于存储一些
掉电不能丢失的重要数据,比如系统设置的一些参数/触摸屏校准数据等。有了这个就可以方便
的实现掉电数据保存。 - ATK 模块接口
这是开发板板载的一个 ALIENTEK 通用模块接口(U7),目前可以支持 ALIENTEK 开发
的 GPS 模块和蓝牙模块,直接插上对应的模块,就可以进行开发。后续我们将开发更多兼容该
接口的其他模块,实现更强大的扩展性能。 - 3.3V 电源输入/输出
这是开发板板载的一组 3.3V 电源输入输出排针(2*3)(VOUT1),用于给外部提供 3.3V
的电源,也可以用于从外部接 3.3V 的电源给板子供电。
大家在实验的时候可能经常会为没有 3.3V 电源而苦恼不已,有了 ALIENTEK 探索者
STM32F4 开发板,你就可以很方便的拥有一个简单的 3.3V 电源(USB 供电的时候,最大电流
不能超过 500mA,外部供电的时候,最大可达 1000mA)。 - 5V 电源输入/输出
这是开发板板载的一组 5V 电源输入输出排针(2*3)(VOUT2),该排针用于给外部提供
5V 的电源,也可以用于从外部接 5V 的电源给板子供电。
同样大家在实验的时候可能经常会为没有 5V 电源而苦恼不已,ALIENTEK 充分考虑到了
大家需求,有了这组 5V 排针,你就可以很方便的拥有一个简单的 5V 电源(USB 供电的时候,
最大电流不能超过 500mA,外部供电的时候,最大可达 1000mA)。 - 电源开关
这是开发板板载的电源开关(K1)。该开关用于控制整个开发板的供电,如果切断,则整
个开发板都将断电,电源指示灯(PWR)会随着此开关的状态而亮灭。 - DC6~16V 电源输入
这是开发板板载的一个外部电源输入口(DC_IN),采用标准的直流电源插座。开发板板载
了 DC-DC 芯片(MP2359),用于给开发板提供高效、稳定的 5V 电源。由于采用了 DC-DC 芯
片,所以开发板的供电范围十分宽,大家可以很方便的找到合适的电源(只要输出范围在
DC6~16V 的基本都可以)来给开发板供电。在耗电比较大的情况下,比如用到 4.3 屏/7 寸屏/
网口的时候,建议使用外部电源供电,可以提供足够的电流给开发板使用。 - 以太网接口(RJ45)
这是开发板板载的网口(EARTHNET),可以用来连接网线,实现网络通信功能。该接口
使用 STM32F4 内部的 MAC 控制器外加 PHY 芯片,实现 10/100M 网络的支持。 - RS485 总线接口
这是开发板板载的 RS485 总线接口(RS485),通过 2 个端口和外部 485 设备连接。这里提
醒大家,RS485 通信的时候,必须 A 接 A,B 接 B。否则可能通信不正常! - RS232/模块选择接口
这是开发板板载的一个 RS232(COM3)/ATK 模块接口(U7)选择接口(P10),通过该选
择接口,我们可以选择 STM32 的串口 3 连接在 COM3 还是连接在 ATK 模块接口上面,以实现
不同的应用需求。这样的设计还有一个好处,就是我们的开发板还可以充当 RS232 到 TTL 串
口的转换(注意,这里的 TTL 高电平是 3.3V)。 - RS232/485 选择接口
这是开发板板载的 RS232(COM2)/485 选择接口(P9),因为 RS485 基本上就是一个半
双工的串口,为了节约 IO,我们把 RS232(COM2)和 RS485 共用一个串口,通过 P9 来设置
当前是使用 RS232(COM2)还是 RS485。这样的设计还有一个好处。就是我们的开发板既可
以充当 RS232 到 TTL 串口的转换,又可以充当 RS485 到 TTL485 的转换。(注意,这里的 TTL
高电平是 3.3V)。 - RS232 接口(公)
这是开发板板载的一个 RS232 接口(COM3),通过一个标准的 DB9 公头和外部的串口连
接。通过这个接口,我们可以连接带有串口的电脑或者其他设备,实现串口通信。 - LCD 接口
这是开发板板载的 LCD 模块接口,该接口兼容 ALIENTEK 全系列 TFTLCD 模块,包括:
2.4 寸、2.8 寸、3.5 寸、4.3 寸和 7 寸等 TFTLCD 模块,并且支持电阻/电容触摸功能。 - IS62WV51216 8M SRAM
这是开发板外扩的 SRAM 芯(U3)片,容量为 8M 位,也就是 1M 字节,这样,对大内存
需求的应用(比如 GUI), 就可以很好的实现了 - RS232 接口(母)
这是开发板板载的另外一个 RS232 接口(COM2),通过一个标准的 DB9 母头和外部的串
口连接。通过这个接口,我们可以连接带有串口的电脑或者其他设备,实现串口通信 - CAN 接口
这是开发板板载的 CAN 总线接口(CAN),通过 2 个端口和外部 CAN 总线连接,即 CANH
和 CANL。这里提醒大家:CAN 通信的时候,必须 CANH 接 CANH,CANL 接 CANL,否则
可能通信不正常!
以上是关于STM32F4开发板硬件简介的主要内容,如果未能解决你的问题,请参考以下文章