www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FlexRay: Verständnisproblem "Gesamt-Zyklus"


Autor: Zottel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, an die wenigen die sich damit auskennen:

Ich benutze den Bosch E-Ray Core.

Frage:
Im Manual habe ich nirgends gefunden, wie man den Wert des maximalen 
Zyklus einstellt.

Also ein Gesamt-Zyklus setzt sich ja aus den Einzelzyklen zusammen.
Wenn ich jetzt nur 3 Einzelzyklen brauche, wie sag ich ihm das?
Oder geht er immer bis zur Grenze (63 Zyklen) ??
Das wäre ziemlich Zeitverschwendung...

Danke.

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Der "Gesamt-Zyklus" ist nicht dynamisch veränderbar.

Das muss auch so sein da FlexRay ein Echtzeitfähiges Datenprotokoll ist.

Alle Nachrichten im Protokoll haben eine feste Position (Zeitschlitz ) 
und werden daran identifiziert. Zusätzlich kann es ein Zeitfenster in 
fester Größe für dynamische Inhalte geben.
Wichtig ist, das ALLE Flexraycontroller im gleichen Netzwerk eine 
identische Messagemap besitzen.


Eventuell kannst du die Loopdauer der Übertragung durch die Größe der 
Messagemap beeinflussen.


Gruß
Ralph

Autor: Zottel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der "Gesamt-Zyklus" ist nicht dynamisch veränderbar.
Was meinst du damit? "Dynamisch" = zur laufzeit?
Will ich ja auch garnicht. Alles wird vorher festgelegt.

> Zusätzlich kann es ein Zeitfenster in fester Größe für dynamische Inhalte
> geben.
Das weis ich. Statischer und/oder dynamischer Bereich...

Alle Nodes bekommen die gleiche Messagemap oder "Systemmatrix".


Aber meine Frage war: Ist es überhaupt einstellbar, nur eine bestimmt 
Anzahl (einzel)Zyklen zu durchlaufen?
Das ist irgendwie unlogisch wenn es dazu keine Eintragung zu machen 
wäre.
Ich gebe ja auch eine max. Anzahl Slots an. Also muss ich auch eine 
maximale Anzahl Zyklen angeben können.

Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Zykluszeit wird für jeden FlexRay Cluster einmal eingestellt und 
bleibt dann immer gleich (Es sei denn, alle Knoten werden neu 
konfiguriert...). Ein häufiger Wert ist z.B. 5ms. Welches Register im 
ERay dafür zuständig ist weiß ich jetzt leider nicht auswendig.

Dann gibt es da noch den Cycle Counter, der von 0 bis 63 hochzählt. 
Daran kann man nichts "drehen", der Counter wird am Start eines jeden 
Cycles immer um 1 inkrementiert, bis er bei 63 überläuft und wieder bei 
0 beginnt.
Mit Hife dieses Counters kannst Du nun das sogenannte Cycle Multiplexing 
nutzen. Man kann so z.B. für verscheidene Cycles unterschiedliche 
Messagebuffer für den selben Slot konfigurieren. Wenn mich nicht alles 
täuscht, wird das Cyclemultiplexing im WRHS1 Register für jeden Message 
Buffer eingestellt. In der ERay Doku gibts aber auch eine detaillierte 
Erklärung dazu.
Es ist so z.B. möglich eine Botschaft in einem bestimmten Slot nur jeden 
4. Cycle zu versenden. In den übrigen Cycles kann der Slot dann 
anderweitig verwendet werden.

Hoffe, daß Dir das weiterhilft :-)
Gruß Peter

Autor: Zottel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Cycle Counter, der von 0 bis 63 hochzählt.
> Daran kann man nichts "drehen", der Counter wird am Start eines jeden
> Cycles immer um 1 inkrementiert, bis er bei 63 überläuft und wieder bei
> 0 beginnt.

Alles Klar. Das wollte ich wissen.
Erscheint mir komisch, dass man das nicht einstellen kann. Ist das nicht 
Verschwendung von Zeit?

Autor: Ingo Elsen (ogni42)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich das so lese, werde ich verstäkrt an den TIP (Tranputer Image 
Processing) - Bus von Parsytec von 1990 erinnert. Der funktionierte 
genau so.

Autor: Peter Weber (peterguy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zottel wrote:

> Alles Klar. Das wollte ich wissen.
> Erscheint mir komisch, dass man das nicht einstellen kann. Ist das nicht
> Verschwendung von Zeit?

Verschwendung von Zeit? Wieso denn? Wenn man möchte kann man ja in jedem 
Cycle senden. In vielen (vor allem kleineren) FlexRay Clustern wird der 
Cycle Counter Wert von den Knoten garnicht ausgewertet, weil die Daten 
in jeder Runde gesendet werden...
Der Cycle Counter ist ja eigentlich nur interessant, wenn man mit Cycle 
Multiplexing arbeiten möchte / muss.

>Wenn ich das so lese, werde ich verstäkrt an den TIP (Tranputer Image
>Processing) - Bus von Parsytec von 1990 erinnert. Der funktionierte
>genau so.
Das kann gut sein. Im Prinzip sind alle seriellen Busse zumindest 
teilweise einander ähnlich. Wenn man sich einmal mit einem Bus ausgiebig 
beschäftig hat ist der Aufwand nicht mehr groß, sich in einen Neuen 
reinzudenken :-)

Autor: Zottel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Verschwendung von Zeit? Wieso denn? Wenn man möchte kann man ja in jedem
> Cycle senden.
Stimmt. Mit dem Base Cycle und dem Cycle repitition geht das.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.