mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN-Bus Problem mit AT90CAN128


Autor: Denis (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

wir haben hier ein Problem beim Absetzen von CAN Messages. Als 
CAN-Treiber verwenden wir den SN65HVD231 von TI. Spannungsversorgung ist 
OK (3,3V), und zwar wird im Atmel-Register (CANSTMOB) beim Versuch, eine 
CAN-Message abzusetzen der Fehler (Bit 4) "BERR Bit error" gesetzt. Das 
soll wohl heißen, dass das gesendetet Bit nicht auf den Bus "gelegt" 
werden konnte. Aber der Sender ist das einzige Gerät am Bus und wird 
nicht durch etwas anderes gestört, also muss eine Message doch abgesetzt 
werden können?

Zur Ansteuerung der CAN-Schnittstelle haben wir die CAN-Bibliothek aus 
diesem Thread benutzt: 
Beitrag "Re: CAN-Bibliothek für den at90CAN128 und das AVRStudio"

Gruß,
Denis & Thomas

Autor: Andi ... (xaos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei einem CAN bus brauchst du !!! mindestens 2 geräte + 
abschlusswiderstände sonst funktioniert das ganze nicht, siehe can bus 
aribitrierung (ACK flags)

Autor: Denis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abschlusswiderstände sind dran, aber muss das Senden nicht einfach 
funktionieren, auch wenn niemand Antwortet?
Abschlusswirderstände haben 100 Ohm, sollte doch ok sein, oder?

Autor: Andi ... (xaos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denis schrieb:
> Abschlusswiderstände sind dran, aber muss das Senden nicht einfach
> funktionieren, auch wenn niemand Antwortet?
> Abschlusswirderstände haben 100 Ohm, sollte doch ok sein, oder?

nein guck dir die can grundlagen an, bei jedem frame müsssen die ack 
bits gesetzt werden von anderen teilnehmern..

Autor: Jörg Hermann (dr_coolgood)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denis,

CAN ist anders als RS232, bei der Du Bits ins Leere schubsen kannst. Auf 
und im CAN Bus passiert einiges mehr, weswegen er auch wesentlich 
stabiler arbeitet. Es funktioniert NICHT mit nur einem Knoten am Bus. 
Vielleicht nutzt Du die Feiertage, um Dich etwas in dei Grundlagen 
einzulesen. Das ACK Bit wurde ja schon erwähnt.

Zur zweiten Frage: Alle Welt setzt 120 Ohm ein, weil es der CAN Standard 
verlangt - warum nicht auch Du?

Schöne Feiertage!

Autor: Denis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, danke für die Infos. Ich hatte halt nur noch 100 Ohm rumliegen und 
hoffte auf Bauteiltoleranzen ;-)

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.