TTCAN | User’s Manual | Revision 1.6 |
manual_about.fm
The CPU may poll all MessageObject’s NewDat and TxRqst bits in parallel, in the New Data x Registers and in the Transmission Request x Registers. Polling is made easier if all Transmit Objects are grouped at the low numbers, all Receive Objects are grouped at the high numbers.
The internal prioritisation of the Transmit Objects is controlled by their Message Number, so the most urgent message should be configured for the first Message Object.
The acceptance filtering for received Data Frames or Remote Frames is done in ascending order of Message Objects, so a frame that has been accepted by one Message Object cannot be accepted by another Message Object with a higher Message Number. The last Message Object may be configured to accept any Data Frame or Remote Frame that was not accepted by any other Message Object, for nodes that need to log the complete message traffic on the CAN bus.
It is not necessary to configure Transmit Objects for the transmission of Remote Frames. Setting TxRqst for a Receive Object will cause the transmission of a Remote Frame with the same identifier as the Data Frame for that this receive Object is configured.
Received Remote Frames do not require a Receive Object, they will, if in the matching Transmit Object the RmtEn bit is set, trigger automatically the transmission of a Data Frame.
4.2.2.1 Configuration of a Transmit Object for Data Frames
Figure 14 shows how a Transmit Object should be initialised.
MsgVal | Arb | Data | Mask | EoB | Dir | NewDat | MsgLst | RxIE | TxIE | IntPnd | RmtEn | TxRqst |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 | appl. | appl. | appl. | 1 | 1 | 0 | 0 | 0 | appl. | 0 | appl. | 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 14: Initialisation of a Transmit Object
The Arbitration Registers (ID28-0 and Xtd bit) are given by the application. They define the identifier and type of the outgoing message. If an 11-bit Identifier (“Standard Frame”) is used (Xtd = ‘0’), it is programmed to ID28 - ID18, ID17 - ID0 can then be disregarded.
The Data Registers (DLC3-0, Data0-7) are given by the application, TxRqst and RmtEn may not be set before the data is valid.
If the TxIE bit is set, the IntPnd bit will be set after a successful transmission of the Message Object.
If the RmtEn bit is set, a matching received Remote Frame will cause the TxRqst bit to be set; the Remote Frame will autonomously be answered by a Data Frame.
The Mask Registers (Msk28-0, UMask, MXtd, and MDir bits) may be used (UMask=’1’) to allow groups of Remote Frames with similar identifiers to set the TxRqst bit. The Dir bit should not be masked. For details see section 4.1.3.2, handle with care. Identifier masking must be disabled (UMask = ‘0’) if no Remote Frames are allowed to set the TxRqst bit (RmtEn = ‘0’).
4.2.2.2 Configuration of a Single Receive Object for Data Frames
Figure 14 shows how a Receive Object should be initialised.
MsgVal | Arb | Data | Mask | EoB | Dir | NewDat | MsgLst | RxIE | TxIE | IntPnd | RmtEn | TxRqst | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 | appl. | appl. | appl. | 1 | 0 | 0 |
| 0 | appl. | 0 | 0 | 0 | 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 15: Initialisation of a single Receive | Object |
|
|
|
|
|
BOSCH | - 54/77 - | 11.11.02 |