Hallo, ich habe eine Verständnisfrage zur SPI-Schnittstelle der AVI-Mikrokontroller. Folgende Ausgangssituation: Der MOSI-Pin des Kontrollers (als Master) ist an dem Eingang eines Slaves angeschlossenen. Dessen Ausgang ist wiederum mit dem MISO-Pin des Kontollers verbunden. Die Übertragung startet wenn das SPDR-Register des Kontrollers mit dem zu übertragenden Wert beschrieben wird. Mit jedem SPI-Taktsignal wird ein Bit vom Master in den Slave und gleichzeitig ein Bit vom Slave in den Master geschoben. Die "Slave->Master-Bits" werden im Master in einem Puffer zwischengespeichert und am Ende der Übertragung in das SPDR-Register des Masters geladen. Ist das so richtig? rhf
Passt.
Gast
#6515367
Roland F. schrieb: > Ist das so richtig? Ja schon. Aber eine Kleinigkeit: Roland F. schrieb: > SPI-Schnittstelle Eine SPI-Schnittstelle ist eine Serial Peripheral Interface Schnittstelle. Merkst du was? Weisser Schimmel, LCD-Display, kleiner Zwerg... "SPI-Interface" ist auch nichts anderes.
Gast
#6515372
Roland F. schrieb: > Mit jedem SPI-Taktsignal wird > ein Bit vom Master in den Slave und gleichzeitig ein Bit vom Slave in > den Master geschoben. Habe noch nie mit SPI gearbeitet Geht da tatsächlich ein Bit hin und eines her, warum bidirektional, wenn ich nur senden oder nur empfangen will, was ist das dann für ein anderes Bit?
Gast
#6515373
unwissender schrieb: > Habe noch nie mit SPI gearbeitet Für Unwissende gibt es Serial Peripheral Interface. So wie es viele andere Artikel hier online gibt ...
Gast
#6515468
unwissender schrieb: > wenn ich nur senden oder nur empfangen will, dann lässt du halt die andere Leitung unbeschaltet. Bei vielen Mikrocontrollern kannst du die nicht benutzten Pins unabhängig von SPI für andere Zwecke nutzen.
SPI hat zwei wichtige, nicht zu vergessende Punkte : - was geschieht beim Reset, beim Programmieren des controllers. - Wie lese ich von einem SPI device.
Gast
#6515583
Pandur S. schrieb: > - was geschieht .... Warum stellst du hier Fragen die du selbst beantworten kannst von denen auch niemand etwas wissen wollte?
> - was geschieht beim Reset, beim Programmieren des controllers.
Beim Reset sind die Pins in tristate. Was bewirkt das ? Allenfalls mag
eine angeschlossene Funktionalitaet keinen Tristate, dann sollte man an
diese Ports eine Pullup, oder pulldown haben.
was geschieht beim Programmieren per SPI. Dann werden die SPI Pins vom
Programmer angesteuert. Was bewirkt das mit angeschlossenen
Funktionalitaeten ? Die Pins sind grad so angesteuert, dass sich auch
ein externes SPI Device beschreiben, falls eins angeschlossen waere und
den SPI Chipselect low haette. Den SPI chipselect des externen devices
muss also auf high sein.
Was vergessen wurde : Was geschieht wenn der Controller noch nicht
programmiert wurde, ? Dann sind die Pins auch auf Tristate. Dann sollte
ebenfalls nichts abrauchen.
Das alles findet man aber durch die Fragestellung selbst raus.
Gast
#6515815
unwissender schrieb: > Geht da tatsächlich ein Bit hin und eines her, warum bidirektional, wenn > ich nur senden oder nur empfangen will, was ist das dann für ein anderes > Bit? Die Sonne geht auch morgens auf, egal ob DU Licht brauchst oder nicht. So ist SPI nun mal. Das gesendete Bit ist das, was im SPI Senderegister steht, das empfangene ist der Pegel der bei der Taktflanke auf der entsprechenden Schnittstellenleitung liegt. Was anderes kann SPI nicht - sonst ist es kein SPI.
Gast
#6516068
SPI Peripherie die empfindlich auf zufällige Daten reagiert hat sinnvollerweise eine eng definierte Initialisierungs-Sequenz. Zum Beispiel SD Karten.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.