Forum: Mikrocontroller und Digitale Elektronik Schaltung gesucht: DA-Wandler mit Werten aus RAM füttern


von Andreas W. (andreas_w_aus_e)


Lesenswert?

Hallo,
ich bin mir sicher, dass ich so etwas schon mal irgendwo (muss nicht 
hier gewesen sein) gesehen habe, ich habe es aber jetzt innerhalb von 2 
Tagen nicht mehr wiederfinden können.

Vielleicht kann jemand weiterhelfen:

Ein D/A-Wandler (gerne ab 10bit, gerne 1 MHz und mehr) soll mit Werten 
aus einem RAM gefüttert werden, welches vorher durch eine Schnittstelle 
(par. oder auch anders) von einem RasPI oder Arduino gefüttert worden 
ist.

Ich will das Suchfeld nicht durch zu viele Parameter eingrenzen, daher 
belasse ich es erst mal dabei, denn soviel scheint es dazu nicht zu 
geben.

Danke euch im voraus,
andreas_w_aus_e.

von Jim M. (turboj)


Lesenswert?

Andreas W. schrieb:
> Ein D/A-Wandler (gerne ab 10bit, gerne 1 MHz und mehr) soll mit Werten
> aus einem RAM gefüttert werden,

Sowas ist heutzutage in µCs integriert. EFM32 z.B. haben 2* 500kSps/12 
Bit DAC drin, und die EFM32GG gibts bis 1M Flash + 128KB RAM, den man 
notfalls extern erweitern könnte.

Filter mal die parametrische Suche von µC bei einem der großen 
Distributoren nach DAC Verfügbarkeit.

von Stephan (Gast)


Lesenswert?

In der Zeit hätetst Du die Schaltung schon selber fertig gehabt.
Nimm einen D/A Deiner Wahl mit Interface Deiner Wahl. Ob SPI, I2C oder 
Parallel können wir nicht wissen. Dann nimm einen µC, Arduino sonst was 
der die Daten holt und weitergibt.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das ist eine Aufgabe für ein "dual port RAM", das kann man unabhängig 
voneinander füllen und auslesen. Wurde gern für Bildschirmspeicher 
benutzt.

https://www.idt.com/products/memory-logic/multi-port-memory/asynchronous-dual-port-rams

von Martin (Gast)


Lesenswert?

Andreas W. schrieb:
> Ein D/A-Wandler (gerne ab 10bit, gerne 1 MHz und mehr) soll mit Werten
> aus einem RAM gefüttert werden, welches vorher durch eine Schnittstelle
> (par. oder auch anders) von einem RasPI oder Arduino gefüttert worden
> ist.

Das ist schön aber was willst du eigentlich wissen? Es ist nirgens eine 
Frage formuliert. Warum lernt man heute nicht mehr sich zu artikulieren?

von cmdr. Ebvious (Gast)


Lesenswert?

Bekommen denn nicht alle DACs die Werte aus dem RAM?

von Martin (Gast)


Lesenswert?

Sie könnten auch aus dem ROM/Flash kommen.

von Stephan (Gast)


Lesenswert?

oder von der MCU, Arduino etc.pp.

von Michael B. (laberkopp)


Lesenswert?

Andreas W. schrieb:
> Ein D/A-Wandler (gerne ab 10bit, gerne 1 MHz und mehr) soll mit Werten
> aus einem RAM gefüttert werden, welches vorher durch eine Schnittstelle
> (par. oder auch anders) von einem RasPI oder Arduino gefüttert worden
> ist.

Hat man ganz früher so gebaut, bei Videographikkarten, wie VGA, da hat 
die Elektronik des CRT Controllers ein RAM durchadressiert und die Daten 
an die D/A für RGB gegeben.

Weil die Anforderungen zu hoch waren für einen uC alleine.

Heute gibt es solche Chips nicht mehr, weil uC ein Videosignal direkt 
erzeugen können und auch 1 Million mal pro Sekunde ein Wort an einen 
D/A-Wandler schicken könnten.

