Hier geht es um allgemeine analoge und digitale Elektronik, soweit es sich nicht um Amateurfunk-spezifische Dinge dreht. Für Amateurfunk gibt es eine eigene Kategorie.
Nachdem ich mich im vergangenen halben oder dreiviertel Jahr mit dem Erwerb und Aufbau einer neuen CNC-Fräse (eine Sorotec BL1005) und der dazugehörigen Steuerung beschäftigt habe, musste ich endlich mal wieder „etwas elektronisches“ machen. Die Fräse läuft inzwischen, aber es fehlt noch dringend eine Umhausung und eine Mindermengenschmierung insbesondere zum Fräsen von Aluminium. Da steht noch einiges an Arbeit an. Aber das ist ein ganz anderes Thema, das ich gelegentlich auch noch beschreiben werde.
Für einen demnächst geplanten neuen Antennentuner sollen mehr als 16 bistabile Relais angesteuert werden. Das erfordert einen erweiterten Relaistreiber. Und wo wir schon dabei sind, kann auch das CPU-Board einen Update vertragen. Nötig gewesen wäre der allerdings nicht.
Relaistreiber V1.2
Das alte Relaistreiber Board funktioniert einwandfrei, hat aber nur vier high-side Treiber und acht low-side Treiber. Damit lassen sich bei entsprechendem Multiplexing bis zu 32 Relaisspulen treiben. Beim Einsatz bistabiler Relais mit jeweils zwei Spulen reduziert sich das dann allerdings auf maximal 16 Relais. Das reicht für einen Antennentuner mit acht geschalteten Kondensatoren und acht geschalteten Spulen aus, aber sobald man auch nur die Konfiguration zwischen L‑C und C‑L umschalten will, feht mindestens ein Relais. Daher habe ich ein neues Relaistreiber Board mit doppelter Anzahl an high-side Ausgängen gebaut. Damit können nun bis zu 32 bistabile Relais angesteuert werden.
Durch die Auswahl einer vierlagigen Leiterplatte, den Einsatz kleinstmöglicher Gehäusebauformen und Ausnutzung der Design-Regeln konnten fast alle Bauteile auf einer Seite platziert werden. Für Widerstände und Kondensatoren wurde fast durchgehend die 0402 Packungsgröße gewählt, ein ULN2803 low-side Treiber mit acht Kanälen kommt im QFN-Gehäuse zum Einsatz. Kein Problem bei automatischer Bestückung. Wegen des Platzgewinns konnte nun zusätzlich noch ein 5 V‑Festspannungs-Schaltregler eingebaut werden. Es ist ein TI SimpleSwitcher vom Typ LMR50410, der bis zu 36 V Eingangsspannung verträgt. Wegen der notwendigen Spannungsfestigkeit wurden an dessen Eingang etwas größere Kondensatoren der Bauform 0603 eingesetzt. Die tatsächlich verwendete Eingangsspannung wird 24 V nicht übersteigen. Daher wurde eine SMBJ28A TVS-Schutzdiode eingebaut, die zusammen mit einer Sicherung vor Spannungsspitzen und Verpolung schützt.
Durch den ULN2803 auf der automatisch bestückten Seite bleibt nun auf der Gegenseite genug Platz für zwei high-side Treiber vom Typ BTS724G, die dann aber händisch aufgelötet werden müssen. Bei 50 mil Pin-pitch ist das kein Problem. Außerdem müssen die Prüfpins und die Stift- und Sockelleisten von Hand gelötet werden.
Hier nun die 3D-Ansichten von beiden Seiten, der Schaltplan im PDF-Format und die KiCad-Dateien.
Relaistreiber V1.2, handbestückte SeiteRelaistreiber V1.2, automatisch bestückte Seite
Für die Speicherdrossel L33 und die Sicherung F1 ist leider z.Zt. kein 3D-Modell vorhanden, sie sind aber bestückt.
Auch das ATMEGA644PA-CPU Board V1.1 habe ich überarbeitet. Dieses Board hat zwar auch zuverlässig funktioniert, aber die Bestückung von Hand ist doch mühsam und fehleranfällig. Außerdem hat es den kleinen Nachteil, daß es mit einem Linear-Festspannungsregler bestückt ist, der nur bis zu 18 V Eingangsspannung verträgt (abs max). Für die ursprünglich geplanten maximal 12 V ist das völlig ausreichend, aber inzwischen kam der Wunsch auf, auch 24 V Eingangsspannungen zu verwenden und wenn möglich sogar mehr. Selbst die 12 V erzeugen eine unnötige Verlustleistung von 350 mW, wenn die CPU 50 mA Strom zieht. Das ist zwar keine Leistung, die signifikant auf die Stromrechnung durchschlägt, sich aber doch bei Dauerbetrieb doch auf immerhin 3 kWh im Jahr aufsummiert. Das kostet bei den aktuellen Strompreisen mehr als 1 € pro Jahr. Wer hätte das gedacht?
Dennoch, das größere Problem ist die Erwärmung des Boards und dadurch eine Verfälschung der Temperaturmessung. Es musste also wie beim Relaistreiber ein Schaltregler her. Hier fiel die Wahl auf einen einstellbaren Schaltregler, den LMR16006YQ. Auch das ist ein SimpleSwitcher von Texas Instruments, der im Bauteilearsenal von JLCPCB als „Extended Component“ gegen einen einmaligen Aufpreis zur Verfügung steht. Er verträgt sogar bis zu 60 V Eingangsspannung und kann durch externe Beschaltung mit passenden Widerständen den gesamten Betriebsspannungsbereich des ATMEGA644PA von 1,8 V bis 5,0 V abdecken. Er liefert einen Ausgangsstrom von bis zu 600 mA.
Hier die KiCad 3D-Ansicht des Boards:
ATMEGA644PA CPU Board V1.2, automatisch bestückte SeiteATMEGA644PA CPU Board V1.2, manuell bestückte Seite
Das Widerstandsnetzwerk des Schaltreglers ist so dimensioniert, daß eine Ausgangsspannung von 5 V erzeugt wird. Durch optionale Bestückung eines weiteren Widerstands auf der Oberseite der Platine, kann eine niedrigere Ausgangsspannung von beispielsweise 3,3 V erzeugt werden. Es wurde ein 18,432 MHz Quarz eingebaut, der die Auswahl aller Standard-Baudraten gestattet und auch eine exakte 1ms- und 10ms-Interrupt-Periode erzeugt. Das ist für den Erhalt von Datum und Uhrzeit wichtig.
Betriebsspannungen und Einschränkungen
Alle verbauten Komponenten können mit Betriebsspannungen zwischen 3.0 V und 5.5 V betrieben werden. Bei Betriebsspannungen unterhalb von 3.0 V ist die Funktion des MAX14783 RS485-Transceivers nicht mehr gewährleistet. Unterhalb von 2.7 V sind auch der Temperatursensor TMP275 und die Spannungsreferenz REF5025 außerhalb ihrer Spezifikation. Der Mikrocontroller kann zwischen 2.7 V und 5.5 V mit 10 MHz Taktfrequenz betrieben werden, ab 4.5 V mit bis zu 20 MHz. Sein full-swing Quarzoszillator arbeitet von 2.7 V bis 5.5 V bis 20 MHz. Der eingebaute 18,432 MHz Quarz funktioniert also sowohl bei 3,3 V als auch 5.0 V nominaler Betriebsspannung. Unterhalb von 4,5 V muß dann aber die Taktfrequenz über die CLKDIV8 Fuse auf ein Achtel davon eingestellt werden. Die CPU läuft dann mit 2,304 MHz los und kann anschließend durch Schreiben des Clock Prescale Registers CLKPR auf einen Teilungsfaktor von 2 eingestellt werden. Damit kann das Board bei 3.3 V mit 9,216 MHz betrieben werden.
Betriebsspannung
ATMEGA644
18,432 MHz Oszillator
MAX14783
TMP275
REF5025
1,8 V ~ 2,7 V
internal osc, max 4 MHz
2,7 V ~ 3,0 V
Clk÷2
3,0 V ~ 4,5 V
Clk÷2
4,5 V ~ 5,5 V
Einschränkungen bei verschiedenen Betriebsspannungen
Der Controller funktioniert ab 1.8 V, dann aber nur mit maximal 4 MHz Taktfrequenz und einer anderen Taktquelle als dem full-swing Oszillator. Das kann beispielsweise einer der internen Oszillatoren sein.
Einstellen der Betriebsspannung
Die Ausgangsspannung des Schaltreglers wird durch das Widerstandsnetzwerk R6||R9 und R8 eingestellt. Auf dem Board ist R6 mit 56 kΩ bestückt, R8 mit 10 kΩ und R9 ist unbestückt. In der nachfolgenden Gleichung werden die parallelgeschalteten Widerstände R6 und R9 als RA bezeichnet und UA ist die gewünschte Ausgangsspannung. Dann ist RA folgendermaßen zu wählen:
RA = ((UA * R8) / 0,765) – R8 oder RA = ((UA * 10.000) / 0,765) – 10.000
Unter diesen Bedingungen errechnet sich R9 zu:
R9 = R6 * RA / (R6 – RA) oder R9 = 56.000 * RA / (56.000 – RA)
Solange R9 unbestückt bleibt, errechnet sich eine Betriebsspannung von 5.0 V. Für eine Betriebsspannung von 3.3 V muß R9 mit einem 82 kΩ Widerstand bestückt werden.
Stromaufnahme
Die Stromaufnahme des gesamten CPU-Boards liegt bei höchstens 50 mA. Der Schaltregler wurde daher für etwa 100 mA ausgelegt, was auch noch die Versorgung eines sparsamen externen Boards ermöglicht. Der Schaltregler kann bis zu 600 mA liefern. Falls deutlich mehr Strom als 100 mA benötigt wird, sollte eine weitere Speicherdrossel auf L5 bestückt werden. Sie ist zur eingebauten Speicherdrossel parallelgeschaltet. Zur Berechnung ihrer Induktivität sollte das Datenblatt zu Rate gezogen werden. Eine Größenordnung von 10 ~ 22 µH ist ein guter Anhaltspunkt. Der Schaltregler wird übrigens mit 2,1 MHz getaktet.
Batteriebetrieb
Das Board kann mit einer Stützbatterie betrieben werden, die die Spannungsversorgung bei Netzausfall übernimmt. Für diesen Fall muß R1 entfernt und die Doppelschottkydiode D3 auf der Oberseite bestückt werden. Die Batteriespannung darf nicht höher als die Versorgungsspannung sein. Es ist zu beachten, daß die Versorgungsspannung aller Komponenten in diesem Fall um die Diodenspannung von 0,3 ~ 0,5 V sinkt.
Nachdem ich nun einige Monate mit meinem neuen Spektrumanalysator herumgespielt habe, muß ich nun noch ein paar Ergänzungen und Klarstellungen zu den beiden ersten Teilen hier und hier hinzufügen. In den ersten Messungen habe ich z.T. ungünstige Meßeinstellungen gewählt und bei der Beurteilung des dargestellten Seitenbandrauschen wahrscheinlich zu strenge Kriterien für ein Gerät dieser Preisklasse angelegt.
Die Wahl der Meßeinstellungen ist kritisch, was nachfolgend am Beispiel einiger Messungen an einem Clapp-Guriett Oszillator gezeigt werden soll. Er ist mit einem 18,432 MHz Quarz bestückt und schwingt auf der dritten Oberwelle bei nominal 55,296 MHz. Alle Messungen wurden mit dem Siglent Spektrumanalysator SSA3032X Plus durchgeführt.
Funktionsweise des Spektrumanalysators
Zunächst muß man sich nochmal über die Funktionsweise eines Spektrumanalysators klar werden. Es handelt sich prinzipiell um einen Überlagerungsempfänger mit sehr breitbandigem, möglichst empfindlichem, linearem und dennoch großsignalfestem Eingang. Das sind Eigenschaften, die in Kombination nicht leicht zu realisieren sind und Kompromisse erfordern. Als Überlagerungsempfänger benötigt der Spektrumanalysator also einen VFO, der in einem Meßzyklus so geregelt wird, daß der Empfänger den gewählten Empfangsbereich überstreicht. Das Meßsignal am Eingang wird dann mit dem VFO-Signal gemischt, gefiltert, gemessen und schließlich am Bildschirm angezeigt. Neben dem Frequenzbereich können die Filterparameter und der Meßdetektor eingestellt werden. Moderne Spektrumanalysatoren werten das ZF-Signal digital mit einer FFT aus und erreichen daher erheblich reduzierte Meßzeiten. Die prinzipielle Funktionsweise unterscheidet sich aber nicht von früheren rein analogen Geräten.
Wahl der Bandbreite und des Detektors
Es gibt zwei Bandbreiteneinstellungen, die Resolution Bandwidth (RBW) und die Video Bandwidth (VBW). Die wichtigere davon ist die RBW, die die Durchlassbandbreite des ZF-Filters bestimmt. Die VBW mittelt die detektierten Signale unmittelbar vor der Darstellung, so daß das dargestellte Rauschen minimiert wird. Das Videofilter ist im automatischen Modus an die Einstellung des ZF-Filters gekoppelt. In den hier gezeigten Messungen wird dieser automatische Modus verwendet, VBW ist also immer gleich der RBW.
Der Spektrumanalysator stellt die jeweils gemessenen Signalpegel auf seinem Bildschirm auf der vertikalen Achse über den auf der horizontalen Achse eingestellten Frequenzbereich dar. Dabei ist die Anzahl der Punkte in beiden Richtungen begrenzt. Der SSA3032X Plus hat für die Frequenzdarstellung genau 751 Punkte reserviert. Der Rest des 1024 Pixel breiten Displays wird zur Darstellung weiterer Informationen benötigt. Damit repräsentiert also jeder einzelne Punkt einen Frequenzbereich der eingestellten Spannbreite dividiert durch 751.
Pos Peak Messungen
Hier nun eine erste Beispielmessung des Clapp-Guriett Oszillators bei 55,28 MHz mit einer Spannbreite von 2,5 MHz und einer Auflösungsbandbreite von 30 kHz.
Jeder dargestellte Meßwert entspricht hier also einem Intervall von 2,5 MHz / 751 = 3329 Hz (Span/Pixelanzahl). Der Detektor mißt den maximalen positiven Pegel (Pos Peak) innerhalb dieses Intervalls und stellt ihn auf der y‑Achse logarithmisch dar. Die eingestellte Bandbreite von 30 kHz ist deutlich breiter, als das Intervall, so daß der Signalpegel von ‑0,79 dBm zuverlässig gemessen wird. Marker 2 zeigt den Rauschpegel im Abstand von 500 kHz zum Träger. Rauschpegel werden automatisch mit der jeweils eingestellten Bandbreite auf eine Bandbreite von 1 Hz umgerechnet. Hier wird ein Rauschpegel von ‑112,14 dBm/Hz ermittelt.
Soll die Meßkurve eine bessere Auflösung bekommen, z.B. weil man näher am Signal messen will, dann muß die RBW verringert werden. Wählt man eine RBW, die deutlich kleiner ist als die Breite des Intervalls, dann stehen dem Spektrumanalysator mehrere Meßwerte pro Intervall zur Verfügung, die aber letztlich nur durch einen Pixel auf dem Bildschirm repräsentiert werden können. Da die Intervallbreite im vorliegenden Fall 3329 Hz beträgt, wäre eine RBW von 3 kHz angemessen. Damit würde mit einer Messung praktisch das gesamte dargestellte Intervall erfasst. Zu Demozwecken soll die Bandbreite aber jetzt auf 300 Hz eingestellt werden, wodurch also etwa elf Messungen auf ein Intervall fallen. Die Messung liefert nun folgendes Ergebnis:
Der Pegel des Trägers ist mit ‑0,91 dBm gleichgeblieben (Unterschiede von ein oder zwei Zehntel dBm kann man getrost ignorieren). Wegen der „Pos Peak“ Einstellung hat sich der Detektor von den elf im Intervall gemessenen Werten den Maximalwert ausgesucht und die anderen zehn ignoriert. Dieser Maximalwert unterscheidet sich nicht von dem mit zehnmal größerer Bandbreite gemessenen Maximalwert aus der vorigen Messung.
Allerdings fällt auf, daß der Rauschpegel mit ‑104,21 dBm/Hz nun um etwa 8 dBm gestiegen ist. Wie kann das sein? Ganz einfach, aus den nun elf Meßwerten pro Intervall sucht sich der Detektor wegen der „Pos Peak“ Einstellung nun wieder den jeweils größten aus, während bei der vorigen Messung diese elf Werte mit der einen einzigen Messung größerer Bandbreite gemittelt wurden. Rauschen ist ein stochastischer Prozess und der Pegel wird am besten durch seinen Mittelwert repräsentiert, nicht durch den Maximalwert. Man kann hier also deutlich erkennen, daß eine Rauschmessung mit „Pos Peak“ Einstellung bei einer Bandbreite weit unter der Breite des Meßintervalls einen zu hohen Wert liefert.
Average Video Messungen
Während die Messung des Signalpegels auch bei kleiner RBW mit dem Pos Peak Detektor also ein plausibles Ergebnis liefert, ist die Messung eines Rauschpegels also krass falsch. Daher wiederholen wir nun die Messungen nochmal mit einem anderen Detektor, nämlich Average Video.
Clapp-Guriett Oszillator mit 18.432MHz Quarz, Span: 2.5MHz, RBW=VBW: 30kHz, Detector: Average Video
Signal- und Rauschpegel stimmen hier im Rahmen der Meßgenauigkeit mit der Pos Peak Messung bei gleicher Auflösungsbandbreite überein. Das ist nicht verwunderlich, denn pro Intervall wird eine einzige Messung mit einer viel größeren Bandbreite durchgeführt. Ob man dieses eine Ergebnis als Maximalwert oder als Durchschnittswert bezeichnet, ist gleich.
Ein womöglich unerwartetes Ergebnis liefert die Messung mit RBW = 300 Hz:
Clapp-Guriett Oszillator mit 18.432MHz Quarz, Span: 2.5MHz, RBW=VBW: 300Hz, Detector: Average Video
Der dargestellte Signalpegel ist geradezu abgestürzt, um fast 60 dB. Das ist eine direkte Folge der Mittelung über die elf Meßwerte. Nur einer dieser Werte hat den tatsächlichen Pegel von etwa ‑0.8 dBm während die benachbarten Werte zwischen ‑60 und ‑80 dBm liegen dürften. Daraus errechnet der Spektrumanalysator den korrekten Mittelwert von ‑56,64 dBm, der aber mit dem tatsächlichen Pegel nichts mehr zu tun hat. Die Rauschmessung am Marker 2 zeigt aber trotz der geringen RBW wieder den oben schon gemessenen plausiblen Wert von ‑111 bis ‑112 dBm/Hz. Für Rauschmessungen sollte daher der „Average Video“ Detektor ausgewählt werden.
Normal, Sample und Neg Peak Messungen
Der Vollständigkeit halber sollen hier noch die Messungen mit anderen Detektoreinstellungen dokumentiert werden:
Clapp-Guriett Oszillator mit 18.432MHz Quarz, Span: 2.5MHz, RBW=VBW: 30kHz, Detector: SampleClapp-Guriett Oszillator mit 18.432MHz Quarz, Span: 2.5MHz, RBW=VBW: 300Hz, Detector: SampleClapp-Guriett Oszillator mit 18.432MHz Quarz, Span: 2.5MHz, RBW=VBW: 30kHz, Detector: NormalClapp-Guriett Oszillator mit 18.432MHz Quarz, Span: 2.5MHz, RBW=VBW: 300Hz, Detector: NormalClapp-Guriett Oszillator mit 18.432MHz Quarz, Span: 2.5MHz, RBW=VBW: 30kHz, Detector: Neg PeakClapp-Guriett Oszillator mit 18.432MHz Quarz, Span: 2.5MHz, RBW=VBW: 300Hz, Detector: Neg PeakMessungen mit den Detektoreinstellungen Sample, Normal und Neg Peak
Der Detektor Sample wählt genau einen Meßwert in der Mitte des jeweiligen Intervalls aus. Da der Oszillator im Laufe der Messungen aus der Mitte des Displays hinausgewandert ist, wird hier der Signalpegel bei 300 Hz RBW überhaupt nicht mehr angezeigt. Der Normal Detektor zeigt abwechselnd das Maximum und das Minimum eines Intervalls an. Damit lässt sich also schon optisch recht gut die Fluktuation der Meßwerte beurteilen. Neg Peak zeigt den jeweiligen Minimalwert des Intervalls an.
Empfohlene Meßeinstellungen
Soll mit einer einzigen Messung sowohl der Signalpegel als auch der Rauschpegel korrekt angezeigt werden, darf die ZF-Bandbreite RBW nicht kleiner sein, als das Meßintervall. Signal- und Rauschpegel werden dann weitgehend unabhängig von der Wahl des Detektors im Rahmen der Meßgenauigkeit korrekt angezeigt. Beim Normal Detektor ist allerdings zu beachten, daß der Marker mal auf dem Minimum, mal auf dem Maximum stehen kann. Wenn RBW die Breite des Meßintervalls (deutlich) unterschreitet, dann muß der passende Detektor ausgewählt werden. Zum Messen des Signalpegels empfiehlt sich dann Pos Peak, zum Messen des Rauschpegels Average Video oder Sample.
Messung des Seitenbandrauschens
Kann man denn nun mit einem Spektrumanalysator das Seitenbandrauschen eines Oszillators direkt messen oder ist das nicht möglich? Kann man wenigstens eine qualitative Aussage treffen: schlecht, geht so bzw. gut. Das Seitenbandrauschen wird üblicherweise im Abstand von 10 kHz zum Träger angegeben und auf den Pegel des Trägers bezogen. Nach dem Beitrag „Phasenrauschmessungen mit dem Spektrumanalysator“ von Werner Schnorrenberg, DC4KU, hat ein guter Oszillator ein Seitenbandrauschen von ‑70 bis ‑110 dBc/Hz im Abstand von 10 kHz, sehr gute Oszillatoren auch kleiner als ‑160 dBc/Hz. Dabei ist zu beachten, daß dieser Beitrag nun älter als 30 Jahre ist und sich die Standards inzwischen geändert haben dürften. ‑100 dBc/Hz müsste also heutzutage von einem guten Oszillator schon unterschritten werden.
Betrachten wir noch einmal die Messung des oben schon verwendeten Clapp-Guriett Oszillators, diesmal mit RBW = 3 kHz und drei Rausch-Markern im Abstand von 10 kHz, 100 kHz und 1 MHz.
Clapp-Guriett Oszillator mit 18.432MHz Quarz, Span: 2.5MHz, RBW=VBW: 3kHz, Detector: Average Video
Woher kommt dieser auffällige Anstieg des Rauschens in der Nähe des Trägers und der Abfall unmittelbar daneben? Ist das das Seitenbandrauschen des gemessenen Oszillators? Ganz klar nein, es ist das Seitenbandrauschen des VFOs im Spektrumanalysator. Dessen Rauschen wird nämlich mit dem Träger des zu messenden Oszillators in den ZF-Bandpaß gemischt. Die beidseitigen Peaks werden (mutmaßlich) von der PLL dieses VFOs erzeugt. Dieses Verhalten hatte ich schon im ersten Teil dokumentiert, ohne mir genau über die Ursache bewußt zu sein.
Der Pegel des Trägers wird hier mit ‑1,8 dBm gemessen. Er ist wegen der RBW von 3 kHz bereits leicht reduziert. Gehen wir von einem tatsächlichen Pegel von ‑0,8 dBm aus, wie oben gemessen, dann zeigt diese Messung Seitenbandrauschpegel von ‑99,7 dBc/Hz (@10 kHz), ‑95,46 dBc/Hz (@100 kHz) und ‑116,08 dBc/Hz (@1 MHz). Das Datenblatt des SSA3032X Plus spezifiziert garantierte (typische) Werte von 95 (98) dBc/Hz (@10 kHz), 96 (97) dBc/Hz (@100 kHz) und 115 (117) dBc/Hz (@1 MHz). Die tatsächlichen Werte sind freilich nicht bekannt, aber man kann annehmen, daß sie nicht deutlich besser sind, denn sonst hätte der Hersteller die besseren Werte spezifiziert. Eher sind die spezifizierten Werte geschönt.
Nach den Standards von 1990, die DC4KU im oben erwähnten Beitrag dokumentiert, erreichen gute Spektrumanalysatoren ein Seitenbandrauschen von besser als -80 dBc/Hz im Abstand von 10 kHz, sehr gute Geräte besser als -110 dBc/Hz. Preist man den technischen Fortschritt der letzten 30 Jahre ein, ist der SSA3032X Plus mit seinen -95 dBc/Hz nach heutigen Standards wohl als "gut" einzuordnen, aber eher nicht als "sehr gut".
Die gemessenen Werte liegen nahe an den spezifizierten typischen Werten. Damit kann man den wesentlichen Teil des hier gemessenen Seitenbandrauschens dem VFO des Spektrumanalysators zuordnen. Abweichungen von 1 dB würde ich als Meßungenauigkeit definieren. Das Seitenbandrauschen des gemessenen Oszillators ist also sicher niedriger, als die hier gemessenen Werte, wie niedrig genau, weiß man nicht. Die oben genannte Anforderung von höchstens ‑100 dBc/Hz im 10 kHz Abstand für einen guten Oszillator ist also erfüllt. Damit ist man aber an der Meßgrenze des Spektrumanalysators angekommen. Für genauere Messungen benötigt man andere Meßverfahren.
Die Problematik bei dieser direkten Messung ist der Dynamikbereich des Signals. Ein Spektrumanalysator benötigt einen großsignalfesten Eingang mit sehr niedrigem Eigenrauschen. Er muß in dem gezeigten Fall ein ‑100 dBm/Hz Rauschsignal von einem unmittelbar benachbarten 0 dBm Signal (1 mW) unterscheiden können. Das sind zehn Größenordnungen, also ein Faktor von zehn Milliarden.
Nachdem im ersten Teil einige spektrale Messungen des Siglent SSA3032X Plus im Vergleich zum Rigol DSA815-TG gezeigt wurden, sollen in diesem Teil nun Vergleichsmessungen mit den eingebauten Trackinggeneratoren (TG) durchgeführt werden.
Die Funktion eines Trackinggenerators ist schnell erklärt: er generiert ein Signal mit genau der Frequenz, die der Spektrumanalysator (SA) zu diesem Zeitpunkt gerade mißt. Damit ist seine Funktion die eines klassischen Wobbelsenders, nur daß eben der Detektor in Form des SA bereits eingebaut ist. Ein SA mit TG gestattet damit ohne weitere Hardware Transmissionsmessungen (s21), mit einem externen Richtkoppler aber auch Reflexionsmessungen (s11). Anders als mit einem vektoriellen Netzwerkanalysator (VNA) geht beides aber nur skalar, nicht vektoriell. Phasenverschiebungen kann ein SA mit TG also nicht erkennen.
Transmissionsmessungen
Bei allen Durchgangsmessungen wird zunächst eine Referenzmessung durchgeführt, indem der TG-Ausgang and den SA-Eingang mit einem möglichst kurzen und hochwertigen Kabel kurzgeschlossen wird. Dieses Meßergebnis wird als Referenz gespeichert und alle weiteren Messungen darauf bezogen.
Isolationsmessung
Zunächst muß man feststellen, welche Dynamik man im Meßbereich überhaupt erwarten kann. Es ist unvermeidlich, daß ein geringer Teil des TG-Ausgangssignals bereits intern in den hochempfindlichen Eingang des SA leckt. Egal was man anschließend außen anschließt, dieses Leck kann man nicht mehr beseitigen. Es bestimmt also den minimalen Pegel, den man messen kann.
Für die Isolationsmessungen werden beide Buchsen offen gelassen.
Bessere Isolationswerte als die hier gemessenen grob ‑35 bis ‑45 dB beim DSA815 und ‑45 bis ‑55 dB beim SSA3032X Plus wird man also beim Anschluß eines Testobjekts nicht erwarten können.
Messung von Kabeldämpfungen
Reale Kabel sind bekanntlich nicht verlustfrei, Koaxialkabel schon garnicht. Daher soll jetzt als einfachste Übung die Dämpfung eines 20 m langen RG-58 und eines 25 m langen RG-174 Kabels über der Frequenz gemessen werden. Hier die verwendeten Testobjekte:
20-m-Ring RG-58 Kabel, beidseitig mit BNC Steckern25-m-Ring RG-174 Kabel, beidseitig mit BNC SteckernKoaxkabel zur Messung der Dämpfung
…und hier die Meßergebnisse der Durchgangsmessungen:
Die Messungen zeigen frequenzabhängige Welligkeiten, die auf Fehler in der Anpassung zurückzuführen sind. Sie sind vermutlich auf Abweichungen des Wellenwiderstands des Kabels zu den 50 Ohm der Quelle und des Meßeingangs zurückzuführen.
Die gemessenen Dämpfungen sind im wesentlichen konsistent. Kleinere Abweichungen ergeben sich, wenn der Marker gerade auf einem Berg oder Tal der Welligkeit steht. Beim RG-174 Kabel kommen beide Meßinstrumente bei den hohen Frequenzen an ihre eingangs gemessene Isolationsgrenze. Die hier gefundenen Dämpfungswerte stimmen im Rahmen der Meßgenauigkeit mit den publizierten Daten überein.
Messungen passiver Filter
In der Bastelkiste fanden sich einige passive Filter, die vor vielen Jahren mit dem Ansoft Designer SV entworfen und auf FR‑4 Leiterplattenmaterial gefräst wurden. Als Beispiele wurde ein 435 MHz und ein 850 MHz Bandpass-Filter ausgewählt. Das 435 MHz Filter ist ein Streifenleitungsfilter und das 850 MHz Filter ist ein LC-Filter, bei dem jedoch die Induktivitäten und ein Teil der Kapazitäten als Leiterbahnelemente ausgeführt sind. Hier sind Fotos der verwendeten Filter:
Eine Seite der Filter ist jeweils eine durchgehende Massefläche und die andere Seite stellt die Filterstruktur dar. Das Interdigital-Filter besteht nur aus vier Microstrip-Leitungen, deren Dimensionen und Abstand vom Filter-Designprogramm errechnet werden.
Das LC-Filter besteht aus drei kapazitiv gekoppelten Parallelschwingkreisen. Die runden Kupferflächen sind Kondensatoren mit etwa 7 pF zur gegenüberliegenden Massefläche und die kleinen etwa 10 mm langen Leiterbahnen sind dazu parallelgeschaltete Induktivitäten von jeweils etwa 5 nH. Sie sind am anderen Ende zur Massefläche durchkontaktiert. Als Koppelkondensatoren sind 0.75 pF Keramikkondensatoren der Größe 0805 eingesetzt. Warum die ganze Filterstruktur nicht um 180° gedreht ist, damit die Leitungslängen kürzer werden, ist mir übrigens heute auch nicht mehr klar.
Die Ansoft Simulation ergibt folgende Durchgangscharakteristiken:
Bei dem 435 MHz Microstrip-Filter erkennt man deutlich deren prinzipielle Eigenschaften: sie lassen nicht nur die Grundwelle durch, sondern auch deren Oberwellen. Die Schmalbandmessungen zeigen den 10 dB Durchgangsbereich des Filters, der bei etwa 50 MHz Bandbreite liegt. Es gibt kleine Unterschiede in den Messungen, die man nicht überbewerten sollte. Eine erneute Messung wird bei jedem der Geräte wieder Abweichungen zeigen. Beide Schmalbandmessungen zeigen eine gute Übereinstimmung der Durchlasskurve mit der Simulation. Auch die Mittenfrequenz stimmt recht gut. Die Dämpfung des realen Filters ist geringfügig höher als simuliert.
Das 850 MHz LC-Filter hat dagegen nur einen einzigen ausgeprägten Durchlassbereich, nämlich um 800 MHz herum. Er liegt damit also etwa 50 MHz unter dem simulierten Durchlassbereich. Das ist sicherlich auf Ungenauigkeiten beim Fräsen der Leiterplatte oder Abweichungen von der tatsächlichen Dielektrizitätskonstante zurückzuführen und spielt hier beim Vergleich der beiden Spektrumanalysatoren keine Rolle. Beide Geräte sehen die Dämpfung im Durchlassbereich übereinstimmend bei etwas über 7 dB und die 3 dB Bandbreite bei etwa 60 MHz.
23 cm LNA mit MMIC
Zum Abschluß der Transmissionsmessungen soll noch ein aktiver Vorverstärker gezeigt werden, ein LNA mit einem „Monolithic Microwave IC“, MMIC. Der hier eingesetzte Typ ist ein MGA-62563 von Avago. Er soll laut Datenblatt 17 dB Gewinn im 23 cm Band erzielen. Auch hier ist wieder ein Microstrip-Filter vorgeschaltet, das einige dB Verlust erzeugt, so daß am Ende ein Gewinn von etwa 10 dB zu erwarten ist. Hier zwei Fotos des Prototypen:
23 cm LNA mit MGA-62563, Oberseite23 cm LNA mit MGA-62563, Unterseite23 cm LNA mit MMIC
Die Ansoft Simulation lässt folgende Durchgangscharakteristik erwarten:
23 cm LNA mit MGA-62563, simulierte Durchgangscharakteristik
DSA815-TG, Quelle: TG, 23 cm LNA, BreitbandSSA3032X-Plus, Quelle: TG, 23 cm LNA, BreitbandDSA815-TG, Quelle: TG, 23 cm LNA, SchmalbandSSA3032X-Plus, Quelle: TG, 23 cm LNA, SchmalbandSSA3032X-Plus, Quelle: TG, 23 cm LNA, Schmalband, zweite Oberwelle23 cm LNA, Durchgangsmessungen
Beide Instrumente zeigen eine Verstärkung von knapp 11 dB im 23 cm Band. Unter Berücksichtigung der Verluste des Eingangsfilters deckt sich das mit der laut Datenblatt zu erwartenden Verstärkung von 17 dB. Die 10 dB Bandbreite beträgt übereinstimmend etwa 270 MHz. Wegen des erweiterten Frequenzbereichs sieht der Siglent SSA3032X-Plus auch den Durchlassbereich der ersten Oberwelle bei 2.6 GHz. Auch für diesen Bereich wurde eine Schmalbandmessung durchgeführt, die immerhin noch eine Dämpfung um 10 dB zeigt. Auch hier deutet die Welligkeit im Durchlassbereich wieder auf Abweichungen der Anpassung hin.
Reflexionsmessungen
Mit Hilfe eines externen Reflexionsmeßkopfes kann man mit einem Trackinggenerator auch Einport-Messungen, z.B. an Antennen durchführen. Der Trackinggenerator speist dabei den Eingang des Meßkopfes und das Meßobjekt wird an den Ausgang angeschlossen. Der Spektrumanalysator mißt die reflektierte Leistung. Das entspricht einer s11-Messung, auch hier allerdings wieder nur skalar.
Vor der eigentlichen Messung muß eine Referenzmessung mit offenem oder kurzgeschlossenem Ausgang durchgeführt werden. Die Meßkurve wird als Referenzsignal gespeichert und alle weiteren Messungen beziehen sich dann auf diese Referenz.
Hier zunächst Fotos des Meßkopfes und des Meßobjekts:
Reflexionsmeßkopf, Ansicht aReflexionsmeßkopf, Ansicht bReflexionsmeßkopf, Ansicht cReflexionsmeßkopf, Ansicht dBaofeng WendelantenneDer Reflexionsmeßkopf und das Testobjekt, die Wendelantenne eine Baofeng Handfunkgeräts
Baofeng Wendelantenne
Die Spezifikation der Meßkopfes ist auf 0,1 .. 500 MHz begrenzt, daher bietet sich die Messung einer Wendelantenne an. Sie wird im Zimmer mit einem kleinen Schraubstock fixiert, damit die Messungen halbwegs reproduzierbar sind. Das funktionier leider nur annähernd, denn die Bewegung einer Person im Raum oder schon eine Handbewegung führt zu Änderungen am Meßergebnis. Daher sollten die folgenden Messungen mit der berühmten Prise Salz betrachtet werden.
Die Messungen zeigen jeweils die frequenzabhängig reflektierte Energie an. Bei den Frequenzen, an denen die Antenne Energie abstrahlt, erreicht die reflektierte Energie ein Minimum. Ist die reflektierte Energie hoch, kann sie nicht abgestrahlt worden sein. Bei diesen Frequenzen ist die Antenne also ziemlich wirkungslos.
Auf den Breitbandmessungen erkennt man Resonanzen bei etwa 150 MHz, 380 MHz und 420 MHz. Bei den weiteren Messungen sind jeweils nochmal die Bereiche um 150 MHz und um 400 MHz herausgezoomt. Bei 150 MHz ist eine Rückflußdämpfung zwischen 8 und 11 dB zu sehen. Die Unterschiede sollen aus den oben genannten Gründen nicht bewertet werden. Eine Rückflußdämpfung von 10 dB bedeutet, daß von der eingespeisten Leistung 10% zurückfließen, also 90% abgestrahlt wurden. Das ist nicht ganz schlecht. Bei 380 und 420 MHz messen beide Geräte eine Rückflußdämpfung von mehr als 30 dB, es wird also 99,9% der eingespeisten Leistung abgestrahlt. Das ist gut.
Bei Reflexionsmessungen ist es ganz praktisch, wenn der SA nicht nur positive, sondern auch negative Peaks finden und in der Tabelle darstellen kann. Im Gegensatz zum DSA815-TG kann der SSA3032X-Plus das.
Zusammenfassung
Beide Spektrumanalysatoren haben einen eingebauten Trackinggenerator, der jeweils in der Standardausführung bereits ohne separate Lizenz freigeschaltet ist. Er ist ein sehr nützliches Werkzeug, das bis zu einem gewissen Grade einen vektoriellen Netzwerkanalysator ersetzen kann.
Die Isolation des Trackinggenerators ist beim SSA3032X-Plus etwa 10 dB besser als beim DSA815-TG. Das gestattet genauere Messungen im Sperrbereich von Filtern. Der größere Bildschirm des Siglent erlaubt es, mehr Information darzustellen, ohne zu große Abstriche bei der Anzeige der Meßkurve zu machen.
Der SSA3032X-Plus ist bei den Messungen generell deutlich schneller, als der DSA815 und die Bedienung vom PC über das Web-Interface ist einfach Stand der Technik. Mit einem Klick wird ein Screenshot direkt auf die Festplatte gespeichert, wo man beim DSA815 erst umständlich mit einem USB-Stick hantieren muß. Dabei dauert das Abspeichern eines kleinen PNG-Files dann auch noch eine gefühlte Ewigkeit. An der Bedienung merkt man die zehn Jahre Entwicklungsfortschritt.
Daß der SSA3032X-Plus im Gegensatz zum DSA815-TG einen deutlich erweiterten Frequenzbereich hat, soll hier nicht bewertet werden. Es gibt zu höheren Kosten auch von Rigol eine 3.2 GHz Variante, den DSA832E-TG, und von Siglent eine preisgünstigere 1,5 GHz Variante, den SSA3015X Plus. Die geringere RBW und das niedrigere Phasenrauschen des SSA3032X-Plus können die hier gezeigten Messungen mit dem Trackinggenerator nicht ausnutzen. Dazu wären weitere Schmalbandmessungen, z.B. von Quarzen, vielleicht ganz hilfreich. Für solche Messungen verwende ich allerdings den VNA und plane auch nicht, das zukünftig mit dem Spektrumanalysator zu machen.
Vor knapp zehn Jahren habe ich mir meinen ersten Spektrumanalysator (SA) gekauft, einen DSA815-TG der Firma Rigol. Es ist ein für Amateurzwecke recht brauchbares Gerät, das damals knapp 1500 Euro gekostet hat und heute immer noch für gut 1000 Euro verfügbar ist. Er hat allerdings seine Schwächen. Die kleinste Auflösungsbandbreite (RBW) war seinerzeit 100 Hz, konnte durch einen Softwareupdate aber auf 10 Hz reduziert werden. Das ist garnicht so schlecht, damit kann man arbeiten. Als störend erweist sich aber das relativ hohe Phasenrauschen insbesondere beim Messen von Oszillatoren. Das Datenblatt gibt für einen Abstand von 10 kHz einen Wert <-80dBc/Hz an. Es wird schlechter, je näher man an den Träger kommt. Das ist, wenn überhaupt, nicht viel besser als das Phasenrauschen eines selbstgebauten Oszillators. Den kann man daher nicht qualifiziert messen, denn man kann das Phasenrauschen des Oszillators nicht von dem des SA unterscheiden.
Ein weiterer kleiner Nachteil ist die Maximalfrequenz von 1,5 GHz. Das ist natürlich für alle Kurzwellenbänder inklusive 2 m und 70 cm völlig ausreichend. Auf den ersten Blick reicht es auch für 23 cm, aber es kann ein Nachteil sein, daß man da nicht einmal die zweite Oberwelle geschweige denn die oft wichtigere dritte Oberwelle beobachten kann. Der Trackinggenerator ist ein hilfreiches Werkzeug, um s21-Parameter und mit einem externen Richtkoppler auch s11-Parameter zu messen, wenn auch beide nur skalar und nicht vektoriell. Will man beispielsweise ein Bandpassfilter für das 23 cm Band messen, dann ist es sehr hilfreich, deutlich über die Bandgrenzen hinauszugehen und nicht gleich am Bandende schon blind zu sein.
Der heutige Stand der Technik
Kurz und gut, ich brauche einen neuen Spektrumanalysator! Für Amateurzwecke und Amateurbudgets kommen nur Geräte chinesischer Provenienz in Frage, darunter besonders die von Rigol und Siglent. Bei beiden Herstellern kann man aus einem breiten Preis- und Leistungsspektrum auswählen. Die erste Frage, die jeder für sich selber klären muß, ist die, ob ein vektorieller Netzwerkanalysator (VNA) eingebaut sein soll. Einen Trackinggenerator haben die meisten Geräte sowieso eingebaut und auch freigeschaltet. Da ist es zum VNA nicht mehr weit, aber ob der Aufpreis gerechtfertigt ist, muß jeder selber entscheiden.
Da ich bereits einen bis 1,3 GHz gut funktionierenden VNA (von DG8SAQ) habe und mich die technischen Daten der SA mit VNA nicht wirklich überzeugt haben, habe ich mich auch wegen des Aufpreises von etwa 600 Euro gegen den eigebauten VNA entschieden. Für etwa 660 Euro gibt es den LibreVNA, der immerhin bis 6 GHz nutzbar ist. Letztlich habe ich mich daher für den Siglent SSA3032X Plus ohne eingebauten VNA entschieden, der gerade so in das verfügbare Budget gepasst und meine Anforderungen erfüllt hat.
Daves Vorarbeit
EEVblog-Dave hat in einem seiner sehenswerten und unnachahmlichen Videos den Siglent SSA3021X mit dem Rigol DSA815 (Video #891) verglichen und in einem weiteren Video (#892) auch den SSA3021X aufgeschraubt. Der Siglent SSA3021X ist funktional weitgehend identisch mit dem SSA3032X Plus. Er ist allerdings auf 2.1 GHz limitiert, hat kein Webinterface und keinen Touchscreen.
Vergleichsmessungen des SSA3032X Plus gegenüber dem DSA815-TG
In diesem Beitrag werde ich einige Vergleichsmessungen der beiden genannten Geräte durchführen und die jeweiligen Meßergebnisse per Screenshot darstellen. Als Meßobjekte wurde der Amateurfunktransceiver IC-7300 und verschiedene Testschaltungen verwendet, die sich noch in der Bastelkiste fanden. Letztere erheben keinerlei Anspruch auf technische Meisterleistungen. Ganz im Gegenteil, es sind zum Teil gefräste Prototypen mit unterdurchschnittlicher Performance. Gerade deshalb eignen sie sich aber gut, um als Vergleichsobjekte zu dienen.
Damit dieser Artikel nicht überladen wird, verschiebe ich die ursprünglich geplanten Reflexions- und Transmissionsmessungen mit dem jeweils eingebauten Trackinggenerator auf einen zweiten Teil. Hier werden also nur Spektren gemessen.
Rauschpegel bei offenem Eingang
Genau wie Dave in seinem Video, schließe ich erst mal garnichts an. Hier ist also das dargestellte Rauschen bei offenem Eingang, jeweils für RBW=VBW=1MHz (gelb), 100 kHz (rot) und 10 kHz (blau).
Dave spricht beim Rigol von ‑65 dBm, ‑75 dBm und ‑85 dBm und beim Siglent von ‑85 dBm, ‑90 dBm und ‑100 dBm (@ RBW=1 MHz, 100 kHz und 10 kHz), zumindest am Anfang des jeweiligen Frequenzbereiches. Das kann ich für den Rigol bestätigen, aber nicht ganz für den Siglent. Da messe ich jeweils etwa 2 bis 5 dB schlechtere Werte. Wie auch Dave schon feststellt, ist der Frequenzgang beim Siglent glatter als beim Rigol.
Die nächsten beiden Screenshots zeigen dieselben Messungen mit eingeschaltetem Vorverstärker (preamplifier, PA).
Hier bestätigen sich die von Dave gemessenen Werte zumindest annähernd: ‑90 dBm, ‑100 dBm und ‑110 dBm beim Rigol und ‑102 dBm, ‑108 dBm und ‑120 dBm beim Siglent. Bei den ‑120 dBm muß ich aber schon beide Augen zudrücken.
Dennoch ist der Siglent sowohl mit als auch ohne PA 10 bis 15 dB besser. Und nicht vergessen, Dave hat den SSA3021X gemessen und nicht den SSA3032X-Plus.
Spektrum einer DDS mit AD9834
Ein kleiner Versuchsaufbau mit einer AD9834 DDS Schaltung (10-bit DAC) wird mit einem 75 MHz Quarzoszillator außerhalb seiner Spezifikation betrieben, die für die gewählte Variante AD9834BRU eigentlich nur 50 MHz zulässt. Die Ausgangsfrequenz ist auf 10,7 MHz eingestellt. Das Tiefpassfilter am Ausgang ist nicht optimiert, wie die Breitband Spektralanalyse zeigt. Beide Geräte können eine Tabelle der gemessenen Peaks anzeigen:
Man erkennt die DDS-Taktfrequenz von 75 MHz, die eingestellte Ausgangsfrequenz von 10,7 MHz, die jeweiligen Spiegelfrequenzen bei 75 MHz +/- 10,7 MHz.
Nachfolgend soll nur das Spektrum um 10,7 MHz mit verschiedenen Band- und Spannbreiten untersucht werden. Beginnen wir bei einer Spannbreite von 1 MHz und einer RBW=VBW von 30 Hz:
Beide Geräte sehen den Träger bei 10,7 MHz und etwa ‑9,5 dBm. Die geringen Abweichungen sind irrelevant und sie ändern sich bei jedem der Geräte mit jedem Durchgang. Beide Geräte sehen auch die Spuren bei +/- 400 kHz bei knapp ‑90 dBm.
Eine weitere Spur bei 10,6 MHz sieht aber nur der Rigol deutlich, beim Siglent verschwindet sie im Rauschen. Außerdem steigt das Rauschen beim Siglent stärker an, als beim Rigol, je näher man dem Träger kommt. Bei ‑80 dBm erreicht es ein Maximum und sinkt in unmittelbarer Nähe zum Träger wieder auf etwa ‑90 dBm ab. Dieses Verhalten wurde vom Hersteller Siglent auf Nachfrage bestätigt. Es ist auch nicht auf diese Einstellungen beschränkt, sondern es tritt technologiebedingt auch bei anderen Frequenzen auf. Das ist ein echter Wehrmutstropfen und ich war kurz davor, das Gerät zurückzugeben. Daß ich es nicht getan habe, liegt im wesentlichen daran, daß ich für ein ähnlich ausgestattetes Gerät von Rigol nochmal 1k€ hätte drauflegen müssen. Man wird also wohl oder übel in dieser Preisklasse doch ein paar Abstriche machen müssen.
Der Rigol zeigt das Verhalten, das man erwartet: das Phasenrauschen steigt mit der Nähe zum Träger.
Hier noch die Siglent-Messung mit einer Peak-Tabelle:
Es ist auch jeweils der Rauschpegel im 10 kHz Abstand dargestellt. Er ist in beiden Fällen konsistent zur Breitbandmessung, unterscheidet sich aber um mehr als 12 dB. Der Unterschied ist mit dem deutlich schlechteren Phasenrauschen des Rigol zu erklären. Er ist mit <-80 dBm/Hz im 10 kHz Abstand spezifiziert, was bei der eingestellten RBW von 100 Hz 20 dB mehr, also ‑60 dBm erwarten lässt. Anders ausgedrückt: ein guter Teil des beim Rigol gezeigten Rauschens kommt von seinem eingebauten Oszillator. Hier würde ich also dem Siglent mehr vertrauen, wenngleich der Abfall der Rauschens in Trägernähe auch in dieser Auflösung noch deutlich zu sehen ist.
Nachfolgend noch ohne Kommentare weitere Schmalbandmessungen mit Spannbreiten von 10 kHz:
Bei diesen sehr schmalbandigen Messungen kommt das geringe Phasenrauschen des Siglent voll zur Geltung. Statt ‑61 dBc beim Rigol sehen wir hier knapp ‑84 dBc im Abstand von 100 Hz zum Träger. Außerdem ist zu beachten, daß der Rigol bei diesen Einstellungen 100 Sekunden pro Sweep benötigt, der Siglent aufgrund der FFT aber nur 0,338 Sekunden. Da macht das Messen Spaß! Auch aus diesem Grund wollte ich das Gerät dann doch nicht wieder hergeben.
Darüberhinaus gestattet der Siglent Messungen mit RBW=VBW=1Hz und mit einer Spannbreite von 100 Hz erhält man dann folgendes hochaufgelöste Meßergebnis:
Nach dieser Messung ist das Phasenrauschen im Abstand von 10 Hz also ‑84 dBc.
Messungen des Sendesignals eines ICOM IC-7300 Transceivers
Um auch die Meßergebnisse eines hochwertigen Signals zu zeigen, habe ich das Ausgangssignal eines IC-7300 Transceivers von ICOM gemessen. Er wurde bei 10,125 MHz auf niedrigste Sendeleistung 1% eingestellt, was etwa 1 Watt, also 30 dBm entsprechen sollte. Der Spektrumanalysator wurde über einen 30 dB Abschwächer und einen weiteren 10 dB Abschwächer angeschlossen, so daß am Eingang etwa ‑10 dBm anliegen. Alle Messungen sind in der Betriebsart AM durchgeführt worden, wobei optional ein 2 kHz Sinussignal an den Audioeingang angelegt wurde. Es wird vom PC gespeist, dessen Audiopegel auf 15% oder 71% eingestellt wurde. Das sind willkürliche und relative Pegel, die keine Rückschlüsse auf den tatsächlichen absoluten Signalpegel zulassen.
Der unmodulierte Träger wird mit etwa ‑8 dBm angezeigt, was also +32 dBm Eingangspegel vor den Abschwächern entspricht. Das wären 1,6 Watt, was in der Betriebsart AM aber nur 50% der Ausgangsleistung sind. Tatsächlich entspricht damit die eingestellte Ausgangsleistung von 1% also tatsächlich 3 Watt. Das ist in Ordnung, gerade im unteren Bereich ist die Einstellung der Ausgangsleistung sicher nicht sehr genau.
Der Übersichtlichkeit halber sind die Meßergebnisse nachfolgend als Galerie eingefügt. Klicken auf eine Messung öffnet das jeweilige Bild in voller Auflösung in einem neuen Tab.
Der SSA3032X-Plus kann Spektren auch als Wasserfalldiagramm darstellen. Das ist besonders hilfreich bei Signalen mit kleinen Pegeln. Man erkennt optisch sehr schnell, wo noch „Schmutz“ im Spektrum ist.
Diese Messung zeigt das mit 2 kHz sehr schwach AM-modulierte Signal. Man erkennt deutlich die Seitenbänder im Abstand von 2 kHz, aber auch winzige Seitenbandsignale um den Träger herum. In der Darstellung des Spektrums würde man sie wahrscheinlich als unkorreliertes Phasenrauschen übersehen.
Abschließend noch das Breitbandspektrum zwischen 1 MHz und 40 MHz:
Beide Geräte erkennen neben dem Träger auch die zweite und dritte Oberwelle. Es gibt eine Diskrepanz über die jeweiligen Pegel, was mutmaßlich der relativ hohen Auflösungsbandbreite von 1 kHz geschuldet ist. Besonders beim Rigol führen geringe Auflösungsbandbreiten aber zu sehr langen Meßzeiten, was ich hier vermeiden wollte.
Außerdem fällt auf, daß der Rauschpegel unterhalb von etwa 18 MHz um 10 bis 15 dB erhöht ist. Das ist mutmaßlich auf ein Ausgangsfilter im IC-7300 zurückzuführen.
Zusammenfassung
Im Vergleich zur vorherigen Generation, zu der ich den Rigol DSA815-TG zähle, haben die Siglent SSA3000X Spektrumanalysatoren erhebliche Fortschritte gemacht. Die Bildschirmauflösung ist von 800×460 Pixeln und 8″ Display auf 1024×600 Pixel und ein 10.1″ Touch-Display gestiegen, die Meßgeschwindigkeit wurde durch die eingebaute FFT enorm erhöht und die Auflösungsbandbreite wurde auf 1 Hz reduziert. Gleichzeitig wurde das Phasenrauschen um mindestens 15 dB reduziert, beim Rigol waren es ‑80 dBc/Hz, beim Siglent ‑95 dBc/Hz, jeweils im 10 kHz Abstand.
Ein nicht leicht zu verdauender Wehrmutstropfen ist die oben gezeigte mindestens 10 dB Rauschüberhöhung im Abstand von +/- 50 kHz zum Träger. Das mag für die eine oder andere Anwendung ein K.O.-Kriterium sein. Ich denke aber, daß sich in der Preisklasse zur Zeit nichts besseres finden lässt. Wenn man das Verhalten kennt, wird man damit leben können, zumal der Effekt geringer wird, wenn der Träger aus dem Sichtfeld bewegt wird.
Trotz der oben beschriebenen Schwäche würde ich den SSA3032X Plus, bzw. einen seiner Geschwister, den SSA3015X Plus, SSA3021X Plus oder gar den SSA3075X Plus empfehlen.
Vorschau auf Teil 2
Im nächsten Teil werde ich einige Messungen mit den eingebauten Trackinggeneratoren zeigen. In der Bastelkiste finden sich ein paar gefräste Filterschaltungen, z.B. ein 1,4 GHz Streifenleitungsfilter und ein 800 MHz Bandpaßfilter. Beide Filter wurden mit dem Ansoft Designer SV2 entworfen und auf FR‑4 Basismaterial gefräst. Auch ein Filter mit eingebautem MMIC Verstärker sollte für Beispielmessungen verwendbar sein.
Mit einer ebenfalls auf FR‑4 gefrästen 23 cm Patch-Antenne und einem externen Richtkoppler werde ich Reflexionsmessungen durchführen.
Touchstone Dateien, üblicherweise mit der Endung .s1p oder .s2p sind lesbare Textdateien, die Netzwerk-Parameter enthalten. Diese Dateien sind zu einem Standard geworden. Sie können von vielen Programmen der HF-Meß- und Simulationstechnik gelesen und geschrieben werden. Mitunter ist es praktisch, sie auch mit einem Spreadsheetprogramm zu bearbeiten. Hier soll an einem einfachen Beispiel, den mit einem VNWA gemessenen s11 Parametern, die prinzipielle Vorgehensweise beschrieben werden.
Ein reales Beispiel
Hier ist das Ergebnis der s11-Messung einer kernlosen Zylinderspule. Die VNWA Betriebssoftware zeigt folgendes an:
s11-Messung an einer kernlosen Zylinderspule
Die Meßergebnisse können als Touchstone-Datei exportiert werden:
Hier wurde als Format Real und Imaginärteil gewählt. Andere Formate (Magnitude und Winkel bzw. dB und Phase) sind auch wählbar und können genauso gut weiterverarbeitet werden. Die ersten Zeilen sehen folgendermaßen aus:
! ListType=Lin
# MHz S RI R 50
5.0000000 0.0273505 0.9908113
5.0237559 0.0325082 0.9905086
Die erste Zeile startet mit einem „!“ und ist ein beliebiger Kommentar. Das „#“ in der zweiten Zeile kennzeichnet die Options-Zeile. In diesem Fall besagt sie, daß Frequenzen (erste Spalte) in MHz angegeben sind. Das „S“ bedeutet, daß s‑Parameter folgen und zwar im Format RI, also Realteil (zweite Spalte) und Imaginärteil (dritte Spalte). R kennzeichnet den Referenzwiderstand in Ohm, in diesem und den meisten anderen Fällen 50 Ohm. Dann folgen beliebig viele Zeilen mit s‑Parametern im beschriebenen Format. Andere Formate sollen hier nicht besprochen werden. Sie können der oben genannten Spezifikation entnommen werden.
Bevor man diese Datei nun mit einem Spreadsheet-Programm, wie z.B. LibreOffice, weiterverarbeiten kann, muß man sie in ein importfähiges Format umwandeln. Das geht am einfachsten, indem man sie mit einem beliebigen Text-Editor in ein CSV-Format umwandelt. CSV erwartet im einfachsten Fall eine Beschreibung der nachfolgenden Spalten in der ersten Zeile, gefolgt von den Daten. Spaltenelemente werden am besten durch „;“ getrennt, andere Trennzeichen sind aber auch möglich. Dann müssen noch auf den meisten europäischen PCs die Dezimaltrennzeichen von Punkt auf Komma geändert werden. Die importierbare CSV-Datei sieht dann so aus:
In LibreOffice importiert sieht das dann folgendermaßen aus:
s1p-File in LibreOffice importiert
Damit kann man arbeiten! Da LibreOffice mit einigen eingebauten Funktionen auch komplexe Zahlen bearbeiten kann, ist es hilfreich, die s11-Parameter zunächst in eine komplexe Zahl umzuwandeln. Das geht mit der Funktion Komplexe(real;imag;„j“) in Spalte D, wie hier für die erste Zeile gezeigt:
=KOMPLEXE(B2;C2;"j")
„real“ ist der Realteil und „imag“ der Imaginärteil der zu generierenden komplexen Zahl. Der dritte Parameter gibt an, wie die imaginäre Einheit genannt werden soll. In der Elektrotechnik wird normalerweise ein „j“ gewählt.
Da alle weiteren Berechnungen auf der komplexen Impedanz Z beruhen, sollte diese als nächstes berechnet werden. Das geht über folgende Formel:
1 + s11
Z = Z0 * ---------
1 - s11
In Libre Office wird die Formel dann folgendermaßen in Spalte E codiert:
=IMPRODUKT(50;IMDIV(IMSUMME(1;D2);IMSUB(1;D2)))
Die Bezeichnungen der Funktionen sind eigentlich selbsterklärend: IMSUMME() und IMSUB() berechnen die Summe bzw. die Differenz zweier komplexer Zahlen, IMDIV() den Quotienten und IMPRODUKT() das Produkt. Die Arbeit mit komplexen Zahlen wir damit zum Kinderspiel. Das Spreadsheet sieht nun folgendermaßen aus:
s1p-File mit s11 und Z als komplexen Zahlen
Aus der Impedanz und deren Komponenten X und R lassen sich nun wie in diesem Beitrag zusammengefasst weitere Parameter berechnen, z.B. die Induktivität L = X/ω und die Güte Q = X/R. Die dazu verwendeten LibreOffice-Funktionen sind:
Induktivität L [µH]: =IMAGINÄRTEIL(E2)/(2*PI()*A2)
Der Term „2∗PI()∗A2“ im Nenner entspricht dabei „2∗PI()∗f“, also ω. Da die Frequenz im MHz angegeben ist, wird die Induktivität ohne weitere Umrechnung in µH ausgegeben.
Güte Q: =ABS(IMAGINÄRTEIL(E2)/IMREALTEIL(E2))
Damit die Güte auch im kapazitiven Bereich positiv bleibt, wurde hier noch die ABS() Funktion verwendet.
Die Berechnung weiterer Parameter und die Weiterverarbeitung beispielsweise zum Glätten der Kurven und zur graphischen Darstellung sei dem geneigten Leser überlassen. Hier ist das Libre Office File zum Experimentieren:
Über das Wickeln von Spulen ist bereits viel nützliches geschrieben worden. Einige Links auf hilfreiche Artikel und Werkzeuge habe ich bereits bei der Beschreibung des Antennentuners angegeben. Diese Werkzeuge werden auch hier wieder verwendet.
Freitragende zylindrische Spulen werden oft als Luftspulen bezeichnet. Zu recht weißen manche darauf hin, daß das falsch sei, denn die Spule ist nicht aus Luft gewickelt, sondern aus einem Leiter, meistens aus Kupfer. Daher wird auch gerne der Begriff Luftkernspule als Gegensatz zur Ferritkernspule verwendet. Das halte ich, auch wenn es technisch und grammatikalisch korrekt ist, für unglücklich, dann die Luft im Kern der Spule hat keinen meßbaren Einfluß auf ihre elektrischen Eigenschaften. Ein Vakuum wäre im Rahmen unserer Amateurmeßmittel völlig identisch. Ich bevorzuge und verwende daher den Begriff kernlose Spule.
Meine Quelle für Kupferdraht
Die nachfolgend exemplarisch beschriebenen kernlosen Spulen sind aus blankem Kupferdraht gewickelt, der aus 3 x 1,5 mm² Mantelleitung gewonnen wurde (knapp 1,4 mm Durchmesser). Reststücke dieser Mantelleitung fallen bei der Hausinstallation an. Selbst wenn man solche Kabel nicht hat, ist es wohl preiswerter einen 25‑, 50- oder 100-m-Ring im Baumarkt zu kaufen, als Kupferlackdraht im Elektronikhandel. Oxidation der blanken Spule läßt sich z.B. mit Lötlack vorbeugen. Soll der Draht etwas dünner oder dicker sein, kann man auch Installationsleitungen mit 1 mm², 2,5 mm² oder noch größerem Querschnitt bekommen. Wem es auf das letzte Quäntchen Güte ankommt, der wird freilich zu versilbertem Kupferdraht (CuAg) greifen.
Zum Abmanteln der Kabel gibt es praktische preiswerte Werkzeuge im Baumarkt, soweit man sie nicht sowieso im Werkzeugkoffer hat. Als Beispiel dieses Exemplar, das knapp 40 Jahre alt ist und mutmaßlich dutzende Stunden im Einsatz war:
Abisolierer aus dem Baumarkt
Das Abmanteln einer einzelnen Ader auf mehrere Meter ist nicht ganz so trivial. Eine Abisolierzange ist nur für wenige Zentimeter geeignet. Ich habe mir daher ein kleines Werkzeug aus 8 mm dickem PVC gefräst. Es hat ein Loch mit 3 mm Durchmesser, durch den eine Ader mit Isolierung passt und in einer passend gefrästen Nut ist die Klinge eines Cutters mit Heißkleber eingeklebt. Diese Klinge ist so justiert, daß sie die Isolierung des Drahtes hinreichend weit einschneidet, so daß sie nach dem Durchziehen fast von selber abfällt. Hier zwei Fotos davon:
Abisolierer für einzelne Adern mit eingeklebter CutterklingeAbisolierer für einzelne Adern (mit isolierter Ader)
Ferritkern oder kernlose Spulen?
Es gibt doch so schöne und preiswerte Eisenpulver- und Ferritringkerne, die mit viel weniger Windungen und kleinerer Bauart dieselbe Induktivität erreichen, wie eine kernlose Zylinderspule. Da man mit einem kürzeren Draht auskommt, sollte auch die Güte besser sein. Warum soll man da eine kernlose Spule verwenden?
Alle Spulenkerne haben die prinzipiell nachteilige Eigenschaft, bei zu großer magnetischer Feldstärke in die Sättigung zu geraten. Bei kernlosen Spulen steigt die magnetische Flußdichte B proportional mit der magnetischen Feldstärke H, die wiederum von der Stromstärke in der Spule bestimmt wird. Bei Spulen mit Kernen ist das nicht mehr der Fall, in der Sättigung steigt die Flußdichte nur noch gering an (Weichmagnetische Werkstoffe). Die Induktivität der Spule wird daher bei hohen Leistungen nichtlinear. Die bei geringer Leistung mit einem VNWA gemessenen Daten sind also nicht ohne weiteres auf den Betrieb mit höherer Leistung übertragbar. Außerdem gibt es wegen der Hysteresekurve Ummagnetisierungsverluste, die die Güte der Kernspule negativ beeinflussen.
Daher müssen Kernspulen für die Betriebsleistung hinreichend dimensioniert sein. Aus eigener Erfahrung können Kerne schon bei 100 Watt Sendeleistung sehr heiß werden. Wenn sie dann die Curie-Temperatur überschreiten, verlieren sie völlig ihre magnetischen Eigenschaften. Zudem sind manche Kerne elektrisch leitend, was insbesondere bei hohen HF-Spannungen eine hinreichende Isolierung der Wicklung erfordert.
Aus diesen Gründen bevorzuge ich, wenn möglich, kernlose Spulen, zumindest wenn Leistung im Spiel ist oder eine möglichst hohe Güte benötigt wird.
Spulenmessung mit dem VNWA
Hat man nun nach einer der vorliegenden Anleitungen eine schöne Spule gewickelt, dann muß sie auch qualifiziert nachgemessen werden. Man will im wesentlichen wissen, ob sie die angestrebte Induktivität und Güte hat und natürlich auch, bei welcher Frequenz sie ihre Parallelresonanz aufweist. Nur unterhalb dieser Selbstresonanzfrequenz (SRF) ist sie als Induktivität zu gebrauchen.
Einlagige kernlose Zylinderspule
Zum Einstieg zeige ich mal den Bau und die Messung einer einlagigen kernlosen Zylinderspule aus 1,4 mm Kupferdraht mit 9 Windungen, 30,5 mm Durchmesser und 3 mm Windungsabstand, also 27 mm Gesamtlänge.
kernlose Zylinderspule mit 9 Windungen
Die Spule wurde zunächst auf einem Wickelkörper von etwa 28 mm Durchmesser, einem leeren Multivitamin-Brausetabletten-Röhrchen, gewickelt. Nach dem Wickeln dehnt sie sich wegen der verbleibenden Spannung auf gut 30 mm auf und kann dann leicht in einen vorbereiteten gefrästen Halter aus unbeschichtetem GFK-Material eingeschraubt werden. Er zwingt die Spule auf einen Durchmesser von 30,5 mm und einen Windungsabstand von 1,5 mm. Die zweite Reihe von Bohrungen ist zum Einschrauben einer äußeren, etwas größeren, Spule vorgesehen. Damit sind also zwei- oder mehrlagige kernlose Spulen möglich, die später noch untersucht werden.
Nach dem Spreadsheet von HB9DFZ sollte diese Spule eine Induktivität von 1,729 µH und bei 5 MHz eine Güte von 306,8 haben. Zu beachten ist, daß das Spreadsheet keine parasitären Kapazitäten, also auch keine Selbstresonanzfrequenz berücksichtigt. Daher wächst die errechnete Güte grenzenlos mit der Frequenz. Das Spreadsheet ist daher zur Abschätzung der Güte nur deutlich unterhalb der SRF zu gebrauchen.
Der Meßaufbau sieht folgendermaßen aus:
Der Testaufbau mit einem VNWA
Die Spule wird nur an den Meßausgang des VNWA angeschlossen, es werden also nur die s11-Parameter gemessen. Letztlich funktioniert die Messung genauso, wie die LTSpice-Simulation im vorherigen Beitrag: es wird eine definierte Meßspannung auf die Spule gegeben und der daraus resultierende Strom gemessen. Spannung und Strom werden jeweils in Betrag und Phase gemessen. Daraus werden dann wie bei LTSpice alle unten dargestellten Parameter errechnet.
Messung einer kernlosen Zylinderspule mit dem DG8SAQ VNWA
Zur Vergleichbarkeit mit den Simulationen sind auch hier wieder der Scheinwiderstand |Z|, die Induktivität L und die Güte QL dargestellt. Zur Verdeutlichung sind fünf Marker an unterschiedlichen Frequenzen eingefügt.
Bei niedrigen Frequenzen wird eine Induktivität von 1,75 µH gemessen, was erstaunlich genau der vorhergesagten Induktivität von 1,73 µH entspricht.
Die Selbstresonanzfrequenz der Spule liegt bei 98,4 MHz, am rechten Rand des Diagramms. Aus der SRF und der Induktivität von 1,75 µH kann man nach der Thomsonschen Schwingungsgleichung auf eine parasitäre Kapazität von etwa 1,5 pF schließen.
Die Güte bei 5 MHz liegt bei gemessenen 375, was den vorhergesagten 307 auch recht nahe kommt. Gütemessungen sind allerdings notorisch ungenau und werden weiter unten noch etwas detaillierter diskutiert.
Mitunter braucht man für die unteren Kurzwellenbänder Spulen höherer Induktivität. Ab dem oberen einstelligen µH-Bereich können solche Spulen mechanische Dimensionen annehmen, die in den üblichen Gehäusen kaum mehr handhabbar sind. Das ändert aber nichts an ihrer Machbarkeit. Als Beispiel soll jetzt eine Spule von etwa 12 µH untersucht werden.
Durch Ausprobieren praktikabler Werte erhält man mit dem Spreadsheet von HB9DFZ für eine Spule mit 80 mm Durchmesser und einer Länge von 33,6 mm bei 12 Windungen eine Induktivität von knapp 13 µH. Bei 10 MHz wird eine Güte von 930 prognostiziert.
Die Steigung von 2,8 mm wurde übrigens nach der Daumenregel ausgewählt, wonach der Windungsabstand für optimale Güte genauso groß sein soll, wie der Drahtdurchmesser, nämlich bei dem verwendeten Draht jeweils 1,4 mm.
Wegen des großen Durchmessers der Spule sind weitere Abstandshalter vorgesehen, die den korrekten Abstand der einzelnen Windungen sicherstellen.
Einlagige kernlose Zylinderspule, 12 Windungen, 80 mm Durchmesser
Die nachfolgende Grafik zeigt die Meßergebnisse:
Meßergebnisse der einlagigen kernlosen Zylinderspule
Man beachte, daß die vertikale Skalierung der Induktivität und der Güte gegenüber der vorigen Messung geändert wurde. Die Induktivität ist mit 14,2 µH etwas höher als berechnet. Bei der Güte sollte man sich nicht auf die Marker verlassen, die zufällig auf einem Ausreißer der Meßwerte stehen können. „Mit dem Auge gemittelt“ dürfte die 10 MHz-Güte bei etwa 400 liegen. Eine schmalbandigere Messung von 8 bis 12 MHz ergibt eine Güte von ungefähr 500, also etwa halb soviel, wie vorhergesagt. Die Selbstresonanzfrequenz liegt bei ungefähr 20 MHz.
Da eine Spule von 80 mm Durchmesser nur schlecht handhabbar ist, soll nun eine zweilagige kernlose Spule ähnlicher Induktivität untersucht werden.
Zweilagige kernlose Zylinderspule
Kernlose Zylinderspulen lassen sich mit einem gefrästen Wickelkörper auch leicht als zwei- oder mehrlagige Spulen fertigen. Das sollte die Induktivität bei niedrigem Bauvolumen deutlich erhöhen. Gleichzeitig wird man aber erwarten, daß die Selbstresonanzfrequenz sinkt, weil die parasitäre Kapazität größer wird, als bei einer einlagigen Spule.
Der nachfolgend untersuchte Prototyp der zweilagigen Zylinderspule besteht aus zwei zunächst unabhängigen Spulen. Sie sind einzeln gewickelt, wurden nacheinander in den Spulenträger eingedreht (am besten fängt man mit der inneren Spule an) und dann die Drähte am einen Ende aneinandergelötet, am anderen Ende wurde eine Meßbuchse angelötet.
Zu Beachten ist, daß der Wickelsinn beider Spulen gleich sein muß. Da die eine Spule nach oben und die andere nach unten steigt, muß die eine linksherum und die andere rechtsherum gewickelt werden. Zur Wahrung der Formstabilität und des Abstandes beider Spulen sind hier noch kleine Abstandshalter eingeklemmt. Beim Fräsen dieser Halter ist zu beachten, daß die Windungen der beiden Spulen nicht parallel verlaufen, sondern sich wegen der entgegengesetzten Wickelrichtung bei 90° und 270° schneiden. Die Einkerbungen auf beiden Seiten sollten sich also gegenüber liegen. Anders als hier gezeigt reichen zwei dieser Halter auch völlig aus.
Die innere Spule hat einen Durchmesser von 28 mm, die äußere von 36 mm. Sowohl auf der inneren wie auch auf der äußeren Spule sind 13,5 Windungen aufgebracht, was insgesamt 27 Windungen ergibt. Die Steigung beträgt jeweils 2,8 mm, was zu knapp 38 mm Spulenlänge führt (2,8 mm ∗ 13,5 Windungen).
Zur überschlägigen Bestimmung der Induktivität nehme ich einen mittleren Durchmesser von 32 mm und komme mit dem oben schon genannten Spreadsheet von HB9DFZ auf 12,88 µH und bei 10 MHz auf eine Güte von 213.
Meßergebnisse der zweilagigen Spule
Meßergebnisse der zweilagigen kernlosen Zylinderspule
Die gemessene Induktivität liegt bei etwa 11,4 µH, also etwas unterhalb, aber dennoch recht nahe bei den oben errechneten 12,88 µH. Die vorhergesagte Güte bei 10 MHz von 213 wird mit etwa 400 (wieder „mit dem Auge gemittelt“) deutlich überboten. Es fällt auf, daß die Güte auch bei Frequenzen über 10 MHz, anders als bei der einlagigen Spule, relativ hoch bleibt. Eine etwas breitbandigere Messung zeigt, daß die Selbstresonanzfrequenz bei etwa 19 MHz liegt.
Ein kurzer Vergleich mit der einlagigen Spule zeigt also, daß SRF und Güte nur wenig gesunken sind. Nicht vergessen darf man allerdings, daß die Induktivität der einlagigen Spule doch etwa 25% höher ist. Ein fairer Vergleich wirklich gleicher Induktivitäten, wird daher noch deutlicher zugunsten der einlagigen Spule ausfallen (aber „Welten“ liegen nicht dazwischen).
Vergleichsmessung einer Ringkernspule
Zum Vergleich mit den ein- und zweilagigen kernlosen Spulen soll eine Ringkernspule ähnlicher Induktivität untersucht werden. Weil vorhanden, fällt die Wahl auf einen FT114-61 Ringkern. Der mini-Ringkernrechner errechnet für 12 Windungen eine Induktivität von 11,4 µH.
Ringkernspule. 12 Windungen auf FT114-61
Meßergebnisse der Ringkernspule
Meßergebnisse der Ringkernspule
Die Induktivität liegt mit 10,9 µH auch hier leicht unter der prognostizierten von 11,4 µH. Die Selbstresonanzfrequenz ist hier nicht gezeigt, sie liegt bei knapp 30 MHz. Bei niedrigen Frequenzen von 1 und 2 MHz ist die Güte sehr hoch, sie sinkt aber schon bei 5 MHz unter die der kernlosen Spule und sie wird schon bei 10 und 14 MHz kaum mehr als ein fünftel der zweilagigen kernlosen Spule. Auch wenn man Gütemessungen immer etwas kritisch betrachten sollte, ist der Trend eindeutig.
Zusammenfassung der Meßergebnisse
Es wurden exemplarisch drei Spulen mit ungefähr gleicher Induktivität mit einem VNWA von DG8SAQ durchgemessen. Das nachfolgende Foto zeigt einen Größenvergleich der Spulen.
Größenvergleich der hier gemessenen Spulen
Die größte Spule is eine einlagige kernlose Spule mit 80 mm Durchmesser und 34 mm Höhe. Bei 10 MHz hat sie die beste Güte dieser Spulen und ihre Selbstresonanzfrequenz liegt bei 20 MHz. Die zweilagige kernlose Spule steht ihr in den elektrischen Eigenschaften kaum nach, hat aber weniger als den halben Durchmesser, belegt damit also weniger als ein viertel der Fläche und ist nur 4 mm höher.
Die Größe der Ringkernspule ist unschlagbar. Ihr Durchmesser ist dem der zweilagigen Zylinderspule ähnlich (33 mm vs. 36 mm), aber die Höhe beträgt mit 10 mm nur ein gutes viertel der Zylinderspule. Dafür ist die Zylinderspule wesentlich höher belastbar. Ihre Güte von etwa 400 bedeutet, daß sie ein vierhundertstel der beaufschlagten Leistung in Wärme umwandelt, also 1 Watt bei 400 Watt Leistung. Da sie „luftgekühlt“ ist, würde ich ihr ohne weiteres 2,5 W Verlust zumuten, sie also mit 1 kW betreiben. In der Ringkernspule wird bei einer Güte von 80 bereits bei 80 W Belastung ein Watt verbraten. Da sie wegen der kompakten Bauweise viel schlechter gekühlt wird, ist diese Belastung schon bedenklich.
Gütemessungen sind notorisch ungenau und rauschbehaftet. Das liegt daran, daß Gütemessungen an die Meßgrenzen stoßen. Der Blindwiderstand liegt in der Größenordnung hunderte Ohm bis wenige kΩ, während der Wirkwiderstand in der Größenordnung einiger 100 mΩ bis wenigen Ohm liegt. Außerdem kann die Spule Störungen aus der Umgebung einfangen. Die oben gezeigte Meßkurve verwendet schon einen Trick, um die Kurve zu glätten: die Kurve der Güte wird über die jeweils benachbarten 40 Meßpunkte geglättet (smoothing). Die ungeglättete Kurve sieht so aus:
Messung einer kernlosen Zylinderspule mit dem DG8SAQ VNWA, ohne Smoothing der Güte
Und das ist noch harmlos, denn man kann schon optisch nur mit dem Auge die Güte abschätzen. Das ist nicht immer so. Die beiden anderen Kurven in diesem Beispiel sind übrigens nicht geglättet.
Dieselbe Spule ist hier nochmal etwas schmalbandiger gemessen und neben der Güte wird auch noch ihr Blindwiderstand und ihr Wirkwiderstand dargestellt.
Güte, Wirk- und Blindwiderstand einer Spule
Güte und Wirkwiderstand sind über jeweils 40 Meßwerte geglättet, der Blindwiderstand ist nicht geglättet. Die Güte wird aus Q=X/R berechnet und man sieht and den Meßwerten deutlich, daß der Wirkwiderstand R für das Rauschen und die nicht-Monotonie der Güte verantwortlich ist. Die Güte folgt spiegelbildlich dem Wirkwiderstand, die Kurve des Blindwiderstands ist im Rahmen der Meßgenauigkeit rauschfrei und monoton.
Trotz Glättung verbleiben Unregelmäßigkeiten (nicht-Monotonien) in den Meßkurven, die nicht mehr auf Rauschen zurückzuführen sind. Man sieht hier z.B. eine Erhöhung des Wirkwiderstandes und entsprechende Verminderung der Güte zwischen etwa 15 und 30 MHz. Sie bleiben bei Wiederholungen der Messung im wesentlichen gleich. Die Ursache ist unbekannt und gelegentlich werde ich da nochmal weiter forschen.
Man kann die Meßkurve noch weiter glätten und auch eine Ausgleichskurve oder einen Spline dafür berechnen. Das sollte natürlich mit großer Vorsicht gemacht werden, weil es zwar die Kurven verschönert, aber die wahren Ursachen verdeckt.
Verbesserung von Gütemessungen
Zur Verbesserung der Gütemessungen schlägt Kurt, OZ7OU, zwei unterschiedliche Maßnahmen vor. Zum einen hilft es, die Spule von äußeren Störungen abzuschirmen und sie z.B. in einen leeren Farbeimer zu montieren. Zum anderen kann man die Güte auch bei Serienresonanz messen, wo die Impedanzen ein Minimum erreichen, bei dem sie mit guter Auflösung meßbar sind. Eine Serienresonanz erreicht man durch Einschleifen eines passenden Kondensators hoher Güte.
Die Güte Q eines Schwingkreises im Resonanzfall errechnet sich aus der Güte QC des Kondensators und der Güte QL der Spule nach folgender Formel:
Schwingkreisgüte:
QL * QC
Q = ────────
QL + QC
Wenn man einen Kondensator auswählt, dessen Güte weitaus höher als die der Spule ist, dann nähert sich die gemessene Güte Q der Güte der Spule QL an. Zumindest erhält man eine gute untere Abschätzung: auch bei einem Kondensator geringer Güte, ist die tatsächliche Güte der Spule also immer noch besser, als die damit gemessene Güte.
Der kleine Nachteil dieser Methode ist, daß man mit einem festen Kondensator immer nur die Güte bei einer einzigen Frequenz messen kann. Kurt schlägt daher vor, einen Drehkondensator zu verwenden, um die Güte leicht bei mehreren unterschiedlichen Frequenzen zu messen.
Da hier keine hohen Anforderungen an die Präzision der Gütemessung gestellt werden sollen, gebe ich mich für die hier gezeigten Spulen mit der gemessenen (und geglätteten) Güte des VNWA zufrieden. Sie liegen, wie eingangs gezeigt, nicht um Größenordnungen daneben und sollten zumindest für vergleichende Messungen hinreichend genau sein.
Weitere geplante Versuche: Sonderbauformen
Bei Gelegenheit werde ich noch einige leicht zu fertigende Sonderbauformen kernloser Spulen untersuchen.
n‑eckige kernlose Spulen
Spulen müssen nicht zylinderförmig sein, sondern sie können auch einen n‑eckigen Querschnitt haben. Mit n gegen unendlich wird daraus dann wieder eine Zylinderspule. Da die Induktivität bei sonst gleichen Eigenschaften linear mit dem Querschnitt A wächst, hat eine quadratisch gewickelte Spule gegenüber einer gleichgroßen Zylinderspule eine knapp 30% höhere Induktivität (Zylinderspule: AZ=π/4∗d²; Quadratspule: AQ=d²; AQ/AZ=4/π=1,27). Die Länge L des Wickeldrahtes steigt um denselben Prozentsatz (LZ=π∗d vs. LQ=4∗d; LQ/LZ=4/π=1,27), wodurch die Güte in erster Näherung für gleiche Induktivitäten gleichbleiben sollte. Kernlose Spulen mit quadratischem oder rechteckigem Querschnitt könnten eine kompaktere Bauweise der damit ausgestatteten Geräte ergeben, weil sie den bei einer Zylinderspule ungenutzten Raum mitbenutzen. Das kann aber auch zu einem Nullsummenspiel werden, wenn größere Abstände eingehalten werden müssen, um Kopplungen zu benachbarten Bauelementen zu verringern.
Versetzte Wicklungen n‑eckiger Spulen
Bei n‑eckigen Spulen kann man auf einem geeigneten Wickelkörper einzelne Windungen gegeneinander verdrehen. Das Prinzip wird bei Kreuzwickelspulen schon lange angewendet. Das sollte zu einer Verringerung der parasitären Kapazität und einer entsprechenden Erhöhung der Selbstresonanzfrequenz führen.
Konische Spulen
Seit einiger Zeit werden für den UHF-Frequenzbereich konische Spulen angeboten, die zwar zylindrisch sind, deren Durchmesser sich aber über die Länge ändert. Das soll die Güte der Spule erhöhen. Mal sehen, ob da was (meßbares) dran ist.
Eine Spule zu bauen ist einfach: ein paar Windungen Draht auf einen passenden Wickelkern aufwickeln, einlöten, fertig. Deutlich schwieriger wird es, wenn die Spule bestimmte mechanische und elektrische Eigenschaften haben soll: Abmessungen, Induktivität, Güte, Selbstresonanzfrequenz (SRF) oder minimale elektrische Belastbarkeit für Senderendstufen und zur Antennenanpassung. Diese Beitragsreihe zeigt Beispiele zur Simulation idealer und realer Spulen mit LTSpice, zum Wickeln solcher Spulen und zur Messung der Parameter mit dem VNWA von DG8SAQ.
Wir starten mit einer kurzen Wiederholung der Grundlagen und der Simulation. Den üblichen Konventionen folgend werden hier komplexe Zahlen mit einem Unterstrich und die imaginäre Einheit, wie in der Elektrotechnik üblich, mit j gekennzeichnet.
Eine Spule hat die Induktivität L, die von ihren mechanischen Abmessungen bestimmt wird. Wird sie von einem elektrischen Strom durchflossen, erzeugt sie ein Magnetfeld, das Energie speichert. Jede Spule hat einen komplexen Wechselstromwiderstand, die Impedanz Z:
Impedanz:
Z = R + jω ∗ L
(1)
Der Realteil der Impedanz ist der Wirkwiderstand R:
Wirkwiderstand:
R = Re(Z)
(2)
Der Imaginärteil der Impedanz ist der Blindwiderstand X:
Blindwiderstand:
X = Im(Z) = 2πf ∗ L = ω ∗ L
(3)
Der Scheinwiderstand Z (nicht komplex, daher ohne Unterstrich) ist die pythagoräische Summe von Wirk- und Blindwiderstand:
Scheinwiderstand:
Z = |Z| = Mag(Z)
(4)
Die Spulengüte Q ist das Verhältnis des Blindwiderstandes X zum Wirkwiderstand R einer Spule:
Spulengüte:
Q = X / R
(5)
Re(), Im() und Mag() sind Funktionen, die LTSpice für komplexe Zahlen unterstützt.
Der Wirkwiderstand einer idealen Spule ist R = 0 Ω und ihr Blindwiderstand X steigt nach (3) proportional mit der Frequenz f. Das schauen wir uns nun einmal in einer LTSpice-Simulation an.
Simulation einer (fast) idealen Spule
Da die Simulation einer idealen Spule L1 mit R = 0 Ω nach (5) zu einer unendlichen Güte führt, beginnen wir mit der Simulation einer fast idealen Spule. Sie soll eine Induktivität von 10 µH, einen reellen Widerstand von R1 = 1 mΩ und keine parasitäre Parallelkapazität haben (C1 = 0 pF):
Ersatzschaltbild der fast idealen Spule
Die untere Zeile bedeutet, daß eine lineare AC-Simulation von 1 Hz bis 5 MHz und 500 Punkten durchgeführt wird. Hier die grafischen Ergebnisse:
AC Simulation der fast idealen Spule
Die Simulation zeigt oben den Scheinwiderstand Z (siehe (4)), in der mittleren Grafik die Induktivität der Spule (nach Gleichung (3)) und unten ihre Güte (nach (5)). Alle drei Parameter werden aus der komplexen Impedanz Z errechnet, die der Quotient der angelegten komplexen Spannung und dem daraus resultierenden komplexen Strom ist. LTSpice errechnet die Impedanz über die Formel Z = V(V1)/-I(V1). Das negative Vorzeichen beim Strom ergibt sich aus der Stromrichtung.
Durch Vektoraddition des Real- und Imaginärteils dieser Impedanz ergibt sich ein Summenvektor, dessen Länge der Scheinwiderstand Z = |Z| ist. LTSpice errechnet die Länge eines Vektors mit der Funktion mag():
Z = |Z| = mag(V(v1)/-I(V1))
Die Formel für den Blindwiderstand der Spule (3) wird nach der Induktivität aufgelöst also gilt L = X / ω:
L = 10∗∗6∗im(V(v1)/-I(v1))/w
Netterweise kennt LTSpice auch die Kreisfrequenz ω (= 2πf), die mit dem lateinischen Buchstaben „w“ in die Formel eingegeben wird. Dieser Ausdruck wird noch mit 106 multipliziert, damit das Ergebnis in µH angezeigt wird. Die dargestellte Einheit für die y‑Achse möge man hier ignorieren, es sollte tatsächlich µH sein, der Zahlenwert ist korrekt. Die Induktivität ist über die Frequenz konstant, so wie man es von einer idealen Spule erwartet.
Im unteren Diagramm ist die Spulengüte Q dargestellt, die nach (5) errechnet wird:
im(V(v1)/-I(V1))/Re(V(v1)/-I(V1))
Da der Blindwiderstand bei der idealen Spule linear mit der Frequenz steigt und der Wirkwiderstand konstant bleibt, steigt die Güte der Spule linear mit der Frequenz. Hier sieht man, warum eine „fast“ ideale Spule mit einem sehr geringen Wirkwiderstand größer als null gewählt wurde: die Güte würde sonst unendlich hoch (LTSpice fängt den Fehler der Division durch null ab, stellt aber keine Kurve dar). Bei einer realen (nicht supraleitenden) Spule sind die hier errechneten Güten von einigen 100k natürlich nicht erreichbar. Reale Spulen haben Güten zwischen 100 und 1000, mit Abweichungen nach oben und unten. Die Güte wird hier noch mit der Funktion abs() auf positive Werte umgerechnet. Wie sich später zeigen wird, würde sie sonst jenseits der Selbstresonanzfrequenz negativ, weil die Spule dann zu einem Kondensator mutiert.
Simulation realer Spulen
Eine reale Spule ist leider niemals ideal. Neben ihrer Induktivität L hat sie eine signifikante parallele Kapazität C und einen Wirkwiderstand R größer null:
Einfaches Ersatzschaltbild einer realen Spule
Den Wirkwiderstand bildet im wesentlichen der frequenzabhängige Widerstand des Wickeldrahtes. Er steigt wegen des Skin-Effekts und des Proximity-Effekts mit der Frequenz. Die Parallelkapazität C kommt durch die Nähe der einzelnen Windungen und der Anschlußdrähte zustande. R und C sind also konstruktionsabhängig und können daher in weiten Bereichen variieren. Nur um ein Gefühl zu bekommen: bei den für Amateurfunkzwecke im Kurzwellenbereich benötigten Spulen von etwa 50 nH ~ 25 µH, die mit Kupferdraht von ein bis zwei Millimeter Durchmesser gewickelt werden, liegt R in der Größenordnung von wenigen Ohm und C in der Größenordnung von wenigen Pikofarad.
L und C bilden einen Parallelschwingkreis, der die Nutzbarkeit der Spule schon deutlich unterhalb seiner Selbstresonanzfrequenz einschränkt. Bei Frequenzen oberhalb der SRF ist die Spule als solche völlig unbrauchbar, denn sie ist keine Spule mehr, sondern sie wirkt wie ein Kondensator. Wegen der Parallelkapazität C steigt der Blindwiderstand der Spule schon unterhalb der SRF nicht mehr proportional mit der Frequenz an, so wie es bei der idealen Spule der Fall wäre. Der Kondensator bewirkt einen überproportionalen Anstieg des Blindwiderstandes, der dann bei der Selbstresonanzfrequenz unendlich groß wird.
R aus dem obigen Ersatzschaltbild bestimmt damit also umgekehrt proportional die Güte der Spule: je kleiner R ist, umso höher ist die Güte. Da XL mit der Frequenz steigt, steigt also auch die Spulengüte mit der Frequenz. Das schauen wir uns jetzt mal in der Simulation an.
Simulation einer fast realen Spule
Schauen wir zunächst einmal, was passiert, wenn der Wirkwiderstand auf etwas übertriebene 10 Ω erhöht wird und die Parallelkapazität weiterhin entfällt:
Ersatzschaltbild der fast realen SpuleAC Simulation der fast realen Spule
Der Scheinwiderstand kann nicht niedriger als der Wirkwiderstand sein. Er ist daher auch bei niedrigen Frequenzen nicht nahe null, sondern er startet bei den vorgegebenen 10 Ohm. Bei steigenden Frequenzen wird der Wirkwiderstand gegenüber dem Blindwiderstand immer weniger signifikant, so daß sich der Scheinwiderstand zu höheren Frequenzen hin nicht sichtbar von der vorigen fast idealen Simulation unterscheidet.
Die Induktivität bleibt auch hier konstant über der Frequenz. Auch die Güte bleibt linear frequenzabhängig, fällt aber signifikant ab. Das ist natürlich kein Wunder, denn der Wirkwiderstand steht im Nenner und geht umgekehrt proportional in die Güte ein.
Simulation einer realen Spule
Soweit war das zu erwarten. Jetzt schalten wir noch einen Kondensator von (relativ realen) 10 pF parallel und schauen uns das Ergebnis an:
Ersatzschaltbild der realen Spule
Zu Beachten ist, daß diesmal die Simulation bis 12 MHz und damit nahe an die SRF der Spule von knapp 16 MHz geht.
AC Simulation der realen Spule
Scheinwiderstand, errechnete Induktivität und Güte ändern sich nun signifikant und nicht mehr linear mit der Frequenz. Bei niedrigen Frequenzen bleibt die Induktivität bei 10 µH und steigt dann mit der Frequenz stark an. Bei 12 MHz hat sie schon eine errechnete Induktivität von 23 µH. Die Güte der realen Spule steigt zunächst mit der Frequenz an, erreicht (hier bei etwa 9 MHz) ein Maximum und fällt dann wieder ab.
Bei diesen Simulationsergebnissen stellt sich sofort die Frage, ob die Simulation korrekt ist. Es sei hier vorweggenommen, daß die Messungen an realen Spulen mit dem VNWA dieselben Ergebnisse liefern, die Induktivität der Spule steigt mit der Meßfrequenz an. Hat die Spule also bei 12 MHz tatsächlich mehr als die doppelte Induktivität als bei 6 MHz? Welcher Wert gilt denn nun?
Bauen wir einfach mal einen Parallelschwingkreis für 12 MHz. Aus der bekannten Thomsonschen Schwingungsgleichung berechnen wir die notwendige Parallelkapazität.
Resonanzfrequenz:
1
f0 = ───────────────
_____
2 ⋅ π ⋅ ╲╱L ⋅ C
(6)
Für L = 10 µH errechnet man für 12 MHz eine Parallelkapazität von 17,6 pF. Zu den bereits parasitär vorhandenen 10 pF müssen wir also 7,6 pF für die Resonanz hinzufügen. Rechnen wir mit der simulierten bzw. gemessenen Induktivität von 23 µH bei 12 MHz, die schon die 10 pF enthält, dann kommen wir ebenfalls auf 7,6 pF. Für einen Parallelschwingkreis sind also beide Induktivitäten korrekt und führen zum selben Ergebnis. Gleiches gilt für den Serienresonanzkreis.
Zusammengefasst: nimmt man zur Schwingkreisberechnung die bei niedriger Frequenz gemessene Induktivität, so muß man für den Kondensator immer noch die tatsächliche parasitäre Kapazität berücksichtigen, also von der errechneten Kapazität abziehen. Nimmt man die bei der Sollfrequenz gemessene Induktivität für die Berechnung, dann ist die parasitäre Kapazität bereits „eingepreist“ und man berechnet nur noch die zusätzlich benötigte Kapazität.
Die Güte steigt zunächst recht linear mit der Frequenz an, so wie bei der idealen Spule. Sie erreicht aber ein Maximum und wird bei der SRF zu null, weil dann der Wirkwiderstand sehr groß wird.
Simulation einer realen Spule bis oberhalb der Selbstresonanzfrequenz
Nachfolgend noch eine Simulation der realen Spule bis 20 MHz, also über die SRF hinaus.
Ersatzschaltbild der realen Spule bis über die Selbstresonanzfrequenz hinausAC Simulation der realen Spule bis über die Selbstresonanzfrequenz hinaus
Hier sieht man das Verhalten bei der Selbstresonanzfrequenz von knapp 16 MHz. Der Scheinwiderstand wird sehr hoch, so wie man das von einem Parallelschwingkreis erwartet. Bei der SRF werden Induktivität und Güte rechnerisch zu null, darüber haben wir es mit einem Kondensator zu tun. Die Impedanz wird negativ und die Güte wird von der deutlich höheren Güte des Kondensators bestimmt.
Diese Simulation erlaubt mit der nach C umgeformten Thomsonschen Schwingungsgleichung (6) die Berechnung der parasitären Kapazität: C = 1/(L∗ω2). Mit der bei niedrigen Frequenzen gemessenen Induktivität von 10 µH und der SRF bei 15,9 MHz ergibt sich dann die parasitäre Kapazität von 10 pF.
Soweit zur Spice-Simulation elektrischer Spulen. Im nächsten Teil dieser Serie sollen real gewickelte Spulen mit dem VNWA gemessen und bewertet werden.
Wie schon im vorigen Beitrag zu dem Frequenzzähler angedeutet, habe ich eine neue Version entwickelt, die einige Nachteile behebt. Nun ist ein USB-RS232-Konverter integriert, die CPU ist direkt auf die Leiterplatte gelötet und der Quarzoszillator ist thermisch eng mit dem Temperatursensor gekoppelt. Der Zähler wird jetzt, so wie man das von einem modernen PC-Peripheriegerät erwartet, direkt über das USB-Interface versorgt. Ein separates Netzteil ist nicht mehr nötig. Die Stromaufnahme liegt bei unter 100 mA. Die Funktionsweise ist weitgehend kompatibel zur alten Version, aber das CPLD-Pinout unterscheidet sich aus Gründen des einfacheren Routings. Mit einer Größe von 75 mm x 100 mm passt der Zähler nun in ein FISCHER Frame Gehäuse aus Aluminium.
Hier zunächst mal die 3D-Ansichten von KiCad und der Schaltplan:
Frequenzzähler V2.0, von obenFrequenzzähler V2.0, von unten
Seit der KiCad Version 6.0 sollten alle Daten in diesen Dateien enthalten sein, so daß sie sich direkt auf einem anderen PC öffnen und weiterbearbeiten lassen sollten.
Beschreibung
Auf der oberen linken Seite des Boards sieht man den USB-RS232-Konverter. Es handelt sich um ein kleines Board mit dem FT232R-Baustein von FTDI. Dieses Board ist für zwei bis drei Euro über die bekannten Online-Händler zu beziehen. Im Zehnerpack direkt aus China auch noch preiswerter.
Links unter dem FTDI-Board sieht man den Quarzoszillator und den Temperatursensor. Ein gefrästes PVC-Gehäuse sorgt für eine gewisse thermische Abschirmung, so daß die Temperatur des Quarzoszillators ziemlich genau gemessen werden kann. Dieses Gehäuse besteht aus zwei Teilen, die oben in der 3D-Ansicht semitransparent dargestellt sind. Durch einen kleinen Trick wird eine enge thermische Kopplung des Oszillators zu dem Temperatursensor sichergestellt. Der Temperatursensor im SOIC8-Gehäuse ist über einer rechteckigen Ausfräsung in der Leiterplatte montiert, in den der Quarzoszillator manuell von der anderen Seite montiert und über vier Drähte angeschlossen wird. Hier die 3D-Nahansicht von oben und unten ohne das PVC-Gehäuse:
TCXO von obenTCXO von unten
Der Frequenzzähler wird mit 3.3 V betrieben, weil das CPLD nicht mehr verträgt. Diese Versorgungsspannung wird mit einem kleinen Linearregler aus den 5 V vom USB Bus erzeugt. Der Microchip-Prozessor (ehemals Atmel) ATMEGA644 kommuniziert über seinen UART und das FTDI-Board mit dem PC und über Port-Pins per Bit-Banging mit der Logik im CPLD. Das CPLD-Interface ist selbstgestrickt und folgt keinem Standard, zum Host wird wieder das Modbus Protokoll verwendet. Die Logik im CPLD entspricht im wesentlichen dem der vorherigen Version, nur das Pinout ist geändert und hier sind keine LEDs und kein DIP-Schalter mehr angeschlossen. Die CPU hat keinen eigenen Quarz mehr, sondern sie wird mit dem auf 10 MHz heruntergeteilten Takt des 100 MHz Quarzoszillators betrieben.
Die Takteingänge clk1 und clk2 sind wie in der vorigen Version mit 50 Ω Widerständen terminiert und über einen einstufigen AC-gekoppelten Transistorverstärker in Emitterschaltung an das CPLD angeschlossen. Um auch niedrige Frequenzen bis hin zu DC zu unterstützen, wurde der clk3-Eingang vorgesehen. Er ist über einen 100 Ω Widerstand direkt an das CPLD angeschlossen, das zum Schutz noch zwei Schottky-Dioden gegen GND und VCC geschaltet hat. Die etwas seltsam anmutende Ausführung mit Doppeldioden ist der zum Designzeitpunkt einzig in der Bastelkiste verfügbaren Variante BAS70-05W geschuldet. Inzwischen ist auch die BAV99W-Variante in hinreichenden Stückzahlen eingelagert, die dann bei einem eventuellen Redesign eingesetzt würde.
Oberer und unterer Rand der Platine sind beidseitig vom Lötstopplack befreit. Die Kupferflächen sind jeweils an GND angeschlossen und stellen so einen Kontakt zum Gehäuse her. Das ist bei einem Aluminiumgehäuse naturgemäß unzuverlässig, daher sind die zwei Flachstecker TP4 und TP5 vorgesehen, über die zusätzlich ein Massekabel mit dem Gehäuse verbunden werden kann.
Hier noch ein paar Fotos des fertigen Gerätes:
TCXO von oben mit abgenommener Haube. Blick auf den Temperatursensor.TCXO von unten mit abgenommener Haube. Blick auf den Quarzoszillator.TCXO von oben mit Haube. TCXO von unten mit Haube. Gehäuseeinbau des FrequenzzählersGehäuseeinbau des FrequenzzählersGehäuseeinbau des FrequenzzählersGehäuseeinbau des FrequenzzählersRückseite des FrequenzzählersVorderseite des Frequenzzählers
Die SMA-Buchsen an der Vorder- und Rückseite werden über kurze RG174-Koax-Kabel an die Leiterplatte angeschlossen. Weil die Buchse des USB-RS232-Konverters etwa 1 mm von der Rückwand entfernt ist, die außerdem 2 mm dick ist, reichte ein kleiner Durchbruch leider nicht aus. Daher musste er leider so groß gefräst werden, daß der gesamte Stecker hineinpasst. Neben dem clk3-Eingang und der USB-Buchse ist auf der Rückseite auch noch eine Flügelschraube zur Erdung des Gerätes angebracht. Das wird normalerweise nicht nötig sein, könnte aber bei größeren HF-Leistungen in der Umgebung hilfreich sein.
Nachdem ich die letzten Wochen damit verdaddelt habe, meinen neuen Notebook soweit herzurichten, daß er wieder mit allen benötigten Programmen rund läuft, komme ich nun endlich dazu, das PC-Interface zum Frequenzzähler zu beschreiben.
Wie bereits im ersten Teil beschrieben, benutzt der Frequenzzähler wieder ein RS485-Interface zur Kommunikation mit dem PC. Das ist ein sehr störsicheres Interface, wenn man längere Strecken bis über 1 km zuverlässig überwinden muß. Daher habe ich es für die Kommunikation mit dem Antennenumschalter und dem Antennentuner verwendet, die immerhin 20 m vom Shack entfernt und höheren HF-Leistungen ausgesetzt sind. Das ist mit USB nicht mehr ohne weiteres zu machen. In diesem Fall ist RS485 aber eher suboptimal, weil der Zähler sowieso nahe am PC betrieben wird und weil immer einen USB-RS485-Umsetzer benötigt wird. Daher plane ich jetzt schon ein Redesign, das dann direkt einen FTDI USB-RS232-Umwandler beinhalten wird. Die entsprechenden Module sind ja für ein bis zwei Euro zu kaufen und auch in dem USB-RS485-Umsetzer verbaut. An der Software wird sich daher nichts ändern.
Die PC-Bedieneroberfläche
Die Bedienersoftware ist wie auch die für den Antennenumschalter und Tuner wieder für einen Windows-PC geschrieben. Der Frequenzzähler meldet sich über den USB-RS485-Umsetzer als COM-Schnittstelle an. Als Interface-Protokoll ist auch hier wieder der ModBus implementiert.
Der nachfolgende Screenshot zeigt die Benutzeroberfläche des Frequenzzählers:
Benutzeroberfläche des Frequenzzählers
Das Hauptfenster oben zeigt die gemessene Frequenz in Hz, die anderen Fenster und Steuerelemente dienen der Konfiguration, die nachfolgend kurz beschrieben werden soll. Es wird übrigens die europäische Zahlennotation angewendet, nach der ein Komma als Dezimaltrennzeichen und ein Punkt als Tausendertrennzeichen verwendet wird.
Fref
Fref ist die tatsächliche Referenzfrequenz in Hertz. Sie kann manuell in diesem Fenster eingegeben werden. Wenn der TCXO verwendet wird, wird die Referenzfrequenz aus der aktuell gemessenen Temperatur und einer hinterlegten Temperaturkurve errechnet.
Fref Precision
Hier wird die Genauigkeit der Referenzfrequenz in ppb (parts per billion = 10-9) angegeben. Daraus wird nach der Messung die Präzision des Meßergebnisses berechnet. Die Genauigkeit der üblichen Quarze und Quarzoszillatoren liegt in der Größenordnung von 10.000 ppb (= 10 ppm) und die Genauigkeit eines GPSDO ist besser als 1 ppb.
Timer Reload und Gate Time
Hier wird Anzahl der Takte zur Bestimmung der Torzeit oder direkt die Torzeit in Millisekunden eingetragen. Bei Änderung eines dieser Felder wird automatisch der andere Wert aus Fref und der Betriebsart (normal oder revers) errechnet.
Counter Temperature
Hier wird die momentane Temperatur des Frequenzzählers angezeigt. Der verwendete Sensor hat ein Genauigkeit von 0.5 K und eine Auflösung von 1⁄16 K. Er ist aber im jetzigen Modul so weit vom eingebauten Quarzoszillator entfernt, daß die Messung der Oszillatortemperatur ziemlich ungenau ist.
Resolution und Precision
In diesen Feldern wird nach der Messung die momentane Frequenzauflösung und die maximale Meßabweichung von der tatsächlichen Frequenz, also die Genauigkeit der Meßergebnisses, angezeigt. Die Frequenzauflösung hängt von den Einstellungen (z.B. der Torzeit) ab, während in die Präzision auch noch die Genauigkeit der Referenzfrequenz eingeht. Die Präzision ist eine Kombination aus dem in „Fref Precision“ eigegebenen Wert und der Frequenzauflösung. Daher ist die Präzision immer schlechter als jeder einzelne dieser Werte.
fref und fcheck Radiobuttons
Mit den fref- und fcheck-Auswahlknöpfen wird die Referenzfrequenz und die zu messende Frequenz ausgewählt. clk0 ist der Oszillator des CPU-Moduls, clk1 und clk2 sind die SMA-Buchsen mit nachfolgendem Vorverstärker und clk3 ist die Frequenz des eingebauten 100 MHz Quarzoszillators. Ein externer Referenzoszillator, z.B. ein GPSDO, wird an clk1 oder clk2 angeschlossen, an den verbleibenden Eingang kommt die zu messende Frequenz.
Prescaler
Mit dem Prescaler wird der Eingangsteiler ausgewählt, der den mit fcheck ausgewählten Takt durch 1, 2, 4 oder 8 teilt. Damit muß sichergestellt werden, daß fcheck kleiner als fref/2 ist.
TCXO
Wird hier ein Haken gesetzt, dann verwendet der Frequenzzähler den Oszillator des CPU-Moduls an clk0 oder den eingebauten Quarzoszillator an clk3 als Referenz und errechnet seine Frequenz anhand der momentanen Temperatur. Dessen Frequenzgang über der Temperatur muß vorher ausgemessen worden sein, wie in dem Beitrag zur Meßdatenanalyse mit LibreOffice beschrieben wurde.
Revers
Wird hier ein Haken gesetzt, arbeitet der Frequenzzähler im Reversbetrieb. Statt fref bestimmt dann fcheck die Torzeit und der Zähler zählt die Anzahl der fref-Takte während dieser Zeit.
Continuous
Ein Haken in diesem Feld führt dazu, daß der Zähler kontinuierlich zählt, statt nach einer Messung aufzuhören.
Open Log
Mit dieser Schaltfläche kann eine Logdatei geöffnet werden, in der im CSV-Format die Meßwerte abgelegt werden. Falls die Datei noch nicht existiert, wird sie neu angelegt, ansonsten fortgeschrieben.
Trigger Measurement
Mit dieser Schaltfläche wird die Messung gestartet und im Falle der kontinuierlichen Messung auch wieder gestoppt.
Remote Device
Hier wird ein optionales, am RS485-Bus angeschlossenes Device adressiert, dessen Betriebstemperatur hier angezeigt und gelogged wird. Zu Testzwecken kann hier auch die Device-ID des Frequenzzählers angegeben werden. Damit wird auch in diesem Feld nochmal dieselbe Temperatur angezeigt, wie unter Counter Temperature.
Beispielmessung
In der ersten Messung wird die Frequenz des eingebauten 100 MHz Quarzoszillators mit einem GPSDO als Referenz gemessen.
Frequenz des eingebauten Quarzoszillators mit GPSDO gemessen.
Der Quarzoszillator ist an clk3 angeschlossen, der GPSDO an clk1. Es wurde eine Torzeit von 1 Sekunde gewählt und der Vorteiler teilt durch 4, damit die zu messende Frequenz niedriger als die halbe Referenzfrequenz ist. Daraus ergibt sich eine Auflösung von 4.0 Hertz. Für höhere Auflösungen muß die Torzeit verlängert werden. Wegen der hohen Genauigkeit des GPSDO von besser als 1 ppm, wird die Präzision des Meßergebnisses von der Auflösung dominiert.
Die nächste Messung mißt die Frequenz des Oszillators auf dem CPU-Board (clk0), die nominal 8 MHz beträgt.
Frequenz des CPU Taktes mit GPSDO gemessen.
Da die Referenzfrequenz weitaus höher ist, als die zu messende Frequenz, kann der Vorteiler auf 1 bleiben. Auch hier ist die Auflösung wieder ein Hertz, weil die Torzeit auf eine Sekunde eingestellt wurde.
Stellt man eine Torzeit von 40 Sekunden ein, dann verbessert sich die Auflösung auf 25 mHz und die Genauigkeit auf 33 mHz, wie der nachfolgende Screenshot zeigt:
Frequenz des CPU Taktes mit GPSDO gemessen. Torzeit 40 Sekunden.
Leider muß man dabei auch 40 Sekunden auf das Ergebnis warten. Man ignoriere hier den Timer Reload Wert. Der wird leider als vorzeichenbehaftete 32-bit Zahl dargestellt.
Damit man bei niedrigen zu messenden Frequenzen auch bei kurzer Meßdauer auf ein gut aufgelöstes Ergebnis kommt, benutzt man den Reversbetrieb. Dabei wird die Dauer der Referenzperiode mit dem hohen Referenztakt ausgemessen. Bei 100 MHz Referenzfrequenz erreicht man also eine Auflösung von 10 ns.
Das hier gezeigte Meßergebnis wurde im Reversbetrieb bei einer Sekunde Meßdauer erzielt. Es erreicht eine Genauigkeit von 88 mHz.
Frequenz des CPU Taktes mit GPSDO gemessen. Reversbetrieb, Torzeit 1 Sekunde.
Durch Verlängern der Meßdauer läßt sich auch im Reversbetrieb die Genauigkeit weiter steigern. Bei 10 Sekunden Meßdauer erreicht man eine Genauigkeit von 16 mHz.
Frequenz des CPU Taktes mit GPSDO gemessen. Reversbetrieb, Torzeit 10 Sekunden.
Verwendet man statt dem hochpräzisen GPSDO den auf dem Frequenzzähler verbauten 100 MHz Oszillator als Referenz, dann ist die Genauigkeit sehr viel geringer.
Frequenz des GPSDO mit eingebautem XO gemessen.
Hier ist der GPSDO auf den Meßeingang geschaltet, der für Amateurzwecke exakt 100 MHz Ausgangsfrequenz hat. Die Messung weicht also um 676 Hz von der tatsächlichen Frequenz ab und liegt damit innerhalb der durch die 10 ppm angegebenen Fehlergrenzen, die eine Abweichung bis 1004 Hz erlauben würden.
Wie oben schon beschrieben, kann der eingebaute Oszillator per Software temperaturkompensiert werden, indem man einen Haken bei TCXO setzt. Dadurch sinkt die Meßabweichung auf etwa 1 Hz, wie der nachfolgende Screenshot zeigt.
Frequenz des GPSDO mit eingebautem TCXO gemessen.
Für schnelle Messungen kann man so also auf den GPSDO verzichten und dennoch sehr genau messen.
Anhang
Nachfolgend werden die mathematischen Formeln zum Berechnen der gemessenen Frequenz und der jeweiligen Auflösung dokumentiert. Hier nochmal als Referenz das Blockdiagramm des Frequenzzählers:
Blockdiagramm des Frequenzzählers
In den unten dokumentierten Formeln werden folgende Bezeichner verwendet:
cntr: Counter-Register, 32 bit
prsc: selprsc[1:0], 2 bit
fref: f_ref, Referenzfrequenz
rld: Timer reload value, 32 bit
gt: gate time (Torzeit) [s]
Δ(f): Frequenzauflösung [Hz]
Hier kommt nun der erste Teil der Beschreibung des Frequenzzählers. Hier soll die Hardware besprochen werden, inklusive der Logik im verwendeten CPLD und der Software des Controllers.
Eine kurze Erwähnung fand der Zähler schon vor ein paar Wochen in der Übersicht der aktuellen Projekte. Dort findet sich auch der Schaltplan und die 3D-Ansicht, beides hier nochmal zum direkten Zugriff:
Der Frequenzzähler basiert wieder auf dem ATMEGA644-CPU-Board mit RS485-Schnittstelle, das sich inzwischen in unterschiedlichen Projekten bewährt hat. Dieses CPU-Board kommuniziert über eine synchrone serielle Schnittstelle mit dem in einem EPM240T100 implementierten Frequenzzähler. Die benötigte Geschwindigkeit ist unkritisch und daher wird diese Kommunikation auf dem CPU-Board über I/O‑Pins implementiert („bit-banging“). Da der EPM240 mit 3,3 V betrieben werden muß und keine 5‑V-toleranten I/O‑Pins hat, wird auch das CPU-Board mit 3,3 V betrieben. Das schränkt die Betriebsfrequenz auf maximal 10 MHz ein. Wegen der geringen Anforderungen an die Geschwindigkeit, wurde ein 8 MHz Quarz eingebaut.
Der Schaltplan zeigt unten die Spannungsversorgung und die Kontroll-LEDs, darüber zwei gleichartige Breitband-Verstärker in klassischer Emitter-Schaltung für den Eingangstakt. Sie sind eingangsseitig mit 50 Ω abgeschlossen und heben den Pegel von etwa 6 dBm (8 mA Treiberstärke) auf den für die CPLD-Takteingänge benötigten Hub von 3.3 V an. Wegen der Schmitt-Trigger-Eingänge darf es auch etwas weniger sein. Acht LEDs und vier DIP-Schalter können optional zur Statusanzeige und zur Konfiguration verwendet werden. Außerdem ist ein 100 MHz Quarzoszillator eingebaut sowie jeweils eine JTAG-Programmierschnittstelle für das CPU-Board und das CPLD.
Funktionsweise
Zur digitalen Bestimmung einer Frequenz gibt es prinzipiell zwei Methoden: man zählt die Anzahl der Takte während eines möglichst genau bekannten Intervalls oder man misst die Zeitdauer zwischen zwei oder mehreren Takten. Die erste Methode wird nachfolgend als Normalbetrieb bezeichnet, die zweite Methode als Reversbetrieb. Beide Verfahren benötigen eine möglichst präzise Referenzfrequenz.
Prinzipiell sind beide Betriebsarten gleichwertig, sie unterscheiden sich aber in der Dauer der Messung. Die Auflösung im Normalbetrieb ist umgekehrt proportional zum Messintervall. Um eine Auflösung von 1 Hz zu erreichen, muß man eine Sekunde lang messen, bei 0,1 Hz Auflösung schon zehn Sekunden. Den 32 kHz Takt einer Uhr kann man auf diese Weise in einer Sekunde also nur auf etwa 30 ppm genau messen (2-15).
Im Reversbetrieb teilt man den Takt der Uhr beispielsweise durch 215 und bekommt so auch ein Intervall von einer Sekunde. Zählt man in der Zeit die Takte einer 100 MHz Referenz, dann erreicht man auf eine Auflösung von 10 ns, was 0,01 ppm = 10 ppb entspricht.
Kurz zusammengefasst: damit das Messintervall kurz gehalten werden kann, wählt man den Normalbetrieb am besten bei hohen Frequenzen im Vergleich zur Referenzfrequenz, den Reversbetrieb bei niedrigen Frequenzen.
Das CPLD
Ein CPLD ist für diese Art von Aufgaben prädestiniert. Es besteht aus einer Anzahl Logik-Elemente, in diesem Fall 240 Blöcke, die weitgehend frei verschaltet werden können und über schnelle Verbindungen zu den Pins verfügen. Anders als die meisten FPGAs, haben CPLDs nichtflüchtige Speicher und müssen daher nicht bei jeden Systemstart neu konfiguriert werden. Man benötigt allerdings ein preiswertes Werkzeug, in diesem (Intel/Altera-) Fall den sogenannten USB-Blaster, um das CPLD in der Schaltung zu programmieren. Das kann man auch mehrfach machen, aber die Anzahl der Programmierzyklen ist auf etwa 100 beschränkt, während der Flash-Speicher einer CPU normalerweise auch 10.000 bis 100.000-mal programmiert werden kann.
Die Logik wird in einer Programmiersprache ähnlich einer Software-Programmiersprache eingegeben. Zwei Sprachen haben sich etabliert, VHDL und Verilog. Verilog hat Elemente der Programmiersprache „C“ und ist für jemanden, der diese Sprache kennt, relativ leicht zu erlernen. Der Unterschied ist freilich, daß Software im wesentlichen sequenziell abgearbeitet wird, während in Hardware vieles gleichzeitig passiert. Wie auch bei der Softwareprogrammierung benötigt man Werkzeuge, die den erstellten Quellcode in ein Binärformat umwandeln, das man in das CPLD laden kann. Diese Werkzeuge stellt der Hersteller der Logikbausteine, gegebenenfalls in einer abgespeckten Version, kostenlos zur Verfügung. Im Falle Intels ist das die „Quartus“-Entwicklungsumgebung, die sogar eine angepasste Version des Mentor ModelSim Simulators enthält, der in der Vollversion auch in der professionellen Chip-Entwicklung verwendet wird.
Blockdiagramm des Frequenzzählers
Genau wie beim Entwurf einer diskret aufgebauten Schaltung, sollte man sich auch bei einem CPLD (oder FPGA) ein Blockdiagramm erstellen, das die Funktionsblöcke darstellt. Die können dann bei Bedarf hierarchisch weiter verfeinert werden, was aber bei dem relativ einfachen Zähler hier nicht notwendig ist.
Blockdiagramm des Frequenzzählers
Dieses Diagramm zeigt nur die Logik des Zählers, nicht das CPU-Interface. Zunächst gibt es die vier Takteingänge clk0 .. clk3, die über den Eingangsmultiplexer verteilt werden. clk1 und clk2 sind über die oben beschriebenen Vorverstärker mit den beiden SMA-Buchsen verbunden und für den Referenztakt und die zu messende Frequenz vorgesehen. clk0 ist fest mit dem CPU-Takt verbunden und clk3 wird von dem 100 MHz Quarzoszillator betrieben.
f_check ist die zu messende Frequenz, die über einen optionalen Vorteiler auf die Referenzfrequenz f_ref synchronisiert wird. Daher muß die Referenzfrequenz mindestens doppelt so hoch sein, wie die ggf. heruntergeteilte zu messende Frequenz. Der Eingangsmultiplexer bestimmt, welcher der vier Takteingänge auf f_check und f_ref geschaltet wird. Es gibt hier keine Einschränkungen, zu Testzwecken kann auch derselbe Takt auf beide Signale geschaltet werden.
Die Referenzfrequenz wird üblicherweise in der Größenordnung von 50 bis 100 MHz liegen und wenn die zu messende Frequenz mehr als halb so hoch ist, muß sie mit dem Prescaler heruntergeteilt werden.
Der eigentliche Zähler besteht aus einem 32-bit breiten Register, dessen Inhalt von der CPU eingelesen werden kann, sinnvollerweise nachdem die Messung beendet ist und der Wert sich nicht mehr ändert. Der ebenfalls 32-bit breite programmierbare Teiler wird beim Start des Meßzyklus mit dem Wert des Timer-Reload-Registers geladen und anschließend heruntergezählt. Er bestimmt damit die Torzeit, also wie lange der Zähler zählen soll. Der Meßzyklus wird beendet, sobald dieser Timer null erreicht. Ein kompletter Meßzyklus besteht aus der Konfiguration des Frequenzzählers (Wahl der Takteingänge, der Betriebsart und Einstellung des Vorteilers), Setzen des Reload-Registers und Triggern der Messung, womit gleichzeitig der Zähler auf null gesetzt wird. Ein Statusflag zeigt an, wenn der Meßzyklus beendet ist und das Ergebnis ausgelesen werden kann.
Timer, Zähler und Steuerlogik liegen in der Clock-Domäne des ausgewählten Referenzsignals, während die von der CPU geschriebenen Konfigurations- und Status-Register in der Clock-Domäne des CPU-Boards liegen (clk0). Die Simulation ergibt eine maximale Eingangsfrequenz von 120 MHz für die Takteingänge des Frequenzzählers und über 50 MHz für das CPU-Interface. Bei Betrieb mit 100 MHz ist man also auf der sicheren Seite und die 32-bit Zähler können dann über 80 Sekunden zählen, ohne überzulaufen.
Im Normalbetrieb wird die Torzeit von der Referenzfrequenz bestimmt und die Anzahl der steigenden Flanken von f_check wird in diesem Intervall gezählt. Im Reversbetrieb bestimmt f_check die Torzeit währenddessen die Anzahl von f_ref Flanken gezählt wird.
Verilog Code
Hier ist nun der Verilog-Code des Frequenzzählers und die notwendigen Projektdateien für die Quartus-Entwicklungsumgebung. Gegebenenfalls müssen Dateipfade angepasst werden.
Das eigentliche Design steckt in der Datei Datei FreqCntr.v, die hinreichend gut kommentiert sein sollte. Zu beachten ist, daß die ursprünglich geplante Parametrisierung über die Parameter COUNTERW, TIMERW und IOREGW nicht konsequent verfolgt wurde. Sie sollten auf ihren Default-Werten bleiben.
FreqCntr_EPM240.v instanziiert den Frequenzzähler für das EPM240 CPLD auf dem Frequenzzähler-Board. Die beiden weiteren Verilog Dateien FreqCntr_tb_Counter.v und FreqCntr_tb_Serial_IO.v enthalten die ModelSim-Testbenches für den Zähler und die serielle CPU-Schnittstelle. Die zugehörigen Skripte tb_Counter.do und tb_Serial_IO.do werden in ModelSim ausgeführt und starten den jeweiligen Test.
Nachtrag: Quartus Prime V21.1
Nachdem ich mir vor ein paar Wochen einen neuen Notebook geleistet habe (der alte war tatsächlich mittlerweile neun Jahre alt), habe ich die jeweils neuesten Versionen der Entwicklungsumgebungen installiert, für CPLDs und FPGAs von Intel (früher Altera) also Quartus V21.1. Dieses Paket beinhaltet nicht mehr Modelsim, sondern dessen Nachfolger Questa (beide von Mentor). Die Bedieneroberfläche ist praktisch gleich geblieben, aber es ist nun eine 64-bit Version und die Simulationsgeschwindigkeit ist beeindruckend (was teilweise auch am neuen Notebook liegen könnte). Leider benötigt diese Version eine zeitlich auf ein Jahr befristete Lizenz, die aber kostenlos ist und danach auch verlängert werden kann.
Folgendes ist zu beachten: die alten mit Modelsim erstellten Projekte sollten durch neue mit Questa erstellte Projekte ersetzt werden. Die alten Projektdateien enthalten Abhängigkeiten, die mit Questa nicht mehr funktionieren. Außerdem muß das „vsim“-Kommando einen Parameter für den Optimizer enthalten (voptargs=“+acc=prn“), damit die Namen der Ports (p), Register (r) und Netze (n) als Debuginformationen erhalten bleiben. Das vollständige vsim-Kommando lautet also beispielsweise folgendermaßen:
vsim <testbench> -voptargs="+acc=prn" -t 1ns
Das sollte dann in den Testbenches tb_*.do entsprechend geändert werden.
ATMEGA644-Code
Die Software, die auf dem ATMEGA644 ausgeführt wird, kann hier als Referenz heruntergeladen werden.
Ich verwende Atmel Studio 7.0 als Entwicklungsumgebung, habe aber keine Projektdateien dazugefügt. Vermutlich hat sowieso jeder seine eigene Philosophie bezüglich der Pfade. Das 7z-Archiv enthält auch eine PDF-Datei mit weiteren Beschreibungen.
Im kommenden zweiten Teil soll die PC-Software zur Bedienung des Frequenzzählers beschrieben werden.