ATmega 1284P ISP Problem bei bei SPI Clienten

OP #4643781
Lesenswert?

Guten Morgen,

Ich habe ein ATmega 1284P den ich mit einem DIAMEX-AVR-Programmer 
brenne.
An dem 1284 hängt ein Display FT800 und ein SD-Kartenmodul, beide 
fungieren über SPI-Bus der ja gleichzeitig als SPI-Schnittstelle zum 
brennen dient. Wenn ich das SD-Modul angeschlossen habe ist der 1284 
nicht brennbar (hat nur 2 mal geklappt) sobald ich aber das SD-Modul 
abgeschlossen habe, kann ich den 1284 ohne Probleme brennen.
Kann sein dass das SD-Modul den SPI-BUS stört? Wie kann ich sowas 
umgehen? 10k einhängen wie bei I2C?
#4643787
Lesenswert?

@ Martin T. (slexx)

>An dem 1284 hängt ein Display FT800 und ein SD-Kartenmodul, beide
>fungieren über SPI-Bus der ja gleichzeitig als SPI-Schnittstelle zum
>brennen dient.

An beiden CS Signalen muss ein 10k Pull-Up Widerstand angeschlossen 
werden, dann sind die beim ISP ruhig.
OP #4643792
Lesenswert?

OK danke erstmal für die schnelle Antwort!

Also @spess53 du willst auf die 330Ohm Widerstände hinaus richtig? Sind 
die nicht im DIAMEX schon enthalten???? THX

>An beiden CS Signalen muss ein 10k Pull-Up Widerstand angeschlossen
>werden, dann sind die beim ISP ruhig.

Danke, kannst du mir noch sagen wieso das so ist? :) Oder redest du aus 
Erfahrung? THX
#4643803
Lesenswert?

@ Martin T. (slexx)

>>An beiden CS Signalen muss ein 10k Pull-Up Widerstand angeschlossen
>>werden, dann sind die beim ISP ruhig.

>Danke, kannst du mir noch sagen wieso das so ist? :)

Was soll denn ein SPI-Slave machen, wenn er NICHT ausgewählt wird (= CS 
HIGH)? Er MUSS die Klappe halten und MUSS sämtliche SPI-Signale 
ignorieren.

>Oder redest du aus Erfahrung? THX

Was sonst?
#4643817
Lesenswert?

@Joachim B. (jar)

>Ich habe alles was an SPI am AVR hängt mit 470 Ohm in Reihe entkoppelt
>ausser die ISP, die hängt direkt an den Pins.

Unnötig, im Einzelfall kritisch. Denn damit werden die Treiber mit 470 
Ohm Ausgangswiderstand versehen, im Normalfall haben die um die 30-100 
Ohm. Das kann bei vielen IC am SPI oder langen Leitungen zu Problemen 
führen. Diese Serienwiderstände sind überflüssig.

>Ich hatte noch nie Schwierigkeiten den AVR zu programmieren auch wenn
>was am SPI hängt.

Ich auch nicht, und das sogar ohne Serienwiderstände.
#4643861
Lesenswert?

Falk B. schrieb:
> Das kann bei vielen IC am SPI oder langen Leitungen zu Problemen
> führen.

du schreibst es ja selbst "kann"

IMHO ist SPI nichts für lange Leitungen!

Falk B. schrieb:
> Diese Serienwiderstände sind überflüssig.

Nicht wenn sie helfen, aber das weisst du ja, dann bräuchte oder dürfte 
ich schnelle Datenleitungen nie mit Serienwiderständen bestücken nach 
DEINER festen Meinung, die Wirklichkeit ist anders, nicht nur bei mir.

Falk B. schrieb:
> Ich auch nicht, und das sogar ohne Serienwiderstände.

auch das ist möglich, aber es geht nicht um dich sondern um ein Problem 
vom TO.

Vermutlich gibt es mehr als eine Lösungsmöglichkeit, deswegen andere 
schlechtreden hilft nicht bis das Problem vom TO eine Lösung erfahren 
hat.

Auch ein Falk ist nicht perfekt!
Gast #4643925
Lesenswert?

Naja ich würde sagen, Falks Lösung behebt die Ursache. Die 
Serienwiderstände hingegen beheben das Problem.
Mit dem PullUp hält der Slave die Klappe (auch bei hochohmigen CS am 
AVR). Mit den Serienwiderständen ist der Programmer der stärkere und 
"gewinnt".
#4644049
Lesenswert?

@Daniel (Gast)

>Naja ich würde sagen, Falks Lösung behebt die Ursache.

Richtig.

>Die Serienwiderstände hingegen beheben das Problem.

Nö, sie kaschieren das Symptom.

Ausserdem braucht man an SCK und MOSI keinerlei Widerstände, denn die 
sind im Normalbetrieb Ausgänge und treiben NUR Eingänge anderer ICs (der 
SPI Slaves). Lediglich MISO ist ein Eingang und kann im ungünstigen Fall 
von einem IC getrieben werden. Hier hat Atmel wohl auch nicht ganz zu 
Ende gedacht. NUR wenn die ISP Pins im Normalbetrieb NICHT als SPI 
genutzt werden und von ICs getrieben werden können, DANN sind die 
Längswiderstände nötig. Bei SPI-Nutzung NICHT!
#4644318
Lesenswert?

Martin T. schrieb:
> Kann sein dass das SD-Modul den SPI-BUS stört?

Ja. SD Karten kommen im SD Modus hoch und reagieren dadurch bei CS=High.

Daher müssen die zuerst in den SPI Mode umgeschaltet werden, was aber 
bei ISP nicht so einfach geht. Wenn das einfache Herausziehen der Karte 
keine akzeptable Lösung ist, bräuchte man einen Bustreiber - ich denke 
da an sowas wie 74HC125.
#4644331
Lesenswert?

@Jim Meba (turboj)

>> Kann sein dass das SD-Modul den SPI-BUS stört?

>Ja. SD Karten kommen im SD Modus hoch und reagieren dadurch bei CS=High.

Wirklich?

>keine akzeptable Lösung ist, bräuchte man einen Bustreiber - ich denke
>da an sowas wie 74HC125.

Hmm, den hatte ich bei meinen Projekten immer drin, damit verhielt sich 
die SD Card immer korrekt ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren