Forum: Mikrocontroller und Digitale Elektronik FlexRay - MessageBuffer


von Dennis (Gast)


Lesenswert?

Hallo,

ich beschäfftige mich zur Zeit mit dem Thema FlexRay, sprich ich lese 
mich in die Spezifikation ein und versuche die ganzen Zusammenhänge 
einigermaßen zu verstehen, da ich meine Diplomarbeit wohl in diesem 
Gebiet machen werde.

Zu meiner Frage:
Betrachtet man den E-Ray-Core von Bosch, dann fällt mir auf, dass man im 
Message RAM Speicher für "static massage buffer", "dynamic message 
buffer" und für "FIFO buffer" reservieren kann. Nur wozu könnte man den 
FIFO buffer gebrauchen?
Wenn ich eine ID als "interessant" empfinde, definiere ich sie bei der 
Konfiguration doch als zu empfangende Nachricht, was bedeutet, dass sie 
im static oder dynamic message buffer abgelegt wird. So wie ich das 
verstanden habe werden alle Nachrichten, die nicht direkt als zu 
empfangende Nachrichten definiert sind und durch den FIFO-Filter kommen 
im FIFO-Buffer abgespeichert.
Warum nun dieses FIFO? Hab ich da irgendwas an der ganzen Sache nicht 
verstanden?

von Berti (Gast)


Lesenswert?

FIFO ist da um viele Daten die auf einmal kommen "abzufedern". Z.B. wenn 
der µC langsamer ist mit der Verarbeitung der Daten als die 
Geschwindigkeit mit der neue Daten kommen.

von Dennis (Gast)


Lesenswert?

Ja, das ist mir schon klar.

Aber:
Im Apllication Note des E-Ray-Cores 
(http://www.semiconductors.bosch.de/pdf/070601_AN004_1R01.pdf) wird 
beschrieben, dass nur Nachrichten im FIFO abgespeichert werden, die man 
nicht als zu empfangende Nachrichten des jeweiligen Nodes konfiguriert 
hat und durch das FIFO-Filter gehen (4.5.1 Example One, Seite 14).
Heißt also alle Nachrichten, die mich eigentlich nicht "interessieren" 
werden im FIFO abgespeichert. Die Nachrichten, welche mich interessieren 
werden bei jedem Empfang überschrieben.
Irgendwie erscheint mir das ein wenig Schwachsinnig.

von Daniel (Gast)


Lesenswert?

Ein FIFO kann bei FlexRay sinnvoll sein, wenn z.B. sowas wie ein Gateway 
implementiert werden soll. Dort muss dann nicht für jede zu 
verarbeitende Nachricht extra ein Puffer konfiguriert werden, sondern es 
wird die älteste Nachricht aus dem FIFO genommen und entsprechend 
weitergleitet.

Zudem kommt man um die Umkonfiguration von Nachrichtenspeichern herum, 
wenn die Anzahl von interessanten Nachrichten die Anzahl der verfügbaren 
Nachrichtenspeicher übersteigt. Einfach alles in den FIFO legen lassen 
und unwichtige Frames verwerfen.

Klar, wenn du nur ein Gerät entwirfst, was in einen Zeitslot Daten 
schreibt und aus einem anderen Daten empfängt, brauchst du keinen FIFO. 
Kommt eben auf die Anwendung an.

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.