Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

Erfolgreiche akustische Echtzeitverarbeitung erfordert eine sorgfältige Planung

Die akustische Echtzeitverarbeitung mit geringer Latenzzeit ist ein Schlüsselfaktor in vielen eingebetteten Verarbeitungsanwendungen, darunter Sprachvorverarbeitung, Spracherkennung und aktive Geräuschunterdrückung (ANC). Da die Anforderungen an die Echtzeitleistung innerhalb dieser Anwendungsdomänen ständig steigen, müssen Entwickler eine strategische Denkweise annehmen, um diese Anforderungen richtig zu erfüllen. Angesichts der beträchtlichen Leistung, die viele größere Systeme auf Chips bieten, kann es verlockend sein, diese Geräte einfach mit zusätzlichen Aufgaben zu belasten, die anfallen, aber es ist wichtig zu verstehen, dass Latenz und Determinismus kritische Elemente sind, die leicht zu großen Echtzeitsystemen führen können Probleme, wenn sie nicht sorgfältig geprüft werden. In diesem Artikel werden die Aspekte untersucht, die Designer bei der Wahl zwischen einem SoC und einem dedizierten Audio-DSP berücksichtigen sollten, um unangenehme Überraschungen in ihren akustischen Echtzeitsystemen zu vermeiden.

Akustiksysteme mit niedriger Latenz decken ein breites Anwendungsspektrum ab. Allein im Automobilbereich ist eine niedrige Latenz beispielsweise für persönliche Audiozonen, die Unterdrückung von Straßengeräuschen und Kommunikationssysteme im Auto entscheidend, um nur einige zu nennen.

Mit dem aufkommenden Trend zur Elektrifizierung von Fahrzeugen wird ANC noch wichtiger, da kein Verbrennungsmotor spürbare Geräusche erzeugt. Daher werden die Geräusche, die mit der Auto-zu-Straße-Schnittstelle verbunden sind, viel auffälliger und anstößiger. Die Reduzierung dieser Geräusche sorgt nicht nur für ein angenehmeres Fahrerlebnis, sondern reduziert auch die Ermüdung des Fahrers. Mit der Implementierung eines akustischen Systems mit niedriger Latenz auf einem SoC im Gegensatz zu einem dedizierten Audio-DSP sind zahlreiche Herausforderungen verbunden. Dazu gehören Aspekte der Latenz, Skalierbarkeit, Upgradefähigkeit, Überlegungen zu Algorithmen, Hardwarebeschleunigung und Kundensupport. Lassen Sie uns diese der Reihe nach untersuchen.

Latenz

Das Problem der Latenz bei akustischen Echtzeitverarbeitungssystemen ist ein wichtiges. Wenn der Prozessor mit der Echtzeit-Datenbewegung und den Rechenanforderungen des Systems nicht Schritt halten kann, kann es zu inakzeptablen Audioeinbrüchen kommen.

Typischerweise haben SoCs kleine On-Chip-SRAMs und müssen sich dementsprechend für die meisten lokalen Speicherzugriffe auf den Cache verlassen. Dies führt zu einer nichtdeterministischen Verfügbarkeit von Code und Daten und erhöht außerdem die Verarbeitungslatenz. Für eine Echtzeitanwendung wie ANC kann dies allein schon ein Deal Breaker sein. Es gibt jedoch auch die Tatsache, dass SoCs Nicht-Echtzeit-Betriebssysteme ausführen, die hohe Multitasking-Lasten bewältigen. Dies verstärkt die nichtdeterministische Betriebscharakteristik des Systems, was es sehr schwierig macht, eine relativ komplexe akustische Verarbeitung in einer Multitasking-Umgebung zu unterstützen.

Abbildung 1 zeigt ein konkretes Beispiel für einen SoC, der eine Echtzeit-Audioverarbeitungslast ausführt, bei der die CPU-Lastspitzen ansteigen, wenn SoC-Aufgaben mit höherer Priorität bedient werden. Diese Spitzen können beispielsweise aufgrund von SoC-zentrierten Aktivitäten wie Medienrendering, Browsing oder App-Ausführung auf dem System auftreten. Immer wenn die Spitzen 100 % CPU-Last überschreiten, arbeitet der SoC nicht mehr in Echtzeit und dies führt zu Audioaussetzern.

