STM32 - Umstieg von UART auf CAN

Gast #3126554
Hallo,

ich habe ein STM32 Board, und steuer damit ein EPOS Regler (maxonmotor)
an. Gerne würde ich von UART auf CAN umsteigen, da CAN schneller
sein soll. (Mit UART komm ich nicht über 200Hz) Hierzu hätte
ich zwei CAN Anfängerfragen

- Die CAN RX und TX Pins habe ich an meinem Board als solche
  nicht "vorbereitet". Die werden bislang als Modellbau Servo Pins
  genutzt (Timerausgänge). Müssen hier typischerweise
  noch Kondensatoren oder Widerstände eingebaut werden?
  Oder funktioniert das direkt ab STM32?

- Brauche ich hier noch eine Art Adapter (wie von UART auf RS232,
  MAX3232 oder ähnliches). Die CAN Schnittstelle EPOS ist im
  Anhang beschreiben. Wenn ja, wo würde ich diese 120 Ohm (?)
  Widerstände (?) finden? Das könnte man ja in die Kabel
  einbauen, oder?

- Im EPOS Communication Guide ist irrsinnig viel technisches
  zu CAN beschrieben. Ist der Aufwand vergleichbar mit UART
  oder ist was für Profis? (also schwierg zum Laufen zu
  bekommen...)

Vielen Dank, über Tips würde ich mich sehr freuen
Jens
Angehängte Dateien:
Gast
>> Mit UART komm ich nicht über 200Hz
>Warum?

Weil das EPOS Protokoll sehr komplex ist. Mit Registern, Prüfsummen,
und vielem mehr... Schneller als 4ms geht nicht, siehe Anhang
Angehängte Dateien:
Gast
Jens Meisen schrieb:
> - Die CAN RX und TX Pins habe ich an meinem Board als solche
>   nicht "vorbereitet". Die werden bislang als Modellbau Servo Pins
>   genutzt (Timerausgänge). Müssen hier typischerweise
>   noch Kondensatoren oder Widerstände eingebaut werden?
>   Oder funktioniert das direkt ab STM32?
>
Du kannst verschiedene pins benutzen..blick ins datenblatt hilft


> - Brauche ich hier noch eine Art Adapter (wie von UART auf RS232,
>   MAX3232 oder ähnliches). Die CAN Schnittstelle EPOS ist im
>   Anhang beschreiben. Wenn ja, wo würde ich diese 120 Ohm (?)
>   Widerstände (?) finden? Das könnte man ja in die Kabel
>   einbauen, oder?

du braucht natürlich noch einen cantranceiver
1. Der CAN Controller besteht aus einem Digitalteil, der in Deinem STM32 
eingebaut ist, und einem Analogteil ("Transceiver"), der ein externer 8 
pinniger Chip ist, der an can-tx und can-rx angeschlossen wird.

2. Terminierung: ist wie die Zipfel an einer Wurst, an jedem Ende ein 
Terminator - im einfachsten Fall der besagte 120 Ohm Widerstand.

3. Damit Du den Can-Bus testen kannst, brauchst Du mindestens ein 
funktionierendes Gerät an Bus. Ansonsten läuft Dein Controller in einen 
Fehlerzustand.

fchk
Gast
Hallo,

ich habe mir gerade ein neues STM32 Board bestellt
https://www.olimex.com/Products/Duino/STM32/OLIMEXINO-STM32/

Hier gibt es schon eine fertige CAN Schnittstelle (inkl. CAN 
Transceiver)
und Samples Codes).

Kann ich jetzt einfach die Kabel verbinden, oder fehlt da
noch ein 120 Ohm Widerstand (auf dem Schaltplan von Olimex
finde ich nur einen ...)

Danke (für die Geduld) & Viele Grüße
Jens
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.