i.MX8-Träger-Board
Wir haben für ein Kundenprojekt ein Trägerboard für einen i.MX8-SoM entwickelt.
Der i.MX8 wurde durch ein FPGA für kundenspezifische Echtzeit-Signalverarbeitung, Stepper-Controller-Steuerung und LED-Bus-Ansteuerung erweitert.
Das Board integriert zudem verschiedene Motorsteuerungen für Stepper- und BLDC-Motoren sowie ein zweites Ethernet mit PoE über PCIe.
Unsere Leistungen
Konzeption & Entwicklung
- Elektronik für ein komplexes Trägerboard auf Basis von i.MX8-SoMs
- Echtzeit-Software auf dem Cortex-M4-Kern (FreeRTOS)
- FPGA-Design für Echtzeit-Datenverarbeitung, Schrittmotorsteuerung und Schnittstellen
Embedded-Firmware
- STM32-Firmware für Steuerung und Kommutierung von zwei BLDC-Motoren (Block- und Sinus-Kommutierung)
- Linux-Treiber für Kommunikation zwischen Linux-Anwendungen und der Cortex-M4-Echtzeitsoftware via RPMSG
PC-Software & Tools
- Linux-User-Programme für Diagnose und Tests
- Scope-Software zur Diagnose der BLDC-Motorsteuerungen, basierend auf Qt
Embedded-Linux & Systemintegration
- Anpassung eines Yocto-basierten Frameworks
- Konfiguration von Devicetree, Linux-Kernel und U-Boot-Bootloader
Prototypen & Projektumsetzung
- Aufbau der ersten Prototypen
- Zusammenarbeit mit Partnerunternehmen für Linux-Userspace-Firmware und Webschnittstelle
Technologien
Hardware
- Multilayer-PCB für komplexe Schaltungen
- Stepper-Motoren und BLDC-Motorkommutierung
- Power Sequencing und Power over Ethernet (PoE)
- i.MX8M Mini (VAR-DART-MX8MM-SoM) und i.MX8M Plus (VAR-DART-MX8MP-SoM)
- TMC2590 Schrittmotorsteuerung
- STM32-Mikrocontroller
- FET-Gate-Driver
- iCE40-FPGA für Echtzeit-Datenverarbeitung
- Batteriegepufferte RTC und eFUSEs
- PCIe-Ethernet-Controller und PSE/PoE-Controller
Software
- Embedded-Linux
- Devicetree-Konfiguration
- Linux-Kernel und Linux-Treiber
- U-Boot Bootloader
- RPMSG Messaging für die Kommunikation zwischen Echtzeitsoftware und Linux
Programmiersprachen
- C/C++ für Firmware und Linux-Software
- VHDL für FPGA-Design
- Python für automatisierte Diagnosen
Schnittstellen
- SPI, QSPI, I2C, UART
- Ethernet und USB
- PCIe für Erweiterungen
- LED-Bus zur Steuerung von Anzeigen
- SPS-Inputs für industrielle Signale
Tools
Softwareentwicklung
- KDevelop – C/C++ Entwicklungsumgebung für Firmware auf dem i.MX8 Cortex-M4
- Segger J-Link Pro & GDB – Debugging und Analyse der CM4-Firmware
- ST-Link – Debugging von STM32-Mikrocontrollern
- CubeIDE (ST) – C/C++ Entwicklungsumgebung für STM32
- Yocto – Erstellung von Embedded-Linux-Images
- Docker – Isolierte Build-Umgebung für Yocto-Projekte
FPGA-Design
- iCEcube2 (Lattice) – FPGA-Synthese und Implementierung
- GHDL – Simulation und Verifikation von FPGA-Logik
Hardwareentwicklung
- KiCAD – Schaltplanerstellung und PCB-Layout
- Reflow-Ofen – Löten von Prototypen
Projektmanagement & Versionskontrolle
- Git – Verwaltung von Quellcode-Versionen
- GitLab – Projektorganisation, Ticket-Management und Versionskontrolle
Regulative Anforderungen
Die folgenden Regulatorien wurden berücksichtigt:
- CE-Kennzeichnung & EU-Konformität
- EMV-Richtlinie
- Maschinenrichtlinie / Maschinenverordnung
- RoHS