Forum: Mikrocontroller und Digitale Elektronik Flexray SPC56EL70L5


von David S. (mrwhiski)


Lesenswert?

Hallo zusammen,

ich hatte schon im letzten Post in dem es sich um Flexray gedreht hat ob 
irgend wer Erfahrung in dem Gebiet hat. Ich werde es hier nocheinmal 
tun.

Es geht um ein Projekt während meinem Master-Studium wo ich in die 
Flexray-Kommunikation eines BMWs eingreifen soll. Um sich mit dem Gebiet 
näher vertraut zu machen wurden zwei SPC56EL70L5 Boards gekauft um ein 
Test-Netzwerk auf zu bauen.

Nun stellt sich die Frage: Gibt es Sample Codes die die 
Flexray-Kommunikation im Programmcode demonstrieren? Ich hatte bei der 
Suche bis jetzt noch keinen Erfolg.

Würde mich freuen wenn der eine oder andere mir Tipps geben könnte die 
mich in eine neue Richtung führen.

Beste Grüße,
David.

von Martin H. (mahi)


Lesenswert?

Dein Vorhaben dürfte relativ schwer werden...
Diejenigen, die Flexray einsetzen, verwenden üblicherweise einen 
Softwarestack (gerne AUTOSAR), den man nicht so eben bekommt. Da kosten 
die Evaluierungslizenzen je nach Funktionsumfang gerne schon 
fünfstellig.

Wer hat Dir denn das Projekt gegeben? Derjenige sollte Dir dann auch den 
Softwarestack besorgen und natürlich die Kommunikationsmatrix, wer wie 
auf dem Bus kommuniziert (früher FIBEX-Datei, inzwischen wahrscheinlich 
in einem AUTOSAR-Format).

: Bearbeitet durch User
von David S. (mrwhiski)


Lesenswert?

Danke für deine Antwort Martin,

ich "forsche" quasi für eine Firma, bzw. ich soll mal einen Prototypen 
aufbauen der eben mit Flexray funktioniert. Sie haben die gleiche 
Funktionalität schon für den CAN-Bus aber eben keine Erfahrungen mit 
Flexray. Kannst du mir den AUTOSAR Softwarestack näher erläutern bzw. 
mich auf eine Seite verweisen wo ich nachlesen kann was das genau ist. 
Habe das schon öfters gelesen aber nicht so ganz kapiert worum es sich 
dabei handelt.

Komischerweise habe ich während meiner Nachforschungen auf fast allen 
Seiten die selbe "flache" Beschreibung über Flexray gefunden und 
irgendwie geht keiner "ins Detail" was die Software-Seite anbelangt.

Beste Grüße,
David

von Flexibel (Gast)


Lesenswert?


von Martin H. (mahi)


Lesenswert?

AUTOSAR ist prinzipiell ein großer Packen Papier (bzw. PDFs), der 
Standardsoftware und Softwarearchitektur für die Automobilbranche 
beschreibt. Das ganze kann man sich gratis auf http://www.autosar.org/ 
herunterladen, macht aber nur Sinn, wenn man ganz tief einsteigen will.
Diese Standardsoftware ist sozusagen das "Betriebssystem" für 
Steuergeräte (Betriebssystem steht in Anführungszeichen, da der Standard 
noch einiges mehr als nur das OS umfasst).

Dass im Internet kaum ins Detail gegangen wird, liegt wahrscheinlich 
auch daran, dass die Flexray-Spezifika so weit es geht durch den 
AUTOSAR-Stack (bzw. andere Stacks wie z.B. OSEK) abstrahiert werden. 
Außer den Stack-Herstellern (und ggf. den µController-Herstellern), die 
die "Treiber" (MCAL = Mictrocontroller Abstraction Layer) schreiben, 
muss sich theroretisch niemand wirkliche Gedanken um die Implementierung 
machen.
Ein anderer Grund dürfte sein, dass Flexray für Bastler ziemlich 
uninteressant ist...

Wenn Deine "Forschung" irgendwann in ein Produkt (Steuergerät) münden 
soll, das an einen Autohersteller (OEM) verkauft werden soll, führt 
wahrscheinlich kein Weg an einem von diesem Hersteller "zugelassenen" 
AUTOSAR-Stack vorbei.

