1996 Jun 27 61
Philips Semiconductors Product specification
8-bit microcontroller with on-chip CAN P8xC592
13.6.8.3 CRC Error
To ensure the validity of a transmitted message all
receivers perform a CRC check. Therefore, in addition to
the (destuffed) information digits (Start-Of-Frame up to
Data Field), every message includes some control digits
(CRC Sequence; generated by the transmitting
CAN-controller of the respective message) used for error
detection.
The code used by all CAN-controllers is a (shortened)
BCH code, extended by a parity check and has the
following attributes:
127 bits as maximum length of the code.
112 bits as maximum number of information digits
(max. 83 bits are used by the CAN-controller).
Length of the CRC Sequence amounts to 15 bits.
Hamming distance d = 6.
As a result, ‘(d1)’ random errors are detectable (some
exceptions exist).
The CRC Sequence is determined (calculated) by the
following procedure:
1. The destuffed bit stream consisting of Start-Of-Frame
up to the Data Field (if present) is interpreted as
polynomial with coefficients 0 or 1.
2. This polynomial is divided (modulo-2) by the following
generator polynomial, which includes a parity check:
(x + 1) = 1100010110011001 B.
3. The remainder of this polynomial division is the
CRC Sequence.
Burst errors are detected up to a length of 15
[degree of f(x)]. Multiple errors (number of disturbed bits at
least d = 6) are not detected with a residual error
probability of by CRC check only.
13.6.8.4 Form Error
Form Errors result from violations of the fixed form of the
following bit fields:
CRC Delimiter
Acknowledge Delimiter
End-Of-Frame
Error Delimiter
Overload Delimiter.
During the transmission of these bit fields an error
condition is recognized if a dominant bit level instead of a
recessive one is detected.
fx() x
14
x
9
x
8
x
6
x
5
x
4
x
2
x1++++++++()=
2
15
310
5
×()
13.6.8.5 Acknowledgement Error
This is detected by a transmitter whenever it does not
monitor a dominant bit during the Acknowledge Slot.
13.6.8.6 Error detection by an Error Flag from
another CAN-controller
The detection of an error is signalled by transmitting an
Error Flag. An Active Error Flag causes a Stuff Error, a Bit
Error or a Form Error at all other CAN-controllers.
13.6.8.7 Error Detection Capabilities
Errors which occur at all CAN-controllers (global errors)
are 100% detected. For local errors, i.e. for errors
occurring at some CAN-controllers only, the shortened
BCH code, extended by a parity check, has the following
error detection capabilities:
Up to five single Bit Errors are 100% detected, even if
they are distributed randomly within the code.
All single Bit Errors are detected if their total number
(within the code) is odd.
The residual error probability of the CRC check amounts
to (3 × 10
5
). As an error may be detected not only by
CRC check but also by other detection processes
described above the residual error probability is several
magnitudes less than (3 × 10
5
).
13.6.9 E
RROR CONFINEMENT DEFINITIONS
13.6.9.1 Bus-OFF
A CAN-controller which has too many unsuccessful
transmissions, relative to the number of successful
transmissions, will enter the Bus-OFF state. It remains in
this state, neither receiving nor transmitting messages
until the Reset Request bit is set LOW (absent) and both
Error Counters set to 0 (see Section 13.6.10).
13.6.9.2 Acknowledge
A CAN-controller which has received a valid message
correctly, indicates this to the transmitter by transmitting a
dominant bit level on the bus during the Acknowledge Slot,
independent of accepting or rejecting the message.
13.6.9.3 Error-Active
An error-active CAN-controller in its normal operating state
is able to receive and to transmit normally and also to
transmit an Active Error Flag (see Section 13.6.10).
1996 Jun 27 62
Philips Semiconductors Product specification
8-bit microcontroller with on-chip CAN P8xC592
13.6.9.4 Error-Passive
An error-passive CAN-controller may transmit or receive
messages normally. In the case of a detected error
condition it transmits a Passive Error Flag instead of an
Active Error Flag. Hence the influence on bus activities by
an error-active CAN-controller (e.g. due to a malfunction)
is reduced.
13.6.9.5 Suspend Transmission
After an error-passive CAN-controller has transmitted a
message, it sends eight recessive bits after the
Intermission Field and then checks for Bus-Idle. If during
Suspend Transmission another CAN-controller starts
transmitting a message the suspended CAN-controller will
become the receiver of this message; otherwise being in
Bus-Idle it may start to transmit a further message.
13.6.9.6 Start-Up
A CAN-controller which either was switched off or in the
Bus-OFF state, must run a Start-Up routine in order to:
Synchronize with other available CAN-controllers before
starting to transmit. Synchronization is achieved, when
11 recessive bits, equivalent to Acknowledge Delimiter,
End-Of-Frame and Intermission Field, have been
detected (Bus-Free).
Wait for other CAN-controllers without passing into the
Bus-OFF state (due to a missing acknowledge), if there
is no other CAN-controller currently available.
13.6.10 A
IMS OF ERROR CONFINEMENT
13.6.10.1 Distinction of short and long disturbances
The CPU must be informed when there are long
disturbances and when bus activities have returned to
normal operation. During long disturbances, a
CAN-controller enters the Bus-OFF state and the CPU
may use default values.
Minor disturbances of bus activities will not effect a
CAN-controller. In particular, a CAN-controller does not
enter the Bus-OFF state or inform the CPU of a short bus
disturbance.
13.6.10.2 Detection and localization of hardware
disturbances and defects
The rules for error confinement are defined by the
CAN-protocol specification (and implemented in the
P8xC592's on-chip CAN-controller), in such a way that the
CAN-controller, being nearest to the error-locus, reacts
with a high probability the quickest (i.e. becomes
error-passive or Bus-OFF). Hence errors can be localized
and their influence on normal bus activities is minimized.
13.6.10.3 Error Confinement
All CAN-controllers contain a Transmit Error Counter and
a Receive Error Counter, which registers errors during the
transmission and the reception of messages, respectively.
If a message is transmitted or received correctly, the count
is decreased. In the event of an error, the count is
increased. The Error Counters have an non-proportional
method of counting: an error causes a larger counter
increase than a correctly transmitted/received message
causes the count to decrease. Over a period of time this
may result in an increase in error counts, even if there are
fewer corrupted messages than uncorrupted ones. The
level of the Error Counters reflect the relative frequency of
disturbances. The ratio of increase/decrease depends on
the acceptable ratio of invalid/valid messages on the bus
and is hardware implemented to eight.
If one of the Error Counters exceeds the Warning Limit of
96 error points, indicating a significant accumulation of
error conditions, this is signalled by the CAN-controller
(Error Status, Error Interrupt).
A CAN-controller operates in the error-active mode until it
exceeds 127 error points on one of its Error Counters. At
this value it will enter the error-passive state. A transmit
error which exceeds 255 error points results in the
CAN-controller entering the Bus-OFF state.
1996 Jun 27 63
Philips Semiconductors Product specification
8-bit microcontroller with on-chip CAN P8xC592
14 INTERRUPT SYSTEM
External events and the real-time-driven on-chip
peripherals require service by the CPU asynchronous to
the execution of any particular section of code. To tie the
asynchronous activities of these functions to normal
program execution a multiple-source, two-priority-level,
nested interrupt system is provided. Interrupt response
latency is from 2.25 µsto7.5µs when using a 16 MHz
crystal. The latency time strongly depends on the
sequence of instructions executed directly after an
interrupt request. During a CAN-DMA transfer the interrupt
system is disabled (see Section 13.5.17). The P8xC592
acknowledges interrupt requests from fifteen sources as
follows:
INT0 and INT1: externally via pins 27 and 28
respectively
Timer 0 and Timer 1: from the two internal counters
If the capture function remains unused and the
Capture Register contents are ‘don't care’ then the
corresponding input pins ‘CTnI’, with ‘n = 0 ... 3’, may
be used as positive and/or negative edge triggered
external interrupts INT2 to INT5. But note that they
can not terminate the Idle mode because the Timer 2
is switched off then
Timer T2, 8 separate interrupts:
4 capture interrupts
3 compare interrupts
an overflow interrupt
ADC end-of-conversion interrupt
CAN-controller interrupt
UART serial I/O port interrupt.
Each interrupt vectors to a separate location in Program
Memory for its service program. Each source can be
individually enabled or disabled by a corresponding bit in
the IEN0 or IEN1 register, moreover each interrupt may be
programmed to a HIGH or LOW priority level using a
corresponding bit in the IP0 or IP1 register. Also all
enabled sources can be globally disabled or enabled. Both
external interrupts can be programmed to be
level-activated or transition-activated, and an active LOW
level allows ‘wire-ORing’ of several interrupt sources to the
input pin.

P80C592FFA/00,512

Mfr. #:
Manufacturer:
NXP Semiconductors
Description:
IC MCU 8BIT ROMLESS 68PLCC
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet