www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN-Bus per PC anzapfen / wie? wo(mit)?


Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo!
ich hab mal ne absolute anfängerfrage:
mit welcher hardware kann ich von einem x86-pc aus den CAN-bus anzapfen
und auslesen?
ne API in C für linux noch dazu und die sache wäre perfekt =)

geplantes "projekt" wäre die grafische aufbereitung von pkw-daten,
also geschwindigkeit, drehzahl etc.
wie siehts da eigentlich mitm tüv aus, also stichwort sicherheit? ich
greife ja dadurch nicht in den CANbus ein sondern lese ihn blos aus...

danke für die anworten
~

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Suchmaschinen kennst Du?

Falls nein, bist Du falsch im Internet.


Zu Linux gibt es jedenfalls eine Reihe Projekte dafür.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Such mal nach Vektor Informatik und/oder Canoe.

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Daniel


***
wie siehts da eigentlich mitm tüv aus, also stichwort sicherheit? ich
greife ja dadurch nicht in den CANbus ein sondern lese ihn blos aus...
***


Von der Seite her wääre das ok aber du könntest eventuell mit deinem
Selbstbau den Bus stören und dann wäre eine Beeinträchtigung schon
möglich so das es wieder ärger middem TüV geben könnte.

Oder zu häufige Abfragen die den Betrieb einschränken könnnen.


usw.

usw.

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@tom
suchmaschinen sind mir sehr wohl bekannt, genauso wie n netter
umgangston; ich meine sagen zu können dass ich lang genug im internet
unterwegs bin um behaupten zu können dass ich weiß wo ich was wie
finde, nur sachen bei denen ich kompletter neuling bin fallen mir
leider leider nicht immer die passenden suchbegriffe ein, aber dafür
gibts ja foren wie das hier und nette leute wie dich die einem gerne
auskunft geben.

an die anderen:
danke für die antworten, hab zwar ca 50 seiten die google ausgespuckt
hat durchgesehen, nur da gings um selber zusammengelötetes zeug, und
das is mir n bisschen zu heiß =) - hatte wohl die falschen
suchbegriffe...

Autor: Juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Fa. Vector ist fuer den Anfang wohl etwas heftig und extrem teuer.
Versuchs mal unter http://www.peak-system.com ,
spez. unter http://www.peak-system.com/products/dongl-1.htm

Juergen

Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok.. die frage nach dem womit und wie wäre schon mal geklärt... bleibt
nur noch die frage wo ich mich da reinklinken kann..
afaik haben die neueren radios alle nen CAN-port, kann ich mich da
einfach zwischenschalten?

Autor: Schmittchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In modernen PKWs sind inzw. mehrere CAN-Busse verlegt, um einerseits
nicht unnötige Informationen an Steuergeräte (SG) zu liefern, die diese
garnicht benötigen (senkt die Busauslastung), und andererseits um die
Störmöglichkeiten (Softwarebugs, physikalischer Bus...) zu verringern.
Diese Busse werden durch ein Gateway miteinander verbunden, das die
interessanten Informationen eines Quellbusses auf einen/mehrere andere
Zielbusse routet. (Geschwindigkeit und Drehzahl sind z.B. solche Infos,
die jeden Bus/SG 'interessieren').

Die Informationen werden (wie bei CAN üblichh) nicht zielgerichtet
verschickt, sondern einfach auf den Bus 'rausgebrüllt' (broadcast).
(D.h. z.B. Geschwindigkeit wird nicht vom Motor-SG ans Radio geschickt,
sondern nur ungerichtet bekanntgegeben. Den den's interessiert, nimmt
sich die Info vom Bus). Oder umgekehrt muß das Radio nicht ständig
nachfragen, wie schnell die Karre denn gerade fährt, sondern erfährt
dies 'automatisch' indem es jede Can-Botschaft auswertet, in der die
Geschwindkeitsinfo steckt. (das Bedenken aus einem obigen Beitrag ist
also unbegründet -> keine Einschränkung durch zuhäufige 'Abfragen').
Anderes Beispiel für Broadcast...: Tür meldet: "Beifahrertür
geöffnet!" und nicht "Bitte Innenlicht anschalten, bitte
Türbeleuchtung Beifahrertür einschalten, bitte ...".

Alle SGs verschicken ihre Meßwerte/Parameter usw. nicht nur einmal,
sondern zyklisch. D.h. auch wenn ein SG kurz mal 'unpässlich' :) ist,
oder irgendwann mal von der Batterie kurz abgeklemmt wäre, so ist dieses
spätestens nach einigen hundert Millisekunden wieder komplett auf dem
aktuellen Stand.

Soweit ist das bei allen Fahrzeugen gleich. Nur welche CanId welche
Informationen/Signale trägt, legt jeder Hersteller unterschiedlich
fest. Ist ja auch klar, denn die Ausstattungen/Konzepte der
verschiedenen Marken ist ja auch unterschiedlich.

Jetzt darfst du (Daniel) 'nur' noch die Bedeutung der vielen
Informationen auf dem Bus auswerten. D.h. Busmonitor dranhängen (wie,
welche wurde ja oben schon gesagt), und mitprotokollieren, was denn da
alles so übertragen wird. Wenn du dann die ca. 1000 verschiedenen
'Signale' enträtselt hast, dann kannst du dir einen schönen,
übersichtlichen Boardcomputer bauen :). Ohne die Bedeutung der
Bit/Bytes zu kennen, bringt dir das garnix.


Eine komplett andere (theoretische) Möglichkeit wäre es die Daten per
Diagnose (CAN/KWP oder K-Line) abzufragen. Das wäre dann so ein
Frage/Antwort-Spielchen. Allerdings bekommst du dann immer nur einen
Parameter genannt, und viele Werte werden auch nur bei stehendem
Fahrzeug übermittelt. Dafür gibts im Inet auch einige Tabellen, was wie
abgefragt werden muß (Stichwort: ODB).

> afaik haben die neueren radios alle nen CAN-port, kann ich mich da
einfach zwischenschalten?
Such mal in deinem Fahrzeug den Diagnosesteckeranschluß, dort sollte
zumindest ein DiagnoseCAN aufgelegt sein (der ein 'best-of' an
ausgesuchten Signalen liefert). Wenn du ein Vorserienfahrzeug hast :)
dann liegen dort üblicherweise alle Can-Busse.

Soviel zur Theorie. Jetzt ein praktischer Tip: Bau es, wenn du wirklich
genau weißt was du da machst (Can-Terminierung, EMV, Verhalten deiner
Hardware bei allen Betriebsparametern (Temperatur, Spannung usw.),
nicht daß deine prächtig (im Stand) funktionierende Hardware plötzlich
bei ner Bodenwelle im Hochsommer und Unterspannung den Dienst quittiert
und den CAN-Bus 'lehmlegt'. Vielleicht reicht auch einfach nur
'Unterspannung...'.
Also wie immer: 'Kids don't do this @home'.

Schmittchen.

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.