Wie der Vor-Poster bereits verlinkt hat gibt es bei Vector ganz gute 
Präsentationen zu der Thematik, die man sich zu Gemüte führen kann.

Es gibt zwar durchaus Steuergeräte, bei denen der ganze Kram ohne 
fertigen Stack implementiert wurde, das ist aber die Ausnahme. Wenn man 
sowas verkaufen will, muss man dem OEM erstmal beweisen, dass man weiß, 
was man tut. Und das kann dann aufwändiger und teurer werden, als einen 
der empfohlenen Stacks zu verwenden.

von David S. (mrwhiski)


Lesenswert?

Hallo,

vielen Dank für deine umfassende Antwort.

Leider verstehe ich noch immer nicht genau was dieser Stack sein soll, 
aber ich werde mir mal die verlinkten Seiten ansehen.

Ich hätte es so verstanden: Man hat ja einen Communication Controller 
(CC) und einen Bus Treiber (BT), wobei der CC für die Timing 
Geschichten, Aufbau der Pakete, etc. verantwortlich ist, Und der BT dann 
diese auf die entsprechenden Spannungspegel bringt. Also sollte man 
eigentlich, laut meinem Verständnis, dem CC "einfach" die Daten die man 
schicken möchte plus wann man sie schicken möchte geben und alles ist in 
Butter.

Offensichtlich nicht so "einfach" wie erwartet.

Beste Grüße,
David

von Martin H. (mahi)


Lesenswert?

David S. schrieb:
> Also sollte man
> eigentlich, laut meinem Verständnis, dem CC "einfach" die Daten die man
> schicken möchte plus wann man sie schicken möchte geben und alles ist in
> Butter.

Ja, eigentlich ist es so "einfach". Nur dass man den CC eben erstmal 
konfigurieren muss, damit er das tut was er soll.
Je nachdem, wieviele Buffer der CC hat, wie flexibel man diese 
konfigurieren kann und wieviele Frames man senden und empfangen will, 
ist es dann vielleicht doch nicht mehr ganz so einfach.

Wenn man dann auch noch ein vollwertiger Busteilnehmer sein will, sollte 
man noch diverse (OEM-spezifische) Protokolle verstehen - beispielsweise 
für Diagnose und Netzwerkmanagement.

Es hängt sehr viel davon ab, was denn am Ende Deiner Forschung stehen 
soll.
Soll das "Ding" nur passiv mithören und ein paar Signale mitschneiden 
oder ein "richtiges" Steuergerät sein, das seine eigenen Frames 
sendet...

von Stefan  . (phreakshow)


Lesenswert?

Martin H. schrieb:
> Ein anderer Grund dürfte sein, dass Flexray für Bastler ziemlich
> uninteressant ist...

Uninteressant ist der FR nicht, ganz im Gegenteil. Die Messlatte für 
Knowhow liegt nur höher, und viele fummeln ja immer noch mit OBD2 rum, 
erst ganz langsam gehts richtung Bordnetz-CAN.

Die Frage bleibt aber, was sollst du auf dem FR anstellen? Soll deine 
Entwicklung kaltstartfähig sein? Lesen/schreiben/loggen/auf ethernet 
umsetzen?
Aus dem Stand einen oder zwei FR-Teilnehmer zu bauen stell ich mir für 
eine Masterarbeit ein wenig overkill vor.

von Peterguy (Gast)


Lesenswert?

Schau mal hier:

https://www.star-electronics.de/development-board-flexdevel

Das Board gibt es auch als Kit mit allem drum und dran um ein Beispiel 
FlexRay Netzwerk auf zu bauen.

Damit haben wir damals auch die ersten Schritte in Richtung FlexRay 
unternommen.

Falls ihr gar keinen Background zu FlexRay habt solltet ihr aber vorher 
eine Schulung besuchen. Sonst wird das ein langer und schmerzhafter Weg.

Wie schon gesagt wurde dürfte mittelfristig das größte Problem sein dass 
ihr eine Beschreibung (Fibex oder Autosar xml) des Netzwerkes benötigt.

