User’s Manual
BOSCH
- 10/77 -
Revision 1.6
TTCAN
11.11.02
manual_about.fm
2.3 Operating Modes
2.3.1 Software Initialisation
The software initialization is started by setting the bit Init in the CAN Control Register, either
by software or by a hardware reset, or by going
Bus_Off
.
While Init is set, all message transfer from and to the CAN bus is stopped, the status of the
CAN bus output CAN_TX is
recessive
(HIGH). The counters of the EML are unchanged.
Setting Init does not change any configuration register.
To initialize the CAN Controller, the CPU has to set up the Bit Timing Register and each
Message Object. If a Message Object is not needed, it is sufficient to set it’s MsgVal bit to not
valid. Otherwise, the whole Message Object has to be initialized.
Access to the Bit Timing Register and to the BRP Extension Register for the configuration of
the bit timing and to the TT Operation Mode Register for the configuration of the time triggered
communication is enabled when both bits Init and CCE in the CAN Control Register are set.
Resetting Init (by CPU only) finishes the software initialisation. Afterwards the Bit Stream
Processor BSP (see section 4.2.1 on page 45) synchronizes itself to the data transfer on the
CAN bus by waiting for the occurrence of a sequence of 11 consecutive
recessive
bits (
≡
Bus
Idle
) before it can take part in bus activities and starts the message transfer.
The initialization of the Message Objects is independent of Init and can be done anytime, but
the Message Objects should all be configured to particular identifiers or set to not valid before
the BSP starts the message transfer.
To change the configuration of a Message Object during normal operation, the CPU has to
start by setting MsgVal to not valid. When the configuration is completed, MsgVal is set to
valid again.
To change the configuration of the time triggered communication, the TTMode in the
TT Operation Mode Register must be set to Configuration Mode. Entering and leaving this
Configuration Mode requires that both bits Init and CCE are set.
2.3.2 CAN Message Transfer
Once the TTCAN is initialized and Init is reset to zero, the TTCAN’s CAN_Core synchronizes
itself to the CAN bus and starts the message transfer in the configured TTMode.
Received messages are stored into their appropriate Message Objects if they pass the
Message Handler’s acceptance filtering. The whole message including all arbitration bits, DLC
and eight data bytes is stored into the Message Object. If the Identifier Mask is used, the
arbitration bits which are masked to “don’t care” may be overwritten in the Message Object
when a received message is stored.
The CPU may read or write each message any time via the Interface Registers, the Message
Handler guarantees data consistency in case of concurrent accesses.
Messages to be transmitted are updated by the CPU. If a permanent Message Object
(arbitration and control bits set up during configuration) exists for the message, only the data
bytes are updated. How the transmission is started depends on the configured TTMode. If
several transmit messages are assigned to the same Message Object (when the number of
Message Objects is not sufficient), the whole Message Object has to be configured before the
transmission of this message is requested.
The transmission of any number of Message Objects may be requested at the same time, they
are transmitted subsequently according to their internal priority. Messages may be updated or