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.