mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LPC2378 CAN Controller Problem


Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

ich hab z.z. folgendes Problem:

Ich benutze das Eval Board von Olimex mitm LPC2378 und will dort vorerst 
mal CAN und USB laufen lassen. Nun häng ich bei den Settings der 
Baudrate ( jedenfalls denke ich, dass dort der Fehler ist ).

Das Board hat einen 12 Mhz Quarz, welchen ich ich zuerst auf 288 MHz 
multipliziere, um damit für später einen CPU Clk mit 57,6 Mhz 
herzustellen.

CAN Clock ist auf 48 MHz ( 288 / 6 )


Hier mein Code für die CAN Initialisierung:

void CanInit_fct (void)
{
  // Power enable ( CAN 2 )
  PCONP |= (1 << 14);

  // Clock Can2 enable
  PCLKSEL0 = 0x30000000;

  // Aktiviert CAN2
  PINSEL0 &= ~0x00000A00;
  PINSEL0 |= 0x00000A00;

  // CAN Reset
  CAN2MOD = 1;
  // Disable CAN Receive Interrupt
  CAN2IER = 0;
  // Reset Error Counter
  CAN2GSR = 0;
  // Bitrate
  CAN2BTR = BITRATE500K48MHZ;
  // Interrupt installieren
  install_irq(CAN_INT,(void *) CanIrqHandler_fct, 1);
  // Enable CAN Receive Interrupt
  CAN2IER = 1;
  // CAN Normal Mode
  CAN2MOD = 0;
}

ich komm einfach nicht weiter bzw. finde den Fehler nicht.

mfg Wolfgang

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry für das Doppelposting.

Nachtrag:

Ich habe hier noch 2 weitere CAN-Bus Teilnehmer ( ein PC mit CAN Karte 
und ein anderen µC mit CAN ), dort funktioniert alles reibungslos. Wenn 
ich mir nun das Fehlerstatus Register vom LPC2378 anschaue, sagt er mir 
ein Stuff Error.

Hat jmd. vielleicht eine Idee?

Autor: Robert Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Folgende Vorschlaege:
Bitte das neueste Users Manual runterladen und nochamsl das Kapitel 
ueber PLL studieren, da steht (jetzt) was ueber ungerade Teiler fuer die 
PLL, die nicht erlaubt sind. Das liegt daran, dass bei einem ungeraden 
Teiler der Takt intern nicht mehr symmetrisch ist. Jetzt bestimmt die 
kuerzere "Takthaelfte" die Geschwindigkeit, die der Baustein 
tatsaechlich sieht. Das ist bei 288 MHz und Teiler 5 equivalent zu 72 
MHz und da tut der Baustein im Rev "-" oder Rev "A" unzuverlaessig 
(manchmal auch gar nicht). Siehe Errata Sheet.

Mach den Teiler mal auf 6, lass den Bausten bei 48 MHz laufen und 
aendere die CAN Teiler entsprechend. Falls es dann immer noch nicht 
laeuft, liegt das Problem woanders.

Robert

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die Antwort.

ja ich hab den Teiler schon auf 5 stehen ( sprich 6 ) und es hat sich 
nichts gebessert. Mir gehen langsam die Ideen aus, da wir ja mehrere CAN 
- Knoten haben und diese problemlos kommunizieren können, nur eben das 
Olimex Board nicht..

per Hand errechnete Baudrate-Settings haben auch nichts geholfen ( wir 
haben einen Sampling Point von 60-70% )

Initialisiert ist eigentlich der CAN-Clk, CPU-Clk und Power für CAN, hab 
ich da irgendwas vergessen?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gib mal CAN1 und CAN2 frei.
Hatte auch das Problem, das nur ein CAN aktiviert nicht lief.
Ich benutze für beide CAN nur die halbe Systemfrequenz, dann läufts bei 
mir mit 72 und 60 MHz Systemtakt. 72 MHz macht aber schon mal Probleme 
(siehe Errata).

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.