Viel Erfolg!

von David S. (mrwhiski)


Lesenswert?

Hallo zusammen,

danke für die Antworten.

Also am Ende sollte ich lesen und schreiben können.
Ich werde natürlich am Anfang kleine Schritte machen und am Anfang 
zuerst probieren ein Netwerk mit 2 Evaluation Boards aufbauen.

Gibt es eine Möglichkeit die Felxray Konfiguration von einem 
bestehenden/laufenden Bus auszulesen? Oder müsste ich mir da alles quasi 
"per Hand" mit dem Oszi messen und ableiten (könnte schwierig werden)?

Danke nochmals für eure Hilfe.

Beste Grüße,
David

/* EDIT

Wir haben auf der FH in einer Vorlesung Flexray behandelt, also ich 
glaube eine grobe Vorstellung zur Funktionsweise des Bus zu haben

*/

: Bearbeitet durch User
von Martin H. (mahi)


Lesenswert?

David S. schrieb:
> Gibt es eine Möglichkeit die Felxray Konfiguration von einem
> bestehenden/laufenden Bus auszulesen? Oder müsste ich mir da alles quasi
> "per Hand" mit dem Oszi messen und ableiten (könnte schwierig werden)?

Ersteres glaube ich nicht. Warum sollten die Parameter auf dem laufenden 
Bus übertragen werden?
Zweiteres sollte möglich sein, ist aber Arbeit.

David S. schrieb:
> Also am Ende sollte ich lesen und schreiben können.

Wenn Du senden willst, muss Dir aber auch der entsprechende Slot 
zugewiesen sein, d.h. Dein Gerät muss als Busteilnehmer vom OEM 
eingeplant worden sein. Wenn dem so wäre, hättest Du zumindest eine Spec 
(FIBEX oder AUTOSAR XML), die Dir die Busparameter, Frameinhalte und die 
direkten Kommunikationspartner verrät.

Oder willst Du ein existierendes Steuergerät durch ein eigenes ersetzen, 
bzw. ein nicht verbautes selbst ergänzen? Dann wäre die Bestimmung der 
Busparameter noch das einfachste am Reverse-Engineering.

von David S. (mrwhiski)


Lesenswert?

Hallo,

Martin H. schrieb:
> Ersteres glaube ich nicht. Warum sollten die Parameter auf dem laufenden
> Bus übertragen werden?

Ich hatte eher an Software-Tools gedacht die dafür desiged wurden bzw. 
vlt. kann man diese Datei aus irgend einem Speicher auslesen (wohl eher 
nicht).


Martin H. schrieb:
> Zweiteres sollte möglich sein, ist aber Arbeit.

Da muss ich wohl durch.


Martin H. schrieb:
> Wenn Du senden willst, muss Dir aber auch der entsprechende Slot
> zugewiesen sein, d.h. Dein Gerät muss als Busteilnehmer vom OEM
> eingeplant worden sein. Wenn dem so wäre, hättest Du zumindest eine Spec
> (FIBEX oder AUTOSAR XML), die Dir die Busparameter, Frameinhalte und die
> direkten Kommunikationspartner verrät.

Das ist mir vorhin eben auch aufgefallen. Ich werde wohl erstmal den Bus 
messen und mir ein Bild davon machen. Nachdem ich die config kenne werde 
ich mir ein genaues Konzept überlegen.


Martin H. schrieb:
> Oder willst Du ein existierendes Steuergerät durch ein eigenes ersetzen,
> bzw. ein nicht verbautes selbst ergänzen? Dann wäre die Bestimmung der
> Busparameter noch das einfachste am Reverse-Engineering.

Nein das existierende Steuergerät soll nicht ersetzt werden. Wie oben 
angemerkt werde ich den genauen Aufbau des Systems festlegens obald ich 
weiß wie der Bus so arbeitet.

Danke.

Beste Grüße,
David

: Bearbeitet durch User
von Matthias X. (aif93)


Lesenswert?

Hallo David,

ich habe aktuell das selbe Problem wie du.
Hast du schon eine Lösung gefunden?

