Forum: HF, Funk und Felder DDS AD9854 China- Modul


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Wer hat Erfahrungen mit diesem Modul ?

http://www.ebay.com/itm/1HZ-100MHz-AD9854-DDS-Function-Signal-Generator-Module-PC-Control-Software-/151006544962

Ich möchte mit diesem I/Q- Generator
a) einen SDR- Empfänger
b) einen VNWA (Vector Network Analyzer)
bauen.

Problematisch an der Sache ist die Steuerung durch den eingebauten 
ATMEGA32, dessen Programmierung nicht offengelegt ist. Ich kann also nur 
versuchen, das vorhandene PC- Steuerprogramm zu analysieren. Ziel ist 
die Steuerung durch einen Mikrocontroller, vorzugsweise PSoC5LP.

Also, wer kann helfen??

von Hans-Georg L. (h-g-l)


Lesenswert?

Ich habe mir gerade so ein Modul gekauft und per email das dazugehörige 
Entwicklungkit bekommen.

1. Das Entwicklungkit war mit Viren verseucht und alle exe und dll sind 
gleich von der Platte geflogen. Die Treiber für den UART wurden auch 
alle gelöscht und vom USB-Serial Wandler Hersteller heruntergeladen und 
die sind sauber.

2. Quellcodes für den ATMEGA32A und ein Schaltplan ist dabei.
An den ATMEGA kommst du über die herausgeführte JTAG Schnittstelle.

3. Die PC-Software habe ich nicht ausprobiert. Der auf der Platine 
verbaute USB-Seriell Wandler kann bis 115 Kbaud. Ich Schreib mir gerade 
neue Treiber und auch ne neue PC-Software, weil mir der China code zu 
caotisch und die chinesischen Kommentare auch nicht wirklich 
weiterhelfen.

4. Default gibt das Modul nach dem Einschalten ein 1MHz Signal aus und 
das sieht nicht schlecht aus. Über die Qualität der Filter kann ich noch 
nichts sagen.

5. Der Takt wird über einen Wald und Wiesen Oszillator erzeugt.

Gekauft habe ich ihn hier:

http://www.ebay.de/itm/AD9854-100Mhz-Sine-Wave-DDS-Signal-Generator-with-PC-Software-Control-FSK-BPSK-/200983169202?pt=UK_BOI_Electrical_Test_Measurement_Equipment_ET&hash=item2ecb87c8b2

von W.S. (Gast)


Lesenswert?

Einigermaßen interessant ist diese Teil schon, aber zwei Dinge finde 
ich, die mir nicht gefallen:
1. daß es da einen µC gibt, dessen Innenleben wohl nicht offengelegt 
ist. OK, so einen AVR kann man notfalls auslöten und durch was Eigenes 
ersetzen, aber ist DAS der Sinn des Ganzen?
2. daß mir die Filter an den HF-Ausgängen (soweit auf den Bildern zu 
sehen) ausgesprochen lausig vorkommen. Das läßt auf ein nicht wirklich 
reines Signal schließen.

Reizvoll ist schon, daß der Chip 2 Ausgänge hat, I/Q läßt grüßen. Aber 
weniger angenehm ist, daß die DAC's nur 12 Bit breit sind. Der AD9951 
läuft mit 14 Bit DAC.

Bei AD wird ein EInstiegspreis von ca. 20 Dollar angegeben, Mouser hat 
die Dinger für rund 25 Euro auf Lager. Die AD9951 gibt's dort für ca. 21 
Euro.

Du willst ja sowieso was Eigenes bauen, also wäre es nach meinem Gefühl 
eher besser, das Chinateil sausen zu lassen (106 Dollar bzw. ca. 77 Euro 
sind ja auch nicht nichts) und dir einen solchen Chip woanders zu kaufen 
und dann dir ne eigene Baugruppe selbst zu entwerfen.

Auf alle Fälle braucht es am Ausgang zwei wirklich gute Filter, um die 
Signale so sauber zu kriegen, wie das vom DDS her eigentlich möglich 
ist. Aber Filter haben immer je nach Frequenz und Bauteiltoleranzen 
leicht unterschiedliche Phasendrehungen. Das beeinträchtigt deine 
angedachte Verwendung als I/Q-Generator für nen SDR-Empfänger und es 
beeinträchtigt erst recht einen vektoriellen Wobbler. (das Wort 
"Netzwerkanalysator" ist mir eigentlich zu geschwollen, "Wobbler" finde 
ich besser)

Mir ist in diesem Zusammenhang schon vor langer Zeit ein ganz anderer 
Gedanke gekommen:
Stell dir einen einfachen DDS-Generator vor, der eben einen Sinus 
liefert. Hinter dem Filter sitzt ein linearer Detektor von AD, der 
wiederum den DAC.Strom des DDS so nachregelt, daß der Ausgangspegel 
trotz Filter gleich bleibt.
An derselben Stelle tasten 2 schnelle ECL-Komparatoren (auch bei AD zu 
kriegen) das DDS-Signal ab. Einer bei +0.71 der Ausgangsamplitude, der 
andere bei -0.71 der Ausgangsamplitude. Das entspricht einem Ansprechen 
der Komparatoren bei 45° bzw. 135° und 225° bzw. 315° womit deren 
Ausgänge zwar asymmetrisch umschalten, aber mit einer ECL-Verknüpfung 
hinter den Komparatorausgängen würde man 2 um 90° versetzte 
Schaltsignals bekommen.

Im Empfangstrakt müßten dann 3 Detektoren sein: Ein normaler 
logarithmischer Detektor, der die Amplitude ohne Phasninformationen mißt 
und zwei Schaltmischer (CMOS o.ä.), die mit den 2 o.g. Signalen 
angesteuert werden und also phasenempfindlich bei 45° und 135° 
gleichrichten. Aus diesen 3 Stücken kann man rein rechnerisch Amplitude 
und Phasenwinkel berechnen. Das reicht für einen vektoriellen Wobbler.

W.S.

von Hans-Georg L. (h-g-l)


Lesenswert?

In dem Controller steckt nichts wildes ...

Er empfängt "nur" die Daten vom PC und schreibt sie in die Register des 
AD9854 über Paralell Ports. Der AD Chip könnte die Daten mit 100Mhz 
abnehmen, aber da ist der ATMEGA aber etwas überfordert ;)

Ansteuerung:

MEGA32  AD9854
PD2  A0
PD3  A1
PD4  A2
PD5  A3
PD6  A4
PD7  A5

PA0  D0
PA1  D1
PA2  D2
PA3  D3
PA4  D4
PA5  D5
PA6  D6
PA7  D7

PB0  MASTER_RESET
PB1  SP_SELECT
PB3  SHAPED_KEYING
PC0  FSK_BSK_HOLD
PC1  RD_CS
PC6  WR_SCLK
PC7  IO_UD_CLK

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Vielen Dank für Eure Beiträge und Hinweise.
Das beiliegende Visual Basic- Steuerprogramm hat mir ein freundlicher 
Student samt Quellprogramm übermittelt.
Daraus konnte ich zumindest die wichtigsten Kommandos entnehmen, z.B. 
die Übermittlung des Frequency Tuning Words:

  $WR   ... Präambel
  02    ... Registernummer des AD9854
  B1    ... 6 Byte FTW
  B2    ...        FTW = 2 ^ 48 / Taktfrequenz
  .
  .
  B6
  KS    ... Kontrollsumme
  *     ... Abschluß

Im Erfolgsfalle kommt keine Rückmeldung vom Modul. Er nimmt nur 9600 
Baud an.

Dieses Protokoll habe ich in C auf den PSoC programmiert und konnte 
damit erfolgreich die gewünschten Frequenzen einstellen. Das Interface 
besteht lediglich aus einem seriellen Schutzwiderstand...

@ W.S. :
... Sicher eine interessante Möglichkeit, den 90° Zweiphasentakt zu 
erzeugen. Allerdings wollte ich keine Rechteck- sondern Sinussignale 
erzeugen, um sie den Mischstufen mit 2* AD831 zuzuführen. Und es ist zu 
befürchten, dass die Komparatoren ziemlich starken Phasenjitter 
hervorrufen.

@ Hans- Georg :
An der Quelle des Atmega32 hätte ich großes Interesse!

Schönen 1. Mai noch, Wolfgang

von B e r n d W. (smiley46)


Angehängte Dateien:

Lesenswert?

Hallo Wolfgang

Gestern hatte ich kurz einen Link zu der besagten Software reingestellt, 
den Beitrag aber wegen dem oben erwähnten Trojaner wieder gelöscht. 
Jemand würde bestimmt in die Falle tappen.

Kaspersky meldet nur eine verseuchte Datei, aber das ganze Paket ist 
leider 40 MByte groß. Ich bin mir auch nicht sicher, ob ein Anbieten des 
gesamten Codes ein rechtliches Problem darstellt.

Gruß, Bernd

von Hans-Georg L. (h-g-l)


Lesenswert?

B e r n d W. schrieb:
> Hallo Wolfgang
>
> Gestern hatte ich kurz einen Link zu der besagten Software reingestellt,
> den Beitrag aber wegen dem oben erwähnten Trojaner wieder gelöscht.
> Jemand würde bestimmt in die Falle tappen.
>
> Kaspersky meldet nur eine verseuchte Datei, aber das ganze Paket ist
> leider 40 MByte groß. Ich bin mir auch nicht sicher, ob ein Anbieten des
> gesamten Codes ein rechtliches Problem darstellt.
>
> Gruß, Bernd

Hallo Bernd,

bei dem Paket, das mir angeboten wurde war auch ein IAR Compiler dabei. 
Wenn der Illegal ist würde ich es nicht posten.

von Hans-Georg L. (h-g-l)


Lesenswert?

DH1AKF K. schrieb:

>
> @ Hans- Georg :
> An der Quelle des Atmega32 hätte ich großes Interesse!
>
> Schönen 1. Mai noch, Wolfgang

Hallo Wolfgang,

kein Problem wenn ich fertig bin werde ich das auch veröffentlichen.

Der China Code arbeitet lt. Quelltext mit 9600 Kbaud ist das bei dir 
auch so?

Ich habe die USB Version von dem Board und da müsste 115K Baud gehen.
Der AD9854 ist zwar über das parallel Interface angeschlossen arbeitet 
aber seriell. Weiterhin wollte ich noch die SPI Schnittstelle zu einem 
2. Controller aktivieren für lokalen Betrieb.

Vielleicht bau ich auch das ganze Board noch um ...
Also ATMEGA herunter und eine schnelle Anbindung damit müsste auch ein 
arbiträrer Betrieb über den Q_DAC und Frequenz 0 beim I_DAC mit einer 
Samplerate von 100MHz möglich sein. Den Oszillato will ich auch 
entfernen und extern 300Mhz einspeisen. Die Buchse dafür ist ja bereits 
eingelötet.

von Hans-Georg L. (h-g-l)


Angehängte Dateien:

Lesenswert?

B e r n d W. schrieb:
> Hallo Wolfgang
>
> Gestern hatte ich kurz einen Link zu der besagten Software reingestellt,
> den Beitrag aber wegen dem oben erwähnten Trojaner wieder gelöscht.
> Jemand würde bestimmt in die Falle tappen.
>
> Kaspersky meldet nur eine verseuchte Datei, aber das ganze Paket ist
> leider 40 MByte groß. Ich bin mir auch nicht sicher, ob ein Anbieten des
> gesamten Codes ein rechtliches Problem darstellt.
>
> Gruß, Bernd

Hallo Bernd,

in dem VC Ordner fehlt der Quellcode von der Lib. Im VB ordner gibt es 
noch einen weiteren Unterordner mit weiterem Quellcode ....

Was da ins EE-PRom geschrieben bzw. gelesen wird und was der Timer mit 
dem  Update Pin treibt ist mir im Moment auch noch nicht so klar ...

: Bearbeitet durch User
von B e r n d W. (smiley46)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hab versucht, aus dem umfangreicheren Quellcode ein compilierbares 
Studio4 Projekt zu erstellen. Es erscheint noch 1 Error:

../main.c:105: undefined reference to `BIT'

Bei BIT() handelt es sich vermutlich um ein Macro eines anderen 
Compilers.
Direkt darunter hab ich mal meine Variante für den Mega8 als Kommentar 
eingefügt. Ob dann der Code auch tatsächlich funktioniert?

von Ulrich H. (lurchi)


Lesenswert?

Die BIT(x) Funktion (bzw. als Makro) sollte so etwas wie 1 << x sein. So 
was ähnliches hat GCC auch drin.

Der 2. Punkt wo man wohl noch was anpassen müsste wären wohl die 
Interrupts. Die sind auch compilerspezifisch. Es gibt aber auch in GCC 
mehr als 1 erlaubte Möglichkeit - ggf. geht es ja auch mit dem #pragma.

Sonst sieht der Code recht einfach aus.

von B e r n d W. (smiley46)


Lesenswert?

Seltsam!
1
UCSRC = BIT(URSEL) | 0x06;
2
???
3
UCSRC = (1 << 7) | 0x06;
4
???
5
#define URSEL_bm 0x80
6
UCSRC = URSEL_bm | 0x06;
7
8
// Aus iom32.h
9
/* UCSRC */
10
#define URSEL   7
11
#define UMSEL   6
12
#define UPM1    5
13
#define UPM0    4
14
#define USBS    3
15
#define UCSZ1   2
16
#define UCSZ0   1
17
#define UCPOL   0

von Karsten F. (Firma: von Dänemark) (bingo600)


Lesenswert?

Probler mal

#define BIT(x)  _BV(x)

oder

#define BIT(x)  (1<<x)

mfg
Bingo

von Uwe S. (de0508)


Lesenswert?

Hallo etwas besser ist
1
#define BIT(x)  (1<<(x))

von Markus W. (dl8mby)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

dank Wolfgang, DH1AKF, konnte ich auch mein DDS_Modul
zum Laufen bringen.

Da ich zur Ansteuerung einen Linux-Rechner verwende, habe
ich das zugehörige Testprogramm von Wolfgang auf Linux
umgeschrieben.

Ich hoffe es hilft Euch bei den Ersten Schritten mit diesem
sehr vielversprechenden Teil.

Es hat /dev/ttyUSB0 als Schnittstelle fest kodiert und erzeugt
eine Serie von Frequenzen beginnend bei 10 MHz mit einer Schritt-
weite von 10MHz und endet bei 110MHz.

Das C-Programm ist eigentlich selbsterklärend, nur der Aufbau des
Frequenzwortes muss verstanden werden. Siehe die Beiträge weiter
oben und die zugehörige AD Dokumentation zum AD9854.

Gruß
Markus

DL8MBY

von Markus W. (dl8mby)


Lesenswert?

Hallo Forum,

kleiner Nachtrag zu meinem Beitrag!

An einem weiteren Linux-Rechner mit OpenSuse 12.3
trat beim Aufruf meines Programms zur DDS Ansteuerung
folgendes Problem auf:

Nach Prog-Start meldet das OS folgenden Fehler:

stty: /dev/ttyUSB0: Unpassender IOCTL (I/O-Control) für das Gerät

ls -l /dev/ttyUSB0

liefert

-rw-r--r-- 1 root root 20 May  3 17:21 /dev/ttyUSB0


Abhilfe schaffte das Anlegen einer neuen udev-Regel Datei
in /etc/udev/rules.d/ mit dem Namen 11-usb-serial.rules
und folgendem Inhalt: (eine einzige Zeile!)

KERNEL=="ttyUSB*", SUBSYSTEM=="usb", ATTR{idVendor}=="1a86", 
OWNER="markus", GROUP="users", MODE="0600", NAME="ttyUSB0"


wobei der OWNER entsprechend Eurem Account angepasst werden
muss.


Danach noch den Aufruf von

udevadm control --reload

und nach wideranstecken des DDS_Moduls war ich in der Lage es
anzusprechen.


Gruß
Markus

DL8MBY

von Markus W. (dl8mby)


Lesenswert?

Hallo Forum,

habe noch vergessen zu erwähnen, das in dem
Programm für Linux der Multiplikator von 4 auf 8
gesetzt werden muss, um die Frequenzfolge
10,20,30, ... 100,110 MHz zu erhalten.

Zumindest ist das bei meinem Model (USB-Version)
so der Fall.

Gruß
Markus

DL8MBY

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

Hi,
Ich muss mal ein paar Fragen loswerden - das Teil ist wirklich spannend.
Könnt ihr mal den Schaltplan posten ?
Was mein ihr - kann man das AVR Zeugs - wie auch immer - deaktivieren 
und via SPI an den AD9854 ran ?
Habt ihr eine Idee warum die Auflösung nur 1 Hz beträgt - laut 
Datenblatt sollten doch eigentlich 1uHz (bei 300Mhz clock) möglich sein?
Gibt es schon Erkenntnisse über die Filterqualität ?

Gruss Hainewaldi

von B e r n d W. (smiley46)


Lesenswert?

> Habt ihr eine Idee warum die Auflösung nur 1 Hz beträgt

Weil dann die Berechnung einfacher wird. In der Regel reich 1Hz auch.

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

ok danke:  also eine Frage der SW - keine HW Restriktion.

Ich vermute mal da ist auch die 200Mhz Variante verbaut (AD9854ASTZ) - 
sonst kämen man mit dem 1A Netzteil nicht zurande - korrekt ?

von Hans-Georg L. (h-g-l)


Lesenswert?

Andre S. schrieb:
> Was mein ihr - kann man das AVR Zeugs - wie auch immer - deaktivieren
> und via SPI an den AD9854 ran ?

ja, ATMEGA auslöten ...

>Ich vermute mal da ist auch die 200Mhz Variante verbaut (AD9854ASTZ) -
>sonst kämen man mit dem 1A Netzteil nicht zurande - korrekt ?

Im Schaltplan steht ASQ und durch die Vias sieht man den metallischen 
Boden des Chips aber 100% sicher bin ich mir auch nicht.

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

Laut ADI Datenblatt:
7/07—Rev. D to Rev. E: Changed AD9854ASQ to AD9854ASVZ
Also doch die 300 Mhz Variante (laut Schaltplan - Frage ist was 
tatsächlich auf der Platine ist).
Der Stromverbrauch der 300Mhz Variante ist ja riesig, wenn alles an ist: 
1200mA.

von Hans-Georg L. (h-g-l)


Lesenswert?

Hmm .. ich sehe gerade, das der Schaltplan und die Leiterplatte / 
Bestückung nicht mit meinem Board übereinstimmen.

Es fehlt bei mir der ICS533 Treiber für den Rechteckausgang, dafür habe 
ich noch einen Platz für eine zusätzliche SMA Buchse mit FSK/BPSK 
beschriftet.

von Hans-Georg L. (h-g-l)


Angehängte Dateien:

Lesenswert?

Ich hab das Modul eben mal mit 300Mhz Taktfrequenz und 100 MHz 
Ausgangssignal laufen lassen und 2 Bilder direkt ohne Tastkopf 
aufgenommen.

Der Sinus ist mit 1 MOhm und das Rechteck mit 50 Ohm belastet. Die 
Dellen im Rechteck kommen von der endlichen Bandbreite meines Osci.

Stromaufnahme war 1,2 A und die Temperatur am Kühlkörper geschätzte 60°. 
Das ganze lief ca. 15min ohne abzurauchen ;)

Die Ansteuerung habe ich über die Parallelschnittstelle gemacht also 
dürfte der Schaltplan an dieser Stelle stimmen. Verbindung zum PC läuft 
mit 38,5 KBaud.

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Erste Ergebnisse.
Habe dem Modul ein Gehäuse verpasst und die Frequenzeingabe per 
Drehgeber programmiert. Der Cursor ändert seine Position, wenn man 
schnell Klick-klack dreht. (Also hin- und herdreht.)
Die anderen Fotos zeigen einen Mischer mit 2* AD831 (Bausatz vom 
Funkamateur).
Bei mir ist die Stromaufnahme max. 650 mA.

von Hans-Georg L. (h-g-l)


Lesenswert?

DH1AKF K. schrieb:

> Bei mir ist die Stromaufnahme max. 650 mA.

Bei welcher Takt und Ausgangsfrequenz hast du die 650mA gemessen. Sind 
alle internen Optionen eingeschaltet ?

von ul5255 (Gast)


Lesenswert?

DH1AKF K. schrieb:
> Erste Ergebnisse.
> Habe dem Modul ein Gehäuse verpasst und die Frequenzeingabe per
> Drehgeber programmiert.

Respelt fuer die bisherige Arbeit. Sehe ich da einen PSoC5 Borad 
verbaut?

von ul5255 (Gast)


Lesenswert?

... Respekt ... Board ...

(Sorry, Hirn-Hand Koordination funktioniert noch nicht so richtig heute 
...)

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Die Stromaufnahme des Moduls (max.650 mA) bei 300 MHz Takt 
(Multiplikator =10, Quarztakt 30 MHz) bei ca. 150 MHz Ausgabefrequenz.
Es wurde das fertige PC-Programm (siehe Post vom 1.5.2014) benutzt.

Ja, hier werkelt ein PSoC 5LP von Cypress.
Er soll demnächst auch die I/Q- Demodulation ,
also A/D- Wandlung, Tiefpass, 90° Phasenschieber, D/A- Wandlung 
übernehmen. Ein Beispielprogramm dazu fand ich hier:

http://hightower.com/SimpleSDR.html

von Hans-Georg L. (h-g-l)


Lesenswert?

Hallo Wolfgang,

Die 1,2A sind lt. Datenblatt normal, wenn alles eingeschaltet ist. Ich 
nehme an bei dir ist mindestens der inv Sinc Filter abgeschaltet dann 
kommt das mit den 650mA auch hin.

Siehe Datenblatt: Figure 62. Current Consumption vs. Clock Frequency.

: Bearbeitet durch User
von Hans-Georg L. (h-g-l)


Lesenswert?

DH1AKF K. schrieb:
> Die Stromaufnahme des Moduls (max.650 mA) bei 300 MHz Takt
> (Multiplikator =10, Quarztakt 30 MHz) bei ca. 150 MHz Ausgabefrequenz.

Zeig mir mal ein Bild von den 150Mhz.

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Geduld bitte,
die Multiplikator- Umschaltung muss ich noch in den PSoC programmieren.

Ich hatte die Stromaufnahme mit dem PC- Programm (1.5.14) getestet. 
Möchtest Du davon ein Bild? Was soll das bringen?

: Bearbeitet durch User
von Walter M. (wmarton)


Lesenswert?

Hallo Allerseits,
inzwischen habe ich auch den DDS AD9854 China-Modul und möchte mit dem 
geringsten Aufwand zu einem halbwegs komfortablen Signalgenerator 
kommen.
Was ich mir dabei vorstelle ist:
Drehencoder-gesteuerte Menüsteuereung,
Drehencoder-gesteuerte Frequenzeingabe bzw. Frequenzschritteingabe
Amplitudenkontrolle z.B. 100mV - 500mV analog über 10k-Poti. Digital 
ließe sich der Bereich erweitern, allerdings mit Aufläsungsverlust.
und
Frequenz-sweep-funktion, die einen vorgegebenen Bereich F1 – F2 in 100 
Frequenzen linear aufteilt und diese sequentiell für jeweils (z.B.) 1ms 
einstellt, so dass Frequenzverläufe auf einen Oszi mit 100ms 
Horizontal-Ablenkung bequem abgelesen werden können.
Die Menü-Eingaben sollen über einen LM052L (alternativ TC1602A-09) Modul 
mit 2 Zeilen à 16 Zeichen (HD44780 Industriestandard) angezeigt werden.
Dazu habe ich mir einen Aufbau überlegt, der sehr günstig wäre 
(Materialkosten ca. 20€), wenn die beschriebenen Funktionen in dem 
bereits vorhandenen ATMEGA32A einprogrammiert werden können. Die Frage 
ist, ob es genug freie IO-Pins gibt (Schnittstellen JP2 und JTAG auf dem 
China-Modul?), die für Ein/Ausgabe genutzt werden können – leider habe 
ich noch keinen Schaltplan von dem Modul und bitte an dieser Stelle um 
Zusendung wer einen hat.
Falls die Idee realisierbar ist, suche ich nach einem/mehrere 
Gleichgesinnte, der die SW für den ATMEGA32A schreiben kann und biete im 
Gegenzug den Hardware-Aufbau doppelt auszuführen (Laser-geschnittenes 
2-Schalen-Edelstahlgehäuse welches die SMA-Ausgänge frei gibt, 2x 
Drehencoder, 1xAmplituden-Potentiometer, LM052L-Display-Modul und 
Verkabelung der Ein/Ausgänge). Mir kommt es auf die schnelle 
Verfügbarkeit eines Geräts mit den erwähnten Grundfunktionen an, später 
könnte es aber auch als Startpunkt eines anspruchsvolleren Konzepts 
werden.

Die Konstruktionsdaten, Bezugsquellen und Beschaltung wären natürlich 
für alle zugänglich – es könnte auch ein schönes Gemeinschaftsprojekt 
werden.
Wie sieht es aus, jemand interessiert?

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier ist die Variante mit RS232- Schnittstelle als PDF, die andere habe 
ich eingescannt.
Aber Vorsicht: die Werte der Ausgangs- Tiefpässe können nicht stimmen, 
jedenfalls beim PDF!

: Bearbeitet durch User
von Walter M. (wmarton)


Lesenswert?

Danke für die Schaltpläne!
Die Schnittstelle JP2 ist offensichtlich vorbereitet, um eine 
Master/Slave Kommunikation mit einem anderen µC zu ermöglichen. Das von 
mir oben beschriebene Konzept benötigt mindestens 7 Leitungen für die 
Anzeigen-Steuerung (oder 11 in 8-bit Mode), weitere 4 Leitungen für das 
Auslesen der Drehencoder und 4 für die Master/Slave Verbindung.
Alternativ wäre auch ein Interface mit Schieberegister möglich, jedoch 
aufwendiger zu programmieren. Von der Hardwareseite sehe ich nicht viel 
Unterschied.
Falls mein Vorschlag jemandem zusagt, bin ich offen für die Auswahl des 
2. µC und würde dann eine entsprechende Platine entwerfen, herstellen 
und bestücken.

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Hier hat jemand (Achim Döbler) gezeigt, dass man an den Atmel Chip 
herankommt.
http://www.youtube.com/watch?v=QRz87_P2xlg

Vielleicht kontaktiert man ihn wegen der Software? Ich selbst bin nur 
mit PSoC vertraut.

von Hans-Georg L. (h-g-l)


Lesenswert?

An den Atmel Chip, zum Programmieren und debuggen, kommst du über den 
Jtag Stecker. An dem JP2 liegt die SPI Schnittstelle des ON-Board 
Atmega.

@Walter

Du kannst einen 2 Conroller an die SPI Schnittstelle hängen und die 
Firmware so umschreiben, das die Ansteuerung sowohl über Uart als auch 
über SPI funktioniert.

Sweepen kann der DDS Chip von alleine im Ramped FSK Mode.
F1,F2,Diff(Schrittweite) und Schrittfrequenz Programmieren und dann FSK 
DATA von 0 auf 1 dann Steppt er hoch auf F2, FSK wieder auf 0 dann 
Steppt er wieder runter auf F1. Oder du setzt das Triangle Bit, dann 
Steppt er von alleine kontinuierlich hoch und runter auf. (Figure 37,38 
im Datenblatt).

Du kannst den QDac als Amplitudenkontroller für den IDAC schalten und 
dann kannst du auch über die QDAC Register digital 12Bit die Amplitude 
steuern.

Wenn du schon die Amplitude einstellen willst musst du auch den Inverse 
SINC Filter einschalten sonst hast du Amplitudenabfall mit zunehmender 
Frequenz (Figure 51 Datenblatt) und dann wird der Chip richtig heiss und 
das Modul zieht 1,2A.

Ich habe schon 70°C am Kühlkörper gemessen dann habe ich ein Alublech 
unter die Leiterplatte geschraubt und die Massefläche unter dem DDS Chip 
und den beiden Spannungsreglern über Alu Abstandsröllchen und 
Wärmeleitpaste thermisch angekoppelt. Damit blieb die Temperatur am 
Kühlkörper auf 60°C und das Alublech handwarm. Ich hatte eigendlich mehr 
Umverteilung der Wärme erwartet, denn der "thermally enhanced" Chip 
sollte doch seine Wärme über die Massefläche unter dem Chip abgeben. Ein 
Kühlkörper auf dem Chip ist von TI auch nicht vorgesehen. Aber 
vielleicht ist doch der billigere Chip auf dem Modul verbaut.

von Walter M. (wmarton)


Lesenswert?

Danke für die Hinweise!

Ich habe Achim Döbler angeschrieben, leider ohne Antwort bis jetzt.
Wolfgang, hast Du etwas von Ihm gehört?
Die Idee von Hans-Georg, das SPI (JP2) als alternativen Eingabe zu 
nutzen finde ich gut.
Es könnte vielleicht doch einfacher mit 2  8bit-Schieberegister 
aufgebaut werden, so dass alle 8 SPI clocks jeweils 1 byte ausgegeben 
wird (zu der Anzeige) und 1 byte eingelesen wird (von den Drehencodern). 
Den Rest sollte ein passendes Programm auf dem ATMEGA32A erledigen.
Ich bin bereits dabei, ein HW-Aufbau vorzubereiten und werde dann Fotos 
davon posten.
Die Leiterplatte werde ich später machen, wenn sich Gleichgesinnte 
finden, die entsprechende SW schreiben können.
Ein kleiner Lüfter ist übrigens auch vorgesehen entsprechend dem Hinweis 
von Hans-Georg.

Eine Frage an alle: Hat jemand den original source code von dem 
ATMEGA32A als Ausgangspunkt für die Modifikation?

von Hans-Georg L. (h-g-l)


Lesenswert?

Walter Marton schrieb:
> Ein kleiner Lüfter ist übrigens auch vorgesehen entsprechend dem Hinweis
> von Hans-Georg.

Ich habe in der Zwischenzeit den Kühlkörper auf meinem Modul entfernt 
und es ist lt. Aufdruck tatsächlich ein ASQ also "thermal enhanced" 
Gehäuse verbaut. Ich versuche gerade so einen Kühlkörper mit 
integriertem Lüfter zu finden. Die Spannungsversorgung sollte möglichts 
5V betragen weil der 3,3V Low Drop Spannungsregler auch zur 
Wärmeentwicklung beiträgt.

> Eine Frage an alle: Hat jemand den original source code von dem
> ATMEGA32A als Ausgangspunkt für die Modifikation?

Der source code wird auf Anfrage zu dem Modul mitgeliefert und wurde 
hier schon gepostet. Die Chinesen steuern den DDS Chip seriell an, aber 
die paralle Schnittstelle ist voll verdrahtet. Allerdings bringt die 
parallele Ansteuerung auch nicht so viel weil der ATmega zu langsam ist. 
Für alles was der DDS Chip intern schon kann reicht die serielle 
Ansteuerung aus. Aber AM oder arbiträre Signale über den QDAC und alles 
was schnelle Registermanipulation des DDS Chip benötigt, kann man mit 
dem ATmega vergessen.

von Achim D. (achim_d)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich finde dieses Projekt hier wirklich klasse - der AD9854 ist ein 
leistungsfähiger Käfer und vielleicht können wir hier zusammen eine ganz 
netten DDS entwerfen!
@Walter: Sorry für die späte Antwort, ich jabe den angeforderten Code 
angehängt. Mit diesem Code kannst du den onboard uC flashen und erhälst 
dadurch eine SPI-Bridge zum AD9854. BITTE BEACHTEN: Der Code ist alles 
andere als ausgereift, funktioniert aber einwandfrei!

Gruß

Achim Döbler

von Uwe S. (de0508)


Lesenswert?

Hopla !

DH1AKF K. ist sicherlich NICHT in dieser Menge, er ist kreativ und 
findet immer neue Ideen und Lösungsmöglichkeiten für seine 
Aufgabenstellungen.

> Das wäre eine nette Idee, jedoch wage ich zu bezweifeln, dass das zum
> derzeitigen Zeitpunkt in diesem Forum überhaupt noch möglich ist.
> Momentan pendelt sich das Niveau auf unterem Level ein und ich glaube
> nicht, dass es jemals wieder besser wird.

von Uwe S. (de0508)


Lesenswert?

JA Herbert,

deshalb wickeln wir die mit Brandis auch direkt ab.

Und meine Projekte landen dann in anderen Foren und über andere 
Verteilerschienen bei den AFU Freunden.

von Achim D. (achim_d)


Lesenswert?

D. V. schrieb im Beitrag #3675218:
> Das wäre eine nette Idee, jedoch wage ich zu bezweifeln, dass das zum
> derzeitigen Zeitpunkt in diesem Forum überhaupt noch möglich ist.
> Momentan pendelt sich das Niveau auf unterem Level ein und ich glaube
> nicht, dass es jemals wieder besser wird.

Ok, teilweise muss ich Dir Recht geben.
Egal welchen Beitrag man sich hier durchliest - nach ein paar Zeilen 
trifft man entweder auf

a) Labertaschen, die große Ideen haben, aber nichts davon realisieren 
können bzw. gar nicht das Durchhaltevermögen für so ein Projekt haben.

b) Leute, die nicht bereit sind, auch nur eine Zeile Code selbst zu 
schreiben oder sich eine Schaltung zu überlegen - nein, das dauert ja 
viel zu lange. Alles muss denen auf dem Silbertablett geliefert werden!
Ich bin absolut dafür, dass man Know-How austauscht - aber sicher nicht 
so!

c) Besserwisser, die sämtliche Fragen grundsätzlich erst mal 
(beleidigend) ins Lächerliche ziehen.

Dennoch: Ich bin der Meinung, dass es hier auch etliche freundliche, 
kompetente und vor allem interessierte User gibt. Und für genau diese 
schreibe ich die folgenden Zeilen.

Meine Ideen - Vorschläge - Gedanken zum Projekt:
• Es wird sicher nicht möglich sein, mit dieser Ebay-Platine jemals 
einen arbiträren DDS zu realisieren. Hierfür ist der Atmel uC viel zu 
langsam. Das kann man aber immernoch nachrüsten! Sobald der Rest läuft 
(z.B. Analog Front End) kann man hier eine neue Platine mit dem AD9854 
entwerfen und ich spreche ihn dann parallel mit 100 MHz über einen FPGA 
an. Als Zielplatform wäre z.B. das DE0 Nano absolut ideal (klein, 
günstig, schnell). (DE0 Nano: 
https://www.youtube.com/watch?v=j1NWPiHdMv0)
Als nicht HF-ler traue ich mich aber nicht an das Filternetzwerk vor dem 
AD9854 ran! --> Wer hat hier Erfahrung?

• Als Display würde ich (zumindest in meinem Gerät) für die 
nicht-arbiträre Version ein OLED verwenden. Dieses kann die Signalform 
darstellen, bietet einen hohen Kontrast und ist flexibel genug für ein 
Menu. z.B.
https://www.youtube.com/watch?v=2OGCEupoPzI
https://www.youtube.com/watch?v=0aLbv2_fo08
In der arbiträren Version kann nur ein TFT geeignet sein, da hier die 
Signalform eben konplexer wird.
z.B. 4.3" TFT
https://www.youtube.com/watch?v=xilpcTZjL88
mit einer ähnlichen Darstellung wie hier
https://www.youtube.com/watch?v=CEXnhd9WO9o

• Als Frequenznormal würde ich (zumindest optional) einen 
Rubidium-Standard vorschlagen:
http://www.ebay.de/itm/FE-5680A-Rubidium-Atomic-Frequency-Standard-10MHz-OUT-/271309154373?pt=LH_DefaultDomain_0&hash=item3f2b492845
--> Hat jemand so einen? Erfahrungen damit?

• Für mich wäre eine präzise Einstellmöglichkeit der Duty Cycle (min 10 
Bit) sehr interessant (zumindest bis 10MHz Rechteckausgang). Man könnte 
hierfür z.B. einen der beiden Ausgänge des AD9854 mit seinem internen 
high speed comparator verbinden. Die Poti-Variante auf der Platine taugt 
meiner Meinung nach jedenfalls nichts. Ich möchte die Duty Cycle 
"digital" vorgeben können. --> Hat hier jemand evtl. eine andere Idee? 
Wie kann man bei einem schnellen Rechnecksignal die DC möglichst 
hochauflösend (bekannt) variieren? Mir fallen dazu nur Zähler (im FPGA) 
und DAC+Comparator ein. Hier muss es doch noch was anderes geben?!

Gruß

Achim Döbler

: Bearbeitet durch User
von Walter M. (wmarton)


Lesenswert?

Hallo allerseits,

hier bin ich wieder nach einem sehr konstruktiven Gespräch mit Achim 
Döbler.
Wir haben die Möglichkeiten besprochen, unter geringstem Aufwand zu 
einem brauchbaren Signalgenerator auf der Basis des AD9854 China-Moduls 
zu kommen, der einfach und günstig nachzubauen wäre.

Im Sinne dieser Entscheidung (Achim bitte um Korrektur wenn ich etwas 
nicht korrekt wiedergebe) soll der Aufbau vorerst aus dem China-Modul, 
einem Display-Modul mit 2 Zeilen à 16 Zeichen (HD44780 
Industriestandard), 2 Drehencoder und einem 10k-Potentiometer.

Die Eingabe der 4 Leitungen der 2 Drehencoder soll über 
paralel-in/seriel-out Schieberegister (74HC166) erfolgen, die Ausgabe 
über seriel-in/paralel-out Schieberegister (74HC595)
Achim Döbler hat bereits Erfahrung in der Programmierung ähnlicher SW, 
siehe auch http://embedded-lab.com/blog/?p=30
Dazu wollen wir die vorhandene SPI-Schnittstelle JP2 benutzen, also 
vorerst keine Hardwareänderungen auf dem China-Modul. Die SW wird auf 
dem vorhandenen ATMEGA32A über die JTAG Schnittstelle einprogrammiert.
Der Potentiometer ist für feine Amplitudenkontrolle vorgesehen z.B. 
100mV - 500mV indem er anstelle des Widerstands Rset (s. AD9854 
Datenblatt) eingesetzt wird. Später kann man zusätzliche digitale 
Amplitudenregelung implementieren.

Für die Schieberegister ist ein PCB Design vorgesehen sobald die 
Beschaltung und die SW feststehen. Wir haben die Hoffnung, dass der so 
definierte Aufbau einfach und ansprechend genug ist um mehrere 
Nachfolger zu interessieren. Trotzdem ist der Aufbau offen für spätere 
Verbesserungen und Erweiterungen sowohl von der SW-Seite wie auch als 
HW.

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Hallo,
ich schließe mich Walter Marton und Achim Döbler an und bin bereit, 
meinen Teil zu dem Projekt beizusteuern.

Mein ursprüngliches Ziel, einen SSB- Empfänger nach dem 
Direktmischprinzip zu bauen, ist fast erreicht. Die Software von M. 
Hightower (KF6SJ) konnte fast unverändert übernommen werden. Als 
Eingangsstufe habe ich zunächst einen fertigen FA-SDR (wird von der 
Zeitschrift Funkamateur als Bausatz vertrieben) verwendet, die 
Verarbeitung der I/Q- Signale im NF- Bereich übernimmt ein PSoC5LP. Das 
funktioniert nun prinzipiell. Der DDS- Generator wird im nächsten 
Schritt eingesetzt. Es sollen verschiedene Mischer erprobt werden, z. B. 
2* AD831, (kann mit Sinus angesteuert werden,) und der Schaltermischer 
mit CBT3253 (wie FST3253), der die Oszillatorsignale als Rechteck 
benötigt.

Frage: Welchen Chip würdet Ihr empfehlen, um bis 70 MHz die Rechtecke 
mit möglichst wenig Jitter zu erzeugen?? (Der AD9854 liefert 11 dbm.)

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Das würde ich diskret erledigen. Eine Entkoppelstufe deiner Wahl mit 
ausreichend Spannungsverstärkung über ein C auskoppeln und anschließend 
an 2 antiparallelen Dioden begrenzen, noch mal auf Eingangspegel der 
Mischer verstärken. Und gut ist es.  Ginge es um NF würde einen OPamps 
dafür nehmen.
aber nicht bei 70 MHz da ist mir diskret einfach sympahtischer und alles 
leichter anzupassen.

von Andre S. (Firma: privat) (hainewaldi)


Angehängte Dateien:

Lesenswert?

So, mein Teil ist nun auch endlich eingetroffen.
Die SW fehlt noch für die ersten Tests.

Also in der Zwischenzeit Schaltplan studieren und Datenblätter lesen.

Die Logik der Stromversorgung  erschliesst sich mir nicht so recht.
- Was soll der Schalter S1 ?
- was soll passieren wenn sowohl an JP1 5V anliegt als auch über USB
  5V geliefert werden ? Strecke JP4 (USB_VCC) -> U2 (VDD) -> S1
  (s. rote Markierungen)

von ul5255 (Gast)


Lesenswert?

Ich schlage fuer Rechteck-Signale mal Si570 oder Si504 vor
http://www.ov-selbstbau.de/wiki/index.php?title=Flexibler_Quarz-Oszillator_auf_Basis_Si504

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

Vergessen: Der Treiber U6 auf meiner Platine ist im Layout nicht mehr 
vorgesehen. Es gibt also damit mindestens 3 Versionen der Platine: USB 
mit U6, parallel Port, USB ohne U6

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

Walter Marton schrieb:
> Der Potentiometer ist für feine Amplitudenkontrolle vorgesehen z.B.
> 100mV - 500mV indem er anstelle des Widerstands Rset (s. AD9854
> Datenblatt) eingesetzt wird. Später kann man zusätzliche digitale
> Amplitudenregelung implementieren.

Hm, ich weiss nicht so recht, ob das reicht.
Das ist ein zentraler Regelpunkt.
Damit kompensiert du nicht die Toleranzen der 100 Ohm Lasten R6, R7, R9, 
R13 im Tiefpass.
Dh. du kannst mit einem Poti an Stelle von Rset nur einen der Tiefpässe 
ausregeln. Und da ist noch kein Ton über frequenzabhängigen Toleranzen 
der folgenden LC Glieder gesprochen worden.

von Achim D. (achim_d)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe jetzt mal die Sachen in die Firmware eingebaut, die ich u. a. 
bereits mit Hr. Marton besprochen hatte:

--> 74xx595 wird unterstützt (dient zur Ansteuerung des LCD).
--> Passender LCD Treiber.
--> 74xx166 wird unterstützt (bietet 8 digitale Eingänge, z.B. für 
Quadratur-Ecoder).
--> Alle Schieberegister werden interruptgesteuert aktualisiert (z.Z. 
mit ca. 3,9kHz, damit Quadratur-Ecoder "flüssig" gelesen werden können).
--> Alle "Basisfunktionen" des AD9854 sind implementiert.
--> Eine kleine Testroutine testet beide Schieberegister auf Funktion.

Bei mir funktioniert alles soweit super!
Bitte informiert mich über Fehler!

ACHTUNG:
Beide Schieberegister werden äußerst "giftig" angesteuert. Um Leitungen 
einzusparen, werden alle CS-Leitungen fest verdrahtet. Daher darf zu 
keinem Zeitpunkt etwas in die Leitung "spucken", sonst fällt das LCD aus 
und/oder es wird nur Schrott empfangen! Die Leitungslängen von SR_DO, 
SR_DI, SR_CLK und SR_LAT MÜSSEN(!!) daher so kurz wie möglich gehalten 
werden, damit die Sache funktioniert!
Das macht man normalerweise nicht so, aber wir haben hier einfach keine 
Pins zum asen frei.


Schaltplan und Testbild anbei.

Gruß

A. Döbler

von BIG is Beautilful (Gast)


Lesenswert?

Mach die Bilder doch noch GRÖßER

von Achim D. (achim_d)


Lesenswert?

BIG is Beautilful schrieb:
> Mach die Bilder doch noch GRÖßER

Sorry - gibt es hier ein Max. für Dateigrößen?
Muss man JPGs hier generell runterskalieren?

von Falk B. (falk)


Lesenswert?

Siehe Bildformate!

von big=is=beautiful (Gast)


Lesenswert?

Falk Brunner schrieb:
> Siehe Bildformate!

Solange diesem "Wünsch' Dir 'was" nicht die Ernsthaftigkeit einer 
Forensoftware zur Seite steht, die Uploads ab der Schmerzgrenze des 
Forenbetreibers abbricht, und bereits gesendeten "illegale Exporte in 
dieses Baord" in den Trog "Nulldevice" kippt...

...genügt den BigPack-Uploadern fortgesetzt ein Mindestmaß an 
Nervenstärke, um glücklich und gelassen über dem ständig klagenden 
Grundrausche der hiesigen Öko-Kleinbildfreunde zu schweben.

von Achim D. (achim_d)


Lesenswert?

Ach du mein kleiner, höchst eloquenter Freund!
Es wäre mir bedeutend lieber, du würdest hier etwas Konstruktives zum 
Projekt beisteuern. Frag doch mal beim Admin nach, ob er evtl. noch 
einen Hilfssheriff braucht.

Herzlichst,

A. Döbler

PS: Danke an "falk" für den Link!

von Walter M. (wmarton)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

hier bin ich wieder, toll was in der Zwischenzeit alles auf die Beine 
gestellt wurde, ich dachte ich muss den Schaltplan noch zeichnen und 
Achim hat es schon fertig und ausprobiert… Danke Achim!
Ich habe inzwischen ein erstes Blech-Chassis fertig (s. Foto)
Und doch noch eine Frage an Achim – welche Eingänge des 74xx166 werden 
für den Menüwahl-Drehencoder bzw. Wertwahl- Drehencoder von Deiner SW 
benutzt?

@ Andre S. – die vorgeschlagene Amplitudenregelung soll keine Toleranzen 
oder Tiefpässe ausregeln, sondern ist nur als feine Justierung gedacht.
Für die Kompensation der von Dir angesprochenen Toleranzen bzw. 
Tiefpässe wird kein Potentiometer behilflich sein, diese sind eben Teil 
des Modul-Designs und können nur da verbessert werden. Für so eine 
Aufgabe würde aber den Meisten hier die Ausrüstung fehlen.
Aber mit dem vorgeschlagenen Poti ließe sich die Amplitude in einem 
konkreten Mess-Szenario ausregeln.
Gruß
Walter

von Achim D. (achim_d)


Lesenswert?

Hi Walter,

der Rahmen sieht echt gut aus!

Walter Marton schrieb:
> Und doch noch eine Frage an Achim – welche Eingänge des 74xx166 werden
> für den Menüwahl-Drehencoder bzw. Wertwahl- Drehencoder von Deiner SW
> benutzt?

Die Encoder habe ich noch nicht implementiert, d. h., dass die 
Pinbelegung noch frei ist. Wahrscheinlich werde ich die A-B-Signale der 
Encoder im µC erstmal durch einen digitalen Filter schicken, so dass 
eine präzise (schnelle und dennoch störungsfreie) Auswertung möglich 
wird. Um hier mit genügend "Fleisch" in den Filter reinzugehen, lese ich 
die SR mit 3.9kHz aus.
Das sollte dicke reichen und kann später bei Bedarf reduziert werden 
(siehe hierzu meine alternative Konfiguration des Timers).
Da ich die nächsten Wochen sehr wenig Zeit habe, wollte ich den Code 
unbedingt schon mal so zur Verfügung stellen. Jeder der Interesse hat, 
kann jetzt die HW testen / aufbauen, sich mögliche Funktionen überlegen 
und - bei Bedarf - die eine oder andere Zeile Code schreiben. Sobald ich 
dann wieder Luft habe, werde ich die angefallenen Ideen - Wünsche - 
Konzepte in Code gießen.
Folgende Punkte sind mir noch eingefallen:
• die Anzahl der 595er bzw 166er könnte jederzeit (ohne zusätzliche 
Leitungen) erhöht werden.
• Hierdurch könnte man z.B. einen Relais-basierten Stufenabschwächer 
steuern (brauchbar?)
• Über einen Piezo-Piep könnte bei jeder Encoderbewegung ein "Tick" 
ausgegeben werden
• Oder ein paar Status-LEDs...
• Ich würde dringend vorschlagen auf ain 4x16 / 4x20 LCD umzusteigen 
(bietet mehr Infos --> weniger Untermenus notwendig!)
• Walter, evtl kannst du schon mal ein paar Versuche bzgl. der 
Elektronik für die variable Duty Cycle durchführen?

Gruß

Achim

: Bearbeitet durch User
von Walter M. (wmarton)


Lesenswert?

Hi Achim,
bezüglich 4x16 LCD – TC1604A-01  ca.15€ bei Pollin hat die Abmessungen 
(BxHxT): 87x60x13,5 mm und würde ein größeres Chassis benötigen. Das 
momentan von mir vorbereitete Chassis hat die Frontabmessungen 84x75x61, 
und die Rückseite ist entsprechend dem China-Modul 100mm breit, so dass 
es rechts absteht und bequemen Zugang zu den SMA-Buchsen bietet. Je nach 
benutzte Gummifüße muß man auch die 75mm Höhe aufrechnen. Das sind die 
möglichen Minimal-Abmessungen. Wenn Dein Vorschlag den meisten zusagt, 
müssten wir uns auf ein bestimmtes LCD festlegen –nicht zu groß, nicht 
zu teuer…
BTW, die Drehencoder von Pollin funktionieren auch als Drucktaster, 
somit kämen wir auch mit einem aus. Wollen wir uns darauf einigen?

Deine Idee, die 595er zu kaskadieren finde ich super!  Vor allem für 
einen Relais-basierten Stufenabschwächer, den wir später einbauen können 
(es wird allerdings nicht einfach den Frequenzgang nah an die 100MHz 
über Relais flach zu halten – Alternativ könnte man z.B. ADG918 
einsetzen).
Auch der Piezo-Piep (hast Du Bezugs-Vorschlag?) und Status-LED (Anzeige 
Hauptmenü/Untermenü bei nur einem Drehencoder) gefällt mir solange die 
Steuerung nicht zu langsam wird.

Bezüglich variablen Duty Cycle muss man sich auf einige Randbedingungen 
einigen. Aus unserem Gespräch weiß ich dass es Dir sehr auf  Präzision 
bis <10ns Pulslängen ankommt, möglichst geringem Jitter und 
Reprodizierbarkeit. Die vermutlich beste  Lösung wäre, die 2 
differenziellen Analog-Out-Signale direkt von dem China PCB (DDS-pins 
48+49 sowie 61+62) per Drähtchen auszufüren und an 2 schnelle 
3.3V-Komparaturen (in einem IC, gleicher Temperaturgang – z.B. MAX962 
oder LMV762) anzulegen. Die Komparatorausgänge sollten dann 
NAND-verknüpft werden, so dass die resultierende Pulslänge (entspr. Duty 
Cycle) exakt der Phasendifferenz beider Signale entspricht. Der 
Ausgangs-Rechteck hätte dann 3.3V Amplitude, belastbar wie der 
verwendete NAND-Logik-Gatter. Die beschriebene Schaltung hat einen 
bestimmten Schwierigkeitsgrad und Kostenfaktor, sowie u.U. 
eingeschränkte Verwendbarkeit (welcher Frequenzbereich / Duty 
Cycle-Einstellbereich ist gewünscht?). Wenn es so OK ist, dann werde ich 
das PCB entsprechend vorbereiten (z.B. mit SMA? – der Ausgang muß aber 
50 Ohm fähig werden, z.B. mit Widerstands-Teiler, die Amplitude würde 
dann auf ca. 500mV reduziert werden…), bestücken kann es wer es braucht. 
Funktionieren wird es mit Sicherheit, aussagekräftige Experimente über 
die erreichbare Genauigkeit lassen sich aber nur mit einem sauberen 
Aufbau auf dem PCB durchführen.

@ Andre S. – es gibt eine Möglichkeit den Amplitudengang eines Ausgangs 
aktiv flach zu halten, indem ein Amplitudendetektor wie der AD8307 in 
einer Regelschleife den Rset steuert (leider mit entsprechender 
Zeitkonstante). Alle anderen Ausgänge wären aber von Toleranzen der 
Bauteile abhängig. Viel Aufwand und großer Schwierigkeitsgrad nach 
meiner Meinung, schlecht zum Nachbauen geeignet.

Gruß
Walter

von Hans-Georg L. (h-g-l)


Lesenswert?

Schön, das es mal wieder Leute gibt die an einem Projekt arbeiten und 
nicht nur alles nieder machen :)

Ich selbst habe mir das Ding als einfachen und mit dem PC einstellbaren 
Generator gekauft. Das tut er und es reicht mir im Moment. Langfristig 
wollte ich den Chip gerne etwas mehr ausreizen was aber mit dem China 
Modul in der bisherigen Form nicht möglich ist. Dafür braucht man die 
schnelle 100Mhz Anbindung und Ram für Kurvenformen ...
Aber da wäre eine neue Platine wahrscheinlich sinnvoller und würde den 
Rahmen eures Projektes sicher sprengen.

Walter Marton schrieb:
> BTW, die Drehencoder von Pollin funktionieren auch als Drucktaster,
> somit kämen wir auch mit einem aus. Wollen wir uns darauf einigen?

Hmm, ich kann mir im Moment nicht so richtig vorstellen wie man mit 
einem Drehencoder benutzerfreundlich 109.843.443 Hz von 0 an hochdreht. 
Ich werd mir mal ein paar Encoder bestellen und es ausprobieren.

> Deine Idee, die 595er zu kaskadieren finde ich super!

Ich würde da schon einen 2. MC nehmen.

> Bezüglich variablen Duty Cycle muss man sich auf einige Randbedingungen
> einigen. Aus unserem Gespräch weiß ich dass es Dir sehr auf  Präzision
> bis <10ns Pulslängen ankommt, möglichst geringem Jitter und
> Reprodizierbarkeit. Die vermutlich beste  Lösung wäre, die 2
> differenziellen Analog-Out-Signale direkt von dem China PCB (DDS-pins
> 48+49 sowie 61+62) per Drähtchen auszufüren und an 2 schnelle
> 3.3V-Komparaturen (in einem IC, gleicher Temperaturgang – z.B. MAX962
> oder LMV762) anzulegen. Die Komparatorausgänge sollten dann
> NAND-verknüpft werden, so dass die resultierende Pulslänge (entspr. Duty
> Cycle) exakt der Phasendifferenz beider Signale entspricht.

Wenn ich dich recht verstehe, würdest du gerne die Phasendifferenz der 
Beiden DA Wandler zur Pulslängen Einstellung verwenden. Das geht aber 
nicht weil die Phasenlagen von I und Q fix 90° sind. Das Phasenregister 
ändert daran nix.

> es gibt eine Möglichkeit den Amplitudengang eines Ausgangs
> aktiv flach zu halten, indem ein Amplitudendetektor wie der AD8307 in
> einer Regelschleife den Rset steuert (leider mit entsprechender
> Zeitkonstante). Alle anderen Ausgänge wären aber von Toleranzen der
> Bauteile abhängig. Viel Aufwand und großer Schwierigkeitsgrad nach
> meiner Meinung, schlecht zum Nachbauen geeignet.

Die SINC Korrektur regelt den prinzipbedingten Abfall des DAC und die 
Ausgangsfilter sollten bis zur Maximalen Ausgangsfrequenz noch keinen 
nennenswerten Abfall haben. Das ist dir zu ungenau ?

@alle
hat irgendwer schon mal die Ausgangsfilterqualität vermessen ?

von Achim D. (achim_d)


Angehängte Dateien:

Lesenswert?

Hans-Georg Lehnard schrieb:
> Hmm, ich kann mir im Moment nicht so richtig vorstellen wie man mit
> einem Drehencoder benutzerfreundlich 109.843.443 Hz von 0 an hochdreht.
> Ich werd mir mal ein paar Encoder bestellen und es ausprobieren.

Das macht man z.B. so (siehe Anhang).

Gruß

Achim

von Walter M. (wmarton)


Lesenswert?

Hallo Hans-Georg,

Du hast Recht, die Phasendifferenz beider Signale kann nicht verändert 
werden, mir war das nicht bewusst. Damit ist die beschriebene Idee 
leider hinfällig…
Die Alternative für programmierbaren Duty Cycle über die Umwandlung 
sinus->rechteck->rampe und Vergleich mit programmierbaren DC-Pegel ist 
leider ungenau und jitter-anfällig. Wäre da ein separat programmierbarer 
Zähler am DDS-Modul-Ausgang nicht besser/genauer?

„…die Ausgangsfilter sollten bis zur Maximalen Ausgangsfrequenz noch 
keinen nennenswerten Abfall haben. Das ist dir zu ungenau ?“

Je nachdem was man als nennenswert betrachtet… von 3-Stufigen Filtern 
würde ich nicht viel erwarten, habe aber leider keine Messgeräte dabei 
für genauere Aussagen. Hab auch nicht vor, das Ding jenseits 50MHz zu 
betreiben, die Worte waren an Andre S. in Bezug auf seine Fragen 
gerichtet. Wer aber auch mit den präzisen 90° zwischen I und Q nach den 
Filtern und jenseits 50MHz rechnet sollte es vielleicht zuvor 
überprüfen…

Falls Du virenfreie PC-Software hast (USB-version), wäre ich daran 
interessiert und bitte darum...

Gruß
Walter

von Hans-Georg L. (h-g-l)


Lesenswert?

Ich habe mir auch erst das Modul gekauft und dann das Datenblatt richtig 
gelesen ;)

Wenn die interne Updatefunktion jedesmal den Accumulator bei Phase 0 neu 
starten würde könnte man den Ausgang als Start und den I Ausgang mit dem 
Komparator als Stop Signal verwenden. Dann sollte sich das 
Tastverhältnis über die Phasenregister einstellen lassen ... aber das 
ist nur Theorie.

An Software habe ich leider nichts fertiges sondern nur Baustellen.
Wäre auch nur für Windows, sind noch andere Sachen mit drin und ist sehr 
dynamisch. Passt auch nicht zu der Original Firmware auf dem Modul.

von Stefan V. (vollmars)


Lesenswert?

Was haltet ihr von diesem  Board:
http://www.aliexpress.com/item/High-speed-dds-module-ad9854-evaluation-board-signal-generator-ad9854/1712569933.html

Müsste doch zur Ankopplung an FPGA oder schnellen Prozi, ich denke da an 
den STM32F407, gut geeignet sein.

Gruß
Stefan

von Walter M. (wmarton)


Lesenswert?

mal angenommen, den Duty Cycle wollen wir in 1024 digitalen Schritte 
aufteilen. Die maximal mögliche Auflösung pro Schritt ist ca. 3.3ns 
(Kehrwert von den 300MHz sampling Frequenz). Also beträgt die minimal 
mögliche Periodendauer bei der der Duty Cycle so genau gesteuert werden 
kann 3.3µs (max 300kHz). Wenn das OK ist, dann könnte man 600kHz 
Ausgabefrequenz programmieren und jede Periode einen Phasensprung (bei 
der Frequenz mit dem Atmel locker zu schaffen) mit wechseldem Vorzeichen 
einprogrammieren, der der gewünschten Duty Cycle-Abweichung von 50% 
entspricht. Mit einem anschließenden Teiler /2 erhält man dann die 
300kHz mit dem gewünschten Duty Cycle.
Der Teiler muss per Reset synchronisiert werden, um nicht den Kehrwert 
vom Duty Cycle auszugeben.
Was denkt Ihr, ist der Vorschlag brauchbar?

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

Unglaublich: Nach 7 Tagen Diskussion mit Verkäufer
habe ich endlich den Link zur SW erhalten.
Laut Virenscanner sauber.
So, wenn ihr nix mehr von mir hört, hatte sich der Virenscanner geirrt 
.... :-)

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

Chinesische Datenblätter in rauhen Mengen, 4 exe Dateien, eine 1000 
zeilige C-Quelle und ein paar libs.

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

Frage in die Runde:
Tauscht jemand 45 Mb chinesche version der SW gegen englische Version ?

von Achim D. (achim_d)


Lesenswert?

Stefan V. schrieb:
> Was haltet ihr von diesem  Board:
> 
http://www.aliexpress.com/item/High-speed-dds-module-ad9854-evaluation-board-signal-generator-ad9854/1712569933.html
>
> Müsste doch zur Ankopplung an FPGA oder schnellen Prozi, ich denke da an
> den STM32F407, gut geeignet sein.

Sehr interessant! Das Board hänge ich im nächsten Projekt an ein 
DE0-Nano! Sammelbestellung?

Walter Marton schrieb:
> mal angenommen, den Duty Cycle wollen wir in 1024 digitalen Schritte
> aufteilen. Die maximal mögliche Auflösung pro Schritt ist ca. 3.3ns
> (Kehrwert von den 300MHz sampling Frequenz). Also beträgt die minimal
> mögliche Periodendauer bei der der Duty Cycle so genau gesteuert werden
> kann 3.3µs (max 300kHz). Wenn das OK ist, dann könnte man 600kHz
> Ausgabefrequenz programmieren und jede Periode einen Phasensprung (bei
> der Frequenz mit dem Atmel locker zu schaffen) mit wechseldem Vorzeichen
> einprogrammieren, der der gewünschten Duty Cycle-Abweichung von 50%
> entspricht. Mit einem anschließenden Teiler /2 erhält man dann die
> 300kHz mit dem gewünschten Duty Cycle.
> Der Teiler muss per Reset synchronisiert werden, um nicht den Kehrwert
> vom Duty Cycle auszugeben.
> Was denkt Ihr, ist der Vorschlag brauchbar?

Super Idee! Aber der Teiler darf unter keinen Umständen aus der 
Synchronisation laufen.

Gruß

Achim

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Hallo allerseits,
interessante Neuigkeiten, aber noch eine andere Baugruppe ist mir eben 
untergekommen: ein Doppel- VFO mit 2 * AD9951. Fertige Baugruppe für 
167€:

http://www.funkverleih.de/shop/index.htm

Den müsste man nur anders ansteuern, und schon hätte man die gewünschte 
wählbare Phasenverschiebung mit 14 Bit Auflösung. Allerdings gibt er 
keine Rechteckimpulse aus. Bestechend ist die geringe Verlustleistung 
(je 171 mW).

Datenblatt AD9951:
http://www.analog.com/static/imported-files/data_sheets/AD9951.pdf

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

Hallo,
Ich muss jetzt doch noch mal fragen:
Gibt es überhaupt eine englische Version der Software oder ist bei euch 
auch alles auf chinesisch ?

Gruss

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Hallo Andre,
hier ist ein Link auf die bei mir laufende englische Software:
http://www.wkiefer.de/x28/AD9854/SoftwareAD9854.7z

Und noch ein paar Quellen:

http://www.wkiefer.de/x28/AD9854/DDS_AD9854_mega32.zip

Gruß Wolfgang

von Andre S. (Firma: privat) (hainewaldi)


Lesenswert?

Hallo Wolfgang,
Danke!
Gruss Andre

von Iwan (Gast)


Lesenswert?

Hallo Zusammen,kann iemand mir helfen?ich brauche die Schaltplan fuer 
DDS-AD9854 china module mit 5 BNC socked outputs -120Mhz sine.
Danke-LZ1ISG 73.

von AR (Gast)


Lesenswert?

Hallo Achim,

wo bekommt man die(Streifenraster-)Platine mit dem Steckbrett-Schema, 
die auf dem Bild Aufbau.jpg vom 06.06.2014 18:11 zu sehen ist ?

Gruß

Arno

von Achim D. (achim_d)


Lesenswert?

Hallo Arno,

die Platine habe ich irgendwo mal aus China bestellt.
Suche mal bei Ebay - evtl. gibt es die noch?!

@ Wolfgang & Walter: Gibt es bei euch Updates?

Gruß

Achim

von Rus Talisin (Gast)


Lesenswert?

This question may be related to one that Jan Wagner posted awhile back.
> Jan was having trouble with excessive output  jitter
>
> PLL-like nature of these graphs suggested a problem with the chip's
> clock multiplier.  I was able to confirm that indeed, the problem
> occurred ONLY with the DDS chip's internal PLL-based clock multiplier
> engaged, with a 10 MHz external clock being multiplied to frequencies
> between 80 and 120 MHz.  With an unmultiplied 100 MHz external clock,
> the DDS works perfectly with no 'ears', spurs, or instability.
>
> At this time I don't understand what's going on with this assembly.
> It's not a complicated circuit; the AD9854 is a very robust, hard-to-
> screw-up chip, and in general there's very little to go wrong.  I have a
> good deal of experience with the AD9852 / AD9854 parts, and have never
> seen this behavior before.
>
> Has anyone else run into this weirdness?
>
> -- jm
>
> ------------------------------------------------------
> ------------------------------------------------------
TALISIN   reply  :

JIM .. phase jitter in this device is certainly due to the clk 
multiplier, what did u do to pin 22 , spec is to decouple it to Analog 
Ground ,  bet u couple it to Dig GND . U also need 2 regulated supplies 
not the lazy single u have.   AND not a 10MHz clock.

That is outside the spec of min 20MHz .. Regardless, of those 2 or 3 
failures , a 4:1 balun ought be used for ext single to differential 
input for such a critical issue.

Little wonder amateur radio is called by the name. Go on.. get out of 
joint as all English take offence at rainfall.. Cheee !!

https://groups.google.com/forum/#!topic/rec.radio.amateur.homebrew/5_uNE0_T33k

WOLFGANG  : GOOD post  if only GooG can translate this, so far NOT @*##%

I was searching for issues in the Chinese boards.. have bought the 
parallel port with mezzanine controller and the only USB single board 
with JTAG and dual regulators ..   Anyone used either of these $100 
boards ?  its 2016 , sure is hard to find peop outside of China AD using 
the good oil ..  this is actually a great digital PLL for a Rx digital 
radio ..Rus Talisin  on g+

OK Wolfgang is using todays board  with JTAG socket + 2 x V. Regs.. jus 
buy one  ALSO the  STM32103  and  the X1 (that has better dual voltage 
regulators on the controller mezzanine board (its the only other dual 
board system)  ANYONE have experience with serial port X1 board ..  & 
software (pls email) ..
NOW : working with an AD engineer to interfce SPI controller thru JTAG 
i see  a russian project engineer works with  FPGA   Core to control 
DDS  thru JTAG .  Have u interest to do something phenomenal ?  The 9854 
is the perfect digital demodulator when inside the main frequency 
converter of A/D front end  AD6676 :
https://wiki.analog.com/resources/eval/ad6676-wideband_rx_subsystem_ad6676ebz
Rus Talisin  look me up on G+

von Echo (Gast)


Lesenswert?

Thread wiederbeleb

Ich benötige für ein Experiment einen kostengünstigen Signalgenerator 
der in der Lage ist ein TTL-Rechtecksignal mit ca 10KHz bei einer sehr 
hohen Auflösung, möglichst 1µHz, zu erzeugen. Dementsprechend sieht das 
AD9854-Modul sehr gut aus für mich.

Aber es steht die Frage im Raum ob eine der hier geposteten 
Softwarelösungen in der Lage ist das Signal mit 1µHz zu erzeugen?

von B e r n d W. (smiley46)


Lesenswert?

> ca 10KHz bei einer sehr hohen Auflösung, möglichst 1µHz

Bei einem 48Bit Frequenzregister wäre das vorstellbar. Das Ausganssignal 
kann zusätzlich z.B. durch 1024 dividiert werden.

von Frequenzdummy (Gast)


Lesenswert?

Echo schrieb:
> Ich benötige für ein Experiment einen kostengünstigen Signalgenerator
> der in der Lage ist ein TTL-Rechtecksignal mit ca 10KHz bei einer sehr
> hohen Auflösung, möglichst 1µHz, zu erzeugen.

Ich glaub es einfach nicht. Hier wird verarscht was das Zeug hält.

Ein Signal von xx Khz mit einer Auflösung von yyy zu erzeugen
macht keinen Sinn. Schon die Aussage nicht.
Ein festes Signal hat keine Auflösung in der Frequenz, nur eine
Genauigkeit.

von Echo (Gast)


Lesenswert?

Okay, umformuliert: Ich möchte ein Rechtecksignal mit ca 10KHz erzeugen 
und es im µHz-Bereich variieren können.

von Frequenzdummy (Gast)


Lesenswert?

Echo schrieb:
> Okay, umformuliert: Ich möchte ein Rechtecksignal mit ca 10KHz erzeugen
> und es im µHz-Bereich variieren können.

Gut. Und welche Anforderungen hast du an die Nebenlinien des
Signals? Nebenlinien sind nichtharmonische Frequenzanteile des
Grundsignals (Grundwelle) und die erzeugen dir einen Phasenjitter,
was also eine temporäre Frequenzverschiebung bedeuted. Wenn du
schon so genaue Frequenzen haben willst dann musst du darüber
vielleicht auch nachdenken.

Auf jeden Fall bräuchtest du einen DDS mit hoher Registerbreite,
32 Bit reichen nicht aus, 40 Bit gibt es wohl nicht, dann sollten
es also 48 Bit sein (ich kenne noch den AD9956 der diese Eigenschaft
hätte).

von Echo (Gast)


Lesenswert?

Und genau wegen der 48Bit Registerbreite, die mir 1µHz Auflösung 
ermöglicht interessiere ich mich für das AD9854-Modul. Leider habe ich 
keine Ahnung von Jitter und weiß auch nicht wie groß er beim AD9854 im 
Endeffekt sein wird und ob er sich im µHz-Bereich deutlich bemerkbar 
macht.

Natürlich kann man einen 1024-Teiler nehmen um damit mit der bestehenden 
Software eine µHz-Variation zu bewirken. Aber ich würde gerne die Umweg 
vermeiden, zumal ich nicht weiß ob der Teiler zusätzlichen Jitter 
produziert.

Vermutlich werde ich mir erstmal den AD9850 ansehen, der zwar nur 232µHz 
Auflösung schafft (32Bit Registerbreite bei 1MHz Eingangsfrequenz), aber 
günstiger und einfacher meinerseits zu konfigurieren ist. Mit dem sollte 
es auch erstmal möglich sein abzuschätzen ob meine zugehörige Schaltung 
ausreichend gut ist.

von B e r n d W. (smiley46)


Lesenswert?

> einen 1024-Teiler nehmen
> zumal ich nicht weiß ob der Teiler zusätzlichen Jitter produziert.

Wenn ich mich recht erinnere, halbiert sich Jitter bei jedem dividieren 
durch Vier. Bei einer zu hohen Frequenz erzeugt allerdings die DDS 
deutlich mehr Jitter.

von Pandur S. (jetztnicht)


Lesenswert?

Duerften wir etwas mehr von der Anwendung erfahren ? Denn die Specs 
machen wenig Sinn. Absolute Genauigkeit, Stabilitaet ? Wird schwierig. 
Denn 10kHz sind 5 Stellen, und uHz sind nochmals 6 Stellen. Eine 
Frequenz mit 11 dezimalen Stellen, sind naja .. sportlich.

Also was soll's ?

von achimdoebler@gmail.com (Gast)


Lesenswert?

Oh D. schrieb:
> Eine Frequenz mit 11 dezimalen Stellen, sind naja .. sportlich.

Nicht nur das, bei einer derartigen Anforderung braucht man auch eine 
stabile Referenzfrequenz, z. B. einen Rubidiumoszillator,  ansonsten 
sind uHz uninteressant.

A. Döbler

von Ralph B. (rberres)


Lesenswert?

achimdoebler@gmail.com schrieb:
>> Eine Frequenz mit 11 dezimalen Stellen, sind naja .. sportlich.
>
> Nicht nur das, bei einer derartigen Anforderung braucht man auch eine
> stabile Referenzfrequenz, z. B. einen Rubidiumoszillator,  ansonsten
> sind uHz uninteressant.

Selbst ein Rubidiumoszillator stößt da bereits an seine Grenzen.

Hier kommt man bereits in die Größenordnung bei der ein Cäsiumnormal das 
angesagte Teil wäre, aber nur wenn das Gerät Tag und Nacht durchläuft. 
Es garantiert nämlich nur die Langzeitstabilität. Die Kurzzeitstabilität 
müsste der Quarzoszillator bzw. der angebundene Rubidiumoszillator 
leisten.

Echo schrieb:
> Ich benötige für ein Experiment einen kostengünstigen Signalgenerator
> der in der Lage ist ein TTL-Rechtecksignal mit ca 10KHz bei einer sehr
> hohen Auflösung, möglichst 1µHz, zu erzeugen. Dementsprechend sieht das
> AD9854-Modul sehr gut aus für mich.

Es stellt sich mir schon die Frage wozu man so eine kleine Schrittweite 
benötigt. Ich kenne auch kein Frequenzzähler der diese 10KHz mit dieser 
Genauigkeit bis auf die letzte Stelle stabil anzeigen würde.

Da spielen nämlich das Jitter sowohl in dem DDS Synthesizer als auch in 
der
Signalverarbeitung des Frequenzzählers schon eine erhebliche Rolle.

Ralph Berres

von achimdoebler@gmail.com (Gast)


Lesenswert?

Ralph B. schrieb:
> Selbst ein Rubidiumoszillator stößt da bereits an seine Grenzen.
>
> Hier kommt man bereits in die Größenordnung bei der ein Cäsiumnormal das
> angesagte Teil wäre, aber nur wenn das Gerät Tag und Nacht durchläuft.
> Es garantiert nämlich nur die Langzeitstabilität. Die Kurzzeitstabilität
> müsste der Quarzoszillator bzw. der angebundene Rubidiumoszillator
> leisten.

Das sehe ich genauso. Das ist eine hochgradig schwierige Anforderung, 
die man nicht "mal eben schnell" realisiert. Die dahinter stehende 
Anwendung würde mich sehr interessieren. Ich habe auf Basis des DDS ICs 
schon einen Generator realisiert (https://youtu.be/8bkFkVVpOZQ) aber das 
war NICHTS gegen diese Anforderung.

Gruß A. Döbler

von Echo (Gast)


Lesenswert?

Im Prinzip gehts darum mit den 10 KHz einen Frequenz/Spannungs-Konverter 
anzusteuern, um damit einen extrem stabilen (Absolutgenuigkeit des 
Konverters irrelevant durch nachfolgende Kalibration) einstellbaren 
Ratio-Spannungsteiler zu realisieren, ohne die Verwendung von vielen 
Widerständen und DACs.
Der F/U-Konverter, DDS-Generator und der zugehörige TCXO oder OCXO 
würden alle in einem kleinen temperaturgeregelten Ofen sitzen um 
Temperaturdrift auszuschließen.
Ausgehend davon dass eine Frequenzänderung von 1KHz Ansteuerfrequenz 
eine Ausgangsspannungsänderung von 1V hervorruft, ermöglicht die 
Auflösung von 1µHz Spannungsschritte im nV-Bereich.

Jetzt ist eben fraglich wie alterungsstabil der Konverter und ist, wie 
langzeitstabil z.B. ein OCXO wäre und wie stark sich Jitter auswirken.

Siehe Seite 13: http://cds.linear.com/docs/en/datasheet/1043fa.pdf 
"F/V-Converter"

von B e r n d W. (smiley46)


Lesenswert?

Dann gibt es weitere Fragen:

- Wie genau ist die Referenzspannung inclusive Ripple/Rauschen?
- Wie soll das 10 kHz Signal gefiltert werden,
  damit diese Nanovolts als DC-Signal übrig bleiben?
- Welche Schaltung kann das Signal weiterverarbeiten,
  ohne nicht mindestens 50-100nV als Rauschen zu addieren.

: Bearbeitet durch User
von Ralph B. (rberres)


Lesenswert?

Echo schrieb:
> Im Prinzip gehts darum mit den 10 KHz einen Frequenz/Spannungs-Konverter
> anzusteuern, um damit einen extrem stabilen (Absolutgenuigkeit des
> Konverters irrelevant durch nachfolgende Kalibration) einstellbaren
> Ratio-Spannungsteiler zu realisieren, ohne die Verwendung von vielen
> Widerständen und DACs.

Soll man das so verstehen das du einen Kalibrator für Multimeter 
entwickeln willst?

Echo schrieb:
> Der F/U-Konverter, DDS-Generator und der zugehörige TCXO oder OCXO
> würden alle in einem kleinen temperaturgeregelten Ofen sitzen um
> Temperaturdrift auszuschließen.
> Ausgehend davon dass eine Frequenzänderung von 1KHz Ansteuerfrequenz
> eine Ausgangsspannungsänderung von 1V hervorruft, ermöglicht die
> Auflösung von 1µHz Spannungsschritte im nV-Bereich.

Schnappsidee!

Echo schrieb:
> Jetzt ist eben fraglich wie alterungsstabil der Konverter und ist,

Vermutlich längst nicht stabil genug.

Echo schrieb:
> wie
> langzeitstabil z.B. ein OCXO wäre und wie stark sich Jitter auswirken.

Das sollte das geringste Problem sein. 10exp-7 / Jahr ist mit einen 
Agilent Quarzofen zu erreichen ( HP10544 ). Viel genauer sind auch Fluke 
Kalibratoren nicht.

Nebenbei bemerkt. Die Fluke Kalibratoren sind nicht umsonst so teuer. 
Das Geheimnis liegt nämlich in der Art wie sie über so einen weiten 
Bereich die Spannungsschritte so genau und langzeitstabil einhalten.

Wenn du schon in diese Gefilden einsteigen willst, das Stichwort heist

josephson spannungsnormal siehe

https://www.ptb.de/cms/de/ptb/fachabteilungen/abt2/abt2-josephson.html

Den Aufwand wirst du nicht treiben wollen können.

Ralph Berres

von achimdoebler@gmail.com (Gast)


Lesenswert?

Echo schrieb:
> Ausgehend davon dass eine Frequenzänderung von 1KHz Ansteuerfrequenz
> eine Ausgangsspannungsänderung von 1V hervorruft, ermöglicht die
> Auflösung von 1µHz Spannungsschritte im nV-Bereich.

Meiner Ansicht nach ist das mit der Frequenzgenauigkeit noch zu machen 
(wenn auch richtig schwierig). Das mit den einzelnen Nanovolt kannst du 
jedoch vollkommen vergessen. Präzise und stabil Schritte von 1µV zu 
realisieren ist schon kein Kinderfasching mehr. Was du möchtest, ist 
lediglich um den Faktor 1000 genauer. Ich meine außerdem, dass man da 
bereits im Bereich des thermischen Rauschen liegt - somit kann in diesem 
Bereich alles nur noch statistisch beschrieben werden. Wie Berndw 
bereits formuliert hat: Welche Schaltung (auf diesem Planeten) gibt es, 
die nicht ein höheres  Eigenrauschen besitzt? Verstehe mich bitte nicht 
falsch - ich bin immer ein Fan von schwierigen Projekten, allerdings 
scheint mir dieses Projekt was für einen theoretischen Physiker im LHC 
zu sein.
Gruß
A. Döbler

von Echo (Gast)


Lesenswert?

Natürlich kann man mit keiner bei Raumtemperatur betriebenen Schaltung 
das Johnson-Rauschen aushebeln, aber man kann versuchen eine Spannung zu 
erzeugen die unter 1µV stabil ist. Das setzt natürlich sehr gutes 
Schaltungsdesign, Temperaturstabilisierung usw. voraus.
JJAs sind mir wohlbekannt und auch die Simulation des 23-Bit-PWM-DAC in 
einem Fluke 5700A-Kalibrator läuft bei mir bereits in LTSpice 
einwandfrei.

Mein Überlegung war bloß ob man die notwendige hochaufgelöste PWM (mehr 
als 16Bit zur Umgehung eines 2-stufigen Designs) eventuell ersetzen kann 
durch eine hochstabile und hochauflösende Frequenz, um damit zum 
gleichen Ergebnis zu kommen: aus einer 7,1V Zenerreferenz (LTZ1000) 10V 
zu erzeugen bei Vermeidung einer driftenden 
Widerstandsteilerkombination. Natürlich kann man hochstabile 
Widerstandsteiler von Vishay verwenden, aber wo bleibt da der 
Spaß...zumal man in den 3 Monaten Lieferzeit sicherlich auch gute 
Schaltungen entwickeln kann.

Hier übrigens der Schaltplan eines Datron 4910, der mittels PWM das 
macht, was ich über Frequenz versuche: 
https://doc.xdevs.com/doc/Datron/4910_4911/4910%20c20090120%20%5B8%5D.pdf

Hier der Schaltplan des Fluke 5700A, PWM-DAC auf Seite 514, Filter auf 
Seite 519: 
https://xdevs.com/doc/Fluke/5700a/Fluke_5700A_5720A_Multi-Function_Calibrator_Service_Manual.June_1996.pdf

@ Bernd W:
Referenz LTZ1000 7,1V ca 1,3µVpp Rauschen
Filter: wie im Datron 4910 ein Tiefpassfilter hoher Ordnung oder 
eventuell Sallen-Key-Filter, wobei der Datron-Filter schon sehr gut ist 
wie meine Fluke PWM-DAC-Simulation zeigt (natülich sind Simulationen nur 
idealisiert...).
Ein paar hundert nV-Rauschen wird man nicht vermeiden können und die 
sollen mich auch nicht stören.

Da ich mich aber wie gesagt nicht mit aktuell verfügbaren Zeitbasen und 
Jitter auskenne, wollte ich hier mal reinhorchen ob sich das Konzept 
machbar anhört.

von Pandur S. (jetztnicht)


Lesenswert?

Sobald man mit PWM und Frequenzen Spannungen erzeugen will kommt die 
Speisung/Spannungsreferenz rein. Bei einem PWM geht die speisung linear 
rein. Dh 1ppm Wackel an der Speisung/Spannungsreferenz bringt auch 1ppm 
Wackel am PWM Ausgang.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.