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
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.
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.
@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 !?
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.
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"
@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
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.
@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