Hey,
da erkennt man leider nichts, da das Bild zu klein ist.
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 ...
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
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 ...
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
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 ...
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
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 ...
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.
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 ...
Lesezeichen