-         

Ergebnis 1 bis 1 von 1

Thema: I2C Bus läuft nach Kaltstart des atmega nicht aber nach reprogrammiert via ISP

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332

    I2C Bus läuft nach Kaltstart des atmega nicht aber nach reprogrammiert via ISP

    Anzeige

    Hallo Zusammen,

    ich habe derzeit ein seltsames Problem. Vor dem Urlaub habe ich einige Änderungen bezogen dem I2C Bus an meinem Roby gemacht. Jetzt komme ich zurück und mein atmega will nicht mehr mit dem neuen Linuxsystem reden (nicht immer, aber immer öfter).

    Nachdem der Linux-Rechner auch einen neuen Kernel bekommen hat, sind die Fehler der Übertragung (Sporadisch) endlich weg. Hier lag der Fehler in der Verwendung der I2C Hardware des ARM9, welche wohl grottenschlecht sein soll. Der neue Kernel macht das jetzt selber und das arbeitet deutlich stabiler.

    Nur die Kommunikation zu meinem einzigen AT mega 32 geht nicht mehr.

    Lade ich das Programm und die Fuse Bits nochmals in den Kontroller ohne auszuschalten, klappt plötzlich die Kommunikation.

    Schalte ich alles aus und starte das System komplett neu, arbeitet der I2C Bus nicht mehr. Stecke ich diesen einen atmega32 vom Bus ab, arbeitet er wieder. Der zieht SDA/SDL auf Low Signal.

    Kann es der Quarz sein ? (ist mir noch nie kaputt gegangen)

    Habe ich einen Fehler in den Fuse Bits ? (siehe Anhang)

    Den Kontroller habe ich bereits auch ausgetauscht und auch in einer anderen Schaltung geprüft. Dort arbeitet der Kontroller, wenn ich das entsprechende Programm lade.

    Hat jemand noch eine Idee, was ich hier machen kann ?


    Edit:
    Ach ja, ich hatte noch die PULL's des I2C Bus im Wert erhöht auf 3,8kOhm.

    Edit1:
    Ich habe einen Timertest eingefügt (LED im Sekundentakt blinken). Der arbeitet korrekt.

    Edit 2: Es scheint ein Software-Problem meiner Interrupt-Routine zu sein. Der neue Kernel scheint hier eine Start/Seq. Zu senden, welches mein I2C Protokoll ins stocken bringt.

    Stecke ich den Kontroller nach dem Systemstart des Linux-Rechner auf, arbeitet das System korrekt.

    Gruss R.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken FuseBitsAtmega32.JPG  
    Geändert von Ritchie (08.07.2012 um 13:37 Uhr) Grund: PULL UP hinzugefügt, Timertest
    Kaum macht man es richtig, schon funktioniert's ...

Ähnliche Themen

  1. Motorport wird nach Neustart angesteuert am ATMEGA 32 ?
    Von M.Huhnke im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 20.01.2010, 16:00
  2. 89c51cc03, Flip, Controller läuft nicht nach RESET
    Von ktkeili im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 31.01.2009, 17:27
  3. programm läuft nur nach dem ersten brennen
    Von Roboman93 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 12.09.2008, 17:59
  4. Antworten: 4
    Letzter Beitrag: 22.01.2006, 05:42
  5. PWM Steller mit LCD, aber zähler läuft nicht
    Von scream!!!! im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 14.09.2005, 08:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •