2000 Jan 04 7
Philips Semiconductors Product specification
Stand-alone CAN controller SJA1000
6 FUNCTIONAL DESCRIPTION
6.1 Description of the CAN controller blocks
6.1.1 INTERFACE MANAGEMENT LOGIC (IML)
The interface management logic interprets commands
from the CPU, controls addressing of the CAN registers
and provides interrupts and status information to the host
microcontroller.
6.1.2 TRANSMIT BUFFER (TXB)
The transmit buffer is an interface between the CPU and
the Bit Stream Processor (BSP) that is able to store a
complete message for transmission over the CAN
network. The buffer is 13 bytes long, written to by the CPU
and read out by the BSP.
6.1.3 RECEIVE BUFFER (RXB, RXFIFO)
The receive buffer is an interface between the acceptance
filter and the CPU that stores the received and accepted
messages from the CAN-bus line. The Receive Buffer
(RXB) representsa CPU-accessible 13-byte window of the
Receive FIFO (RXFIFO), which has a total length of
64 bytes.
With the help of this FIFO the CPU is able to process one
message while other messages are being received.
6.1.4 ACCEPTANCE FILTER (ACF)
The acceptance filter compares the received identifier with
the acceptance filter register contents and decides
whether this message should be accepted or not. In the
event of a positive acceptance test, the complete message
is stored in the RXFIFO.
6.1.5 BIT STREAM PROCESSOR (BSP)
The bit stream processor is a sequencer which controls the
data stream between the transmit buffer, RXFIFO and the
CAN-bus. It also performs the error detection, arbitration,
stuffing and error handling on the CAN-bus.
6.1.6 BIT TIMING LOGIC (BTL)
The bit timing logic monitors the serial CAN-bus line and
handles the bus line-related bit timing. It is synchronized to
the bit stream on the CAN-bus on a
‘recessive-to-dominant’ bus line transition at the beginning
of a message (hard synchronization) and re-synchronized
on further transitions during the reception of a message
(soft synchronization). The BTL also provides
programmable time segments to compensate for the
propagation delay times and phase shifts (e.g. due to
oscillator drifts) and to define the sample point and the
number of samples to be taken within a bit time.
6.1.7 ERROR MANAGEMENT LOGIC (EML)
The EML is responsible for the error confinement of the
transfer-layer modules. It receives error announcements
from the BSP and then informs the BSP and IML about
error statistics.
6.2 Detailed description of the CAN controller
The SJA1000 is designed to be software and
pin-compatible to its predecessor, the PCA82C200
stand-alone CAN controller. Additionally, a lot of new
functions are implemented. To achieve the software
compatibility, two different modes of operation are
implemented:
BasicCAN mode; PCA82C200 compatible
PeliCAN mode; extended features.
The mode of operation is selected with the CAN-mode bit
located within the clock divider register. Default mode
upon reset is the BasicCAN mode.
6.2.1 PCA82C200 COMPATIBILITY
In BasicCAN mode the SJA1000 emulates all known
registers from the PCA82C200 stand-alone CAN
controller. The characteristics, as described in Sections
6.2.1.1 to 6.2.1.4 are different from the PCA82C200
design with respect to software compatibility.
6.2.1.1 Synchronization mode
The SYNC bit in the control register is removed (CR.6 in
the PCA82C200). Synchronization is only possible by a
recessive-to-dominant transition on the CAN-bus. Writing
to this bit has no effect. To achieve compatibility to existing
application software, a read access to this bit will reflect
the previously written value (flip-flop without effect).
6.2.1.2 Clock divider register
The clock divider register is used to select the CAN mode
of operation (BasicCAN/PeliCAN). Therefore one of the
reserved bits within the PCA82C200 is used. Writing a
value between 0 and 7, as allowed for the PCA82C200,
will enter the BasicCAN mode. The default state is divide
by 12 for Motorola mode and divide by 2 for Intel mode.
An additional function is implemented within another of the
reserved bits. Setting of bit CBP (see Table 49) enables
the internal RX input comparator to be bypassed thereby
reducing the internal delays if an external transceiver
circuit is used.
2000 Jan 04 8
Philips Semiconductors Product specification
Stand-alone CAN controller SJA1000
6.2.1.3 Receive buffer
The dual receive buffer concept of the PCA82C200 is
replaced by the receive FIFO from the PeliCAN controller.
This has no effect to the application software except for the
data overrun probability. Now more than two messages
may be received (up to 64 bytes) until a data overrun
occurs.
6.2.1.4 CAN 2.0B
The SJA1000 is designed to support the full CAN 2.0B
protocol specification, which means that the extended
oscillator tolerance is implemented as well as the
processing of extended frame messages. In BasicCAN
mode it is possible to transmit and receive standard frame
messages only (11-bit identifier). If extended frame
messages (29-bit identifier) are detected on the CAN-bus,
they are tolerated and an acknowledge is given if the
message was correct, but there is no receive interrupt
generated.
6.2.2 DIFFERENCES BETWEEN BASICCAN AND PELICAN
MODE
In the PeliCAN mode the SJA1000 appears with a
re-organized register mapping with a lot of new features.
All known bits from the PCA82C200 design are available
as well as several new ones. In the PeliCAN mode the
complete CAN 2.0B functionality is supported (29-bit
identifier).
Main new features of the SJA1000 are:
Reception and transmission of standard and extended
frame format messages
Receive FIFO (64-byte)
Single/dual acceptance filter with mask and code
register for standard and extended frame
Error counters with read/write access
Programmable error warning limit
Last error code register
Error interrupt for each CAN-bus error
Arbitration lost interrupt with detailed bit position
Single-shot transmission (no re-transmission on error or
arbitration lost)
Listen only mode (monitoring of the CAN-bus, no
acknowledge, no error flags)
Hot plugging supported (disturbance-free software
driven bit rate detection)
Disable CLKOUT by hardware.
6.3 BasicCAN mode
6.3.1 BASICCAN ADDRESS LAYOUT
The SJA1000 appears to a microcontroller as a
memory-mapped I/O device. An independent operation of
both devices is guaranteed by a RAM-like implementation
of the on-chip registers.
The address area of the SJA1000 consists of the control
segment and the message buffers. The control segment is
programmed during an initialization download in order to
configure communication parameters (e.g. bit timing).
Communication over the CAN-bus is also controlled via
this segment by the microcontroller. During initialization
the CLKOUT signal may be programmed to a value
determined by the microcontroller.
A message, which should be transmitted, has to be written
to the transmit buffer. After a successful reception the
microcontroller may read the received message from the
receive buffer and then release it for further use.
The exchange of status, control and command signals
between the microcontroller and the SJA1000 is
performed in the control segment. The layout of this
segment is shown in Table 3. After an initial download, the
contents of the registers acceptance code, acceptance
mask, bus timing registers 0 and 1 and output control
should not be changed. Therefore these registers may
only be accessed when the reset request bit in the control
register is set HIGH.
For register access, two different modes have to be
distinguished:
Reset mode
Operating mode.
The reset mode (see Table 3, control register, bit Reset
Request) is entered automatically after a hardware reset
or when the controller enters the bus-off state (see
Table 5, status register, bit Bus Status). The operating
mode is activated by resetting of the reset request bit in the
control register.
2000 Jan 04 9
Philips Semiconductors Product specification
Stand-alone CAN controller SJA1000
Table 1 BasicCAN address allocation; note 1
Notes
1. It should be noted that the registers are repeated within higher CAN address areas (the most significant bits of the
8-bit CPU address are not decoded: CAN address 32 continues with CAN address 0 and so on).
2. Test register is used for production testing only. Using this register during normal operation may result in undesired
behaviour of the device.
3. Some bits are writeable in reset mode only (CAN mode and CBP).
CAN
ADDRESS
SEGMENT
OPERATING MODE RESET MODE
READ WRITE READ WRITE
0 control control control control control
1 (FFH) command (FFH) command
2 status status
3 interrupt interrupt
4 (FFH) acceptance code acceptance code
5 (FFH) acceptance mask acceptance mask
6 (FFH) bus timing 0 bus timing 0
7 (FFH) bus timing 1 bus timing 1
8 (FFH) output control output control
9 test test; note 2 test test; note 2
10 transmit
buffer
identifier (10 to 3) identifier (10 to 3) (FFH)
11 identifier (2 to 0),
RTR and DLC
identifier (2 to 0),
RTR and DLC
(FFH)
12 data byte 1 data byte 1 (FFH)
13 data byte 2 data byte 2 (FFH)
14 data byte 3 data byte 3 (FFH)
15 data byte 4 data byte 4 (FFH)
16 data byte 5 data byte 5 (FFH)
17 data byte 6 data byte 6 (FFH)
18 data byte 7 data byte 7 (FFH)
19 data byte 8 data byte 8 (FFH)
20 receive
buffer
identifier (10 to 3) identifier (10 to 3) identifier (10 to 3) identifier (10 to 3)
21 identifier (2 to 0),
RTR and DLC
identifier (2 to 0),
RTR and DLC
identifier (2 to 0),
RTR and DLC
identifier (2 to 0),
RTR and DLC
22 data byte 1 data byte 1 data byte 1 data byte 1
23 data byte 2 data byte 2 data byte 2 data byte 2
24 data byte 3 data byte 3 data byte 3 data byte 3
25 data byte 4 data byte 4 data byte 4 data byte 4
26 data byte 5 data byte 5 data byte 5 data byte 5
27 data byte 6 data byte 6 data byte 6 data byte 6
28 data byte 7 data byte 7 data byte 7 data byte 7
29 data byte 8 data byte 8 data byte 8 data byte 8
30 (FFH) (FFH)
31 clock divider clock divider; note 3 clock divider clock divider

SJA1000T/N1,118

Mfr. #:
Manufacturer:
NXP Semiconductors
Description:
CAN Interface IC STAND ALONE CAN
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet