STM32F7 介绍 STMCU Team
内容 2 STM32 F7 系列总览 STM32F7 新特性 系统架构 boot 模式 RCC, DMA, SYSCFG, PWR FMC 四线 SPI(QSPI) SPDIF-Rx 低功耗定时器 HDMI-CEC 从 STM32F4 系列到 STM32F7 系列的移植
3 STM32 F7 系列 第一个进入市场的基于 ARM Cortex -M7 的 32 位微处理器 On-time! STM32 F7 基于 arm 最新的内核 : ARM Corex -M7 core 同时 STM32 F7 集成了 ST 很多优秀的特性和外设, 是迄今为止最智能的 STM32 微处理器!
CoreMark STM32 跑分测试达到 2000 CoreMark 4 STM32F7 系列和 STM32 F4 软硬件全兼容的, 同时可以利用之前强大完善的生态系统 2500 2000 CoreMark 2000 1500 1000 398 CoreMark Cortex-M3 ST 90nm eflash 608 CoreMark Cortex-M4 ST 90nm eflash 1000 CoreMark Cortex-M7 ST 90nm eflash Next 500 0 120 180 200 400 MHz F CPU
STM32F7 智能特性 5 STM32 F7 使用两种机制来实现 0 等待周期 : ST ART Accelerator 一级高速缓存 (L1-Cache) AXI 和 Multi-AHB 总线矩阵 两个通用 DMA 控制器和以太网,USB 专用 DMA 控制器 图形硬件加速器 (Chrom-ART) 大容量 SRAM: 240K SRAM1&SRAM2 64 K 字节 DTCM 16 K 字节 ITCM RAM 4 K 字节备份 SRAM
系统架构 6
7
Cortex-M7 内核总览 8 性能和配置 六级超标量流水线 强大的 DSP 指令和单精度 / 双精度浮点单元 灵活的系统和内存接口 : TCM, AXI 和 AHB 哈佛结构高速缓存 ( 指令缓存和数据缓存 ) 特定的 DMA 通道
内核架构 9 ITCM (64-bit) D0TCM (32-bit) D1TCM (32-bit) TCU SQ AHBS AHBS (32-bit) MPU NVIC DBG PFU DPU FPU STB LSU AHBP Interrupts AHBP (32-bit) ICU RAM BIU DCU RAM AHBD Cortex-M7 Debug ATB Trace ETM Trace EPPB L2 AXIM (64-bit AXI4)
处理器流水线 10 Ls1 Ls2 Ls3 LSU0 Ls1 Ls2 Ls3 Ex1 Ex2 Wr Ret LSU1 ALU0 Pf Fe De Iss Ex1 Ex2 Wr ALU1 Ma1 Ma2 MAC Ex1 Ex2 Wr Ret F1 F2 F2 F3 BRN Float
紧耦合内存 (TCM) 11 所有的紧耦合内存 : 支持插入等待周期 MCU 启动时就可以使用 64-bit ITCM DTCM 32-bit 32-bit 固定的基地址 : ITCM FLASH: 0x0020_0000 ~ 0x002F_FFFF DTCM : 0x20000000~(64K) TCU SQ AHBS
AHBP DMA_MEM1 DMA_MEM2 DTCM ITCM STM32F7x6 架构 总线 12 ITCM Bus DTCM BUs AXIM Bus AHBS AHBS Bus Cortex-M7 L1-Cache 4KB I/D AXIM AXI to Multi-AHB DMA 1 DMA 2 ETH DMA DMA_P1 USB HS DMA LCD- TFT DMA DMA_P2 Chrom- ART ART 64-bit BusMatrix DTCM RAM 64 KB ITCM RAM 16 KB FLASH 1MB SRAM 240 KB SRAM 16 KB AHB1 Peripheral AHB2 Peripheral FMC APB1 Peripheral APB2 Peripheral QuadSPI 32-bit Bus Matrix
STM32F756x 内存映射 13 SRAM2(16 KB) SRAM1(240 KB) DTCM (64 KB) Option Bytes System memory on AXIM Flash memory on AXIM Flash memory on ITCM System memory on ITCM ITCM RAM 0x2004 C000 0x2004 FFFF 0x2001 0000 0x2004 BFFF 0x2000 0000 0x2000 FFFF 0x1FFF 0000 0x1FFF 001F 0x0820 0000 0x1FFE FFFF 0x0800 0000 0x080F FFFF 0x0020 0000 0x002FF FFFF 0x0010 0000 0x0010 EDBF 0x0000 0000 0x0000 3FFF
CoreMarks / MHz 6 Coremark 结果 ( 数据存放在数据紧耦合内存 ) ART 打开或指令 Cache 打开 Coremark Benchmark 14 5 4 ART 关闭或指令 Cache 关闭 3 2 1 0 代码运行在 RAM 代码运行在 FLASH (ITCM 接口 ART 打开 ) 代码运行在 FLASH (AXIM 接口 I-Cache 打开 ) 代码运行在 FLASH (ITCM 接口 ART 关闭 ) 代码运行在 QSPI 中执行
STM32F7 新特性介绍
CORTEX M7 CPU+ MPU CORTEX + FPU M7 CPU+ 200 MHz MPU + FPU 200 MHz DMA1 DMA2 1MB Flash Memory 320KB SRAM 2xSAI SPDIF-RX JTAG/SW Debug 16 ETM Nested vect IT Ctrl SDIO 14 : 21 Encryption LCD Controller Camera Interface RNG USB 2.0 OTG ALARM -5C 3x 12-bit ADC 2 x DACs 16 x timers 2x Watchdog Temp Sensor QSPI FMC LP Timer HDMI-CEC 2x CAN 2.0B 6x SPI/I2S 6x USART/LIN 4x I2C Ethernet MAC 10/100, IEEE1588 STM32F756x Technical Training
启动方式 - 新的 Option Bytes 17 BOOT_ADD0[15:0] 启动地址 - 当 BOOT pin =0 时 BOOT_ADD0[15:0] 地址范围 :0x0000 0000-0x2004 FFFF. BOOT_ADD1[15:0] 启动地址 - 当 BOOT pin =1 时 BOOT_ADD1[15:0] 地址范围 : 0x0000 0000-0x2004 FFFF. 示例 : BOOT_ADD0 = 0x0000: 从 ITCM RAM (0x0000 0000) 启动 BOOT_ADD0 = 0x0040: 从 bootloader (0x0010 0000) 启动 BOOT_ADD0 = 0x0080: 通过指令 TCM 接口 (0x0020 0000) 从 FLASH 启动 BOOT_ADD0 = 0x2000: 通过 AXIM 总线接口 (0x0800 0000) 从 FLASH 启动
供电 18 供电框图 VDD = 1.8 V to 3.6 V. V REF- V REF+ V DDA V SSA VDD_USB OTG FS PHY V DDA domain A/D converter D/A converter Temp. sensor Reset block PLLs VDD_USB = 独立供电给 USB 模块 PDR_ON Reset Controller V DD domain V Core (1.2V) domain FLASH Memory VDDA = 1.8 V to 3.6 V. V SS V DD I/O Rings STANDBY circuitry (Wake-up logic, IWDG) Core Memories Digital peripherals V CAP Voltage Regulator V BAT Low voltage detector Backup domain RTC and BKP reg LSE crystal 32K osc RCC BDCR BKP SRAM
四线 SPI 19 三种功能模式 间接模式 状态轮询 内存映射 编程 FIFO 门限, 超时, 操作完成和错误都会产生中断
SPDIF-RX 框图 20 1 to 2 MHz 192 to 432 MHz To Timer x STM32F7xx RCC PLLSRC HSI HSE 2 to 63 M CMP CMP CMP N PLL PLLSAI N PLLI2S N P Q P Q R P Q R spdif_frame_sync 2,4,6,8 Interrupt Request APB bus DMA_SPDIF_RX_DT DMA_SPDIF_RX_CS SPDIF_CLK Interrupt IF APB Interface DMA IF RX-BUF 32 bits data flow control flow SPDIF-SEQ SPDIF-DEC SPDIF-FE CLK-GEN SPDIF-RX SPDIF_IN1 SPDIF_IN2 SPDIF_IN3 SPDIF_IN4
低功耗定时器 21 异步运行的能力 非常低的功耗 超时后, 可从低功耗模式唤醒
硬件移植
STM32F756xx 以下系列与 STM32F4 Family Pin to Pin 兼容 23 STM32F756xx LQFP144 LQFP176 LQFP208 TFBGA216 UFBGA176 WLCSP143
VSS VDD PA4 PA5 PA6 PA7 PC4 PC5 PB0 PB1 PB2 PE7 PE8 PE9 PE10 PE11 PE12 PE13 PE14 PE115 PB10 PB11 VCAP1 VSS VDD PA3 VSS VDD PA4 PA5 PA6 PA7 PC4 PC5 PB0 PB1 PB2 PE7 PE8 PE9 PE10 PE11 PE12 PE13 PE14 PE15 PB10 PB11 VCAP1 VDD STM32F756xx LQFP100 不兼容 STM32F4 24 仅仅 LQFP100 封装不兼容! PC3 VSSA 18 19 VREF+ VDDA PA0-WKUP 20 21 22 STM32F439xxx/437xxx PA1 PA2 23 24 LQFP100 PA3 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 PC3 VDD VSSA VFREF+ VDDA PA0-WKUP PA1 PA2 18 19 20 21 22 23 24 25 STM32F756xxx 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
外设比较 STM32F439xx/437xx Vs. STM32F756xx 25 Peripherals STM32F439xx/F437xx STM32F756xx Flash memory in bytes 2M 1M SRAM (KB) FMC memory controller Ethernet Timers System 256(112+16+64+64) 320(240+16+64) Instruction NA 16 Backup 4 Yes Yes GP 10 Advanced control Random number generator Basic 2 Low Power No 1 2 Yes
外设比较 STM32F439xx/437xx Vs. STM32F756xx 26 Communication interfaces Peripherals STM32F493xx/ 437xx STM32F756x SW compatibility QuadSPI No Yes NA SPI / I2S 6/2 (Full Duplex) 4/3(simplex) (**) 6/3(simplex) I2C 3 4 No USART / UART 4/4 No USB OTG FS Yes Yes USB OTG HS Yes Yes CAN 2 Yes SAI 1 2 Yes SDIO/SDMMC Yes Yes SPDIF-RX No 4 inputs NA (**): 4/3 simplex for STM32F756Vx 6/3 simplex for STM32F56Zx/STM32F56Ix/STM32F56Bx/STM32F56Nx No
www.st.com/stm32f7 谢谢! 27