Klicken für Bild in voller Größe

Abbildung 1:Momentane CPU-Last für einen repräsentativen SoC mit hoher Audiospeicherverarbeitung zusätzlich zu anderen Aufgaben [1]. (Quelle:Analog Devices)

Audio-DSPs hingegen sind auf niedrige Latenz im gesamten Signalverarbeitungspfad ausgelegt, vom abgetasteten Audioeingang bis zum zusammengesetzten (z. B. Audio + Anti-Noise) Lautsprecherausgang. Der L1-Befehls- und Daten-SRAM, der dem Prozessorkern am nächsten liegende Einzelzyklusspeicher, ist ausreichend groß, um viele Verarbeitungsalgorithmen zu unterstützen, ohne Zwischendaten in den Off-Chip-Speicher auslagern zu müssen. Darüber hinaus hilft ein L2-Speicher auf dem Chip (weiter vom Kern entfernt, aber immer noch viel schnellerer Zugriff als ein DRAM außerhalb des Chips) dabei, einen Puffer für Zwischendatenoperationen bereitzustellen, wenn der L1-SRAM-Speicher überschritten wird. Schließlich führen Audio-DSPs normalerweise ein Echtzeit-Betriebssystem (RTOS) aus, das sicherstellt, dass eingehende Daten verarbeitet und an ihr Zielziel gesendet werden können, bevor neue Eingabedaten eintreffen, und so sicherstellt, dass die Datenpuffer während des Echtzeitbetriebs nicht überlaufen.

Die tatsächliche Latenz beim Systemstart – oft gemessen durch die Zeit bis zur Audioverfügbarkeit – kann ebenfalls eine wichtige Kennzahl sein, insbesondere bei Fahrzeugsystemen, bei denen akustische Warnungen innerhalb eines bestimmten Fensters nach dem Start gesendet werden müssen. In der SoC-Welt, in der eine lange Boot-Sequenz typisch ist, bei der das Betriebssystem für das gesamte Gerät gestartet wird, kann es schwierig oder unmöglich sein, diese Startanforderung zu erfüllen. Auf der anderen Seite kann ein eigenständiger Audio-DSP, der sein eigenes RTOS ausführt, unbeeinflusst von anderen externen Systemprioritäten, für einen schnellen Start optimiert werden, der die Time-to-Audio-Anforderung bequem erfüllt.

Skalierbarkeit

Während Latenzprobleme für SoCs in Anwendungen wie der Rauschunterdrückung problematisch sind, liegt ein weiterer wichtiger Mangel für SoCs, die eine akustische Verarbeitung anstreben, in der Skalierbarkeit. Mit anderen Worten, SoCs, die große Systeme (z. B. Head-End-Einheiten und -Cluster von Automobilen) mit vielen unterschiedlichen Subsystemen steuern, können nicht einfach von Low-End- zu High-End-Audioanforderungen skaliert werden, da ein ständiger Konflikt zwischen den Skalierbarkeitsanforderungen jeder Subsystemkomponente besteht, was Folgendes erfordert:Kompromisse bei der gesamten SoC-Auslastung. Wenn beispielsweise ein Kopfende-SoC mit einem Remote-Tuner verbunden ist und dieser Tuner bei allen Fahrzeugmodellen von wenigen Kanälen auf viele Kanäle skalieren muss, verstärkt jede Kanalkonfiguration die zuvor erwähnten Echtzeitprobleme. Dies ist darauf zurückzuführen, dass jede zusätzliche Funktion unter der Kontrolle des SoC das Echtzeitverhalten des SoC und die Ressourcenverfügbarkeit von wichtigen Architekturkomponenten ändert, die von mehreren Funktionen verwendet werden. Diese Ressourcen umfassen Aspekte wie Speicherbandbreite, Prozessorkernzyklen und Systembus-Fabric-Arbitrierungsslots.

