STM32F407的介绍

芯片

F407总线架构

在这里插入图片描述

  • 主系统由 32 位多层 AHB 总线矩阵构成。
  • 总线矩阵用于主控总线之间的访问仲裁管理。
  • 仲裁采取循环调度算法。
  • 总线矩阵可实现以下部分互联:

八条主控总线是:

  • Cortex-M4 内核 I 总线, D 总线和 S 总线;
  • DMA1 存储器总线, DMA2 存储器总线;
  • DMA2 外设总线;
  • 以太网 DMA 总线;
  • USB OTG HS DMA 总线;

七条被控总线:

  • 内部 FLASH ICode 总线;
  • 内部 FLASH DCode 总线;
  • 主要内部 SRAM1(112KB)
  • 辅助内部 SRAM2(16KB);
  • 辅助内部 SRAM3(64KB) (仅适用 STM32F42xx 和 STM32F43xx 系列器件);
  • AHB1 外设 和 AHB2 外设;
  • FSMC

STM32F407系统框图

在这里插入图片描述太喜欢这张图了

STM32F407地址分配

在这里插入图片描述
0x0800 0000开始的flash,从0x2000 0000开始的sram这两部分,其中flash是我们代码烧录的地方,sram是我们程序执行的内存地址。
在这里插入图片描述

STM32F407 资源分配

STM32F407是意法半导体推出的一款32位 高性能ARM Cortex-M4处理器,以下是其主要资源介绍:

  • 处理器内核:采用ARM Cortex - M4内核,主频可达168MHz,具备单周期乘法和硬件除法指令,能够高效处理各种复杂的任务,支持浮点运算单元(FPU)和DSP指令,可加速浮点运算。

  • 外部高速晶振(HSE)‌

    • ‌频率范围‌:4MHz~26MHz,常用8MHz或25MHz,作为主时钟源‌28。
    • 作用‌:通过锁相环(PLL)倍频生成系统主频(最高168MHz),确保高精度和高稳定性‌68。
  • ‌外部低速晶振(LSE)‌

    • 频率‌:32.768kHz,专用于RTC(实时时钟)和低功耗模式‌8。
  • 内部时钟源(HSI/LSI)‌

    • HSI‌:16MHz内部RC振荡器,精度较低,可作为备用时钟源‌48。
    • LSI‌:32kHz,用于独立看门狗或低功耗场景‌
  • 存储器

    • 闪存:一般具有512KB到1MB(1024K)的Flash闪存,用于存储程序代码和常量数据,支持在线编程(ISP)和在应用编程(IAP),方便程序的更新和升级。
    • SRAM:拥有192KB的静态随机存取存储器(SRAM),用于存放程序运行时的变量、堆栈等数据,数据访问速度快,能满足高速运算的需求。
  • 时钟系统:支持多种时钟源,包括内部高速时钟(HSI)、内部低速时钟(LSI)、外部高速时钟(HSE)和外部低速时钟(LSE)。可以通过时钟配置寄存器灵活设置系统时钟频率,以满足不同应用场景对时钟精度和速度的要求。还具备多个 PLL(锁相环),用于对时钟进行倍频和分频,为系统提供稳定的时钟信号。

  • 通信接口

    • USART:通用同步异步收发器,多达6个USART接口,可用于与其他设备进行串口通信,如连接传感器、模块等,支持多种波特率,最高可达4.5Mbps。
    • SPI:串行外设接口,有3个SPI接口,支持全双工、半双工和单工模式,可用于连接闪存、ADC、DAC等外设,最高通信速率可达50Mbps。
    • I2C:集成电路总线,有3个I2C接口,支持多主机和多从机模式,可用于连接各种I2C设备,如EEPROM、传感器等,标准模式下速率为100Kbps,快速模式下可达400Kbps,高速模式下可达到1Mbps。
    • USB:集成了两个USB接口,其中一个为USB OTG FS(全速)接口,另一个为USB OTG HS(高速)接口,支持USB 2.0协议,可用于连接U盘、鼠标、键盘等USB设备,或与其他设备进行高速数据传输。
    • ETH:内置以太网媒体访问控制器(MAC),支持10/100Mbps以太网通信,可通过外接PHY芯片实现网络连接,方便实现设备的网络功能,如远程监控、数据传输等。
    • 2个CAN2.0
  • 定时器:拥有多个定时器,包括通用定时器、高级定时器和基本定时器。这些定时器可用于各种定时任务,如生成定时中断、PWM输出、测量时间间隔等。

    • 定时器多达17个
    • 10个通用定时器(TIM2和TIM5是32位)
    • 2个基本定时器
    • 2个高级定时器
    • 1个系统定时器
    • 2个看门狗定时器-
  • AD与DA

    • ADC:具有3个12位的模数转换器(ADC),可同时进行多通道模拟信号采集,转换速度高达2.4Msps,支持多种采样模式和触发方式。

    在这里插入图片描述

    • DAC:有2个12位的数模转换器(DAC),可将数字信号转换为模拟信号输出,用于产生模拟电压或电流,输出分辨率高,可满足一些对模拟信号精度要求较高的应用。
  • IO

    • 144引脚 114个IO口
    • 引脚数量‌:共114~140个可编程IO引脚(具体取决于封装型号,如LQFP144封装提供多达114个GPIO)‌
    • 端口分组‌:分为GPIOA~ GPIOI共9组,每组最多16个引脚(如GPIOA_Pin0~Pin15)‌
    • ‌供电电压‌:所有IO引脚支持3.3V电平,部分引脚支持5V容忍(标记为FT的引脚

DMA 控制器

  • STM32F407 包含 2 个 DMA 控制器,分别是 DMA1 和 DMA2。
  • 每个 DMA 控制器有多个通道,DMA1 有 7 个通道,DMA2 有 5 个通道。每个通道都可以独立地配置和控制,用于不同的外设或内存之间的数据传输。
### STM32F4 系统总线矩阵结构 STM32F4系列微控制器的核心特性之一是由32位多层高级高性能总线(AHB)矩阵组成的主系统架构[^1]。此设计允许多达八条主控总线连接至七条被控总线,从而支持复杂的内部通信需求。 #### 多层次AHB总线互联 该多层次AHB总线不仅促进了不同组件间的高效数据传输,还特别优化了当多个高速外设同时操作时系统的性能表现。这种配置确保即便是在高负载情况下也能维持良好的响应速度和处理效率[^3]。 ### 工作原理 对于总线访问权限管理而言,在任何给定时间点上仅有一个主设备能够获得对共享资源即从设备的实际控制权。为了协调这些竞争性的请求,内置了一个专门负责解决冲突机制的AHB总线仲裁器。每当存在两个或更多主设备试图在同一时间段发起读写指令时,这个仲裁单元就会介入并决定哪个申请者优先得到服务机会[^4]。 值得注意的是,并不是所有的内存区域都参与到上述描述的标准AHB总线体系当中;例如CCM(Core-Coupled Memory),这是一种特殊的64KB SRAM空间,专供CPU直接存取而不必经过常规路径上的其他节点转换过程[^2]。 ```c // 示例代码展示如何定义一个简单的DMA传输函数来利用总线矩阵的优势 void DMA_Transfer(uint32_t* source, uint32_t* destination, size_t length){ // 配置DMA通道参数... while(length--){ *destination++ = *source++; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万码无虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值