Guten Abend zusammen, ich hab mal ne grundsätzliche Frage zur Ansteuerung von sogenannten "SmartSwitches" (Gibts z.B. von NKK, 64x32 Version http://www.nkksmartswitch.com/products/hires.asp ) Ich möchte viele von diesen Teilen (das Display - die Tastfunktion wird separat ausgewertet) per PC mit Daten beschicken. Es wird sich hauptsächlich um Text, weniger um Grafik handeln. Für den SPI wollte ich einen AVR nehmen, der die zu sendenden Daten per Schnittstelle vom PC empfängt. Vorstellbar ist, dass ich bpw. das Display in 4x8 Zeichen einteile und mir einen Code überlege, z.B. so: <Moduladresse><Displayfarbe><Buchstabe 1>...<Buchstabe 32> und die anzusteuernden Pixel für jeden Buchstaben im µC hinterlegt sind und die Daten per SPI ausgibt. Es ja mal egal ob die Daten per RS232 oder Ethernet oder sonstwas in den AVR reinkommen. Jetzt stellt sich die Frage, wie ich mit diesen vielen SPI Slaves umgehe. Die Taster werden räumlich doch ein wenig verteilt sein, sodass ich dachte über Flachbandkabel von Taster zu Taster zu fahren. Dabei gibt's m.E. nach 2 Probleme: Ich brauch verdammt viele SS SlaveSelect Leitungen, also viele Ports und ein breites Kabel und ich hab ggf. Probleme mit dem SPI wegen den langen Kabelwegen. Die SS könnte ich ggf. über einen Codierer oder sonstwas ansteuert. Wie mache ich es am geschicktesten, dass ich mit einfachsten Mitteln, aus einem bspw. 8 bit breiten Bus mit einem IC ein einzelnes SS Signal ausgeben kann? Will ja nicht jedem Taster nochmal einen einzelnen µC spendieren. Am besten etwas, dass ich per Codierschalter bzw. Lötbrücke eine 8-bit Adresse einstellen kann und das SS Signal nur dann ausgegeben wird, wenn genau diese Adresse auf dem Bus liegt. NKK hat im Datenblatt so eine Matrixstruktur drin - ich verstehe aber nicht so ganz, was das bringen soll, da ich damit mehrere MISOs bräuchte... Hat jemand eine Idee (vielleicht auch ganz anders) wie man sowas am geschicktesten angeht? Vielen Dank und Gruß Chris
Einen Bus wie I2C benutzen.
Ja schon, die Dinger haben aber halt mal SPI und kein I2C...
Hi >Dabei gibt's m.E. nach 2 Probleme: Ich brauch verdammt viele SS >SlaveSelect Leitungen, also viele Ports und ein breites Kabel und ich >hab ggf. Probleme mit dem SPI wegen den langen Kabelwegen. Im Datenblatt ist doch eine interessante Lösung ohne SS. MfG Spess
Hi, meinst du das rechte timing Diagramm? Wenn ich den SS von allen Slaves auf low lege, dann werden aber doch alle Displays immer mit den gleichen Daten gefüttert oder habe ich da jetzt was nicht gecheckt? Ich dachte eigentlich, dass diese Lösung nur für den Betrieb eines einzelnen Schalters gedacht ist. Sonst müsste ich ja über den SPI adressieren können. Oder meinst du was anderes?
>Die Taster werden räumlich doch ein wenig verteilt sein
Wie weit?
Dann Codiere dein SlaveSelect doch binär oder sonstwie. Mit 4 Leitungen kannst du dann schon 16 Slaves auswählen, du brauchst dann nurnoch einen Decoder je Slave^^ Gruss Stefan
Hi
>Hi, meinst du das rechte timing Diagramm? ....
Ja. Dazu gehört das 'Circuit Example' über dem Timing Diagramm.
MfG Spess
Erst mal danke für die Anwtorten - ich war kurzzeitig weg und kann erst jetzt wieder schreiben. @ dummy (Gast) Die Verteilung ist innerhalb eines größeren Gehäuses (kein EMV Gehäuse, außerdem weitere Elektronikkomponenten) verteilt. Denkbar ist bspw. eine Anordnung von 15-25 dieser Display innerhab von 70cm. Ich würde dann zweckmäßigerweiße per Flachbandkabel und Pfostenstecker von Display zu Display verkabeln (kein daisy chain, sondern parallel). Es würde sich dann inkl. der Anschlussleitungen vielleicht 1m Kabellänge ergeben. @ Stefan M. (celmascant) Ok, Decoder hatte ich ja auch schon überlegt. Haste einen Bauteiletipp für mich (günstig und nicht zu groß). Könnte jetzt einfach mal die 74xxxx Reihe durchgehen, aber schon da sieht man ja vor lauter Bäumen den Wald nicht mehr. @ spess53 Danke für die Info - sorry, aber ich versteh's immer noch nicht.Das Timing ist doch genauso wie im linken Diagramm, nur halt ohne SS. Damit brauche ich doch 3 SPI Busse und 3 CLKs oder ist das irgednwie anders zu verstehen? Damit hätte ich doch wenig gewonnen. Gruß Chris
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.