MX Foundation 4
|
The BC channel of ASCB supports this service (Logical channel 4).
The Major Frame that can be set on BC channel contains a matrix of rows and columns where a row is a minor frame and a column is a message bus slot of n-order in a minor frame. The intersection of a row and a column is a unique message bus slot.
A typical ASCB major frame is 8 by 15, but the major frame service allows a schedule of any size. The larger possible schedule is 1024 by 4022, which would use all the memory available for a schedule.
In order to build an ASCB major frame, the user must enter each intersection of a row and a column in the major frame. This is done for each row by initializing an array of message records, then calling mxfASCBTxPeriodicMajorFrameSet() with a pointer to this array as a parameter. The message record has a structure of type MXF_ASCB_TXPERIODIC_MJRFRAME_MSG and its primary function is to memorize the attributes assigned to a message bus slot.
Remember, the MXF_ASCB_TXPERIODIC_MJRFRAME_MSG record has a double function:
Another important piece of information contained in the record is the address field of the BC message. For example, if the message bus slot is allocated for a frame start sequence message, the address that should be passed to mxfASCBTxPeriodicMajorFrameSet() is 128 (80h). That way, a frame start sequence will be transmitted at the beginning of the slot and the total bus time attribute will cause a certain “time gap” before the next message bus slot.
If the total bus time is smaller than the time it takes to actually transmit the message, the transmission will not be truncated, but no idle time will occur before the next slot is processed. If several successive messages are entered that way, they will be transmitted back-to-back.
For each BC message, an FC (freshness counter) can be enabled or disabled. By default, it is disabled. The default data may also be set. By default, all messages are set to zero. Refer to the mxfASCBMsgFreshnessCounterSet() and mxfASCBTxPeriodicUpdateMsgWrite() functions.
Building a major frame: