Hey, ich komm nicht weiter :/ Ich will insgesamt 101 Mikrocontroller miteinander verbinden. Ein Master und 100 RGB Controller. Das ganze soll eine riesige LED-RGB Matrix geben. Welches Protokoll nehme ich dafür? UART, I2C.....? I2C geht nur bis 127 Adressen. Aber wenn ich das ganze mal erweitern will :/ LG
Rechne erstmal wie schnell die die Daten übertragen musst. Eventuell wird du mehr als ein Bus brauchen.
Also die Daten die zu jedem Controller hin müssen, sind ja nur 4 Werte. (Adresse, R-Wert, G-Wert, B-Wert) Dann muss der Controller aber noch einen Wert zurück geben.
UART wird denke ich schnell genug sein. DMX kann man darüber ja auch übertragen. Und da gehen 512 Adressen mit 20 - 25 Frames pro Sekunde.
Hallo, mir fällt da spontan das SPI Interface ein. Ein Master erzeugt den Clock und die Slaves Senden gleichzeitig mit dem Master in die andere Richtung. Bildlich gesehen so wie eine Seilbahn in den Alpen. Jeder Slave der nichts zu senden hat legt 0xFFFF ins Senderegister, alle Tx und RX Leitungen werden mit Open-Drain und PullUp verbunden. Der Master Sendet ein Adress/Command Token und der Slave Antwortet bei der nächsten Übetragung. Kommt dann allerdings noch auf die Geschwindigkeit und die Leitungslänge an.... Gruss, Andreas
Flitzii schrieb: > I2C geht nur bis 127 Adressen. Aber wenn ich das ganze mal erweitern > will :/ Es gibt doch 10 Bit I2C oder irre ich mich? Den Hinweis von Peter II beachten...
Flitzii schrieb: > Also die Daten die zu jedem Controller hin müssen, sind ja nur 4 Werte. > (Adresse, R-Wert, G-Wert, B-Wert) dachte es soll eine große anzeige weden, also an jeden controller sind selber noch mal viele RGBs angeschlossen. Wenn es nur 4Werte sind, dann spielt die geschwindigkeit keine rolle. Aber dafür kannst du doch gleich RGB controller verwenden.
Flitzii schrieb: > Das ganze soll eine riesige LED-RGB > Matrix geben. Kommt drauf an, was du darstellen willst - für HD-Video liegst du da im Gigabit/s Bereich. Also rechne mal Farbtiefe x 3 x Pixelzahl x Framerate. Dann kann man weitersehen. Gruss Reinhard
Einfache Animationen sollen darauf dargestellt werden. Kein HD Video :D Leitungslänge zwischen dem Master und den "Pixeln" maximal 35 cm. Wäre dafür das SPI gut geeignet?
das wird wohl mit den meisten Bussen nix, oder du baust noch ein paar Treiber ein oder der Bus ist sehr langsam. Du hast nämlich das problem, dass ein Ausgang viele eingänge (Kapazitäten) treiben muss.
Flitzii schrieb: > Einfache Animationen sollen darauf dargestellt werden. dann überleg mal ob es wirklich sinn macht 100µC zu Programmieren. Es gibt schon fertig ICs die man einfach einlöten braucht für soetwas. Dann erübrigt sich auch die suche nach der Schnittstelle, dann nimmt man einfach das was geboten wird.
Flitzii schrieb: > Ein Master und 100 RGB Controller. Das ganze soll eine riesige LED-RGB > Matrix geben. Wenn ich mal kurz überschlage was das kosten wird und dann deinen Kenntnisstand berücksichtige....
Der hat grad seine manische Phase ... was kommt danach ...?
Gugst Du hier: Beitrag "Leitungslänge mit SPI Bus" Es kommt auf die Taktfrequenz und Auf die Größe der Pullups, "je niederohmiger, desto lang und schnell" und auf die Leitungskapazitäten. Ein Grundlagenartikel zu SPI gibts hier: http://www.mct.de/faq/spi.html Gruß, Andreas
Flitzii schrieb: > I2C geht nur bis 127 Adressen. Aber wenn ich das ganze mal erweitern > will :/ CAN wäre für eine Vielzahl einzeln adressierbarer Knoten geeignet und auch sehr komfortabel. Es hat auch schon alleine nur per Hardware HD6, da muß man in Software nichts mehr groß an Fehlerkorrektur berücksichtigen. UART geht aber bspw. in einem Ringnetz auch, mit entsprechendem Protokoll und Adresse drin. Allerdings gibt es da immer auch eine Höchstmenge an Bandbreite. Ich habe bspw. drei alte Boards Opto-Net-Mini mit dem 80C517A hier liegen, die kann man am UART mit Glasfaser zum Ringnetz verbinden. Die ollen Dinger machen dann über UART 1,5 Megabaud. Und das ist fast 20 Jahre alt. Die ollen Kamellen können aber mit dem 8051-Core nicht so schnell rechnen und Daten schieben, wie es der UART eigentlich kann.
>> Also die Daten die zu jedem Controller hin müssen, sind ja nur 4 Werte. >> (Adresse, R-Wert, G-Wert, B-Wert) > DMX kann man darüber ja auch übertragen. Und da gehen 512 Adressen mit 20 > - 25 Frames pro Sekunde. Bei DMX fällt zwar die Adresse weg (einzelne Adressierung nicht möglich), allerdings ist jedes Byte eine Adresse. Ergo sind es 300 der 512 verfügbaren Adressen, die schonmal weg sind, bleiben noch 70 RGB-LEDs übrig (512 - 300 = 212 -> 212 / 3 = ~70). Ralf
Flitzii schrieb: > Das ganze soll eine riesige LED-RGB > Matrix geben. Wieviel m² sollns denn werden?
Flitzii schrieb: > Ein Master und 100 RGB Controller. Das ganze soll eine riesige LED-RGB > Matrix geben. Moin, ich hab hier grade eine 16x12 (192 LEDs)RGB-Matrix vor mir liegen und ich kann dir nur sagen, dass ich mich dabei total verschätzt haben. Nein, nicht der Aufwand ist das Problem, die Auflösung ist einfach viel zu gering!!! Wenn du nun eine 10x10 Matrix baust, dann kannst du darauf grade mal einen Buchsten/Zahl oder ähnliches darstellen. Ich weiß nicht was du mit "einfache Animationen" meinst, aber viel solltest du davon nicht erwarten. Viele Grüße, Olof
Olof Gutowski schrieb: > Wenn du nun eine 10x10 Matrix baust, dann kannst du darauf grade mal > einen Buchsten/Zahl oder ähnliches darstellen. > > Ich weiß nicht was du mit "einfache Animationen" meinst, aber viel > solltest du davon nicht erwarten. Vielleicht sowas hier http://www.youtube.com/watch?v=DTb0k_P1wlY Da ist die Framrate sicher nicht das große Problem. Mich schreckt eher das hier > Ich will insgesamt 101 Mikrocontroller > Ein Master und 100 RGB Controller. Wozu braucht man da 101 µC?
Moin nochmal, sorry, das Wichtigste vergessen, nämlich den Bezug zur Frage von Flitzii. Ich würde dir unbedingt dazu raten, etwas zu nehmen, was noch Potential nach oben hat. Bei mir ging es los mit 6x6 und das war gar nichts... dann eben 16x12 und da ich die WS2812 / WS2811 Stripes benutze, ist das einfach nur ein zusammenlöten von ein paar Stücken. Viele Grüße, Olof
Flitzii schrieb: > Also die Daten die zu jedem Controller hin müssen, sind ja nur 4 Werte. > (Adresse, R-Wert, G-Wert, B-Wert) Und wie viele Adressen gibt es pro Controller?
Karl Heinz Buchegger schrieb: > Mich schreckt eher das hier > >> Ich will insgesamt 101 Mikrocontroller >> Ein Master und 100 RGB Controller. > > Wozu braucht man da 101 µC? Das kommt ganz auf die Anlagentopologie an. Ich schlachtete auf dem Schrott mal eine Kiste mit vielen großen Anzeigen. Das waren mehr als 10 Kästen in der Größe einer kleinen Lautsprecherbox, jeder hatte zwei riesige Siebensegment-Anzeigen mit über 10cm Höhe, um 0 bis 99 anzuzeigen. Keine Ahnung, woher das war. Vielleicht aus dem Sportbereich, Pferderennbahn, oder Industrie Fließband. In Arztpraxen und im Meldeamt gab es sowas mal, die haben aber heute schon LCD-Monitore. Aber jedes Kästchen hatte einen 68705P3. Diese waren gesteckt, und nur die nahm ich mit. Das ganze Gebilde war wohl mal über einen UART oder primitivere getaktete geshiftete Logik in Sternform geschaltet.
> Wilhelm Ferkes (ferkes-willem) > Ich schlachtete auf dem Schrott mal eine Kiste mit vielen großen > Anzeigen. Wow!
Flitzii schrieb: > Also die Daten die zu jedem Controller hin müssen, sind ja nur 4 Werte. > (Adresse, R-Wert, G-Wert, B-Wert) Also 32Bit. Mal 100 Controller=3200 Bit für ein komplettes Update der Farbwerte aller Controller. Wenn du, wie du schreibst, Animationen darstellen willst, brauchst du wenigstens 15fps (Stummfilmniveau von vor 130 Jahren). Also pro Sekunde 15*3200= rund 50kBps. Netto natürlich, dazu kommt der Protokolloverhead, sagen wir mal rund 20%, dann sind wir bei rund 60kBps Brutto. Das ist an sich noch kein Problem, wird aber zum Problem, wenn die Leitungen lang und vielleicht sogar noch verzweigt sind. Da kann es bei einfachen single-ended-Signalen mit Logikpegel sehr leicht passieren, daß alle Teilnehmer vor lauter Reflexionen auf dem Bus nur noch Bahnhof verstehen. Deswegen fällt ein wirklicher Bus wie etwa I2C wohl für diese Anwendung aus. Was aber gehen könnte, sind RS232 oder SPI als Ring. Also: Jeder horcht, was ihm seiner rechter Nachbar erzählt und erzählt es brühwarm Byte für Byte seinem Nachbarn zur Linken weiter. Nebenbei analysiert jeder noch, ob das aktuelle Paket eventuell ihn selber betrifft, macht dann was er soll und packt eine eventuelle Antwort mit in das Paket, wenn er es weiter schickt. Diese Topologie sorgt für kurze und nicht verzweigte Leitungen. Allerdings: Ausfall eines einzelnen Teilnehmers kann bereits den Totalausfall der Kommunikation bedeuten. Aber dafür ist der Fehler dann besonders leicht zu finden: Es muß wohl dann der linke Nachbar des Chefs sein. Oder die Strippe dorthin...
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.