Der Test und die Verifizierung der AC-Leistung von hochpräzisen Analog-Digital-Wandlern (ADCs) mit einer Auflösung von mehr als 16 Bit erfordert einen nahezu perfekten Sinuswellengenerator, der mindestens eine Audiobandbreite von 0 kHz bis 20 kHz abdecken kann. Eine typische Konfiguration eines für hochauflösende Breitband-ADCs geeigneten Messaufbaus ist in Bild 1 dargestellt. Die kritischste Komponente ist der Sinuswellengenerator. Hier kann ein softwarebasierter direkter digitaler Synthesizer (DDS) volle Flexibilität mit extrem feiner Frequenzauflösung und Taktsynchronisation mit dem Datenerfassungssystem bieten, um eine kohärente Abtastung zur Vermeidung von Lecksignalen und FFT-Fensterfilterung durchzuführen. Es ist möglich, zu einem Bruchteil der Kosten eines Audio-Präzisionsanalysators einen genauen Sinuswellengenerator zu entwerfen, der auf dem Prinzip der direkten digitalen Frequenzsynthese (DDFS) basiert, aber in Software auf einem Fließkomma-DSP-Prozessor wie dem SHARC-Prozessor implementiert ist.
Sinuswellengenerator aus Entwicklungsboards
Vorläufige und Out-of-the-box-Tests, die auf Standard-Evaluierungsboards durchgeführt wurden, zeigen, dass prozessorbasierte DDS-Techniken für die konventionelle Sinuswellenerzeugung mit Spitzenleistung in Reichweite sind. Durch ein sorgfältiges Design des Rekonstruktionsfilters und der analogen Ausgangspufferstufe konnte der Wert von -120 dBc für die harmonische Verzerrung erreicht werden. Der DSP-basierte NCO/DDS ist nicht nur auf die Erzeugung von Einzelton-Sinuswellen beschränkt. Durch Verwendung eines optimierten Anti-Aliasing-Filters mit geeigneter Grenzfrequenz und ohne weitere Hardwareänderungen kann die gleiche Kombination aus DSP und DAC als Hochleistungs-AWG verpackt werden, um jede Art von Wellenform zu erzeugen.
Direkte digitale Frequenzsynthese
Im Vergleich zu herkömmlichen PLL- basierten Synthesizern (phase-lock loop) sind numerisch gesteuerte Oszillatoren (NCO) und DDSs vor allem für ihre sehr feine Frequenzauflösung, schnelle Beweglichkeit und einfache Sinus/Cosinus-Erzeugung mit perfekter Quadratur bekannt. Entwickler schätzen sie oftmals auch wegen ihrer großen Bandbreitenabdeckung und Gleichstromgenauigkeit. Ihr Funktionsprinzip wird durch die Theorie der digitalen Signalverarbeitung und Abtastsysteme bestimmt, und ihre digitale Natur ermöglicht eine vollständig digitale und unabhängige Steuerung von Phase, Frequenz und Amplitude der Ausgangssignale. Das Blockdiagramm in Bild 2 zeigt die Architektur eines konventionellen DDS, die aus drei Hauptfunktionen besteht:
- ein N-Bit-Phasenakkumulator;
- ein Phase-Sinus-Amplitudenwandler, gekennzeichnet durch ein W-Bit-Eingangswort mit abgeschnittener Phase;
- ein D-Bit-DAC mit zugehörigem Rekonstruktionsfilter.
Der Phasenakkumulator ist um einen einfachen N-Bit-Addierer herum aufgebaut, der mit einem Register kombiniert ist, dessen Inhalt mit der Rate des Abtasttaktes FCLK mit dem Eingangsphaseninkrement Δθ aktualisiert wird, das allgemein auch als Frequenzabstimmwort (FTW) bezeichnet wird. Der Akkumulator kann periodisch überlaufen und arbeitet wie ein fraktionaler Teiler zwischen dem Abtast- oder Referenztakt FCLK und der DDS-Ausgangsfrequenz FOUT.
Der Ausgang des Phasenakkumulator-Registers gibt die aktuelle Phase der erzeugten Wellenform wieder. Jeder diskrete Akkumulator-Ausgangsphasenwert wird anschließend mithilfe der Phase-zu-Sinus- oder Phase-zu-Cosinus-Mapper-Engine in einen Amplitudensinus- oder -cosinus-Daten- oder Abtastwert umgewandelt. Dies geschieht in der Regel mithilfe von trigonometrischen Werten, die in einer Look-Up-Table (LUT) in einem ROM gespeichert werden, gelegentlich auch durch die Ausführung eines Sinus-Approximations-Algorithmus oder einer Kombination aus beiden. Der Ausgang des Phase-Sinus-Amplitudenwandlers speist einen DAC, der eine quantisierte und abgetastete Sinuskurve erzeugt, bevor diese gefiltert wird, um das Signal zu glätten und Spektrum-Aliasing zu vermeiden. Diese durch die endliche Auflösung des DAC auferlegte Amplitudenquantisierung bildet eine theoretische Grenze für das Grundrauschen und das resultierende Signal-Rausch-Verhältnis (SNR) des Synthesizers. Darüber hinaus weist der DAC als Mixed-Signal- Baustein aufgrund seiner INL-, DNL-, Flankensteilheits-, Glitch- und Einschwingzeit-Charakteristiken eine ganze Reihe von Gleich- und Wechselspannungs-Nichtlinearitäten auf, die Störtöne erzeugen und den Gesamtdynamikbereich des Sinuswellengenerators reduzieren.
Implementierung eines hochpräzisen NCOs in Software
Der Bau eines hochpräzisen Wechselstrom-Tongenerators ist keine triviale Sache, auch wenn er sich auf das Audio-Frequenzspektrum (0 bis zu 20 kHz) konzentriert. Nichtsdestotrotz kann eine vollständige Software-Implementierung, die die Phasenberechnungen (ωt) und Sinusfunktions- (sin(ωt)) Approximationen mit der angemessenen Rechengenauigkeit eines eingebetteten Prozessors durchführt, sicherlich dazu beitragen, die Quantifizierungs-Nebeneffekte, das Rauschen und die daraus resultierenden Störausläufer (Spur, Störfrequenzen) zu minimieren. Dies bedeutet, dass alle NCO-Funktionsblöcke aus Bild 2 in Codezeilen übersetzt werden (nicht in VHDL), um eine Softwareversion zu realisieren, die Echtzeitbeschränkungen erfüllt, um die Mindestabtastrate und die gewünschte Frequenzbandbreite zu gewährleisten.
Für die Phase-Sinus-Amplitudenumwandlungs-Engine erfordert das vollständige LUT-Schema oder eine diesbezügliche Variante zu viel Speicher oder zu viele Interpolationsoperationen, um eine perfekte Sinus-Konformität zu erreichen. Demgegenüber stellt die Polynommethode zur Sinusapproximation einen sehr guten Kompromiss zwischen Komplexität und Genauigkeit dar, da sie die Verwendung eines kostengünstigen Allzweck-DSPs ermöglicht. Die Polynomreihenentwicklung ist zudem aufgrund ihrer relativen Einfachheit und der vollen Flexibilität bei der Auswahl der Art der Potenzreihe und bei der Anpassung des Algorithmus an eine gegebene Genauigkeit, äußerst attraktiv. Sie benötigt nicht viel Speicherplatz, weniger als 100 Zeilen SHARC-DSP-Assembler und nur wenige RAM-Speicherplätze zur Speicherung der Polynomkoeffizienten und Variablen, da eine Berechnung der Sinuswerte nur zu Abtastzeitpunkten stattfindet.
Während sich alle Berechnungen mit 32-Bit-Festkommaarithmetik ausführen lassen, ist das gebräuchlichste und bequemste Format für mathematische Berechnungen, insbesondere bei großen Zahlen, seit Jahren der Gleitkommastandard IEEE 754. Als Hersteller von DSP-VLSI-Chips war Analog Devices Vorreiter hinsichtlich des Standards IEEE 754-1985. Zu dieser Zeit gab es überhaupt keinen Ein-Chip-Gleitkomma-DSP-Prozessor, sondern nur einfache Gleitkomma-Multiplikator- und ALU-ICs. Dieses Format hat die meisten proprietären Formate der Computerindustrie ersetzt und wurde zum nativen Format für alle SHARC DSP-Prozessoren, in einfacher Genauigkeit 32 Bit, erweiterter Genauigkeit 40 Bit und kürzlich in doppelter Genauigkeit 64 Bit für den ADSP-SC589 und den ADSP-SC573.
Das SHARC-40-Bit-Extended-Single-Precision-Fließkommaformat mit seiner 32-Bit-Mantisse bietet ausreichende Genauigkeit (u 2-32) für diese Sinuswellenerzeugung und weiterhin zeigen Cody und Waite, dass ein Polynom 15. Ordnung für eine Gesamtgenauigkeit von 32 Bit mit einem gleichmäßig über den Eingangsbereich [0 bis +π/2] verteilten Fehler ausreichend ist.
Der 64-Bit-Phasenakkumulator des NCO selbst nutzt zur Ausführung die 32-Bit-SHARC-ALU im doppelt genauen Zweierkomplement-Bruchformat. Eine vollständige Phasenakkumulatorausführung mit Speicheraktualisierung kostet 11 Kernzyklen, und als Ergebnis wird jeder NCO-Ausgabewert in etwa 33 Kernzyklen erzeugt.
Das Diagramm in Bild 3 zeigt die Funktionsblock-Implementierung des Software-DSP-basierten NCOs mit einigen Hinweisen auf die arithmetische Formatgenauigkeit in jeder Stufe. Darüber hinaus sind ein oder zwei DACs und ihre analoge Antialiasing-Filterschaltungen für die analoge Signalrekonstruktion sowie zur Realisierung der kompletten DDFS erforderlich. Die Schlüsselelemente der Verarbeitungskette sind
- der 64-Bit-Phasenakkumulator (SHARC ALU, doppelt genaue Addition mit Überlauf);
- der 64-Bit-Festkomma-zu-40-Bit-Gleitkomma-Konvertierungsblock;
- der Bereichsverkleinerungsblock [0 bis + π/2] und die Quadrantenauswahl (Cody und Waite);
- der Sinus-Approximations-Algorithmus (Hart) für die Phasen-Amplituden-Umwandlung;
- die sin(x) Rekonstruktions- und Normalisierungsstufe über den Bereich von -1,0 bis +1,0;
- der FIR-Tiefpass und gegebenenfalls die sin(x)/x-Kompensation;
- sowie die 40-Bit-FP-zu-D-Bit-Festkomma-Konvertierungs- und Skalierungsfunktion zur Anpassung an den digitalen DAC-Eingang.
DDFS-Hardware-Demonstrationsplattform: Sinuswellen-Rekonstruktion mit dem AD1955
Das komplette DDFS implementieren die Entwickler von Analog Devices mithilfe von zwei Evaluation-Boards, von denen eines den DSP-Prozessor unterstützt und eines für die analoge Signalrekonstruktion mit dem AD1955 DAC vorgesehen ist. Das Evaluation-Board der zweiten Generation SHARC ADSP-21161N wählten sie aus Gründen der Verfügbarkeit sowie der Benutzerfreundlichkeit und der schlanken Konfiguration für beliebige Audioanwendungen. Den ADSP-21161N entwickelte Analog Devices bereits vor einiger Zeit, um industrielle, High-End-Verbraucher- und professionelle Audioanwendungen mit bis zu 110 Mips und 660 MFlops oder 220 MMACS/s zu unterstützen. Im Vergleich zu den neuesten Generationen von SHARC-Prozessoren zeichnet sich der ADSP-21161N vor allem durch seine kurze, dreistufige Befehlspipeline, einen On-Chip, 1 MB, ausschließlich Triple-Port-RAM und einen reduzierten Satz an Peripheriegeräten aus. Die letzte und kritischste Stufe des Präzisionstongenerators basiert auf dem AD1955- Evaluation-Board, das die analogen Signale aus den vom Software-NCO gelieferten Abtastwerten originalgetreu rekonstruieren muss. Dieses Evaluation-Board enthält ein Antialiasing-Filter (AAF), der für die Audiobandbreite optimiert ist, um das Nyquist-Kriterium zu erfüllen, und verfügt neben dem üblichen S/PDIF- oder AES-EBU-Empfänger über eine Reihe serieller Audioschnittstellen zur Unterstützung von PCM-I²S- und DSD-Digitalstreams. Der serielle PCM/ I²S-Steckverbinder lässt sich verwenden, um die DAC-Karte AD1955 mit den seriellen Anschlüssen SPORT 1 und SPORT 3 des Steckverbinders (J12) des ADSP-21161N EVB zu verbinden. Entwickler können beide Karten für die Betriebsarten I²S-PCM oder DSP mit Abtastraten von 48 kSPS, 96 kSPS oder 192 kSPS konfigurieren. Der serielle DSP-Port SPORT1 erzeugt die Daten des linken und rechten Kanals, das Wortauswahl- oder L/R-Frame-Sync-Signal sowie die SCK-Bit-Taktsignale, die von der digitalen Eingangsschnittstelle des Zweikanal-DACs benötigt werden. Der serielle Port SPORT 3 dient nur zur Erzeugung des DAC-Mastertakts MCLK, der für den Betrieb der DAC-Interpolationsfilter und der Sigma-Delta-Modulatoren erforderlich ist, die standardmäßig 256-mal schneller als die Eingangsabtastfrequenz (48 kSPS) laufen. Da der DSP alle DAC-Taktsignale erzeugt, tauschten die Entwickler den ursprünglichen Epson-Taktoszillator auf der Platine gegen einen extrem rauscharmen Oszillator CCHD-957 von Crystek aus.
Auf der Analogausgangsseite sind aktive I/U-Wandler notwendig, um die differentiellen Stromausgänge des AD1955 auf einer konstanten Gleichtaktspannung, typischerweise 2,8 V, zu halten, um Verzerrungen zu minimieren. Hochpräzise Operationsverstärker mit ultraniedriger Verzerrung und ultraniedrigem Rauschen wie der AD797 kommen sowohl für diesen Zweck als auch für die analoge Signalrekonstruktion zum Einsatz. Da der DSP die beiden Differenzausgänge getrennt verarbeitet, wählten die Entwickler statt des Mono-Modus die Stereo-Ausgangskonfiguration mit ihrer eigenen AAF-Topologie (Anti Aliasing Filter). Diese AAF simulierten sie mit LTspice XVII (Bild 4). Da der letzte Filterabschnitt passiv ist, sollte eine aktive differentielle Pufferstufe wie der kürzlich eingeführte ADA4945 hinzugefügt werden. Dieser rauscharme, verzerrungsarme vollständig differentielle Verstärker mit schneller Einschwingzeit ist ein guter DAC-Begleiter zur Ansteuerung aller hochauflösenden SAR- und Sigma-Delta-ADCs. Mit einem relativ großen Gleichtakt-Ausgangsspannungsbereich und hervorragenden Gleichstromeigenschaften bietet der ADA4945 eine außergewöhnliche Ausgangssymmetrie und trägt zur Unterdrückung von Oberwellenverzerrungen geradzahliger Ordnung bei.
Autor
Patrick Butler
Field Application Engineer bei Analog Devices