问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【STM32F413H Discovery Kit 试用】介绍、工程测试

创作时间:
作者:
@小白创作中心

【STM32F413H Discovery Kit 试用】介绍、工程测试

引用
1
来源
1.
https://bbs.21ic.com/icview-3429040-1-1.html

本文详细介绍了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 .

上电效果

主控

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开发套件的相关资料,包括软硬件配置、功能特性、原理图等,介绍了开发环境搭,并通过具体案例完成工程测试,为后续的进一步探索打好基础。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号