-         
Ergebnis 1 bis 3 von 3

Thema: Eigenartiges Verhalten des MCP23017 am AT Mega 128

  1. #1
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    42
    Beiträge
    66

    Eigenartiges Verhalten des MCP23017 am AT Mega 128

    Anzeige

    nabend

    ich betreibe mehrere MCP23017 per I2C Bus an verschiedenen Microcontrollern.
    Hierfür habe ich eigentlich die Europaformat Variante gewählt.
    Die MCP werden Hardwaretechnisch adressiert und per Programm angesprochen. Läuft auch Problemlos.

    Vor längerer Zeit habe ich den Verstärker P82B715 entdeckt mit dem es möglich ist, den I2C Bus zu verlängern.
    Hierfür habe ich Platinen gebaut wo dann der MCP23017 Dezentral eingebaut werden kann.
    Somit kann ich Mehrere Leds mit nur 2 Adern bequem stuern ohne viele Dicke Kabel zu legen,.
    das ganze ist für meine Modellbahn eine Steuerungsentwicklung.

    ich habe bereits von den Dezentralen Platinen welche entweder 2 oder 4 MCP ICs beeinhalten, die 2fach Varinte mehrmals im Einsatz
    und läuft Problemlos.
    Die 4 fach variante wollte ich heute Inbetriebnehmen, sie ist eigentlich eine Spiegelverkehrte Kopien von der 2 fach variante.

    das Problem ist, das ich zb den Port A des MCP nicht ansprechen kann, sondern nur den Port B, zb durch setzen auf den Wert 255 zum testen aller Ausgänge.
    PORTA rührt sich kein Stück, auch wurden sämtliche ICS bereits getauscht.

    Höherwertige Adressen lassen sich gar nicht ansprechen !

    hat jemand so ein Phenomen schon gehabt ??, ich bin der Meinung wenn der Bus läuft, dann läuft er.
    Achja, zur Programmierung nehme ich immer die gleichen Routinen die in anderen MC laufen, die 4er Variante läuft allerdings am AT Mega128, während die anderen am AT Mega 32 und 8 laufen.
    ich bin der Meinung das es keinen Unterscheid macht, achja ich habe den I2C Bus getestet und er läuft mit einer direkten Platine ohne Busverstärker problemlos.

    Laut Datenblatt kann das Kabel bis zu 20 m lang sein, da bin ich aber weit drunter (ca 4 m)

    Grüsse
    Patrick

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.051
    Was mir als erstes eingefallen ist, ist die ATMEGA 103 compatibility Fuse.
    Die ist üblicherweise beim MEGA 128 gesetzt.
    Ausserdem wäre da noch die JTAG enable Fuse, die üblicherweise auch gesetzt ist und ein paar Portpins belegt.

    Ansonsten würde Ich auf Bitfehler tippen.
    Hat der Bus die nötigen PullUp Widerstände?
    Evtl. mal mit den Widerstandswerten spielen.
    Man könnte es auch mal mit einer langsameren Busfrequenz versuchen, wenn die beteiligten IC's das vertragen.
    Wenn es Bitfehler sind sollten Die dann weg sein.

    Ansonsten könntest Du einfach mal nen zusätzlichen Controller auf I²C Slave proggen und die Nachrichten auf dem Bus per serieller Schnittstelle an den PC senden.
    Oder Du hast ein Oszilloskop mit Protokolltest Funktion.

  3. #3
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    42
    Beiträge
    66
    Moin

    JTAG ist aus, die CPU hat vorher schon gelaufen.
    103 werde ich versuchen.

    Ich werde die Woche da weiter machen, erstmal werde ich einen MCP ohne Busverstärker dranhängen und sehen
    ob das geht, (mit der gleiche Adresse)

    Danke für Deine Antwort

    Grüsse
    Patrick

    - - - Aktualisiert - - -

    MOin nochmal

    Das Problem konnte ich jetzt recht schnell finden, trotzdem Ratlos

    Wenn ich den MCP mit allen Adresspins auf Low direkt an den Bus hänge, läuft.
    Die Dezentrale Platine über den Verstärker, gleiche Adresse, tote Hose,bzw nur der Port B arbeitet.

    Ich konnte das Problem soweit einkreisen, sobald in den P82B715 ohne etwas anderes an den Port hänge, spinnt der I2C Bus.
    Die gleiche Platine mit dem P82B715 mit dem IC arbeitet allerdings an einem AT Mega 32 Problemlos, somit kann man hier einen defekt ausschliessen.
    Mit einem AT Mega 16 und 8 wurde es ja auch getestet, läuft.

    Jetzt bin ich echt Ratlos, weil ich zwei 128 in meinen System als Steuerung geplant habe und beide über den Verstärker viele Leds treiben sollte.
    Alle CPUs arbeiten mit einem 8 Mhz Quarz

    Jemand ne Idee ?

    Grüsse
    Patrick
    Hat

Ähnliche Themen

  1. Mcp23017
    Von Toran im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 15.09.2019, 10:31
  2. Mcp23017
    Von modtronic im Forum C - Programmierung (GCC u.a.)
    Antworten: 17
    Letzter Beitrag: 20.02.2017, 00:15
  3. Eigenartiges Notebook Problem
    Von MaverrickTM im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 24
    Letzter Beitrag: 30.09.2007, 13:33
  4. Antworten: 6
    Letzter Beitrag: 26.05.2007, 18:42
  5. Eigenartiges Problem mit LCD
    Von Goblin im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 01.04.2006, 16:48

Berechtigungen

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