www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN Problem mit dem HC12 ( 68HC912DG128A )


Autor: Markus Krug (mkrug)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich folgendes Phänomen. Ich hab den CAN eines 68HC912DG128A für 500kBit 
konfiguriert. Wenn ich jetzt an diesen µC Nachrichten sende erreiche ich 
bei bestimmten Nachrichteninhalten ein 'stehenbleiben' des CAN Busses. 
Konkret sieht das so aus das im sendenden CANalyser nur noch ErrorFrames 
angezeigt werden und danach der CANalyser sich vom Bus zurückzieht. Mein 
sonstiges Programm auf dem HC12 bleibt am leben und auch die CAN-ISR 
läuft wieder korrekt an wenn ich den CANalyser stoppe und wieder frisch 
starte.

Das Problem tritt unabhängig von der Buslast und auch unabhängig ob ich 
die Nachrichten überhaupt durch die Aktzeptanzfilter des HC12 lasse oder 
nicht auf. In den CAN-Registern des HC12 seh ich das der RXError Counter 
hochgelaufen ist (nicht wirklich verwunderlich). Ich hab mir dann den 
Bus mit einem Oszi angeschaut. Auffallend ist das ich immer wieder 
Nachrichten hab bei denen die Bits auf dem Bus offensichtlich gestört 
sind. Es sieht danach aus als ob das 'stehenbleiben' des CAN immer dann 
passiert wenn der HC12 das Ackknowledge-Bit 1-2Bit-Zeiten zu früh auf 
'0' zieht.

Hat jemand eine Ahnung woher das kommen könnte ? Es gibt ein Erata von 
freescale wo was von 'nützen sie keinen 16MHz Quartz sonst kann es zu 
unstabiler Funktionalität kommen' steht. Ich benütze einen 16MHz Quartz. 
Könnte das der Grund sein ?

Gruss und Danke für jeden Tipp
Markus

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ich benutze CAN mit einen HCS12XA256, ebenfalls mit 16Mhz Quarz. Läuft 
absolut stabil. Mein CAN-Wissen ist zwar nicht mehr ganz frisch, aber 
könnte es sein, daß der andere Busteilnehmer spinnt? Immerhin schaltet 
der sich ja vom Bus weg und das sollte eigentlich derjenige tun, dessen 
Frames nicht bestätigt werden. Vielleicht liegt auch die Baudrate leicht 
daneben oder das Bit-Timing ist nicht ganz richtig. Vielleicht auch nur 
was elektrisches? Schwer zu sagen, aber am Quarz liegts wahrscheinlich 
nicht.

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus,

> Ich benütze einen 16MHz Quartz. Könnte das der Grund sein ?

versuche es doch einfach mal mit einem 8 MHz Quarz - ist doch schnell 
probiert.

Falls es dann funktioniert, Dir aber zu langsam ist, drehe an der PLL.

Gruss Otto

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.