aufzeichnen eines bit-streams von 14mhz mit mikrocontroller?

Gast #457932
Lesenswert?

hallo,

seht ihr eine möglichkeit mit relativ einfachen (=hobby) mitteln ein 
signal aufzuzeichnen (abgesehen vom speicher-oszi ;-) ), das etwa 
14mhz/14mbits schnell ist. es handelt sich um einen seriellen bit-strom 
auf nur einer leitung. die gängigen µC sind ja selbst nur mit 8/16/20mhz 
getaktet, also fallen die vermutlich ja sowieso schon raus, oder ?!
fpga wäre vermutlich eine möglichkeit, aber stelle ich mir jetzt auch 
nicht so unkompliziert vor, wenn man in der richtung noch keine 
erfahrungen hat.

hat jemand 'ne praktikable idee?

mfg qs
Gast #457970
Lesenswert?

Wenn du das Clock Signal, das die genauen Abtastpunkte vorgibt, noch 
dazu hast, gehts vielleicht über die SPI Schnittstelle eines schnelleren 
Controllers.
Mit einem FPGA gehts ziemlich sicher. Allerdings sollte man, wenn man 
den Takt des Signals nicht rekonstruieren kann, mit einer wesentlich 
höheren Abtastrate aufzeichnen, sonst erkennt man auf dem 
aufgezeichneten Signal nichts mehr.
Gast #457998
Lesenswert?

Naja relativ einfache sind die Mittel schon, nur ist es halt keine 
Sache, die man mal so eben in einer Stunde gelötet hat.

Man nehme ein SRAM und ein CPLD, in welchem ein Adresszähler für das 
SRAM realisiert ist. Dieser Zähler wird mit dem SRAM verbunden, weiter 
brauchst du noch einen externen Takt (z. B. 48MHz?) zum hochzählen. An 
die 8 oder 16 Datenleitungen des SRAMs legst du 8-16 aufzuzeichnende 
Signale an. Durch ein Triggerimpuls wird der Zählvorgang gestartet und 
wenn das SRAM voll ist, sendest du die Daten einfach an den PC. Dies 
aber ist wieder ne andere Geschichte. Ich denke, dass sollte so in etwa 
machbar sein, wenn man sich halt wirklich auf die Grundfunktionen 
beschränkt. Wenn alles funktioniert, bekommst du so einen kleinen 
Logikanalysator mit 8 oder 16 Eingängen.
Gast #458035
Lesenswert?

@christoph: idealerweise ein paar sekunden, wobei da natürlich schon 
einiges an daten zusammenkommt, das ist klar...also kommt man um 
externen speicher nicht drumrum, die gängigen karten (mmc,sd) fallen da 
ja auf grund des hohen taktes=datenaufkommens aus, oder?

@matthias: der takt ist konstant und bekannt. hast du einen bestimmten 
prozessor im hinterkopf.

@aufreger: von der idee her sehr gut, geht natürlich in die gleiche 
richtung wie fpga (vom "erlernen" her, wenn man noch nie was damit 
gemacht hat). gehen wir mal davon aus, dass die daten einfach nur 
"rumliegen" sollen, verarbeitung muss während des einströmens nicht 
stattfinden.

wieviel "geschwindigkeitsüberschuss" wird man benötigen ? den 3fachen, 
4fachen takt des zu untersuchenden signals, für das register-geschiebe 
etc !?
Gast #458065
Lesenswert?

Ich würde die Aufgabe mit einem kleinen CPLD lösen. Ähnlich wie es 
Aufreger deluxe gesagt hat.

Letztendlich ist ein CPLD ideal für diese Aufgabe. Und dabei wird die 
Lösung wirklich noch übersichtlich sein. Du musst es ja nicht in VHDL 
schreiben, sondern könntest ja auch grafisch Gatter zeichnen, so wie du 
sie brauchst.
Gast #458092
Lesenswert?

@Travel Rec.

[ ] Du weisst das der 4040 ein ripple counter ist und diese nicht durch 
Geschwindigkeit glänzen.

Da für diesen Low Cost logic Analyzer sowieso noch anders Zeugs gebaucht 
werden würde, ist ein CPLD das Mittel der Wahl. Wer heute noch 
TTL-Gräber schaufelt, ähh bastelt, ist selber Schuld. Nostalgiker mal 
ausgenommen ;-)

@ qs

> idealerweise ein paar sekunden, wobei da natürlich schon
> einiges an daten zusammenkommt, das ist klar...also kommt man um
> externen speicher nicht drumrum, die gängigen karten (mmc,sd) fallen da
>ja auf grund des hohen taktes=datenaufkommens aus, oder?

Hmm 14 Mbit/s = 1,75 Mbyte/s. Schafft Compact-Flash locker. Wie es mit 
MMC/SD aussieht weis ich im Moment nicht. Würde aber vermuten, dass es 
knapp zu schaffen ist. Aber auch SRAM oder DRAM ist in den 
Grössenordnungen problemlos handhabbar (nur eben halt nicht dauerhaft 
gespeichert).

MFG
Falk
Gast #458112
Lesenswert?

Würde es gehen die Daten in 2 stück 74164 (8-bit Schieberegister, 
kaskadiert) ienzulesen, 16 bit parallel in den µC und per LPT parallel 
zum PC. Nur so'n Gedanke, wäre halt hardwaremäßig einfach zu 
realisieren.
Gast #458115
Lesenswert?

@Sonic

Im Prinzip schon, aber ein LPT macht auch "nur" 2 Mbyte/s unter besten 
Bedingungen.
Ich würde nen CPLD nehmen, und wenn die Messung abgeschlossen ist die 
Daten per uC + RS232/LPT/USB zum PC schaufeln.

MFG
Falk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren