Forum: Mikrocontroller und Digitale Elektronik MSP430 HardwareSPI vs Software - Geschwindigkeitsunterschied?


von Christian (Gast)


Lesenswert?

Hallo,
wir steuern aktuell ein Display per serieller Verbindung durch einen 
MSP430. Leider ist das Display nicht an die richtigen Pins am MSP 
angeschlossen, so das wir die serielle Kommunikation "von Hand" 
implementieren mußten.


Diese Kommunikation ist gelinde gesagt, schweinelangsam. Ich hab den 
Code jetzt noch nicht gesehen, vielleicht läßt sich da etwas optimieren.

Aber die entscheidende Frage, selbst wenn man von "perfektem" Code 
ausgeht, gibt es immernoch signifikante Unterschiede zwischen:

SPI an Hardware-SPI vom MSP
SPI an normalen IO Pins, manuell implementiert

Christian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Christian schrieb:
> Aber die entscheidende Frage, selbst wenn man von "perfektem" Code
> ausgeht, gibt es immernoch signifikante Unterschiede zwischen:
>
> SPI an Hardware-SPI vom MSP
> SPI an normalen IO Pins, manuell implementiert

Natürlich. SPI per Bitbanging benötigt pro Bit etliche CPU-Taktzyklen, 
damit sind also bestenfalls ein paar hundert kHz Bitrate hinzubekommen.

SPI in Hardware braucht pro Byte mehrere CPU-Taktzyklen, oder auch 
nicht, wenn ein Puffer beispielsweise per DMA an SPI ausgegeben wird. 
Damit sind hier Bitraten nur durch die Hardware limitiert, also jenseit 
von 1 MHz möglich.


Eine Korrektur des Hardwarelayouts dürfte sich also lohnen.

von Thomas H. (supergrobi)


Lesenswert?

ich hab die Frage nicht verstanden...

der Vorteil bei HW SPI ist doch abgesehen von der Geschwindigkeit, dass 
das interruptgesteuert ist, also das der MSP in der ganzen 
Übertragungszeit etwas anderes machen kann, bei Software muss ich das 
Programm halt darum kümmern.

Edit: hmm zu spät...

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.