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?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.