Firmware-Entwicklung für FPGA-basiertes Mikroskop

Projekt in Kürze: Wir entwickelten Software für ein FPGA-basiertes Mikroskop, das in der biomedizinischen Bildgebung, Materialwissenschaft und industriellen Inspektion eingesetzt wird. Unser Firmware-Update-System ermöglichte es dem Kunden, sein Produkt auf das fortschrittlichere Zynq Ultrascale+ SoM FZ3 von MYIR zu migrieren und eine abgekündigte Hardware-Plattform zu ersetzen.  

▪ Projektübersicht ▪

Kunde & Herausforderung

Wir haben unsere Ingenieure mit Fachkenntnissen in FPGAs, Firmware und Signalverarbeitung mit der Entwicklung von Low-Level-Software für das Mikroskop beauftragt. Die andere Gruppe – ein gemischtes Team aus unseren und Kunden-Ingenieuren – erstellte die notwendigen Treiber, Bibliotheken und sorgte für die Kompatibilität mit der Mikroskop-Software.

Wir trafen uns alle zwei Wochen, um den Projektfortschritt zu besprechen, Probleme zu lösen und die Einhaltung der Projektziele zu überwachen. Die Kommunikation erfolgte über Microsoft Teams und Jira, um sicherzustellen, dass beide Parteien eine gemeinsame Sichtweise hatten.

 

Lösung

1. Unsere Interaktion mit dem Kunden

Wir engagierten Ingenieure mit Fachwissen in FPGA, Firmware und Signalverarbeitung, um die Firmware für das Mikroskop zu entwickeln. Eine andere Gruppe – ein gemischtes Team aus unseren und den Ingenieuren des Kunden – erstellte die notwendigen Treiber, Bibliotheken und sorgte für die Kompatibilität mit der Mikroskop-Software.  

Der Kunde und der Auftragnehmer trafen sich alle zwei Wochen, um den Projektfortschritt zu besprechen, Probleme zu lösen und die Einhaltung der Projektziele zu überwachen. Die Kommunikation erfolgte über Microsoft Teams und Jira, um den Informationsaustausch zu optimieren und sicherzustellen, dass beide Parteien eine gemeinsame Sichtweise hatten. Das Promwad-Team stellte dem Kunden regelmäßige Updates und Fortschrittsberichte zur Verfügung. 

2. Software-Entwicklung

Unsere Ingenieure entwickelten eine Firmware für das Mikroskop mit einem Signalgenerator zur Steuerung eines 2D-Scanners. Die neue Firmware wurde erfolgreich in die Hardware-Plattform des Kunden integriert und ersetzte eine veraltete Firmware. 

Wir validierten unser neues Design auf Zynq Ultrascale+ unter Verwendung des ZCU102 Evaluierungsboards von AMD (Xilinx) für die Prototypenerstellung und MYIR FZ3 SoM als unsere Zielhardware. 

FZ3-Karte Ansicht von oben. Quelle: myirtech.com

Dies ist die grundlegende Architektur des Mikroskops: 

the basic architecture of a simple microscope

Das aufgerüstete Mikroskop verfügt über folgende Funktionen:

  • 4 x UARTs (bis zu 230400 Baud, zur Laufzeit unter Linux rekonfigurierbar).
  • 1 x RS485-Schnittstelle zur Steuerung des Schrittmotors.
  • 2 x SPI-Schnittstellen zur Auslesung der Laser-Kopf-Diagnostik und Steuerung der Intensität.
  • SPI-Frequenz ist zur Laufzeit unter Linux rekonfigurierbar.
  • 18 x GPIO.
  • Petalinux 2022.1.
  • Booten von SD-Karten.
  • FPGA-Bitstream-Update über Ethernet. 

Merkmale des Signalgenerators:

  • Bis zu 12 digitale Kanäle zur Aktivierung von Lasern und Steuerung der Kamera-Belichtungszeit.
  • Bis zu 4 analoge Kanäle zur Steuerung der Scannerposition auf einer Ebene.
  • Synchronisation zwischen allen digitalen und analogen Kanälen.
  • Wählbare DAC-Schnittstelle für analoge Kanäle: SPI oder XY2-100.
  • Konfigurierbare Punktgenerationsfrequenz (1 kHz bis 200 kHz).
  • Konfigurierbare Frequenz für SPI/XY2-100 (1 kHz bis 15 MHz).
  • Automatische Zwischengenerierung von Punkten mithilfe eines quadratischen Polynoms für analoge Kanäle.
  • Status- und Diagnosesignale sind für Linux zugänglich. 

 Das Diagramm zeigt die Hauptblöcke der neuen Hardware- und Softwareplattform: 

main blocks of the new hardware and software platform

Unsere Softwarearchitektur basierte auf Petalinux Version 2021.2.  

Wir haben den Treiber für den Signalgenerator-IP unter Verwendung des UIO-Subsystems implementiert. Außerdem haben unsere Ingenieure die in Rust geschriebene User-Pace-Bibliothek erstellt, die direkt von der Mikroskop-Software unseres Kunden verwendet wurde. 

Das Partitionierungs-Layout für das interne eMMC und SPI NOR-Flash wurde gemäß den Anforderungen des Kunden angepasst, und wir stellten Installationsskripte zur Verfügung, um die Firmware bei der Ersteinrichtung zu flashen.  

Zusätzlich integrierten wir das RAUC-Update-Modul mit dem A/B-Update-Schema. Wir konfigurierten das dynamische Laden des FPGA-Bitstreams, sodass dieser zusammen mit der Software aktualisiert werden konnte. 

Software Architecture

Geschäftswert

Dank unserer Unterstützung in der Softwareentwicklung erhielt der Kunde ein aufgerüstetes Mikroskop mit einem Signalgenerator für einen 2D-Scanner. Die veraltete Hardware wurde durch das Zynq Ultrascale+ SoM FZ3 von MYIR ersetzt, das viele Jahre lang unterstützt wird, kontinuierliche Lieferungen garantiert und einfache Verbesserungen der derzeit implementierten Funktionen ermöglicht. 

Die entwickelte Firmware wird Teil des Software-Stacks für zukünftige Mikroskope sein, die von unserem Kunden produziert werden. Laufzeit-konfigurierbare Controller garantieren Flexibilität, und es wird nicht nötig sein, für jede Konfiguration ein FPGA-Projekt neu zu erstellen. Ein einziger Build reicht für viele Geräte. Das Remote-Update des Bitstreams bringt zusätzliche Flexibilität für Support-Aktivitäten: Die Firmware kann aus der Cloud aktualisiert werden. 

Mit der Neugestaltung der FPGA-Software und -Hardware kann das verbesserte Mikroskop in einer Vielzahl von Bereichen eingesetzt werden, in denen Hochgeschwindigkeitsaufnahmen, präzise Steuerung und anpassbare Konfiguration entscheidende Elemente sind. Anwendungen umfassen die biomedizinische Bildgebung, Materialwissenschaftliche Forschung, industrielle Inspektion und Mikroelektronik.

Andere Fallstudien

Erzählen Sie uns von Ihrem Projekt

Alle übermittelten Informationen werden vertraulich behandelt.