Hallo Ich bin gerade dabei mir einen 18F2580 für CAN zu konfigurieren. Ich benutze den 18C Compiler und die ECAN 'C' Routines laut application Note AN878. Der Bus arbeitet mit 11-bit Nachrichten bei 128kB. so nun muss ja die ECAN.def angepasst werden. Ich finde folgende Definitions. // SJW value - Value must be between 1-4 inclusive. #define ECAN_SJW_VAL 2 // // BRP value - Value must be between 1-64 inclusive. #define ECAN_BRP_VAL 4 // // PHSEG1 value - Value must be between 1-8 inclusive. #define ECAN_PHSEG1_VAL 8 // // PHSEG2 value - Value must be between 1-8 inclusive. #define ECAN_PHSEG2_VAL 8 // // PROPSEG value - Value must be between 1-8 inclusive. #define ECAN_PROPSEG_VAL 8 irgendwie hier muss ich die Taktfrequenz einstellen. Das ist ja schön und gut - leider geht aus dem AN leider nicht hervor wie genau sich die Werte ergeben. Der PIC läuft mit einem 4Mhz Kristal. Hab ich was übersehen - überlesen? Gruß Martin
Hallo Martin, schau mal ins Datenblatt vom PIC18F2580. Im Kapitel 23.0 ECAN Module findest du die Brechnungsgrundlagen für die von dir angegebenen Defines. Du musst allerding vorerst die reale Takfrequenz von deinem PIC bestimmen. Das findest du unter 2.0 im Datenblatt. Anschließend kannst du den BRP (Baud Rate Prescaler) entsprechend konfigurieren. Gruß René
hi Also ich muss sagen ganz klar ist mir nicht was Tq und Tbit wirklich sind. Insbesondere der Zusammenhang zwischen Noominal Bit Time und X mal Tq ist mir noch schleierhaft. Aber soweit hab ich mal folgende Rechnung auf Seite 335 nachvollzogen. Einfach von hinten sozusagen. Nun ich hab ein 4MHz Crystal und arbeiteim HSPLL Mode -> Fosc = 16MHz Baudrate ist 125KBd Daraus folgt: Nominal Bit Rate = 125Kb/s Tbit = 1/125Kb/s = 8µs Mit NBT = 8 Tq ergibt sich dann: Tq = 8µs / 8 = 1 µs Tq = (2 * (BRP+1))/Fosc BRP+1 = (Tq * Fosc)/2 = (1µ * 16)/2 = 8 ---> BRP muss ich auf 8 einstellen. Richtig?
Hallo nochmal, also wenn man sich nicht unbedingt in die CAN Theorie einarbeiten möchte gibt es ein einfache Möglichkeit. http://intrepidcs.com/support/mbtime.htm Mit diesen kleinen Tool kannst du dir für die 125Kb/s die Werte für die jeweiligen Segmente erzeugen lassen. Diese Einstellungen sind notwendig um die Physik der CAN-Kommunikation zu gewährleisten. Wie der BRP für deine Anwendung zu wählen ist, wird dir dort auch vorgegeben. In meinem aktuellen System haben wir für unseren Controller bereits einen fertig vorkonfigurierten CAN-Stack erhalten, so dass ich mich bis jetzt zum Glück auch noch nicht in alle Tiefen reindenken musste. Ich hoffe du kommst damit etwas weiter. Gruß René
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.