Forum: Mikrocontroller und Digitale Elektronik Kleines Display Wie an den Controller anschliessen? Datenblatt ist unverständlich :(


von Claudio Hediger (Gast)


Lesenswert?

Hallo

Ich habe mir folgendes Display gekauft....

http://www.sparkfun.com/commerce/product_info.php?products_id=8844

Ich habe auch bereits eine Eagle Library für das Display erstellt und 
wollte nun mit dem Programmieren des Treibers beginnen, doch nun sind 
ein paar fragen aufgetaucht welche ich nicht selbst lösen kann....

Die erste Frage welche sich mir stellt, ist ob das Display den 
Bildinhalt automatisch aus seinem Internen Ram heraus aktualisiert oder 
ob ich kontinuierlich daten liefern muss...

Die Zweite Frage ist, auf Sparkfun.com steht 18bit Parallel 
Interface.... Doch auf der Pinbelegung gibt es SCL und SDI Leitungen und 
im Datenblatt steht auch was von SPI.... also kann ich es doch mittels 
SPI ansteuern?

Im Datenblatt des HD66781 steht folgendes:
The Serial Peripheral Interface (SPI) is selected by setting IM3/2/1 
pins to GND/Vcc1/GND levels
respectively. The SPI is available through the chip select line (CS), 
serial transfer clock line (SCL), serial
data input (SDI), and serial data output (SDO). In the SPI mode, the 
IM0/ID pin functions as ID pin. In the
SPI mode, the DB17-2 pins, which are not used, must be fixed at either 
IOVcc level.

DB17-2 es gibt doch überhaupt keine DB Pins... nur R G und B Pins...
IM3/2/1 ??? Gibt es nach der Pinbelegung auch nicht!!.... Ich bin echt 
Ratlos.... Zudem finde ich nirgends ein datenblatt für den eigentlich 
verwendeten HD66782

Ich hoffe ihr könnt mir helfe.....

Danke Schonmal!

Liebe Grüsse

von Berti (Gast)


Lesenswert?

Sorry, aber durch 2 Minuten Datenblatt ansehen stellst du fest das der 
Controller schon mal 5 verschiedene Interfaces (8bit, 16bit, SPI...) 
bietet. Kurz darauf die Beschreibung der einzelnen Signale!

von Claudio Hediger (Gast)


Lesenswert?

Ja das er SPI Hat ist mir schon klar....

Jedoch der HD66781.... auf dem Display ist jedoch der HD66782 
Verbaut.... und zu diesem habe ich kein Datenblatt gefunden... und da 
auf der Sparkfun Seite 18Bit interface steht, dachte ich das der 82 
vieleicht kein SPI hat...

Dann habe ich jedoch die SDI und SCL Leitung beim Pinout gesehen....

Die Frage ist mehr, welches die IM3/2/1 Pins sind und welche R G und B 
Pins ich den nach VCC Schliessen soll...

von Thorsten (Gast)


Lesenswert?

Das kannst du knicken. Das SPI Interface ist nur für Steuerbefehle 
zuständig. Das Display hat auch kein RAM so das du ständig Daren 
schicken musst!

von Benedikt K. (benedikt)


Lesenswert?

Thorsten wrote:
> Das Display hat auch kein RAM so das du ständig Daren
> schicken musst!

Falsch:
http://www.hbi.de/clients/Renesas/pms04/18_03/HD66782_4.doc

von Claudio Hediger (Gast)


Lesenswert?

danke für das Doc....

Das klingt ja sehr vielversprechend.... aber im Word stand nix von 
SPI... also ist das SPI nur für Befehle?

von Benedikt K. (benedikt)


Lesenswert?

Wenn der 66781 dem 66782 ähnlich ist, dann kann man über Display Control 
4 (R00Bh) (Seite 49 im 66781 Datenblatt) zwischen SPI und dem RGB Modus 
umschalten. Über SPI sind dann aber nur 65k Farben möglich.

von Claudio Hediger (Gast)


Lesenswert?

hmmm.... 65k Farben sind doch genug :D

Kann ich das Register den von beginn an über SPI Beschreiben? und was 
ist D16B ?

Entweder bin ich zu doof oder das Datenblatt zu kompliziert... Beim 
Beschleunigungssensor hat alles bestens geklappt mit dem Programmieren 
^^

von Benedikt K. (benedikt)


Lesenswert?

Claudio Hediger wrote:

> Kann ich das Register den von beginn an über SPI Beschreiben?

Ja. Selbst im RGB Modus geht das, über SPI wird das Display nämlich 
initialisiert.

von Claudio Hediger (Gast)


Lesenswert?

ok sehr gut.....

Nun belibt für mich nur noch offen was damit gemeint ist:

The Serial Peripheral Interface (SPI) is selected by setting IM3/2/1
pins to GND/Vcc1/GND levels


und damit:

In the SPI mode, the
IM0/ID pin functions as ID pin. In the
SPI mode, the DB17-2 pins, which are not used, must be fixed at either
IOVcc level.


Welches sind den die DB17-2 Pins? und welches sind die IM3/2/1 Pins?


Danke für deine Antworten

von Benedikt K. (benedikt)


Lesenswert?

Claudio Hediger wrote:
> Nun belibt für mich nur noch offen was damit gemeint ist:
>
> The Serial Peripheral Interface (SPI) is selected by setting IM3/2/1
> pins to GND/Vcc1/GND levels

Die dürften intern schon passend verdrahtet sein.

> Welches sind den die DB17-2 Pins?

Seite 27: 18 bit RGB interface (1 transmission/pixel)
Da siehst du die Zuordnung RGB zu DB.

von Claudio Hediger (Gast)


Angehängte Dateien:

Lesenswert?

OK Vielen Dank....

Ich hab mal nen kleinen Plan gezeichnet....

(Die Mikrocontrolroller Seite ist noch nicht fertig....)

Müsste das so Funktionieren? (LCD Seite)

Danke Schonmal

von Berti (Gast)


Lesenswert?

Warum nutzt du nicht gleich die Hardware SPI des Controllers sondern 
GPIOs?

von Claudio Hediger (Gast)


Lesenswert?

Da ich leider keine Doppelseitigen Platinen ätzen kann... bzw noch nie 
ausprobiert und deshalb diese Pins am einfachsten zu verdrahten sind....

Habe sowieso schon ne selbstgeschriebene SPI Routine... von daher 
bedeutet das kein mehr aufwand für mich :)

