Forum: Mikrocontroller und Digitale Elektronik RA9975 TFT-Controller, Startup-Probs (SPI). Tips?


von Hanns-Jürgen M. (yogy)


Lesenswert?

Hallo zusammen,

ich habe mir über ibäh aus China von Byudisplay ein 7'' TFT mit RA8875 
Controller bestellt, der sich über SPI 4-Wire) ansteuern läßt (lassen 
soll).

Das ist nicht mein erstes (Touch-) TFT, das ich ansteuere, auch nicht 
mein erstes über SPI. Der Vorteil des RA8875 für mich: Ich muß nicht 
mehr alles zeitaufwendig pixelweise machen, also auch keine Fonts von 
Hauptprozessor bearbeiten lassen. Ach ja, ich nutze aktuell eine Arduino 
DUE Platine mit SAM3X8, SW in Standard-C, Atmel Studio 7.

Mein Problem ist: Die Initailisierung und die ersten Teste ("Löschen des 
Bildschirms in verschiedenen Hintergrundfarben")  funktioniert nur sehr 
selten. Zumeist wird der Bildschirm auf "schwarz" initialisiert. 
(Hintergrundbeleichtung ist "ein".)

Die SPI-Signale scheinen mir okay, ich habe die Taktrate auch 
versuchsweise heruntergesetzt (aktuell probiere ich 1 MHz) und auch 
verschieden lange Pausen zwischen den Übertragungen eingefügt, keine 
Besserung. Versuche mit SPI-Mod 3 (soll notwendig sein)  anstelle von 
Mod 1: keine Besserung

Auch das Nachlöten des RA8875 hat keine Änderung gebracht, ebensowenig 
wie die Kabelverkürzung auf 20 cm.

Die Initzialisierung erfolgt nach dem Beispiel von Buydisplay
( Link: 
https://www.buydisplay.com/download/democode/ER-TFTM070-5_4-wire-spi_DemoCode.txt) 
unter Nutzung der SPI0 Schnittstelle des DUE. Datenblatt etc habe und 
nutze ich natürlich.

Hat jemand Tips für mich bzw. verfügt über Erfahrung mit dem RA8875 über 
SPI? Wäre ganz toll...

von Toto mit Harry (Gast)


Lesenswert?

Wenn Du den Arduino benutzt würde ich einfach mal eine Arduino Lib als 
Grundtest versuchen bevor man da nachlötet.

Da kann man bis auf die Löt-Jumper die man auch teils mehrfach selbst 
setzen muss nichts verkehrt machen.

von Toto mit Harry (Gast)


Lesenswert?

Ich glaube ich musste sogar smd widerstände umsetzen.. bin mir da gerade 
nicht so sicher..
4-wire Serial Interface
Jumper:
J10,J12,J14,J16 Short
J9,J11,J13,J15 Open

Widerstände:
R1~R3=10KΩ
R35~R38=0Ω
R39~R42 No Connection

Backlight Control
J15 Short,J16 Open: Select Backlight Control Signal with External Input
J15 Open,J16 Short: Select Backlight Control Signal with RA8875 'PWM

Connect fix hole to ground
J17 Shot: Connect fix hole to the gr
ound

Auslieferungszustand:
We leave J1 to,J5,J6,J9,J12,J13,J15 short
J7,J8,J10,J11,J14,J16,J17 open

R39~R42=0R
R35~R38 no
connection by default

von Hanns-Jürgen M. (yogy)


Lesenswert?

Ja, danke für die Antworten.

Wie ich schon erwähnt hatte, das Modul initialisiert manchmal (!) 
richtig, slso ist die einstellung auf 4-Wire SPI auch okay (kann ich ja 
auch nachmessen) und die init-Befehle sind auch korrekt (kann ich 
ebenfalls am MOSI Pin nachchecken.

Ach ja, ich arbeite nicht Arduino-Kram, nur weil meine HW einen DUE-PCB 
ist. Ich sehe darin auch keinen Sinn.

von Flip B. (frickelfreak)


Lesenswert?

hängt am spi noch andere peripherie?

von Philipp K. (philipp_k59)


Lesenswert?

Ich meinte lediglich alle Jumper und Widerstände überprüfen, wenn man 
davon nichts gehört hat, ändern. Ich hatte wegen den Widerständen 
sporadische Probleme.

Mit Arduino meinte ich das Board.. ein 10000fach getestetes Beispiel ist 
in 10 Minuten hochgeladen.

von Fern Schätzer (Gast)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Hat jemand Tips für mich bzw. verfügt über Erfahrung mit dem RA8875 über
> SPI? Wäre ganz toll...

(du hast ja nicht beschrieben wie dein Testaufbau aussieht:)

So grosse Displays brauchen eine ganze Menge Strom!

Bist du sicher dass du dafür vorgesorgt hast, die Strom-
verbraucher gut voneinander entkoppelt und mit Abblock-
kondensatoren stabilisiert hast? Hier und da ein zusätzlicher
Elko kann nicht schaden ...

Allein das Einschalten der Hintergrundbeleuchtung macht
einen kräftigen "Knacks" in der Versorgung .....

von Hanns-Jürgen M. (yogy)


Lesenswert?

Flip B. schrieb:
> hängt am spi noch andere peripherie?

nein, das mit dem MOSI problem habe icjh aber gelesen.

von Hanns-Jürgen M. (yogy)


Lesenswert?

Philipp K. schrieb:
> Ich meinte lediglich alle Jumper und Widerstände überprüfen, wenn man
> davon nichts gehört hat, ändern. Ich hatte wegen den Widerständen
> sporadische Probleme.
>
> Mit Arduino meinte ich das Board.. ein 10000fach getestetes Beispiel ist
> in 10 Minuten hochgeladen.

Alle Jumper und Widerdstände sind richtig, ich habe das ab RA8875 direkt 
überprüft.

10000 fachb getestete Beispiel bringen eher wenig, wenn diese nicht die 
Harfßdware SPI nutzen.

Ich bin aber aktuell dabei, die SW soweit als möglich zu "choppen"

von Hanns-Jürgen M. (yogy)


Lesenswert?

Fern Schätzer schrieb:
> Hanns-Jürgen M. schrieb:
>> Hat jemand Tips für mich bzw. verfügt über Erfahrung mit dem RA8875 über
>> SPI? Wäre ganz toll...
>
> (du hast ja nicht beschrieben wie dein Testaufbau aussieht:)
>
> So grosse Displays brauchen eine ganze Menge Strom!
>
> Bist du sicher dass du dafür vorgesorgt hast, die Strom-
> verbraucher gut voneinander entkoppelt und mit Abblock-
> kondensatoren stabilisiert hast? Hier und da ein zusätzlicher
> Elko kann nicht schaden ...
>
> Allein das Einschalten der Hintergrundbeleuchtung macht
> einen kräftigen "Knacks" in der Versorgung .....


Ja, das ist ein guter Gedanke. Deswegen schalte ich die 
Hintergrundbeleuchtung hardwaremaäßig auch sofort ein. Ich werde das 
aber nochmals checken und zusätzlich abblocken.

Aktuell nutze ich den 5V Versorgungseingang der Controllerplatine, die 
einen 3V3 Regler beinhaltet. Vlt. sollte ich auf der Platine ein paar Cs 
hinzubacken, mal sehen.

BZW: Ich hatte ein möglöiches SW-Problem gefunden, da war noch ein rest 
einer alten Initialisierung. Ob die Probs machte, kann ich nicht sagen, 
denn es gibt immer noch Probleme.

Aktuelle denke ich, es hängt irgendwie mit dem HW-Reset zusammen. Ich 
werde da gleich ein wenig rumstricken.

Einstweilen vielen Dank.

von Philipp K. (philipp_k59)


Lesenswert?

>>wenn diese nicht die Hardware SPI nutzen.

welche denn sonst? Ist BuildIN.

Arduino Due:
Remember it's an SPI connection so there's hardware limitations on some 
CPU, for example DUE can use as CS pin 4,10 or 52 etc..

Da gibts beim DUE einen Bug mit den Pins des USB chips.

von Hanns-Jürgen M. (yogy)


Lesenswert?

Philipp K. schrieb:
>>>wenn diese nicht die Hardware SPI nutzen.
>
> welche denn sonst? Ist BuildIN.
>
> Arduino Due:
> Remember it's an SPI connection so there's hardware limitations on some
> CPU, for example DUE can use as CS pin 4,10 or 52 etc..
>
> Da gibts beim DUE einen Bug mit den Pins des USB chips.

Die meisten Beispiele nutzen eine "SW-SPI", was natürlich Blödsinn ist. 
Beim SAM3X8 sind unter Nutzung der 3 USARTS vier SPIs nutzbar, bei der 
DUE PCB ist  leider nur einer der USARTs als SPI nutzbar. Aber, worr 
shalls. Ich nehme SPI0 und nutze keinen Auto-cs Pin.

Aber egal, es scheint, als wäre mein problem gelöst. Ich wertde das aber 
noch genauer prüfen. Bislang hatte ich den Reset-Eingang der 8875-PCB 
nicht genutzt, da eine eigene Power-Up Reset-Schakltung vorhanden ist 
(sein soll).

Zusätzlich ich dann bei neinen test manuell den RESET-Pin auf Low 
gezogen. Offenbar ist dieser glitchempfindlich (??), jetzt wird der 
8875-Reset über einen DUE Outputpin gesteuert, und siehe da, es scheint 
zu funzen...

Jetzt werde ich mal mit dem Test der anderen 8875 Funktionen beginnen

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.