Im ersten Schritt will ich eigentlich nur mal den Flexray auslesen und 
weiß aber nicht welche Komponenten ich dafür brauche.
Vermutlich ein Evaluations Board mit Flexray Transceiver und dem 
Controller dazu.
Welches Board hast du verwendet?

Viele Grüße
Matthias

von Flexray (Gast)


Lesenswert?

Oh Leute...

FR läuft mit 10Mbit, wann welche Information übertragen wird, steht, wie 
hier schon mehrmals erwähnt, in einer Konfigurationsdatei. Diese ist nur 
dem Auto-Hersteller = OEM oder seinen Zulieferen bekannt. Die Datei 
dient als Input für einen Code-Generator, der die Konfiguration des 
COM-Stacks und des FR-Controllers generiert. Mit auslesen aus dem 
Steuergerät oder mitlauschen am Bus ist da nix!

Entweder du hast Zugriff auf diese Komunikationsmatrix oder es wird 
sehr, sehr aufwendig die Informationen im Datenstrom wieder zu finden. 
Wenn man aber noch nicht einmal weiss wonach man sucht, kann man damit 
Jahre verbringen.

Ein Demo Projekt mit 2 Eval-Boards als FR-Knoten aufzusetzten mag eine 
angemessene Aufgabe für eine Masterarbeit sein. Aber Daten von einem 
Fahrzeugbus auszuwerten, von dem nichts weiter bekannt ist, ist eine 
andere Nummer. Vom Senden ganz zu schweigen.

von David S. (mrwhiski)


Lesenswert?

Hallo Matthias,

also ich bin noch nicht sehr weit gekommen, habe jedoch 3 Eval. Boards 
(wie schon erwähnt) gefunden die interessant klingen.

1) SPC56EL (von ST) - relativ kostengünstig, schnelle Lieferzeit (wird 
von mir verwendet)
2) S12XFSTARTERKITE (von NXP) - kostet ein bisschen mehr, dafür aber 
auch 18 Wochen Liefzeit
3) Ein board von Fujitsu wo ich jetzt den genauen Namen nicht mehr finde 
aber soweit ich das mitbekommen habe ist es garnicht mehr zu kaufen.

Nr. 2 und 3 sind für mich nicht in Frage gekommen und ST hat leider 
relativ schlechten Support was FlexRay angeht.

Wenn du möchtest können wir uns gerne einmal außerhalb dieses Forums 
unterhalten.

An "FlexRay" (wohl ein ungünstiger Name des Authors :D):
Du hast durchaus recht. Es ist schon schwer genug ohne Beispielprogramme 
mit 2 Knoten ein Netwerk aufzubauen, bzw. sich alleine durch die ca 70 
konfigurations Parameter durch zu kämpfen.
Ich werde mal versuchen mit einem Oszi den Bus zu messen und versuchen 
einen Sinn darin zu finden. Es gibt Oszis die Daten vom FR-Bus lesen 
könne.

Außerdem muss ich noch erwähnen das mir dringlichst dazu geraten wurde 
einen Controller/Eval.Board zu verwenden welches den FR-Controller und 
den Tranceiver schon verbindet.

Beste Grüße,
David.

: Bearbeitet durch User
von Matthias X. (aif93)


Lesenswert?

Hallo David,


> 1) SPC56EL (von ST) - relativ kostengünstig, schnelle Lieferzeit (wird
> von mir verwendet)
> 2) S12XFSTARTERKITE (von NXP) - kostet ein bisschen mehr, dafür aber
> auch 18 Wochen Liefzeit
> 3) Ein board von Fujitsu wo ich jetzt den genauen Namen nicht mehr finde
> aber soweit ich das mitbekommen habe ist es garnicht mehr zu kaufen.

Ich habe mit das FlexDevel Board von Star Electronics angeschaut und 
hoffe, dass es für mein Vorhaben das richtige ist.
Sind bei dem SPC56EL keine Beispielprogramme dabei?

VG
Matthias

von David S. (mrwhiski)


Lesenswert?

Hallo,

nein von ST gibt es leider keine Bsp. Programme für FlexRay. Es wird 
nicht einmal von der IDE unterstützt.

