【STM32F413H Discovery Kit 试用】介绍、工程测试
本文介绍了 STM32F413H DISCOVERY kit 开发套件的相关资料,包括软硬件配置、功能特性、原理图等,介绍了开发环境搭与工程测试流程。
介绍
STM32F413 Discovery 套件 (32F413HDISCOVERY)可以在基于 Arm® Cortex®-M4 内核的 STM32F4 系列高性能微控制器上轻松开发应用程序。
Discovery kit 开发套件将 STM32F413 功能与 240×240 像素 LCD 和触摸面板、LED、I2S 音频编解码器、MEMS 麦克风、USB OTG FS、Quad-SPI NOR 闪存和 microSD™ 卡连接器结合。
包括一个嵌入式 ST-LINK/V2-1 调试器/编程器。专用扩展板可通过 ARDUINO® Uno V3 或扩展连接器连接。
包装

开发板


功能
- STM32F413ZHT6 微控制器,具有 1.5 MB 闪存和 320 KB SRAM,采用 LQFP144 封装
- 240×240 像素 LCD,带并行接口和电容式触摸屏
- 集成 Wi-Fi 模块(符合 802.11 b/g/n)®
- USB OTG FS
- I2S 音频编解码器
- 立体声数字 ST-MEMS 麦克风
- 8 Mb 16 位宽 PSRAM
- 128Mb 四通道 SPI NOR 闪存
- 2 个彩色用户 LED
- 用户按钮、复位按钮
- 板连接器:microSD™ 卡带 Micro-AB 插孔的用户 USB,用于带麦克风输入和立体声输出的音频线路扩展连接器,用于嵌入式 MEMS 麦克风子板,具有 5 个 MEMS 麦克风 ARDUINO
- 灵活的电源选项:ST-LINK USB VBUS、用户 USB FS 连接器或外部电源
- STM32Cube MCU 软件包提供全面的免费软件库和示例
- 板载 ST-LINK/V2-1 调试器/编程器,具有 USB 重新枚举功能:大容量存储、虚拟 COM 端口和调试端口
- 支持多种集成开发环境 (IDE),包括 IAR Embedded Workbench、MDK-ARM 和 STM32CubeIDE®
硬件框图

原理图
Top

MCU

PSRAM

QSPI

Audio

LCD

USB_OTG_FS

Peripherals 外设

Arduino

ST-LINK

Power 供电

详见:mb1274-f413zht6-e03_schematic .
麦克风模块

详见:mb1299-microphone .
上电效果

<iframe src="https://player.bilibili.com/player.html?bvid=BV1hUf8YZE5Z&page=1&danmaku=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>
主控
STM32F413ZHT6U 带DSP和FPU的高性能基本型系列 ARM® Cortex®-M4 MCU,具有1,5 MB Flash、100 MHz CPU、ART 加速器和 DFSDM

STM32F413xG/H 器件基于高性能 Arm® Cortex®-M4 32 位 RISC 内核,工作频率高达 100 MHz。其 Cortex®-M4 内核具有浮点单元 (FPU) 单精度,支持所有 Arm 单精度数据处理指令和数据类型。它还实现了一整套 DSP 指令和一个内存保护单元 (MPU),以增强应用程序的安全性。
STM32F413xG/H 器件属于STM32F4接入产品线(产品结合了能效、性能和集成度),同时增加了称为批量采集模式 (BAM) 的新创新功能,可在数据批处理期间节省更多功耗。
STM32F413xG/H 器件集成了高速嵌入式存储器(高达 1.5 MB 的闪存、320 KB 的 SRAM)以及连接到两条 APB 总线、三条 AHB 总线和一个 32 位多 AHB 总线矩阵的大量增强型 I/O 和外设。
所有器件均提供一个 12 位 ADC、两个 12 位 DAC、一个低功耗 RTC、12 个通用 16 位定时器(包括两个用于电机控制的 PWM 定时器)、两个通用 32 位定时器和一个低功耗定时器。
它们还具有标准和高级通信接口。
功能
-
带 eBAM 的 Dynamic Efficiency Line(增强型批量采集模式)
- 1.7 V 至 3.6 V 电源
- 温度范围:-40 °C 至 85/105/125 °C
-
内核:带 FPU 的 Arm® 32 位 Cortex®-M4 CPU、允许从闪存执行零等待状态的自适应实时加速器(ART 加速器™)、频率高达 100 MHz、内存保护单元、125 DMIPS/1.25 DMIPS/MHz (Dhrystone 2.1) 和 DSP 指令
-
存储器
- 高达 1.5 MB 的闪存
- 320 KB 的 SRAM
- 灵活的外部静态存储控制器,具有高达 16 位的数据总线:SRAM、PSRAM NOR 闪存
- 双模 Quad-SPI 接口
-
LCD 并行接口,8080/6800 模式
-
时钟、复位和电源管理
- 1.7 至 3.6 V 应用电源和 I/O
- POR、PDR、PVD 和 BOR
- 4 至 26 MHz 晶体振荡器
- 内部 16 MHz 工厂调整 RC
- 用于 RTC 的 32 kHz 振荡器,带校准
- 带校准的内部 32 kHz RC
-
功耗
- 运行:112 μA/MHz(外设关闭)
- 停止(停止模式下闪烁,快速唤醒时间):42 μA 典型值;最大 80 μA @25 °C
- 停止(深度掉电模式下闪烁,唤醒时间慢):15 μA 典型值;最大 46 μA @25 °C
- 无 RTC 的待机:1.1 μA 典型值;在 85 °C 时最大 14.7 μA
- 用于 RTC 的 VBAT 电源:1 μA @25 °C
-
2x12 位 D/A 转换器
-
1×12 位、2.4 MSPS ADC:多达 16 个通道
-
6 个用于 Σ Δ 调制器的数字滤波器,12 个 PDM 接口,支持立体声麦克风和声源定位
-
通用 DMA:16 流 DMA
-
多达 18 个定时器:多达 12 个 16 位定时器、两个高达 100 MHz 的 32 位定时器,每个定时器具有多达 4 个 IC/OC/PWM 或脉冲计数器和正交(增量)编码器输入、2 个看门狗定时器(独立和窗口)、1 个 SysTick 定时器和一个低功耗定时器
-
调试模式
- 串行线调试 (SWD) & JTAG
- Cortex®-M4 嵌入式跟踪宏单元™
-
多达 114 个 I/O 端口,具有中断功能
- 多达 109 个高达 100 MHz 的快速 I/O
- 多达 114 个 5 V 容限 I/O
-
多达 24 个通信接口
- 高达 4 倍 I2C 接口 (SMBus/PMBus)
- 多达 10 个 UART:4 个 USART / 6 个 UART(2 个 12.5 Mbit/s、2 个 6.25 Mbit/s)、ISO 7816 接口、LIN、IrDA、调制解调器控制)
- 多达 5 个 SPI/I2S(高达 50 Mbit/s,SPI 或 I2S 音频协议),其中 2 个多路复用全双工 I2S 接口
- SDIO 接口 (SD/MMC/eMMC)
- 高级连接:带 PHY 的 USB 2.0 全速设备/主机/OTG 控制器
- 3 个 CAN(2.0B 有源)
- 1 个 SAI
-
真随机数生成器
-
CRC 计算单元
-
96 位唯一 ID
-
RTC:亚秒级精度、硬件日历
-
所有软件包均 ECOPACK®2
软件
固件架构

