Forum: Mikrocontroller und Digitale Elektronik AD Wandlung von 128 Bits in 1ms


von serdar (Gast)


Lesenswert?

Servus Leute,

hat jemand ne Idee wie man aus einer analogen Ausgangsspannung eine 128
bit digitale information hinbekommt? Uout hat eine Frequenz von ca 1MHz.

von Thorsten (Gast)


Lesenswert?

128 Bit ? Also wenn du das schaffst, kriegste ne Kiste Bier von mir! Es
ist schon schwierig genug, mit 24Bit zu arbeiten. Aber schreib doch mal
genaueres, vielleicht hab ich es ja falsch verstanden. Du willst ein
analoges Signal abtasten bei ner Auflösung von 128Bit?

von MSE (Gast)


Lesenswert?

Ne Kiste Bier ist ein Bisschen wenig, ich würde eher sagen, der
Nobelpreis winkt!

von MSE (Gast)


Lesenswert?

Würde man den einfachen Binärcode nehmen, dann entspräche das einer
Auflösung von etwa 3 mal 10 hoch -39. Ich fürchte, da ist die Natur
dagegen.
Aber vielleicht war ja nur gemeint, irgendwie 128 Bit zu füllen? Mit
entsprechender Redundanz geht das immer. Du mußt nur sagen, was alles
in den Code mit rein soll, dann kann Dir vielleicht einer Helfen!

von DerInder (Gast)


Lesenswert?

Wow 128bit, wofür braucht man eine Auflösung von ca.:
3400000000000000000000000000000000000000 ????

von Thorsten (Gast)


Lesenswert?

Vielleicht, um mit ner modifizierten SS20 ein Stecknadelkopf in unserer
Nachbargalaxie zu treffen ?

von Ingo Henze (Gast)


Lesenswert?

Vielleicht sind ja nicht 128 Bit, sondern nur 128 Stufen gemeint, also
effektiv 7 Bit !?

von MSE (Gast)


Lesenswert?

@Thorsten,
@Inder,
@alle anderen auch:

Die Frage ist nicht wofür. Die Sache ist die, dass die Physikeinfach
dagegen ist!
Die Quantenphysik sowieso, aber die klassische auch:
1. Rauschen
2. Störeinfluß:
Ich glaube, ohne nachzurechnen, behaupten zu können, dass der statisch
nur mit wenigen Elektronen aufgeladen Flügel eines Schmetterling an der
Nachbarhauswand, einen Störimpuls induziert wenn er sich bewegt, der
über der Auflösungsgrenze liegt.

Aber wozu das Gelaber, der Fragesteller hat bestimmt etwas anderes
gemeint,... er muß einfach was anderes gemeint haben!

von Thorsten (Gast)


Lesenswert?

> Ich glaube, ohne nachzurechnen

Rechne es doch vielleicht gerade mal nach, würde mich sehr
interessieren. Ich kann es leider nicht :(

von DerInder (Gast)


Lesenswert?

Na logisch wird er 128 Stufen gemeint haben, aber wo bleibt da der Spaß
:-D

von Ingo Henze (Gast)


Lesenswert?

Na gut, ich ziehe meine Vermutung zurück, Ihr könnt sie als
gegenstandslos betrachten. Schließlich ist ja heute Freitag :-)

von MSE (Gast)


Lesenswert?

@Thorsten

kann ich grad' auch nicht mangels Zeit aber ich hol' es nach, wenn
ich es nicht vergesse!

von gast (Gast)


Lesenswert?

Leute, ich hab mich kaputt gelacht.
Meine Frage war eigentlich so gemeint:
Ein analoges Signal, ändert sich jede µsec, und das 128 mal
hintereinander. Ich will diese 128 verschiedenen Werte nacheinander
einfangen (Ein Feld mit 128 Werten).
Dies schafft kein normaler AD Wandler, aber die DSP Controller schon.

Und wie stehts, hat jemand mal so ebbes gemacht?

Serdar

von Andreas Auer (Gast)


Lesenswert?

Hi.

Ich hoffe du meinst mit DSP nicht einen Signal Prozessor! 1µs ist ja im
prinzip noch nicht die Welt, aber mit nem Controller internen AD Wandler
schaffst du das natürlich nicht (zumindest beim AVR hört der Spaß bei
einigen 100 kHz auf, soweit ich weiß).
Aber wie wärs, wenn du einfach ein paar Gatter nimmst, oder einfacher
noch einen CPLD. Baust dir damit nen Zähler und gibst die binären
Zählwerte auf die Adressleitungen eines SRAMs. Dann nimmst du noch
einen ADC (z.B. von TI oder Analog Devices - hat den Vorteil, dass die
Samples verschicken), der sagen wir mal 10MS/s schafft. Dann gibst du
deine Datenleitungen (sagen wir mal 8 Stück) auf den Dateneingang des
RAMs. Nun betreibst du noch den ADC und den CPLD mit nem 1MHz Quarz und
schon sollte die ganze Sache funktionieren.
Ach ja... zum Auslesen des SRAMs solltest vielleicht noch nen AVR (oder
sonstigen µC) vorsehen, um die Daten weiterverarbeiten zu können!

