To come directly to the point, let's, for the moment, leave out the information concerning the maximum length of the network. In the following, we would like to discuss the most advantageous topology of FlexRay, a Bus
various stars with an active coupler.
This type of star could perhaps be explained as a Bus within a Bus, because the actual participant in the Bus is the coupler, which transmits to - or receives from - it's partner in the star. Probably only in this constellation,
can the up
to 10 Mbit/s be fairly safely ensured.
|Systems with a max. of 2,5 or 5 Mbit/s are possible.|
The two channels are so independent of each other, that only one connection on each is even possible. The same messages can be transmitted by both channels simultaneously. Because, the same as is with CAN, the
between two signals is evaluated, the two channels need twice the number of cables. As far as security is concerned, the FlexRay shows itself to be superior.
|Various topologies on the two channels are possible.|
You can assume the entire technology of the CAN-Bus, including the resistances. The tension does however vary between 2,0 and 3,0 volts at a voltage-lift from B(us)-plus and B(us)-minus of 0,5 V each. An even more
considerable difference to CAN: There is no recessive bit, which can be overwritten by a dominant one.
Once again, for the sake of simplicity, we'll consider the static part of one channel, then the dynamic part, together with the short symbolic table of 64 frames with 254 usable bytes. In its conception, the length of the former
determined, the latter however, depends on how much transmission time is left over. Accordingly, also the number of the mini slots used, into which it is divided.
The static part is a certain number of always equal, fixed segments, which are absolutely identical in both channels. These are reserved for messages on one or both channels simultaneously and their transmission time
guaranteed. The segments in the dynamic part are smaller and often, several of them are used. Here the messages whose transmission time is not guaranteed, must be put off.
Thus, a certain amount of synchronicity is present in the static area, even though there are varying users, whereby in the dynamic area, it's a cheerful jumble. Indeed, at any certain point of time, always only one participant
access to each of the two channels. Should the time run out for the available mini-slots, then the transmission is ended.
Anything missing in a message must wait for the next dynamic area. Should a participant be finished and there are still mini-slots available, then one is designated to the next message. Thus, through the assignment of
with the frame Ids, there is indirectly, a certain priority. 02/14
|The frame of a FlexRay message|
|Reserved Bit||If the very first bit in a message remains free, i.e. always on zero, all the possibilities are kept open for a later enlargement..|
|Payload Preamble Indicator||Indicates contents of a data-block which are to be specially interpreted (differing for static- and dynamic blocks).|
|Null Frame Indicator||A zero is shown here, if the data-block contains no data (only possible with dynamic frames).|
|Sync Frame Indicator||A one here means, that in this frame a clock-time for the synchronisation of the individual nodes is being transmitted. |
|Startup Frame Indicator||Certain nodes may initiate a communication-cycle and be the first to be marked by this bit. It wakes up the other nodes.|
|Frame ID||Each message has a system-wide, unique number, which is responsible for the allocation of time in the static- and priority in the dynamic area. |
|Payload Length||Shows the length of a data-block (variable only in the dynamic segment).|
|Header CRC||This is a check-sum covering the previous four fields and is for checking that the transmission is properly carried out.|
|Cycle Count||This is where the communication-cycles are counted, and all of them count.|
|Payload Data||This is where the actual message-data is found.|
|Trailer CRC||With a CRC, a data-test in all the previous fields is meant (check-sum).|