Einführung: Am 11. April 2018 veröffentlichten das Ministerium für Industrie und Informationstechnologie, das Ministerium für Öffentliche Sicherheit und das Verkehrsministerium gemeinsam die "Bekanntmachung über den Druck und die Verteilung der Vorschriften für das Fahrdienstmanagement für intelligente Fahrzeuge (Testverfahren)" für Chinas Intelligent Network Road Der Test stellte die relevante Rechtsgrundlage dar. Die drei Ministerien legten auch mehrere strenge Bedingungen vor und gewährten gleichzeitig die Qualifizierung des intelligenten Netzes für den Straßenverkehr.
Unter ihnen, im siebten Artikel "vierter Punkt", "Testperson, Testfahrer und Testfahrzeug", fordern die drei Ministerien: Mit den Fahrzeugstatusaufzeichnungen, den Speicher- und Online-Überwachungsfunktionen können die folgenden zuerst passieren , 2, 3 Informationen, und automatisch erfassen und speichern die folgenden Informationen mindestens 90 Sekunden vor dem Fahrzeug Unfall oder Fehler auftritt, Datenspeicherzeit ist nicht weniger als 3 Jahre:
1. Fahrzeugsteuerungsmodus; 2. Fahrzeugposition; 3. Fahrzeuggeschwindigkeit, Beschleunigung und anderer Bewegungsstatus; 4. Umgebungswahrnehmung und Antwortstatus; 5. Fahrzeugbeleuchtung, Signal-Echtzeitstatus; 6. Fahrzeug-externe 360-Grad-Videoüberwachung; Reflektieren der fahrzeuginternen Video- und Sprachüberwachung des Testfahrers und des Mensch-Maschine-Interaktionsstatus 8. vom Fahrzeug empfangene Fernsteuerungsanweisungen (falls vorhanden) 9. Fahrzeugfehlerbedingungen (falls vorhanden).
Aus dem Vorstehenden ergibt sich, dass zusätzlich zu den funktionalen Anforderungen für intelligente vernetzte Fahrzeuge, die Straßentests durchführen, die oben genannten Bedingungen auch die Entwicklung mehrerer neuer Generationstechnologien wie Kommunikation, Überwachung, Steuerung und Speicherung fördern. Die Entwicklung von Automotive SoCs bietet neue Marktchancen.
Eingebettetes FPGA (eFPGA) wird eine wichtige Rolle bei dieser Art von Chip spielen. Um außerhalb des Fahrzeugs zu erfüllen, wie in Artikel VI die Erfassung und Verarbeitung von 360-Grad-Videoüberwachungsdaten erwähnt, unter Verwendung von eFPGA zu entwerfen bezogenen Funktionen Chip hat offensichtliche Vorteile wie gleichzeitig Chip unabhängige FPGA bieten und eFPGA IP-Produkte Unternehmen kann Achronix smart SoC Designer helfen, die Migration zu entwickeln und zu debuggen bezogenen Funktionen auf dem FPGA-Chip, und nach dem Markteintritt Batch-Anwendungen ohne wesentliche Konstruktionsänderungen sofort entwerfen Zum SoC mit eFPGA ausgestattet.
Wie wäre es eFPGA Unterstützung 360-Grad-Blickfeld visuelle Embedded-Design-System, bitte Alok Sanghavi von Achronix Semiconductor, Senior Product Marketing Manager für den Artikel mit dem Titel 'The eFPGA 360-Grad-Blickfeld für Embedded-Vision-System' lesen.
Anwendung von eFPGA im eingebetteten 360-Grad Vision Vision System
Autor: Alok Sanghavi, Achronix Semiconductor Senior Product Marketing Manager
Eingebettete 360 ° Sichtfeld mit einer Mehrzahl von hochauflösenden Kamera-System hat eine Vielzahl von Anwendungen eingegeben, wie Automobil-Sensor-Fusion, Videoüberwachung, Zielerkennung und Bewegungsanalyse. In solchen Systemen, die eine Vielzahl von realen Kameras der Videostrom (bis zu 6) zusammengebracht wird, pro-Rahmen-Basis, Verzerrung und andere Bildartefaktkorrektur, Belichtungs- und Weißabgleichseinstellung, und dynamisch in einen Panoramablick auf 4K Auflösung und Frame-Rate von 60 fps 360 ° gespleißt Ausgabe, schließlich projiziert auf einen sphärischen Koordinatenraum.
Echtzeit oder aus dem externen Speicher zum Speichern / Lesen und Zugriff auf mehrere Kameraeingänge: zur Zeit für solche Anwendungen Objektiv mit hoher Auflösung Fischaugenkamera in der Regel hat ein Weitwinkelsichtfeld (FOV) schaut sich um eine der größten Engpässe Kamerasystem verwendet Die Daten werden dann als ein Einzelbild verarbeitet.Die Hardware muss innerhalb einer Frame-Verzögerung sein, um den Verarbeitungslaufzwischen dem Eingeben der von der Kamera gelieferten Rohsensordaten und dem Nähen desAusgangsvideos abzuschließen.
Hochleistungs-Computerplattformen haben sich in Verbindung mit CPUs der Verwendung von FPGAs zugewandt, um eine dedizierte Hardwarebeschleunigung für Echtzeit-Bildverarbeitungsaufgaben bereitzustellen.Diese Konfiguration ermöglicht es der CPU, sich auf besonders komplexe Algorithmen zu konzentrieren, bei denen sie schnell Threads und Kontexte wechseln können. und sich wiederholende Aufgaben zu einem FPGA zugeordneten, als Hardware-Beschleuniger / Coprozessor / unload Motor selbst konfiguriert wirken, wenn das FPGA und CPU als diskrete Bauelemente verwendet, die auch den Gesamtwirkungsgrad des Systems erhöhen kann, da diese Techniken nicht miteinander kollidieren , aber wie Handschuhe auf deine Hände zu legen.
Zum Beispiel kann ein Bild von einem Fisheye-Objektiv erhielt leidet unter schwerer Verzerrung wird der Verbindungsvorgang somit auf der Basis mehrere Kameravideo Generation ist sehr rechenintensive Aufgaben, der Grund dafür die Punktpixeloperationen ist. Dies erfordert eine Menge Echtzeit-Stitching und hochparallelen Verarbeitungsarchitektur. jedoch ist diese nächste Generation von Anwendungen überschreitet kann das FPGA weiterhin die Leistungsfähigkeit erreicht folgen, vor allem aufgrund der verzögerten Chipdatendurchsatz. Dies wiederum wirkt sich auf die Gesamtlatenz des Systems, Durchsatzgeschwindigkeit und Leistungs .
Fügen Sie ein eFPGA-Halbleiter-Intellectual-Property (IP) hinzu, das mit der CPU in einem SoC eingebettet werden kann.Im Vergleich zu einem eigenständigen FPGA-Chip plus CPU-Lösung hat die eingebettete FPGA-Array-Struktur einzigartige Vorteile.Der Hauptvorteil ist die stärkere Leistung. eFPGA breit kann durch eine parallele Schnittstelle direkt an einen ASIC (keinen I / O-Puffer), die die Bereitstellung deutlich verbesserten Durchsatz, Latenz und einstelligen zählen Taktzyklen mit geringer Latenzzeit Echtzeit-Bildverarbeitung ist ein komplexer Prozess verbunden werden Der Schlüssel, wie das Korrigieren der Verzerrung der Fischaugenlinse, ist ein solcher Vorgang.
Mit Speedcore eFPGA IP, kann der Client seine Logik, Speicher und DSP-Ressourcen-Anforderungen definiert, dann kann Achronix konfiguriert seine IP ihre Bedürfnisse zu erfüllen. Lookup-Tabellen (LUTs), RAM-Zellenblock und DSP64 Einheitsblock kann wie Bausteine miteinander kombiniert werden, von Erstellen Sie die beste programmierbare Struktur für eine bestimmte Anwendung.
Zusätzlich zu Standardlogik-, Embedded-Memory- und DSP-Moduleinheiten können Kunden eigene Funktionsblöcke in der Speedcore eFPGA-Struktur definieren.Wenn Sie diese benutzerdefinierten Funktionsblöcke zusammen mit herkömmlichen Bausteinen in die Logikarray-Struktur einfügen, können Sie Optimierungen hinzufügen. Die Funktionen zur Reduzierung des Bereichs und zur Verbesserung der Leistung der Zielanwendung können die Leistungsfähigkeit von eFPGA, insbesondere für eingebettete Bildverarbeitungs- und Bildverarbeitungsalgorithmen, erheblich verbessern.
Ein gutes Beispiel ist die Verwendung von benutzerdefinierten Zellenblöcken für die erfolgreiche Lösung der Hochleistungs-Bildverarbeitung.Sie können nur einmal suchen (YOLO) .Dieser moderne Echtzeit-Objekterkennungsalgorithmus, der neurale Netzwerke verwendet, kann ausgezeichnet sein. Die frühe Methode hat die Leistung erheblich verbessert.Der Algorithmus beruht auf einer großen Anzahl von Matrixmultiplizierern, und wenn diese ineinem FPGA implementiert werden, müssen diese Matrixmultiplizierer unter Verwendungvon DSP- und RAM-Modulen aufgebaut werden, wobei YOLO die meisten DSP- und RAM-Modulebenötigt Bei einer guten Konfiguration gibt es ein Problem mit der Fehlanpassung, die in einer typischen FPGA-Array-Struktur zu finden ist. Beispielsweise kann die FPGA-Array-Struktur 18 × 27 Multiplizier- / Akkumulationseinheitsblöcke und 32 × 128 RAM DSP-Blöcke bereitstellen. Die beste Lösung hierfür ist ein 16 x 8-DSP-Block mit 48 x 1024. Durch die Erstellung eines benutzerdefinierten Blocks für eine optimale DSP- und RAM-Blockkonfiguration wird die resultierende Speedcore-Array-Struktur weniger Chipfläche verbrauchen 40%, um die gleiche Funktionalität zu erreichen und eine höhere Systemleistung zu erreichen.
Das Einbetten einer FPGA-Array-Struktur in einem SoC bietet zwei zusätzliche Vorteile auf Systemebene:
Geringerer Stromverbrauch - Programmierbare E / A-Schaltungen machen die Hälfte des gesamten Stromverbrauchs des FPGA-Chips aus, während ein eFPGA direkt mit anderen Modulen im Host-SoC verbunden werden kann, wodurch große programmierbare E / A-Puffer überflüssig werden .
Geringere Systemkosten - Da der eFPGA nur bestimmte Funktionen implementieren muss, ist die Chipgröße des eFPGA wesentlich kleiner als die des entsprechenden unabhängigen FPGA-Chips, da der eFPGA keinen programmierbaren I / O-Puffer und keine unnötige Schnittstellenlogik mehr benötigt.
Mit den extrem niedrigen Latenz- und Echtzeit-Verarbeitungsfähigkeiten können Vision-Systeme, die auf 360 ° Ansichten basieren, effektiv implementiert werden.Flashcore eFPGA mit kundenspezifischen Blöcken wird in Verbindung mit einer CPU in demselben Host-SoC verwendet, wodurch es sich ideal für die Implementierung spezieller Funktionen wie Zielerfassung eignet. Und Bilderkennung, Verzerrung und Verzerrungskorrektur und schließlich Zusammenfügen des endgültigen Bildes.Einbettung in die SoC-FPGA-Array-Struktur ist ein natürlicher Entwicklungsprozess der ultra-tiefen submikron Ära Systemintegration.