Moin zusammen. Ich bin confused, vielleicht könnt Ihr mir helfen. Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht. Zunächst was ich vor habe: 20 Mini Displays (240x240px) hintereinander schalten so das ich ein Gesamtbild von 4800x240px erhalte. Es sollen keine Videos oder aufwendige Animationen laufen, nur ein bisschen geblinke und evtl. mal ein Text. Es geht sich um ein Modelbau Projekt. Ich habe also erwartungsvoll 20 Mini Displays (ZJY IPS130-v2 240x240 IC DT7789 / SPI) gekauft https://naltronic.de/displays/oled/610/1-3-zoll-ips-oled-display-modul-240x240-pixel-rgb-tft-lcd-bord-st7789-3.3v und da ich mir viele Videos angesehen hatte, erstmal einen Multiplexer TCA9548A zum testen. Was ich jetzt erst verstanden habe ist das der Mutiplexer I2C ist und die Displays SPI - das funktioniert also nicht. Nach weiteren lesen habe ich verstanden das über den SPI Bus mehrere Geräte geschaltet werden können und diese dann über CS angesprochen werden. Schön, nur die Displays haben kein CD sondern nur SDA SCL DC / RST (und VCC/GND/BCL). Als Board hätte ich Mega2560 ESP8266 ESP32 zur Verfügung. Nur ich komme gerade echt nicht weiter - vielleicht suche ich auch einfach nach einem falschen Ansatz bei meiner Recherche. Die Displays selber bekomme ich ohne Probleme zu laufen, auch mehrere am selben "Port, zeigen dann natürlich alle das gleiche an. Ich danke Euch....
Marko Knoche schrieb: > Moin zusammen. > Ich bin confused, #metoo Früher (tm) war man in Germanien verwirrt. So ändern sich die Zeiten #globalisation #ihatemylanguage > vielleicht könnt Ihr mir helfen. Wahrscheinlich sehe > ich den Wald vor lauter Bäumen nicht. A common problem. > Zunächst was ich vor habe: > Ich habe also erwartungsvoll 20 Mini Displays (ZJY IPS130-v2 240x240 > IC DT7789 / SPI) gekauft > https://naltronic.de/displays/oled/610/1-3-zoll-ips-oled-display-modul-240x240-pixel-rgb-tft-lcd-bord-st7789-3.3v > und da ich mir viele Videos angesehen hatte, erstmal einen Multiplexer > TCA9548A zum testen. Why? > Was ich jetzt erst verstanden habe ist das der Mutiplexer I2C ist und Indeed my dear! > die Displays SPI - das funktioniert also nicht. BINGO! > Nach weiteren lesen habe ich verstanden das über den SPI Bus mehrere > Geräte geschaltet werden können und diese dann über CS angesprochen > werden. You'r my hero! > Schön, nur die Displays haben kein CD sondern nur SDA SCL DC / RST > (und VCC/GND/BCL). Iam sure, that those pins can be used as CS, when SPI mode is enabled. RTFM works wonders! https://www.alldatasheet.com/view.jsp?Searchword=ST7789 > Als Board hätte ich Mega2560 ESP8266 ESP32 zur Verfügung. They will work just fine. Beside the 3 major IOs SCK, MISO and MOSI all you need is love, I mean, 20 outputs for 20 chip selects. If you want to save precious pins on your controller, the 74HC138 is your friend (1 out of 8 decoder/selector). Three of them allow you to control 24 chip selects using only 5 IOs. > Nur ich komme gerade echt nicht weiter - vielleicht suche ich auch > einfach nach einem falschen Ansatz bei meiner Recherche. Die Displays > selber bekomme ich ohne Probleme zu laufen, auch mehrere am selben > "Port, zeigen dann natürlich alle das gleiche an. You are almost there! Hang on! See SPI for further readings. > Ich danke Euch.... You'r welcome! Falk
SPI wäre schon richtig, aber CS muss vorhanden sein. Die Controller haben das, es ist aber nicht immer herausgeführt. Bei 20 Displays ist das viel Fummelei da vom FFC eine zusätzliche Leitung anzulöten, da sucht man besser ein passendes Displaymodul aus.
Marko Knoche schrieb: > Ich habe also erwartungsvoll 20 Mini Displays (ZJY IPS130-v2 / 240x240 / > IC DT7789 / SPI) gekauft > https://naltronic.de/displays/oled/610/1-3-zoll-ips-oled-display-modul-240x240-pixel-rgb-tft-lcd-bord-st7789-3.3v Da ist kein Datenblatt sondern nur ein Bildchen das man vergrößern kann.... Und - lies Dich in I2C und SPI ein und Du wirst dann eh recht schnell selber verstehen das Du keinen I2C-Mux brauchst sondern ein bischen Hirnschmalz wie man die nötigen /CS für das Display (wenn es denn wirklcih SPI ist) erzeugt...
Thanks, Danke, Merci, Gracias ;) Ok- ich habe ein paar Bäume gefällt und sehe etwas Licht. Das mit dem 74HC138 ist dann der nächste Schritt. Ich weiß das ich für jedes Display einen CS benötige oder den über so einen Chip halt steuern kann, so war es ja mit dem TCA9548 vorgesehen, hätte nur mal wissen müssen das es verschiedenen Sachen gibt, also SPI und I2C. Egal - Leergeld ;) Ich habe eben eine Grafik gefunden wo die PinOuts des Displaykabels beschrieben sind. https://de.aliexpress.com/item/32867668144.html?src=google&albch=shopping&acnt=494-037-6276&isdl=y&slnk=&plac=&mtctp=&albbt=Google_7_shopping&aff_platform=google&aff_short_key=UneMJZVf&&albagn=888888&isSmbAutoCall=false&needSmbHouyi=false&albcp=1705854617&albag=67310370915&trgt=743612850714&crea=de32867668144&netw=u&device=c&albpg=743612850714&albpd=de32867668144&gclid=Cj0KCQiA7YyCBhD_ARIsALkj54og2taHIgaJkE_H8_q1gMnV66X1YZo4p_tv-5K3dMr69hwoxmbwL30aAiXDEALw_wcB&gclsrc=aw.ds Smit hat Pin8 CS - aber dann muß ich an dem Display löten ? Puhhh
Falk B. schrieb: > Iam sure, that those pins can be used as CS RTFM ist ein guter Hinweis. Aber ein CS muss man sich bauen. Die Seite des Händlers ist mehrdeutig. Er schreibt von 4-Draht-SPI Interface, laut Foto hat das Ding aber nur 3 Drähte. Und ein FM gibt es bei ihm auch nicht. Der Controller kann vieles - aber fest verdrahtet. Lange Rede, wenig Sinn: Fehlkauf.
Das SDA und SCL sind KEINE I2C Signale am Modul, sondern die SPI-Signale des COntroller-ICs, welcher NUR SPI kennt. Wie es scheint haben die Knalltüten aber das CSX Signal vergessen . . .
Marko Knoche schrieb: > Smit hat Pin8 CS - aber dann muß ich an dem Display löten ? Du hast es erkannt. Wie das Ding ohne CS funktioniert grenzt an ein Wunder.
Th. Schuler schrieb: > Hier hat jemand das CS Signal rausgeführt: > https://www.instructables.com/Adding-CS-Pin-to-13-LCD/ Uff, das würde ja ne Mamutaufgabe bei 20 Displays Aber dennoch danke
Marko Knoche schrieb: > Uff, das würde ja ne Mamutaufgabe bei 20 Displays Du kennst aber kleine Mamuts . . . Wenn man das einmal gemacht hat, ist das in 5min erledigt. Macht 100min für 20 LCDs. Ich glaube du hast schon deutlich mehr Zeit für deutlich sinnlosere Dinge verschwendet.
Wenn das Problem mit meinen dicken Fingern nicht wäre ;)
Es scheint, dass bei dem Display der CS-Pin aus Platzgründen weggelassen wurde. Von dem Display gibt's auch eine 1,54"-Version, bei der etwas mehr Platz für diese Pinreihe ist, und dort ist der CS-Pin dann auch vorhanden. Falk B. schrieb: > Marko Knoche schrieb: >> Smit hat Pin8 CS - aber dann muß ich an dem Display löten ? > > Du hast es erkannt. Wie das Ding ohne CS funktioniert grenzt an ein > Wunder. Warum? CS ist der "chip select". Wen das Display keinen CS-Anschluss hat, ist der Chip halt immer "selected".
Rolf M. schrieb: >> Du hast es erkannt. Wie das Ding ohne CS funktioniert grenzt an ein >> Wunder. > > Warum? CS ist der "chip select". Wen das Display keinen CS-Anschluss > hat, ist der Chip halt immer "selected". Ja, aber richtige SPI-Slave führen einen Befehl immer nur dann aus, wenn CS wieder auf HIGH geht. Bei dem Controller wird das schon nach der richtigen Anzahl Datenbytes gemacht, auch wenn CS dauerhaft auf LOW liegt. Dann darf sich SPI aber nie verschlucken, denn sonst kommt es aus dem Tritt. Mit einer regelmäßigen Syncronisation über CS passiert das nicht bzw. wird es bei der nächsten Übertragung sofort korrigiert.
Ähm, bin ich doof? SDA und SCL sind I2C-Signale. Es sieht so aus, als ob die Displays über I2C angesprochen werden und die Beschreibung im Shop (4-Draht SPI) falsch ist. Mit SPI hätte man das leicht lösen können, aber bei I2C wird es schwierig, wenn die Adresse nicht änderbar ist. Mehr wird das Datenblatt des Controllers verraten. Falk B. schrieb: > Ja, aber richtige SPI-Slave führen einen Befehl immer nur dann aus, > wenn CS wieder auf HIGH geht. Bei dem Controller wird das schon nach der > richtigen Anzahl Datenbytes gemacht, auch wenn CS dauerhaft auf LOW > liegt. Dann darf sich SPI aber nie verschlucken, denn sonst kommt es aus > dem Tritt. Mit einer regelmäßigen Syncronisation über CS passiert das > nicht bzw. wird es bei der nächsten Übertragung sofort korrigiert. Ob HIGH oder LOW hängt von der Polarität ab, meistens ist es umgekehrt: Der Slave fühlt sich nur angesprochen, wenn Slave Select auf LOW ist. Ob sich der Controller des Slaves verschluckt, kommt auf den Controller an. Mit dem ersten Clock kennt der Controller die Taktrate. Wenn der Controller schlau ist, hat er intern ein Timeout, wenn einer oder mehr Takte fehlen. Dann geht das eigentlich genau so gut wie ohne Slave Select. Allerdings lässt sich dann natürlich der Slave dennoch nicht einfach so auswählen, das geht nur mit Zusatzbeschaltung.
:
Bearbeitet durch User
Benutze einen (oder mehrere) Demultiplexer (aka 74xx138) um den Takt (SCL) nur an eins der Displays durchzuschalten! Damit sollten die sich selektiv ansprechen lassen.
:
Bearbeitet durch User
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.