Hallo zusammen,
für eine Anwendung im Fahrzeug suche ich nach Anregungen und weiteren
Informationen und vielleicht gibt es auch was fertiges bezahlbares.
Was soll die Schaltung ausführen:
Ich möchte ein CAN zu CAN Router zwischen dem CAN-Bus und dem
Radionavigationgerät plazieren. Es soll die Datenframes bidirektional
durchlassen. Wenn man den Datenverkehr einschränken muß (Zeit - Timing
Verzug ???!!!), was in welche Richtung, kann ich einige Identifer, fast
alle benehnen. Einen kurzen Mitschnitt des Datenverkehrs hänge ich zur
Ansicht an.
Im zeiten Schritt soll die Schaltung 2 Identifer/Datenframes (261 und
263) die vom Radionavigationgerät in den Bus bzw. an das Kombiinstrument
gesendet werden herausfiltern. Die Identifer sorgen für die Darstellung
von 2 x 8 Zeichen im oberen Bereich eines Displays. Im dritten Schritt
würde ich gerne die 2 Identifer mit eigenen Datenframes beschreiben.
Der Can ist der Infotainment CAN und hat 100 Khz. Es werden soweit ich
das bis heute herausfinden konnte 11 Bit Identifer verwendet. Die Länge
der Datenframes unterscheidet sich ebenfalls.
Da ich bis heute überwiegend mit Bascom und AVRs gearbeitet habe ist der
schwerliche Aufstieg in C wohl nicht zu umgehen. In anderen Beiträgen
wurde schonmal was von MCs mit 2 Can Interfaces geschrieben und das es
mit Bordmitteln und ein wenig Software ganz einfach sein soll aber wohl
nicht für einen Auf/Umsteiger.
Wenn die Chance besteht das auch mit Bascom und 2 x At90CAN128 die per
RS232 Informationen austauschen zu erledigen wäre das toll - Aber das
kann hier sicher jemand mit Erfahrung sagen.
Wenn für eine detailierte Aussage noch weitere Daten oder Infos benötigt
werden lasst es mich wissen, ich werde versuchen dies dann herbei
zuschaffen.
Gruß
Schorschi
Schorschi schrieb:> Ich möchte ein CAN zu CAN Router zwischen dem CAN-Bus und dem> Radionavigationgerät plazieren.
Könntest du uns bitte erklären was ein CAN Router sein soll ?
Bei allem nötigen Respekt solltest du dich vielleicht eher noch ein
bisschen mit mit dem CAN-Bus beschäftigen. Eine Defintion eines Routers:
1
Router sind Netzwerkgeräte, die mehrere Netze – je nach Sichtweise – koppeln oder trennen. Dabei analysiert der Router die ankommenden Datenpakete nach ihrer Zieladresse und blockt diese oder leitet sie weiter. Geroutete, d.h. weitergeleitete, Pakete gelangen so entweder in ein direkt am Router angeschlossenes Zielnetz (auch Ziel-Subnetz) oder werden zu einem anderen im Netz erreichbaren Router weitergereicht.
In einem CAN Bus System gibt es keinen Router! Ein Auszug aus der
Definition eines Bus-Systems:
1
Ein Bus ist ein System zur Datenübertragung zwischen mehreren Teilnehmern über einen gemeinsamen Übertragungsweg [...]
Irgendwie habe ich das Gefühl, dass du den CAN-Bus noch nicht richtig
verstanden hast - bzw. den Sinn eines Bussystemes.
Schorschi schrieb:> Wenn die Chance besteht das auch mit Bascom und 2 x At90CAN128 die per> RS232 Informationen austauschen zu erledigen wäre das toll - Aber das> kann hier sicher jemand mit Erfahrung sagen.
Also wenn du meinst, dass die beiden µCs sich per serieller
Schnittstelle austauschen sollen dann ist das möglich. Bei
Microcontrollern heißt das UART-Schnittstelle. Das ist das was du als
RS232 kennst (allerdings sind bei RS232 andere Pegel verwendet). In
Basecom ist das alles genausowenig ein Problem wie in Pascal, C oder
Assembler.
Gruß
@Michael
kannst du denn nicht lesen? Er hat doch nicht nur geschrieben, ich will
einen CAN Router haben. Für dich übersetzt und zusammengefasst: "Ich
will ETWAS haben, was Folgendes tut.." und dieses hat er ziehmlich gut
beschrieben. Daraus kann man, denke ich, schon schließen, dass er sich
mit CAN auseinander gesetzt hat. Wenn die Leute CAN lesen, dann ist in
diesen Foren hier deine Antwort schon Standard:
".. du dich vielleicht eher noch ein
bisschen mit mit dem CAN-Bus beschäftigen..."
@Schorschi
1. Du mit deinem Vorhaben seid die Perfekte Antiwerbung für Bascom. Es
werden die größten Nachteile Bascom zu verwenden sichtbar.
2. Wenn du bei Bascom bleiben möchtest, dann würde ich dir eine
Schaltung mit einem AVR und 2 externen CAN µC (angeschloßen wie SPI)
raten so was wie das hier, aber mit 2 x MCP2515:
http://www.kreatives-chaos.com/artikel/can-testboard-40
oder das hier:
pcbhttp://elmicro.com/de/candip.html
3. Eine Alternative wäre gleich einen µC mit 2 CAN Schnittstellen zu
nehmen.
Z.b. Die 16 Bit Freescale µCs:
http://elmicro.com/de/cards12.html#s12x
Da kannst du aber nur mit C programmieren. Und du brauchst noch die
Eternen Bus Treiber.
Moin,
eine Unterbrechung des IBus, mit einem CAN-Gateway, ist vielleicht nicht
nötig (und die damit verbundenen Risiken...). Ein Device auf dem IBus
das die Information an das Kombi schickt sollte genügen (ev. gibt es
auch eine Message zum Auslesen des angezeigten Textes... ). Das Navi
aktualisiert den Text meist nur bei Änderungen. Wenn man zwischendurch
eigene Messages schickt sollte das nicht stören.
Das ist zwar keine vollständige Kontrolle über die Anzeige, aber auch
weniger riskant. Die Betriebserlaubnis des Fahrzeuges ist sehr schnell
erloschen... ;o)
Thomas
... kleiner Nachtrag
im Log ist zu erkennen, daß die RadioDaten alle 800 ms gesendet
werden... auch ohne Änderung. Überschreiben fällt damit aus, da es
wahrscheinlich flackern würde.
Auch wenn das Navi vom Kombi durch ein Gateway getrennt ist oder das
Kombi den IBus selbst auswertet, würde ich eine physische Unterbrechung
des IBus vermeiden wollen.
Thomas
Wenn Du dich schon bestens mit AVRs auskennst, dann nimm doch einfach
einen AT90C128 und einen weiteren MCP2515 über SPI angebunden. Für
beides gibt es fertige Libs, siehe hier:
http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek
Das Einbinden geht sehr einfach, die Libs funktionieren out-of-the-box
perfekt! Das würde ich einer Lösung mit 2 Prozessoren vorziehen.
Vielleicht gibt es mit diesem Hardware-Konzept sogar eine Lösung für
BASCOM. Ich denke, das wäre aber die beste Gelegenheit, davon
abzuweichen und den professionellen Weg zu beschreiten (Auch auf die
Gefahr hin, dass jetzt einige aufschreien werden).
Hallo zusammen
erstmal vielen Dank das sich doch soviele hier damit beschäftigt haben.
Also perfekt mit Bascom auskennen... leider nicht, ich komme für meine
Basteleien ganz gut zurecht.
Da ich sehr viel nach entsprechenden Beipsielen von/für Bascom gesucht
habe weiß ich ja das Bascom da wohl ausscheiden sollte....!!!!!?????
@Thomas
ich denke den Bus aufzutrennen ist die einzige Möglichkeit es überhaupt
zuschaffen. Ich hatte schon mit dem CAN Dongle, mit dem ich den
Mitschnitt getätigt hatte, die Möglichkeit Frames an das Kombiinstrument
zusenden. Die Wiederholung der ID 261 und 263 erfolgt vom Radio/Navi
zwar nur alle 800ms wenn ich diese aber überschreiben will und die
Darstellung ohne Überblendungen sein soll muß ich das schon mit
Wiederhohlungszeit von gerademal 50 - 100 ms arbeiten. Das wiederum, ich
drücke es mal so aus, müllt den Bus zu......und das gilt es zu
vermeiden. Rein elektrisch sollte die Auftrennung sowie die
Widerstandsproblematik der 120 Ohm Abschlußwiderstände nicht das Problem
sein. Der Traffic auf dem Teil des Busse ist nicht riesig groß nimmt nur
etwas zu wenn das Navi selbst seine Daten (Navigationssymbole usw.) ans
Kombiinstrument sendet. Den Teil log ich nochmal nach wenn es hier eine
Rolle spielt. Auch das Navi/Radio braucht nicht alle Infos vom Bus, die
würde ich aber nur einschränken wollen wenn die Datenflut durch den MC
nicht bewälltigt werden kann.
Es gibt eine fertige Lösung (Kufatec - VW) die zusätzliche Frames über
die IDs der Freisprechanlage an das Kombiinstrument schicken und da
diese eine höherwertige Priorität haben werden diese dann auch dauerhaft
angezeigt (gesteuert durch das Kombiinstrument). Dieses Modul zapft
sogar den Komfort und den Infotainment CAN an. Leider scheidet das dank
Freisprechanlage bei mir aus.
Ich habe vielleicht nicht die Fachausdrücke drauf dennoch versuche ich
das mitzuteilen was ich denke und vorhabe. Das so ein Projekt nicht der
beste Umstieg auf C für einen Anfänger ist muß ich wohl so in Kauf
nehmen. Ich würde natürlich eine fertige Lösung liebend gerne nehmen und
mit externer Hilfe auf meine Bedürfnisse anpassen - sowas gibt es aber
wohl nicht.
Vielen Dank für weitere Vorschläge
Gruß
Schorschi
Schorschi schrieb:> Die Wiederholung der ID 261 und 263 erfolgt vom Radio/Navi> zwar nur alle 800ms wenn ich diese aber überschreiben will und die> Darstellung ohne Überblendungen sein soll muß ich das schon mit> Wiederhohlungszeit von gerademal 50 - 100 ms arbeiten.
Hab ich das richtig verstanden? Die Messages 261 und 263 enthalten
Infos, die auf dem Display landen, du willst diese Infos aber durch
andere ersetzen?
Warum muss das periodisch mit hoher Wiederholrate geschehen? Genügt es
nicht, nach jedem 261 und 263 einmal den passenden Ersatz-Frame
hinterherzuschicken, und das mit möglichst kurzer Verzögerung?
Ach halt, mir fällt was ein:
Es ist verboten, dass es auf einem CAN-Bus mehrere Stationen gibt, die
Messages mit demselben Message-ID verschicken. Falls die das genau im
gleichen Augenblick tun, gibt es Arbitrierungsfehler.
Das könnte ein Grund sein, weshalb ein Gateway zwingend erforderlich
ist.
>Es ist verboten, dass es auf einem CAN-Bus mehrere Stationen gibt, die>Messages mit derselben Message-ID verschicken. Falls die das genau im>gleichen Augenblick tun, gibt es Arbitrierungsfehler.
Und Arbitrierungfehler werden erkannt.
Wenn man das hinbekommt könnte es gehen ????.
Aber, da der Zugriff auf den Bus durch die IDs und die damit verbundenen
Prioritäten geregelt und durch die Controller abgewickelt wird - weiß
ich nicht wie ich das hinbekommen soll und die Anzeige soll ja auch
nicht flackern. Mein Wissen in dem Bereich ist da schon von Lücken
geprägt !!!
Womit würdest du das hinbekommen ???
Gruß
Schorschi
Deshalb war auch die Sendung mit den kurzen Zeitabständen notwendig.
Diese Fehler veranlassen der Sender die Nachricht noch einmal
zuversenden und belasten damit zusätzlich den Bus das will ja
letztendlich verhindert werden.
Die Freisprechanlage ist ein eigenständiges Steuergerät. Ich muß gleich
mal in mein Archiv sehen da hab ich noch eine Darstellung der
Bustopografi bzw. der angeschlossenen Geräte. Denn es kommen ja auch
noch Befehle vom Multifunktionslenkrad in den Infotainment Bus aus dem
Komfortbus über den Gateway.
Ich suche die Darstellungn heraus oder ich zeichne eine neue und stell
die dann hier ein.
Gruß
Schorschi
Also allgemein wirst Du einen Controller mit 2 CAN Controllern
benötigen.
Wichtig ist, dass Du ALLE Nachrichten transparent durchreichst.
Das "Gateway" sollte sich wie ein Stück draht zwischen den beiden
Bushälften verhalten (->ich weiß, dass es durch die interne Abhandlung
Verzögerungen gibt!).
Bei den AVRs müsste dann die ID-Mask so eingestellt werden, dass
alle Nachrichten, ausgenommen, die 2, die Du abfangen willst, auf ein
MOB gehen. Die Nachricht muss dann, möglichst ohne Verzögerung, über den
2. Controller raus.
Für die beiden Nachrichten, die Du abfangen willst, machst Du dann auch
2 MOBs auf. Entweder leitest Du die 1:1 weiter, oder fängst sie ab und
sendest nur deine eigenen. Evtl. könntest Du ja auch die abgefangenen
Nachrichten
speichern und falls nötig, dann später Senden (falls Du die Ausgaben für
irgendwas brauchst).
Ich meine mal irgendwo einen AVR mit 2 CANs gesehen zu haben, kann aber
sein, dass sich das mit einem ARM von Atmel verwechsle....
Was auch noch zu beachten ist, dass Du die Busterminierung und die
Vorgaben
zum Routen der Leiterbahnen einhälst. Bei 100 kBit/s sollte es zwar
unkritisch sein, aber mann muss es ja mit der "Abweichung" nicht
übertreiben!
>Ich meine mal irgendwo einen AVR mit 2 CANs gesehen zu haben, kann aber>sein, dass sich das mit einem ARM von Atmel verwechsle....
Der C167 von Infineon (16bitter) hat zwei CAN-Kanäle.
Man könnte aber auch eine Lösung mit einem AVR und zwei MCP2515
aufbauen.
Ob die SPI-Geschwindikeit ausreicht, müsste man man genauer betrachten.
STK500-Besitzer schrieb:>>Es ist verboten, dass es auf einem CAN-Bus mehrere Stationen gibt, die>>Messages mit derselben Message-ID verschicken. Falls die das genau im>>gleichen Augenblick tun, gibt es Arbitrierungsfehler.>> Und Arbitrierungfehler werden erkannt.
Eben nicht. Arbitrierung findet auf dem CAN nur im Identifier und dem
RTR Bit statt. Nachzulesen hier:
http://www.semiconductors.bosch.de/pdf/can2spec.pdf
Matthias
Sowas gibts auch zu kaufen. Hatte vor einigen Jahren mal für unseren
Kunden damit gearbeitet. Das war ein CAN-CAN Gateway, dass man beliebig
konfigurieren konnte. Welche Signal vom CAN1 wie auf CAN2 übertragen
werden sollen ...
Hallo zusammen,
okay dann werde ich heute Abend mir den Beitrag aus dem Roboternetz mal
ansehen und auch den von dem Infineon.
Das was Matthias (Gast) geschrieben hat trifft es genau. Die Frames
nahezu ohne Verzögerung durchreichen 1:1. die zwei ID261 und ID263 nach
Bedarf herausfiltern. Zwischen speichern brauche ich die Frames
allerdings nicht da sie weiter zu nichts nütze sind ausser sie eben
anzuzeigen. Dann nur noch (grins) meine Daten einspeisen.
Inhaltlich werden nur Daten des Radios (Frequenzen oder Sendernamen -
RDS, Track bei CD usw. ) in den 2 mal 8 Zeichen angezeigt. Selbst die
Navidarstellung findet im mittleren Teil des Display statt, da will ich
garnicht ran.
Was muß ich noch mitteilen um ein besseres Bild meines Wunsches
darzulegen.
Gruß
Schorsch
Vielleicht wichitg, die ID261 und 263 sind die niederwertigsten des
Teilnehmers. Die werden kontinuierlich durch das Radio/Navi gesendet
auch wenn die Freisprecheinrichtung die Anzeigemöglichkeit nutzt. Dann,
so erkläre ichs mir, die Daten der Freispr. durch den Gateway im
Kombiinstrument direkt auf das Dispaly geroutet und die des Radios eben
nicht angezeigt. Leider sind da keine weiteren bekannten ID frei - wäre
ja zuschön
@ apfelmännchen
hört sich gut an !!!! welche Firma ??? Hersteller ??? Bezugsadresse ??
kannst du mal nachschauen - ob es auch bezahlbar ist
Hi
was darfs denn kosten? Für um die 300€ hätte ich da unter Umständen was.
2xCAN + Programmierbarkeit in C fix fertig in einem tauglichen Gehäuse.
Matthias
Hallo,
meine Suche beim Freund Google bhat mich schon mal hier hin geführt.
http://www.peak-system.com/Produktdetails.49+M5f9f24f30c5.0.html?&tx_commerce_pi1[catUid]=8&tx_commerce_pi1[showUid]=31
Es muß ja nicht der Pro sein - Aufzeichnungen auf Compakt Flash brauche
ich z.B. nicht. Oder was die kann die Config Software
Was heißt um die .... fix und fertig ??? was müßte ich noch anpassen um
meine Bedürfnisse anzuzeigen ????. Wie sieht sowas aus.. du machst mich
schon neugierig
Gruß
Schorschi
Hi
Gib mir mal deine Mailadresse bzw. melde dich hier an. Dann lass ich dir
ne PN zukommen. Da ich für die betreffende Firma arbeite will ich das
hier nicht öffentlich erzählen.
Matthias
Hallo nochmal,
hier die Grafik von der ich gesprochen hatte. Die Bauteile des
Infotainmet Busses sind da zusehen. Nicht alle Steuergeräte sind immer
verbaut.
Gruß
Schorschi
HAllo zusammen,
bringt es was für die weitere Betrachtungsweise wenn ich eine Skitzze
erstelle in der ich darlege was durch die Schnittstelle durch muß und
was nicht ?????
also ich meine welche IDs aus dem Bus zum Radio müssten und welche IDs
vom Radio in den Bus müssten??? Denn nicht alle Ids braucht das Radio
wirklich.
Gruß
Schorschi