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
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
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.
Patrick K wrote:
> hab folgendes Problem: 2 ATMEga sollen miteinander ueber PSI
Die Antwort ist irgendwo da draußen
SCNR :D
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.