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
Wie lang ist der Stream, soll er in ein RAM oder auf eine Festplatte oder Flash abgelegt werden ?
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"
14mHz sind doch kein Problem; dauert nur unheimlich lange, wenn alle 70s ein Bit kommt.
>>4040 oder aehnlich nehmen. Wenn, dann mehrere und dann auch nur 74HC4040 oder 74F4040, der Schnelligkeit wegen.
@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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.