The MSM9225 is a microcontroller peripheral LSI which conforms to the CAN protocol for
high-speed LANs in automobiles.
FEATURES
•Conforms to CAN protocol specification (Bosch Co., V.2.0 part b/Full CAN)
• Maximum 1 Mbps real-time communication control (programmable)
• Communication system:
Transmission line is bi-directional, two-wire serial communications
NRZ (Non-Return to Zero) system using bit stuff function
Multi-master system
Broadcast system
• Maximum 16 messages ¥ 8 bytes of message buffer
Number of messages can be extended by group message function (max: 2 groups)
• Priority control by identifier
Normally 2032 types, 2032 ¥ 218 types at extension
• Microcontroller interface
Corresponding to both parallel and serial interface
Parallel interface: separate address/data bus type (with address latch signal/no
address latch signal) and multiplexed address/data bus type.
Serial interface:Synchronous communication type
Interrupt is used for three outputs: transmission/receive/error
• Error control:
Bit error/stuff error/CRC error/form error/acknowledge error detection functions
Retransmission / error status monitoring function when error occurs
• Communication control by transmission request function
Chip select pin. When "L", PALE, PWR, PRD/SRW, SCLK and SDO pins are valid.
Address bus pins (when using separate buses). If used with a multiplexed bus or if
used in the serial mode, fix these pins at "H" or "L" levels.
Multiplexed bus: Address/data pins
Separate buses: Data pins
If used in the serial mode, fix these pins at "H" or "L" levels.
Write input pin during parallel mode. Data is captured when this pin is at a "L" level.
If used in the serial mode, fix this pin at a "H" or "L" level.
Parallel mode: Read signal pin.
When at a "L" level, data is output from the data pin.
Serial mode: Read/write signal pin.
When at a "H" level, data is output from the SDO pin.
When at a "L" level, the SDO pin is at high impedance, and data is captured beginning
with the second byte of data input from the SDI pin.
Address latch signal pin.
When at a "H" level, addresses are captured.
If used in the parallel mode and the address latch signal is unnecessary or in the
serial mode, fix this pin at a "H" or "L" level.
Serial data input pin.
Addresses (1st byte) and data (beginning from the 2nd byte) are input to this pin,
LSB first. If used in the parallel mode, fix this pin at a "H" or "L" level.
Serial data output pin.
When the CS pin is at a "H" level, this pin is at high impedance. When CS is at a "L"
level, data is output from this pin LSB first.
If used in the parallel mode, fix this pin at a "H" or "L" level.
Shift clock input pin for serial data.
At the rising edge of the shift clock, SDI pin data is captured. At the falling edge, data
is output from the SDO pin.
Ready output pin.
If the microcontroller's bus cycle is fast, a signal is output to extend the bus cycle
until the internal access is completed.
Internal access in progressAfter completion of access
Parallel mode
Serial mode
Interrupt request output pin.
When an interrupt request occurs, a "L" level is output.
Three types of interrupts share this pin: transmission complete, reception complete,
and error.
Reset pin.
System is reset when this pin is at a "L" level.
Clock pins. If internal oscillator is used, connect a crystal oscillator. If external
clock is input, input clock via XT pin. The XT pin should be left open.
Receive input pin. Differential amplifier included.RX0, RX1I18, 19
Transmission output pin.TX0, TX1O22, 23
—
Internal logic power supply pin.V
Internal logic GND pin.GND—
Power supply pin for receive input differential amplifier.AV
—20
GND pin for receive input differential amplifier.AGND—17
5/73
Page 6
¡ Semiconductor
MSM9225
FUNCTIONAL DESCRIPTION
Data Memory
Before starting communication, messages for communication and various control registers
must be set at the data memory.
Addresses X0hex to XDhex are the message memory, which stores control registers, identifiers
and the contents of each message.
In this address space, the higher 4 bits of an address corresponds to the number of messages,
and a maximum of 16 (0Xhex to FXhex) can be stored. Each message has an area to store a
maximum of 8 bytes of data memory, 1 byte of control register, and a maximum of 5 bytes of
an identifier.
This means that the data memory capacity for messages is: 16 messages ¥ (8 bytes for a message
+ 1 byte for a control register + 5 bytes for an identifier) = 224 bytes.
Addresses XEhex to XFhex are allocated to the control registers.
The configuration of data memory is as follows
The message memory stores messages to be transmitted/received.
For transmission, only messages stored in the message memory can be transmitted. A message
with the highest priority among messages requested for transmission is sent.
For receiving, only messages that have an identifier stored in the message memory can be
received. When a message is received normally, and its identifier matches with the identifier
stored in the message memory, data of the received message is written to the message area of
the corresponding message in the message memory.
The message memory can store a maximum of 16 messages. Set messages at the NMES register.
1. Inside message control register (X0hex)
This register performs various controls for a message.
Set this register for each message.
The bit configuration is as follows:
Address MSB
¥ 0h
76543210
LSB
ARES : Automatic transmission
FRM : Message format setting
EIT : Transmission completion interrupt enable
EIR : Receive completion interrupt enable
RCS : Receive status
TRQ : Transmission request
Not used
MMA : Message memory access enable
(1) Message memory access request/enable bit: MMA
This bit prevents contention between the microcontroller and CAN when accessing the
message memory.
When the microcontroller accesses the message memory, "1" is written to the MMA bit
regularly. The microcontroller confirms that the MMA bit is "1", and then accesses the
message memory. Write "0" to the MMA bit when the microcontroller accessing ends.
Operations by the MMA bit are shown in the following table.
At reset, the MMA bit is set to "0".
MMA
0
1
Microcontroller
Accesses from microcontroller
to message memory are disabled
Accesses from microcontroller
to message memory are enabled
Reception
Operate
Reading of received data
Stop
Rewriting of control area
Transmission
Operate
Stop
Rewriting of control area
Rewriting of transmission data
7/73
Page 8
¡ Semiconductor
(2)Transmission request: TRQ
When a message is transmitted, the microcontroller writes "1" to this bit. When
transmission ends normally, CAN writes "0". This means that the TRQ bit is "1" during
transmission. Therefore, to request transmission, confirm that the TRQ bit is "0" first,
then write "1" to the TRQ bit. When the remote frame is received while the ARES bit is
"1", the TRQ bit is set to "1".
At reset, the TRQ bit is set to "0".
(3)Receive status: RCS
When receiving completes, the RCS bit becomes "1". Write "0" to the RCS bit before the
microcontroller calls up receive data. When receiving the remote frame, the RCS bit
becomes "1" just after the reception.
At reset, the RCS bit is set to "0".
(4)Receive completion interrupt enable: EIR
The microcontroller sets interrupt request signal generation disable/enable when
receiving completes.
The EIR bit is valid when the EINTR bit of the CANI register is “1”.
At reset, the EIR bit is set to "0".
MSM9225
(5)Transmission completion interrupt enable: EIT
The microcontroller sets interrupt request signal generation disable/enable when
transmission completes.
The EIT bit is valid when the EINTT bit of the CANI register is “1”.
At reset, the EIT bit is set to "0".
(6)Message format setting: FRM
The microcontroller sets the format of the message to be sent/received. A message in a
format other than the specified format cannot be sent/received.
For the relationship between setting and format, see the table below.
When a message specified to a group message is received, the content of the RTR bit is
written.
At reset, the FRM bit is set to "0".
FRMMessage TypeTransmission FormatReceive Format
0
1
Standard messageData frameRemote frame
Group messageTransmission disableData frame
Standard message
Group message
Remote frame
Transmission disable
Data frame
Remote frame
(7)Automatic transmission : ARES
If the data frame is automatically transmitted after remote frame reception, the ARES bit
should be set to "1".
At reset, the ARES bit is set to "0".
8/73
Page 9
¡ Semiconductor
g
2. Identifier 0 (X1hex)
This register sets the data length code and a part of the identifier.
Set this register for each message.
The bit configuration is as follows:
MSM9225
Address MSB
¥ 1h
76543210
(1)Format setting: IDFM
The microcontroller sets the message format.
At reset, the IDFM bit is undefined.
This is control field data to set the number of bytes of a data field. 0 to 8 can be set.
At reset, these bits are undefined.
(3)Identifier: IDB28 to IDB26
These bits set the identifier field.
For standard format (IDFM = 0), the higher 3 bits of the 11 bits are set.
For extended format (IDFM = 1), the higher 3 bits (ID28 to ID26) of the 29 bits (ID28 to
ID0) are set.
At reset, these bits are undefined.
9/73
Page 10
¡ Semiconductor
3. Identifier 1 (X2hex)
This register sets the identifier.
Set this register for each message.
The bit configuration is as follows:
MSM9225
Address MSB
¥ 2h
76543210
LSB
IDB18 :
IDB19 :
IDB20 :
IDB21 :
Identifier
IDB22 :
IDB23 :
IDB24 :
IDB25 :
(1)Identifier: IDB25 to IDB18
These bits set the lower 8 bits of the 11 bits of the identifier field.
For standard format (IDFM = 0), the lower 8 bits of the 11 bits are set.
For extended format (IDFM = 1), ID25 to ID18 of the 29 bits (ID28 to ID0) are set.
At reset, these bits are undefined.
4. Address: X3 to XDhex
For standard format (IDFM = 0), addresses X3 to XAhex become the transmission/receive
data storage area.
For extended format (IDFM = 1), addresses X3 to X5hex are used to set the identifier field, and
addresses X6 to XDhex become the transmission/receive data storage area.
For both, a maximum of 8 bytes of transmission/receive data can be stored, but the number
of transmittable/receivable bytes must have been set by data length code.
At reset, message content is undefined.
The relationship between address and identifier bits for extended format (IDFM = 1) is as
follows:
10/73
Page 11
¡ Semiconductor
MSM9225
Adderss MSB
¥ 3h
Address MSB
¥ 4h
LSB
76543210
IDB10 :
IDB11 :
IDB12 :
IDB13 :
Identifier 2
IDB14 :
IDB15 :
IDB16 :
IDB17 :
LSB
76543210
Address MSB
¥ 5h
IDB2 :
IDB3 :
IDB4 :
IDB5 :
Identifier 3
IDB6 :
IDB7 :
IDB8 :
IDB9 :
LSB
76543210
Not used (Don't care)
Not used (Don't care)
Not used (Don't care)
Not used (Don't care)
Not used (Don't care)
Not used (Don't care)
IDB0 :
Identifier 4
IDB1 :
11/73
Page 12
¡ Semiconductor
Control Register
These registers listed below control various operations of CAN.
MSM9225
AddressSymbol
0EHCANC
0FHCANI
1EHNMESNumber of message specification registers
1FHBTR0CAN bus timing register 0
2EHBTR1CAN bus timing register 1
2FHTIOCCommunication input/output control register
3EHGMR0Group message register 0
3FHGMR1Group message register 1
4EHGMSK00 Message mask register 00
4FHGMSK01Message mask register 01
5EHGMSK02 Message mask register 02
5FHGMSK03Message mask register 03
6EHGMSK10 Message mask register 10
6FHGMSK11Message mask register 11
7EHGMSK12 Message mask register 12
7FHGMSK13Message mask register 13
8EHSTBYStandby control register
8FHNot used (reserve area)
9EHTMNCommunication message number register
9FHCANSCAN status register
AEHTECTransmission error counter
AFHRECReceive error counter
BEH
BFH
CEH
CFH
DEH
DFH
EEH
EFH
FEH
FFH
CAN control register
CAN interrupt control register
Not used (reserve area)
Name
12/73
Page 13
¡ Semiconductor
1. CAN control register (CANC: 0Ehex)
This register controls the operation of CAN.
The bit configuration is as follows:
MSM9225
Address MSB
0Eh
76543210
LSB
INIT : Initialize
TIRS : Transmission identifier retrieval
Not used
SYNC : Bit synchronization
CANA : CAN write flag
T x F : Transmission flag
R x F : Receive flag
Not used
(1)Initialize: INIT
This bit is used to initialize the communication control area. To start initialization, write
"1" to INIT, read INIT and confirm that INIT is "1", then initialize. To end initialization,
write "0" to INIT, read INIT, and confirm that INIT is "0". For both, initialization mode
is not set/cleared until the above procedure is executed.
If the INIT bit is set to "1" during the transmission or receive operation, the initialization
will start after the communication completes.
When the INIT bit is set to "1", the communication operation stops but the error counter
and data memory are held.
To initialize message memory, write the number of messages to be used to the number
of messages setting register, NMES, then write the inside message control register,
identifier 1, and identifier 2 sequentially from message 0 for all messages.
At reset, INIT is set to "1".
(2)Transmission identifier retrieval: TIRS
This bit is used to scan identifiers sequentially from message 0 to the last message of the
message memory, detecting priority of the message for which the transmission request
TRQ is "1" and starting to transmit the messages. TIRS will be set to "0" when there are
no transmission request messages after scanning or transmitting.
At reset, TIRS is set to "0".
(3)Bit synchronization: SYNC
This bit is used to set the bit synchronization edge to synchronize at the CAN bus.
When SYNC is "0", the synchronization edge is set at the falling edge of data.
When SYNC is "1", the synchronization edge is set at both the rising and falling edges of
data.
At reset, SYNC is set to "0".
13/73
Page 14
¡ Semiconductor
p
(4)CAN write flag: CANA
This bit is used to indicate receive data write status to the message memory. CANA is
"1" while CAN is writing receive data to the message memory.
This is a read-only flag.
(5)Transmission flag: TxF
This bit is used to indicate transmission operation status.
When TxF is "0", CAN is in transmission operation stop status.
When TxF is "1", CAN is in transmission operation status. TxF becomes "0" when
transmission completes.
This is a read-only flag.
(6)Receive flag: RxF
This bit is used to indicate receive operation status.
When RxF is "0", CAN is in receive operation stop status.
When RxF is "1", CAN is in receive operation status. RxF becomes "0" when receiving
completes.
This is a read-only flag.
MSM9225
2. CAN interrupt register (CANI: 0Fhex)
This register controls CAN interrupts.
The bit configuration is as follows:
Address MSB
0Fh
76543210
(1)Transmission interrupt output enable: EINTT
This bit is used to output transmission interrupt signal INTT from interrupt pin INT
when transmission completes.
When EINTT is "0", a transmission interrupt signal is not output from the interrupt pin.
When EINTT is "1", a transmission interrupt signal is output from the interrupt pin.
At reset, EINTT is set to "0".
LSB
EINTT : Transmission interrupt output enable
EINTR : Receive interrupt output enable
EINTE : Error interrupt output enable
Not used
ITF : Transmission interrupt request flag
IRF : Receive interrupt request flag
IEF : Error interrupt request flag
MEINT : Master interru
t control enable
(2)Receive interrupt output enable: EINTR
This bit is used to output receive interrupt signal INTR from interrupt pin INT when
reception completes.
When EINTR is "0", a receive interrupt signal is not output from the interrupt pin.
When EINTR is "1", a receive interrupt signal is output from the interrupt pin.
At reset, EINTR is set to "0".
14/73
Page 15
¡ Semiconductor
(3)Error interrupt output enable: EINTE
When an error occurs, this bit is used to output error interrupt signal INTE from interrupt
pin INT.
When EINTE is "0", an error interrupt signal is not output from the interrupt pin.
When EINTE is "1", an error interrupt signal is output from the interrupt pin.
At reset, EINTE is set to "0".
(4)Transmission interrupt request flag: ITF
ITF becomes "1" when a transmission interrupt is generated. Only "0" can be written to
this bit.
At reset, ITF is set to "0".
(5)Receive interrupt request flag: IRF
IRF becomes "1" when a receive interrupt is generated. Only "0" can be written to this bit.
At reset, IRF is set to "0".
(6)Error interrupt request flag: IEF
IEF becomes "1" when an error occurs. Only "0" can be written to this bit.
At reset, IEF is set to "0".
MSM9225
(7)Master interrupt control enable: MEINT
This bit is used to set enable/disable of communication interrupts.
The flowchart of interrupt control is shown below.
When MEINT is "0", interrupt request control is disabled.
When MEINT is "1", interrupt request control is enabled.
At reset, MEINT is set to "0".
MEINT
0
1
0
1
0
1
INT pin
0
1
EINTT
EINTR
EINTE
ITF
Interrupt factor
(transmission completion)
EIT (each message)
IRF
Interrupt factor
(reception completion)
EIR (each message)
IEF
Interrupt factor (An error occurs)
15/73
Page 16
¡ Semiconductor
3. Number of messages specification register (NMES: 1Ehex)
This is a register to set the number of messages to be stored in the message memory.
A maximum of 16 messages can be set, with message numbers 0 to 15.
Writing to NMES is enabled when initialize bit INIT of the CAN control register (CANC:
OEhex) is "1".
At reset, NMES is set to "0000".
The bit configuration and relationship between message number and number of messages
are as follows:
MSM9225
Address MSB
1Eh
***
*
****
****
········
····· · · ·
****
****
: Don't Care
*
4. CAN bus timing register 0 (BTR0: 1Fhex)
This register sets the baud rate prescaler and synchronization jump width (SJW) used for bus
timing. Writing to the BTR0 bit is enabled, when the INIT bit of the CAN control register
(CANC: 0Ehex) is "1".
The bit configuration is as follows:
This is a 6-bit prescaler to set the BTL cycle time and SJW of the basic clock for
communication operation.
The relationship between the bit content and BTL is as follows:
At reset, BRP5 to BRP0 are set to "000000".
BRP5BRP3BRP2BRP1BRP0
BRP4
00000
00001
·····
·····
11110
1
0
0
·
·
1
11111
The BTL cycle time is given by the following operation.
5. CAN bus timing register 1 (BTR1: 2Ehex)
This register sets the sampling count, sampling point and transmit point used for bus timing.
Writing to the BTR1 bit is enabled, when the INIT bit of the CAN control register (CANC:
0Ehex) is "1".
The bit configuration is as follows:
Address MSB
2Eh
76543210
LSB
(1)Time segment 1: TSEG13 to TSEG10
This is a 4-bit register to set the sampling point.
The relationship between bit content and TSEG1 is as follows:
At reset, TSEG13 to TSEG10 are set to "0000".
TSEG10 :
TSEG11 :
TSEG12 :
TSEG13 :
TSEG20 :
TSEG21 :
TSEG22 :
Not used :
Time
segment 1
Time
segment 2
TSEG13TSEG12TSEG11TSEG10TSEG1
0000
0001
····
····
1110
1111
1 ¥ BTL cycle
2 ¥ BTL cycle
·
·
15 ¥ BTL cycle
16 ¥ BTL cycle
(2)Time segment 2: TSEG22 to TSEG20
This is a 3-bit register to set the transmit point.
The relationship between the bit content and TSEG2 is as follows:
At reset, TSEG22 to TSEG20 are set to "000".
TSEG22TSEG21TSEG20TSEG2
000
001
···
···
110
111
1 ¥ BTL cycle
2 ¥ BTL cycle
·
·
7 ¥ BTL cycle
8 ¥ BTL cycle
18/73
Page 19
¡ Semiconductor
(3)Bit timing
Bit timing is set by CAN bus timing registers 0 and 1. The relationship between 1 bit time
of a message and a CAN bus timing (the MSM9225 register) is as follows:
6. Communication input/output control register (TIOC: 2Fhex)
This register sets the communication mode and output buffer format.
Writing to the TIOC bit is enabled, when the INIT bit of the CAN control register (CANC:
0Ehex) is "1".
The bit configuration is as follows:
19/73
Page 20
¡ Semiconductor
MSM9225
Address MSB
2Fh
76543210
LSB
OCMD0
OCMD1
OCPOL0
OCTN0
OCTP0
OCPOL1
OCTN1
OCTP1
:
Output mode
:
:
:
buffer format
:
:
:
buffer format
:
Tx0 output
Tx1 output
(1)Time segment 1: OCMD1 to OCMD0
These bits are used to set the output mode of output pins Tx0 and Tx1.
The relationship between the bit content and output mode is as follows:
At reset, OCMD1 to OCMD0 are set to “00”.
setting
OCMD1OCMD0
00
01
10
11
Output mode of Tx0 and Tx1
[Double layer mode]
Transmission data "0" is output from Tx0 and Tx1 altermately.
Output example
Data
Tx0
Tx1
[Disabled]
[Single layer mode]
Same bit string data is output from both Tx0 qnd Tx1.
Output example
Data
Tx0
Tx1
[Clock output mode]
Bit string data is output from Tx0.
Synchrinization clock is output from Tx1.
Output example
Data
101010
101010
101010
Tx0
Tx1
20/73
Page 21
¡ Semiconductor
(2)Output driver format setting: OCPOL, OCTN, OCTP
OCPOL is used to set the polarity of output.
OCTN is used to set the open/drain mode of the Nch transistor of the output driver.
OCTP is used to set the open/drain mode of the Pch transistor of the output driver.
The circuit configuration of the output driver and the relationship between bit content
and output driver format are as follows:
At reset, all bits are set to "0".
7. Group message register (GMR0: 3Ehex, GMR1: 3Fhex)
These are registers to set the group message mode.
Two messages can be set to the group message mode.
At reset, all bits are set to "0".
The group message mode is valid when the EGM0/EGM1 bit is "1".
Using GMR03 to GMR00 and GMR13 to GMR10, set the message numbers of messages that
are to be set to the group message mode.
The bit configuration is as follows:
Address MSB
3Eh
3Fh
EGM0
EGM1000GMR11GMR12GMR11GMR10
000GMR03GMR02GMR01GMR00
LSB
8. Group message mask register (GMSK)
This is a register to judge identifiers when a message with a message number specified by the
group message mode GMR is received.
Using MiID28 to MiID0, set the bits to mask the identifier of a message set by the GMR bit.
Setting "1" masks the bit, setting "0" does not mask the bit.
(M0ID28 to M0ID0 are for GMR0, and M1ID28 to M1ID0 are for GMR1.)
At reset, all bits are set to "0".
The bit configuration is as follows:
Address MSB
4Eh
4Fh
M0ID28
M0ID20M0ID19M0ID18M0ID17M0ID16M0ID15M0ID14M0ID13
M0ID27M0ID26M0ID25M0ID24M0ID23M0ID22M0ID21
LSB
GMR0
GMR1
GMSK00
GMSK01
5Eh
5Fh
Address MSB
6Eh
6Fh
7Eh
7Fh
M0ID12
M0ID4M0ID3M0ID2M0ID1M0ID0000
M1ID28
M1ID20M1ID19M1ID18M1ID17M1ID16M1ID15M1ID14M1ID13
M1ID12
M1ID4M1ID3M1ID2M1ID1M1ID0000
M0ID11M0ID10M0ID9M0ID8M0ID7M0ID6M0ID5
LSB
M1ID27M1ID26M1ID25M1ID24M1ID23M1ID22M1ID21
M1ID11M1ID10M1ID9M1ID8M1ID7M1ID6M1ID5
GMSK02
GMSK03
GMSK10
GMSK11
GMSK12
GMSK13
23/73
Page 24
¡ Semiconductor
9. Standby control register (STBY: 8Ehex)
This register sets various modes, such as stop mode.
The bit configuration is as follows:
MSM9225
Address MSB
8Eh
76543210
LSB
STOP : Stop mode
SLEEP : Sleep mode
Not used
Not used
Not used
Not used
Not used
Not used
(1)Stop mode: STOP
If STOP is set to "1", the MSM9225 will enter the stop mode when the CAN bus is idle.
In stop mode, the content of data memory is held but the oscillator and all circuits stop
to save power consumption. Access to/from external units is therefore disabled.
Stop mode is cleared by a reset signal input from the RESET pin or CS pin = "0".
At reset, STOP is set to "0".
(2)Sleep mode: SLEEP
If SLEEP is set to "1", the MSM9225 will enter the sleep mode when the CAN bus is idle.
In sleep mode, the content of data memory is held and the differential input of Rx0 and
Rx1 operates, but the oscillator and other circuits stop operation. Access to/from
external units is therefore disabled.
Sleep mode is cleared by a reset signal input from the RESET pin or CS pin = "0", or by
the differential input of Rx0 and Rx1.
When both stop mode and sleep mode are set at the same time, the MSM9225 enters stop
mode.
At reset, SLEEP is set to "0".
24/73
Page 25
¡ Semiconductor
10. Communication message number register (TMN: 9Ehex)
The communication message number is recorded in this register.
The bit configuration is as follows:
MSM9225
Address MSB
9Eh
76543210
LSB
TRSN0 :
TRSN1 :
TRSN2 :
TRSN3 :
Not used
Not used
Not used
Not used
Transmission
message number
register
(1)Transmission message number register: TRSN3 to TRSN0
This is a register to store the message number when a message is transmitted/received.
When transmission completes, the transmitted message number is stored. When
receiving completes, the received message number is stored. And when an error occurs,
the message number of the message being transmitted/received at that time is stored.
This is a read-only register and is set to "0000" at reset.
25/73
Page 26
¡ Semiconductor
MSM9225
11. CAN status register (CANS: 9Fhex)
This is a status register to indicate the status of CAN.
Bit6 to bit4 are flags for the transmitter and bit1 and bit0 are for the receiver, and this register
is read only.
The bit configuration is shown below.
Address MSB
9Fh
76543210
LSB
REW : Receiver Error Warning
REP : Receiver Error Passive
Not used
Not used
TEW : Transmitter Error Warning
TEP : Transmitter Error Passive
BOFF : Bus OFF flag
Not used
(1)Receiver Error Warning: REW
When the Receiver Error Counter (REC) ≥ 96, REW becomes "1". If REW = "1", the bus
may be seriously damaged. The bus must be tested for this condition.
At reset or when REC < 96, REW becomes "0".
(2)Receiver Error Passive: REP
When the Receive Error Counter (REC) ≥ 128, REP becomes "1".
At reset or when REC < 128, REP becomes "0" (error active)
(3)Transmitter Error Warning: TEW
When the Transmit Error Counter (TEC) ≥ 96, TEW becomes "1".
If TEW = "1", the bus may be seriously damaged. The bus must be tested for this
condition.
At reset or when TEC < 96, TEW becomes "0".
(4)Transmitter Error Passive: TEP
When the Transmit Error Counter (TEC) > 128, TEP becomes "1".
At reset or when TEP < 128, TEP becomes "0".
(5)Bus OFF: BOFF
This flag indicates the CAN bus status.
When the Transmit Error Counter (TEC) > 256 BOFF becomes "1" and the CAN bus is in
the BUS OFF state.
At reset or when TEP < 256, BOFF becomes "0".
26/73
Page 27
¡ Semiconductor
p
12. Transmit Error Counter (TEC: AEhex)
TEC indicates the lower 8 bits of the 9-bit Transmit Error Counter.
The bit configuration is shown below.
MSM9225
Address MSB
AEh
76543210
LSB
TEC0 :
TEC1 :
TEC2 :
TEC3 :
Transmit Error Counter
TEC4 :
TEC5 :
TEC6 :
TEC7 :
At reset, TEC is set to "0000 0000".
The relation between the Transmit Error Counter and TEC is shown below.
Transmit Error
Counter
76543210
8
BOFF (CANS: bit6)
1: Bus off state
TEC (AEh)
TEP (CANS: bit5)
0: Error active state
1: Error
assive state
27/73
Page 28
¡ Semiconductor
p
13. Receive Error Counter (REC: AFhex)
The Receive Error Counter is read-only.
The bit configuration is shown below.
MSM9225
Address MSB
AFh
76543210
LSB
REC0 :
REC1 :
REC2 :
REC3 :
Receive Error Counter
REC4 :
REC5 :
REC6 :
REC7 :
At reset, REC is set to "0000 0000".
The relation between the Receive Error Counter and each register is shown below.
Receive Error
Counter
REC (AFh)
76543210
REP (CANS: bit1)
0: Error active state
1: Error
assive state
28/73
Page 29
¡ Semiconductor
MSM9225
OPERATIONAL DESCRIPTION
MSM9225 operation is described below.
Operational Procedure
Procedures to set and operate various communication protocols are indicated below.
1. Initial setting
The initial setting procedure is indicated below.
Start initial setting
Set INIT bit of CANC register
(0Ehex) to "1"
Read INIT bit
INIT = 1?
YES
Set the number of messages with
the NMES register (1Ehex)
Set the inside message
control register (X0hex)
Set the message unit
(FRM/DCL3-DCL0, /ID28-ID0)
All message
settings complete?
*) Since the INIT bit cannot be set to "1" during
transmission or reception, read and verify its value.
NO
CAN bus timing settings
BTR0 (1Fhex)
BTR1 (2Ehex)
Set Tx0, Tx1, Rx0, Rx1 states
with the TIOC register (2Fhex)
Group message settings
(GMR/GMSK)
NO
YES
Set the interrupt control with the
CANI register (0Fhex)
Set INIT bit of the CANC register
(0Ehex) to "0".
Initial setting complete
29/73
Page 30
¡ Semiconductor
2. Transmit Procedure
The transmit procedure is indicated below.
Start transmit setting
Set TIRS bit of CANC register
(0Ehex) to "0"
Set MMA bit of the inside message
control register (X0hex) to "1"
Read MMA bit
MSM9225
MMA = 1?
YES
Write message data to data memory
Set inside message control
register's MMA = 0 and TRQ = 1
All transmit message
settings complete?
YES
Set TIRS bit of CANC register
(0Ehex) to "1"
NO
*) Since the MMA bit cannot be set to
"1" while the message is being accessed,
read and verify its value.
NO
Transmit setting complete
Transmission operation
30/73
Page 31
¡ Semiconductor
3. Receive Procedure
The receive procedure is indicated below.
Receive procedure
MSM9225
(MSM9225)
Interrupt signal is generated when
reception is complete
INT: 1 Æ 0
Verify that IRF bit of CANI register
(0Fhex) is "1"
Set IRF bit of CANI register
(0Fhex) to "0"
Verify reception message number
with TMN register (9Ehex)
Set RCS bit of inside message
control register (X0hex) to "0"
Read reception data from
data memory
*) Verify that the interrupt is caused by the
reception completion.
NO
Inside message
control register's
RCS = 0?
YES
CANC register's (0Ehex)
CANA = 0?
YES
Receive complete
NO
*) Check whether new reception data has
been written to the same message while data
was being read.
*) Check whether reception data has been written
to another message while data was being read.
This step may be omitted and evaluation performed
based on the interrupt signal.
31/73
Page 32
¡ Semiconductor
MSM9225
4. Message unit rewrites during operation
The procedure to rewrite the IDentifier (ID) and Data Length Code (DLC) during operation
is indicated below. The number of messages set in the NMES register at the initial setting is
the number of (valid) messages that may be rewritten.
Start rewrite
Set MMA bit of inside message
control register (X0hex) to "1"
Read MMA bit
MMA = 1?
YES
Rewrite message unit
FRM/DLC3-DLC0/ID28-ID0
Set MMA bit of inside message
control register to "0"
All message
settings complete?
YES
Rewrite complete
NO
NO
32/73
Page 33
¡ Semiconductor
MSM9225
5. Remote Frame Operation
The following two methods are available for transmission after remote frame reception.
(1) Automatically transmit message data that has been previously set
(2) Set message data and then transmit
5-1. Automatic response
After remote frame reception, this method automatically transmits previously set message
data.
Settings of the inside message control register are listed in the table below.
BitSymbolValueComments
5TRQ0*
3EIR—
2EIT1
1FRM0
Inside message
control register
0ARES1
When reception is complete, TRQ bit changes from 0 Æ 1
Set transmit interrupt to verify the end of transmission.
Set the remote frame.
Set automatic response.
A flow chart of the operation is shown on the following page.
33/73
Page 34
¡ Semiconductor
Microcontroller (user) operationMSM9225 operation
Set MMA bit of inside message
MSM9225
Start automatic response
control register (X0hex) to "1"
Read MMA bit
Transmit data
setting
Remote reception
and transmission
MMA = 1?
NO
YES
Set the inside message data register
(X0hex) as shown in previous table
Write transmit data to data memory
Set MMA bit to "0"
Remote frame reception?
NO
YES
Data frame transmission
Remote transmission
verification
Transmission completion generates
interrupt
INT: 1 Æ 0
Verify that ITF bit of CANC
register (0Fhex) is "1"
Set ITF bit to "0"
Set RSC bit of inside message
control register to "0"
Figure: Automatic Response Operation Flow Chart
34/73
Page 35
¡ Semiconductor
MSM9225
5-2. Manual response
In this method, after remote frame reception, the transmit data is set and then transmission
begins.
Settings of the inside message control register are listed in the table below.
BitSymbolValueComments
5TRQ0
3EIR1
2EIT1
1FRM0
Inside message
control register
0ARES0
Set to receive message.
Set interrupt to verify (remote frame) reception.
Set interrupt to verify the end of transmission.
Set the remote frame.
Specify that there will be no automatic response.
A flow chart of the operation is shown on the following page.
The basic operation is a combination of receive and transmit procedures.
35/73
Page 36
¡ Semiconductor
Microcontroller (user) operationMSM9225 operation
MSM9225
Start Manual response
Remote reception
Transmit data setting
Verify reception interrupt
with CANI retgister (0Fhex)
Verify receive message number
with TMN retgister (9Ehex)
Set RCS bit of inside message
control register (X0hex) to "0"
Set MMA bit of inside message
control register to "1"
MMA = 1?
NO
Remote frame reception?
YES
Message reception generates
interrupt
INT: 1 Æ 0
NO
Remote transmission
YES
Write transmit data to data memory
Set inside message control
registers MMA = 0 and TRQ = 1
Set TIRS bit of CANC register
(0Ehex) to "1"
Data frame transmission
Transmission completion generates
interrupt
INT: 1 Æ 0
Verify transmission is complete
Figure: Manual Response Operation Flow Chart
36/73
Page 37
¡ Semiconductor
p
MSM9225
Operation at Receiving Message
1. Priority of message
A message has the priority determined by the identifier setting. To determine priority,
identifiers of messages are compared from the higher bit, and the identifier (set to "0") detected
first has the higher priority. (see the example below)
Identifier (example)
00110101
001
00110101
000
000000101
10
000101101
01
In this exam
Priority
Second
First
Fourth
Third
le, priority is determined at the shaded bits.
2. Data length code
When the received data length code (hereafter DLC) matches the DLC being set to the message
memory, the number of bytes of data indicated by the received DLC is received and written to
the message memory. When the received DLC does not match with the DLC being set to
message memory, the MSM9225 operates as follows:
(1)Received DLC > DLC on message memory
The number of bytes of data indicated by the DLC on the message memory is received
and written to the message memory.
The data exceeding the number of bytes indicated by DLC on the memory is not written
to message memory.
(2)DLC on message memory > received DLC
The number of bytes of data indicated by the received DLC is received and written to the
message memory.
3. Group message function
If the group message function is used, a part of an identifier can be masked. This can increase
the number of receivable identifiers.
To use the group message function, set the message number of the target message to set the
group message function at the GMR register. Then set the bits to be masked at the GMSK
register. Depending on the location of bits to be masked, an another identifier being set at the
message memory may be received.
In this case, the priority of identifiers being set on the message memory is calculated and the
identifier having the highest priority is received. The received data is written to the message
memory indicated by the message for which the identifier with the highest priority is set.
37/73
Page 38
¡ Semiconductor
MSM9225
When same identifiers are set to multiple messages on message memory
When same identifiers are set to multiple messages on the message memory, operations are as
follows.
1. Transmit operation
Messages are transmitted sequentially from the smaller message number.
2. Receive operation
The message is always written to the smallest message number.
For example, the same identifier is set at message numbers 1 to 4, as shown below.
Message
number
0
1
2
3
4
5
6
Identifier (example)
00111111
001
111
10011001
11
100111001
11
100111001
10011100111
00000011100
00000001110
The range in which the same
identifier is set.
• Transmit operation
If every message above is a transmit message, messages are transmitted sequentially in the
order of message number 5 Æ 0 Æ 6 Æ 1 Æ 2 Æ 3 Æ 4.
• Receive operation
When the identifier "11100111001" is received from the CAN bus, received data is always
written to the message memory which is indicated by the message number 1.
38/73
Page 39
¡ Semiconductor
MSM9225
MICROCONTROLLER INTERFACE
There are basically two methods of interfacing to the microcontroller.
(1) Synchronous serial interface (serial mode)
(2) Parallel bus interface (parallel mode)
Each interface is selected with the Mode0 and Mode1 pins. Refer to the section, PIN
DESCRIPTIONS, "PIN DESCRIPTIONS" for the relation between pin values and interface
selection.
Serial Interface
The transfer timing is indicated in the figure.
Address/data transfers begin when the CS pin is at a "L" level and end when it changes to a "H"
level. Because the MSM9225 has an address increment function, the basic transfer consists of "1
address + multiple data." Therefore, to access a nonconsecutive address, the CS must be first
pulled to a "H" level, and then the address reset.
Perform address/data transfers LSB first, in 8-byte units. During a transfer, an interval (WAIT)
is necessary between address and data and between consecutive data transfers. (Refer to the
section, ELECTRICAL CHARACTERISTICS, for interval values.) Note that the WAIT signal is
only generated during the interval between address and data transfers.
(1) Data write
Data write operations are performed with the follwing procedure.
After setting the CS pin and PRD/SRW pin to "L" levels, input an address to the SDI pin.
Synchronized to the rising edge of synchronous clock SCLK, the MSM9225 captures the address
in an internal register. When 8 SCLK clocks are received, the MSM9225 loads the address into
the internal address counter and waits for data reception.
Next, input data to the SDI pin. An internal register captures data in a similar manner to the
address capture, at the rising edge of SCLK. When 8 bits of data have been captured, the
MSM9225 writes the data to the internal memory or register specified by the address that was
received previously, and then increments the counter by 1. If data is to be written to consecutive
addresses, continue the data transfer. After all data has been transferred, set the CS pin to a "H"
level.
(2) Data read
Data read operations are performed with the following procedure.
After setting the CS pin to a "L" level and the PRD SRW pin to a "H" level, in the same manner
as for the data write operation, input an address to the SDI pin. When 8 SCLK clocks are received,
the MSM9225 loads the address into the internal address counter, reads data from the internal
memory or register specified by the address, latches data into a shift register for data output and
increments the address counter. Then, when SCLK is input, latched data is output from the SDO
pin synchronized to the falling edge of SCLK. At this time, the contents of the data input from
the SDI pin does not matter. If there exists remaining data to be read, input another 8 SCLK
clocks. After all the data (at consecutive addresses) has been read, set the CS pin to a "H" level.
If the count value overflows (exceeds XFh), without changing the upper 4 bits of the address, the
address increment function will reset the count value of the lower 4 bits to 0, and will continue
counting.
The following three types of parallel interfaces are available.
(1) Address/data separate bus type, no address latch signal
(2) Address/data separate bus type, with address latch signal
(3) Multiplexed bus type
For transfer timings, refer to the timing diagrams for electrical characteristics.
MSM9225
41/73
Page 42
¡ Semiconductor
MSM9225 CONNECTION EXAMPLES
Microcontroller Interface
(1) Address/data separate bus (no address latch signal)
+5 V
MSM9225Microcontroller
100 kW
INT
CS
RD
WR
WAIT
A7-0
D7-0
RESET
10 kW
4-1, 44-41
38-31
11
INT
10
CS
27
PALE
9
PRD/SRW
26
PWR
16
PRDY/SWAIT
A7-0
AD7-0/D7-0
5
SDO
7
SDI
8
SCLK
25
RESET
XT
XT
Mode1
Mode0
CST16MXW040
13
14
If the clock is supplied
externally,in the same
30
29
manner as for the serial
interface, input the clock
to the XT pin and leave
the XT pin open.
MSM9225
Reset signal
(2) Address/data separate bus (with address latch signal)
+5 V
MSM9225Microcontroller
100 kW
INT
CS
ALE
RD
WR
WAIT
A7-0
D7-0
RESET
10 kW
4-1, 44-41
38-31
11
INT
10
CS
27
PALE
9
PRD/SRW
26
PWR
16
PRDY/SWAIT
A7-0
AD7-0/D7-0
5
SDO
7
SDI
8
SCLKMode1
25
RESETMode0
XT
XT
CST16MXW040
13
14
30
29
Reset signal
42/73
Page 43
¡ Semiconductor
(3) Address/data multiplexed bus
100 kW
INT
CS
ALE
RD
WR
WAIT
AD7-0
RESET
+5 V
10 kW
4-1, 44-41
38-31
MSM9225Microcontroller
11
INT
10
CS
27
PALE
9
PRD/SRW
26
PWR
16
PRDY/SWAIT
A7-0
AD7-0/D7-0
5
SDO
7
SDI
8
SCLKMode1
25
RESETMode0
XT
XT
CST16MXW040
13
14
30
29
MSM9225
Reset signal
(4) Serial interface
WAIT
SDIN
SDOUT
SCLK
RESET
INT
CS
ALE
RD
WR
100 kW
+5 V
10 kW
4-1, 44-41
38-31
MSM9225Microcontroller
11
INT
10
CS
27
PALE
9
PRD/SRW
26
PWR
16
PRDY/SWAIT
A7-0
AD7-0/D7-0
5
SDO
7
SDI
8
SCLKMode1
25
RESETMode0
XT
XT
If self-excitation is used,
in the same manner as for
the separate bus, connect
an external oscillator.
13
14
Open
30
29
Reset signal
CLK
43/73
Page 44
¡ Semiconductor
CAN Bus Interface
(1) Electrically isolated from bus transceiver (PCA82C250)
MSM9225
MSM9225
Rx1
Rx0
Tx1
Tx0
19
18
23
22
Open
8
7
5
3
2
1
4
6
+5 V
0.1 mF
Open
Open
390 W
390 W
PCA82C250
4
RxD
1
TxD
V
CC
GND
CANH
CANL
Vref
Rs
3
2
7
6
5
8
124 W
0.1 mF
CAN BUS LINE
Open
124 W
470 kW
6N137
2
0.1 mF
390 W
390 W
Open
Open
1
4
6
8
7
5
3
V
CC
E
GND
6N137
ANODE
O.P.CATH
6.8 kW3.6 kW
(2) Directly connected to bus transceiver (PCA82C250)
MSM9225
19
Rx1
18
Rx0
23
Tx1
Open
22
Tx0
PCA82C250
5
Vref
4
RxD
1
TxD
V
CC
GND
CANH
CANL
124 W
3
0.1 mF
2
7
6
CAN BUS LINE
From microcontroller (port pin)
(Normal "L" output)
470 kW
8
Rs
124 W
44/73
Page 45
¡ Semiconductor
(3) Monitoring the CAN bus
Battery
MSM9225
MSM9225
Microcontroller
+5 V
Rx1
Rx0
Tx1
Tx0
Port
Port
Port
19
18
23
22
Open
10
13
1
3
2
5
4
6
V
CC
GND
INH
RxD
TxD
STB
NERR
EN
14
BAT
7
PCA82C252
WAKE
RTH
CANH
CANL
RTL
8
11
12
9
CAN BUS LINE
45/73
Page 46
¡ Semiconductor
MSM9225
PROTOCOL
The CAN (Controller Area Network) is a high-speed multiplexed communication protocol
designed to perform real-time communication inside an automobile. CAN specifications are
broadly classified into two layers, the physical layer and the data link layer. The data link layer
consists of logical link control and medium access control.
The configuration of each layer is listed below.
Upper
Lower
Application layer (not including object)
Data link layer
• Logical link control (LLC): message and status handling
• Medium access control (MAC): as per protocol
Physical layer: signal level and bit representation
Protocol Mode Function
(1) Standard format mode
2032 types of identifiers can be set in this mode.
Since the identifier is 11 bits, 2032 types of messages can be handled.
(2) Extended format mode
2032 ¥ 218 types of identifiers can be set in this mode.
In the standard format mode, the identifier is 11 bits. However, in the extended format mode,
the identifier is extended to 29 bits (11 + 18).
If the SRR and IDE bits of the arbitration field are both "recessive", the mode changes to the
extended format mode.
If remote frames for an extended format mode message and a standard format message are
transmit simultaneously, the node that transmit the extended format message will change to
the receive state.
Message Format
CAN protocol messages have the following 4 types of frames.
(1) Data frame: transmit data frame
(2) Remote frame: transmit request frame from the receive side
(3) Error frame: frame that is output when an error is detected
(4) Overload frame : frame that is output when the receive side has not completed preparing
for reception
*In a wired-OR logic circuit, the stronger value is defined as "dominant" and the weaker value
as "recessive". In figures hereafter, dominant (abbreviation: D) = 0, and recessive (abbreviation:
R) = 1.
46/73
Page 47
¡ Semiconductor
1. Data frame and remote frame
(1) Data frame
The data frame is for data transmission and consists of 8 fields.
Data frame
R
D
12345 678
MSM9225
Interframe space
End-of-frame
Ack field
CRC field
Data field
Control field
Arbitration field
Start-of-frame
(2) Remote frame
This frame is transmit when the receive node requests transmission.
The data field is deleted from the data frame and the RTR bit of the arbitration field is made
"recessive".
Remote frame
R
D
1235678
Interframe space
End-of-frame
Ack field
CRC field
Control field
Arbitration field
Start-of-frame
*Even when the data length code of the control field is nonzero, there will be no data frame
transfer.
47/73
Page 48
¡ Semiconductor
(
)
(
)
(
)
(
)
(
)
MSM9225
(3) Description of each frame
(a) Start-of-frame
Start-of-frame indicates the beginning of a data frame or remote frame and is one dominant
bit.
(Interframe space
or bus idle)
R
D
Start-of-frame
1 bit
(Arbitration field)
The start-of-frame begins when the bus line level changes.
If "dominant" is detected at the sample point, reception continues.
If "recessive" is detected at the sample point, the bus becomes idle.
(b) Arbitration field
This field sets priority and data frame/remote frame protocol modes.
The arbitration field consists of an identifier, RTR bit, and extended format setting bits.
Standard format mode
Arbitration field
R
D
ID28ID18
Extended format mode
Identifier
(11 bits)
RTR
1 bit
(Control field)
IDE
(r1)
1 bit
r0
Arbitration field
R
D
ID28ID18
Identifier
(11 bits)
SRR
1 bit
IDE
ID17ID0
1 bit
*Notes:
ID28 to ID0 is the identifier.
The identifier is transmitted MSB first.
It is prohibited to set the identifier = 1111111XXXXX.
Identifier
(18 bits)
RTR
1 bit
(Control field)
r1r0
48/73
Page 49
¡ Semiconductor
(
)
MSM9225
Number of Identifier Bits
Protocol mode
Standard format mode
Extended format mode
No. of bits
11 bits
29 bits
RTR Bit Setting
RTR bit
Dominant
Recessive
Frame type
Data frame
Remote frame
Mode Setting
Protocol mode
Standard format mode
Extended format mode
SRR bit
None
Recessive
IDE bit
Dominant
Recessive
(c) Control field
The control field sets the number of data bytes (N) in the data field. (N: 0 to 8)
r1 and r0 are fixed as "dominant". The number of bytes is set with DLC3 to DLC0.
(Arbitration field)
R
D
RTRr0DLC3
r1
IDE
Control field
DLC2
(Data field)
DLC1DLC0
During the standard format mode, the r1 bit and IDE bit of the arbitration field are the same bit.
49/73
Page 50
¡ Semiconductor
(
)
(
)
(
)
MSM9225
Data Length Code Setting
Data length code
DLC3DLC2DLC1DLC0
0000
0001
••••
••••
0111
1000
No. of data bytes
0
1
•
•
7
8
*In the case of a remote frame, even when the data length code ≠ 0, there is no data field.
(d) Data field
The data field contains the number of data groups set by the control field. A maximum of 8
data groups can be set.
8 bits form 1 data group. (MSB first)
Data field
(CRC field)
Data
8 bits
R
D
(Control field)
Data
8 bits
(e) CRC field
A 15-bit CRC sequence checks for transmission errors.
The CRC field consists of a 15-bit CRC sequence and a 1-bit CRC delimiter.
(Data field, control field)
R
D
CRC field
CRC sequence
(15 bits)
CRC delimiter
1 bit
Ack field
• The polynominal P(X) that generates the 15-bit CRC is expressed as follows.
P(X) = X15 + X14 + X10 + X8 + X7 + X4 + X3 + 1
• The transmit node transmits a CRC sequence computed from all basic data bits of the start-of-
frame, arbitration field, control field, and data field, without bit stuffing.
• The receive node, compares the CRC sequence computed from data bits of the received data
(excluding stuff bits) with the CRC sequence in the CRC field. If they do not match, the node
switches to an error frame.
50/73
Page 51
¡ Semiconductor
(
)
(
)
(
)
(f) Ack field
The field verifies correct reception.
The Ack field consists of a 1-bit Ack slot and a 1-bit Ack delimiter.
MSM9225
1 bit
Ack field
Ack delimiter
1 bit
(CRC field)(Ebd-of-frame)
R
D
ACK slot
If the receive node detects an error between the start-of-frame and the CRC field, Ack slot =
"recessive" is output. If an error is not detected, Ack slot = "dominant" is output.
The transmit node outputs 2 "recessive" bits, and verifies the reception status of the receive node.
(g) End-of-frame
This frame indicates the completion of transmission or reception.
The end-of-frame consists of 7 "recessive" bits.
(Ack field)
R
D
End-of-frame
7 bits
(Interframe space or
overload frame)
(h) Interframe space
The interframe space is inserted between the data frame, remote frame, error frame, and
overload frame and the next frame. The interframe space indicates the separation between
frames.
Output is prohibited during intermission.
• Error active: The interframe space consists of a 3- or 2-bit intermission and bus idle.
(Each frame)
R
D
Interframe space
Intermission
(3/2 bits)
(Each frame)
Bus idle
(0 to • bits)
• Error passive: The interframe space consists of intermission, suspend transmission, and bus
idle.
(Each frame)
R
D
Intermission
(3/2 bits)
Interframe space
Suspend transmission
(8 bits)
(Each frame)
Bus idle
(0 to • bits)
51/73
Page 52
¡ Semiconductor
Intermission Bit Length
Protocol modeBit length
Error Status and Operation
Error statusOperation
Error active
Errpr passive
When the bus becomes idle, each node is able to transmit. The node with a transmit
request begins to transmit.
After bus idle has continued for 8 bits, transmission becomes possible. If another
node begins transmission while the bus is idle, the node changes to reception.
Operation when the 3rd Intermission Bit is "Dominant"
MSM9225
3 bitsStandard format mode
Transmit statusOperation
No transmit hold
Transmit hold
Evaluated as a start-of-frame output from another node.
Reception is performed.
Evaluated as a start-of-frame from own node. The identifier is transmit.
Bus idle: State where bus is not being used by any node.
52/73
Page 53
¡ Semiconductor
MSM9225
2. Error frame
When an error occurs, the node that detected the error will output this frame.
While a passive error flag is being output, if another node outputs "dominant", the passive error
flag will not end until 6 consecutive bits at the same level are detected.
If 6 consecutive bits are "recessive" but the 7th bit is "dominant", the error flag will end after the
bit level changes to "recessive".
Error frame
R
D
(4)
123(5)
Interframe space of overload frame
Error delimiter
Error flag
Error flag
Error bit
No.
Error flag
1
Error flag
2
Error delimiter
3
Error bit
4
Interframe space/
5
overload frame
Field Definitions
NameNo. of bitsDifinition
6
0 to 6
8
—
3/10
20 Max
Error active node: Outputs 6 consecutive "dominant" bits.
Error passive node: Outputs 6 consecutive "recessive bits".
The node that has received an "error flag" detects a bit stuff error and
outputs an "error flag" again.
Outputs 8 consecutive "receive" bits.
If the 8th bit is observed to be "dominant", an overload frame is transmit
biginning at the next bit.
Output following the bit in which an error occurred.
(In the case of a CRC error, this field is output following the Ack delimiter.)
"Interframe space" or "overload frame" continues.
53/73
Page 54
¡ Semiconductor
MSM9225
3. Overload frame
When reception preparations are not complete, the receive node outputs this frame from the 1st
intermission bit.
If a bit error is detected during intermission, this frame is output from the next bit after a bit error
is detected.
Overload frame
R
D
(4)
123(5)
Interframe space or overload frame
Overload delimiter
Overload flag (node n)
Overload flag (node m)
Each frame
No.
Overload flag
1
from node m
Overload flag
2
from node n
Overload delimiter
3
Each frame
4
Interframe space/
5
overload frame
Field Definitions
NameNo. of bitsDifinition
Outputs 6 consecutive "dominant" bits.
6
0 to 6
8
—
3/10
20 Max
The overload flag is output because node m has not finished reception
preparations.
Having received an "overload flag" during an "interframe space", node n
outputs an overload flag.
Outputs 8 consecutive "recessive" bits.
If the 8th bit is observed to be "dominant", an overload frame is transmit
biginning at the next bit.
Output following end-of-frame, error delimiter, and overload delimiter.
"Interframe space" or "overload frame" continues.
54/73
Page 55
¡ Semiconductor
MSM9225
FUNCTIONS
1. Bus priority decisions
(1) When a single node has started transmission
While the bus is idle, the node that outputs data first will transmit.
(2) When multiple nodes have started transmission
Beginning from the 1st bit of the arbitration field, the node that outputs the longest
consecutive string of "dominant" bits will have priority. (Since the bus has a wired-OR
configuration, "dominant" is strong.)
The transmit node compares the arbitration field that it has output with the data levels on the
bus.
Matching levels
Non-matching levels
Transmission continues.
Data output is terminated from the next bit after non-matching is detedted. The operation
changes to reception.
(3) Data frame and remote frame priority
If a data frame and remote frame contend for control of the bus, the data frame whose last bit,
RTR, is "dominant" will be given priority.
2. Bit stuffing
If 5 or more consecutive bits have the same level, bit stuffing prevents a burst error by appending
1 bit of inverted data, and then re-synchronizing.
When transmitting a data frame or remote frame, if there are 5 consecutive bits with the
Transmission
Reception
same level between the start-of-frame and the CRC field, 1-bit of data at the inverted level
of the previous 5 bits is inserted before the next bit.
When receiving a data frame or a remote frame, if there are 5 consecutive bits with the
same level between the start-of-frame and the CRC field, the next bit is deleted and the
data received
3. Multi-master
So that bus priority can be determined by the identifier, any node may become the bus master.
4. Multi-cast
There is one transmit node, however since multiple nodes can be set with the same identifier,
multiple nodes can simultaneously receive the same data.
5. Sleep and stop mode functions
These modes are low-power consuming standby modes.
Setting the SLEEP bit of the STBY register to "1" sets the sleep mode.
(after bus idle)
Setting the STOP bit of the STBY register to "1" sets the stop mode.
(after bus idle)
The sleep mode is released when the Rx0 and Rx1 differential inputs, the RESET pin input, or the
CS pin input is at a "L" level.
The stop mode is released when the RESET pin input or the CS pin input is at a "L" level.
Comparison of output
level and bus level
(excluding stuff bits)
Verify received data
with the stuff bit
CRC generated from
received data
compared to received
CRC sequence
Verify fixed format
field/frame
Verify Ack slot by
transmit node
Both levels do not
match
Same level of data for
6 consecutive bits
CRC's do not match
Detection of fixed
format violation
Detection of a
"recessive" bit during
Ack slot
Transmit/Receive
node
Transmit/Receive
node
Receive nodeCRC error
Receive nodeForm error
Transmit nodeAck error
Bits that output data onto the
bus, start-of-frame to end-offrame, error frame, and
overload frame
Start-of-frame to CRC
saquence
Start-of-frame to data field
CRC delimiter
• Ack field
• End-of-frame
• Error frame
• Overload frame
Ack slot
(2) Error frame output timing
Type of error
Bit error, stuff error,
form error, Ack error
CRC error
Error frame is output at the next bit after the error is detected.
Error frame is output at the next bit after the Ack delimiter.
Output timing
(3) Procedure when an error is generated
After the error frame, the transmit node retransmits a data frame or a remote frame.
56/73
Page 57
¡ Semiconductor
MSM9225
(4) Error states
(a) Types of error states
• There are three types of error states: error active, error passive, and bus OFF.
• Error states are managed by the transmit error counter and the receive error counter.
• Each error state is classified according to the error counter value.
• The error flag that is output differs depending upon whether the error state is a transmit or
receive operation
• If the value of the error counter is 96 or greater, the bus may be heavily damaged. The bus must
be tested for this condition.
• If only one node is active at startup, even if data is transmit an Ack will not be returned.
Therefore, error frame and data retransmission are repeated. In this case, the bus OFF state will
not be entered. Even if an error state is repeated at the node that transmits messages, the bus
OFF state will not be entered.
• After reset and after the sleep mode wakes up, the error passive state continues until Ack is
received. Regardless of the number of errors that occur, the transmit error counter will be 255.
• Reception can be performed even if transmission is in the bus OFF state.
Type of error stateOperationError counter valueType of error flag to be output
Error activeTransmit/Receivefrom 0 to 127
Transmitfrom 128 to 255Passive error flag
Error passive
Receive128 or greater
Transmit256 or greater
Bus OFF
Receive—No bus OFF
Active error flag
(6 consecutive "dominant" bits)
(6 consecutive "recessive" bits)
Communication not possible.
If 11 consecutive "recessive" bits occur 128
times, then when the error counter = 0, the
state can return to error active.
(b) Error counter
The error counter is incremented when errors occur and is decremented when transmission or
reception is performed correctly. Timing of the increment or decrement occurs at the 1st bit of
the error flag.
57/73
Page 58
¡ Semiconductor
MSM9225
State
Receive node has detected an error
(excluding bit errors within the active error flag or
overload flag)
Receive node detects "dominant" after error flag output
of error frame
Transmit node transmits error flag
[when error counter = 0]
(1) Error passive state and Ack error detected, but
"dominant" not detected in passive error flag output
(2) Stuff error occurred during arbitration field
Bit error detected in output of active error flag, overload flag
(error active transmit node)
Bit error detected in output of active error flag, overload flag
(error active receive node)
Each node detects 14 consecutive "recessive" bits from the
beginning of the active error flag or overload flag, and 8
consecutive "dominant" bits detected thereafter
Each node detects 8 consecutive "dominant" bits after the
passive error flag
Receive error counterTransmit error counter
+1No change
+8No change
No change+8
No change+8
+8No change
+8+8
Transmit node completes transmission without errors
–1
(±0 when error counter = 0)
No changeReceive node completes reception without errors
No change
(1) –1
(1 £ REC £ 127)
(2) ±0 (REC = 0)
(3) Set to 127
*REC: Receive Error Counter
(c) Bit error occurring during intermission
Overload frame is generated.
Note) When an error has occured, error control is performed by the error counter at that time.
After an error flag is output, the indicated values are added to the error counter.
58/73
Page 59
¡ Semiconductor
MSM9225
7. Baud rate control function
(1) Prescaler
The MSM9225 has a prescaler that divides the frequency of the system clock. The prescaler
divides the system clock frequency by a factor of 1 to 64 to generate clock CK
• Sync segment: This is the first segment for bit synchronization.
• Prop segment: This segment absorbs the delay of the output buffer, CAN bus and input
buffer.
Set the prop segment so that Ack will be returned by the start of phase
segment 1.
Prop segment time ≥ (output buffer delay) + (CAN bus delay) + (input
buffer delay)
• Phase segments: These segments compesate for deviations in the data bit timing.
The larger these segments, the greater the allowable deviation, however
communication speed will decrease.
• SJW: Abbreviation of reSynchronization Jump Width. These bits set the bit
synchronization range.
Segment name
CAN protocolMSM9225
Sync segment
(Synchronization segment)
Prop segment
(Propagation segment)
(Phase Buffer segment)
Phase segment 2
(Phase buffer segment)
Sync segment
(Synchronization segment)
(Time segment)
(Time segment)
SJW2 protocol1 to 4, programmable
SJW11 to 4, programmable
TSEG1
TSEG2
Segment length (BTL)
1
1 to 16, programmablePhase segment 1
1 to 8, programmable
59/73
Page 60
¡ Semiconductor
MSM9225
(3) Data bit synchronization
Since there is no sync signal for the receive node, synchronization is obtained from level
changes on the bus.
The transmit node transmits data is synchronization with the transmit node bit timing.
(a) Hardware synchronization
Hardware synchronizaion is the bit synchronization performed when a receive node in the bus
idle state detects a start-of-frame.
If a falling edge is detected on the bus, that bit is the sync segment and is followed by the prop
segment. In this case, syncronization is obtained without regard for SJW.
After reset and after wake up, it is necessary to obtain bit synchronization.
Therefore, hardware synchronizes to the first bus level change only.
Start-of-frameBus idle
CAN bus
Bit timing
Sync segment Prop segment
Phase
segment 1
Phase
segment 2
(b) Bit synchronization
If a level change is detected on the bus during receprion, bit synchronization is obtained.
There are two methods of synchronization.
Normal operation: falling edge of level
Low-speed operation: falling edge and rising edge of level
During the bit timing interval specified by SJW, synchronization is obtained only if an edge is
detected.
The data sampling point of the receive node will move in relation to the shift in baud rate
between the transmit node and receive node.
The range of allowable "shift" is defined as "SJW". The SJW range is centered on the sync
segment and extends both before and after that segment (+/– baud rate). If an edge occurs
within the SJW range, synchronization is obtained.
If an edge occurs outside the SJW range, synchronization is not obtained.
The bit detected at the edge forces the sync segment, and is followed by the prop segment.
The bit timing is restarted.
CAN bus
Bit timing
Sync segment Prop segment
SJW
Later bitsPrevious bits
Phase
segment 1
Phase
segment 2
60/73
Page 61
¡ Semiconductor
8. State transition diagrams
(1) Transmit state transition diagram
Receive
C
Output bit is "1" but
bus level is "0" error
A
Receive
RTR = 1
Start-of-frame
Complete
Arbitration field
Control field
RTR = 0
MSM9225
Output bit is "0" but
bus level is "1" error
Bit error
Error passive
Intermission 2
8 bits of "1"
Data field
Complete
CRC field
Complete
Ack field
Complete
End-of-frame
Complete
Intermission 1
Error active
Bit error
Bit error
Ack error
Bit error
Complete
Bit error
Complete
Initial setting
Error frame
Bit error
Overload frame
Form error
Start-of-frame reception
B
Reception
Bus idle
Start-of-frame transmission
61/73
Page 62
¡ Semiconductor
(2) Receive state transition diagram
Transmit
B
MSM9225
Transmit
A
RTR = 1
Start-of-frame
Complete
Arbitration field
Control field
RTR = 0
Data field
Complete
CRC field
Complete
Ack field
Complete
End-of-frame
Complete
Intermission 1
Stuff error
Stuff error
Stuff error
CRC error
Stuff error
Form error
Bit error
Form error
Bit error
Preparation not
complete
Bit error
Complete
Complete
Error frame
Preparation
not
complete
Overload frame
Form error
Start-of-frame transmission
C
Transmission
Initial setting
Bus idle
Start-of-frame reception
62/73
Page 63
¡ Semiconductor
(3) Error state transition diagram
(a) Transmit
MSM9225
(b) Receive
Error active
TEC £ 127
*TEC: Transmit Error Counter
Error passive
Bus OFF
TEC = 0
Error active
0 £ TEC £ 127
TEC ≥ 128
128 £ TEC £ 255
TEC ≥ 256
TEC ≥ 256
11 consecutive bits are "1", occurs 128 times
0 £ REC £ 127
REC ≥ 128
Error passive
REC = 127
*REC: Receive Error Counter
128 £ REC £ 255
Reception successful
63/73
Page 64
¡ Semiconductor
ABSOLUTE MAXIMUM RATINGS
ParameterSymbolConditionRatingUnit
V
DD
Power Supply Voltage
AV
Input VoltageV
Output VoltageV
Power DissipationP
Operating TemperatureT
Storage TemperatureT
DD
I
O
D
OP
STG
Ta = 25°C
—
—
Ta £ 25°CmW
—
—
RECOMMENDED OPERATING CONDITIONS
MSM9225
–0.3 to +7.0V
–0.3 to +7.0
= VDD)
(AV
DD
–0.3 to VDD + 0.3V
–0.3 to VDD + 0.3V
615
–40 to +115°C
–65 to +150°C
V
ParameterSymbolConditionMin.
Power Supply VoltageV
Operating TemperatureT
DD
OP
Typ.
V
= AV
DD
DD
—
4.5
–40
5.0
+25
Max.
5.5
+115
Unit
V
°C
64/73
Page 65
¡ Semiconductor
ELECTRICAL CHARACTERISTICS
DC Characteristics
= AV
(V
DD
ParameterSymbolApplicable pinMax.Unit
"H" Input VoltageV
"L" Input VoltageV
"H" Input Current
"L" Input Current
V
"H" Output Voltage
V
V
"L" Output Voltage
V
I
I
I
I
IH1
IH2
IL1
IL2
OH1
OH2
OL1
OL2
Applies to all inputs
IH
Applies to all inputs
IL
XT
Other inputs
XT
Other inputs
INT, PRDY/SWAIT
AD7-0/D7-0
INT, PRDY/SWAIT
AD7-0/D7-0
Package material
Lead frame material
Pin treatment
Solder plate thickness
Package weight (g)
Epoxy resin
42 alloy
Solder plating
5 mm or more
0.41 TYP.
Notes for Mounting the Surface Mount Type Package
The SOP, QFP, TSOP, TQFP, LQFP, SOJ, QFJ (PLCC), SHP, and BGA are surface mount type
packages, which are very susceptible to heat in reflow mounting and humidity absorbed in
storage. Therefore, before you perform reflow mounting, contact Oki’s responsible sales person
on the product name, package name, pin number, package code and desired mounting conditions
(reflow method, temperature and times).
73/73
Page 74
E2Y0002-29-11
NOTICE
1.The information contained herein can change without notice owing to product and/or
technical improvements. Before using the product, please make sure that the information
being referred to is up-to-date.
2.The outline of action and examples for application circuits described herein have been
chosen as an explanation for the standard action and performance of the product. When
planning to use the product, please ensure that the external conditions are reflected in the
actual circuit, assembly, and program designs.
3.When designing your product, please use our product below the specified maximum
ratings and within the specified operating ranges including, but not limited to, operating
voltage, power dissipation, and operating temperature.
4.Oki assumes no responsibility or liability whatsoever for any failure or unusual or
unexpected operation resulting from misuse, neglect, improper installation, repair, alteration
or accident, improper handling, or unusual physical or electrical stress including, but not
limited to, exposure to parameters beyond the specified maximum ratings or operation
outside the specified operating range.
5.Neither indemnity against nor license of a third party’s industrial and intellectual property
right, etc. is granted by us in connection with the use of the product and/or the information
and drawings contained herein. No responsibility is assumed by us for any infringement
of a third party’s right which may result from the use thereof.
6.The products listed in this document are intended for use in general electronics equipment
for commercial applications (e.g., office automation, communication equipment,
measurement equipment, consumer electronics, etc.). These products are not authorized
for use in any system or application that requires special or enhanced quality and reliability
characteristics nor in any system or application where the failure of such system or
application may result in the loss or damage of property, or death or injury to humans.
Such applications include, but are not limited to, traffic and automotive equipment, safety
devices, aerospace equipment, nuclear power control, medical equipment, and life-support
systems.
7.Certain products in this document may need government approval before they can be
exported to particular countries. The purchaser assumes the responsibility of determining
the legality of export of these products and will take appropriate and necessary steps at their
own expense for these.
8.No part of the contents cotained herein may be reprinted or reproduced without our prior
permission.
9.MS-DOS is a registered trademark of Microsoft Corporation.
Copyright 1999 Oki Electric Industry Co., Ltd.
Printed in Japan
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.