CAN Komunikation Evalboard MCBSTM32C zu STM32F103VDT6

OP #3061147
Hallo,

Ich habe ein Eval-Board MCBSTM32C mit dem Prozessor STM32F107VCT und 
eine Elektronik mit dem Prozessor STM32F103VDT6, die über eine 2 
Drahtleitung miteinander kommunizieren. Widerstände angeschlossen. Das 
alles klappt gut bei einer Baudrate von 50kbit/s , bei 100kbit/s und bei 
125kbit/s , da später Daten auf einem Desktoptool angezeigt werden 
sollen ist die Baudrate von 250kbit/s Vorgabe. Ich habe die 
Kommunikation mit einem Peak-Interface und mit dem Tool PCAN-View 
getestet und festgestellt, dass es am Eval-Board liegen muss. Mit der 
Elektronik war eine Baudrate von 250kbit/s möglich. Der CAN Treiber auf 
dem Board kann mit einer Baudrate bis 1Mbit/s betrieben werden.

Kennt sich jemand aus mit dem EvalBoard und mit CAN?

Ich arbeite mit dem uVision 4.70 von Keil und programmiere in c.

Vielen Dank und Gruss!

M. B.
Persönliche Seite
M. B. schrieb:
> getestet und festgestellt, dass es am Eval-Board liegen muss. Mit der
>
> Elektronik war eine Baudrate von 250kbit/s möglich. Der CAN Treiber auf
>
> dem Board kann mit einer Baudrate bis 1Mbit/s betrieben werden.

Hast du mal den Reg-Satz genau angeschaut.
Da ist ein Zusatz Timing-Register, was default Null ist.
Mit dem kann man das "Quata-Timing" anpassen (tunen), für die 
Bit-Trigger.
 Das sind ja ca. 12 Steps: 2+ (3*3) +1 --____.____.____> .
 Dazu ist das Register ja extra gemacht worden.

Gruss Holger.
Persönliche Seite
can_bus.PNG
CAN_EVAL_BRD_1.PNG
Hilfsmittel: Scope.
Diverse R-C (pf) Tief-Pass via der beiden Pole CAN-H/L [-R-C-] to_GND.


Rauf/Runter via Transceiver Comperator-Pin (REF-SPG)

Signal Conditioning mit Choke Coils.(L). usw.
######################################################################## 
################
Test-JIG:
Die Tranceiver Band-Breite respectiv der Variation 
Kabel-länge+Drill-pair's  solo testen.

Damit kannst du das jeweilige Derivat System im via Arbitration-lost 
IRQ,
Error Counter...
und Band-Breite testen & validieren.

Viel Erfolg.

Gruss Holger.
Angehängte Dateien:
OP
Hallo,

vielen Dank für den Tipp. Aber das mit dem Reg-Satz habe ich noch nicht 
verstanden bzw. welches Du genau meinst? Ich habe mal meine 
Registerübersicht im .png angehängt.


Mit dem KO messe ich ganz merkwürdige Zeiten. Wenn ich die Baudrate auf 
250kbit/s eingestellt habe, messe ich eine Zeit von 27.4us pro Bit!?

Danke und Gruss

M.B.
Angehängte Dateien:
Persönliche Seite
Zitat:
Can someone help me understand this so I know what to set the BT 
register?

#1 With CANCLKDIV=1 and CANBRPE=1 we still have 12MHz to calculate CANBT 
#2
 We select a nice (TSEG1_val + TSEG2_val +3) sum of 6:
Result:
BRP 24
TSEG1 6
TSEG2 1
Sample Point 87,5%
Register: BTR 0x0557

Siehe Bild u. Thread
Das sind 3 Register. nur für das Timing bzw.
#1: TSJW (1-4)
#2: TSEG1 (2-16)
#3: TSEG2 (1-8)
 zustaendig.
############################################
CANBT
CANCLKDIV=1
CANBRPE = EXTENDER =1
---------------------------------------------
Guss Holger
Angehängte Dateien:
Persönliche Seite
M. B. schrieb:
> 250kbit/s eingestellt habe, messe ich eine Zeit von 27.4us pro Bit!?


##########################################
Deine single-Bit-Zeit is ja extrem lang für gewünschte 0.25* 1Mbit.
Du hast sicher einen Vorteiler als Teiler via Basis-Master-Clock da 
drin.
Hint:
Das FreeScale Doku. hat ein extrem Beispiel 8Mhz-MCU-Clock via 1Mbit 
Can-Rate, da ist das
also ganz eng mit der CAN-Bit-Zeit via Master-Clock.
 SJW  nur auf 1 gesetzt. Und Sample nur 1 mal (sonst 3 mal )
 ( SJW = "SYNC JUMP Wide)"
http://cache.freescale.com/files/microcontrollers/doc/app_note/AN1798.pdf
Hier der SJW = (SYNC JUMP Wide bzw. Resync JUMP WIDE )
######################################################################## 
##############
Das 8 Bit Register hat 3 Time-Stufen ---b7:b0
Bit-0..bis Bit 2 hat die Bewerung je bit-pos. mit 1*16* + 0*8 +1*4 . = 
16+4= 20 bingo>.

 Bei dem Doku PCA82C200T.pdf ist das zu BIT posing-via jeweilig 
bit-Value zu sehen.

How to determine SJW value ? R_SESYNC-J_UMP-W_IDE
Hint:
http://www.datasheetcatalog.org/datasheet/philips/PCA82C200T.pdf
Gruss Holger.

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.