Forum: Mikrocontroller und Digitale Elektronik Protokoll Analyser


von Klaus Dammann (Gast)


Lesenswert?

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

von dave (Gast)


Lesenswert?

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.

von Tobias Schneider (Gast)


Lesenswert?

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

von Klaus Dammann (Gast)


Lesenswert?

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.

von jason (Gast)


Lesenswert?

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

von FPGA-User (Gast)


Lesenswert?

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...)

von Klaus Dammann (Gast)


Lesenswert?

Hallo FPGA-User
Deine Antwort haben mir viele gesagt. Dann wird da auch was dran sein.
Mal schauen, ob ich das alles kapiere.
Gruß Klaus

von A.K. (Gast)


Lesenswert?

Bei 2MHz Abtastrate und 16MHz Taktfrequenz hast Du 8*8 = 64 Takte pro
Byte zur Verfügung. Das Schieben macht ja die SPI-Hardware. Sollte
ausreichen.

von Klaus Dammann (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

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

von Klaus Dammann (Gast)


Lesenswert?

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

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

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

von Tom (Gast)


Lesenswert?

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.

von Klaus Dammann (Gast)


Lesenswert?

Hallo Tom
die Google Suche mit FDTI245 ergab KEIN Ergebnis. Tippfehler ? Oder
Googlefehler ?
Gruß Klaus

von Tom (Gast)


Lesenswert?

Ja, ein tippfehler. FTDI musses heissen. Sorry, dafür gleich ein Link:

http://www.ftdichip.com/Products/FT245BM.htm

von Klaus Dammann (Gast)


Lesenswert?

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

von Thorsten (Gast)


Lesenswert?


von Klaus Dammann (Gast)


Lesenswert?

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

von Klaus Dammann (Gast)


Lesenswert?

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

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.