Forum: Mikrocontroller und Digitale Elektronik SPI 5 Draht schnittstelle zwingend bei ATMega kommunikation?


von Patrick K (Gast)


Lesenswert?

Hallo,

hab folgendes Problem: 2 ATMEga sollen miteinander ueber PSI 
kommunizieren. Es klappt aber der MAster empfaengt nach 6 bis 10 paketen 
vom Slave auch mal wieder sein eigen verschicktes. Von den Paketen die 
der Slave verschickt verlier ich keines. aber es mogeln sich eben diese 
Stoerpakete ein.

Aber mein Slave (ATMega 16 auf 16MHz) macht nichts anderes als das 
datenregister  SPDR neu zu beschreiben.
Der Master hingegen ist staerker beschaeftigt und versendet die 
empfangenen pakete ueber uart.

wo kann der fehler liegen?
Der SCK  Clock hab ich variiert und beeinflusst das ganze nicht 
wirklich. Sowohl bei schneller als auch langsamer taktung gibt es falsch 
pakete.

Mein gedanke: ich muss zwingend die 5 Draht variante aufbauen. Ist dem 
so?

Beitrag "Re: SPI: Master empfangen, Slave senden"

gruss
Patrick

von Peter D. (peda)


Lesenswert?

Die AVRs haben leider keinen Sendepuffer.

Wenn der Slave nicht schnell genug das nächste Byte einstellen kann, 
wird einfach das Schieberegister zurückgesendet, also das gerade 
empfangene Byte.

Man braucht also nen 5. Draht, um dem Master zu sagen, daß er nun das 
nächste Byte abholen kann.


Peter

von Kornfisch (Gast)


Lesenswert?

Der Master macht den SCK. Dabei wird das eigene Register hinausgeschoben 
und ein externes Register wird reingeschoben. Nun muessen die externen 
Register gefuellt sein, sonst ist nichts. Dabei ist zu beachten, dass 
der Master den SCK hoeher (im Verhaeltnis zum CLK) clocken kann als der 
Slave. Wenn der externe Slave keine unendlich schnelle Statusmaschine 
ist (FPGA), sollte in der Tat ein zusaetzliches Signal verwendet werden.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Patrick K wrote:
> hab folgendes Problem: 2 ATMEga sollen miteinander ueber PSI
Die Antwort ist irgendwo da draußen

SCNR :D

von Patrick K (Gast)


Lesenswert?

hallo,

ja bin grad dabei eine busy leitung zu implementieren. das sieht mir 
schon im ansatz zuverlaessiger aus. im laufe des tages solte noch was 
dabei rauskommen

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
Noch kein Account? Hier anmelden.