Hallo, ich bin gerade dabei, mir eine SMD Platine zu designen, die ich gerne fertigen lassen möchte. Jetzt hab ich es in der Vergangenheit ein paar Mal erlebt, dass der Atmel mkII nur gelb geblinkt hat, was wahrscheinlich daran lag, dass am MOSI und SCK neben dem zu programmierenden Atmega auch noch andere ICS hingen (die der Mega im normalen Betrieb ja ansteuern soll). Wahrscheinlich fühlte sich der mkII dadurch dann überlastet. Wie macht man sowas richtig? Ich hatte mir dann damals angewöhnt, die anderen ICs von MOSI usw. zu trennen (z.B. über Jumper). Ist es eine gute Idee, das auch bei meiner neuen Platine zu machen (die ja aber eigentlich schön klein werden soll), oder gibts da bessere Möglichkeiten? Gruß Hans
Hey, du musst einen Pullup bei der Select Leitung der einzelnen SPI Slaves einbauen, damit sie sich während dem Programmieren selbst vom Bus trennen.
Hans schrieb: > oder gibts da bessere > > Möglichkeiten? Indem man die /CE- bzw. /OE-Leitungen der Bauteile am Port anschliesst und nicht fest auf GND legt. Wenn der ISP den Controller dann auf Reset zieht, sind alle Ports 1 und somit die weitere Peripherie, insbesondere die Ausgänge, abgeschaltet. mfg.
Thomas Eckmann schrieb: > Wenn der ISP den Controller dann auf Reset zieht, sind alle Ports 1 und > somit die weitere Peripherie, insbesondere die Ausgänge, abgeschaltet. Wo kommt das denn bitte her? Sowohl DDRx als auch PORTx werden nach dem Reset mit '0' initialisiert (siehe Datenblätter) - alles andere macht auch kaum einen Sinn, da eventuell die Ausgänge beschädigt werden könnten (weil beispielsweise ein anderer IC den Pin herunter zieht). Die Lösung für das ISP-Problem sind wie schon gesagt wurde Pull-Ups an allen CS-Leitungen.
@Thomas Eckmann: Das stimmt so nicht, jedenfalls nicht bei den AVR's. Im Reset Zustand sind die Ports/Pins im tri-state Zustand, also hochohmig. Daher liegt bei den SPI Slaves dann ein undefinierter Pegel und diese Problem löst man eben mit Pullup Widerständen.
Christoph Budelmann schrieb: > Die > Lösung für das ISP-Problem sind wie schon gesagt wurde Pull-Ups an allen > CS-Leitungen. Korrekt. Und NUR das. Was auch ginge wären Serienwiderstände, aber die Variante mit den Pull-Ups ist eigentlich straight-forward und am sinnvollsten. Das nur so gesagt, bevor wieder die ganzen anderen Ideen hier von den Forenteilnehmern kommen, die man sonst so bei der Problemstellung liest. Einer hatte mal behauptet, dass man deswegen die Programmier/SPI Schnittstelle NUR fürs programmieren lässt und sonst nichts anschließt ;-) Aber das ist natürlich Nonsense.
Mist :) Das war mir vollkommen klar. Da ich aber 595er dranhängen hatte, hab ich daran nicht gedacht. Ich hätte dem RCK ja nur einen Pulldown verpassen müssen...^^
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.