Heim Der Blog Blog Details

Wie bestimmt man die Leistungsgrenze eines Mikrocontrollers?

May 12 2025
Ampheo

Anfrage

Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.

SCHNELLE ANFRAGE
ZUR RFQ-LISTE HINZUFÜGEN
Wie bestimmt man die Leistungsgrenze eines Mikrocontrollers?

Die Bestimmung der Leistungsgrenze eines Mikrocontrollers (MCU) ist entscheidend, um sicherzustellen, dass er den Anforderungen eines Roboterbewegungssteuerungssystems entspricht. Hier sind die wichtigsten Faktoren und Methoden zur Bewertung der Leistungsgrenzen einer MCU:

Wie bestimmt man die Leistungsgrenze eines Mikrocontrollers? - 1

1. Wichtige Leistungskennzahlen

1.1 Taktfrequenz (MHz/GHz)

  • Definition: Anzahl der Zyklen, die der MCU pro Sekunde ausführen kann.

  • Auswirkung: Höhere Taktfrequenz bedeutet schnellere Ausführung, aber auch höheren Stromverbrauch.

  • Einschränkung: Nicht alle Befehle benötigen einen Taktzyklus; CPI (Clocks Per Instruction) beachten.

1.2 MIPS (Millionen Befehle pro Sekunde)

  • Formel:

  • Beispiel:

    • ARM Cortex-M4 @ 100 MHz ≈ 125 MIPS (1,25 DMIPS/MHz × 100 MHz)

    • Cortex-M7 @ 216 MHz ≈ 462 MIPS (2,14 DMIPS/MHz × 216 MHz)

1.3 DMIPS (Dhrystone MIPS)

  • Standardisierter Benchmark für CPU-Leistung.

  • Referenzwerte:

    • Cortex-M0: 0,9 DMIPS/MHz

    • Cortex-M4: 1,25 DMIPS/MHz

    • Cortex-M7: 2,14 DMIPS/MHz

1.4 FLOPS (Gleitkommaoperationen pro Sekunde)

  • Wichtig für Regelalgorithmen (PID, Kinematik, Filterung).

  • Beispiel:

    • Cortex-M4 (mit FPU) ≈ 1,5 MFLOPS @ 100 MHz

    • Cortex-M7 (mit FPU) ≈ 5+ MFLOPS @ 216 MHz

1.5 Speichergrenzen

  • Flash/ROM: Maximale Codegröße (z. B. 512 KB vs. 2 MB).

  • RAM: Echtzeit-Datenverarbeitung (z. B. 128 KB vs. 1 MB).

  • Cache: Cortex-M7 hat Befehls-/Daten-Cache (schnellere Ausführung).

1.6 Peripherie-Durchsatz

  • PWM-Auflösung: 16-Bit vs. 8-Bit (beeinflusst Motorregelgenauigkeit).

  • ADC-Geschwindigkeit: 1 MSPS vs. 5 MSPS (für schnelle Sensorrückmeldung).

  • Kommunikationsgeschwindigkeit:

    • SPI (50 MHz vs. 100 MHz)

    • CAN FD (5 Mbps vs. klassisches 1 Mbps)


2. Methoden zur Bestimmung der Leistungsgrenzen

2.1 Benchmarking

  • Dhrystone: Misst Integer-Leistung (DMIPS).

  • CoreMark: Moderner als Dhrystone, besser für Embedded-Systeme.

  • Whetstone: Misst Gleitkomma-Leistung (FLOPS).

2.2 Praxistests

  • Regelkreis-Zeitmessung:

    • Ausführungszeit eines PID-Algorithmus messen (z. B. 10 µs @ 100 MHz).

    • Oszilloskop zur Messung der Interrupt-Latenz verwenden.

  • DMA vs. CPU-Datenübertragung:

    • Sensorauslesung per Polling vs. DMA vergleichen.

2.3 Worst-Case Execution Time (WCET)-Analyse

  • Statische Analyse:

    • Code disassemblieren und Zyklen für kritische Funktionen zählen.

  • Dynamische Analyse:

    • Logikanalysator zur Messung unter Last verwenden.

2.4 Leistung vs. Stromverbrauch

  • Dynamische Spannungs- und Frequenzskalierung (DVFS):

    • Niedrigere Taktfrequenz spart Strom, reduziert aber MIPS.

  • Sleep-Modi:

    • Aufwachzeit des MCUs zwischen Regelzyklen prüfen.


3. Leistungsengpässe in der Robotik

3.1 Motorregelkreis-Frequenz

  • Anforderung:

    • Stromregelung: 10–20 kHz (50–100 µs pro Zyklus).

    • Positionsregelung: 100–500 Hz (2–10 ms pro Zyklus).

  • MCU-Grenze:

    • Wenn ein M4 @ 100 MHz 80 µs für PID benötigt, sind 20 kHz unmöglich.

3.2 Sensorfusion (IMU + Encoder)

  • Kalman-Filter-Berechnung:

    • Ein 6-Zustands-Filter benötigt 200 µs auf M4, aber 50 µs auf M7.

3.3 Kommunikationslast

  • CAN-Bus: 1 Mbps kann Echtzeitregelung bei mehreren Achsen limitieren.

  • SPI für Encoder: 10 MHz vs. 50 MHz beeinflusst Reaktionszeit.


4. Beispiel: Cortex-M4 vs. M7 in der Robotik

Kennzahl Cortex-M4 (100 MHz) Cortex-M7 (216 MHz)
DMIPS 125 462
FPU-Geschwindigkeit ~1,5 MFLOPS ~5 MFLOPS
PID-Zykluszeit 80 µs 20 µs
Max. PWM-Frequenz 50 kHz (16-Bit) 100 kHz (16-Bit)
Stromverbrauch (mA) 30 mA (aktiv) 80 mA (aktiv)

Fazit:

  • M4 reicht für einfache Roboter (z. B. 2-DOF-Arme).

  • M7 wird für Hochgeschwindigkeitsregelung benötigt (z. B. Drohnen, humanoide Roboter).


5. Tools zur Leistungsanalyse

  • Keil MDK / IAR: Profiling-Tools zur CPU-Lastmessung.

  • FreeRTOS Tracealyzer: Visualisiert Task-Ausführungszeiten.

  • Logikanalysator (Saleae): Misst Interrupt-Latenz.

  • STM32CubeMonitor: Echtzeitüberwachung von Strom & Leistung.


Empfehlung

So bestimmen Sie, ob ein MCU für Ihren Roboter geeignet ist:

  1. Benchmarking (CoreMark, Dhrystone).

  2. Echtzeit-Regelkreise testen.

  3. Speicher- & Peripherieengpässe prüfen.

  4. Worst-Case-Latenz validieren.

Falls der MCU zu langsam ist:
✔ Auf schnelleren Kern wechseln (M7, Dual-Core)
✔ Berechnungen an FPGA/CPLD auslagern
✔ DMA zur CPU-Entlastung nutzen

Ampheo