PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega: Slave an SPI und Programmer aktiv



schorsch_76
07.09.2014, 21:34
Hallo zusammen!

Ich habe an meinem Projekt das erste mal einen SPI Chip. Den MAX1270. Jetzt habe ich die Schnittstelle so aufgebaut wie unter RN Definitionen gezeigt [1]. Der ISP nutzt ja dieselben Ports. MOSI/MISO/SCK. Steckt mein Slave am SPI Port, kann ich nicht programmieren mit dem avrispmkii . Hier die Schaltplanauszüge:

29022

29023

Hab ich hier was total verkehrt verstanden? Ich finde einfach den Fehler nicht, warum der ISP Programmer nicht arbeitet wenn mein Max1270 IC dran steckt....

Gruß
Georg

[1] http://rn-wissen.de/wiki/index.php/Rn-definitionen#SPI-Bus_Stecker

ihle
07.09.2014, 21:51
Hallo Schorsch_76,

du musst die Signale über Widerstände auskoppeln
http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_application-note_avr042.pdf

hier ist der Link zum PDF von ATmel.

mfg

ihle

schorsch_76
07.09.2014, 22:03
*DOH*


aberwie groß müssen die sein? Leider steht hierzu auf Seite 7/8 nichts ....

ihle
07.09.2014, 23:04
Hallo,

ich habe auch keine Erfahrungswerte, ich hatte solch ein Problem noch nie.
Koppelwiderstände sollten nicht zu groß sein, ich würde 1k Widerstände nehmen.
Aber nagel mich nicht fest.

mfg

ihle

Michael
08.09.2014, 10:40
Man kann aus deinen Bildern nicht erkennen, wo was hingeht. Mach es übersichtlicher und speicher die Grafiken gleich als png, dann wird es auch nicht matschig.

Am HW-SPI dürfen natürlich Slaves hängen, auch wenn der AVR selbst beim Programmieren ein Slave ist.
Bei SPI hat jeder Slave ein CS, wenn das auf High liegt, ist SPI nicht aktiv. Sorge also dafür, dass die SPI-Slaves im Reset-Fall alle ihre CS auf High bekommen (Pullups?), dann klappt es auch mit dem Bus ;)
Koppel (Serien?)widerstände würden die Flanken verschleifen und nur die Symptome bekämpfen, nicht die Ursache.

Gruß, Michael

schorsch_76
08.09.2014, 17:24
DIe Bilder die ich hochgeladen habe sind PNG. Leider hat das Forum das a) runtergerechnet b) in JPG umgewandelt.

Hier die Orginale auf einem externen Hoster. Leider mit Werbung :(
http://s1.directupload.net/images/140908/temp/qmnobniw.png (http://www.directupload.net/file/d/3739/qmnobniw_png.htm)
http://s7.directupload.net/images/140908/temp/32minysz.png (http://www.directupload.net/file/d/3739/32minysz_png.htm)

Ich habe jetzt in die 3 Leitungen SCK/MOSI/MISO 1k Widerstande "Richtung Slave" eingebaut. Auf die Select Leitungen habe ich einen 100k Pullup reingebaut, damit dieser nicht im Resetfall auf Low liegt. Microkontroller.net hat hier was von sehr schwachen Pullups geschrieben, da die internen Pullups zu dem Zeitpunkt nicht wirken.

EDIT: Der ISP liegt direkt am Atmega an den Leitungen. So sieht das jetzt aus:
http://s1.directupload.net/images/140908/temp/2ml67ys4.png (http://www.directupload.net/file/d/3739/2ml67ys4_png.htm)