Hallo Ich bin momentan auf der suche einer Möglichkeit, zur schnellen Datenübertragung vom PC (Software in C-sharp) über Ethernet zu einem Atmega. Das ganze benötige ich für eine große LED-Matrix (max 64x64 pixel). Als Hardware wollte ich das Board von Ulrich Radig verwenden. Das Problem momentan ist, welches Protoll ist für die Datenübertragung sinnvoll und benötigt den geringsten Rechenaufwand im Atmega32? Das Prinzip soll folgendermaßen sein: Ich hab eine Software(Windows XP -> C-Sharp) in dieser erzeuge ich die Bilder für die Matrix. Diese Daten müssen jetzt über Ethernet(Anschluss am Notebook) zu einem Microcontroller, dieser verteilt die Daten dann an die Einzelnen LED-Matrix-Module (je 16x16 Pix). 1. Meine Fragen wären welches Protokoll wäre da am sinvollsten/einfachsten ? Welche weiteren Protokolle müsste der Atmega auf dem U.Radig board beherschen damit überhaupt eine kommunikation zwischen meinem PC prog und dem Atmega zustande kommt ? 2. Gibt es vielleicht ein Projekt in dieser Richtung. vielen dank für an alle die mir helfen können !! Die Matrix-Module funktionieren bereits wunderbar. Werden jedoch noch mit DMX angesteuert. Jedoch benötigt jedes modul(16x16) 512 Kanäle, was bei mehreren Modulen sehr unpraktisch ist. www.ep-lights.de <- hier gibts schon einige Bilder/Videos
Sieh Dir mal den WIZnet W5100 oder W5300 an, da ist der ganze TCP/IP Kram schon drin. Damit hast Du mehr Luft im uC und kannst einen einfachen ftp-server im uC unterbringen. Ju
ftp? Das ist eher overkill. For sowas Einfaches sollte UDP genuegen.
Also ich würde einfach auf Artnet gehen. Dann bist du kompatibel zu jedermodernen Lichtsteuersoftware und du musst nicht wiklich viel umsetzen. Klar brauchst du dann entprechend viele Artnet Universen. Aber dafür ist man felxibel. Such einfach mal nach Artnet Dongle für 25 Euro bei Google.
Enrico Paul schrieb: > Ich bin momentan auf der suche einer Möglichkeit, zur schnellen > Datenübertragung vom PC (Software in C-sharp) über Ethernet zu einem > Atmega. Was verstehst du unter "schnell"? Mit der Morsetaste wären 60 WpM schon schnell. Welche Datenrate mußt du erreichen?
@ Enrico Paul (ep-lights) >Die Matrix-Module funktionieren bereits wunderbar. Werden jedoch noch >mit DMX angesteuert. Jedoch benötigt jedes modul(16x16) 512 Kanäle, 16x16 ist bei mir 256. Also kann man zwei Module an ein DMX-Universum klemmen. bei 64x64 Pixeln brauchst du somit 16 Module bzw. 8 DMX-Universen. Sowas gibt es AFAIK zu kaufen, auch passende DMX-Software. Ansonsten halt UDP über Ethernet. MFG Falk
Falk Brunner schrieb: > 16x16 ist bei mir 256. das stimmt, da ich aber 4 farben pro/pixel verwende benutze ich zwei kanäle pro Pixel. Deshalb 512 Kanäle pro Modul. Das ganze mittels DMX bei 16 Modulen zu realisieren ist mit zu aufwendig. PC-Steuersoftware hab ich selbst programmiert. Da bin ich unabhängig und muss mich nicht auf Standards beschränken. Ich wollte halt den Verkabelaufwand so gering wie möglich halten. Deshalb die Idee direkt von der LAN-Buchse am Notebook zu den LED-Modulen mit Netzwerkkabel und dann mit ner Schaltung das ganze aufsplitten auf die Matri-Module. bezüglich SChnell: Wenn das ganze unkompriemiert übertragen wird sind das 64x64 = 4096 Pixel * 2Byte/Pixel = 8192 Byte mit 20 Bildern/Sek = 163840 Byte/sek Nutzdaten. Das wäre aber die Obergrenze. Wenns nur die hälfte wird ist auch ok. An UDP hab ich auch schon gedacht. Wie groß sind den bei einem UDP Paket die max Nutzdaten ?
Enrico Paul schrieb: > Wenn das ganze unkompriemiert übertragen wird sind das 64x64 = 4096 > Pixel * 2Byte/Pixel = 8192 Byte mit 20 Bildern/Sek = 163840 Byte/sek > Nutzdaten. Also 4 Bit pro Farbe? Was spricht denn gegen natives RS485?
Naja, 2Byte/Pixel sind bei mit 16k Farben. Ich komme auf 1kByte pro Bild, macht 20kByte/s
Ja. Ich wuerd mir auvh kein ethernet antun, wenn es denn nicht unbedingt sein muss. 160kByte sollte noch mit RS485 machbar sein. Da gibt's Treiber bis 25MBit und drueber. zB die SN65HVD23D machen noch 160m bei 25MBit.
Hab sowas ähnliches mal gebastelt (http://www.twitvid.com/H3UDG) Das sind soweit ich weiß 128x16 Pixel mit 3 Farben (also insgesamt 2Bit) Macht 512 Byte pro Bild Angenommen 20 Bilder pro Sekunde sind das 10Kbyte = 80Kbit Das ganze schicke ich direkt als Binär/Bitmap Daten per UDP an das LEDPanel Da hängt ein ENC28J60 an nem Mega32. Der Mega macht fast nix weil 1 UDP Paket = 1 Bild und fast keine Prüfung der Daten (Ich check nur obs aufm richtigen Port ankommt und ob die Paketgröße stimmt) Damit ist der Flaschenhals eigentlich nur die Schnittstelle zwischen Mega32 und Netzwerkchip - in meinem Fall ne SPI die auf irgendwas bei 1MBit läuft. Ich vermute mit deiner Datenrate von 1Mbit kommst du ziemlich an die Leistungsgrenze des AtMega, aber es könnte klappen Gruß, Sven
@Hex Oschi: Was magst du an Ethernet nicht? Ich benutz Ethernet mittlerweile sogar bei Datenverbindungen zwischen 2 8Bit Controllern. Finds recht angenehm wenn ich die bestehende Netzinfrastruktur nutzen kann. Nochmal Gruß, Sven
@ Enrico Paul (ep-lights) >das stimmt, da ich aber 4 farben pro/pixel verwende benutze ich zwei >kanäle pro Pixel. Deshalb 512 Kanäle pro Modul. Wenn du 4 Farben/Pixel nutzt, passen in 1 Byte 4 Pixel, d.h. du brauchst sogar nur 64 Kanäle pro 16x16 Modul. >aufwendig. PC-Steuersoftware hab ich selbst programmiert. Da bin ich >unabhängig und muss mich nicht auf Standards beschränken. Stimmt, Standards sind ja auch das Letzte. Am besten jeder feilt seine Transistoren selber. Hmm . . . >Wenn das ganze unkompriemiert übertragen wird sind das 64x64 = 4096 >Pixel * 2Byte/Pixel = 8192 Byte mit 20 Bildern/Sek = 163840 Byte/sek >Nutzdaten. Wieso 2 Byte/Pixel? Also doch 15/16 Bit Farbtiefe, sprich 5 Bit/Farbkanal R, G, B. >Das wäre aber die Obergrenze. Wenns nur die hälfte wird ist auch ok. Macht 1,6 Mbit/s. >An UDP hab ich auch schon gedacht. Wie groß sind den bei einem UDP Paket >die max Nutzdaten ? Groß genug. ;-) Etwas weniger als 1,5kB. MFG Falk
ich benutze 2 byte pro pixel da ich 5 bit pro farbe verwende. 4. farbe (weiß) errechne ich dann aus den 3 anderen.
Ich werd mich wohl fürs UDP-protokoll entscheiden. Das ganze auf dem Board vom U.Radig eventuell bissle abspecken. Welche weiteren Protokolle benötige ich dann noch ? ARP .... ?
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.