Wenn man es unbedingt selber bauen will ohne programmierbare Bausteine 
wie CPLD dafür aber maximal inflexibel, dann braucht man einen Taktgeber 
(z.B. 10MHz Quartz Oszillator) und einen Zähler (so viele bits wie das 
RAM Adressleitungen hat PLUS eine Ablaufsteuerung zum Laden eines Werts 
in den DAC braucht) und tut sich mit parallel ladbaren DACs einfacher 
als mit seriellen.

Komplex ist vor allem die Umschaltung auf das Laden des RAM durch den 
rPi/Arduino. Da können dual ported RAMs den Aufwand stark vereinfachen, 
sond aber heute auch selten, am besten aus einer Graphikkarte 
ausschlachten.

von andreas_w_aus_e (Gast)


Lesenswert?

Michael B. schrieb:

>
> Hat man ganz früher so gebaut, bei Videographikkarten, wie VGA, da hat
> die Elektronik des CRT Controllers ein RAM durchadressiert und die Daten
> an die D/A für RGB gegeben.

Stimmt, ich erinnere mich. die sog. RAMDACs ... ;-)

Ich sehe aber durchaus deinen Punkt.

Wichtig ist mir eine exakte Taktung, d.h. wenn ich einen RasPi nehmen 
würde und da grätscht ein anderer Prozess per Interupt dazwischen, 
verschiebt sich bereits die Ausgabe etwas und je höher die gewollte 
D/A-Frequenz ...
Wenn es da weiterführendes zu gibt, gerne.

Die andere Möglichkeit wäre wohl wirklich sowas wie einen XMC 4000er 
(z.B. XMC4100) zu nehmen, der macht das alles. Da muss man sich aber 
erst mal mit der Programmierung dieses µC auseinandersetzen.

von Martin (Gast)


Lesenswert?

Für welchen Geheimdienst ist das Projekt? Den Sinn und Zweck hällst du 
ja gut geheim.
Es waren schon oft Leute auf dem Holzweg weil ihr Denkansatz falsch war.

von Andreas W. (andreas_w_aus_e)


Lesenswert?

Martin schrieb:
> Für welchen Geheimdienst ist das Projekt? Den Sinn und Zweck hällst du
> ja gut geheim.
> Es waren schon oft Leute auf dem Holzweg weil ihr Denkansatz falsch war.

ich wollte halt die Theorie klären.
Es geht darum, auszuprobieren, ob ich mit einem Sender und zwei 
Empfängern nicht nur die Entfernung, sondern auch die Richtung 
herausbekommen kann. Ich könnte es mit fertigen Sendern machen, will ich 
aber nicht. Ich will weiter experimentieren, wie das Ergebnis mit 2 
Gegenständen "im Visir" (das klingt doch jetzt sehr nach Geheimdienst, 
oder?) aussieht. Ob dafür dann hinterher ein reiner Sinus oder was 
anderes zum Einsatz kommt, ist noch völlig offen. Ich bewege mich da auf 
Neuland für mich.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Andreas W. schrieb:
> Es geht darum, auszuprobieren, ob ich mit einem Sender und zwei
> Empfängern nicht nur die Entfernung, sondern auch die Richtung
> herausbekommen kann.

Und ... was hat das mit einem DAC und dem RAM zu tun? Falscher Thread?

von Markus F. (mfro)


Lesenswert?

Michael B. schrieb:
> Komplex ist vor allem die Umschaltung auf das Laden des RAM durch den
> rPi/Arduino. Da können dual ported RAMs den Aufwand stark vereinfachen,
> sond aber heute auch selten, am besten aus einer Graphikkarte
> ausschlachten.

So wie ich das sehe, braucht's das nicht. Ein Ringbuffer (DMA nach ADC 
ausgeben, per SPI-DMA befüllen) reicht für die Anforderungen, die wir 
bislang zu lesen bekommen haben.

Ein Teensy (z.B.) kann nebenher noch die Primzahlen bis Ultimo bestimmen 
und hat immer noch Zeit, in der Nase zu bohren ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.