-         

Ergebnis 1 bis 9 von 9

Thema: SPI und ISP in einer Schaltung von zwei AtMegas

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

    SPI und ISP in einer Schaltung von zwei AtMegas

    Anzeige

    Hallo Zusammen,

    ich habe in der beiliegenden Schaltung das Problem,
    das ich an den zweiten Atmega 8 über ISP nur ran komme,
    wenn ich den atmega644 das flash lösche.

    Derzeit weiss ich auch nur, das der atmega644 arbeitet. Ob der atmega8 seine Arbeit
    aufnimmt, muss ich noch prüfen.

    Kann man dieses Verhalten auch per Software steuern oder wo ist der Hardware-Fehler.
    Abschalten der SPI Schnittstelle am Master (Atmega644) hat nicht funktioniert.

    Gruss R.
    Geändert von Ritchie (25.03.2013 um 09:01 Uhr) Grund: PDF gelöscht (Speicherplatz)
    Kaum macht man es richtig, schon funktioniert's ...

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Hey,

    da erkennt man leider nichts, da das Bild zu klein ist.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hallo Kampi,

    da hast Du wohl recht. Ich habe jetzt eine PDF Datei hochgeladen, welche den Schaltplan komplett in einer besseren Auflösung zeigt.

    Gruss R.
    Kaum macht man es richtig, schon funktioniert's ...

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Guten Morgen Ritchie,

    ich habe mir den Schaltplan nicht angeschaut, hatte aber letzte Woche auch ein Projekt mit SPI-Kommunikation und gleichzeitiger programmierung zweier Atmels an der gleichen ISP-Schnittstelle. Die Lösung ist den Reset der Atmels schaltbar zu machen. Du schaltest dann nur den Reset des Atmels auf den ISP-Bus, der auch programmiert werden soll.
    Zusätzlich solltest du die Reset-Leitung des ISP-Programmers noch auf einen Eingang des anderen Controllers legen, damit der weiß, dass programmiert wird und nicht irgendeinen Quatsch mit den empfangenen Daten macht. Am besten die Pins dann auch als Eingang schalten um die Programmierung nicht zu stören.

    Viele Grüße
    Andreas

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hallo Andreas,

    das mit dem Reset habe ich bereits gemacht.

    Ein Test hat jetzt auch ergeben, das der zweite Amtel korrekt arbeitet. Nur die Kommunikation via SPI scheint noch nicht zu arbeiten. Dies habe ich via Interrupt gemacht.

    Das mit den Signalen (MOSI / SCK) auf Eingänge setzen macht Sinn. Das werde ich als nächstes ausprobieren.

    Welche Freq. hast Du zwischen Deinen beiden Controller gewählt?

    Gruss R.
    Kaum macht man es richtig, schon funktioniert's ...

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Hallo Ritchie,

    bei mir kam es nicht auf Geschwindigkeit an. Mein "Master" war ein Tiny25 mit 1MHz internem Clock. Da der Tiny keinen SPI-Master in Hardware implementiert hatte musste ich den Clock per Software erzeugen. Ich denke da ist irgendwas <250kHz rausgekommen.

    Was mir gerade noch eingefallen ist: Der Bus war nach dem Programmieren aus dem Takt. Das heißt die Bits der Bytes waren nicht mehr an der richtigen Position. Durch den zusätzlichen Eingang der Reset-Leitung konnte ich deshalb das ISP-Zählregister nachdem der Reset-Pin wieder auf Hight gegangen ist auf 0 setzen damit die Bits wieder an die richtige Position geschoben werden.

    Viele Grüße
    Andreas

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hallo Andreas,

    Dein Tip war Gold wert. Jetzt habe ich via ISP auf bei Zugriff. Mit einem Schalter, welchen ich ja bereits vorher hatte, kann ich den Reset jeweils umschalten.

    Nur die SPI Schnittstelle will noch nicht, aber das ist ein anderes Thema.

    Gruss R.
    Kaum macht man es richtig, schon funktioniert's ...

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Dann benutze noch meinen zweiten Tipp, bei mir war es das gleiche. Vermurkste Daten nach der Programmierung.
    Zumindest beim SPI-Slave musst du nachdem der Reset wieder auf Hight geht den 4-Bit-SPI-Counter im Status-Register manuell auf 0 setzen. Dann sollte es klappen.

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hallo Andreas,

    soweit bin ich noch garnicht. Mein Master scheint generell noch nicht zu arbeiten. SCK fehlt z.B.

    Gruss R.
    Kaum macht man es richtig, schon funktioniert's ...

Ähnliche Themen

  1. Mehrere AVR an einer ISP-Schnittstelle und Programmieren?
    Von Mitch64 im Forum AVR Hardwarethemen
    Antworten: 12
    Letzter Beitrag: 19.01.2010, 18:56
  2. Komunikation zwischen zwei Atmegas
    Von manhunt im Forum AVR Hardwarethemen
    Antworten: 12
    Letzter Beitrag: 29.09.2008, 16:02
  3. Ein paar Fragen zu ATMegas und ISP-Adapter
    Von Janigut im Forum AVR Hardwarethemen
    Antworten: 7
    Letzter Beitrag: 30.08.2008, 20:13
  4. Antworten: 3
    Letzter Beitrag: 31.05.2008, 13:30
  5. SPI und ISP mit AT90CAN128
    Von AR@HTL im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 09.11.2006, 13:30

Berechtigungen

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