Arbeitsweise eines Ultraschallgeräts
Das Entwicklungsziel des Ultraschall-Front-Ends ist es, die Übertragung von Ultraschallpulsen zu steuern und die Daten des reflektierten Schalls zu erfassen. Analog/Digital-Wandler (ADCs) werden verwendet, um diese Daten in ein digitales Format umzusetzen. Die meisten ADCs, die in solchen Anwendungen eingesetzt werden, haben eine Auflösung von 12 Bit bis 16 Bit bei Abtastraten von 40 MSample/s bis 60 MSample/s und unterstützen vier bis acht Kanäle. Für die Übertragung großer Datenmengen verwenden die ADCs an ihren Ausgängen üblicherweise das LVDS-Format. Da FPGAs eine große Anzahl an Ein-/Ausgabeblöcken besitzen, die so konfiguriert werden können, dass sie LVDS unterstützen, können solche Bausteine die Daten mehrerer ADCs gleichzeitig auslesen und vorverarbeiten.
Hersteller, welche die höchste Auflösung der Ultraschallbilder fordern, verschieben die Grenzen bezüglich der Anzahl der Kanäle, die unterstützt werden müssen, um die riesigen Datenmengen handhaben zu können. Um dies zu erleichtern, haben mehrere ADC-Hersteller den Standard JESD204B als neues serielles Protokoll übernommen, um die Datenübertragung mit Raten von einigen Gigabit pro Sekunde zu ermöglichen. Ein JESD204B-Empfänger, der in einem FPGA konfiguriert ist, ermöglicht es, Daten von einem ADC von bis zu 12,5 GBit/s pro Lane zu empfangen (Bild 2).
Die Strahlformung (Beam Forming) ist ein Mechanismus, um die Schallpulse zu steuern und den Kernbereich des Fokus zu verstärken sowie nicht relevante Bereiche auszublenden – eine wichtige Funktion in einem Ultraschallsystem. Das Strahlformen benötigt Berechnungen im Zeit- und Frequenzbereich mit dynamischer Konfiguration, um den Fokuspunkt einzugrenzen. Um die erforderlichen Berechnungen effizient durchzuführen, ersetzt das digitale Strahlformen immer häufiger die traditionellen analogen Techniken. Dies lässt sich durch die flexible Hardwarestruktur und DSP-intensive Architektur mit modernen FPGAs gut realisieren.
Schließlich beinhaltet die Vorverarbeitung (Preprocessing) vielfältige Datenmanipulationen wie Verstärkungskompensation, Filterung, Datenverbesserung und vieles mehr. Diese Algorithmen sind als kundenspezifische Funktionen im FPGA implementiert, um große Datensätze in Echtzeit zu verarbeiten.