Forum: Mikrocontroller und Digitale Elektronik STM32F4 und langsames SPI Interface


von Pepe (Gast)


Lesenswert?

Hallo.
Ich verwende einen STM32F405 und müsste eine Komponente per SPI 
anbinden.
Mein Problem ist, dass die Komponente nur < 5khz SPI-Clock verträgt.
Selbst mit max. Prescaler komme ich beim SPI2 auf ca. 170khz SPI Clock.

Zusätzlich habe ich den CAN-Bus im Einsatz. D.h. das ich den APB1 Takt 
nicht einfach runtersetzen ohne mir den CAN Bus langsamer zu machen und 
das geht auch nicht.

Eine Software-Lösung möchte ich eigentlich nicht implementieren. Dann 
setze ich mir ja noch lieber einen 8Bitter drauf, der den SPI bedient 
und per UART die Ergebnisse an den STM32 meldet.

Jetzt suche ich entweder nach einer "In-Controller"-Lösung, um langsamer 
zu werden oder nach einem kleinen Stück Hardware, weil ich natürlich 
gerne eine einfache Lösung suche.

Vielen Dank,
Pepe.

von Di P. (drpepper) Benutzerseite


Lesenswert?

Man kann sich mit nem Timer und zwei bis drei kleinen Funktionen recht 
leicht eine Software-SPI schreiben. Gerade, wenn du nur senden willst, 
ist es nicht sehr kompliziert.

von Stefan K. (stefan64)


Lesenswert?

Probier mal den USART Synchronous Mode. Mit dem USART solltest Du so 
geringe Baudraten einstellen können.

Gruß, Stefan

von Pepe (Gast)


Lesenswert?

@Stefan:
Hatte ich auch schon überlegt, aber bei USART hab ich doch ein 
Start/StopBit. Dann würde mir ja ein/zwei Bits fehlen.

@DiPi
"Software" wollte ich eigentlich vermeiden. Auch wenn's mit einem 
Clock-Timer schon mal schöner ist als komplett mit Software.

von Stefan K. (stefan64)


Lesenswert?

Sehe ich als kein Problem an:

"The SCLK pin is the output of the USART transmitter clock. No clock 
pulses
are sent to the SCLK pin during start bit and stop bit."

Gruß, Stefan

von Pepe (Gast)


Lesenswert?

Werd' ich mir anschauen. Danke.

von Little B. (lil-b)


Lesenswert?

Der CAN-Bus hängt am APB1, genauso wie SPI2 und SPI3.

SPI1 hängt aber am APB2, den kannst du dann runter takten.

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.