Abgesehen von der Sorge um andere Subsysteme, die sich mit dem Multitasking-SoC verbinden, hat das akustische Subsystem selbst seine eigenen Skalierbarkeitsprobleme. Es gibt eine Low-End- bis High-End-Skalierung (z. B. Erhöhen der Anzahl von Mikrofon- und Lautsprecherkanälen in einer ANC-Anwendung) und es gibt auch die Skalierung des Audioerlebnisses, von der grundlegenden Audiodecodierung und Stereowiedergabe bis hin zur 3D-Virtualisierung und anderen Premium-Funktionen. Obwohl diese Anforderungen nicht die Echtzeitbeschränkungen von ANC-Systemen teilen, beziehen sie sich dennoch direkt auf die Wahl des Audioprozessors für ein System.

Die Verwendung eines separaten Audio-DSP als Coprozessor für einen SoC hilft, das Problem der Audio-Skalierbarkeit zu lösen, ermöglicht ein modulares Systemdesign und optimiert die Kosten (siehe Abbildung 2). Der SoC kann sich viel weniger auf die Echtzeit-Akustikverarbeitungsanforderungen des größeren Systems konzentrieren, sondern diese Verarbeitung auf den Audio-DSP mit geringer Latenz auslagern. Darüber hinaus bieten Audio-DSPs, die mehrere verschiedene Preis-/Leistungs-/Speicherstufen über eine umfassende code- und pinkompatible Roadmap bieten, Systemdesignern maximale Flexibilität, um das Audioleistungsangebot für eine bestimmte Produktstufe richtig zu dimensionieren.

klicken Sie für das Bild in voller Größe

Abbildung 2:Veranschaulichung eines hochskalierbaren Audioprozessors. Die Verwendung eines separaten Audioprozessors wie des hier gezeigten ADSP-2156x DSP hilft, das Problem der Audioskalierbarkeit zu lösen, ermöglicht ein modulares Systemdesign und optimiert die Kosten. (Quelle:Analog Devices)

Upgrade-Fähigkeit

Da Over-the-Air-Firmware-Updates in heutigen Fahrzeugen immer häufiger werden, wird die Upgrade-Fähigkeit zur Bereitstellung kritischer Patches oder Bereitstellung neuer Funktionen immer wichtiger. Dies kann bei einem SoC aufgrund der erhöhten Abhängigkeiten zwischen seinen verschiedenen Subsystemen zu großen Problemen führen. Erstens wetteifern auf SoCs mehrere Verarbeitungs- und Datenbewegungs-Threads um Ressourcen. Dies erhöht den Wettbewerb um Prozessor-MIPS und Speicher, wenn neue Funktionen hinzugefügt werden, insbesondere bei Spitzenaktivität. Aus der Audioperspektive können Funktionserweiterungen in anderen SoC-Steuerungsdomänen unvorhersehbare Auswirkungen auf die akustische Echtzeitleistung haben. Ein Nebeneffekt dieser Situation ist, dass neue Funktionalität auf allen Betriebsebenen quer getestet werden muss, was zu unzähligen Permutationen zwischen verschiedenen Betriebsmodi der konkurrierenden Subsysteme führt. Somit steigt die Software-Verifizierung exponentiell für jedes Upgrade-Paket.

Aus einem anderen Blickwinkel betrachtet könnte man sagen, dass Verbesserungen der SoC-Audioleistung zusätzlich zu den Feature-Roadmaps für die anderen vom SoC gesteuerten Subsysteme von den verfügbaren SoC-MIPS abhängig sind.

Entwicklung und Leistung von Algorithmen

Es sollte offensichtlich sein, dass Audio-DSPs bei der Entwicklung akustischer Echtzeitalgorithmen speziell für diese Aufgabe entwickelt wurden. Als wesentliches Unterscheidungsmerkmal zu SoCs können eigenständige Audio-DSPs grafische Entwicklungsumgebungen bieten, die es Ingenieuren mit minimaler DSP-Codierungserfahrung ermöglichen, hochwertige akustische Verarbeitung in ihre Designs aufzunehmen. Diese Art von Tool kann die Entwicklungskosten senken, indem die Entwicklungszeit verkürzt wird, ohne dabei an Qualität oder Leistung einzubüßen.

