-         

Ergebnis 1 bis 6 von 6

Thema: Fragen zum CAN-Bus

  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9

    Fragen zum CAN-Bus

    Anzeige

    Hallo,

    ich weiß nicht ob das Thema hier richtig aufgehoben ist aber es erschien mir am sinnvollsten es hier zu posten J

    Also zu meinem Problem bzw. Frage.
    Ich habe mir von Elektor Verlag das Buch „Controller Area Network Projects“ bestellt und lese es auch schon fleißig
    Allerdings bin ich einer ein paar Fragen noch nicht ganz durchgestiegen….
    In dem Buch steht, dass der CAN-Bus nur das Data Link Layer und das Physical Layer des ISO/OSI Models darstellt. Den genauen Unterschied zwischen den 7 Layern hab ich noch nicht so ganz verstanden (wahrscheinlich weil das Buch in Englisch ist )
    Kann mir jemand noch mal den genauen Unterschied zwischen den Layern erklären?
    Und dann habe ich noch eine Frage….
    Ein einfacher CAN-Baustein (z.B. http://docs-europe.electrocomponents...6b80a78cdb.pdf) stellt (in diesem Fall) nur eine „Wandlung“ des UART Pegels auf CAN-H und CAN-L dar oder? Das komplette CAN-Protokoll, also mit Dataframe, CRC und RTR usw. muss ich dann im Mikrocontroller realisieren und quasi per UART auf diesen CAN-Baustein geben. Sehe ich das so richtig?
    Und dann noch eine letzte, abschließende Frage
    Der CAN-Bus ist ja ein Multi-Master Bus. Wenn ich das dann richtig verstanden habe gibt es dort keine „Baustein Hirachie“ (wie beim I²C mit Master und Slave) sondern jeder Baustein im CAN-Bus kann senden wann er will, wobei nur das Datenpaket auf dem Bus liegt was die höchste Priorität (also den niedrigsten Identifier hat) und dieses Datenpaket wird dann auch von allen CAN-Bausteinen empfangen und die Entscheidung ob das nun benötigt wird oder nicht wird dann von dem dazu gehörigen Mikrocontroller entschieden. Ist das so korrekt?

    Danke fürs durchlesen und korrigieren
    Englische Fachbücher sind nun mal etwas schwerer zu verstehen
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.11.2004
    Ort
    Hvalstad, Norwegen
    Beiträge
    140
    Zum Schichtenmodel guckst du hier.
    Der Baustein ist wie du schon sagst ein Pegelwandler, wo du den Rest des Protokolls selber auf einem Controller implemtieren musst.
    Bzgl. Multimaster: Stimmt das so grob.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    01.04.2005
    Beiträge
    84
    Zitat Zitat von Kampi Beitrag anzeigen
    Und dann habe ich noch eine Frage….
    Ein einfacher CAN-Baustein (z.B. http://docs-europe.electrocomponents...6b80a78cdb.pdf) stellt (in diesem Fall) nur eine „Wandlung“ des UART Pegels auf CAN-H und CAN-L dar oder? Das komplette CAN-Protokoll, also mit Dataframe, CRC und RTR usw. muss ich dann im Mikrocontroller realisieren und quasi per UART auf diesen CAN-Baustein geben. Sehe ich das so richtig?
    Theoretisch kann man das machen, da das CAN-Protokoll aber höchst komplex ist, nimmt man einen CAN-Controller wie MCP2515, der das CAN-Protokoll in Hardware beherrscht oder einen uC mit integriertem CAN-Controller (AT90CAN128 böte sich für AVR-erfahrene an).

    Und dann noch eine letzte, abschließende Frage
    Der CAN-Bus ist ja ein Multi-Master Bus. Wenn ich das dann richtig verstanden habe gibt es dort keine „Baustein Hirachie“ (wie beim I²C mit Master und Slave) sondern jeder Baustein im CAN-Bus kann senden wann er will, wobei nur das Datenpaket auf dem Bus liegt was die höchste Priorität (also den niedrigsten Identifier hat) und dieses Datenpaket wird dann auch von allen CAN-Bausteinen empfangen und die Entscheidung ob das nun benötigt wird oder nicht wird dann von dem dazu gehörigen Mikrocontroller entschieden. Ist das so korrekt?
    Ergänzung: Die Nachrichten mit niedrigerer Priorität gehen nicht verloren, sondern der CAN-Controller versucht, sie solange nochmal zu versenden, bis die Übertragung erfolgreich war.
    Beim Empfang bieten die üblichen Can-Controller eine Filterfunktion an, d.h. man kann vorgeben, welche IDs interessant sind, alle anderen werden schon in Hardware ignoriert und belasten den uC nicht

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Supi danke für die Antworten
    Ich glaube ich hab sogar noch 8051er von Atmel Zuhause liegen die einen CAN-Bootloader haben.....war eine sehr teure Fehlbestellung, weil ich eigentlich welche mit RS232 Bootloader wollte....
    Die sollten ja auch ein CAN-Interface haben denke ich mal....
    Ich habe mir jetzt mal den MCP2515 angeschaut. Preislich ist der ja fast so günstig wie der Pegelwandler....vielleicht nehme ich doch den um paar Versuche mit dem CAN-Bus zu machen.
    Was ich allerdings noch nicht verstehe....der Controller hat einen TXCAN und einen RXCAN Pin. Welcher ist den nun CAN-H und CAN-L?
    Weil beim CAN-Bus ergibt doch die Spannungsdifferenz auf den beiden CAN-Leitungen eine 0 oder 1. Und was für einen Quarz nimmt man am besten für den Chip?

    Nochmals danke für die Antworten
    Geändert von Kampi (26.01.2012 um 15:10 Uhr)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.11.2004
    Ort
    Hvalstad, Norwegen
    Beiträge
    140
    RX-Can liest quasi den CAN-Bus im sog. Rezessivenmodus, und TX-Can schreibt auf den CAN-Bus im Activenmodus. Wird über den RS-Pin gesteuert.

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Ich hab mir gerade das Datenblatt vom CAN-Controller näher angeschaut und gesehen das die dort noch einen Bustreiber verwenden.
    Kann ich das so machen das ich als CAN-Controller den hier nehme:

    http://docs-europe.electrocomponents...6b808065ca.pdf

    Und an den RXCAN und TX CAN dann RX und RX von dem hier anschließe:

    http://docs-europe.electrocomponents...6b80a78cdb.pdf

    Sodass mir dieser Baustein dann den eigentlichen CAN-H und CAN-L Pegel herstellt. Würde das funktionieren?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

Ähnliche Themen

  1. neu hier - und Fragen über Fragen
    Von wolfi1956 im Forum Staubsaugerroboter / Reinigungs- und Rasenmähroboter
    Antworten: 7
    Letzter Beitrag: 09.03.2010, 22:39
  2. NIBOBee Fragen über Fragen
    Von Rabenauge im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 19
    Letzter Beitrag: 04.03.2010, 00:59
  3. Rasenmähroboter fragen zur lenkung und mehr fragen :-)
    Von andiwalter im Forum Staubsaugerroboter / Reinigungs- und Rasenmähroboter
    Antworten: 11
    Letzter Beitrag: 11.05.2009, 19:25
  4. Asuro-Fragen über Fragen
    Von Meur im Forum Asuro
    Antworten: 27
    Letzter Beitrag: 13.08.2007, 00:49
  5. Fragen über Fragen - Schrittmotor
    Von Karierteshorts im Forum Motoren
    Antworten: 4
    Letzter Beitrag: 23.03.2005, 09:54

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •