File: /~heha/hsn/AD9834.zip/liesmich.txt

Dieses Demoprogramm für den AD9834 DDS-Generator
erwartet eine von drei Beschaltungen zum PC-Anschluss.

│PC-Voraussetzung
└────────────────
Windows 98, Windows 2000 oder höher.
(Kennt diese jemand? Wenn nicht, ist Ihr Windows geeignet:-)
32 oder 64 Bit ist egal. 


│Parallelport (genauso wie das Eval-Board, siehe Datenblatt)
└───────────────────────────────────────────────────────────
SubD25♂	│Signal	│Cen36	│AD9834	│Pin	│Bedeutung
────────┼───────┼───────┼───────┼───────┼──────────────
2	│D0	│2	│SCLK	│14	│Serieller Takt
3	│D1	│3	│SDATA	│13	│Serielle Daten
4	│D2	│4	│FSYNC	│15	│Rahmensynchronisation, kompatibel zu SPIs /SlaveSelect
14	│/AF	│14	│RESET	│11	│Reset (High-Aktiv)
18 etc.	│GND	│19 etc.│DGND	│7	│Bezugspotenzial

Das Eval-Board muss mit einem gewöhnlichen Druckerkabel
angeschlossen werden.


│Serielles Port (gut geeignet um aussterbende Parallelports zu umschiffen)
└─────────────────────────────────────────────────────────────────────────
SubD9♀	│Signal	│Res.	│Cen36	│AD9834	│Pin	│Bedeutung
────────┼───────┼───────┼───────┼───────┼───────┼──────────────
4	│DTR	│10 kΩ	│2	│SCLK	│14	│Serieller Takt
7	│RTS	│10 kΩ	│3	│SDATA	│13	│Serielle Daten
3	│/TxD	│10 kΩ	│4	│FSYNC	│15	│Rahmensynchronisation
*	│*	│	│14—30	│RESET	│11	│Reset (High-Aktiv, ungenutzt)
5	│GND	│-	│29	│DGND	│7	│Bezugspotenzial

* Die serielle Schnittstelle hat nur 3 Ausgabeleitungen;
daher ist die RESET-Leitung nicht steuerbar und auf Masse festgelegt.

Der dafür notwendige Adapter passt in ein 36-poliges Centronics-Steckergehäuse
(siehe Foto). Es ist ein einfacher und zukunftssicherer Adapter.
Geeignet sind COM1 bis COM256.
USB-Adapter funktionieren, allerdings ist insbesondere beim Sweep
ein jäher Geschwindigkeitseinbruch gegenüber „echten“ Ports feststellbar.


│USB->Drucker-Adapter
└────────────────────
Erhebliche Änderungen am Eval-Board sind erforderlich.
Dafür ist die Datenübertragungsgeschwindigkeit am höchsten.

Als erstes ersetzt man den (gesteckten!) 74HC244 durch einen 74HC574.
Dann werden Widerstände (ca. 1 kΩ) und Drahtbrücken entsprechend Foto gelötet.
Diese Beschaltung ermöglich den Rückweg durch Umstecken des Schaltkreises ohne Löten.

Sinn dieser Beschaltung ist, dem USB->Drucker-Adapter einen Drucker vorzugaukeln,
der die Daten entgegen nimmt.
„Hinter“ dem 74HC574 hat man effektiv ein (bis zu) 8-bit-Ausgabeport.


│Software-Verwendung
└───────────────────
Das Programm kennt keinen Knopf „Aktualisieren“ oder ähnlich.
Es wird automatisch sofort zum Schaltkreis aktualisiert;
Eingabefelder mit einer Verzögerung von einer halben Sekunde.

Alle abhängigen Felder aktualisieren sich gegenseitig.
Beispielsweise kann die Ausgabefrequenz sowohl bei f0
(als Gleitkomma- oder auch Gleitpunktzahl) als auch bei FREQ0
(als Ganzzahl-Registerwert in der angegeben Zahlenbasis)
eingegeben werden.
Erhöhen und Erniedrigen geht mit der Tastatur mit den Pfeiltasten
und mit Bild↑ / Bild↓.
Zusätzliches Drücken der Strg-Taste verzehnfacht die Schrittweite.
Durch Positionieren des Kursors kann die Schrittweite
positionsweise festgelegt werden; die Zahl links vom Kursor
wird entsprechend erhöht oder erniedrigt.

Auch während des Sweeps bleibt der Hauptdialog voll bedienbar.
(Ohne Maus kommt man mittels F6 zum Hauptdialog.)
Man kann sogar mittendrin das Ausgabe-Interface wechseln!
Auch kann man während der Sweep-Ausgabe alle Sweep-Parameter verstellen,
diese werden für den nächsten Zyklus (bei „wiederholt“) wirksam.
Die Taste „Stopp“ beendet den Sweep mittendrin und restauriert
den ursprünglichen Frequenzwert.
Um das Abbrechen zu einem Zyklusende zu erzwingen, auf „einfach“ umschalten.
Der Sweep benötigt konzeptionsbedingt 100 % Rechnerlast,
da mit maximaler Geschwindigkeit immer neue Frequenzwerte
geschrieben werden müssen. Die Aktualisierung im Hauptdialog erfolgt langsamer.
Dennoch bleibt das System gut bedienbar.
Für eine einigermaßen lückenlose Sweep-Ausgabe ist ein Mehrprozessorsystem
(oder ein „komplett ruhiges“ System) erforderlich,
auf Einprozessorsystemen erzeugen Systemaktivitäten leichte Frequenzsprünge
durch größere Aktualisierungsabstände.

Das Programm ist in mehreren Instanzen startbar und verwendet für jede
ein eigenes Konfigurations-Set.
Damit sind mehrere AD9834-DDS-Generatoren mit verschiedenen Schnittstellen
an einem PC verwendbar (bis zu 32).
Für gleichzeitige Sweeps werden mehrere Prozessoren benutzt
und nach Möglichkeit fest zugewiesen.

Der Kommandozeilenparameter „#<instanz>“ wählt die zu benutzende Instanz (0..31) aus.
Ansonsten nimmt das Programm automatisch die nächste freie Instanz-Nummer.
Bei mehreren Instanzen wird die Nummer in der Titelzeile angezeigt.

Gespeichert wird eigentlich alles (bis auf die Fensterpositionen der beiden Hilfsdialoge).
Wird das Hauptfenster mit gleichzeitig offenem Sweep-Dialog geschlossen,
wird dieser beim nächsten Start automatisch wieder geöffnet.
Lief beim Beenden gar ein Sweep, wird dieser wieder gestartet.
Der Speicherort ist der benutzerspezifische Zweig der Windows-Registrierung.

Was noch fehlt ist DDE-Unterstützung.


heha, 100815 ~ 140506
Detected encoding: ASCII (7 bit)8