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 FPGA-User Deine Antwort haben mir viele gesagt. Dann wird da auch was dran sein. Mal schauen, ob ich das alles kapiere. Gruß Klaus
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.
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 die Google Suche mit FDTI245 ergab KEIN Ergebnis. Tippfehler ? Oder Googlefehler ? Gruß Klaus
Ja, ein tippfehler. FTDI musses heissen. Sorry, dafür gleich ein Link: http://www.ftdichip.com/Products/FT245BM.htm
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
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%40qwQARIAAGpX7gI981a4de35fb2d11c1dfd88536de1dab8;ACTION=3;LASTACTION=4;SORT=artikel.artnr;GRUPPE=A213;WG=0;SUCHE=ft245;ARTIKEL=FT%2520245%2520BM;START=0;END=16;STATIC=0;FC=667;PROVID=0;TITEL=0;CASE=ignore;CONNECT=AND;WHOLE_WORD_SEARCH=0;SORT_SEARCH=standard
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
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.