mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Protokoll Analyser


Autor: Klaus Dammann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Klaus Dammann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: jason (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: FPGA-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...)

Autor: Klaus Dammann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus Dammann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Klaus Dammann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dirk (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus Dammann (Gast)
Datum:

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

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ein tippfehler. FTDI musses heissen. Sorry, dafür gleich ein Link:

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

Autor: Klaus Dammann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Hersteller des Bausteins heißt FTDI, der Chip hat die Bezeichnung
FT245BM. Bei Reichelt findest du ihn hier:
http://www.reichelt.de/inhalt.html?SID=17NDKc%40qw...

Autor: Klaus Dammann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Klaus Dammann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.