mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was wie wo ist SPI


Autor: Brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich suche hier vergebens nach einem Tutorial über SPI. Möchte das mal 
lernen auf einem ATMega48 in Assembler. Wo kann ich da nachlesen? Oder 
kann mir hier einer Stück für Stück SPI erklären und wie ich das 
umsetze?

Autor: Thomas Kiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ich suche hier vergebens nach einem Tutorial über SPI.

Datenblatt.

http://www.mikrocontroller.net/articles/AVR-Tutori...

MfG Spess

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brain schrieb:
> Oder kann mir hier einer Stück für Stück SPI erklären
SPI an sich sind "nur" zwei gekoppelte Schieberegister:
http://www.lothar-miller.de/s9y/categories/17-SPI

> und wie ich das umsetze?
Die praktische Umsetzung ist allerdings dann ein wenig aufwendiger, aber 
du wirst die Komponenten wiedererkennen, wenn du das Prinzip kapiert 
hast. Gerne falsch gemacht wird die Auswahl der Taktpolarität und der 
Taktphase, aber ein wenig Grübeln bringt hier Licht ins Dunkel... ;-)

Autor: Brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke vorab schon mal.

Aber ich verstehe noch nicht was der Unterschied zwischen SPI und 1²C 
ist.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brain schrieb:
> Aber ich verstehe noch nicht was der Unterschied zwischen SPI und 1²C
> ist.
Das sind beides Kommunikationsbusse,
so wie Auto und Flugzeug beides Fortbewegungsmittel sind
oder Kraut und Rüben beides Nahrungsmittel...   :-/

Der Hauptunterschied:
SPI ist ein Single-Master-Bus, wo der Master seinen Slave mit einer 
CS-Leitung aussucht. SPI hat mindestens 3 Leitungen (bei 1 Slave), dann 
kommt pro Slve nochmal 1 SS-Leitung dazu.

I2C ist ein Multi-Master-Bus (wird allerdings selten so verwendet), wo 
die Device-Adresse im Protokoll übertragen wird. I2C hat immer 2 
Leitungen.

Autor: Brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was brauch ich nun?

Ich habe hier ein seriell EEPROM und wollte mit dem mal spielen. Also 
Daten rein/raus

Es ist das hier: 
http://www.reichelt.de/?ACTION=3;ARTICLE=45597;PROVID=2402

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Was brauch ich nun?

Steht doch im Datenblatt.
Aber meinst du wirklich, das du schon so weit bist?

MfG Spess

Autor: Thi Lo (flothi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt des Speichers: 
http://www.reichelt.de/?;ACTION=7;LA=28;OPEN=0;IND...

Dort steht (u.a.) auf Seite 1: Two-wire Serial Interface

Autor: Brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will so weit kommen. Nur wer anfängt zu gehen lann später mal rennen 
oder?

ist Das http://www.reichelt.de/?ACTION=3;ARTICLE=40065;PROVID=2402 etwas 
anderes?

Under beides 1²C bzw. SPI

Autor: Thi Lo (flothi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist halt ein Three-wire Serial Interface, also separates Daten In und 
Out; beim ersteren ists bidirektional.

Autor: Brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und bei dem steht 
http://www.reichelt.de/?ACTION=3;ARTICLE=40065;PROVID=2402

Three-wire Serial Interface

Also ist Three-wire Serial Interface=SPI und

Two-wire Serial Interface i²C sehe ich das richtig?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Steht doch im Datenblatt.
Aus Lizenzgründen aber eher versteckt ;-)

Weil Philips den Namen I²C für sich reserviert hat, benennen andere 
Hersteller den Bus z.B. Two-Wire o.ä.
Erkennen kann mans aber problemlos an den Busleitungen: wenn da nur SDA 
und SCL auftauchen, dann ist es I²C.

> Aber meinst du wirklich, das du schon so weit bist?
Ich würde derzeit eher "nein" sagen. Aber der Prozess dorthin beginnt 
mit dem Lernen der Bus-Grundlagen.

EDIT:
Brain schrieb:
> Three-wire Serial Interface
> Also ist Three-wire Serial Interface=SPI und
Während das beim Two-Wire für I²C ziemlich sicher ist, gibt es aber auch 
noch andere 3-Draht-Busse wie z.B. Microwire
Aber die bekommt man idR. auch an einen SPI-Master angeschlossen und 
angesteuert.

Autor: Brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie setze ich nun den ersten schritt?

Bin total verwirrt. SPI oder 1²C

Bleiben wir mal bei SPI

Da habe ich wohl eine Leitung die auf LOW muss wenn ich den Chip meine
Eine Leitung für den Takt
Und eine für die Daten

sehe ich das richtig?

Autor: Stephan W. (sir_wedeck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Datenblatt -> Kapitel SPI  !!!!! WICHTIG !!!!!
Da sind die Grundlagen, Aufbau und Code-Beispiele für ASM angegeben

>Da habe ich wohl eine Leitung die auf LOW muss wenn ich den Chip meine
>Eine Leitung für den Takt Und eine für die Daten.
Ja, ist richtig!

Bitte schau dir den PUNKT /SS Pin genau an!!!

Stephan

Autor: Brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stephan W. schrieb:
> Hi,
>
>
>
> Datenblatt -> Kapitel SPI  !!!!! WICHTIG !!!!!

Welches Datenplatt meinst du nun?

Autor: Stephan W. (sir_wedeck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Du hast doch oben vom ATMega48 gesprochen und das DB ist dieses hier!

http://www.atmel.com/dyn/resources/prod_documents/...

Mal eine Fragen: Ist das nur Theorie was du machen willst oder richtig 
mit MC und EEPROM arbeiten?

Stephan

Autor: Brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na erst mal Theorie und daraus soll die Praxis werden Kommunikation über 
SPI

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.