Hallo,
ich möchte einen Protokoll Analyser entwerfen. Das soll ein Gerät
werden, ähnlich einem Logic Analyser, mit einem EIN Bit seriellen
Eingang und möglichst vielen 8 Bit Ausgängen. Das zu untersuchende TTL
Signal wird mit ca. 10 MHz seriell in ein Schieberegister eingelesen.
Die Auswertung soll dann ein AVR Controller übernehmen. Je länger
dieses Register ist, desto mehr Bit können dargestellt werden; ich habe
an 256 Bit gedacht. Jetzt suche ich ein solches Schieberegister seriell
in / parallel out. Natürlich kann man 32 ICs der Type 4094 als 8 Bit
Schieberegister hintereinander schalten. Man kann es auch lassen, das
wird ein IC Grab. Auch 16 Register als je 16 Bit sind nicht sehr
sinnvoll. Ich suche jetzt einen Baustein, der genau das kann. Ich denke
mal, in der Videotechnik könnte so einer Verwendung finden.
Gruß Klaus
Wie wärs, wenn du nen 20MHz AVR nimmst und das Hardware SPI nimmst?
Ich weis zwar nicht, wie schnell das im Slave-Modus arbeitet, aber im
Master würde das 10MHz schaffen.
Ich wuerde hier vll. mal einen einfachen CPLD ins auge fassen. Leider
hab ich die noch nie verwendet und weis nicht wie groß so ein CPLD dein
sollt eum ein 32 Byte Schieberegister zu implementieren.
Der CPLD könnte ja auch eine weitere Auswertung unternemen bzw.
unterstützen
Gruß Tobias
Hallo Tobias, hallo Dave,
erst einmal vielen Dank für die Antworten.
Zum SPI: so weit ich weiß, bietet das SPI (Serial Programming
Interface) das gleiche wie das ICSP bei den PICs, eine Änderung der
Programme ohne den µC auszubauen.
Meine Idee ist: die seriell eingelesenen Daten in ein langes
Schieberegister einzulesen, und diese Daten per AVR Byte für Byte
auszulesen. Um jetzt eine Auflösung von 1 µs zu erhalten, muss man nach
Shannon mindestens 2 fach schneller abtasten, das heißt mit 0,5 µs
sprich 2 MHz. Während dieser 500 ns hat der AVR Zeit, die Daten der
Schieberegister auszulesen.
Der Knackpunkt ist: ein 20 MHz AVR benötigt für einen Befehl mindestens
50 ns. 500 / 50 = 10, dass heißt der AVR hat 10 Takte Zeit; das ist wohl
zu wenig, denke ich. Immerhin sollen die Daten danach über die RS 232
zur Visualisierung an einen PC gesendet werden, das kostet wieder Zeit.
hey klaus!
das SPI (serial peripheal interface - der so ähnlich...) beim AVR ist
nicht nur zum programmieren da. schau mal in nem Datenbaltt von nem AVR
unter SPI nach. ich denke mal dave´s idee ist damit am einfachsten
realisierbar. einfach deine 32 byte einlesen, im ram zwischenlagern und
dann auswerten!
mfg
jason
wenn Du die Auswertung komplett im PC machen würdest,
wäre ein CPLD mit ext. RAM auch eine Alternative.
10 MHz wären überhaupt kein Problem.
Allerdings bräuchte man schon etwas mehr Gehirnschmalz,
damit man alles reinbekommt (RAM-Steuerung, RS232-TX-Funktion...)
Hallo A.K.
ich merke, schäm, das ich etwas lesen muß. Wenn der AVR das Schieben
der 8 Bit selbst übernimmt und während dieser Zeit etwas anderes
abgearbeitet werden kann, ... das sollte dann funktionieren.
Danke und Gruß Klaus
Hi,
ich hatte mir ein SPI Sniffer gebaut. Im SPI Slave Modus schaffst du
FOsc/4 also bei 20Mhz sind es max 5Mhz.
Du sammelst erstmal die Bytes ein und legst diese im internen SRAM ab,
wenn dieser voll ist kannst du es auf die serielle Schnittstelle
geben.
Gruß,
Dirk
Hallo Dirk,
Dein Sniffer hat, so denke ich, eine ähnliche Funktion wie mein
Protokoll Analyser. Wäre es möglich, dass ich von Dir einige
Schaltungsunterlagen bekäme ? Evtl. auch kommentierte Software ?
Gruß Klaus
Hi,
viel Hardware gibt es nicht. AVR Grundschaltung + Uart. SPI kommt an
Master mit CS.
Das Programm schaufelt 128 Bbyte ins interne SRAM und gibt diese dann
aus.
Gruß,
Dirk
Wie wäre es einen FDTI245 in Verbindung mit einem Schieberegister zu
nehmen und dann immer 8 Bit in den internen (FIFO)Speicher zu
schreiben? Das sind immerhin 384 Byte die Du ohne Übertragung durch den
USB speichern könntest.
Hallo Tom
ich habe ihn gefunden. Der Chip ist eine gute Lösung. Wo gibt es ihn ?
Bei Reichelt habe ich ihn nicht gefunden. Das Geräte sollte nachbaubar
sein, und nicht allzu teuer, will sagen unter EUR 50,00.
Gruß Klaus
An ALLE
ich bin begeistert, ich hätte nie gedacht, dass ich ein solch positives
Echo erhalte. VIELEN DANK AN ALLE.
Das gehört jetzt hier zwar nicht her, aber ... kann mir jemand bei
einem Geschirrspüler Bosch WTL 6500 weiterhelfen ? Meine Frau hackt
mich sonst !!
Gruß Klaus
Hallo
ich habe mich inzwischen mal schlau gelesen. Das SPI Interface wird bei
der JTAG Emulation benutzt. Entweder man schreibt den Code so schlau,
dass die JTAG Pins entweder zum Einlesen MEINER Bits dienen oder als
JTAG. Keine Ahnung, ob das überhaupt geht. Oder man nimmt den Vorschlag
mit dem FTDI von Tom ?
Gruß Klaus