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
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.
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?
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 ...
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.
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.
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.
SPI Peripherie die empfindlich auf zufällige Daten reagiert hat sinnvollerweise eine eng definierte Initialisierungs-Sequenz. Zum Beispiel SD Karten.
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.