Forum: Mikrocontroller und Digitale Elektronik Probleme mit PIC24F + TFT IL9341 Controller


von Patrick G. (grinf4ce)


Angehängte Dateien:

Lesenswert?

Liebe Community,
Ich habe mir Anfang des Jahres ein 2.2" TFT Modul mit IL9341 Controller 
auf Ebay gekauft (Bild: 
http://fs5.directupload.net/images/151012/wmdz6s3h.jpg).

Ich würde eure Hilfe brauchen, da ich auf zwei Probleme gestoßen bin, 
die mir mittlerweile seit Tagen Kopfzerbrechen bereiten. Ich versuche 
euch so viele Infos zu geben wie möglich. Ich bin ein Neu-Einsteiger im 
Thema TFT Display und habe zuvor immer nur 2x16 und 4x16 Displays 
erfolgreich angesprochen und verbaut.

*Setup:*
 - PIC24FJ64GA102 (28 Pin-SPDIP) mit 3.3V Versorgung.
 - TFT Display 2.2" mit IL9341 Controller, Kommunikation über SPI

*Datenblätter:*
http://ww1.microchip.com/downloads/en/DeviceDoc/39951C.pdf
http://www.newhavendisplay.com/app_notes/ILI9341.pdf

*Pin Belegung:*
CS -> RB13,
SCK -> RB12,
SDI -> RB11,
SDO -> RB10,
D/C -> RB9,
RESET -> RB8,
LED(TFT) -> 3.3V mit 10 Ohm
VCC(TFT) -> 3.3V

*1: SPI Communication Fehler?*
Ich habe das SPI Modul am PIC nach den Anforderungen im Datenblatt des 
IL9341 eingestellt: CKE = 1, CKP = 0.
Wenn ich die ausgehenden Daten mit einem Logic Analyzer überprüfe, kann 
ich ablesen, dass die Daten nach den Angaben im Quelltext ausgegeben 
werden, jedoch antwortet der IL9341 Controller nur mit 0xFF. Zeitweise 
kann man einen kleinen Ripple erkennen, jedoch sieht das mehr nach 
rauschen aus, als nach einer Rückmeldung.

_Grafik 1:_ SPI Kommunikation mit "Rauschen"
http://fs5.directupload.net/images/151011/7xste8kx.jpg

_Grafik 2:_ SPI Kommunikation wenn MOSI = MISO am Display-Connector
http://fs5.directupload.net/images/151011/7wkjfhn7.jpg

Ich nehme daher an, dass die Daten wenigstens vom PIC zur Display PCBA 
und von der Display-PCBA zum PIC zurück korrekt übertragen werden. 
Leider kann ich am Controller direkt nachsehen/nachmessen, da ich sonst 
das Display herausbrechen müsste, es scheint angeklebt zu sein.

Wenn ich also Versuche die Display-Identifikation auszulesen (Command 
0x04), erhalte ich nur 0xFF als Antwort.

*2: Display funktioniert generell nicht*
Mein zweiter Fehler ist vielleicht Ursache des ersten Fehlers. Was auch 
immer ich versuche, ich sehe keine Auswirkung auf dem Display selbst. Es 
bleibt leer und weiß.

Ich habe zuerst versucht eine Display-Initializierung selbst zu 
schreiben, jedoch war dies ohne sichtbaren Erfolg. Daraufhin habe ich 
mich einer fertigen Initialisierungs-Routine bedient (die laut Youtube 
Video und Blog auf einem PIC18 mit selbem Display Modul tadellos 
funktioniert). Nach kleineren Adaptionen (Ports umschreiben, ..) habe 
ich auch hier habe ich keinen Erfolg sehen können. Leider habe ich kein 
zweites Display gleicher Bauart bei der Hand um überprüfen zu können, ob 
der Display Controller eventuell tot ist.

Habt ihr eventuell Erfahrung mit diesem Controller und habt eine Idee 
was der Fehler sein könnte? Wahrscheinlich ist es eine Kleinigkeit die 
ich als Anfänger übersehe oder Missachte. Ich bin leider mit meinem 
Latein am Ende.
Bitte um Eure Hilfe - Danke!

Im Anhang findet Ihr Auszüge aus dem Quelltext.

Viele Grüße,
Patrick

von Patrick G. (grinf4ce)


Lesenswert?

Grüß euch,
hat keiner von euch eine Idee?

Ich habe heute ein baugleiches Display erhalten. Leider funktioniert 
auch dieses nicht. Es entkräftet etwas meine Vermutung, dass das Display 
Modul einen Defekt hat aber verstärkt den Eindruck, dass ich bei der 
Kommunikation unsinn treibe...

Ich bin für eure Tipps dankbar.

VG,
Patrick

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.