Forum: Mikrocontroller und Digitale Elektronik CAN-Parameter SJA1000


von kai a (Gast)


Lesenswert?

Hallo!

Schlage mich mit nem SJA1000 und PCA82c250 rum.

Kann Daten an den SJA senden und lesen.

Aber an den CAN-PIN'S kann ich nicht's messen.

Kann mir jemand Registerinhalte senden, die wenigstens ein Signal am
Ausgang bewirken.

von Eddi (Gast)


Lesenswert?

Hallo Kai

Bei mir sieht das ganze so aus :

void caninit(void)

{
  canschreiben(MOD,   0x01);
  canschreiben(BRPR,  0x3f);
  canschreiben(BL1,   0x7f);
  canschreiben(BL2,   0x40);
  canschreiben(OC,    0x18);
  canschreiben(MOD,   0x00);
  canschreiben(INT,   0x00);
  canschreiben(IMSK,  0x01);
  canschreiben(RRR1,  0x00);
  canschreiben(RRR2,  0x00);
  canschreiben(RIMR1, 0xfe);
  canschreiben(RIMR2, 0xff);
}

Ist zwar für einen 82c200 aber für's Testen sollte das gehen, soweit
ich weiss ist der SJA1000 nach Reset im 82c200-Kompatibilitätsmodus.
Bitrate ist 250kHz

Gruß
Eddi

von kai (Gast)


Lesenswert?

Danke für den Tip. Nun wird auf die Datenleitung was gesendet, aber der
SJA geht gleich wieder in den Reset-Modus (Adresse 0 = 00000001) selbst
beim Testmodus (Adresse 0 = 00000100). Muss ich eine 2. Busteilnehmer
haben? Wenn jemand schon mal mit einem Mercedes(CAN-BUS) und dem SJA
probiert hat und mir den Code senden kann wäre super. Wär zu schön um
wahr zu sein.

von Martin (Gast)


Lesenswert?

Du brauchst einen 2. Busteilnehmer. Selbst wenn der nicht
angesprochen wird, so sendet er aber doch ein ACK um Deinem
Controller mitzuteilen das eine Nachricht empfangen wurde.

Gruß Martin

von kai (Gast)


Lesenswert?

Och ja! Alles nicht so einfach. Versuche jetzt an nem Auto (Mercedes)
die Daten mitzuschreiben. Habe aber keinen Dunst ob 2.0 2.0B SFF oder
EFF. Also wer einen Lösungsansatz hat. Danke

von kai (Gast)


Lesenswert?

Die Baudrate  beträgt 83,333KHz aber wie sag ich's dem SJA1000.

Bin mir nicht sicher mit BTR0 und BTR1, muss ich die Werte
zusammenzählen um auf die Baudrate zu kommen?

von Martin (Gast)


Lesenswert?

Bist Du im Innenraumbus? Das könnte ein Lowspeed CAN-Bus sein der
SJA1000 macht IMHO nur High Speed. Check das mal, die Pegel sind
anders.

Gruß
  Martin

von kai (Gast)


Lesenswert?

Jo bin im Innenraumbus. Als Beschreibung hab ich das es ein Can-Bus B
ist, und mit 83,333 KHz auch kein LOW-Speed. Aber es gibt noch mehr
Fragen. PeliCan oder BasicCAN

von Atlan (Gast)


Lesenswert?

machst du vor dem initialisieren einen harten reset am RST Pin?
ohne Reset macht der SJA keinen pieps am Sendepin. Hatte das gleiche
Problem. Alle Initialisierungen waren scheinbar richtig aber er hat nix
gemacht...
grüßle

von kai (Gast)


Lesenswert?

Sorry! Alles im Lot, der SJA1000 tut's schon seit längerem. Mein
Problem war, das ich als Treiber ein PCA82c250 benutzt habe. Hätte aber
für LOW-Speed einen TJA1054 einsetzen müssen. Danke für die Hilfe...

Don' drink and hack as µC

von micha (Gast)


Lesenswert?

ich bin dabei mir privat die canbus komunikation bei zu bringen .ich
habe viele publikationen und bucher gelesen aber dass ist nur teori ,
wie funktioniert dass in der praxis . ich habe zu hause tja 1054 ,kenne
mich einbissen mit programiren,wie komme ich da voran ?

  micha

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
Noch kein Account? Hier anmelden.