Forum: Mikrocontroller und Digitale Elektronik Schieberegister mit AVR-SPI beschreiben


von Johannes S. (johnny-pepp)


Lesenswert?

Hallo!

Für eine LED Matrixanzeige möchte ich eine seriell- parallel Wandlung 
durchführen. Die Wandlung findet in einer Schieberegisterkette mit 64 
LED Treiberausgängen statt, in die die Zustände dann parallel auf die 
Spalten gelatcht werden.

Laut Datenblatt des AVR (ATMEGA32) müsste es möglich sein dafür das 
integrierte SPI Interface interruptgesteuert zu benutzen um Rechenzeit 
zu sparen.

Ich möchte das SPI mit der maximal möglichen Baudrate betreiben, also 
das was der Controller bei 16MHz CPU Takt bzw. die Schieberegister je 
nach Technologie maximal können.

Hat jemand von Euch soetwas schonmal gemacht und kann mir einen kurzen 
Kommentar dazu geben ob das ohne besondere Tücken möglich ist?

Danke im Voraus! johnny



von Jan M. (mueschel)


Lesenswert?

Ja, das geht so ohne Probleme.
Der höchstmögliche Takt ist gerade FCPU/2, bei dir also 8MHz.


Die einzelnen Bytes interruptgesteuert auszugeben ist nicht gut, da das 
länger dauert als die 16 Takte, die die Ausgabe eines Bytes braucht. 
Zwischen den jeweils 64Bit kannst du aber Interrupts verwenden.


Außer der Initialisierung des SPI sehe ich kein größeres Problem dabei. 
(Nein, das Initialisieren ist kein großes Problem, aber wahrscheinlich 
das größte)

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.