MCU 软件包结构

示例工程

开发环境搭建
下载开发所需的软件工具、SDK、Demo 等

所需开发软件 IDE,主要包括
- STM32CubeMX(工程快速构建)
- STM32CubeIDE 或 ARM Keil MDK(项目编译)
- STM32CubeProg (程序烧录、STLINK 固件更新)等

或使用 Keil MDK-ARM IDE 开发。
工程测试
工程导入
打开 STM32CubeIDE 软件,依次点击 File
- Open Projects from File System...
- Directory
- 选择示例工程所在文件夹 - Finish
- 左侧工程预览栏可见工程目录结构。
代码编辑
工程预览栏展开一级目录 - 展开 Example - User - 双击 main.c 文件
这里以 GPIO_IOToggle
工程为例,该项目位于 STM32Cube_FW_F4_V1.28.0\Projects\STM32F413H-Discovery\Examples\GPIO\GPIO_IOToggle
文件夹下,
由原理图可知

板载两个红色和绿色用户 LED ,分别与主控芯片的 GPIO 引脚 PE3 和 PC5 相连。
#include "main.h"
static GPIO_InitTypeDef GPIO_InitStruct;
static void SystemClock_Config(void);
int main(void)
{
HAL_Init();
/* Configure the system clock to 100 MHz */
SystemClock_Config();
/* -1- Enable GPIO Clock (to be able to program the configuration registers) */
LED3_GPIO_CLK_ENABLE();
LED4_GPIO_CLK_ENABLE();
/* -2- Configure IO in output push-pull mode to drive external LEDs */
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Pin = LED3_PIN;
HAL_GPIO_Init(LED3_GPIO_PORT, &GPIO_InitStruct);
GPIO_InitStruct.Pin = LED4_PIN;
HAL_GPIO_Init(LED4_GPIO_PORT, &GPIO_InitStruct);
while (1)
{
HAL_GPIO_TogglePin(LED3_GPIO_PORT, LED3_PIN);
HAL_Delay(100);
HAL_GPIO_TogglePin(LED4_GPIO_PORT, LED4_PIN);
HAL_Delay(100);
}
}
static void SystemClock_Config(void)
{
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_OscInitTypeDef RCC_OscInitStruct;
HAL_StatusTypeDef ret = HAL_OK;
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 8;
RCC_OscInitStruct.PLL.PLLN = 200;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 7;
RCC_OscInitStruct.PLL.PLLR = 2;
ret = HAL_RCC_OscConfig(&RCC_OscInitStruct);
if(ret != HAL_OK)
{
while(1) { ; }
}
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
ret = HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3);
if(ret != HAL_OK)
{
while(1) { ; }
}
}
代码中目标 GPIO 引脚已被重定义为 [LED3_GPIO_PORT
, LED3_PIN
](C5)和 [LED4_GPIO_PORT
, LED4_PIN
](E3),这里在主循环中直接调用即可。
工程实现效果为板载红绿灯闪烁,可调整延时控制闪烁频率。
工程构建
左侧文件结构工具栏,选中目标项目,点击小锤子或右键,选择构建工程

运行与调试
点击 Run 按钮,首次运行弹出调试器选项,默认本地调试,点击确认后软件扫描设备端口,识别 ST-LINK 并上传固件,之后自动复位并运行程序,效果如下

总结
本文介绍了 STM32F413H DISCOVERY kit 开发套件的相关资料,包括软硬件配置、功能特性、原理图等,介绍了开发环境搭,并通过具体案例完成工程测试,为后续的进一步探索打好基础。