STM32F4 und langsames SPI Interface

Gast #4576724
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.
Gast #4576800
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.