
CAN modules
UM0404
DocID13284 Rev 2
21.7.8 Basic
mode
The CAN Core can be set in Basic Mode by programming the Test Register bit
Basic
to
one
. In this mode the C-CAN module runs without the Message RAM.
The IF1 Registers are used as Transmit Buffer. The transmission of the contents of the IF1
Registers is requested by writing the
Busy
bit of the IF1 Command Request Register to
one
. The IF1 Registers are locked while the
Busy
bit is set. The
Busy
bit indicates that the
transmission is pending.
As soon the CAN bus is idle, the IF1 Registers are loaded into the shift register of the CAN
Core and the transmission is started. When the transmission has completed, the
Busy
bit is
reset and the locked IF1 Registers are released.
A pending transmission can be aborted at any time by resetting the
Busy
bit in the IF1
Command Request Register while the IF1 Registers are locked. If the CPU has reset the
Busy bit, a possible retransmission in case of lost arbitration or in case of an error is
disabled.
The IF2 Registers are used as Receive Buffer. After the reception of a message the
contents of the shift register is stored into the IF2 Registers, without any acceptance
filtering.
Additionally, the actual contents of the shift register can be monitored during the message
transfer. Each time a read Message Object is initiated by writing the
Busy
bit of the IF2
Command Request Register to
one
, the contents of the shift register is stored into the IF2
Registers.
In Basic Mode the evaluation of all Message Object related control and status bits and of the
control bits of the IFx Command Mask Registers is turned off. The message number of the
Command request registers is not evaluated. The
NewDat
and
MsgLst
bits of the IF2
Message Control Register retain their function,
DLC(3:0)
will show the received
DLC
, the
other control bits will be read as
zero
.
In Basic Mode the ready output
CAN_WAIT_B
is disabled (always
one
).
21.7.9
Software control of pin CAN_TxD
Four output functions are available for the CAN transmit pin
CAN_TxD
. Additionally to its
default function – the serial data output – it can drive the CAN Sample Point signal to
monitor CAN Core’s bit timing and it can drive constant dominant or recessive values. The
last two functions, combined with the readable CAN receive pin
CAN_RxD
, can be used to
check the CAN bus’ physical layer.
The output mode of pin
CAN_TxD
is selected by programming the Test Register bits
Tx1
and
Tx0
as described in
Section : Test register on page 428
The three test functions for pin
CAN_TxD
interfere with all CAN protocol functions.
CAN_TxD
must be left in its default function when CAN message transfer or any of the test
modes Loop Back Mode, Silent Mode, or Basic Mode are selected.
21.8 Programmer’s
model
Each C-CAN module allocates an address space of 256 bytes. The registers are organized
as 16-bit registers, with the high byte at the odd address and the low byte at the even
address.