Ist es den richtig Connected?

von Berti (Gast)


Lesenswert?

Naja, aber bevor ich auf den Luxus einer Hardware SPI verzichte löt ich 
bei der einseitigen LP lieber ein paar Drahtbrücken mehr ein!

von Tobias P. (hubertus)


Lesenswert?

Etwas OT, ich weiss, aber ich hab auf der Seite, auf die Claudio's Link 
verweist, diverse andere, sehr itneressante Dispalys gesehen. Besonders 
toll finde ich dieses:

http://www.sparkfun.com/commerce/product_info.php?products_id=8542

Sowas wär ganz geil.
Auch das Interface sieht super simpel aus! Also ich hab mir mal die 
Seite vom Hersteller angesehen, und dort steht etwas davon, dass man 
noch einen speziellen USB-Adapter braucht, um das Display verwenden zu 
können?

Hab ich da was falsch verstanden oder was?
Oder könnte ich tatsächlich so ein Display nehmen, es an Rx und Tx von 
meinem Microcontroller hängen, und loslegen? Oder was muss ich da vorher 
noch mit diesem ominösen USB-Adapter anstellen?

Wär cool wenn mir einer einen Tipp geben könnte, ich brauch nämlich in 
meinem nächsten Projekt ein farbiges Display, und dieses wäre genau 
ideal :-)

Gruss
    Tobias

von Claudio Hediger (Gast)


Lesenswert?

Hi...

da steht:

Easy 5 pin interface to any host device: VCC, TX, RX, GND, RESET

Ich denke mal das bedeutet das man es an RX und TX anschliessen kann
Steht ja im Titel Serial LCD....

Vieleicht haben die gemeint das es einen USB Adapter auf basis des FTDI 
232 gibt....


Kann noch jemand sagen ob mein Aufbau nach Schaltplan funktionieren 
müsste bzw ob das Display richtig connected ist??

von Roman (Gast)


Lesenswert?

Claudio: Ich glaube die Vorredner wollten sagen, dass Du das Display 
lieber direkt an das Hardware SPI interface anschliessen solltest. Also 
Pin 15/17. Damit ersparst Du Dir ein Software SPI (was natürlich auch 
nicht allzu schwer ist).

Ob alle anderen Anschlüsse richtig sind, kann ich nicht sagen. Aber es 
fehlt noch ein empfehlenswerter 100nF Kondensator am AVR.

von Roman (Gast)


Lesenswert?

...und ein Pull-Up am Reset fehlt auch.

von Claudio Hediger (Gast)


Lesenswert?

Ok Vielen Dank!

Am besten ich ätze mal eine kleine test platine und führe alle leitungen 
zur sicherheit noch raus damit ich die noch verändern könnte...

Danke euch allen....

Wenn interesse besteht würde ich fotos und Software hochladen wen ich 
fertig bin

von Claudio Hediger (Gast)


Lesenswert?

Das LCD benötigt 2.8V

Der controller liefert jedoch TTL Pegel somit 1 = 5V

Da folgendes steht:

In the
SPI mode, the DB17-2 pins, which are not used, must be fixed at either
IOVcc level.


--> IOVcc <--

gehe ich davon aus dass die IO Pins andere Pegel haben dürfen....

Stimmt das?

von SF (Gast)


Lesenswert?

Der Pullup am Reset ist nicht nötig. Die AVRs haben alle einen völlig 
ausreichenden internen Pullup am Reset Pin! Der externe Pullup ist nur 
ein "Angstwiderstand" und eigentlich nur nötig, wenn man am Einsatzort 
des Kontrollers (EMV) Störungen erwartet.

von Werner B. (werner-b)


Lesenswert?

SF wrote:
> Der Pullup am Reset ist nicht nötig. Die AVRs haben alle einen völlig
> ausreichenden internen Pullup am Reset Pin! Der externe Pullup ist nur
> ein "Angstwiderstand" und eigentlich nur nötig, wenn man am Einsatzort
> des Kontrollers (EMV) Störungen erwartet.

Da habe ich aber gegenteilige Erfahrungen gemacht.
Könnte von der Controller-Generation abhängen.

von Benedikt K. (benedikt)


Lesenswert?

Werner B. wrote:
> SF wrote:
>> Der Pullup am Reset ist nicht nötig. Die AVRs haben alle einen völlig
>> ausreichenden internen Pullup am Reset Pin! Der externe Pullup ist nur
>> ein "Angstwiderstand" und eigentlich nur nötig, wenn man am Einsatzort
>> des Kontrollers (EMV) Störungen erwartet.
>
> Da habe ich aber gegenteilige Erfahrungen gemacht.
> Könnte von der Controller-Generation abhängen.

Die alten tinys (tiny12 usw.) haben keinen Pullup, aber bei allen 
anderen funktioniert das gut.
Meine Erfahrung: 100nF gegen GND machen alles unempfindlicher gegen 
Störungen als ein 10k Pullup.

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
Noch kein Account? Hier anmelden.