mikrocontroller.net

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


Autor: Patrick K (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kornfisch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

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

SCNR :D

Autor: Patrick K (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.