Als Beispiel bietet die grafische Audioentwicklungsumgebung SigmaStudio von ADI eine Vielzahl von Signalverarbeitungsalgorithmen, die in eine intuitive grafische Benutzeroberfläche (GUI) integriert sind und die Erstellung komplizierter Audiosignalflüsse ermöglichen (siehe Abbildung 3). Es unterstützt auch die grafische A2B-Konfiguration für den Audiotransport, was die Entwicklung von akustischen Systemen in Echtzeit erheblich unterstützt.

Klicken für Bild in voller Größe

Abbildung 3:Grafische Audioentwicklungsumgebungen wie SigmaStudio von Analog Devices bieten Zugriff auf eine Vielzahl von Signalverarbeitungsalgorithmen, die in eine intuitive grafische Benutzeroberfläche (GUI) integriert sind und die Erstellung komplizierter Audiosignalflüsse vereinfachen. (Quelle:Analog Devices)

Audiofreundliche Hardwarefunktionen

Zusätzlich zu einer Prozessorkernarchitektur, die speziell für effiziente parallele Gleitkommaberechnungen und Datenzugriffe entwickelt wurde, verfügen Audio-DSPs oft über dedizierte Mehrkanalbeschleuniger für gängige Audioprimitive wie schnelle Fourier-Transformationen (FFTs), endliche und unendliche Impulsantworten (FIR und IIR .). ) Filterung und asynchrone Abtastratenkonvertierung (ASRC). Diese ermöglichen Audiofilterung, Abtastung und Frequenzbereichskonvertierung in Echtzeit außerhalb der Kern-CPU, wodurch die effektive Kernleistung erhöht wird. Darüber hinaus können sie aufgrund ihrer optimierten Architektur und ihrer Datenflussverwaltungsfunktionen ein flexibles und benutzerfreundliches Programmiermodell ermöglichen.

Aufgrund der Verbreitung von Audiokanalzahlen, Filterströmen, Abtastraten und dergleichen ist es wichtig, über eine maximal konfigurierbare Pin-Schnittstelle zu verfügen, die eine Inline-Abtastratenkonvertierung, Präzisionstaktung und synchrone serielle Hochgeschwindigkeitsanschlüsse ermöglicht, um Daten effizient weiterzuleiten und vermeiden Sie zusätzliche Latenz oder externe Schnittstellenlogik. Das Digital Audio Interconnect (DAI) der SHARC-Prozessoren von ADI veranschaulicht diese Fähigkeit, wie in Abbildung 4 gezeigt.

klicken Sie für das Bild in voller Größe

Abbildung 4:Ein Digital Audio Interconnect (DAI) ist eine maximal konfigurierbare Pin-Schnittstelle, die eine Inline-Sampleraten-Konvertierung, präzise Taktung und synchrone serielle Hochgeschwindigkeitsanschlüsse ermöglicht, um Daten effizient zu routen und zusätzliche Latenz zu vermeiden oder externe Schnittstellenlogik. (Quelle:Analog Devices)

Kundensupport

Ein oft übersehener Aspekt bei der Entwicklung mit einem eingebetteten Prozessor ist der Kundensupport für das Gerät.

Obwohl SoC-Anbieter die Ausführung akustischer Algorithmen auf ihren integrierten DSP-Produkten fördern, birgt dies in der Praxis mehrere Nachteile. Zum einen ist der Herstellersupport oft komplexer, da akustisches Know-how normalerweise nicht die Domäne der SoC-Anwendungsentwicklung ist. Folglich gibt es in der Regel eine schwache Unterstützung für Kunden, die ihre eigenen akustischen Algorithmen auf der On-Chip-DSP-Technologie des SoC entwickeln möchten. Stattdessen kann der Verkäufer Standardalgorithmen anbieten und eine erhebliche NRE berechnen, um akustische Algorithmen auf einen oder mehrere Kerne des SoC zu portieren. Trotzdem gibt es keine Erfolgsgarantie, insbesondere wenn der Anbieter keine ausgereifte Framework-Software mit geringer Latenz anbietet. Schließlich ist das Drittanbieter-Ökosystem für SoC-basierte akustische Verarbeitung eher fragil, da es nicht im Fokus des SoCs steht, sondern eher ein opportunistisch unterstütztes Feature.

