I’d say the cable is sitting the wrong way round on your display. Pin 1 on the core board is not connected to pin 1 on the display (the square soldering pad on the display board should be pin 1).
Ooops, das ist ja das deutsche Forum hier: also, das Kabel ist verkehrt herum am Display dran. Pin 1 des Core Boards und Pin 1 des Displays (rechteckiges Pad) sind nicht miteinander verbunden, wenn ich das auf deinen Fotos richtig sehe.
Edit: hab mir nochmal das Core Board Layout angeschaut, es scheint doch richtig verbunden zu sein :unsure:
Hm, am Kontrast liegts wohl auch nicht - zieht das Backlight vielleicht zuviel Strom über einen mageren USB-Port? Ist aber ziemlich unwahrscheinlich… wird der LPC17-Kern denn über USB/MIOS Studio erkannt, wenn das Display dranhängt?
In den obigen Bildern sieht man, dass Du das LCD an Port J15B angeschlossen hast.
Zum Testen wuerde ich aber erstmal Port J15A hernehmen; J15B wird nur von bestimmten Applikationen freigeschaltet.
Bei der MBLC bin ich mir sicher, dass dies geschieht. Doch als Referenz nimmst Du lieber erstmal eine vorkompilierte App von http://www.ucapps.de/mios32_download.html so wie bspw. die MIDIbox SEQ V4. Wenn die Displays damit funktionieren, liegt es doch “nur” an den Compiler-Einstellungen.
Ja, aber nicht auf Port J15B (dem zweiten LCD Port), sondern nur auf J15A. Deshalb habe ich nochmal nachgehakt.
Wenn aber auch mit der MBSEQV4 keine Ausgabe auf irgendeinem Port erfolgt, dann kann es mittlerweile eigentlich nur noch an den Verbindungen zwischen den LCD Ports und dem LPCXPRESSO liegen. Dazwischen liegt ja auch noch ein 74HC595, und die Platine ist selbstgeaetzt… ich werde nach Weihnachten mal einen LCD Interconnection Test schreiben, womit sich die Verbindungen ueberpruefen lassen.
Mit dem neuen “testlcdpin” kannst Du jeden LCD Pin gezielt setzen, und die Spannung am LCD nachmessen:
[137384.195] Please specifiy valid LCD pin name: rs, e1, e2, rw, d0, d1, ... d7
[137384.195] Please specifiy valid logic level for LCD pin: 0 or 1
[137384.195] Following commands are supported:
[137384.195] testlcdpin rs 0 -> sets J15(AB):RS to ca. 0V
[137384.195] testlcdpin rs 1 -> sets J15(AB):RS to ca. 3.3V
[137384.195] testlcdpin e1 0 -> sets J15A:E to ca. 0V
[137384.195] testlcdpin e1 1 -> sets J15A:E to ca. 3.3V
[137384.195] testlcdpin e2 0 -> sets J15B:E to ca. 0V
[137384.195] testlcdpin e2 1 -> sets J15B:E to ca. 3.3V
[137384.195] testlcdpin rw 0 -> sets J15(AB):RW to ca. 0V
[137384.196] testlcdpin rw 1 -> sets J15(AB):RW to ca. 3.3V
[137384.196] testlcdpin d0 0 -> sets J15(AB):D0 to ca. 0V
[137384.196] testlcdpin d0 1 -> sets J15(AB):D0 to ca. 5V (resp. 3.3V)
[137384.196] testlcdpin d1 0 -> sets J15(AB):D1 to ca. 0V
[137384.196] testlcdpin d1 1 -> sets J15(AB):D1 to ca. 5V (resp. 3.3V)
[137384.197] testlcdpin d... -> same for J15(AB):D2, D3 D4, D5, D6, D7
[137384.197] testlcdpin reset -> re-initializes LCD modules so that they can be used again.
Besonders der “testlcdpin d7 1” und “testlcdpin d7 0” Test ist interessant, weil hier der Feedback zum D7 Eingang am LPCXPRESSO (P1.19) ueberprueft wird - wenn hier ein Loetfehler vorliegt, wird das LCD nicht initialisiert.
P1.25 geht zum SCLK Eingang des seriellen Shift Registers - dieses hochfrequentes Signal kannst Du so ohne weiteres nicht messen.
P1.26 geht zum RCLK Eingang des seriellen Shift Registers - es steht die meiste Zeit auf 0V
P1.27 ist das RW Signal, es steht entweder auf 0V oder 3.3V - je nachdem, was der LCD Treiber gerade macht. Aber Du kannst es ja auch mit dem “testlcdpin” Kommando direkt ansteuern.
Wenn Du den LPC abziehst, werden die LCD Control Signale (somit auch P1.27) ueber die R33 Pull-Ups auf 5V gezogen, das passt.
P1.25 und P1.26 werden in dem Fall nicht mehr getrieben, eigentlich solltest Du dann auch keine 5V mehr messen.
Wenn am RW Pin nun ploetzlich nur noch 2.5V anliegt, dann verhaelt es sich wie bei einem Kurzschluss zwischen zwei Pins.
Generell ist es uebrigens sehr einfach herauszufinden, ob der Fehler eher am Core Modul, oder am Kabel bzw. LCD liegt.
LCD abstoepseln, und die Spannungen der einzelnen Pins mit dem testlcdpin Kommando direkt an J15A messen
1a) Spannungen passen? -> Fehler liegt nicht am Core Modul, weiter bei 2)
1b) Spannungen fehlerhaft? -> Fehlersuche am Core Modul fortsetzen.
LCD anschliessen, und die Spannungen nochmal durchmessen
Wenn nun eine Spannung nicht mehr den erwarteten Level erreicht, weisst Du, wo bspw. ein Kurzschluss (oder ein Kabeldreher) vorliegen koennte.
Es waere interessant zu wissen, ob mit dem modifizierten LCD Treiber immer noch lediglich 2.5V an RW anstehen, oder die vollen 3.3V (unabhaengig vom J15_S Jumper - der Pin kann keine hoeheren Spannungen treiben)
Vielleicht funktioniert das Display nun sogar auf Anhieb