English
Language : 

PIC18F258 Datasheet, PDF (224/384 Pages) Microchip Technology – High Performance, 28/40-Pin Enhanced FLASH Microcontrollers with CAN
PIC18FXX8
19.3 CAN Modes of Operation
The PIC18FXX8 has six main modes of operation:
• Configuration mode
• Disable mode
• Normal Operation mode
• Listen Only mode
• Loopback mode
• Error Recognition mode
All modes except Error Recognition are requested by
setting the REQOP bits (CANCON<7:5>); Error Recog-
nition is requested through the RXM bits of the Receive
Buffer register(s). Entry into a mode is acknowledged
by monitoring the OPMODE bits.
When changing modes, the mode will not actually
change until all pending message transmissions are
complete. Because of this, the user must verify that the
device has actually changed into the requested mode
before further operations are executed.
19.3.1 CONFIGURATION MODE
The CAN module has to be initialized before the activa-
tion. This is only possible if the module is in the Config-
uration mode. The Configuration mode is requested by
setting REQOP2 bit. Only when the status bit
OPMODE2 has a high level, can the initialization be
performed. Afterwards, the configuration registers, the
acceptance mask registers, and the acceptance filter
registers can be written. The module is activated by
setting the REQOP control bits to zero.
The module will protect the user from accidentally vio-
lating the CAN protocol through programming errors.
All registers which control the configuration of the mod-
ule can not be modified while the module is on-line.
The CAN module will not be allowed to enter the Con-
figuration mode while a transmission is taking place.
The CONFIG bit serves as a lock to protect the
following registers.
• Configuration registers
• Bus Timing registers
• Identifier Acceptance Filter registers
• Identifier Acceptance Mask registers
In the Configuration mode, the module will not transmit
or receive. The error counters are cleared and the inter-
rupt flags remain unchanged. The programmer will
have access to configuration registers that are access
restricted in other modes.
19.3.2 DISABLE MODE
In Disable mode, the module will not transmit or
receive. The module has the ability to set the WAKIF bit
due to bus activity, however, any pending interrupts will
remain and the error counters will retain their value.
If REQOP<2:0> is set to ‘001’, the module will enter the
Module Disable mode. This mode is similar to disabling
other peripheral modules by turning off the module
enables. This causes the module internal clock to stop
unless the module is active (i.e., receiving or transmit-
ting a message). If the module is active, the module will
wait for 11 recessive bits on the CAN bus, detect that
condition as an idle bus, then accept the module
disable command. OPMODE<2:0> = ‘001’ indicates
whether the module successfully went into Module
Disable mode.
The WAKIF interrupt is the only module interrupt that is
still active in the Module Disable mode. If the WAKIE is
set, the processor will receive an interrupt whenever
the CAN bus detects a dominant state, as occurs with
a SOF.
The I/O pins will revert to normal I/O function when the
module is in the Module Disable mode.
19.3.3 NORMAL MODE
This is the standard operating mode of the PIC18FXX8.
In this mode, the device actively monitors all bus mes-
sages and generates Acknowledge bits, error frames,
etc. This is also the only mode in which the PIC18FXX8
will transmit messages over the CAN bus.
19.3.4 LISTEN ONLY MODE
Listen Only mode provides a means for the
PIC18FXX8 to receive all messages, including mes-
sages with errors. This mode can be used for bus mon-
itor applications, or for detecting the baud rate in ‘hot
plugging’ situations. For auto-baud detection, it is nec-
essary that there are at least two other nodes which are
communicating with each other. The baud rate can be
detected empirically by testing different values until
valid messages are received. The Listen Only mode is
a silent mode, meaning no messages will be transmit-
ted while in this state, including error flags or Acknowl-
edge signals. The filters and masks can be used to
allow only particular messages to be loaded into the
receive registers, or the filter masks can be set to all
zeros to allow a message with any identifier to pass.
The error counters are reset and deactivated in this
state. The Listen Only mode is activated by setting the
mode request bits in the CANCON register.
DS41159B-page 222
Preliminary
 2002 Microchip Technology Inc.