Ein speziell entwickelter Audio-DSP bietet ein viel stärkeres Ökosystem für die Entwicklung komplexer akustischer Systeme, von optimierten Algorithmusbibliotheken und Gerätetreibern bis hin zu Echtzeitbetriebssystemen und einfach zu verwendenden Entwicklungstools. Audioorientierte Referenzplattformen (wie die SHARC-Audiomodulplattform von ADI, in Abbildung 5 gezeigt), die die Markteinführungszeit verkürzen, sind bei SoCs eine Seltenheit, aber in der eigenständigen Audio-DSP-Domäne weit verbreitet.


Abbildung 5:DSPs bieten üblicherweise eine auf Audio ausgerichtete Entwicklungsplattform wie das hier gezeigte SHARC-Audiomodul (SAM).. (Quelle:Analog Devices)

Das Entwerfen von akustischen Echtzeitsystemen erfordert eine bewusste, strategische Planung der Systemressourcen und kann nicht einfach durch Zuweisen von übrig gebliebenen Verarbeitungsspielraum auf einem Multitasking-SoC verwaltet werden. Stattdessen führt ein eigenständiger Audio-DSP, der für die Verarbeitung mit niedriger Latenzzeit optimiert ist, wahrscheinlich zu erhöhter Robustheit, verkürzter Entwicklungszeit und optimaler Skalierbarkeit, um zukünftige Systemanforderungen und Leistungsstufen zu erfüllen.

Referenz

[1] Paul Beckmann. „Multicore-SOC-Prozessoren:Leistung, Analyse und Optimierung.“ 2017 AES International Conference on Automotive Audio, August 2017.


David Katz verfügt über 30 Jahre Erfahrung im Design von analogen, digitalen und eingebetteten Systemen. Er ist Director of Systems Architecture for Automotive Infotainment bei Analog Devices, Inc. Er hat international fast 100 Artikel über Embedded Processing veröffentlicht und mehrere Konferenzbeiträge auf diesem Gebiet präsentiert. Zuvor arbeitete er bei Motorola, Inc. als leitender Konstruktionsingenieur in Kabelmodem- und Fabrikautomatisierungsgruppen. David hält sowohl einen B.S. und ein M.Eng. in Elektrotechnik von der Cornell University. Er ist erreichbar unter [email protected].

Verwandte Inhalte:

Für mehr Embedded, abonnieren Sie den wöchentlichen E-Mail-Newsletter von Embedded.


Eingebettet

  1. ST:STM32WB-Dual-Core-Wireless-MCUs bieten Echtzeitleistung mit extrem geringem Stromverbrauch
  2. Logic-X führt eine neue Marke von COTS-Sensorverarbeitungsprodukten ein
  3. Maxim nanoPower Echtzeituhr verlängert die Akkulaufzeit von Wearables, POS
  4. KI-Chiparchitektur zielt auf die Grafikverarbeitung ab
  5. Die Verwendung mehrerer Inferenzchips erfordert eine sorgfältige Planung
  6. Multicore-Prozessor integriert neuronale Verarbeitungseinheit
  7. Automobil-Echtzeituhren bieten einen weiten Temperaturbereich
  8. Seco:heterogene Verarbeitungssysteme basierend auf Xilinx Zynq Ultrascale+ MPSoCs
  9. Echtzeit-Bewegungsplanung für autonome Autos in mehreren Situationen, Unter simulierter städtischer Umgebung
  10. Digitale Shopfloor-Initiativen profitieren von sorgfältiger Planung