SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: STM32F407 Features & Specifications
SUBSCRIBE
SoCSoC
Font ResizerAa
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Search
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Have an existing account? Sign In
Follow US
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
© S-O-C.ORG, All Rights Reserved.
Arm

STM32F407 Features & Specifications

Graham Kruk
Last updated: October 5, 2023 9:55 am
Graham Kruk 7 Min Read
Share
SHARE

The STM32F407 is an ARM Cortex-M4 core-based high-performance microcontroller developed by STMicroelectronics. It offers advanced processing capabilities, high-speed connectivity, and rich peripherals while maintaining low power consumption.

Contents
OverviewKey FeaturesARM Cortex-M4 CoreMemoryClock ManagementLow Power OperationConnectivityAnalog peripheralsTimersDebuggingMotor ControlPackage OptionsConclusion

Overview

The STM32F407 is based on the high-performance ARM Cortex-M4 32-bit RISC core which can run up to 168MHz. It has 1MB of flash memory and 192KB of SRAM. The chip provides extensive connectivity options including Ethernet, USB OTG, CAN, SDIO, SPI, and I2C. The STM32F407 also includes a rich set of peripherals such as ADCs, DACs, timers, real-time clock, and multiple communication interfaces.

Key Features

  • ARM Cortex-M4 core: Offers DSP instructions and floating point unit, running up to 168MHz.
  • Memory: 1MB flash memory, 192KB SRAM, 4KB battery-backed SRAM.
  • Clock management: Internal oscillators, phase-locked loops, multiple clock outputs.
  • Power modes: Sleep, stop, standby modes for low-power operation.
  • Connectivity: USB 2.0 OTG HS and FS, Ethernet MAC, 2xCAN, SDIO, SPI, I2C.
  • Peripherals: Up to 3xADC, 2xDAC, 2xoperational amplifiers, timers, real-time clock, watchdog.
  • Debugging: SWD, JTAG interfaces for programming and debugging.
  • PWM support: Advanced timers for motor control and advanced lighting applications.
  • Package options: LQFP100, LQFP144, LQFP176, UFQFPN48.

ARM Cortex-M4 Core

The STM32F407 incorporates ARM’s Cortex-M4 core, which includes DSP instructions and a floating point unit. It delivers exceptional performance and power efficiency. The Cortex-M4 CPU can reach frequencies up to 168MHz. It has a 3-stage pipeline, uses Harvard architecture with separate instruction and data buses, and featuresThumb-2 instruction set for optimal code density.

The DSP capability allows efficient processing of signal processing algorithms for applications like audio processing, sound synthesis, encryption, image processing etc. The FPU enables floating point calculations to be performed efficiently. Overall, the Cortex-M4 core provides high performance signal processing capabilities to the STM32F407 MCU.

Memory

The STM32F407 microcontroller contains 1MB of flash memory for storing code and data. It provides 192KB of SRAM for data storage and processing. Additionally, it has 4KB of battery-backed SRAM which can preserve data when main power is lost. The SRAM supports 32-bit word access for higher performance.

The flash memory supports read-while-write operation, allowing code execution to continue uninterrupted during flash write or erase. The STM32F407 memory architecture is optimized for high performance and low power consumption during operation.

Clock Management

The STM32F407 includes advanced clock management and generation capabilities. It integrates multiple internal oscillators including a high-speed (HS) oscillator, two low-speed (LS) oscillators and three low-power (LP) oscillators. There are three phase-locked loops (PLLs) to generate clock frequencies for various functional blocks.

The clock tree allows selection of clock source, dividers, and multipliers to generate system, peripheral, AHB, and APB clocks. Various peripheral clocks can be gated on/off for reduced power consumption when not in use. Multiple dedicated clock outputs are available.

Low Power Operation

The STM32F407 MCU provides various power saving modes for low power applications:

  • Sleep mode: CPU stopped, peripherals and SRAM remain active.
  • Stop mode: All clocks gated, SRAM and registers retain state, fast wakeup.
  • Standby mode: VBAT domain remains powered, backup SRAM retained.
  • Low-power run mode: Lowest current in run mode.

