STM32 F401/411外设内部互联矩阵摘要

STM32 F401/411外设内部互联矩阵摘要


📑 STM32F401/411 系列的外设内部互联概述

若干外设可以直接进行互联和配置,用以发送或响应可以被路由到器件上其他外设的事件信号。
  • STM32F401/411 系列的自带外设包括:
    • 定时器 — 直接在内部互联或连到 DMA 或模拟模块。
    • 模拟模块 — 接收来自定时器的事件或向 DMA 发送事件。
    • 时钟模块 — 向定时器发送事件。
    • 系统模块 — 向模拟模块发送事件。
    • 通信接口 — 向定时器或 DMA 发送事件。

在这里插入图片描述

📙外设内部互联矩阵

STM32F401/411 的外设通过名为 “ 外设内部互联矩阵 ” 的网络实现互联,该网络可以使某一外设在不唤醒 CPU 的情况下,与另一个外设直接相连。
  • 🌿根据不同外设,互联可以工作于运行 (Run)、休眠 (Sleep)和停止 (Stop)模式。
  • 🔖响应事件的外设称为用户,发送事件的外设则称为发生器.
    在这里插入图片描述
    在这里插入图片描述

📙定时器模块

  • 🌿从 TIM 到 TIM
    某些定时器从内部连接在一起,以实现定时器同步或链接。当某个定时器 (TIMx) 被配置为主模式时,可对另一个配置为从模式的定时器 (TIMy) 的计数器执行复位、启动、停止操作或为其提供时钟。(可以参考上面的相关案例)
  • 主输出为 TIMx_TRGO 信号。该输出通过 TIMx_CR2 寄存器配置为定时器事件,并发送至TIMy_ITR0/ITR1/ITR2/ITR3 输入。
    在这里插入图片描述
  • 🌿TIM 到 ADC
    一些定时器可用于产生 ADC 触发事件。
  • 定时器输出可以是 TIMx_TRGO 信号或 TIMx_CHx 事件。它输出为 ADC EXTSEL[3:0] 和JEXTSEL [3:0] 信号。
    在这里插入图片描述
  • 🌿从 TIM 到 DMA

📒模拟模块

  • 模拟模块包括:

• ADC 模块 (ADC1)
• 温度传感器模块.
从温度传感器到 ADC1

  • 在 STM32F401/411 器件上,温度传感器在内部与 ADC1_IN18 输入通道相连。 ADC1_IN18:用于将传感器输出电压或 VBAT 转换为数字值。(温度传感器参考手册章节描述了传感器和 ADC 之间的连接以及读取转换器的程序。)
  • 从模拟模块到 DMA.

📘时钟模块

  • 时钟模块包括:
    • LSE 时钟
    • LSI 时钟
    • 时钟安全系统 (CSS)
    • 实时时钟 (RTC)
  • CSS 到 TIM
    CSS 可生成系统错误。此时,时钟故障事件发送至 TIM1 刹车输入。
    刹车功能的目的是保护由 TIM1 和 TIM8 定时器产生的 PWM 信号所驱动的电源开关。
    可能的刹车源列表见使用刹车功能 (TIM1) 参考手册章节。
  • 从 LSE、 LSI、 RTC 到 TIM
    外部时钟 (LSE)、内部时钟 (LSI) 和 RTC 唤醒中断可用作通用定时器 (TIM5 通道 4/TIM11 通道 1) 的输入。(该特性描述见 RM0368 和 RM0383 参考手册的下列章节:)
    • 基于 TIM5/TIM11 的内部 / 外部时钟测量
    • TIM5 选项寄存器 (TIM5_OR)
    • TIM11 选项寄存器 1 (TIM11_OR)

📓系统模块

  • 🌿系统模块包括:
    • 内部参考电压 (VREFINT)
    • VBAT 电源电压
    • 外部中断 / 事件控制器 (EXTI)
  • 从 VBAT、 VREFINT 到 ADC
    VBAT 通道连接到通道 ADC1_IN18。通过 ADC_IN18 通道,它可以转换为注入通道或常规通道。
    VREFINT 连接到 ADC_IN17 通道。
    参见下列参考手册章节,获得关于 VBAT、 VREFINT 和 ADC 之间互联的详细信息 :
    • 通道选择
    • 电池充电监视
  • 从 EXTI 到模拟模块
    EXTI 可用于生成 ADC 触发事件或启动 DAC 转换。

📗通信接口

  • 🌿从 USB 模块到 TIM
    USB OTG_FS SOF 脉冲信号可以触发 TIM2 通用定时器。
    在这里插入图片描述
  • 🌿从通信接口到 DMA

🎉DMA 模块

每个数据流都与一个 DMA 请求相关联,此 DMA 请求可以从 8 个可能的通道请求中选出。
此选择由 DMA_SxCR 寄存器中的 CHSEL[2:0] 位控制。来自外设的 8 个请求 (TIM、
ADC、 SPI、 I2C 等)独立连接到每个通道,具体的连接取决于产品实现情况。

  • 该特性描述见 RM0368 和 RM0383 参考手册的下列表格:
    • DMA1 请求映射
    • DMA2 请求映射

📗测试例程

  • 🌿使用了三个定时器:
    • TIM1 配置为主定时器:
    – PWM 模式使能
    – TIM2 更新事件用作触发输出。
    • TIM2 和 TIM3 作为 TIM1 的从设备使用
    – PWM 模式使能
    – ITR0(TIM1) 用作两个从定时器的输入。
    在这里插入图片描述
  • 🔖以STM32F401为例:
  • TIM1 计数器时钟频率为 84 MHz。
    TIM1 主定时器工作在 TIM1 频率:
    • TIM1 频率 = TIM1 计数器时钟 / (TIM1 周期 + 1) = 328.125 KHz
    • 占空比等于 TIM2_CCR1/ (TIM2_ARR + 1) = 25%。
    TIM2 从定时器工作频率为:
    • (TIM1 频率 )/ (TIM2 周期 + 1) = 32.815 KHz
    • 占空比等于 TIM2_CCR1/ (TIM2_ARR + 1) = 30%。
    TIM3 从定时器工作频率为:
    • (TIM1p 频率 )/ (TIM3 周期 + 1) = 65.630 KHz
    • 占空比等于 TIM3_CCR1/ (TIM3_ARR + 1) = 60%。
    表 3:外设内部互联配置信息给出了配置上述 TIM1、 TIM2 和 TIM3 的代码示例
    在这里插入图片描述
  • 🍁时钟树:
    在这里插入图片描述
  • 🌿主定时器TIM1配置:f=Tck/(psc+1)*(arr+1): 84000000/(7+1)*(31+1)=32.815 KHz
    在这里插入图片描述
    占空比:25%:8/32

在这里插入图片描述
在这里插入图片描述

  • 🌿从定时器TIM2:(TIM1 频率 )/ (TIM2 周期 + 1) = 32.815 KHz

在这里插入图片描述
在这里插入图片描述

  • 🌿TIM3 从定时器工作频率为:(TIM1频率 )/ (TIM3 周期 + 1) = 65.630 KHz
    在这里插入图片描述
    在这里插入图片描述

📚测试工程

  • 🔖基于stm32f401
链接:https://pan.baidu.com/s/1elIUCWDXzVVXBg_AK4DsnA?pwd=4op7 
提取码:4op7
  • 12
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值