Hallo ich arbeite mich gerade in SPI ein. Dabei habe ich gemerkt dass man bei einem Sensor ein Dummy Byte schicken muss um die Daten vom Sensor zu empfangen. Mich würde jetzt interessieren wie das bei einem Display abläuft. Muss das Display auch ein Dummy Byte schicken um aus dem Master die Daten zu empfangen oder werden die Daten per SCK weiter geschoben. Was befindet sich im Puffer vom Display. MfG
SPI schrieb: > Muss das Display auch ein Dummy Byte schicken um aus dem Master die > Daten zu empfangen Der Satz ergibt technisch keinen Sinn. EIn Söave kann bei SPI grundsätzlich von sich aus überhaupt nichts schicken. Es ist immer der Master der die Hoheit über die Kommunikation hat. Bei SPI kann man nicht von dezidiertem Sender bzw. Empfänger sprechen. SPI ist grundsätzlich immer ein Austausch von Bytes. Während 1 Byte vom Master zum Slave wandert, wandert gleichzeitig ein Byte vom Slave zum Master. Ob, wann und wie schnell das passiert ist ausschliesslich die Sache des Masters. Der Slave hat hier kein Mitspracherecht sondern hat nur die Bits eines Bytes entgegen zu nehmen bzw. auf der anderen Leitung gleichzeitig seine Bits zu liefern. Mit jedem Taktpuls das jeweils nächste Bit. Und der Takt wird ausschliesslich vom Master generiert. SPI
-Ein Slave kann bei SPI grundsätzlich von sich aus überhaupt nichts schicken. Das ist mir klar dass der Master das ansteuert. Aber es werden ja Daten vom Master zum Slave geschickt. Somit müssten auch Daten vom Slave zum Master geschickt werden oder haben alle Displays keine MISO Leitung und dadurch nimmt das Display nur Daten auf.
>wandert gleichzeitig ein Byte vom Slave zum Master.
Da hat es mich interessiert was das für ein Byte beim Display ist. Das
Display benötigt ja nur Daten und sendet keine wie ein Sensor.
Hallo, SPI ist einfach nur ein Schieberegister wie schon oben gesagt. Wenn der Master ein Byte raustaktet wir gleichzeitig immer MISO in des Empfangsregister geschoben. Egal, ob da überhaupt was dran ist, ob die Daten sinnvoll sind, ob ein Slave was sinnvolles in sein Ausgangsregister gelegt hat. Das sagt das Datenblatt des jeweiligen Slave-ICs. Man muß auch kein Dummybyte senden, um was zu empfangen. Man muß nur die nötige Anzahl Takte auf SCK zum Slave schicken. Das geht nunmal mit SPI in Hardware am einfachsten, indem man ein beliebiges Byte rausschickt. Gruß aus Berlin Michael
Schon mal ins Datenblatt des Displays geschaut? Da steht doch alles harklein drin.
SPI schrieb: > -Ein Slave kann bei SPI grundsätzlich von sich aus überhaupt nichts > schicken. > > Das ist mir klar dass der Master das ansteuert. Aber es werden ja Daten > vom Master zum Slave geschickt. Somit müssten auch Daten vom Slave zum > Master geschickt werden Du stellst dir das ein wenig zu wörtlich vor. Der Master hat eine Leitung, einen Draht, auf dem er bei jedem Taktpuls nachsieht welcher Pegel da gerade vorliegt. Ob der Slave da auf diesem Draht 0V oder 5V auch wirklich angelegt hat, oder ob der Draht einfach nur in der Luft hängt, das kann der Master nicht wissen und er wille s auch gar nicht wissen. Was immer an dieser Leitung sich nach 8 Taktpulsen an Pegeln ergeben hat, das kriegt dein Programm dann als Ergebnis präsentiert. Ob das irgendetwas damit zu tun hat, dass ein Display die Leitung bedient hat, oder ob die in der Luft hing oder ob die mit Masse verbunden war und deshalb alle 8 Bits als 0 geliefert hat, das weiss dein Programm, weil es die Verschaltung kennt. Wenn es die MISO Leitun zum Display physikalisch nicht gibt, dann kann auch das Display logischerweise im Gegenzug nichts sinnvolles geliefert haben. Das weiss aber dein Porogramm, und damit ist auch klar, dass da nichts sinnvolles rauskommen kann.
SPI schrieb: > oder haben alle Displays keine MISO Leitung und > dadurch nimmt das Display nur Daten auf. Manche haben eine, manche haben keine.
SPI schrieb: >>wandert gleichzeitig ein Byte vom Slave zum Master. > > Da hat es mich interessiert was das für ein Byte beim Display ist. Das > Display benötigt ja nur Daten und sendet keine wie ein Sensor. Das kann man so nicht sagen. Bei einem Graphikdisplay ist es schon gut, wenn der Master abfragen kann, welche Farbe das Pixel an der Position X/Y gerade hat. Aber auch sonst gibt es Dinge, die für den Master interessant sein können. Ein Display wird typischerweise von sich aus nichts preisgeben, so wie ein Sensor der laufend beispielsweise die Temperatur liefert. Das heisst aber nicht, dass es nicht auf Anfrage Auskunft über verschiedene Dinge geben könnte.
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.