Hallo. Ich suche einen SPI Debugger/Logger mit kompletter Dekodierung (Adresse ...) und Anzeige der Daten (Binär und Hex). Habe schon danach gesucht aber nocht nichts gefunden. Das ganze sollte auf einem PC laufen, mit wenig Hardware! Habe mir auch schon überlegt so was selber zu bauen, aber da ich nur einmal die Komunikation zwischen 2 Systemen Analysieren muss ist es mir zu viel aufwand. Hat hier jemand von euch einen Tip? Viele Grüsse.
Am einfachsten ist es sicherlich einen kleinen uC dafür zu nehmen. Es wäre auch noch möglich ein/zwei Schieberegister zu nehmen diese an den Parallelport klemmen und per EPP auszulesen. Du wirst nur dann ein Problem kriegen wenn die SPI-Kommunikation recht flott (muß noch nicht mal dauerhaft sein, es reichen 2-3 Bytes die per SPI mit x MHz rausgeclockt werden) ist und dein PC nicht mitkriegt das da ein paar Bytes rein bzw durchgerauscht sind. Von daher ist es empfehlenswert einen uC zu nehmen, vor allem weil der sein RAM dann ja als Puffer verwenden kann und so nix verloren geht ...
Ich denke auch, wer so etwas oft braucht, ist mit einem Logicanalyzer besser bedient, da dieser einfach universeller einsetzbar ist. Zum o.g. LA gibt es hier im Forum auch einen längeren Thread.
Nun der Logic Analyzer ist mit Sicherheit sein Geld wert für jemanden der das Ding öffter braucht. Leider will ich aber nur einmal den Datenverker analysieren und dann würde er in der Ecke liegen. Die Taktrate liegt bei ca. 500KHz. Also MHz Signale habe ich noch nicht gemessen. Also wenn es keine andere Alternative gibt, muss ich wohl oder übel doch mal einen uC da dran hängen und die Daten über die SIO zum PC senden. Das sollte dann hoffentlich die einfachste Methode sein. Werde mal sehen was ich da an uC so finde, ein Mega 32 sollte da ja reichen.
Hi fertige Schaltung für sowas (Mega8 + FT245BM): www.matwei.de -> USBisp Ich hab aber keine Platinen mehr. Nur so als Ideeengeber. Matthias
Hi Matthias. Genau so hatte ich mir das vorgestellt. Werde wie ich schon geschrieben hatte wohl die RS232 Version aufbauen. Die USB Version ist aber auch nicht schlecht. Muss ich mir mal überlegen, ob ich mir die nicht auch mal baue. Kann man eingentlich ohne Umprogramierung die SPI mit dem MK-2 oder dem AVR-ISP Programmer abhören? Dann bräuchte ich mir nicht mal was bauen.
Hi Nein. Das Abhören einer SPI Verbindung mit einem AVRisp ist nicht möglich. Matthias
Habe heute auch noch festgestellt das die Sache doch viel kompilizierter ist als ich dachte. Ich muss ja 2 * die SPI Leitung mit schneiden (hin und rückweg). Und das Funktioniert so weit mir bekannt nicht mit einem uC. Nun kann ich mir zwar 2 aufbauen und versuchen die Daten passent zueinander wieder ausgeben oder ich besorge mir doch einen passenden Logic Analyzer. Werde mir noch mal alle infrage kommenden ansehen, ob die auch genau das erforderliche können.
oder nehme einen uC der 2x spi hat (z.b. MSP430). da hast du dann nur das problem das (speziell beim msp) du alle seriellen schnittstellen belegt hast (der hat 2 USARTs die wahlweise als SPI,RS232 oder gar I2C konfiguriert werden können, aber eben immer nur eins von 3 pro USART). ansonsten nimm einen CPLD der dir die daten einfängt und an einen uC weitergibt der diese wiederum zwischenspeichert und auf die serielle ausgibt. gruß rene
Eigentlich sollte das keine Diplom oder Doktorarbeit werden. Und mit CPLD & FPGA kenne ich mich nicht aus. Das ist alles viel zu umständlich. Da werfe ich dann doch lieber 400€ raus und kaufe mir einen Logic Analyzer. Habe grad mal nach gesehen was ich noch so an Porzessoren habe und ausser Mega32, Mega48, 8052 und M16C62 ist nichts da. Der M16C hätte zwar 5 * SIO aber anscheinend kann der kein SPI. Zu mindestens steht nichts im Datenblatt.
Alternative ohne Verwendung von 2 Hardware-SPIs: 2x 74HC595 am externen Bus des Mega162. Einer für MISO einer für MOSI. SCK zusätzlich an einen Timer-Eingang zum Bitzählen. OCx-Ausgang von diesem Timer an den "Latch" Anschluss der 595-er. Damit sollte man auch bei ein paar MHz SPI-Takt noch Tracen können ohne Daten zu verlieren.
Hi. Das ist glaube ich die perfekte Lösung für mein Problem. An Schieberegister habe ich gar nicht gedacht. Und ist so was von einfach zu bauen. Auch der Softwareaufwand ist so auch nur eine Kleinigkeit. Dann vergesse ich mal ganz schnell wieder alle anderen Lösungen. Danke, werden ich aufbauen und so ein setzen.
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.