Hallo, ich habe hier einen MSP430 mit 38 Pins, wovon ich gerne 34 Pins verwenden möchte zum ein- / ausschalten von LEDs. Also an jedem Pin eine LED. Laut Spec geht das natürlich nicht direkt, da jeder Port nur 20mA treiben kann... Bzw. es würde gehen, wenn ich nicht mehr als 4-5 LEDs gleichzeitig einschalte. Wie würde eine Lösung aussehen, damit ich alle 34 Pins bzw. LEDs einschalten kann? Ich gehe von 5mA pro LED aus. Das wären dann rund 170mA bei 3,3V. Benötige ich hier einen oder mehrere LED-Treiber? Ich möchte das gerne mit so wenigen Bauteilen wie möglich realisieren. Und jede LED muss von der SW aus erreichbar sein. Also ich möchte jede nur denkbar Kombination schalten können. Herzlichen Dank und viele Grüße Martin
Martin Müller schrieb: > Ich möchte das gerne mit so wenigen Bauteilen wie möglich realisieren. > Und jede LED muss von der SW aus erreichbar sein. Also ich möchte jede > nur denkbar Kombination schalten können. Nunja, wenn du auch nur andeutungsweise in der Lage wärest, zu programmieren, könntest du die 34 LEDs wie gewünscht ansteuern und bräuchtest dazu nur 6 MOSFETs und 6 Widerstände. Und du hättest von deinen 34 GPIOs noch 22 für andere Zwecke über, weil du nur zwölf für das Multiplexing der LEDs benötigen würdest... Aber, es ist ja nicht so, dass seit Jahrzehnten unzählige Beispiele für das Multiplexing von LEDs hier und anderswo veröffentlicht wurden. Nein, da kann man einfach mal dumm rumfragen, weil man vollkommen faul und 100%ig merkbefreit ist...
Vorschlag: Damit https://www.ti.com/lit/ds/symlink/tlc5928.pdf bekommst Du 16 LEDs angesteuert. Für 32 LEDs brauchst Du zwei von denen, für 48 LEDs drei, usw usw. Am Prozessor brauchst Du nur 5 Pins unabhängig von der Anzahl der LEDs. fchk
JA der TLC5928 sieht super aus. Den würde ich gerne verwenden bzw. 1-3 Stück davon. Damit fallen dann auch alle Vorwiderstände weg... Die Frage ist jetzt natürlich noch welche GPIO des MSP430 ich für die Eingänge SIN, SCLK, LAT, BLANK ich verwenden sollte? Kann ich hierfür jeden beliebigen Pin wählen oder gibt es hier etwas zu beachten. Vor allem sollte der SCLK vermutlich schnell generiert werden oder? Mein MSP430 läuft mit MCLK = SMCLK = 8MHz. Diese 8MHz würde ich natürlich gerne dem TLC5928 zur Verfügung stellen... Die Schnittstelle zum TLC ist ja jetzt kein Standard (wie I2C oder SPI). Die Ansteuerung ist nur über Bit-Banging zu realisieren oder? Daher hätte ich jetzt im ersten Moment alle 4 Pins von einem Port genommen: Etwa P1.0 --> SCLK P1.1 --> SIN P1.2 --> LAT P1.3 --> BLANK Danke für eure Ideen hierzu!! VG
Hallo Martin, doch, das ist ganz normales SPI was der TLC braucht. Also nimm auf jeden Fall das Hardwaremodul für SPI, was jeder MSP430 hat. Vom Modul benutzt Du nur Clk und MOSI, Modul auf Master konfigurieren, Baudrate nach Bedarf, für BLANK u. LATCH zwei GPIOs dazu und das wars. --wv
wv schrieb: > doch, das ist ganz normales SPI was der TLC braucht. Also nimm auf jeden > Fall das Hardwaremodul für SPI, was jeder MSP430 hat. Vom Modul benutzt > Du nur Clk und MOSI, Modul auf Master konfigurieren, Baudrate nach > Bedarf, für BLANK u. LATCH zwei GPIOs dazu und das wars. Genau! MISO kannst Du auch noch nehmen, dann kannst Du auch Fehlerzustände etc zurücklesen, aber das ist optional. BLANK schaltet alle Ausgänge ab und ist daher auch optional (auf GND legen, wenn es nicht gebraucht wird). LATCH wird gebraucht, und das ist ein beliebiger GPIO. fchk
Super! Vielen Dank für die Hilfe. Das werde ich beherzigen...
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.