TTCAN | User’s Manual | Revision 1.6 |
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 Time_Mark+(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.
BOSCH | - 63/77 - | 11.11.02 |