User’s Manual
BOSCH
- 63/77 -
Revision 1.6
TTCAN
11.11.02
manual_about.fm
for Arbitrating Time Windows, Tx_Trigger_Merged may be used only for Merged Arbitrating
Time Windows. The last Tx_Trigger of a Merged Arbitrating Time Window must be of the type
Tx_Trigger_Single. A Configuration Error (Error level 3) is detected when a Trigger of the type
Tx_Trigger_Merged is followed by any other Trigger than one of the type Tx_Trigger_Single or
Tx_Trigger_Merged. Several Tx_Triggers may be defined for the same Message Object.
Depending on their Cycle_Code, they may be ignored in some Basic Cycles. The Cycle_Code
has to be considered when ETT is calculated.
Rx_Trigger is used to check for the reception of periodic messages in Exclusive Time
Windows. The Time Mark of an Rx_Trigger shall be placed after the end of that message’s
transmission, independent of Time Window boundaries. Several Rx_Triggers may be defined
for the same Message Object. Depending on their Cycle_Code, they may be ignored in some
Basic Cycles.
EndOfList is an illegal Trigger type, a Configuration Error (Error level 3) is detected when an
EndOfList Trigger is encountered in the Trigger Memory.
The Trigger information is written into the Trigger Memory using the IF1 Data B1 and IF1 Data
B2 registers and the Trigger Memory Access Register, similar to the configuration of Message
Objects. On each transfer, 32 bits are loaded either from the IF1 Data B1 and B2 Registers to
the selected Trigger Memory word or vice versa. Write access to the Trigger Memory is locked
when the Configuration Mode is left.
The Triggers in the Trigger Memory have to be sorted by their Time_Marks, the Trigger with
the lowest Time_Mark is written to the first Trigger Memory word.
Note : If the Reference Message is n NTU long, then a Trigger with a Time_Mark<n will never become
active and will be treated as a Configuration Error.
Starting point of the Cycle Time is the Sample Point of the Reference Message’s Start of
Frame bit. The next Reference Message is requested when Cycle Time reaches the
Tx_Ref_Trigger’s Time_Mark. The CAN_Core reacts on the transmission request at the next
Sample Point. A new Sync_Mark is captured at the Start of Frame bit, but the Cycle Time is
incremented until the Reference Message is successfully transmitted (or received) and the
Sync_Mark is taken as the new Ref_Mark. At that point of time, Cycle Time is restarted. As a
consequence, Cycle Time can never (with the exception of initialisation) be seen at a value<n,
with n being the length of the Reference Message measured in NTU. The length of the Basic
Cycle is Tx_Ref_Trigger’s Ti(1NTU+1CAN bit time).
The Trigger List will be different for all nodes in the TTCAN network, each node knows only the
Tx_Triggers for its own transmit messages, the Rx_Triggers for those receive messages that
are processed by this node, and the Triggers concerning the Reference Messages.
The following restrictions exist for the node’s Trigger List :
There may not be two Triggers that are active at the same Cycle Time and Cycle_Count, but
Triggers that are active in different Basic Cycles may share the same Time_Mark.
Rx_Triggers may not be placed inside Merged Arbitration Windows or inside the Tx_Enable
Windows of other Tx_Triggers, but they may be placed after the Tx_Ref_Trigger.
Triggers that are placed after the Watch_Trigger (or after the Watch_Trigger_Gap when
SyncSt is In_Gap) will never become active, the Watch_Triggers themselves will not become
active when the Reference Messages are transmitted on time.
All unused Trigger Memory words (after the Watch_Trigger or after the Watch_Trigger_Gap
when SyncSt is In_Gap) must be set to Trigger Type EndOfList.