Forum: Mikrocontroller und Digitale Elektronik aufzeichnen eines bit-streams von 14mhz mit mikrocontroller?


von qs (Gast)


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

von Falk (Gast)


Lesenswert?

USB Oszi.

MFG
Falk

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Wie lang ist der Stream, soll er in ein RAM oder auf eine Festplatte 
oder Flash abgelegt werden ?

von Matthias (Gast)


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.

von Aufreger deluxe (Gast)


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.

von qs (Gast)


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 !?

von Norbert (Gast)


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.

von Alex Trusk (Gast)


Lesenswert?

anstatt einen adresscounter in ein cpld/fpga zu programmieren koennte 
man einfach einen 4040 oder aehnlich nehmen.

grad gefunden, vllt sind ein paar denkanstoesse dabei:
Beitrag "Schnelle Speicherung von Daten"

von Michael (Gast)


Lesenswert?

14mHz sind doch kein Problem; dauert nur unheimlich lange, wenn alle 70s 
ein Bit kommt.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>>4040 oder aehnlich nehmen.

Wenn, dann mehrere und dann auch nur 74HC4040 oder 74F4040, der 
Schnelligkeit wegen.

von Falk (Gast)


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

von Sonic (Gast)


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.

von Falk (Gast)


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

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.