Dein Board sieht sehr interessant aus, könnte dir wohl etwas leichter 
als mir gehen :D.

Falls du Interesse daran hast würde ich mich gerne außerhalb des Forums 
mit dir unterhalten, vlt. können wir uns gegenseitig helfen.

Beste Grüße,
David

von Matthias X. (aif93)


Lesenswert?

Hallo David,

wir können uns gerne außerhalb des Forums noch unterhalten.
Ich habe dir bereits eine Nachricht geschrieben - hast du diese 
erhalten?

VG
Matthias

von Stefan  . (phreakshow)


Lesenswert?

Passt eigentlich nur so halb zum Thema, aber vmtl wird es beim Debuggen 
helfen. Bei ebay sind immer mal wieder die alten PCI-Flexray-Karten 
drin, die VN3300. Die gehen erstens günstig her und zweitens kann man 
beim Vector eine kostenlose Demo-apllikation herunterladen, die dann die 
Rohwerte vom Bus anzeigt.

von Matthias X. (aif93)


Lesenswert?

Hallo Stefan,

Danke für deine Hilfe. Wir haben bei uns in der Firma bereits die VN 
Boxen mit passender SW. Ich soll jedoch eine Alternative für mein 
Projekt suchen und kann deshalb nicht die HW und SW von Vektor 
verwenden.

Stefan M. schrieb:
> Passt eigentlich nur so halb zum Thema, aber vmtl wird es beim Debuggen
> helfen. Bei ebay sind immer mal wieder die alten PCI-Flexray-Karten
> drin, die VN3300. Die gehen erstens günstig her und zweitens kann man
> beim Vector eine kostenlose Demo-apllikation herunterladen, die dann die
> Rohwerte vom Bus anzeigt.

VG
Matthias

von Crypted E. (crypted_e)


Lesenswert?

Hallo zusammen,

ich habe mit Spannung diesen Thread gelesen. Leider endet er hier. Es 
wäre für mich extrem interessant zu wissen wie euer Projekt weiter 
gelaufen ist?

Hintergrund für mich ist dieses Projekt:

https://comma.ai/

Mein Auto hat FlexRay und wir versuchen dieses u. a. kompatibel zu 
machen. Es ist nicht einfach, aber wir kommen voran.

Ich würde mich freuen, wenn ich von jemandem etwas hören würde.

Viele Grüße
crypted

von Matthias X (Gast)


Lesenswert?

Hallo crypted,

Mein Projekt ist super verlaufen.
Habe mit einem FlexRay Entwicklungsboard  die Verbindung zum Fahrzeug 
hergestellt - dafür benötigt man jedoch die Herstellerfibex.

VG

von Crypted E. (crypted_e)


Lesenswert?

Das hört sich super an. Wir verwenden das hier: DEVKIT-MPC5748G-ND

Wir werden ganz bestimmt nicht die fibex bekommen. Wie siehst du das, 
kann man es auch ohne Fibex hinbekommen?

von Matthias X (Gast)


Lesenswert?

Ohne Fibex wird es vermutlich sehr schwer aber kann sein, dass es 
möglich ist.
Ich habe das FlexDevel Board verwendet

von David S. (mrwhiski)


Lesenswert?

Hallo, grüß Dich,

bei mir ists leider nicht so toll verlaufen weil ich die oben genannte 
Herstellerfibex Datei nicht bekommen hab'.
Geben die Kollegen anscheinend nicht so gerne her ;).
Ich habe es jedoch geschafft alleine mit Lauschen auf dem Bus die 
config-Parameter so weit zu lesen, dass ich es geschafft habe mich mit 
dem Bus zu synchronisieren und Messages zu lesen. Hatte dann leider 
nicht mehr die Zeit dazu um testen zu können ob ich zum senden auch noch 
komme.
Bin mir nicht sicher ob dir das irgendwie hilft, bzw. ob du mehr Info 
über das Projekt haben möchtest, hab' mich jetzt aber leider länger 
nicht mehr mit diesem Thema beschäftigt. Also falls du noch Fragen hast 
kann ich dir nicht mit Sicherheit helfen, aber probieren kann ich es mal 
:)

