Forum: FPGA, VHDL & Co. Ansteuerung von 128 LEDs


von chris (Gast)


Lesenswert?

Hallo Leute,

mit einem Lattice FPGA und einem externen Trigger möchte ich 128 Leds 
ansteuerun:
Ext. Trigger kommt => 1000 Takten von 1ms werden generiert => in jedem 
Takt müssen die Leds mit einem Bitmuster (128Bit = 8xWord) geladen 
werden.

Wie kann ich das am besten in VHDL realisieren:
- Die BitMuster in einem Array oder RAM speichern?, oder egal?
- Wie kann man die 128 Led auf einem Schlag laden? oder muss ich doch 
alle Bitmuster schieben, dann eine LED nach der andere laden?

P.S.
ich bin zwar ein Mikrocontroller Programmierer habe aber Null Ahnung von 
FPGAs!

von Falk B. (falk)


Lesenswert?

@  chris (Gast)

>Ext. Trigger kommt => 1000 Takten von 1ms werden generiert =>

SOOOO langsam? 1 kHz?

> in jedem
>Takt müssen die Leds mit einem Bitmuster (128Bit = 8xWord) geladen
>werden.

Hmmm.

>Wie kann ich das am besten in VHDL realisieren:
>- Die BitMuster in einem Array oder RAM speichern?, oder egal?

RAM ist günstiger, braucht weniger Logikzellen und ist ggf. schneller. 
Spielt hier aber keine Rolle.

>- Wie kann man die 128 Led auf einem Schlag laden?

Wenn du 128 IOs hast, einfach anlegen. bzw. über ein 128 Bit 
Zwischenregister + Schieberegister. Quasi ein XXL 74HC595.

> oder muss ich doch
>alle Bitmuster schieben, dann eine LED nach der andere laden?

www.grundlagen.de

>ich bin zwar ein Mikrocontroller Programmierer habe aber Null Ahnung von
>FPGAs!

Und was soll dann dabei rauskommen? Ohne Grundlagen geht nix. Und für 
diese Anwendung reicht ein kleiner Mikrocontroller + ein paar 
Schieberegister lässig.

AVR-Tutorial: Schieberegister

MFG
Falk

von Uwe N. (ex-aetzer)


Lesenswert?

chris schrieb:
> ich bin zwar ein Mikrocontroller Programmierer habe aber Null Ahnung von
> FPGAs!

Hmm, Vorschlag von mir: schau dir mal den "MAX6954" an, ist ein LED 
Treiber, der die 128 LEDs allein ansteuert (und 32 Taster abfragt !). Du 
brauchst dich nur noch um die (recht einfache) SPI-Kommunikation zu 
kümmern.
Allerdings kostet der um die 21€ bei DigiKey ...

Gruss Uwe

von chris (Gast)


Lesenswert?

vielen Dank für die Antworten.

Das mit 1ms ist nur für die erste Phase (als Test), eingesetzt wird die 
Steuerung mit 1us statt 1ms.

von Gagamel (Gast)


Lesenswert?

> Steuerung mit 1us statt 1ms.
hoho, jetzt wird's aber heftig. Ob das FPGA das schafft?

von Falk B. (falk)


Lesenswert?

@  Gagamel (Gast)

>> Steuerung mit 1us statt 1ms.
>hoho, jetzt wird's aber heftig. Ob das FPGA das schafft?

Gähn Selbst wenn man es rein seriell machen würde, wären das schlappe 
128 MHz zum Schieben. Kinderkram für ein aktuelles FPGA. Und wenn man es 
richtig macht (tm), macht man den Datenpfad 8 oder 16 Bit, dann wird es 
völlig relaxed.

MfG
Falk

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
Noch kein Account? Hier anmelden.