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.
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.
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.
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.
Zero hat einen Thread über das Bit-Timing mit 80 % Quata-Timing. http://knowledgebase.nxp.com/showthread.php?t=2829&page=2 Bei den CAN Registern nicht CPU Registern. (siehe Bild. ) Gruss Holger.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.