mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN-Bus Netzwerk Zutaten ?!


Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin ein neuling in sachen microcontroller-netzwerk technik, versuche 
aber momentan ein can-bus netzwerk zu erstellen.

Nun, man findet sehr viel literatur zu diesem thema, die die 
funktionsweise von CAN beschreibt. Leider habe ich sehr  wenig 
informationen gefunden, die sich auf den PRAKTISCHEN aufbau beziehen.

Ich besitze mehrer ARM-LPC2148 Boards, die ich verbinden möchte. Das 
probelm ist aber, diese besitzen keinen CAN-bus. Ich weiss, dass man 
einen CAN-bus treiber und controller benötigt und das man irgendwie 
diese mit der SPI-schnittstelle verbinden muss. Aber wie man dies nun 
aufbaut , weiss leider ich nicht.

Kennt ich HowTo's oder Tutorien oder irgendwas anderes was hilfreich 
sein könnte. Welchen treiber, controller würdet ihr empfehlen? Habt ihr 
vielleicht bespiel-code oder ähnliches?


gruss

  daniel

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.kreatives-chaos.com/artikel/can-testboard

Ansteuerung des mcp2515 CAN-Controllers (SPI-Schnittstelle)

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Dirk Dörr
Viel dank, super link!

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Dirk Dörr
In dem Link von dir gibt es ein Tutorial zum MCP2515 Can-bus Controller:

Ich habe es mir durchgelesen und diesen Satz, der mit Sicherheit von 
großer Bedeutung ist, nicht ganz verstanden:

"Da beim SPI Bus das Senden um Empfangen auf zwei verschiedenen 
Leitungen läuft, kann gleichzeitig gesendet und empfangen werden. Um ein 
Byte zu empfangen muss man also ein Dummybyte beliebigen Inhalts auf den 
Bus legen und dabei die Daten auf der Empfangsleitung auswerten

uint8_t spi_putc( uint8_t data )
{
    // Sendet ein Byte
    SPDR = data;

    // Wartet bis Byte gesendet wurde
    while( !( SPSR & (1<<SPIF) ) )
        ;

    return SPDR;
}

// Daten per SPI senden
spi_putc(0xaa);

// Daten per SPI LESEN <-------------!!!
data = spi_putc(0xff);
"
Wieso muss ich etwas auf den bus schreiben damit ich "data"  empfange?

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit der Takt aus dem µC kommt.

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.