Hi 3110 - V Rev K
Hi 3110 - V Rev K
Hi 3110 - V Rev K
CANL 9 10 CANH
BLOCK DIAGRAM
VLOGIC
REGISTERS
BIT
CS TIMING
SPI BUS SCK SPI DECODE/
SI ENCODE
SO GND
TRANSMIT
LOGIC & FIFO
TXEN TXD
(HI-3111 only)
HISTORY
FIFO TRANSCEIVER
VDD
GP2
CANH
GP1 INTERRUPTS ERROR
STAT AND STATUS CANL
STATUS & CONTROL
INT RECEIVE
LOGIC & FIFO
SPLIT
(see ordering
information)
FILTERS
16-BIT
OSCIN TIME-TAG RXD
OSCILLATOR COUNTER (HI-3111 only)
OSCOUT (1,2,4,8-BIT
CLK DIV.)
MR
16-BIT
CLKOUT CLOCK DIV
(see ordering OUT
information)
PIN DESCRIPTIONS
SIGNAL FUNCTION DESCRIPTION NOTES
SCK INPUT SPI Clock. Data is shifted into or out of the SPI interface using SCK 50K ohm pull-down
CS INPUT Chip Select. Data is shifted into SI and out of SO when CS is low. 50K ohm pull-up
SI INPUT SPI interface serial data input 50K ohm pull-down
SO OUTPUT SPI interface serial data output
INT OUTPUT Active high. Programmable interrupt output
STAT OUTPUT Active high. Programmable status output.
TXEN INPUT Active high. Transmit Enable pin. When the TXEN pin is asserted, any message 100K ohm pull-down
in the Transmit FIFO will be automatically loaded to the Transmit buffer and sent
if the bus is available. This pin is logically ORed with the TXEN and TX1M bits
in the CTRL1 register. When the TXEN pin is reset, messages loaded to the
FIFO will not be sent until TXEN or TX1M bits are set in the CTRL1 register.
OSCIN INPUT Crystal input. A parallel resonant crystal can be connected between OSCIN and
OSCOUT. If an external clock is used, it should be connected to the OSCIN pin
and the OSCOUT pin should be left floating. The internal oscillator should be
shut off by setting the OSCOFF bit in the CTRL1 register.
OSCOUT OUTPUT Crystal output. If an external clock is used, this pin should be left floating and
disabled by setting the OSCOFF bit in the CTRL1 register.
GP1 OUTPUT General purpose pin 1, which can be programmed to reflect the values of
interrupt and status flag bits.
GP2 OUTPUT General purpose pin 2, which can be programmed to reflect the values of
interrupt and status flag bits.
CLKOUT OUTPUT Clock output pin with programmable frequency divider.
SPLIT OUTPUT VDD/2 output bias (Powered off in Sleep Mode and when the common mode
bias is greater than 25V).
CANH BUS I/O CAN bus line high.
CANL BUS I/O CAN bus line low.
TXD OUTPUT Transmit Data Out. Connect to TXD input pin on CAN transceiver (e.g. HI-3000). HI-3111 only
RXD INPUT Receive Data In. Connect to RXD output pin on CAN transceiver (e.g. HI-3000). HI-3111 only
5V Logic Tolerant
MR INPUT Active High. Device Master Reset input pin. Asserting this pin resets all registers 50K ohm pull-down
and memory buffers to their default state at start-up.
VDD POWER 5V supply voltage input.
VLOGIC POWER 3.3V supply voltage input. This supply is used to drive the host digital logic I/O.
It can either be connected directly to VDD (+5V) or a +3.3V supply.
GND POWER Supply voltage ground.
SLEEP MODE
MODES OF OPERATION The HI-3110 can be placed in a low power sleep mode if
there is no bus activity and the transmit FIFO is empty. In
The HI-3110 supports five modes of operation, namely,
this mode, the internal oscillator and all analog circuitry
Initialization Mode, Normal Mode, Loopback Mode, Monitor
(transceiver) are off, drawing typically less than 20mA. Note
Mode and Sleep Mode.
that the SPI bus is active during sleep mode, so it is possible
for the host to communicate with the HI-3110 while it is
INITIALIZATION MODE
asleep (e.g. load transmit FIFO). Sleep mode is exited by
Initialization mode is used to configure the device before selecting an alternative mode of operation, or automatic
normal operation. Bit timing registers and acceptance wake up following bus activity can be enabled by setting the
filters and masks can only be modified in this mode. WAKEUP bit in the CTRL0 register - in this case a low power
Initialization mode is the default mode following RESET and receiver monitors the bus for a detectable dominant bit..
can also be activated by programming the MODE<2:0> bits The device will wake up in Monitor Mode. Note that it will
to <1xx> in the CTRL0 register. Switching to Initialization take a finite time for the oscillator and analog circuitry to
mode resets the receiver and transmitter. During come back on line. Since the internal oscillator takes a finite
initialization mode, the error counters are held reset. time to wake up, the message which caused the wake-up
may not be stored.
NORMAL MODE
Sleep mode is activated by programming the MODE<2:0>
Normal mode is the standard operating mode of the HI-3110. bits to <011> in the CTRL0 register. However, the actual
In this mode, the HI-3110 can transmit, receive and mode change will only occur whenever the CAN bus is quiet.
acknowledge messages from the CAN bus, handling all If the chip is transmitting, the mode change is delayed until
aspects of the CAN protocol. Normal mode is activated by the transmission is complete. If there is bus activity, the
programming the MODE<2:0> bits to <000> in the CTRL0 mode change is delayed until the receiver protocol control
register. detects an inter-message gap.
.....
Bus Idle or SOF
IFS
1 1 1 1 1 1 1 1 1 1 1
Intermission
EOF
7
ACK Del
ACK Slot bit
CRC Del KEY.
1
SOF Start-Of-Frame
IDxx Identifier bit xx
RTR Remote Transmission Request bit
IDE Identifier Extension Flag
CRC Field
r0 Reserved bit 0
DLCx Data Length Code bit x
15
16
8
8n (0 £ n £ 8)
Data Field
......
8
DLC0
Length
Control Field
Code
Data
4
DLC3
6
r0 Reserved bit
IDE
0 0
RTR
ID18
Arbitration Field
Base Identifier
12
ID23
11
ID28
SOF
0
........
Bus Idle or SOF
IFS
1 1 1 1 1 1 1 1 1 1 1
Intermission
EOF
7
ACK Del
ACK Slot bit
CRC Del
1
KEY.
CRC Field
SOF Start-Of-Frame
15
16
EOF End-Of-Frame
....
DLC0
Control Field
Length
Code
Data
4
6
DLC3
r0
r1 Reserved bits
RTR
0
ID0
Extended Identifier
18
ID9
Arbitration Field
32
ID17
IDE
1 1
SRR
ID18
Base Identifier
ID23
11
ID28
SOF
0
32 6 16 7
Arbitration Field Control Field CRC Field EOF IFS
11 18 4 15
10
SOF
ID28
ID23
ID18
SRR
IDE
ID17
ID9
ID0
RTR
r1
r0
DLC3
DLC0
CRC Del
ACK Slot bit
ACK Del
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .....
Base Identifier Extended Identifier Data
Length
Code
Reserved bits
Bus Idle or SOF
HI-3110, HI-3111, HI-3112, HI-3113
32 6 8n (0 £ n £ 8)
Arbitration Field Control Field Data Field
11 18 4 8 8
SOF
ID28
ID23
ID18
SRR
IDE
ID17
ID9
ID0
RTR
r1
r0
DLC3
DLC0
0 1 1 0 ....
Base Identifier Extended Identifier Data
Length
11
Code
Error Frame
Reserved bits
Error Flag Field
6 Up to 6 bits 8
Active Error Error
HI-3110, HI-3111, HI-3112, HI-3113
0 0 0 0 0 0 0 0 .... 0 0 1 1 1 1 1 1 1 1 1 1 1
Data Frame or Remote Frame
7
EOF IFS
Overload Frame
.... 1 1 1 1 1 1 1 1 0
12
Overload Frame
Illegal Dominant Bit in IFS
Intermission
6 Up to 6 bits 8
Overload Overload Overload
Flag Echo Delimiter
Flag
0 0 0 0 0 0 0 0 .... 0 0 1 1 1 1 1 1 1 1 1 1 1
HI-3110, HI-3111, HI-3112, HI-3113
BIT WISE ARBITRATION
Bitwise arbitration works by comparing each node’s
The CAN standard resolves data contention on the bus transmitted data bit by bit. All nodes are synchronized by
using a scheme called Carrier Sense Multiple adjusting individual bit times as a function of bit time quanta
Access/Collision Detection-Carrier Resolution (CSMA/CD- (see section on bit timing). Synchronization takes place on
CR). recessive to dominant edges. A Hard Synchronization at the
start of each frame and subsequent re-synchronizations
Carrier Sense: Each node waits for a period without bus during a message frame ensures corresponding bits match
activity (bus idle state) before attempting transmission. in time during a given transmission cycle. When a node
Multiple Access: Every node on the bus has equal access transmits a recessive bit on the bus, but detects a dominant
to the bus for transmitting. bit on it’s receiver, it realizes arbitration is lost and it
Collision Detection: Collisions occur if two nodes attempt immediately ceases transmission and becomes a receiver.
to transmit at the same time. It will then wait for the next bus idle state and attempt to re-
Collision Resolution: Collisions are resolved by bitwise transmit. Eventually, lower priority messages will gain
arbitration. Highest priority messages (lowest binary access to the bus. Figure 7 shows an example of how this
identifiers) are sent first without delay and lower-priority works for a frame with a standard identifier.
messages are automatically re-transmitted later. A dominant
bit (logic 0) has priority over a recessive bit (logic 1).
Start-OF-Frame
ID18
RTR
TXCAN: Node 1 1
0
TXCAN: Node 2 1
0
TXCAN: Node 3 1
0
The TQ clock is used to construct the bit time in terms of time Propagation Time Segment (Prog Seg)
quanta, such that one time quantum, Tq, equals one TQ
clock period, tTQ, as shown in figure 8 below. The Prog Seg is used to compensate for physical delays on
The CAN system nominal bit rate (BR) is defined in terms of the bus, which include signal propagation delay time on the
the nominal bit time, tb, as bus and internal node delay times. For two nodes A and B
communicating on the bus, Prog Seg must be greater than
BR = 1/tb (2) or equal to the sum of both nodes internal delays plus twice
the bus line propagation delay between the two nodes.
Therefore, the nominal bit rate is related to the TQ clock
period by the following relationship
tOSC
OSC
TQ
Clock
Sample
Point
Synchronization
Synchronization is carried out only on recessive-to-
dominant bit edges and is used to ensure the bit times of all
nodes on the bus are synchronized. This is necessary for
arbitration and message acknowledgment to function
properly. Only one synchronization can occur per bit time.
REGISTERS
This section describes the HI-3110 registers. All register bits are active high. Unless otherwise indicated, all registers are reset
in software to the logic zero condition after Master Reset. For all registers, bit 7 is the most significant:
Note: Free-running counter registers, TIMERUB:TIMERLB are read with a single SPI Op-code (0xFA) as a 16-
bit value in two SPI data bytes.
Power-On-Reset
Following power-on, the HI-3110 will automatically perform a Master Reset and return all registers to the default state.
Following reset, the device will default to Initialization Mode to allow programming of Control and Bit Timing Registers (see
following sections).
ES P
R EU
O 2
M E1
W E0
0
BO ET
TT IV1
E
IV
D
D
D
AK
D
D
O
TT
M
M
(Write, SPI Op-code 0x14)
(Read, SPI Op-code 0xD2)
7 6 5 4 3 2 1 0
MSB LSB
3 RESET R/W 0 Setting this bit causes HI-3110 reset to occur. Following reset, the CTRL0 register should be
written with < 1 x x x 0 x x x >. This will clear the RESET bit and also avoid unpredictable
behavior by ensuring the part is programmed to Initialization Mode, ready for set-up.
A reset may also be performed by setting the MR pin or issuing the “MR” SPI command, 0x56.
1 = Master Reset (same as MR pin = 1).
0 = Normal Operation (same as MR pin = 0).
1-0 TDIV1:0 R/W 0,0 Time Tag Clock Division Bits <1:0>. See TIMERUB and TIMERLB register descriptions.
00 = No division (counts every bit clock).
01 = Divide by 2 (counts every 2 bit clocks).
10 = Divide by 4 (counts every 4 bit clocks).
11 = Divide by 8 (counts every 8 bit clocks).
0
F
LK 1
IV
- OF
C DIV
O ON
D
TX N
1M
SM
SC
LT
E
LK
TX
FI
O
C
(Write, SPI Op-code 0x16)
(Read, SPI Op-code 0xD4)
7 6 5 4 3 2 1 0
MSB LSB
3 OSCOFF R/W 0 Oscillator off. This bit should be set to a one if an external clock is used. In this case the
external clock is connected to the OSCIN pin and OSCOUT should be left floating.
1 = Shuts off external OSCOUT pin.
0 = OSCOUT pin enabled.
SJ 1
BR 0
P0
BR 4
BR 3
BR 2
BR 5
P1
W
W
P
P
P
P
BR
SJ
(Write, SPI Op-code 0x18)
(Read, SPI Op-code 0xD6)
7 6 5 4 3 2 1 0
MSB LSB
BTR0 defines the value of the Re-synchronization Jump Width (SJW) and the Baud Rate Prescaler (BRP). This register can be read
anytime and written only in init mode (MODE<2:0> bits set to <1xx> in the CTRL0 register).
Note: ARINC 825 states that the Re-synchronization Jump Width shall be 1 Tq
0
E -2
E -0
E -3
E -2
E -1
EG -1
1-
TS 2
TS G2
TS G1
TS G1
TS G2
TS G1
TS P
EG
M
SA
(Write, SPI Op-code 0x1A)
(Read, SPI Op-code 0xD8)
7 6 5 4 3 2 1 0
MSB LSB
BTR1 configures the CAN protocol bit timing segments in terms of time quanta (Tq) and sets the number of sampling points. This
register can be read anytime and written only in init mode (MODE<2:0> bits set to <1xx> in the CTRL0 register).
Notes: ARINC 825 states that there shall be only one sample per bit. Furthermore, it is
recommended to sample only once at higher CAN bit rates. Bit sampling occurs at the end of
Phase Seg1.
Notes: ARINC 825 states that the sample point shall not be less than 75% of the bit time. In
this case, Tseg1 should be a minimum of 5Tq for Phase Seg2 (Tseg2) = 2Tq and SJW = 1Tq.
The TEC register reflects the current value of the CAN Transmit Error Counter. This register can be written by SPI command for test
purposes.
96£ TEC £ 127: Error active status. Error warning flag, ERRW, set in STATF register. This
may be used to generate a hardware interrupt if ERRWIE bit is set in STATFE register.
128 £ TEC£ 255: Error passive status. Transmit error passive flag, TXERRP, set in ERR
register. ERRP also set in STATF register. This may be used to generate a hardware interrupt if
ERRPIE bit is set in STATFE register.
TEC > 255: Bus-off status. Bus-off flags, BUSOFF, set in ERR and STATF registers. The
latter may be used to generate a hardware interrupt if BUSOFFIE bit is set in STATFE register.
The HI-3110 will, after entering bus-off state, automatically recover to error active status
without host intervention if the BOR bit is set in control register CTRL0 and 128 x 11
consecutive recessive bits are detected on the bus. If the BOR bit is not set, bus-off recovery is
managed by the host.
The REC register reflects the current value of the CAN Receive Error Counter. This register can be written by SPI command for test
purposes.
96 £ REC £ 127: Error active status. Error warning flag, ERRW, set in STATF register. This
may be used to generate a hardware interrupt if ERRWIE bit is set in STATFE register.
128 £ REC £ 255: Error passive status. Receive error passive flag, RXERRP, set in ERR
register. ERRP also set in STATF register. This may be used to generate a hardware interrupt if
ERRPIE bit is set in STATFE register.
FI IT3
FI IT2
M IT0
FI IT1
T0
TS T1
M G1
TS G0
TA
TA
LH
LH
LH
LH
TA
TA
FI
(Read only)
(Read, SPI Op-code 0xDA)
7 6 5 4 3 2 1 0
MSB LSB
This register reflects transmission status and also which filters were responsible for filtering valid received messages. It is read-only.
Note: Filter checking is carried out by the internal logic in order of increasing filter
number. Once a filter matches, no further checking takes place. Therefore, in
the case of more than one filter matching for a given message, the lowest
filter will be given priority and the FILHIT3:0 bits will reflect this value.
R
ERROR REGISTER: ERR
R R
KE R
TE P
ER F
XE P
R
U R
FR RR
C ER
AC ER
BI RR
TX O F
R R
ST R
FE
M
C
S
BU
(Read only)
(Read, SPI Op-code 0xDC)
7 6 5 4 3 2 1 0
MSB LSB
The ERR register indicates CAN bus status and protocol errors. It is read only. All bits default to 0 at power up and maintain their
current status following reset. Bits 4:0 are reset following a host read.
M P
C R
M S
BU PLT
TX IFO
F1 EU
R MP
M ER
ES
F0 ES
W G
H
AK
S
XT
XF
C
R
(Read only)
(Read, SPI Op-code 0xDE)
7 6 5 4 3 2 1 0
MSB LSB
The Interrupt Flag Register INTF bits will be set by HI-3110 when the corresponding related events described below occur. If
individual bits in the Interrupt Enable Register INTE are set, the INT pin will be latched high when any of the corresponding INTF bits
are set. This alerts the host that one of the conditions below has occurred. Reading this register will clear all bits and reset the INT pin.
The value of individual bits in the INTF register may also be reflected on the GP1 and GP2 pins by setting the correct bit combinations
in the General Purpose Pins Enable Register GPINE (see section General Purpose Pins Enable Register).
F0 ES E
W GI E
M SIE
S IE
C IE
INTERRUPT ENABLE REGISTER: INTE
M PI
XF IE
H I
IE
C R
AK E
BU PLT
TX IFO
F1 EU
R MP
M ER
ES
XT
R
(Write SPI Op-code 0x1C)
(Read, SPI Op-code 0xE4)
7 6 5 4 3 2 1 0
MSB LSB
Setting bits in the Interrupt Enable Register causes a hardware interrupt to be generated at the INT pin when the
corresponding bits in the Interrupt Flag Register are set by HI-3110 as a result of the related events described below.
6 RXFIFOIE R/W 0 Enable interrupt when a message is received in the receive FIFO (filtered).
Setting this bit causes a hardware interrupt to be generated at the INT pin when the
RXFIFO bit is set in the INTF register.
2 WAKEUPIE R/W 0 Enable interrupt when HI-3110 wakes up from Sleep Mode.
Setting this bit causes a hardware interrupt to be generated at the INT pin when the WAKEUP
bit is set in the INTF register.
LL
XF F
XF Y
TX U L L
ER ISF
R OF
TX T Y
FU
R MT
ER W
BU P
M
R
R
S
H
F
TX
(Read-only)
(Read, SPI Op-code 0xE2)
7 6 5 4 3 2 1 0
MSB LSB
The Status Flag Register STATF bits will be set by HI-3110 when the corresponding related events described below occur. Unlike the
Interrupt Flag Register, reading this register will NOT clear all bits. These bits are reset automatically by HI-3110 when the described
status for each bit changes (e.g. if TXMTY is set and a message is loaded to the transmit FIFO, TXMTY will be automatically cleared
by HI-3110). If individual bits in the Status Flag Enable Register STATFE are set, the STAT pin will pulse high when any of the enabled
STATF bits are set. The value of individual bits in the STATF register may also be reflected on the GP1 and GP2 pins by setting the
correct bit combinations in the General Purpose Pins Enable Register GPINE.
FE
R MT E
FU FE
H FE
R FE
F FE
F
STATUS FLAG ENABLE REGISTER: STATE
LL
R E
S E
XF F
XF Y
TX U L L
ER WF
ER ISF
R OF
TX T Y
BU PF
M
TX
(Write, SPI Po-code 0x1E)
(Read, SPI Op-code 0xE6)
7 6 5 4 3 2 1 0
MSB LSB
Setting bits in the Status Flag Enable Register causes the STAT pin to go high when any of the corresponding bits in the Status Flag
Register are set by HI-3110 as a result of the related events described below.
4 ERRWFE R/W 0 Error warning status flag enable (96 £ (TEC or REC) £ 127).
Setting this bit causes the status of the ERRW bit in the Status Flag Register to be output on the
STAT pin.
GPINE7:4 GPINE3:0
Setting bits in the General Purpose Pins Enable Register allows the user to reflect the values of the Interrupt Flag bits in the INTF
Register or the Status Flag bits in the STATF Register on the GP1 andGP2 pins.
0000: GP2 pin is asserted when F0MESS bit is set in register INTF.
0001: GP2 pin is asserted when F1MESS bit is set in register INTF.
0010: GP2 pin is asserted when WAKEUP bit is set in register INTF.
0011: GP2 pin is asserted when MCHG bit is set in register INTF.
0100: GP2 pin is asserted when BUSERR bit is set in register INTF.
0101: GP2 pin is asserted when TXCPLT bit is set in register INTF.
0110: GP2 pin is asserted when RXFIFO bit is set in register INTF.
0111: GP2 pin is asserted when RXTMP bit is set in register INTF.
1000: GP2 pin is asserted when RXFFULL bit is set in register STATF.
1001: GP2 pin is asserted when RXFMPTY bit is set in register STATF.
1010: GP2 pin is asserted when BUSOFF bit is set in register STATF.
1011: GP2 pin is asserted when ERRP bit is set in register STATF.
1100: GP2 pin is asserted when ERRW bit is set in register STATF.
1101: GP2 pin is asserted when TXHISF bit is set in register STATF.
1110: GP2 pin is asserted when TXFULL bit is set in register STATF.
1111: GP2 pin is asserted when TXMPTY bit is set in register STATF.
3-0 GPINE3:0 R/W 0000 Reflect status of interrupt flag bits in INTF or status flag bits in STATF on GP1 pin as follow:
0000: GP1 pin is asserted when F0MESS bit is set in register INTF.
0001: GP1 pin is asserted when F1MESS bit is set in register INTF.
0010: GP1 pin is asserted when WAKEUP bit is set in register INTF.
0011: GP1 pin is asserted when MCHG bit is set in register INTF.
0100: GP1 pin is asserted when BUSERR bit is set in register INTF.
0101: GP1 pin is asserted when TXCPLT bit is set in register INTF.
0110: GP1 pin is asserted when RXFIFO bit is set in register INTF.
0111: GP1 pin is asserted when RXTMP bit is set in register INTF.
1000: GP1 pin is asserted when RXFFULL bit is set in register STATF.
1001: GP1 pin is asserted when RXFMPTY bit is set in register STATF.
1010: GP1 pin is asserted when BUSOFF bit is set in register STATF.
1011: GP1 pin is asserted when ERRP bit is set in register STATF.
1100: GP1 pin is asserted when ERRW bit is set in register STATF.
1101: GP1 pin is asserted when TXHISF bit is set in register STATF.
1110: GP1 pin is asserted when TXFULL bit is set in register STATF.
1111: GP1 pin is asserted when TXMPTY bit is set in register STATF.
The timer may be reset by the host after any interrupt condition (e.g. reading the receive buffer,
transmit FIFO empty, etc), by issuing an SPI instruction (see Table 1, SPI Instruction Set).
7-0 T7:0 R/W 0x00 Free Running Timer Lower Byte, bits <7:0>.
NOTE: A single SPI Op-code (0xFA) reads the16-bit timer value in two SPI data bytes,
TIMERUB and TIMERLB. TIMERUB is read first.
SI MSB LSB
High Z High Z
SO MSB LSB
CS
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
SCK
MSB LSB
SI
Data Byte
CS
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
SCK
SPI Mode 0
MSB LSB MSB LSB MSB LSB
SI
CS
READ Commands
Read Bit Timing Register 0 0xD6 1 byte (see BTR0 Register Definition)
Read Bit Timing Register 1 0xD8 1 byte (see BTR1 Register Definition)
Read Message Status Register 0xDA 1 byte (see MESSTAT Register Definition)
Read Error Register 0xDC 1 byte (see ERR Register Definition)
Read Interrupt Flag Register 0xDE 1 byte (see INTF Register Definition)
Read Status Flag Register 0xE2 1 byte (see STATF Register Definition)
Read Interrupt Enable Register 0xE4 1 byte (see INTE Register Definition)
Read Status Flag Enable Register 0xE6 1 byte (see STATFE Register Definition)
Reserved
(Factory test purposes only) 0x4E 13 bytes
Reserved
(Factory test purposes only) 0xF4 1 byte
Reserved
(Factory test purposes only) 0xF6 1 byte
RESET Commands
Abort Transmission
(stops current transmission and
resets TXEN & TX1M) 0x52 None (see CTRL1 Register Definition)
Reset Time Tag Counter 0x58 None (see TIMERUB and TIMERLB
Register Definitions)
WRITE Commands
Write Bit Timing Register 0 0x18 1 byte (see BTR0 Register Definition)
Write Bit Timing Register 1 0x1A 1 byte (see BTR1 Register Definition)
Write Interrupt Enable Register 0x1C 1 byte (see INTE Register Definition)
Write Status Flag Enable Register 0x1E 1 byte (see STATFE Register Definition)
Write REC Register (Test only) 0x24 1 byte (see REC Register Definition)
Write TEC Register (Test only) 0x26 1 byte (see TEC Register Definition)
Load Transmit
Buffer with
next message
NO
Is CAN bus Generate
Write Tx FIFO available? Interrupt at pin
HI-3110 Transmit Message Flow Diagram
YES
YES
Message 8
Message 7 NO
Set BUSERR Is BUSERRIE
Message 6 Transmit message flag set?
Message
36
Message 5
Error
Message 4
Message 3
Message 2
NO
Message 1 Successful message Message error or
transmission? lost arbitration? Lost
Arbitration
Write Transmit
NO History FIFO
YES
TX1M = 1?
NO
7
6
5
4
3
2
MT
MT
MT
MT
MT
MT
x x
1 Message Tag*
28
21
ID
ID
2 ID28 to ID21
18
20
R
E
RT
ID
ID
ID
x x x
3 ID20 to ID18, RTR, IDE
C0
C3
C2
DL 1
C
DL
DL
DL
r0
x x x
4 r0, DLC3 to DLC0
0
DB
DB
5 *Data Byte 1
.
6 Data Byte 2 .
.
.
7 Data Byte 3 .
.
.
8 Data Byte 4 .
.
.
9 Data Byte 5 .
.
.
10 Data Byte 6 .
.
.
11 Data Byte 7 .
7
0
DB
DB
12 Data Byte 8
* Note: The Message Tag is a host-assigned identifier that is stored along with a time tag in the Transmit
History FIFO. It can be used by the host to log successfully transmitted messages at a later time.
7
6
5
4
3
2
MT
MT
MT
MT
MT
MT
x x
1 Message Tag*
28
21
ID
ID
2 ID28 to ID21
18
17
15
20
E
SR
ID
ID
ID
ID
ID
3 ID20 to ID18, SRR, IDE,
ID17 to ID15
14
7
ID
ID
4 ID14 to ID7
R
0
6
RT
ID
ID
5 ID6 to ID0, RTR
C3
C2
C1
C0
DL
DL
DL
DL
r1
r0
x x
6 r0, r1, DLC3 to DLC0
7
0
DB
DB
7 Data Byte 1
.
.
8 Data Byte 2 .
.
.
9 Data Byte 3 .
.
.
10 Data Byte 4 .
.
.
11 Data Byte 5 .
.
.
12 Data Byte 6 .
.
.
13 Data Byte 7 .
7
0
DB
DB
14 Data Byte 8
* Note: The Message Tag is a host-assigned identifier that is stored along with a time tag in the Transmit
History FIFO. It can be used by the host to log successfully transmitted messages at a later time.
7
6
5
4
3
2
MT
MT
MT
MT
MT
MT
x x
1 Message Tag
14
13
12
15
11
10
9
8
TT
TT
TT
TT
TT
TT
TT
TT
2 Time Tag Upper Byte
6
5
4
3
1
0
7
2
TT
TT
TT
TT
TT
TT
TT
TT
3 Time Tag Lower Byte
HI-3110 Receive Buffers and Frame specific to Extended IDs should be written as zeros for
Standard IDs. The filter mechanism works by comparing the
Acceptance Filters filter ID to the CAN message ID. If the corresponding bit in
the mask ID is logic one, then the CAN ID bit must match the
filter ID for acceptance to occur. If a mask ID bit is logic zero,
RECEIVE BUFFERS then acceptance will occur regardless of the value of the
The HI-3110 has an extremely flexible receive buffer and ID CAN ID bit. In this case, the filter bits are don’t care.
filter scheme. Acceptance filters and masks may only be
programmed when the device is in Initialization Mode. Following reset, all eight filter and mask registers should be
The basic concept is shown in figure 13. All valid received loaded before enabling the FILTON bit. Note that following
messages (both standard or extended frames) are stored in reset, filter and mask bits are not reset, therefore the
the temporary receive buffer before passing through the FILTON bit may be set to enable filtering using the pre-reset
mask and filter values.
filter bank. The host can read the temporary receive buffer
using SPI commands 0x42 or 0x44 (see table 1). The filter
bank must be enabled by setting the FILTON bit in Control READING THE RECEIVE BUFFERS VIA SPI
Register, CTRL1. The default after reset is FILTON = 0, Table 1 summarizes the SPI instructions for reading the
which disables the filter bank and stores every valid receive buffers. The host has a choice of retrieving a
message received in the FIFO. With filtering enabled, it is message with a 16-bit time tag or not. The receive data
possible to filter up to eight extended identifiers plus the first format is shown in Table 5. The first data byte identifies
two associated data bytes. Any filtered messages will be whether the frame was standard or extended format and the
passed to the receive FIFO. Up to eight messages can be FILHIT2:0 bits identify which filter passed the message;
stored in the receive FIFO. All valid received messages <000> to <111>. If more than one filter passed the message,
the lowest value will be given priority and be identified by the
have a 16-bit time tag appended following transmission of
FILHIT2:0 bits. As can be seen in Table 5, bits specific to
the ACK bit. The user can decide to retrieve the time tag or extended frames will be read as zeros for standard frames.
not via dedicated SPI instructions (see Table 1). If the received data does not contain an 8 byte payload (8
data bytes), the HI-3110 will pad the remaining data bytes
with zeros. The host should keep CS low for the duration of
FILTER AND MASK ID FORMAT the SPI sequence.
The HI-3110 allows filtering of up to 8 unique extended
frames with the first two data bytes. Filtering is enabled by
setting the FILTON bit in Control Register 1, CTRL1. It the
FILTON bit is not set, then filtering is globally disabled and all
CAN IDs are accepted.
ID Acceptance Filter 0
ID Mask Filter 0
MESSTAT Register
FILHIT3:0 bits
Yes
Match ? FILHIT3:0 = 1000
No
ID Acceptance Filter 1
ID Mask Filter 1
Yes
Match ? FILHIT3:0 = 1001
No
Load Receive
FIFO
........
........
ID Acceptance Filter 7
ID Mask Filter 7
Yes
Match ? FILHIT3:0 = 1111
No
a) Filter ID Format
1
D2
D2
FI
FI
1 ID28 to ID21
5
0
D1
D1
D1
D2
R
E
RT
FI
FI
FI
ID
FI
(Note: ID17 to ID15 should be written
as zeros for Standard ID)
D7
D1
FI
FI
3 ID14 to ID7
(Note: Written as zeros for Standard ID)
D0
D6
FI
FI
4 ID6 to ID0 x
(Note: Written as zeros for Standard ID)
B7
B0
FD
FD
5 Data Byte 1
B7
B0
FD
FD
6 Data Byte 2
b) Mask ID Format
1
D2
D2
MI
MI
1 ID28 to ID21
5
0
ID17 to ID15
D1
D1
D1
D2
R
E
MI
MI
MI
MI
ID
D7
D1
MI
MI
3 ID14 to ID7
(Note: Written as zeros for Standard ID)
D0
D6
MI
MI
4 ID6 to ID0 x
(Note: Written as zeros for Standard ID)
B7
B0
MD
MD
5 Data Byte 1
B7
B0
MD
MD
6 Data Byte 2
FI T2
FI T1
0
IT
1 Message Tag
I
I
LH
LH
LH
E
ID
FI
(Note: This byte does not apply to the x x x x
Temporary Receive Buffer)
14
13
12
15
11
10
9
8
TT
TT
TT
TT
TT
TT
TT
TT
(Note: This byte only applies to time tag
SPI instructions; see Table 1)
6
5
4
3
1
0
7
2
TT
TT
TT
TT
TT
TT
TT
TT
(Note: This byte only applies to time tag
SPI instructions; see Table 1)
28
21
ID
ID
4 ID28 to ID21
18
17
15
20
E
SR
ID
ID
ID
ID
ID
(Note: SRR and ID17 to ID15 are
read as zeros for Std Frames)
14
7
ID
ID
6 ID14 to ID7
(Read as zeros for Std Frames)
R
0
6
RT
ID
ID
C0
DL
DL
DL
DL
r1
r0
0
DB
DB
9 Data Byte 1
.
.
10 Data Byte 2 .
.
.
11 Data Byte 3 .
.
.
12 Data Byte 4 .
.
.
13 Data Byte 5 .
.
.
14 Data Byte 6 .
.
.
15 Data Byte 7 .
7
0
DB
DB
16 Data Byte 8
TIMING DIAGRAMS
CS
tCHH
t CSS t SCKF t CSH
SCK
t DS t DH t SCKR
SI MSB LSB
CS
t SCKH tSCKL
SCK
t DV t CHZ
SO
MSB LSB
Hi Impedance Hi Impedance
NOTES:
1. Human Body Model (HBM).
2. Junction Temperature TJ is defined as TJ = TAMB + P × Rth, where TAMB is the ambient or operating temperature, P is the power dissipation and Rth is
a fixed thermal resistance value which depends on the package and circuit board mounting conditions.
Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the device. These are stress ratings only. Functional
operation of the device at these or any other conditions above those indicated in the operational sections of the specifications is not implied. Exposure
to absolute maximum rating conditions for extended periods may affect device reliability.
DC ELECTRICAL CHARACTERISTICS
VLOGIC = 3.3V or 5V, VDD = 5V. Operating temperature range (unless otherwise noted).
LIMITS
PARAMETER SYMBOL CONDITIONS UNIT
MIN TYP MAX
Supply
Supply Voltage VLOGIC 3.15 5.25 V
VDD 4.75 5.25 V
Logic Inputs
Logic Outputs
Oscillator Pins
OSCIN Feedback Resistor ROSC Control Register 1, bit 3 = 0
Input at VLOGIC or 0V 4 5 6 MΩ
Control Register 1, bit 3 = 1
Input to VLOGIC only (pull down) 4 5 6 MΩ
OSCOUT Drive Current IOSC VLOGIC = 3.3V, VIN = 3.3V, VOUT = 0.5V 0.85 1.1 mA
VLOGIC = 3.3V, VIN = 0V, VOUT = 2.8V -0.7 -0.45 mA
Dominant differential output voltage VDIFF(d)(o) 45 Ω < RL < 65 Ω, see Fig. 15 1.5 3 V
Recessive differential output voltage VDIFF(r)(o) No Load − 50 0 50 mV
Dominant differential input voltage (receiver) VDIFF(d)(i) − 12 V < VCANH, VCANL < + 12 V 0.9 V
Recessive differential input voltage (receiver) VDIFF(r)(i) − 12 V < VCANH, VCANL < + 12 V 0 0.5 V
Differential input hysteresis (receiver) VDIFF(hys) − 12 V < VCANH, VCANL < + 12 V 70 mV
See Fig. 18
Input leakage current ICANH, ICANL VDD = 0 V (unpowered node) − 200 + 200 μA
Short circuit output current IO(sc) pin CANH, VCANH = -58 V − 200 mA
pin CANL, VCANL = +58 V 200 mA
See Fig. 16
SPLIT pin output voltage Vsplit Normal Mode 2.4 2.5 2.6 V
See Fig. 17
AC ELECTRICAL CHARACTERISTICS
VLOGIC = VDD = 5V. Operating temperature range (unless otherwise noted).
LIMITS
PARAMETER SYMBOL UNITS
MIN TYP MAX
Time Out
Permanent dominant time-out tdom(TXD) 0.3 2 6 ms
External Clock
Maximum external clock frequency on OSCIN pin fOSC(max) 40 MHz
Time Out
Permanent dominant time-out tdom(TXD) 0.3 2 6 ms
External Clock
Maximum external clock frequency on OSCIN pin fOSC(max) 40 MHz
Internal
transceiver
RL VDIFF(d)(o)
VO(CANH)
VO(CANL)
Dominant
~3.5V: VO(CANH)
Recessive
~2.5V
~1.5V: VO(CANL)
0V
VDIFF(d)(o) RL
Internal
transceiver CANH
0V
+_ -58V or +58V
CANL
HI-3110 CANH
Rs = 60 W
SPLIT
Rs = 60 W
CANL
CANH Internal
Transceiver
VDIFF(d)(i) RXD
C1
HI-3110 OSCIN
R Crystal
Resonator
OSCOUT
C2
OSCOUT 2 17 MR OSCOUT 2 17 MR
OSCIN 3 16 CS OSCIN 3 16 CS
GP1 4 15 SO GP1 4 15 SO
3111PSx 3112PSx
GP2 5 14 SI GP2 5 14 SI
VLOGIC
OSCO
OSCO
INT
INT
MR
MR
-
-
-
-
-
-
-
-
-
-
-
-
44
43
42
41
40
39
38
37
36
35
34
44
43
42
41
40
39
38
37
36
35
34
- 1 33 - - 1 33 -
- 2 32 CS - 2 32 CS
OSCI 3 31 SO OSCI 3 31 SO
GP1 4 30 SI GP1 4 30 SI
- 5 29 SCK - 5 29 SCK
GP2 6 3113PCx 28 - GP2 6 3111PCx 28 -
TXEN 7 27 STAT TXEN 7 27 STAT
CLKOUT 8 26 - CLKOUT 8 26 -
- 9 25 - RXD 9 25 TXD
- 10 24 - - 10 24 -
- 11 23 - - 11 23 -
12
13
14
15
16
17
18
19
20
21
22
12
13
14
15
16
17
18
19
20
21
22
CANL
CANL
SPLIT
-
GND
GND
CANH
CANH
VDD
VDD
-
-
-
GND
GND
-
-
-
-
-
-
-
44 Pin Plastic QFN, 7mm x 7mm 44 Pin Plastic QFN, 7mm x 7mm
ORDERING INFORMATION
PART PACKAGE
NUMBER DESCRIPTION
PS 18 PIN PLASTIC WIDE BODY SOIC (18HW)
PC 44 PIN PLASTIC QFN (44PCS) (HI-3111 & HI-3113 only)
PART DESCRIPTION
NUMBER
3110 Integrated transceiver with SPLIT pin option
3111 Digital-only option, no transceiver
3112 Integrated transceiver with CLKOUT pin option
3113 Integrated transceiver with both SPLIT & CLKOUT pin options
(QFN-44 package (44PCS) only)
REVISION HISTORY
11.55
BSC 0.265 ± 0.065
(0.455)
(0.010 ± 0.003)
See Detail A
1.27 0° to 8°
BSC 0.20 ± 0.10
(0.05) (0.008 ± 0.004)
0.835 ± 0.435
(0.033 ± 0.017)
BSC = “Basic Spacing between Centers”
is theoretical true position dimension and Detail A
has no tolerance. (JEDEC Standard 95)
0.50 BSC
(0.0197)
0.400 ± 0.050
1.00 Electrically isolated heat (0.016 ± 0.002)
max 0.200 typ sink pad on bottom of
(0.039)
(0.008) package
Connect to any ground or
power plane for optimum
BSC = “Basic Spacing between Centers” thermal dissipation
is theoretical true position dimension and
has no tolerance. (JEDEC Standard 95)