Hallo, ich habe ein dreifarbiges (B/W/R) 4.2“ ePaper Display von Waveshare. https://www.waveshare.com/wiki/Pico-ePaper-4.2-B. Es handelt sich um die neue Version V2. Anscheinend unterscheidet sich der verbaute Controller von dem der Vorversion. Leider kann ich bei Waveshare nur das Datenblatt der V1 finden, zur V2 gibt es nur eine Art Kochrezept zur Anbindung an einen Raspi Pi. Der veröffentlichte Treiber ist für meine Zwecke nicht geeignet, da ich keinen Raspberry verwende. Ich möchte ihn daher selbst schreiben. Hat jemand ein aktuelles Datenblatt oder weiß, welcher Controller verbaut ist? Vielen Dank!
Servus, ich glaube der Hersteller der Waveshare-Display ist Good Display. Schau dir mal https://www.good-display.com/product/214.html an, vielleicht ist das dein Display. Viel Erfolg Jörg
Vielen Dank für den Link. Endlich ein vernünftiges Datenblatt. Angesichts des Z-förmigen Anschlusskabels vermute ich aber dass es sich um folgendes Display handelt: https://www.good-display.com/product/395.html Dazu passt auch der Waveshare-Treibercode. Ich habe ihn mal auf mein System (STM32F411) angepasst. Leider bleibt er im Init hängen, da das BUSY-Signal nach dem ersten SPI-Kommando auf Low hängenbleibt. Muss das CS-Signal eigentlich nach jedem übertragenen Byte auf High und dann wieder auf LOW gehen oder reicht es, es während eines Kommandos die ganze Zeit über auf LOW zu halten? Letzteres wäre viel eleganter, weil ich dann die DMA nutzen könnte.
> Muss das CS-Signal eigentlich nach jedem übertragenen Byte auf High und dann wieder auf LOW gehen Ja, muss es. Ist in den Timingdiagrammen im Datenblatt (ab S. 41) auch deutlich zu sehen. Dazu hat der 'F411 den NSS-Ausgang (ref. man. S. 561ff) > The NSS pin may also be used as an output if enabled (SSOE bit) and driven low if the SPI is in master configuration.
Nach mehreren Stunden erfolgloser Suche habe ich das Problem endlich lokalisieren können. In dem Folienkabel, was das eigentliche Display mit der Platine verbindet, ist ein winziger Riss, der nur unter der Lupe sichtbar ist. Offensichtlich ist auch eine Leiterbahn, die das Gate des externen Spannungswandler-Mosfets treibt, unterbrochen. Damit kommt keine Spannung zustande, was das hängende BUSY-Bit beim Power On erklärt. Ob der Riss schon von Anfang an vorhanden war, lässt sich leider nicht mehr klären, das Display lag 4 Monate bei mir in der Schublade. Ich werde mal versuchen zu flicken, angesichts von Submillimeter-Leiterbahnen nicht leicht. Sonst muss ich in den sauren Apfel beißen und ein neues Display kaufen.
Gerade ist mein neues Display angekommen, es funktioniert auf Anhieb. Noch mehr als die in den Wind geschossenen 42€ ärgern mich die 3 Tage in denen ich den Fehler bei mir und nicht am Display gesucht habe. >DerDetlef schrieb: >> Muss das CS-Signal eigentlich nach jedem übertragenen Byte auf High und dann wieder auf LOW gehen? > > Ja, muss es. Ist in den Timingdiagrammen im Datenblatt (ab S. 41) auch > deutlich zu sehen. Ich habe das mal getestet: Es funktioniert auch problemlos ohne "Klappern" der CS-Leitung nach jedem Byte. Nur am Ende des Kommandos muss das Chip-Select wieder zurückgenommen werden. Das erleichtert die Nutzung der DMA ungemein. NSS wäre übrigens auch keine Lösung geweswn, denn es bleibt Low, wenn die Bytes ohne Unterbrechung Kopf an Schwanz über das SPI gesendet werden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.