Hallo Thomas.
Mit lock und unlock?
Ja, aber erst seit ich das Display mit dem Graphics reingenommen habe. Vorher war das nie ein Problem.
Wie hoch ist dein TWI-Speed?
Wie sind die Werte deiner Pullups?
Kapazität an SDA und SCL?
Speed bei BR100 und BR400, mit SoftI2C funktioniert das gar nicht zuverlässig, nur mit viel Zwangs NOPs
Die Steuerung besteht aus 3 Ebenen, der XMEGA befindet sich in der Mitte. An beiden Enden der I2C-Leitung je 10k dadurch habe ich auf den Leitungen je 5k. Keine Kapazitäten, nur kleine Filter L's für hochfrequente Störungen zwischen den Leiterplatten. Das mache ich schon seit Jahren so und bin damit schon bei mehren EMV-Prüfungen ohne Probleme duchgekommen.
Ich vermute irgendwie das es etwas mit dem LCDGraphic und den Task/Process zu tun hat,
da ich davor keine Probleme hatte, auch die Signal-Quallität auf dem I2C-Bus ist klar und sauber zu erkennen (Oszi).
Idee, um das zu Erkennen:
Den letzten IO beim PCA9555 auf GND legen, damit das entsprechende I2C Byte nicht FF sein kann.
Ja, genau so habe ich es jetzt gemacht, ich habe zum Glück auf allen 3 PCA9555 Pins frei
Liest er an diesen PINs eine 1, verwerfe ich das Byte, mache eine kurze Pause und lese erneut ein. Läuft jetzt schon seit Stunden ohne Probleme durch.
Thorsten
Quote by Thomas.AC
Mit lock und unlock?
Ja, aber erst seit ich das Display mit dem Graphics reingenommen habe. Vorher war das nie ein Problem.
Quote by Thomas.AC
Wie hoch ist dein TWI-Speed?
Wie sind die Werte deiner Pullups?
Kapazität an SDA und SCL?
Speed bei BR100 und BR400, mit SoftI2C funktioniert das gar nicht zuverlässig, nur mit viel Zwangs NOPs
Die Steuerung besteht aus 3 Ebenen, der XMEGA befindet sich in der Mitte. An beiden Enden der I2C-Leitung je 10k dadurch habe ich auf den Leitungen je 5k. Keine Kapazitäten, nur kleine Filter L's für hochfrequente Störungen zwischen den Leiterplatten. Das mache ich schon seit Jahren so und bin damit schon bei mehren EMV-Prüfungen ohne Probleme duchgekommen.
Ich vermute irgendwie das es etwas mit dem LCDGraphic und den Task/Process zu tun hat,
da ich davor keine Probleme hatte, auch die Signal-Quallität auf dem I2C-Bus ist klar und sauber zu erkennen (Oszi).
Quote by Thomas.AC
Idee, um das zu Erkennen:
Den letzten IO beim PCA9555 auf GND legen, damit das entsprechende I2C Byte nicht FF sein kann.
Ja, genau so habe ich es jetzt gemacht, ich habe zum Glück auf allen 3 PCA9555 Pins frei
Liest er an diesen PINs eine 1, verwerfe ich das Byte, mache eine kurze Pause und lese erneut ein. Läuft jetzt schon seit Stunden ohne Probleme durch.
Thorsten