In sleep mode, the CPU stops but SRAM and peripherals remain functional. Stop mode turns off clocks and halts CPU/peripherals while retaining register contents. Standby mode keeps the VBAT domain powered to retain backup SRAM and RTC operation. Advanced voltage scaling reduces power in run mode.

Connectivity

The STM32F407 provides extensive connectivity options through its rich set of peripherals:

  • USB 2.0 OTG HS and FS: Supports USB host and device functionality.
  • Ethernet MAC: 10/100 Mbps with MII/RMII interface.
  • 2xCAN: Two CAN controllers supporting CAN 2.0B.
  • SDIO: Secure digital input/output support.
  • SPI: Up to 3 SPI controllers supporting full-duplex synchronous serial communication.
  • I2C: Support for standard mode, fast mode and SMBus modes.

This allows interfacing with a wide range of peripherals and networking hardware for building connected applications.

Analog peripherals

The STM32F407 contains a rich set of analog peripherals, including:

  • Up to 3×12-bit ADCs, with 16 channels each for a total of 48 channels.
  • 2×12-bit DACs.
  • 2xoperational amplifiers.
  • 21x analog comparators.

These enable analog signal acquisition, conversion and processing for sensor measurement, motor control, audio processing, and other analog-interface applications.

Timers

Advanced control-oriented timer peripherals on the STM32F407 MCU include:

  • 6x general purpose 16/32-bit timers with capture/compare channels.
  • 2x advanced timers for motor control and power conversion applications.
  • 2x watchdog timers.
  • SysTick timer for RTOS use.
  • Low-power timer for real-time clock.

These allow generation of time-bases, input captures, output waveforms, counters, interrupts, synchronization and other timer functionality for control applications.

Debugging

For programming and debugging the STM32F407, debug modes like Serial Wire Debug (SWD) and Joint Test Action Group (JTAG) are supported. The chip integrates a Serial Wire Viewer for analyzing data on the fly. Cortex debug and ETM trace allow more control over code execution.

Motor Control

The STM32F407 includes advanced control peripherals suitable for 3-phase motor control applications:

  • Advanced timers for PWM generation and quadrature encoding input.
  • 12-bit ADCs and DACs.
  • Operational amplifiers for current sensing.
  • Comparators for zero-crossing detection.

This enables advanced motor control techniques like field-oriented control (FOC), sensored and sensorless control algorithms for motors in industrial, automotive, consumer appliance applications.

Package Options

The STM32F407 is available in a range of package options with different pin counts:

  • LQFP100: Low-profile quad flat package, 100 pin.
  • LQFP144: LQFP, 144 pin.
  • LQFP176: LQFP, 176 pin.
  • UFQFPN48: Ultra-thin quad flat package, no leads, 48 pin.

This provides flexibility in selecting the right package for the application based on I/O requirements, PCB constraints, thermal considerations, and cost.

Conclusion

The STM32F407 integrates ARM Cortex-M4 core with floating point unit and DSP instructions, extensive memory and connectivity peripherals, advanced timers and motor control capabilities, in low-power and cost-effective packages. It provides a high-performance, feature-rich MCU solution suitable for a wide range of embedded applications.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article ARM Cortex-M EPSR
Next Article ARM Cortex-M3 Assembly Code Examples
Leave a comment Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

2k Followers Like
3k Followers Follow
10.1k Followers Pin
- Sponsored-
Ad image

You Might Also Like

Is Arm Cortex-M4 RISC or CISC?

The Arm Cortex-M4 processor is a 32-bit RISC CPU that…

7 Min Read

Tips on Implementing ARM Cortex-M processors in FPGAs

Implementing ARM Cortex-M processors in FPGAs can be a great…

9 Min Read

What is a Non-Maskable Interrupt (NMI) in ARM?

A non-maskable interrupt (NMI) in ARM is a hardware interrupt…

5 Min Read

Cortex M0+, AHB state during Exception

The Cortex-M0+ processor from Arm is an ultra low power…

8 Min Read
SoCSoC
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
Welcome Back!

Sign in to your account