Replacing the Main FMU
Why are we replacing “Autopilot” microcontroller/main FMU?
The Zeropilot 1.0 board was last updated 4 years ago. There are much more powerful microcontroller available.
The microcontroller is out of stock
Comparing the F7 vs H7
H7: STM32H750, H7B0, H730
F7 and H7 are both considered “high performance”
H7 have higher operating frequencies
F7s have more flash memory than H7s (can offset this with external storage SD, etc.)
Both offer QFP
H7 Family Breakdown and Analysis
Dual-core lines: Arm® Cortex®-M7 and Cortex®-M4 cores can respectively run up to 480 MHz and 240 MHz enabling more processing and application partitioning. Dual-core STM32H7 product lines are available with an embedded SMPS for improved dynamic power efficiency.
Single-core lines: single-core Cortex®-M7 offers either great performance at 550 MHz or a unique combination of performance and power saving at 280 MHz and 34 µA (typ) in STOP mode.
Value lines: With an embedded 128 Kbytes Flash memory, the STM32H750/B0 MCUs are cost-effective STM32H7 devices.
Big Questions:
Do we want a dual-core processor? Is Zeropilot software ready to run on dual-core (likely require some refactoring)?
What is our operating frequency requirements? (max. of 550MHz for single core OR 480MHz +240MHz for dual core)
What is our RAM requirements? (max. of 1 MB to 1.4MB)
What is our memory requirements? (max. of 2MB)
Are the connectivity options enough for us?
Was the old processor able to handle everything we wanted it to handle? Did it struggle with anything specific? (old was gucci)
Cost <$30
Do we need to worry about these features/do we care?:
JPEG Codec
TFT-LCD & MIPI-DSI & Chrom-GRC (graphic oriented memory management unit)
Industrial Grade Temperatures? (I don’t think we need -40degC to 125degC ambient temps)
Ethernet
Octo-SPI (look into this a bit more)
Product Line | Line | Operating Frequency (MHz) | Flash Memory | RAM | Chip Stock (last checked Octopart 2021-08-21) | Nucleo Board (last checked 2021-08-21) | Notes |
---|---|---|---|---|---|---|---|
H747/H757 | Dual-core | 480 + 240 | Up to 2MB | 1MB + 4KB backup |
| None |
|
H745/H755 | Dual-core | 480 + 240 | Up to 2MB | 1MB + 4KB backup |
|
|
|
H7A3/H7B3 | Single-core | 280 | Up to 2MB | 1.4MB |
|
|
|
H743/H753 | Single-core | 480 | Up to 2MB | 1MB + 4KB backup |
|
|
|
H742 | Single-core | 480 | Up to 2MB | 692KB + 4KB backup |
| None |
|
H725/H735 | Single-core | 550 | Up to 1MB | 564KB |
| None |
|
H723/H733 | Single-core | 550 | Up to 1MB | 564KB |
|
|
|
H7B0 | Value (Single-core) | 280 | 128KB | 1.4MB |
| None |
|
H750 | Value (Single-core) | 480 | 128KB | 1MB + 4KB backup |
| None |
|
H730 | Value (Single-core) | 550 | 128KB | 564KB |
| None |
|