mit SPI mehr als 8 Bit auf einmal senden (für Display)

Gast #2510585
Hallo

Ich würde gerne ein kleines Display (kein Dot-Matrix) ansteuern.
Das Display hätte 32 Segmente die ich ansteuern kann.
Diese Segmente werden über einen HOLTEK HT1621 Display Controller 
angesteuert.

Der Displaycontroller kommuniziert mittels 3 Leitungen mit meinem uC.
Diese wären CS (chip select), WR Clock und Data.
Für mich scheint dies ja wie eine kastrierte kastrierte SPI 
Schnittstelle.

Somit ist mir eigentlich noch alles klar, jedoch sollte der 
Mikrocontroller an den Displaycontroller mehr als 8 Bit auf einmals 
senden.
Siehe Bild 1

Die ersten 3 Bit um den Write Modus zu erkennen.
Die nächsten 6 sind für die Adresse und dann noch 4 für die Daten.

Wenn ich 2 Zeichen hintereinander schalten will setzt der Clock des 
Mikrocontrollers jedoch für kurze Zeit aus.
Siehe Bild 2

Ist das überhaupt der richtige Weg??
Was könnte ich noch versuchen?

Vielen Dank.
nicart
Angehängte Dateien:
@  nicart (Gast)

>Für mich scheint dies ja wie eine kastrierte kastrierte SPI
>Schnittstelle.

Wieso kastriert? Das IST SPI, einfach und robust.

>Wenn ich 2 Zeichen hintereinander schalten will setzt der Clock des
>Mikrocontrollers jedoch für kurze Zeit aus.

Das ist normal, du musst ja nachladen. Es wird immer nur ein Byte am 
Stück gesendet. Spielt bei SPI aber keine Rolle.

>Ist das überhaupt der richtige Weg??

Ja.

>Was könnte ich noch versuchen?

Was geht denn nicht? Die Lücke im Datentransfer stört keinen.

MFG
Falk
Gast
Hi

>Wenn ich 2 Zeichen hintereinander schalten will setzt der Clock des
>Mikrocontrollers jedoch für kurze Zeit aus.

So lange du CS nicht deaktivierst ist das egal. Den Displaycontroller 
interessieren nur 16 aufeinander folgende Flanken, nicht deren Abstand.

MfG Spess
Gast
Hallo
Ich hätte da nochmals eine kleine Frage.

Wie würdet ihr das Datenpaket zusammenstückeln?
Da ich ja 13 Bit senden sollte, aber ich ja nur vielfache von 8 senden 
kann.
Die Taktleitung taktet ja mit, solange zeichen gesendet werden.
Siehe Bild.
Gelb Clock / Takt.
Violet ChipSelect CS.
Blau Daten.

Danke vorab
Angehängte Dateien:
@nicart (Gast)

>Wie würdet ihr das Datenpaket zusammenstückeln?
>Da ich ja 13 Bit senden sollte, aber ich ja nur vielfache von 8 senden
>kann.

Mit SPI in Software kannst du belibige Datenpakete senden, ist halt 
etwas langsamer.

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister

Und die Jungs, die den IC gebaut haben, sollten noch mal ein paar 
Nachhilfestunden nehmen.

MfG
Falk
Nachtrag. Möglicherweise kann man aber auch einfach führende Nullen 
auffüllen und dann Vielfache von 8 Bit senden, denn der IC scheint ja 
feste Bitkombinationen als Erkennung der Kommandos zu nutzen. Dann 
klappts auch mit Hardware-SPI.

MFG
Falk
Gast
> Das ist normal, du musst ja nachladen. Es wird immer nur ein Byte am
> Stück gesendet. Spielt bei SPI aber keine Rolle.

Das ist eine Frage des Controllers. Es gibt auch welche die koennen 
durchaus 64Bit oder mehr am Stueck senden.

Olaf

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.