mfg
Andreas

--
Student of Telematics            aauer1 (at) sbox.tugraz.at
Graz, University of Technology   http://www.mikrocontroller.at.tt

von Matthias (Gast)


Lesenswert?

Hi

ein AVR dürfte es auch noch schaffen mit 1MS/s abzutasten (externen,
paralleln ADC vorrausgesetzt) Bei 16MHz hat man 14-15 Befehle. Sollte
in ASM machbar sein.

Matthias

von Andreas Auer (Gast)


Lesenswert?

@Matthias:
Da könntest du wirklich recht haben, dass das ein AVR auch noch
schaffen kann. Sehr viel muss man ja nicht machen.
Eigentlich muss man nur die Daten an nem Port einlesen und ins intere
RAM abspeichern. Alle weiteren Schritte kann man ja machen, wenn die
128 "Messwerte" mal im Speicher sind!

mfg
Andreas

von gast (Gast)


Lesenswert?

"Eigentlich muss man nur die Daten an nem Port einlesen und ins intere
RAM abspeichern"


Schön und gut,
aber wie will ich eine Spannung an einem Port einlesen und ins RAM
abspeichern? Das Signal is ja analog und nicht digital. Da muss ich
doch zuerst das signal umwandeln bevor ich es abspeichern kann. Und
dazu kommt man an einem dsp nicht vorbei da dieser eine AD
wandlungszeit von 375 ns hat. Ich kenne keinen externen ADC der eine
Wandlungszeit von 1µs hat. Und wenn dann is er bestimmt sehr teuer.
AVR+ext.ADC kostet mehr wie ein dsp von ti (3€).
Wenn da drausen jemand schon ein dsp adc programmiert hat, kannsch mir
den code senden?

Danke an alle,

Serdar.

von Ingo Henze (Gast)


Lesenswert?

Könnte man nicht die 128 Werte erstmal irgendwie analog
zwischenspeichern, und später dann erst für die Weiterverarbeitung
digitalisieren?

Gruß
Ingo

von mmerten (Gast)


Lesenswert?

@gast
also DSP mit ADC min. 1 MS/s und Flash für 3 Euro wo gibt`s den ???

von gast (Gast)


Lesenswert?

das gibts bei ti.com (TMS320LF2401A) für 5$.

von Philipp Sªsse (Gast)


Lesenswert?

Wie schnell ändert sich denn voraussichtlich das Analogsignal und mit
welcher Auflösung brauchst Du es? Kommst Du nicht mit einem
entsprechend oversampleten 1-Bit-Wandler hin?

Gruß, Philipp.

von gast (Gast)


Lesenswert?

Das Analogsignal ändert sich zwischen 500 nsec bis 2µsec.
Ein 1-bit wandler würde ausreichen, ich will nur die werte vergleichen
und entscheiden ob das analogsignal in dem zeitpunkt eine 1 oder eine 0
ist. Prinzip komparator mir Uref. Ich müsste einer Feldvariable jede
µsec einen wert(0/1) zuweisen.
Und dann brauche ich noch ein program in C, aber das ist weniger das
problem.

ciau

von Volkmar (Gast)


Lesenswert?

Das hört sich schon ganz anders an als am Anfang. Plötzlich ist es nur
noch eine digitale Information? OK, die Schwelle ist Uref. Nimm doch
den analogen Komperator. Eine Seite mit Uref beaufschlagen, an den
anderen Eingang legst Du Dein Signal. Dann kannst Du den Wert direkt
alle 1µs einlesen und abspeichern.

Volkmar

von Andreas Auer (Gast)


Lesenswert?

Hi.

@gast:
Tja... das hättest auch gleich sagen können, dass du nur wissen willst
ob der Wert über_ oder _unter einer Schwellspannung liegt ;-).
Dazu brauchst auf keinen Fall nen ADC. Das wäre ja wohl absoluter
Overkill. Da reicht der AVR interne Komperator ja normalerweise leicht
aus. Du brauchst ja praktisch nur das Komparator Flag ins RAM
speichern. Bei nem 16Mhz Takt hast ja dann etwa 16 Befehle pro us. Das
sollte ja dann leicht reichen (zumindest in ASM).

mfg
Andreas

von gast (Gast)


Lesenswert?

Ja und was ist wenn die Schwellenspannung sich auch ändert?
Ich kenne eine Anwendung mit DSP wo das Analogsignal an ein Port namens
:
"I/O buffer suply 3,3V, Digital logik voltage".
Das ist weder der Komparator noch der ADC.
Was für ein Sinn macht das?

Serdar

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.