Philips Semiconductors Preliminary specification
XA-C3
XA 16-bit microcontroller family
32K/1024 OTP CAN transport layer controller
1 UART, 1 SPI Port, CAN 2.0B, 32 CAN ID filters, transport layer co-processor
2000 Jan 25
51
MERIF Message Error Interrupt Flag (cleared by writing
‘1’)
RBFIF Rx Buffer Full Interrupt Flag (cleared by writing
‘1’)
TMCIF Transmit Message Complete Interrupt Flag
(should be cleared using the 2–step process
described in the section entitled
Rx and Tx
Message Complete Interrupts
on page 47).
RMCIF Receive Message Complete Interrupt Flag
(should be cleared using the 2–step process
described in the section entitled
Rx and Tx
Message Complete Interrupts
on page 47
FESTR (Frame Error Status Register)
D Address: MMR base + 22Ch
D Access: Read, byte or word
D Reset Value: 00h
FESTR
7 6 5 4 3 2 1 0
PBO ARBLST BERR BOFF ERRW ERRP
PBO Frame Error sub–type is Pre–Buffer Overflow
(cleared by writing ‘1’)
ARBLST Frame Error sub–type is Arbitration Lost
(cleared by reading the ALCR register)
BERR Frame Error sub–type is Bus Error (cleared by
reading the ECCR register)
BOFF Frame Error sub–type is Bus Off (cleared by
writing ‘1’)
ERRW Frame Error sub–type is Error Warning (cleared
by writing ‘1’)
ERRP Frame Error sub–type is Error Passive (cleared
by writing ‘1’)
FEENR (Frame Error Enable Register)
D Address: MMR base + 22Eh
D Access: Read, byte or word
D Reset Value: 00h
FEENR
7 6 5 4 3 2 1 0
PBOE ARBLSTE BERRE BOFFE ERRWE ERRPE
PBOE Pre–Buffer Overflow Enable (0 = disabled, 1 =
enabled)
ARBLSTE Arbitration Lost Enable (0 = disabled, 1 =
enabled)
BERRE Bus Error Enable (0 = disabled, 1 = enabled)
BOFFE Bus Off Enable (0 = disabled, 1 = enabled)
ERRWE Error Warning Enable (0 = disabled, 1 =
enabled)
ERRPE Error Passive Enable (0 = disabled, 1 =
enabled)
MCIR (Message Complete Info Register)
D Address: MMR base + 229h
D Access: Read, byte or word
D Reset Value: 00h
MCIR
7 6 5 4 3 2 1 0
1 or More Object Number
1orMore 0 = No objects whose INT_EN bits are set
currently have a message complete condition. 1
= One or more objects whose INT_EN bits are
set currently have a message complete
condition.
Object Number These 5 bits encode the lowest object number
(0 – 31) of all objects whose INT_EN bits are
set AND who currently have a message
complete condition. If there are no such objects
(1orMore = 0), these bits will be 00000b.
MEIR (Message Error Info Register)
D Address: MMR base + 22Ah
D Access: Read, byte or word
D Reset Value: 00h
MEIR
7 6 5 4 3 2 1 0
TBU FRAG RBF Object Number
[TBU FRAG RBF] 001 = Most recent is Rx Buffer Full interrupt.
010 = Most recent is Fragmentation Error
interrupt.
100 = Most recent is Tx Buffer Underflow
interrupt.
Object Number These 5 bits encode the object number (0 – 31)
of the Message Object experiencing the most
recent Message Error (Tx Buffer Underflow,
Fragmentation Error, or Rx Buffer Full)
condition. If more than one object are
encountering Message Errors, only the most
recent object number will be available.
MCPLH (Message Complete Status Flags High)
D Address: MMR base + 226h
D Access: Read/Clear, byte or word
D Reset Value: 0000h
Philips Semiconductors Preliminary specification
XA-C3
XA 16-bit microcontroller family
32K/1024 OTP CAN transport layer controller
1 UART, 1 SPI Port, CAN 2.0B, 32 CAN ID filters, transport layer co-processor
2000 Jan 25
52
MCPLH
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Obj31 Obj30 Obj29 Obj28 Obj27 Obj26 Obj25 Obj24 Obj23 Obj22 Obj21 Obj20 Obj19 Obj18 Obj17 Obj16
MCPLL (Message Complete Status Flags Low)
D Address: MMR base + 224h
D Access: Read/Clear, byte or word
D Reset Value: 0000h
MCPLL
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Obj15 Obj14 Obj13 Obj12 Obj11 Obj10 Obj9 Obj8 Obj7 Obj6 Obj5 Obj4 Obj3 Obj2 Obj1 Obj0
TxERC (Tx Error Counter)
D Address: MMR base + 274h
D Access: Read, write, R/M/W, byte or word
D Reset Value: 00h
TXERC
7 6 5 4 3 2 1 0
TC
7
TC
6
TC
5
TC
4
TC
3
TC
2
TC
1
TC
0
The Tx Error Counter can only be written to when the CAN Core is
in Reset mode. Hardware will preset the register to 128 when a
Bus–Off condition occurs. See the section entitled
Bus Off
on page
50 for details.
RxERC (Rx Error Counter)
D Address: MMR base + 275h
D Access: Read, write, R/M/W, byte or word
D Reset Value: 00h
RXERC
7 6 5 4 3 2 1 0
RC
7
RC
6
RC
5
RC
4
RC
3
RC
2
RC
1
RC
0
The Rx Error Counter can only be written to when the CAN Core is
in Reset mode. When a Bus–Off condition occurs, this register is
cleared to 00h.
EWLR (Error Warning Limit Register)
D Address: MMR base + 276h
D Access: Read, write, R/M/W, byte or word
D Reset Value: 96h
EWLR
7 6 5 4 3 2 1 0
EWL
7
EWL
6
EWL
5
EWL
4
EWL
3
EWL
2
EWL
1
EWL
0
ECCR (Error Code Capture Register)
D Address: MMR base + 278h
D Access: Read, write, R/M/W, byte or word
D Reset Value: 00h
ECCR
7 6 5 4 3 2 1 0
EC1 EC0 State
The Error Code Capture Register contains detailed information
about the most recent Bus Error. See Table 25 for details. The
register must be read in order to be re–enabled for capturing the
next error code, as well as to clear the BERR status flag. This
register should be read before enabling the Bus Error interrupt.
ALCR (Arbitration Lost Capture Register)
D Address: MMR base + 27Ah
D Access: Read, write, R/M/W, byte or word
D Reset Value: 00h
ALCR
7 6 5 4 3 2 1 0
Bit Number
The ALCR latches the bit number in the CAN Identifier where the
most recent Arbitration Lost occurred. See Table 26 for details. The
register must be read in order to be reenabled for capturing the next
arbitration lost code, as well as to clear the ARBLST status flag.
This register should be read before enabling the Arbitration Lost
interrupt.
Philips Semiconductors Preliminary specification
XA-C3
XA 16-bit microcontroller family
32K/1024 OTP CAN transport layer controller
1 UART, 1 SPI Port, CAN 2.0B, 32 CAN ID filters, transport layer co-processor
2000 Jan 25
53
CAN Interrupt SFRs
As with all XA Event interrupts, the five CAN interrupts can be
independently enabled, disabled, and prioritized using the interrupt
control SFRs in the XA Core (see IEH, IEL, and IPA0 – IPA7 in Table
26 on page 50 and see Table 16 on page 26). Bit positions are given
below in .
Table 27. SFR Interrupt Enable/Priority Bit Positions
NOTE: ALSO SEE TABLE 25 ON PAGE 49
SFR
Name
SFR
Address
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
IEH 427 EMRI EMTI EMER ECER ESPI unused ETI0 ERI0
IEL 426 EA unused EBUFF ET2 ET1 EX1 ET0 EX0
IPA0 4A0 PT0 PX0
IPA1 4A1 PT1 PX1
IPA2 4A2 PBUFF PT2
IPA4 4A4 PTI0 PRI0
IPA5 4A5 PSPI unused
IPA6 4A6 PMER PCER
IPA7 4A7 PMRI PMTI
EMRI Rx Message Complete interrupt
enable.
EMTI Tx Message Complete interrupt
enable.
EMER Message Error interrupt enable.
ECER Frame Error interrupt enable.
ESPI SPI Port Interrupt enable.
ETI0, ERI0 XA-C3 Serial Port 0 interrupt
enable bits.
EBUFF Rx Buffer Full interrupt enable.
EA, ET2, ET1, EX1, ET0, EX0 XA-C3 Enable All, Timer, and
External interrupt enable bits.
PX0, PT0, PX1, PT1, PT2 XA-C3 External and Timer
interrupt priority fields.
PBUFF Rx Buffer Full interrupt priority
field.
PRI0, PTI0 XA-C3 Serial Port 0 interrupt
priority fields.
PSPI SPI Port interrupt priority field.
PMRI Rx Message Complete interrupt
priority field.
PMTI Tx Message Complete interrupt
priority field.
PMER Message Error interrupt priority
field.
PCER Frame Error interrupt priority field.
POWER–DOWN AND IDLE MODE
Background: XA Power–Down and Idle modes
Power–Down mode on the XA means that the main oscillator is
clamped–off and there is no chip activity of any kind. I
dd
in this mode
is on the order of a few tens of microamps. Wake–up from
power–down is accomplished via a system reset or a transition on
the External Interrupt 0 or 1 pins. The wake–up period is 10,000
oscillator clocks (enough for several CAN frames to be transmitted).
Idle mode on the XA means that the clocks are running but are
gated–off to the processor core. Most peripherals are active, but
some may be put to sleep along with the core. Wake–up from Idle
mode is instantaneous, and is initiated via any interrupt. I
dd
in Idle
mode is in the range of 25–30 mA @ 32 MHz if the CAN/CTL
module is deactivated, perhaps 54–80 mA @ 32 MHz if the CAN is
left active. Note that putting the XA core, by itself, into Idle mode
reduces power consumption by approximately 30 mA @ 32MHz.
XA-C3 Idle Mode
The default condition for the CTL/CAN module will be to stay awake
in Idle mode, so that the core can “sleep” while CAN
transmissions/receptions are in progress. Any interrupt (e.g.,
Message Complete) will wake up the core. An option will be
provided to include the CAN/CTL module in Idle mode. This option
will be selected in software by writing to the SLPEN bit in MMR
CANCMR[3]. If the CAN
does
go to sleep in Idle mode, then any
transition on the CAN RxD input pin will be asynchronously latched
and will immediately re–enable the clocks to the CAN/CTL module
so that it can begin receiving the incoming frame. There will
not
be
any interrupt generated, however, and the processor core will
remain in idle mode. The CPU will only come out of Idle mode once
a complete message is received and stored and a
Message–Complete interrupt is generated (unless, of course, some
other system interrupt wakes it up prior to that). The CCB will
generate a “ccb_idle_n” signal which will be routed to all of the other
CAN/CTL blocks (including the CMI) at the top level.
XA-C3 Power–Down Mode
If a transition of the CAN RxD input occurs when the XA-C3 is in
Power–Down mode, the CPU will enter Idle mode (after a 9892
clock delay), and the CCB and Message Handler circuits will be
activated to receive and process the incoming frame. When either of
these blocks generates an interrupt (or some other enabled interrupt
occurs), only then will the CPU come out of Idle mode and begin
executing code. Code execution will resume either in the interrupt
service routine, if its priority is higher than current code, or with the
next instruction following the Power–Down instruction. At this time
the termination of the Power–Down mode is actually complete.
CAN Sleep Enable
Certain conditions must be met before the CAN/CTL module can be
safely put to sleep (Idle or Power–Down). Essentially, there must be
no CAN activity in progress and no interrupts pending. The CCB
must generate a “sleepok” signal (SLPOK=CANSTR[2]) which
indicates that these conditions are met. This signal must be used to
enable the “ccb_idle_n” signal. In addition, the “sleepok” signal

PXAC37KFBD/00,157

Mfr. #:
Manufacturer:
NXP Semiconductors
Description:
Microcontrollers - MCU 8-bit Microcontrollers - MCU 16B MCU 32K/1024 1 UART
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet