Forum: Mikrocontroller und Digitale Elektronik STM32F105/7 dual CAN master/slave


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bernd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

der STM32F105/7 aus der Connectivity Line hat 2 CAN Interfaces.
Im Reference Manual steht ein Hinweis der CAN1 als Master und CAN2 als 
Slave bezeichnet.
Außerdem steht dort folgender Text:
1
Dual CAN
2
• CAN1: Master bxCAN for managing the communication between a Slave bxCAN and
3
the 512-byte SRAM memory
4
• CAN2: Slave bxCAN, with no direct access to the SRAM memory.
5
• The two bxCAN cells share the 512-byte SRAM memory (see Figure 222: Dual CAN
6
block diagram (connectivity devices))
7
Note: In low, medium-, high- and XL-density devices the USB and CAN share a dedicated 512-
8
byte SRAM memory for data transmission and reception, and so they cannot be used
9
concurrently (the shared SRAM is accessed through CAN and USB exclusively).

Ich habe dazu folgende Fragen:
 - Was hat es mit diesem dedizierten RAM auf sich?
 - Inwieweit schränkt mich das bei CAN2 ein?
Der interne BL kann auch über CAN2 erreicht werden, was als Fallback 
recht interessant sein kann.
Danke.

Gruß
Bernd

von Stefan K. (stefan64)


Bewertung
0 lesenswert
nicht lesenswert
Ich kenne das vom STM32F2xx, aber ich denke, beim STM32F1xx ist das das 
Gleiche:

Um CAN2 zu benutzen, musst Du sowohl für CAN1 als auch für CAN2 die 
clock einschalten, weil CAN2 Teile der Hardware von CAN1 benutzt (z.B. 
das gemeinsame RAM).

Ansonsten kannst Du beide CAN Schnittstellen gleichwertig benutzen.

Viele Grüße, Stefan

von Stefan K. (stefan64)


Bewertung
0 lesenswert
nicht lesenswert
Bernd schrieb:
> - Was hat es mit diesem dedizierten RAM auf sich?

In diesem RAM sind die TX- und RX-Buffer beider CAN-Schnittstellen oder 
alternativ des USB untergebracht.


Gruß Stefan

von Bernd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort.
Da steht ja das sich beide Schnittstellen das RAM teilen, CAN2 aber 
keinen direkten Zugriff hat. Das ist etwas verwirrend.
Also ist es außer bei hohen Stromsparanforderungen kein Problem?
Das wäre gut!

von Felix U. (ubfx)


Bewertung
0 lesenswert
nicht lesenswert
Der Kern der Aussage ist, dass du CAN2 nicht verwenden kannst, ohne CAN1 
aktiviert zu haben. Außerdem hat CAN2 iirc auch keine eigenen 
interrupts.

von Stefan K. (stefan64)


Bewertung
0 lesenswert
nicht lesenswert
Bernd schrieb:
> Also ist es außer bei hohen Stromsparanforderungen kein Problem?

Ja.

Viele Grüße, Stefan

von Bernd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke.
Die Begriffe Master und Slave sind dann zusätzlich verwirrend (z.B. im 
Hinblick auf die Begrifflichkeiten bei CANopen).

von Bernd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Felix U. schrieb:
> Außerdem hat CAN2 iirc auch keine eigenen
> interrupts.

Ist das wirklich so?
Ich meine es gibt eigene IRQs für CAN2.

von Bernd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Aus startup_stm32f10x_cl.c:
1
void WEAK  CAN2_TX_IRQHandler(void);
2
void WEAK  CAN2_RX0_IRQHandler(void);
3
void WEAK  CAN2_RX1_IRQHandler(void);
4
void WEAK  CAN2_SCE_IRQHandler(void);

von Felix U. (ubfx)


Bewertung
0 lesenswert
nicht lesenswert
Sorry, das hatte ich falsch in Erinnerung!

von Bernd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Kein Problem ;-)
Danke für eure Hilfe!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.