Bosch CC 750
Bosch CC 750
Bosch CC 750
Target Specification
Rev. 1.2
CC750
(SPI-CAN)
Target Specification
Revision 1.2
K8/EIS - Klose-2969
spec_cover_inter.fm
16.08.00
061.0/2.5 - 26.11.97
BOSCH
- 1/58 -
16.08.00
spec_cover_inter.fm
CC750
Target Specification
Rev. 1.2
Disclaimer
ROBERT BOSCH GMBH, MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
061.0/2.5 - 26.11.97
K8/EIS - Klose-2969
spec_cover_inter.fm
BOSCH
- 2/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 General Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Functional Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 CAN Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Intelligent Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 CPU Interface Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2. Package Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3. Product Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1 Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Hardware Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Reset values of CC750 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.2 Reset values of CC750 output pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Software Initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 Configuration of Bit Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5 Silent Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6 Low Current Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4. Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1 CC750 Address Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2 Control Register (00H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3 Status Register (01H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3.1 Status Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4 CPU Interface Register (02H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5 Clocking Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
spec_interTOC.fm
- 3/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
5. FLOW DIAGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.1 CC750 handling of Message Objects 1-14 (Transmit) . . . . . . . . . . . . . . . . . . . . 44
5.2 CC750 handling of Message Objects 1-14 (Receive) . . . . . . . . . . . . . . . . . . . . . 45
5.3 CPU Handling of Message Objects 1-14 (Transmit) . . . . . . . . . . . . . . . . . . . . . 46
5.4 CPU Handling of Message Objects 1-14 (Receive) . . . . . . . . . . . . . . . . . . . . . . 47
5.5 CPU Handling of Message Object 15 (Receive)
. . . . . . . . . . . . . . . . . . . . . . . . 48
7. Electrical Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.1 Handling Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
spec_interTOC.fm
7.3 DC-Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.4 A.C. Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.5 Waveforms for testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8. Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.1 Documentation of Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.1.1 Changes on Revisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.1.1.1 Revision 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.1.1.2 Revision 1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.1.2 Others . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
BOSCH
- 4/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
1. Introduction
1.1 General Data
Device Name
CC750
Package
SOIC16-W
Device Number
1st Application
1.2 Features
Supports CAN Protocol Version 2.0 A, B
Standard Data and Remote Frames
Extended Data and Remote Frames
Programmable Global Mask
Standard Message Identifier
Extended Message Identifier
15 Message Objects of 8-byte Data Length
14 Tx/Rx Buffers
1 Rx Buffer with Shadow Buffer and Programmable Mask
Programmable Bit Rate
Flexible Interrupt Structure
Flexible Status Interface
SOIC16-W Package
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_general_features.fm
Serial Interface
BOSCH
- 5/58 -
16.08.00
spec_general_features.fm
CC750
Target Specification
Rev. 1.2
The serial communications controller is a highly integrated device that performs serial communication according to the CAN Protocol Version 2.0 A, B. The CAN protocol uses a multimaster (contention based) bus configuration for the transfer of communication objects
between nodes of the network. This multi-master bus is also referred to as CSMA/CR or
Carrier Sense, Multiple Access, with Collision Resolution.
The CC750 performs all serial communication functions such as transmission and reception of messages, message filtering, transmit search, and interrupt search with minimal
interaction from the host microcontroller, or CPU. The CC750 supports the standard and
extended message frames in CAN Specification 2.0 part B. It has the capability to transmit,
receive, and perform message filtering on extended message frames with a 29-bit message
identifier. Due to the backward compatible nature of CAN Specification 2.0, the CC750 also
fully supports the standard message frames in CAN Specification 2.0 part A.
A communication object consists of an identifier along with control data segments. The control segment contains all the information needed to transfer the message. The data segment contains from 0 to 8 bytes in a single message. All communication objects are stored
in the Memory of the corresponding CAN chip for each node. A transmitting node broadcasts its message to all other nodes on the network. An acceptance filter at each node
decides whether to receive that message. A message is accepted only if a communication
object with a matching message identifier has been set up in the CAN Memory for that
node.
CAN not only manages the transmission and reception of messages but also the error handling, without any burden on the CPU.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_general_features.fm
CAN features several error detection mechanisms. These include Cyclical Redundancy
Check (CRC) and bit coding rules (bit stuffing/destuffing). The polynomial of the CRC has
been optimized for control applications with short messages. If a message was corrupted
by noise during transmission, it is not accepted at the receiving nodes. Current transmission status is monitored in the control segment of the appropriate communication object
within the transmitting node, automatically initiating a repeated transmission in the case of
lost arbitration or errors. CAN also has built-in mechanisms to locate error sources and to
distinguish permanent hardware failures from occasional soft errors. Defective nodes are
switched off the bus, implementing a fail-safe behaviour (thus, hardware errors will not let
defective nodes control the bus indefinitely).
The message storage is implemented in an intelligent memory, which can be addressed by
the CAN controller and the CPU. The CPU controls the CAN controller by selectively modifying the various registers and bit fields in the Memory. The content of the various bit fields
are used to perform the functions of acceptance filtering, transmit search, interrupt search
and transfer completion.
In order to initiate a transfer, the transmission request bit has to be written to the message
object. The entire transmission procedure and eventual error handling is then done without
any CPU involvement. If a communication object has been configured to receive messages,
the CPU easily reads its data registers using CPU read instructions. The message object
may be configured to interrupt the CPU after every successful message transmission or
reception.
The CC750 features a serial interface to connect the CPU with less as possible leads. This
minimizes the needed area and facilitate the board layout.
The CC750 provides storage for 15 message objects of 8-byte data length. Each message
object can be configured as either transmit or receive, except for the last message object.
BOSCH
- 6/58 -
16.08.00
CC750
Target Specification
Rev. 1.2
The last message object is a receive only double buffer with a special acceptance mask
designed to allow select groups of different message identifiers to be received.
The CC750 also implements a global acceptance masking feature for message filtering.
This feature allows the user to globally mask any identifier bits of the incoming message.
There are different programmable global mask registers for standard and extended messages.
The CC750 provides an improved set of network management and diagnostic functions
including fault confinement and a built-in monitoring tool. The built-in monitoring tool alerts
the CPU when a global status change occurs. Global status changes include message
transmission and reception, error frames, or sleep mode wake-up. In addition, each message object offers full flexibility in detecting when a data or remote frame has been sent or
received.
The CC750 offers function compatibility with the CC770, Intel 82527 and 82526, with the
following exceptions:
Differences to CC770:
only one SPI mode
no parallel ports
no Clockout pin
only one Tx and one Rx pin
no parallel port and Clockout related registers/flags
no Enable Additional Functions switch (always active)
Receive Error Counter moved from address 06FH to 01FH
Transmit Error Counter moved from address 07FH to 02FH
Differences to Intel 82526/7:
only one SPI mode
spec_general_features.fm
no parallel ports
no Clockout pin
only one Tx and one Rx pin
no analog input comparator and VCC/2 source
no parallel port and Clockout related registers/flags
readability of Receive and Transmit Error Counters added
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
BOSCH
- 7/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
Intelligent
Memory
SPI
CPU
INTERFACE
LOGIC
CAN
CONTROLLER
Rx
Tx
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_general_features.fm
The incoming message first passes through the global mask and is matched to the identifiers in message objects 1-14. If there is no identifier match then the message passes
through the local mask in message object 15. The local mask allows a large number of
infrequent messages to be received by the CC750. Message object 15 is also buffered to
allow the CPU time to service a message received.
BOSCH
- 8/58 -
16.08.00
CC750
Target Specification
Rev. 1.2
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_general_features.fm
The CPU Interface Logic controls the data stream between the SPI (serial data) and the
Memory (parallel data).
BOSCH
- 9/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
2. Package Diagram
VCC
16
XTAL1
VSS
15
XTAL2
n.c.
14
n.c.
CS#
13
RESET#
SPICLK
12
INT#
n.c.
11
n.c.
MISO
10
Rx
MOSI
Tx
CC750
Package:
SOIC16-W
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_package_diagram.fm
BOSCH
- 10/58 -
16.08.00
spec_package_diagram.fm
Target Specification
CC750
Rev. 1.2
3. Product Description
3.1 Pin Description
Pin
Function
VCC
VSS
n.c.
CS#
A low level on this pin enables the CPU to access the CC750.
SPICLK
n.c.
MISO
Master In Slave Out is the data output from the CC750 serial interface.
MOSI
Master Out Slave In is the data input from the CC750 serial interface.
Tx
Rx
10
Input from CAN bus transceiver. During a recessive bit Rx is high, during a dominant bit Rx is low.
n.c.
11
INT#
12
RESET#
13
n.c.
14
XTAL2
15
Push-pull output from the internal oscillator. XTAL2 and XTAL1 are the
crystal connections to an internal oscillator. If an external oscillator is
used, XTAL2 may not be connected. XTAL2 may not be used as a
clock output to drive other CPUs.
XTAL1
16
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_pin_description.fm
Symbol
BOSCH
- 11/58 -
16.08.00
spec_pin_description.fm
Target Specification
CC750
Rev. 1.2
Register
Address
Reset Value
Control Register
00H
01H
Status Register
01H
00H
02H
20H
06+07H
unchanged
08-0BH
unchanged
Message 15 Mask
0C-0FH
unchanged
1FH
00H
2FH
00H
3FH
00H
4FH
00H
Interrupt Register
5FH
00H
FFH
not readable
unchanged
The error management counters and the Bus Off state are reset by a hardware reset.
If a hardware reset occurs at power on, registers defined as unchanged should be interpreted as undefined.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_pin_description.fm
BOSCH
- 12/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
Reset state
Tx
1 (recessive state)
INT#
MISO
spec_pin_description.fm
The Bus Off recovery sequence (see CAN Specification Rev. 2.0) cannot be shortened by
setting or resetting Init. If the device goes Bus Off, it will set Init of its own accord, stopping
all bus activities. Once Init has been cleared by the CPU, the device will then wait for 129
occurrences of Bus Idle (129 * 11 consecutive recessive bits) before resuming normal operations. At the end of the Bus Off recovery sequence, the Error Management Counters will
be reset.
During the waiting time after the resetting of Init, each time a sequence of 11 recessive bits
has been monitored, a Bit0Error code is written to the Status Register, enabling the CPU to
readily check up whether the CAN bus is stuck at dominant or continuously disturbed and to
monitor the proceeding of the Bus Off recovery sequence.
Software initialization does not change configuration register values.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
BOSCH
- 13/58 -
16.08.00
CC750
Target Specification
Rev. 1.2
(application specific)
(application specific)
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_pin_description.fm
Power Down and Sleep Mode should not be entered directly after reset. The user program
must perform a minimum Memory configuration at any time (preferably during the initialization) prior to entering these modes.
BOSCH
- 14/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
4. Functional Description
This section discusses the functional operation of the CC750 by describing the registers
used to configure the chip and Message Objects.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_functional_description.fm
The CC750 allocates an address space of 256 bytes and is selected by activating signal
CS#. All registers are organized as 8-bit registers.
Address
Register
00H
Control
01H
Status
02H
CPU Interface
03H
reserved
04H
reserved
05H
reserved
06+07H
08-0BH
0C-0FH
Message 15 Mask
10-1EH
Message 1
1FH
20-2EH
Message 2
2FH
30-3EH
Message 3
3FH
Bit Timing 0 *
40-4EH
Message 4
4FH
Bit Timing 1 *
50-5EH
Message 5
5FH
Interrupt
60-6EH
Message 6
6FH
reserved
70-7EH
Message 7
BOSCH
- 15/58 -
16.08.00
spec_functional_description.fm
Target Specification
CC750
Address
Register
7FH
reserved
80-8EH
Message 8
8FH
reserved
90-9EH
Message 9
9FH
reserved
A0-AEH
Message 10
AFH
reserved
B0-BEH
Message 11
BFH
reserved
C0-CEH
Message 12
CFH
reserved
D0-DEH
Message 13
DFH
reserved
E0-EEH
Message 14
EFH
reserved
F0-FEH
Message 15
FFH
Rev. 1.2
NOTE:
CPU may write to the Bit Timing Registers only if the CCE bit is "1" (Control Register).
res
CCE
res
Silent
EIE
SIE
IE
Init
rw
rw
rw
rw
rw
rw
rw
The default value of the Control Register after a hardware reset is 01H.
Reserved bits read as "0" and must be written as "0".
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_functional_description.fm
* The
BOSCH
- 16/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
The CPU has write access to the Bit Timing Registers. Additionaly the Init bit
should be set in order to prevent CAN bus errors.
zero
This bit is reset by the CPU to provide protection against unintentional rewriting of critical
registers by the CPU following the initialization sequence.
Silent Silent Mode
one
zero
Normal operation
In Silent Mode, the CC750 is able to receive valid data frames and valid remote frames, but
it sends only recessive bits on the CAN Bus and it cannot start a transmission. For additional Information, see chapter 3.5.
EIE Error Interrupt Enable
one
Error interrupts enabled. A change in the error status of the CC750 will cause
an interrupt to be generated.
zero
Error interrupts are BOff and Warn in the Status Register. Error Interrupt Enable is set by
the CPU to allow the CC750 to interrupt CPU when an abnormal number of CAN bus errors
have been detected.
It is recommended to enable this interrupt during normal operation.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_functional_description.fm
zero
Status Change Interrupts are WakeUp, RxOK, TxOK, and LEC0-2 in the Status Register.
RxOK occurs upon every successful message transmission on the CAN bus, regardless of
whether the message is stored by the CC750.
The LEC bits are very helpful to indicate whether Bit or Form Errors are occurring. In normal operation it is not advised to enable this interrupt for LEC since the CAN protocol was
designed to handle these error conditions in hardware by error frames and the automatic
retransmission of messages. When cumulative LEC occur, the warning and Bus Off flags
will be set. The Error Interrupt should be enabled to detect these conditions.
In most applications, the SIE bit should not be set. Since this interrupt will occur for every
message, the CPU will be unnecessarily burdened. Instead, interrupts should be implemented on a Message Object basis so interrupts occur only for messages that are used by
the CPU.
The SIE bit is set by the CPU.
BOSCH
- 17/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
NOTE:
If the Status Change Interrupts and Message Object receive/transmit interrupts are enabled, there will be two interrupts for each message successfully received or transmitted by a
Message Object.
IE Interrupt Output Enable
one
zero
Interrupt Pin disabled. The CC750 will generate no interrupts although the
Interrupt Register (5FH) will still be updated.
Applies to EIE, SIE, and Message Object Tx/Rx interrupts. For example the Interrupt Register (5FH) contains a value other than zero, indicating the interrupt source (Message Object
or Status), and the IE bit is set to one, an interrupt will be generated. No interrupt will be lost
because of periodic setting or resetting of this bit.
The Interrupt Output Enable bit is set by the CPU.
INIT Initialization
one
zero
spec_functional_description.fm
Init should not be used in normal operation when the CPU is modifying transmit data; the
CPUUpd bit in the Control 1 register from each Message Object is used in this case.
BOff
Warn
WakeUp
RxOK
TxOK
LEC
rw
rw
rw
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
The default value of the Status Register after a hardware reset is 00H.
BOff Bus Off Status
one
zero
The Bus Off condition occurs when the Transmit Error Counter in the CC750 has reached
the limit of 256. In consequence, the CC750 going Bus Off. During Bus Off, no messages
BOSCH
- 18/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
zero
The Warning condition occurs when an error counter in the CC750 has reached the limit of
96. When this bit is set, an interrupt will occur if the EIE and IE bits of the Control Register
(00H) are set.
The Warning Status bit is written by the CC750.
WakeUp Wake Up Status
one
zero
No wake up.
Setting the Sleep bit in CPU Interface register (02H) to "1" will place the CC750 into Sleep
mode. While in Sleep mode, the WakeUp bit is "0". The WakeUp bit will become "1" when
bus activity is detected or when the CPU writes the Sleep bit to "0". The WakeUp bit will
also be set to "1" after the CC750 comes out of Power Down mode.
The WakeUp interrupt is reset by reading the Status Register.
This bit is written by the CC750.
spec_functional_description.fm
Since this bit was last reset to zero by the CPU, a message has been successfully received.
zero
Since this bit was last reset by the CPU, no message has been successfully
received.
This bit is never reset by the CC750. A successfully received message may be any CAN
bus transmission that is error-free, regardless of whether the CC750 has configured a Message Object to receive that particular message identifier.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
The CC750 will set this bit, the CPU may clear it.
TxOK Transmit Message Successfully
one
Since this bit was last reset to zero by the CPU, a message has been successfully transmitted (error free and acknowledged by at least one other node).
zero
Since this bit was last reset by the CPU, no message has been successfully
transmitted. This bit may be cleared by the CPU.
The CC750 will set this bit, but will not clear it.
BOSCH
- 19/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
No error
Stuff Error
More than 5 equal bits in a sequence have occurred in a part of a received
message where this is not allowed.
Form Error
The fixed format part of a received frame has the wrong format.
Bit 1 Error
During the transmission of a message (with the exception of the arbitration
field), the CC750 wanted to send a recessive level (bit of logical value 1), but
the monitored CAN bus value was dominant.
Bit 0 Error
During the transmission of a message (with the exception of the arbitration
field), the CC750 wanted to send a dominant level (bit of logical value 0), but
the monitored CAN bus value was recessive. During Bus Off recovery, this status is set each time a recessive bit is received (indicating the CAN bus is not
stuck dominant).
CRC Error
The CRC checksum was incorrect in the message received. The CRC received
for an incoming message does not match with the CRC value calculated by this
device for the received data.
Unused
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_functional_description.fm
This field contains a code which indicates the type of the first error to occur in a frame on
the CAN bus. If a message has been transferred (reception or transmission) without error,
this field will be cleared to 0.
The code 7 is unused and may be written by the CPU to check for updates.
4.3.1 Status Interrupts
If the SIE bit in the Control Register (00H) is set and the CC750 has updated the Status
Register, the Interrupt Register (5FH) will contain a "1". The Status Register must be read if
a Status Change Interrupt occurs. Reading the Status Register will clear the Status Change
Interrupt.
A Status Change Interrupt will occur on every successful reception or transmission, regardless of the state of the RxOK and TxOK bits. Therefore, if TxOK is set and a subsequent
transmission occurs, an interrupt will occur (if enabled) even though TxOK was previously
equal to one.
There are two ways to implement receive and transmit interrupts. The difference between
these two methods is one relies on the hardwired priority of the Message Objects and the
other is suitable for polling.
BOSCH
- 20/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
The first and preferred method uses the TxIE and RxIE bits in the Control 0 register for each
corresponding Message Object. Whenever a message is transmitted or received by this
Message Object, the corresponding interrupt is serviced in accordance with its priority (if
the IE bit of register 00H is set). This method uses the hardwired priority scheme of the
CC750 which requires minimal CPU intervention.
The second method sets the SIE bit of the Control Register (00H) to "1" which will force an
interrupt whenever successful message transmissions or receptions occur. The TxOK bit
will be set when any of the Message Objects transmits a message. The RxOK bit will be set
on any successfully received message. This may be any CAN bus transmission that is
error-free, regardless of whether the CC750 has configured a Message Object to receive
that particular message identifier. This method allows the user to more easily define the
interrupt priority of each Message Object by polling the Message Objects following an SIE
interrupt.
OscSt
res
DMC
PwD
Sleep
res
res
res
rw
rw
rw
The default value of the CPU Interface Register after hardware reset is 20H.
Reserved bits read as "0".
spec_functional_description.fm
zero
Oscillator is running.
If the CPU sets the PwD or Sleep Bit while a transmission or reception on the CAN Bus is
pending, this data transfer will be resumed before the Oscillator stops working.
The CC750 indicates Power Down or Sleep Mode has been entered by setting this bit.
DMC Divide Memory Clock
one
zero
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
BOSCH
- 21/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
Sleep
Function
spec_functional_description.fm
The maximum MCLK frequency for various oscillator frequencies is shown below:
fXTAL
SCLK
MCLK
DMC bit
4 MHz
2 MHz
2 MHz
8 MHz
4 MHz
4 MHz
10 MHz
5 MHz
5 MHz
12 MHz
6 MHz
6 MHz
16 MHz
8 MHz
8 MHz
20 MHz
10 MHz
5 MHz
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
BOSCH
- 22/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
ID28
ID27
ID26
ID25
ID24
ID23
ID22
ID21
rw
rw
rw
rw
rw
rw
rw
rw
ID20
ID19
ID18
res
rw
rw
rw
The default value of the Global Mask standard after a hardware reset is unchanged.
Reserved bits read as "1".
IDX Identifier bit at position X
one
must-match (incoming bit value must match to the corresponding bit in the Arbitration Register from a Message Object)
zero
The Global Mask Standard register applies only to messages using the standard CAN Identifier and thereby to Message Objects with the Xtd bit set to "0". This feature, also called
message acceptance filtering, allows the user to Globally Mask, or dont care any identifier bits of the incoming message. This mask is programmable to allow the user to develop
an application specific masking strategy.
spec_functional_description.fm
Note:
When a remote frame is sent, an CC750 receiver node will use the Global Mask Registers
to determine whether the remote frame matches to any of its Message Objects. If the
CC750 is programmed to transmit a message in response to a remote frame message
identifier, the CC750 will transmit a message with the message identifier of the CC750 Message Object. The result is the remote message and the responding CC750 transmit message may have different message identifiers because some CC750 Global Mask Register
bits are "dont care".
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
ID28
ID27
ID26
ID25
ID24
ID23
ID22
ID21
rw
rw
rw
rw
rw
rw
rw
rw
BOSCH
- 23/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
ID20
ID19
ID18
ID17
ID16
ID15
ID14
ID13
rw
rw
rw
rw
rw
rw
rw
rw
ID12
ID11
ID10
ID9
ID8
ID7
ID6
ID5
rw
rw
rw
rw
rw
rw
rw
rw
ID4
ID3
ID2
ID1
ID0
res
rw
rw
rw
rw
rw
The default value of the Global Mask extended after a hardware reset is unchanged.
Reserved bits read as "0".
spec_functional_description.fm
must-match (incoming bit value must match to the corresponding bit in the Arbitration Register from a Message Object)
zero
The Global Mask extended register applies only to messages using the extended CAN
identifier and thereby to Message Objects with the Xtd bit set to "1". This feature allows the
user to Globally Mask, or dont care, any identifier bits of the incoming message. This
mask is programmable to allow the user the develop an application specific masking strategy.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
Note:
When a remote frame is sent, an CC750 receiver node will use its Global Mask Registers to
determine whether the remote frame matches to any of its Message Objects. If the CC750
is programmed to transmit a message in response to a remote frame message identifier,
the CC750 will transmit a message with the message identifier of the CC750 Message
Object. The result is the remote message and the responding CC750 transmit message
may have different message identifiers because some CC750 Global Mask Register bits
are "dont care".
BOSCH
- 24/58 -
16.08.00
CC750
Target Specification
Rev. 1.2
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_functional_description.fm
The CC750 observes all messages on the CAN bus and stores any message that matches
a messages ID programmed into an active Message Object. It is possible to define which
message ID bits must identically match those programmed in the Message Objects to store
the message. Therefore, ID bits of incoming messages are either must-match or dontcare. By defining bits to be dont-care, Message Objects will receive multiple message
IDs.
BOSCH
- 25/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
ID28
ID27
ID26
ID25
ID24
ID23
ID22
ID21
rw
rw
rw
rw
rw
rw
rw
rw
ID20
ID19
ID18
ID17
ID16
ID15
ID14
ID13
rw
rw
rw
rw
rw
rw
rw
rw
ID12
ID11
ID10
ID9
ID8
ID7
ID6
ID5
rw
rw
rw
rw
rw
rw
rw
rw
spec_functional_description.fm
ID4
ID3
ID2
ID1
ID0
MDir
MXtd
res
rw
rw
rw
rw
rw
rw
rw
The default value of the Message 15 Mask Register after a hardware reset is unchanged.
Reserved bit read as "0".
one
must-match (incoming bit value must match to the corresponding bit in the Arbitration Register from the Message Object 15)
zero
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
BOSCH
- 26/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
must-match (incoming Direction bit value must match to the corresponding bit
in the Arbitration Register from the Message Object 15)
zero
must-match (incoming Xtd bit value must match to the corresponding bit in the
Arbitration Register from the Message Object 15)
zero
The Message 15 Mask Register is a programmable local mask. This feature allows the user
to locally mask, or dont care, any identifier bits of the incoming message for Message
Object 15. Incoming messages are first checked for an acceptance match in Message
Objects 1- 14 before passing through to Message Object 15. Consequently, the Global
Mask and the Local Mask apply to messages received in Message Object 15 in that way,
that Message 15 Mask is ANDed with the Global Mask. This means that any bit defined as
dont-care in the Global Mask will automatically be a dont care bit for message 15.
For the receive-only Message Object 15, it is also possible to mask the bits Dir and Xtd,
allows the reception of Standard and Extended as well as Data and Remote Frames in this
Message Object.
RP
REC6-0
spec_functional_description.fm
The default value of the Receive Error Counter after a hardware reset is 00H.
RP Receive Error Passive
one
The Receive Error Counter has reached the error passive level as defined in
the CAN Specification.
zero
Actual state of the Receive Error Counter. Values between 0 and 127.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
BOSCH
- 27/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
TEC7-0
r
The default value of the Transmit Error Counter after a hardware reset is 00H.
TEC7-0 Transmit Error Counter
Actual state of the Transmit Error Counter. Values between 0 and 255.
spec_functional_description.fm
SYNC_SEG
PROP_SEG
PHASE_SEG1 PHASE_SEG2
SAMPLE
POINT
TRANSMIT
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
This part of the bit time is used to synchronize the various nodes on the bus. An
edge is expected to lie within this segment.
BOSCH
- 28/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
NOTE:
The factor of two accounts arbitration which requires nodes consecutively to
synchronize to different transmitters.
PHASE_SEG1, PHASE_SEG2: Phase Buffer Segment1,2
These segments are used to compensate for edge phase errors and can be
lengthened or shortened by resynchronization.
SAMPLE POINT:
The sample point is the point of time at which the bus level is read and interpreted as the value of that respective bit. Its location is at the end of
PHASE_SEG1.
4.12.2 CC750 Bit Timing Definitions
In this application, the Synchronisation Segment is represented by tSync, the Phase Buffer
Segment2 is represented by tTSeg2, while tTSeg1 is the summation of the Propagation Time
Segment and the Phase Buffer Segment1.
The preceding figure represents a bit time from the perspective of the CC750. A bit time is
subdivided into time quanta. One time quantum is derived from the System Clock (SCLK)
and the Baud Rate Prescaler (BRP). Each segment is a multiple of the Time Quantum tq.
The length of these segments is programmable, with the exception of the Synchronisation
Segment, which is always 1 tq long.
1 bit time
spec_functional_description.fm
tSyncSeg
tTSeg1
tTSeg2
1 time quantum
( tq )
Sample Point
tSyncSeg
Transmit Point
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
BOSCH
- 29/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
= ( BRP + 1 ) tSCLK
spec_functional_description.fm
To fulfil the requirements of the CAN specification, the following conditions must be met :
tTSeg2 1 tq
tTSeg2 tSJW
tTSeg1 2 tq
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
Note:
In order to achieve correct operation according to the CAN protocol the total bit time should
be at least 8 tq, i.e. TSeg1 + TSeg2 5 (as programmed in the Bit Timing Register 1).
To operate with a baudrate of 1 MBit/s, the frequency of SCLK has to be at least 8 MHz, in
consequence fXTAL has to be at least 16 MHz.
The maximum tolerance df for XTAL depends on the Phase Buffer Segment1 (PB1), the
Phase Buffer Segment2 (PB2), and the Resynchronisation Jump Width (SJW):
BOSCH
- 30/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
min ( PB 1, PB 2 )
----------------------------------------------------------------2 ( 13 bit time PB 2 )
df
AND
SJW
-------------------------------20 bit time
df
100
ns
= tSCLK = tXTAL 2
50
30
220
ns
ns
ns
tProp
600
ns
= 6 tq
tSJW
100
ns
= 1 tq
tTSeg1
700
ns
= tProp + tSJW
tTSeg2
200
ns
tSync-Seg
100
ns
= 1 tq (fix)
bit time
1000
ns
min ( PB 1, PB 2 )
= ---------------------------------------------------------------2 ( 13 bit time PB2 )
0.1 s
= ----------------------------------------------------------2 ( 13 1 s 0.2 s )
In this example, the Bit Timing Registers must be programmed with the following values:
maximal oscillator tolerance 0.39 %
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
SJW
BRP
rw
rw
The default value of the Bit Timing Register 0 after a hardware reset is 00H.
BOSCH
- 31/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
Spl
TSeg2
TSeg1
rw
rw
rw
The default value of the Bit Timing Register 1 after a hardware reset is 00H.
Spl Sampling Mode
one
The CAN bus is sampled three times per bit time for determining the valid bit
value using majority logic.
zero
Sampling mode = "0" may result in faster bit transmissions rates, while sampling mode = "1"
is more immune to noise spikes on the CAN bus.
TSeg2 Time Segment 2
spec_functional_description.fm
The valid programmed values are 0-7. TSeg2 is the time segment after the
sample point.
The actual interpretation of this value by the hardware is one more than the
value programmed by the user.
TSeg1 Time Segment 1
K8/EIS - Klose-2969
The valid programmed values are 1-15. TSeg1 is the time segment before the
sample point.
061.2/2.3 - 15.08.97
The actual interpretation of this value by the hardware is one more than the
value programmed by the user.
BOSCH
- 32/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
IntId
r
The default value of the Interrupt Register after a hardware reset is 00H.
IntId Interrupt Identifier
The Interrupt Register is a read-only register. The value in this register indicates the source
of the interrupt. When no interrupt is pending, this register holds the value "0". If the SIE bit
in the Control Register (00H) is set and the CC750 has updated the Status Register, the
Interrupt Register will contain a "1". This indicates an interrupt is pending due to a change
in the Status Register. The value 2 + Message Object Number indicates the IntPnd bit in the
corresponding Message Object is set. There is an exception in that Message Object 15 will
have the value 2, giving Message Object 15 the highest priority of all Message Objects.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_functional_description.fm
Interrupt Source
Value
none
00H
Status Register
01H
Message Object 15
02H
Message Object 1
03H
Message Object 2
04H
Message Object 3
05H
Message Object 4
06H
Message Object 5
07H
Message Object 6
08H
Message Object 7
09H
Message Object 8
0AH
Message Object 9
0BH
Message Object 10
0CH
Message Object 11
0DH
Message Object 12
0EH
Message Object 13
0FH
Message Object 14
10H
BOSCH
- 33/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
For example, a message is received by Message Object 13 with the IE (Control Register)
and RxIE (Message Object 13 Control 0 Register) bits set. The interrupt pin will be pulled
low and the value 15 (0FH) will be placed in the Interrupt Register.
If the value of the Interrupt Register equals "1", then the Status Register at location 01H
must be read to update this Interrupt Register. The Status Change Interrupt has a higher
priority than interrupts from the Message Objects. Register 5FH is automatically set to "0"
or to the lowest value corresponding to a Message Object with IntPnd set. When the value
of this register is two or more, the IntPnd bit of the corresponding Message Object Control
Register is set.
The CC750 will respond to each status change event independently and will not bundle
interrupt events in a single interrupt signal. However, if two status change events occur
before the first is acknowledged by the CPU, the next event will not generate a separate
interrupt output. Therefore, when servicing Status Change Interrupts, the user code should
check all useful status bits upon each Status Change Interrupt.
After resetting the IntPnd bit in the Control 0 Register of individual Message Objects, the
minimum delay of the CC750 resetting the interrupt pin and updating the Interrupt Register
(5FH) is 3 MCLK cycles and a maximum of 14 MCLK cycles (after the CPU write operation
to this register is finished). When a Status Change Interrupt occurs, reading the Status
Register (01H) will reset the interrupt pin in a maximum of 4 MCLK cycles + 145 ns. Clearing the IntPnd bit of the Message Object will deactivate the INT# pin.
spec_functional_description.fm
The serial reset address is used to synchronize accesses between the CC750 and the CPU
when the CPU cannot provide a chip select. The CPU must write a string of 16 "FFH" bytes
to achieve synchronization.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
- 34/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
spec_functional_description.fm
Message 15 Mask Register. This mask allows a large number of infrequent messages to be
received by the CC750. In addition, Message Object 15 is buffered to allow the CPU more
time to receive messages.
Address
Function
Base Address +0
Control 0
+1
Control 1
+2
Arbitration 0
+3
Arbitration 1
+4
Arbitration 2
+5
Arbitration 3
+6
Configuration
+7
Data 0
+8
Data 1
+9
Data 2
+10
Data 3
+11
Data 4
+12
Data 5
+13
Data 6
+14
Data 7
MsgVal
TxIE
RxIE
IntPnd
rw
rw
rw
rw
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
BOSCH
- 35/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
RmtPnd
TxRqst
MsgLst/CPUUpd
NewDat
rw
rw
rw
rw
The default values of the Control 0 and Control 1 registers after a hardware reset are
unchanged.
Each bit in the Control 0 and Control 1 bytes occurs twice; once in true form and once in
complement form. This bit representation makes testing and setting these bits as efficient
as possible. The advantage of this bit representation is to allow write access to single bits of
the byte, leaving the other bits unchanged without the need to perform a read/modify/write
cycle.
For example, a HC08 CPU would set the TxRqst bit of the Control 1 byte with the following
instructions:
LDA
#$EF
STA
CTRL1
spec_functional_description.fm
Write
Read
MSB
LSB
Meaning
reset
set
unchanged
reset
set
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
zero
The MsgVal bit is an individual halt bit for each Message Object. While this bit is reset the
CC750 will not access this Message Object for any reason. This bit may be reset at any
time if the message is no longer required, or if the identifier is being changed. If a message
identifier is changed, the Message Object must be made invalid first, and it is not necessary
BOSCH
- 36/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
spec_functional_description.fm
zero
The Transmit Interrupt Enable bit enables the CC750 to initiate an interrupt after the successful transmission by the corresponding Message Object.
This bit is written by the CPU.
RxIE Receive Interrupt Enable
one
zero
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
This bit enables the CC750 to initiate an interrupt after the successful reception by the corresponding Message Object.
BOSCH
- 37/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
zero
No interrupt was generated by this Message Object since the last time the CPU
cleared this bit.
This bit is set by the CC750 following a successful transmission or reception as controlled
by the RxIE and TxIE bits.
The CPU must clear this bit when servicing the interrupt.
RmtPnd Remote Request Pending
one
zero
This bit is only used by Message Objects with direction = transmit. This bit is set by the
CC750 after receiving a remote frame which matches its message identifier, taking into
account the Global Mask Register. The corresponding Message Object will respond by
transmitting a message, if the CPUUpd bit = zero. Following this transmission, the CC750
will clear the RmtPnd bit. In other words, when this bit is set it indicates a remote node has
requested data and this request is still pending because the data has not yet been transmitted.
NOTE:
Setting RmtPnd will not cause a remote frame to be transmitted. The TxRqst bit is used to
send a remote frame from a receive Message Object.
spec_functional_description.fm
The transmission of this Message Object has been requested and has not been
completed.
zero
This bit is set by the CPU to indicate the Message Object data should be transmitted. Setting TxRqst will send a data frame for a transmit Message Object and a remote frame for a
receive Message Object.
TxRqst is also set by the CC750 (at the same time as RmtPnd in Message Objects whose
direction = transmit) when it receives a remote frame from another node requesting this
data. This bit is cleared by the CC750 along with RmtPnd when the message has been successfully transmitted, if the NewDat bit has not been set.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
If direction = receive a remote frame is sent to request a remote node to send the corresponding data.
BOSCH
- 38/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
The CC750 has stored a new message in this Message Object when NewDat
was still set.
zero
No message was lost since the last time this bit was reset by the CPU.
This bit is used to signal that the CC750 stored a new message into this Message Object
when the NewDat bit was still set. Therefore, this bit is set if the CPU did not process the
contents of this Message Object since the last time the CC750 set the NewDat bit; this indicates the last message received by this Message Object overwrote the previous message
which was not read and is lost.
This definition is only valid for Message Objects with direction = receive. For Message
Objects with direction = transmit, the definition is replaced by CPUUpd.
CPUUpd CPU Updating
Only valid for Message Objects with direction = transmit.
one
zero
The CPU sets this bit to indicate it is updating the data contents of the Message Object and
the message should not be transmitted until this bit has been reset. The CPU indicates
message updating has been completed by resetting this bit (it is not necessary to use the
MsgVal bit to update the Message Objects data contents).
The purpose of this bit is to prevent a remote frame from triggering a transmission of invalid
data.
spec_functional_description.fm
The CC750 or CPU has written new data into the data section of this Message
Object.
zero
No new data has been written into the data section of this Message Object
since the last time this bit was cleared by the CPU.
This bit has different meanings for receive and transmit Message Objects.
4.15.3 Handling of Message Objects
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
For Message Objects with direction = receive, the CC750 sets the NewDat bit whenever
new data has been written into the Message Object.
When the received data is written into Message Objects 1-14, the unused data bytes will be
overwritten with non-specified values.
The CPU should clear the NewDat bit before reading the received data and then check if
the bit remained cleared when all bytes have been read. If the NewDat bit is set, the CPU
should re-read the received data to prevent working with a combination of old and new
data. See flow diagram in chapter 5.4.
When the received Data is matched to Message Object 15, new data is written into the
shadow register. The foreground register is not over-written with new data. For Message
BOSCH
- 39/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
Object 15 messages, the data should be read first, the IntPnd reset, and then the NewDat
and RmtPnd bits are reset. Resetting the NewDat and RmtPnd bits before resetting the
IntPnd bit will result the interrupt line remaining active. See flow diagram in chapter 5.5.
For Message Objects with direction = transmit, the CPU should set the NewDat bit to indicate it has updated the message contents. This is done at the same time the CPU clears
the CPUUpd bit. This will ensure that if the message is actually being transmitted during the
time the message was being updated by the CPU, the CC750 will not reset the TxRqst bit.
In this way, the TxRqst bit is reset only after the actual data has been transferred. See flow
diagram in chapter 5.3.
Each bit in the Control 0 and Control 1 registers may be set and reset by the CPU as
required.
Conditions required to trigger a transmission:
Flags
Register
Init
Control
MsgVal
MO-Control 0
TxRqst
MO-Control 1
MsgLst/CPUUpd
MO-Control 1
NewDat
MO-Control 1
dont care
should be set
MO-Configuration
Dir
Remote Frame
Data Frame
NOTES:
spec_functional_description.fm
To program a transfer request, the Control Register 1 of the Message Object should have
the TxRqst and NewDat bits set to "1". Therefore, this register may be written with the value
066H to initiate a transmission.
A remote frame may be received, an interrupt flag set, and no data frame transmitted in
response by configuring a Message Object in the following manner. Set the CPUUpd and
RxIE bits in the Message Object Control Register to "1". Set the Dir bit in the Message Configuration Register to "1". A remote frame will be received by this Message Object, the
IntPnd bit will be set to "1" and no transmit message will be sent.
Message Object Priority
If two Message Objects are capable of receiving the same message (possibly due to message filtering strategies), the message will be received by the lowest numbered Message
Object. For example, if all acceptance mask bits were set as dont care, Message Object 1
will receive all messages.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
If multiple Message Objects are waiting to transmit, the CC750 will first transmit the message from the lowest numbered Message Object, regardless of message identifier priority.
BOSCH
- 40/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
ID28
ID27
ID26
ID25
ID24
ID23
ID22
ID21
rw
rw
rw
rw
rw
rw
rw
rw
ID20
ID19
ID18
ID17
ID16
ID15
ID14
ID13
rw
rw
rw
rw
rw
rw
rw
rw
ID12
ID11
ID10
ID9
ID8
ID7
ID6
ID5
rw
rw
rw
rw
rw
rw
rw
rw
spec_functional_description.fm
ID4
ID3
ID2
ID1
ID0
res
rw
rw
rw
rw
rw
The default value of the Arbitration Register after a hardware reset is unchanged.
Reserved bits read as "0".
ID0-ID28 Message Identifier
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
- 41/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
DLC
Dir
Xtd
res
rw
rw
rw
The default value of the Message Configuration Register after a hardware reset is
unchanged.
Reserved bits read as "0".
DLC Data Length Code
The valid programmed values are 0-8. The Data Length Code of a Message
Object is written with the value corresponding to the data length.
Dir Direction
one
Direction = transmit. When TxRqst is set, the Message Object will be transmitted.
zero
one
zero
If the Message Configuration Register Xtd bit is "0" to specify a standard frame, the CC750
will reset the extended bits in the Arbitration Registers (arbitration bits 0-17) to "0" whenever
a data frame is stored in this Message Object.
An extended receive Message Object (Xtd = "1") will not receive standard messages
(except if this bit is masked out, which is possible for Message Object 15).
If a Message Object receives a data frame from the CAN bus, the entire message identifier,
the Data Length Code (DLC), the Direction bit (Dir) and the Extended Identifier bit (Xtd) are
stored (additionally to the data section) into this Message Object. Therefore, if acceptance
filtering (masking registers) is used, the masked-off "dont care" bits will be rewritten corresponding to the message ID of the incoming message.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_functional_description.fm
BOSCH
- 42/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
The Xtd bit in the Message Configuration Register determines whether a standard or an
extended frame will be received by this Message Object. This bit could be masked out, see
chapter 4.9.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_functional_description.fm
If two messages have been received by Message Object 15, the first will be accessible to
the CPU. The alternate buffer will be overwritten if a subsequent (third receive) message is
received. Once again, after reading message 15, the user program should reset the IntPnd
bit followed by a reset of the NewDat and RmtPnd bits in the Message Object Control Registers.
BOSCH
- 43/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
5. FLOW DIAGRAMS
The following flowcharts describe the operation of the CC750 and suggested flows for the
host-CPU.
DATA
REMOTE
yes
no
no
bus free ?
TxRqst=1
CPUUpd=0
no
yes
yes
NewDat := 0
load message
into shift register
TxRqst := 1
RmtPnd := 1
send message
RxIE = 1
no
yes
no
transmission
successful?
IntPnd := 1
spec_flow_diagrams.fm
yes
NewDat=1
no
TxRqst := 0
RmtPnd := 0
yes
no
TxIE = 1
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
yes
IntPnd := 1
- 44/58 -
16.08.00
spec_flow_diagrams.fm
Target Specification
CC750
Rev. 1.2
REMOTE
DATA
yes
no
TxRqst=1
MsgLst =0
no
bus idle ?
no
yes
yes
NewDat := 0
load identifier and
control into shift register
no
no
yes
NewDat = 1
MsgLst := 1
transmission
successful?
spec_flow_diagrams.fm
yes
no
TxIE = 1
TxIE = 1
yes
yes
no
IntPnd := 1
IntPnd := 1
K8/EIS - Klose-2969
061.2/2.3 - 15.08.97
TxRqst := 0
RmtPnd := 0
store message
NewDat := 1
TxRqst := 0
RmtPnd := 0
BOSCH
- 45/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
Power Up
Initialisation
CPUUpd := 1
CPUUpd := 0
NewDat := 1
no
want to sent ?
spec_flow_diagrams.fm
yes
TxRqst := 1
no
update message ?
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
yes
BOSCH
- 46/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
Power Up
( reset values )
Initialisation
no
NewDat =1 ?
yes
NewDat := 0
no
request update ?
yes
read message
Process Messages
TxRqst := 1
no
spec_flow_diagrams.fm
NewDat =0 ?
yes
process message
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
BOSCH
- 47/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
Power Up
no
New Dat = 1 ?
yes
Process Message
Toggle to
alternative buffer
NewDat := 0
RmtPnd := 0
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_flow_diagrams.fm
IntPnd := 0
BOSCH
- 48/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
MOSI
MISO
CPU
(master) SPICLK
CS#
MOSI
MISO
CC750
SPICLK (slave)
CS#
spec_cpu_interface_logic.fm
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
CS#: Chip Select (used as Slave Select for the SPI interface)
The master device provides the serial clock for the slave device. Data is transferred synchronously to this clock in both directions. The master and the slave
devices exchange a data byte during a sequence of eight clock pulses.
BOSCH
- 49/58 -
16.08.00
spec_cpu_interface_logic.fm
Target Specification
CC750
Rev. 1.2
spec_cpu_interface_logic.fm
When the SPI receives an Address or Control byte with the value FFH, the SPI interface will
be reset. In this case, the SPI will assume the next byte is an address.
sample points
SPICLK
DATA
LSB
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
MSB
BOSCH
- 50/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
Dir
Sync
SDLC
The data bytes will be read, so the CC750 will transfer information to the CPU.
one
The data bytes will be sent from the CPU to the CC750.
Sync Synchronisation
These three bits must always be sent as "000".
SDLC Serial Data Length Code
These four bits contains the number of bytes to be transmitted. Valid programmed values are 1-15.
spec_cpu_interface_logic.fm
The first data byte (third byte of the SPI protocol) will be written to or read from the CC750
address (first byte of the SPI protocol). After this, the address is incremented by the SPI
logic and the next data byte is written or read from this address. In one data stream, a maximum of 15 data bytes can be transferred. A DLC of zero is not allowed. After a DLC of zero
is received, the SPI must be resynchronized. The SPI must also be resynchronized if one of
the Synchronisation Bits was received as "1".
When the CPU conducts a READ, the CPU sends an address byte and a Serial Control
Byte. While the CC750 responds back with data, it ignores the MOSI pin (transmission from
the CPU).
The CPU may transmit the next address and Serial Control Byte after CS# is de-activated
and then re-activated. This means the chip select should be activated and de-activated for
each read or write transmission.
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
Synchronization bytes must be monitored carefully. For example, if the CC750 does not
transmit the AAH and 55H synchronization bytes correctly, then the previous transmission
may be incorrect too. The MISO pin is tri-stated if CS# is inactive.
BOSCH
- 51/58 -
16.08.00
CC750
Target Specification
Rev. 1.2
Vcc
Int request
Reset#
CPU
MOSI
(master)
MISO
SPICLK
CS#
Int
Reset#
MOSI CC750
MISO (slave)
SPICLK
CS#
XTAL1
XTAL2
061.2/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_cpu_interface_logic.fm
BOSCH
- 52/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
7. Electrical Specification
7.1 Handling Instructions
Handle with extreme care. Pins should not be touched. Follow ESD (Electrostatic Discharge) protection procedure.
Value
Cat*
1 V/s
- 0.5 V to +7.0 V
25 mA
-40C to +150C
Note: For the conditions listed above the IC is protected against latch up effects.
7.3 DC-Characteristics
Conditions: VCC = 5V 10%, TA = -40C to +125C
061.7/2.3 - 15.08.97
K8/EIS - Klose-2969
spec_e_characteristics.fm
Parameter
Min
Max
Unit
Test Conditions
Cat*
VIL
-0.5
0.8
VIH
3.0
VCC+0.5
VIH1
3.0
100
VCC+0.5
V
mV
B
A
VOL
0.45
IOL = 1.6 mA
VOH
IOH = -1.6 mA
ILC
VSS<VIN<VCC
CIN
Pin Capacitance(1)
10
pF
fXTAL = 1 kHz
ICC
Supply Current(2)
50
mA
VCC-0.8
BOSCH
- 53/58 -
16.08.00
spec_e_characteristics.fm
Target Specification
CC750
Parameter
ISLEEP
IPD
Min
Rev. 1.2
Max
Unit
Test Conditions
Cat*
Sleep Current(2,3)
15
XTAL1 clocked
15
XTAL1 clocked
spec_e_characteristics.fm
Min
Max
Unit
Cat*
fXTAL
Oscillator Frequency
20
MHz
fSCLK
10
MHz
fMCLK
MHz
0.5
fMCLK
MHz
tCYC
1/fSPICLK
125
2000
ns
tSKHI
45
ns
tSKLO
45
ns
tLEAD
70
ns
tLAG
70
ns
tACC
Access Time
60
ns
tPDO
30
ns
tHO
ns
tDIS
ns
fSPICLK
K8/EIS - Klose-2969
Parameter
0
125
tSETUP
25
ns
tHOLD
25
ns
tRISE
45
ns
tFALL
45
ns
ns
tCS
125
061.7/2.3 - 15.08.97
BOSCH
- 54/58 -
16.08.00
Target Specification
CC750
Rev. 1.2
*Category:
A
B
C
tLEAD
tLAG
tCS
CS#
tFALL
tSKLO
tSKHI
tCYC
tRISE
SPICLK
tACC
tHO
tPDO
tDIS
MISO
tSETUP
tHOLD
MOSI
spec_e_characteristics.fm
Input
VCC
VSS
Timing parameter
Input rise and fall times (10%/90%) < 10ns
1/2VCC
061.7/2.3 - 15.08.97
K8/EIS - Klose-2969
Output
BOSCH
- 55/58 -
16.08.00
CC750
Target Specification
Rev. 1.2
List of Figures
Figure 1: Block Diagram of CC750. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Figure 2: Package Diagram of CC750 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 3: Time Segments of Bit Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figure 4: Bit Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 5: CC750 handling of Message Objects 1-14 (Transmit) . . . . . . . . . . . . . . 44
Figure 6: CC750 handling of Message Objects 1-14 (Direction = Receive) . . . . . 45
Figure 7: CPU Handling of Message Object 15 (Receive) . . . . . . . . . . . . . . . . . . . 48
Figure 8: Interconnection for serial communication . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 9: Serial data communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Figure 10: CC750 SPI Interface Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Figure 11: A.C. Characteristics for Serial Interface . . . . . . . . . . . . . . . . . . . . . . . . 55
spec_interLOF.fm
BOSCH
- 56/58 -
16.08.00
CC750
Target Specification
Rev. 1.2
List of Tables
Table 1: Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Table 2: Reset values of CC750 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Table 3: Reset states of CC750 output pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Table 4: CC750 address map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 5: Function of Power Down and Sleep bits . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 6: Maximum MCLK frequency for various oscillator frequencies . . . . . . . . 22
Table 7: Interrupt Register values with corresponding Interrupt Sources . . . . . . 33
Table 8: Message Object Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 9: Representation of bit pairs in Control Registers . . . . . . . . . . . . . . . . . . . 36
Table 10: Bit combinations to start transmissions . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 11: CPU Handling of Message Objects 1-14 (Transmit) . . . . . . . . . . . . . . . . 46
Table 12: CPU Handling of Message Objects 1-14 (Receive) . . . . . . . . . . . . . . . . . 47
Table 13: Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Table 14: DC-Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
spec_interLOT.fm
BOSCH
- 57/58 -
16.08.00
CC750
Target Specification
Rev. 1.2
8. Appendix
8.1 Documentation of Changes
8.1.1 Changes on Revisions
8.1.1.1 Revision 1.1
Differences in function compatibility to CC770 and Intel 82526/7 are described more
detailed. See chapter 1.2.
Bit Timing Registers are writeable without setting the Init bit.
Init set to one does break a transmission or reception of a message in process.
Change flow diagrams 7.2 and 7.4.
Add test categories to the electrical characteristics.
Change lower storage temperature from -65C to -40C.
Change Burn In circuit and parameters.
Protection against ESD is adjusted to 1,5kV.
8.1.2 Others
061.8/2.3 - 15.08.97
spec_appendix.fm
EOF
BOSCH
- 58/58 -
16.08.00
spec_appendix.fm