Es gab Probleme beim DB0QI mit der Software die den I²C-Bus bedient. Die einzige Möglichkeit diese Probleme einzugrenzen war, einen I²C-Monitor einzusetzen. Im Mikrocontroller-Forum bin ich dann fündig geworden. Sven Hauke heißt der gute Mann, der die passende Idee mit Software zur Verfügung stellte. Ursprünglich war das ein Monitor für die RS232-Schnittstelle, aber das ließ sich dann leicht auf USB umbauen. Das Ergebnis sieht so aus:
I²C Sniffer ATMEGA8
OK
Ich habe mich nochmal an den Code dran gesetzt und die größten Sünden
ausgebügelt.
Habe noch den FIFO verbessert.
Das Ding läuft jetzt auf 'nem Mega8 @ 14.7456MHz.
So wie es aussieht sind 200 kHz SCL jetzt kein Problem mehr.
Früher war lediglich 50kHz drin (wegen dem UART).
Anschlüsse wären:
PD2 = SCL
PD3 = SDA
PD7 = INT
RS232 Parameter:
115.200 Baud
8 Datenbit
keine Parität
1 Stoppbit
Beispiel der Datenausgabe:
Start
s41aE0aC1np
s = Start condition
41 = Adresse ($40 im lesemodus)
a = Acknowledged
E0 = übertragene Daten
a = übertragene Daten
n = not Acknowledged
p = Stop condition
cu
Hauke
Hier ist die Bauanleitung, die Software . ... und die Lösung der Probleme am QI war gefunden ... Die Visual-Basic-Software die am PC für Durchblick sorgt, hat Ernst, DJ7DA geschrieben und ist hier (Update 13.05.2013) zu finden.
Es tauchen immer wieder mal ein paar Fehler auf dem I²C-Bus auf. Das hat mich jetzt bewogen noch einmal das Platinchen anzufassen und das ein oder andere noch zu ergänzen. Der getesteten Variante kamen jetzt noch 2 Jumper dazu die es ermöglichen PullUp-Widerstände eben zu nutzen oder nicht. Den Interrupt-Eingang habe ich übernommen.
#!/bin/sh
stty -F /dev/ttyUSB0 115200
while read Line; do
echo $Line >> /home/ich/Sniffer/$(date '+%Y.%m.%d')_sniffer.log
#nach 4 Tagen Datei löschen
#zuerst prüfen ob Datei Existiert
if [ -f /home/ich/Sniffer/$(date --date '-3day' '+%Y.%m.%d')_sniffer.log ]; then
rm /home/ich/Sniffer/$(date --date '-3day' '+%Y.%m.%d')_sniffer.log
fi
done < /dev/ttyUSB0
Damit hat man dann immer vier Tage Zeit ein Problem nachzuvollziehen, oder eben ned, wenn's denn auf dem Bus ein Problem gab.
In den KiCad 7 Files sind zusätzlich noch ein Pin, der die TX-Daten aus dem ATMega8 bereitstellt, und RX/TX LEDs, die am FT232 angeschlossen sind. Hier noch die Baumappe. Die Software hat sich nicht geändert.
Viel Spaß beim Nachbau !!!
73 de Tomtom