BG,
David

von Crypted E. (crypted_e)


Lesenswert?

Als Erstes möchte ich mich über die super schnellen Rückantworten 
bedanken. Allein das freut mich schon riesig. Wie hoch war wohl die 
Wahrscheinlichkeit bei einem Thread, welcher 2 Jahre alt ist, noch 
Antworten zu bekommen. :-DDD

@David

Deine Erfahrung wäre perfekt für den Anfang. Ein Kollege hat das hier 
aufgebaut

https://github.com/nanamiwang/openpilot/wiki/FlexRay-Introduction

Ich habe die ganze Hardware. Wir haben schon diverse FlexRay Parameter, 
aber diese sind leider nicht valide. Wie sollten wir deiner Meinung nach 
vorgehen, um fürs erst mitlesen zu können.

Alle Infos die du darüber hast und wie du es geschafft hast mitzulesen, 
wären extrem hilfreich. Dafür wäre ich dir sehr dankbar!

Beste Grüße!

von David S. (mrwhiski)


Lesenswert?

Mich hat es genauso gewundert wie ich ein Mail bekommen habe dass jemand 
in diesem Thread schreibt :D.

Ich muss erst mal meine meine ganzen Daten zu diesem Thema ausgraben.
Hab' im Zuge meines Projekts ein "Konzept entwickelt" das quasi eine 
Roadmap ist wie man vorgehen muss um an die Parameter zu kommen.
Dabei habe ich alle Parameter an Hand deren Abhängigkeiten in ein 
(soweit ich mich erinnern kann) 7-Schichten Modell aufgeteilt.
Dieses Modell gibt quasi vor dass man knapp 15 Werte 
messen/annehmen/wissen muss um dann die restlichen ~50 (oder so) 
errechnen zu können.
Hoffentlich finde ich diese Datei noch wo ich mir das notiert habe, wird 
sich aber vmtl. Heut' nicht mehr ausgehen.

Ich möchte noch anmerken dass ich mir nicht 100% sicher bin ob das so 
funktioniert wie ich es geplant hatte.

BG,
David

von Crypted E. (crypted_e)


Lesenswert?

Alles klar, super.
Es spielt keine Rolle ob es funktioniert, naja ein wenig schon ;-). Jede 
Information die wir mehr haben, macht uns nur schlauer. Evtl. hast du 
etwas, was uns noch fehlt und das Puzzle ist gelöst.

Danke!

Hier sind noch mehr Infos zu dem Teilprojekt:
https://github.com/nanamiwang/openpilot/tree/flexray_bounty/flexray_adapter

: Bearbeitet durch User
von Crypted E. (crypted_e)


Lesenswert?

Gibt es Neuigkeiten? :-)

von David S. (mrwhiski)


Lesenswert?

Grüß Dich,

es tut mir leid dich ohne Antwort so lange warten zu haben, leider 
komplett drauf vergessen mich bei dir zu melden.

Ich habe das Dokument in dem ich alles hübsch aufbereitet habe leider 
nicht mehr gefunden, keine Ahnung wohin das verschwunden ist. Ich werde 
so schnell wie möglich versuchen dir die Liste neu zusammen zu 
schreiben. Hoffe du kannst dann noch mit der Information was anfangen.

Bitte um Updates falls ihr einen Durchbruch erreicht habt :).

Beste Grüße,
David Staffenberger

von Crypted E. (crypted_e)


Lesenswert?

Hi,

schön von dir zu hören.

Aktuell habe ich ein PicoScope bestellt. Ich versuche damit die 
Parameter zu bekommen. Hoffentlich hält es, was es verspricht.

Danke, dass du dir die Mühe machst! Selbstverständlich halte ich dich 
auf dem Laufenden!

Viele Grüße

von Crypted E. (crypted_e)


Lesenswert?

Wir haben es heute geschafft uns zu syncen. Leider fehlen uns aber noch 
sehr viele Parameter. Das FlexRay Tool wird nun erweitert, damit es die 
restlichen Parameter per brutforce herausbekommt.

Wir sind auf einem guten Weg.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.