AT7908E - Complete

Features
• Designed in Accordance with CAN Specification 2.0B
• CAN 2.0B Protocol Functions
• 4 Different Data Rates Using an Internal Programmable Prescaler
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
– 1 Mbit/s, 500 kbit/s, 250 kbit/s, 125 kbit/s
16 MHz Cycle Frequency
Power-down: Sleep Mode
CAN Bus Line Arbitration
All Required CAN Functions:
Error Handling:
– Stuff Bit Generation
– CRC Generation
– Acknowledge Generation
– Remote Frame
1 TX Buffer and 3 RX Buffer
3 Individual Acceptance Filtering
Interrupt Outputs Can be Generated for the Following Events
– Telegram Sent Successfully
– Telegram Received Successfully
– Receive Buffer Overflow
– Bus Off Condition
– Error Passive Condition
Technology: Atmel MG2RTP Radiation Hardened Sea of Gate 0.5 um
Type: Semi-Custom Digital 5V
Operating Frequency: 16 MHz (Test Frequency is 10MHz)
Maximum Frequency: 18 MHz
No Single Event Latch-up below a LET Threshold of 80 MeV/mg/cm2
Tested up to a Total Dose of 300 Krads(si) According to MIL STD 883 Method 1019
QML-Q and V with SMD 5962-03A06
Package: MLCC 44 pins
CAN Controller
for Space
Application
AT7908E
Description
The AT7908E is a CAN controller stand-alone device for space application. Redundant structures and special techniques are implemented in order to make the device
SEU tolerant. The AT7908E CAN core provides all CAN 2.0B protocol functions
except the overload frame generation. It includes the acceptance filtering. The core
incorporates error-handling capabilities, the stuff bit generation, CRC, multiple sample
points and remote frame generation. The AT7908E provides a programmable MCU 8bit general-purpose interface to connect receive and transmit buffer, control register
and status register to CPU.
The AT7908E was designed by Aurelia Microelettronica S.p.A., Italy, and the chip is
known as CASA (CAN ASIC for Space Application).
4268D–AERO–11/09
1
Signal Pins Description
Pin Number
Signal
Name
Type
9
Mode
I - CMOS
8
Cs
I - CMOS
AH
Chip select signal
11
Wr
I - CMOS
AL
Write signal
13
Rd
I - CMOS
AL
Read signal
10
ALE
I - CMOS
AH
Address latch enable
23
Xtalin
I - CMOS
22
Xtalout
IO - CMOS
16
Reset
I - CMOS
5, 4, 3, 2, 44, 43,
42, 41
addr<7:0>
I - CMOS
38, 37, 36, 35, 33,
32, 31, 30
Data<7:0>
IO - CMOS
25
Int
O - CMOS
27
Can_tx
O - CMOS
tx signal
19
Can_rx
I - CMOS
rx signal
14
sena
I - CMOS
AH
scan enable
15
test
I - CMOS
AH
input signal to increase testability
26
hatrig
O - CMOS
AH
Output signal to trigger the message
matching
20
hasync
O - CMOS
AH
Output synchronization signal
Note:
2
Note
Description
Interface operational mode
Input to internal oscillators or clock
input from external oscillator
Output from internal oscillator
AL
reset signal
Input address(mode1) or output
address(mode 0)
Address data bus
AL
interrupt request
Abbreviations: O = output, I = input, IO = bi-directional I/O, AL = Active Low, AH = Active
High.
AT7908E
4268D–AERO–11/09
AT7908E
Oscillator
Xtalin and Xtalout are IOs of an internal inverting oscillator. To use the internal oscillator,
the quartz must be connected between Xtalin and Xtalout pins.
To drive the device with an external clock source, Xtalin must be driven by clock signal
and Xtalout must be left unconnected. The maximum operating frequency of the oscillator, in open-loop mode(without crystal) with 6 pF load on Xtalout at worst condition
(Process slow, temperature = 145°C, Power supply = 4.5V ) is 60 MHz.
The IO level of Xtalin and Xtalout are CMOS levels.
The internal clock could be put on off condition with external pins SENA = logical value
1 and TEST = logical value 0.
Reset Specification
The reset pin must be driven low for at least 3 clock cycles ( 190 ns at 16 MHz).
The reset signal must be driven low at power on of the AT7908E for at least 200 ns to
avoid abnormal start condition of the AT7908E device.
3
4268D–AERO–11/09
Electrical Characteristics
Absolute Maximum Ratings
*NOTICE:
Ambient temperature under bias (TA)... Military –55 to +125°C
Junction temperature .....................................................175°C
Storage temperature .........................................–65 to +150°C
Stresses above those listed may cause permanent damages to the device. Exposure to absolute maximum rating conditions for extended
period may affect device reliability.
Power Dissipation: ..........................................0.3W
Themal Resistance Junction to Case: ...........5.1°C/W
TTL/CMOS :
Supply voltage ........................................... VDD –0.5V to +6V
I/O voltage ............................................. –0.5V to VDD + 0.5V
DC Characteristics
Specified at VDD = +5V +/– 10%
Symbol
VIL
VIH
VOL
VOH
IL
IOZ
Parameter
Min
Typ
Max
Unit
0
0.3VDD
V
0.7VDD
VDD
V
0.4
V
Input LOW voltage
CMOS input
Input HIGH voltage
CMOS input
Output LOW voltage
CMOS Output
Output HIGH voltage
CMOS Output
3.9
V
Note:
4
IOL = +6 mA (1)
IOH = -6 mA (1)
Input Leakage current
NO Pull up/down
+/- 1
+/- 5
mA
3-State Output Leakage current
+/-1
+/-5
mA
IOSN
24
mA
VOUT = 4.5V
IOSP
18
mA
VOUT = VSS
Output Short circuit current
IOS
Conditions
BOUT6
1. According to the following buffers: BOUT6, BIOC6 @ VDD = 4.5V
AT7908E
4268D–AERO–11/09
AT7908E
AC Characteristics
Tj = 125 °C, Process typical (all values in ns)
Output Signals
Buffer Description
Load
Tp
Tp
Xtalin to Output High
Xtalin to Output Low
Can_tx
Int
Hasync
29
BOUT6: Output buffer with 6
mA drive
75 pF
25
Hatrig
Set up Data<7:0>/Ale
Hold Data<7:0>/Ale
Set Up
or Hold
19
26
BIOC6: Bi-directional Buffer
CMOS input
5
75 pF
6
Power Consumption
Technology
Parameter
Max
Min
Note
DC Curent
Dissipation
50 mA @ 5V
-
CLK frequency = 16 MHz
MG2RTP 0.5 mm 3 Metal Layers Sea of Gate.
Matrix: MG2 –044: 33K usable gates.
Package: MLCC_J44: Ceramic Multi layer Package
Application
The core architecture has been implemented taking into account the typical constraints
of a space application:
•
No Single Event Latch-up below a LET Threshold of 80 MeV/mg/cm2
•
Tested up to a Total Dose of 300 Krads(si) According to MIL STD 883 Method 1019
•
Design using the SEU hardened flip flops
•
Sleep mode for low power consumption
•
Insertion of test structures (internal scan chain) to reach a fault coverage > 95%
according to ESA specification
5
4268D–AERO–11/09
Functional
Description
The AT7908E is an integrated device that performs serial communications according to
the CAN protocol. The CAN protocol uses a multi-master bus configuration to transfer
data packets between nodes on a network. It supports both, standard and extended,
message frame formats as CAN Specification 2.0B. It can transmit and receive with 29
identifier bits and it can filter the first eleven bits of the receiving message (the filtering
function is performed only on eleven bits).
The AT7908E has one transmit buffer and three receiving buffers. The filtering function
is individual for every RX message buffer. Every RX message buffer is formed by an
identifier (29 bits long), by the data and by the status register that store the status of the
receiver buffer. The identifier permits to filter the receiving message together with the
global mask that implements the don’t care condition. A message is accepted and
stored in the RX message buffer only if the identifier of the incoming message (first
eleven bits) matches the identifier in the RX message buffer. If the receiving message
matches more than one identifier, the message is stored in the lowest numbered message buffer.
The AT7908E implements a global acceptance-masking feature for the message
filtering.
The AT7908E was developed to have a programmable general-purpose MCU interface.
The MCU interface permits to program the internal register of the AT7908E and to read
out the status of the controller and the received messages. The schematic representation of the AT7908E is shown in Fig. 1.
Figure 1. Block Schematic of AT7908E
Mode sena test
CS
WR
RD
ALE
addr<7:0>
CAN
Receiver
MCU
can_rx
CRC
Calculator
crc_calculator
Error
Counters
error counters
INTERFACE
Synchronizer
data_add<7:0>
XTALIN
reset
xtalout
int
CAN
Transmitter
Stuff
Handler
Error_frame_gen
can_tx
cantx canrx hatrig hasync
To transmit a CAN message, the MCU must write in the interface internal registers the
data and the configuration signals. The message bus (0 to 101) goes to can_tx that
generates the output signal to the transceiver can_tx and the signals for crc_calculator
and for error_counters.
The crc_calculator block calculates the CRC on the received message and, if the CAN
is in Transmission State, sends the CRC to can_tx. If the CAN is receiving the message, the CRC is sent to can_rx (CRC<0:14>) that checks if the calculated CRC
matches the received CRC.
6
AT7908E
4268D–AERO–11/09
AT7908E
The error_counters block is a counter that receives signals from can_tx and can_rx to
calculate the error state of the CAN. If the number of errors is higher than 127, the
AT7908E will be on the error passive state. If error counters is higher than 255, the
AT7908E will be on the bus-off state.
The synchronizer block synchronizes the controller with the can_rx incoming signal
and generates the internal clock and reset signals for the other blocks of the controller.
The stuff handler block handles the stuff bit generation, compliant with the standard
BOSCH 2.0B specification. error_frame_gen block generates the error frame on the
bus.
In the next sections, the interface block, the internal registers and the operational modes
of the AT7908E will be described.
Transmission of Message
To transmit a message on the bus, the controller must program the configuration registers of the AT7908E (interrupt generator configuration, data rate, bit timing
configuration, message length) and the transmit buffer. After this, the controller must
write in the internal register the bit (Txreq=1) to start the transmission. At this point, the
Transmit message buffer is sent to the bus line. At every moment the external MCU can
readout the status of the controller (error condition, bus-off condition, transmission
active or transmission OK).
Incoming Message
The incoming message passes through the global mask and is checked with the identifier of the first receiver message buffer. If the message is accepted, the data will be
stored in the first message buffer and the status of the receiver message objects will be
updated with the information of the received message: length of message, extended or
standard frame message, reception OK or overrun condition. The incoming message is
stored in the message buffer at the end of the END of FRAME field (7 recessive bits).
If the incoming message is a remote frame request from another CAN node, the incoming remote request will not be stored on the RX message buffer.
Remote Frame
The AT7908E supports remote frame features. To send on the bus a remote frame
request, the MCU must write two internal bits of SETUP register (TMRMR=1 and
TXRM=0). The arbitration registers of the transmitter message buffer must have the
identifier for the remote frame request. The start of the remote frame request will be performed when the transmission request is set by the MCU on the AT7908E. The
AT7908E that receives a REMOTE FRAME request (RTR bit =recessive) that matches
the identifier stored on own TX_arbitration register (filtering functionality with don’t care
feature) send on the bus the TX message buffer as an answer to the remote frame
request. To answer the remote frame request, the AT7908E must be pre-programmed
with two bits of the internal register: TMRMR=0 and TXRM=1. The TX arbitration register must be initialized with the message identifier to which to answer and the transmitter
data buffer must be loaded with the data to be sent as the answer to the remote frame
request. The transmission request must be set as:
Answer to remote request if
for i = 28 down to 18
(“MsgID(i)” XOR” TX_arbitration (i) )AND “Accept. Mask(i)” = 0
Filtering of Message
The filtering function is implemented with a global mask and the arbitration register of
the receiver message buffers. The Global Mask permits to define the don’t care bit on
the filtering operation. The incoming message ID (msg_ID(28:18) is checked (xor) with
7
4268D–AERO–11/09
the identifier stored in the message buffers (RXn_ARB0, RXn_ARB1). The result is
masker able (logic AND operation) with global mask (FILTER_AM_0, FILTER_AM_1).
Message Valid if
for i = 28 downto 18
(“MsgID(i)” XOR” RXn_arbitration (i) )AND “Accept. Mask(i)” = 0
If the incoming message is filtered out from the first message buffer, the arbitration field
of the incoming message is checked with the identifier of the second message buffer,
and if filtered out, with the identifier of the third message buffer. The global mask feature
(used to accept a set of incoming messages) permits that the incoming message could
match with all the three-messages buffers but the received message is stored on the
lowest numbered message buffer.
Interrupt Generation
The interrupt generation on the INT pin can be programmed by the external MCU writing
the internal configuration register. Interrupt can be generated for:
•
Either message correctly transmitted
•
Or message correctly received ( data frame, not remote frame reception).
•
Or overrun condition on the rx message buffer
•
Or bus-off condition
•
Or error passive condition
In the SETUP register, it is possible to configure which kind of interrupt will be generated
by the AT7908E device.
Fault Confinement and Error
Counters
The two internal error counters are readable from the external MCU to check the error
status of the CAN controller. The error counter operates according to the Fault Confinement rules of the CAN Specification 2.0B, exception included. This means that if there is
only one node of the AT7908E connected on the BUS and this node starts to transmit
message, it meets the error passive condition but not the bus-off condition, because the
transmitter error counter will no longer be incremented for acknowledge error when it is
in error passive state.
Trigger Match Function
The trigger match function is a feature implemented to generate the HATRIG signal (a
pulse for a clock cycle) if the Identifier of the incoming message matches the
TRIGGER_MATCH register value. The incoming message identifier(msg_id28 down to
msg_id18) is checked with the TM28 down to the TM18 bits of the TRIGGER_MATCH
registers. This function is independent from the filtration of message and from the interrupt generation. The HATRIG signal, together with the CAN node, regularly generating
the appropriate frame, could be used to force the bus switching in a system with two
physical bus used as nominal and redundant.
8
AT7908E
4268D–AERO–11/09
AT7908E
Detailed Pin Description
MODE
Input pin to select the operational mode of the interface:
mode = 0 : 8 bits of the data bus multiplexed with the lowest 8 bits of the address(register mapped between
8000Hex and 804Chex)
mode = 1 : 8 bits not multiplexed with the address data bus ( register mapped between 00 Hex and 4C Hex)
CS
Chip select pin to write or read the internal register. A high level on this pin enables the CPU to access the
AT7908E.
WR
Pin to write the internal register. A low level on this pin enables the writing of the AT7908E register (if CS signal is
HIGH).
RD
Pin to read the internal register. A low level on this pin enables the readout of the AT7908E register (if CS signal is
HIGH).
ALE
Address-latch-enable. Used in mode=0.
XTALIN
Input pin for the clock. XTALIN, with XTALOUT, are the crystal connections for the internal oscillator.
XTALOUT
Input output pin. This pin could be used as the input, together with XTALIN, for the internal oscillator or as the
clock output to drive the CPU.
RESET
Reset signal for the AT7908E. To reset the AT7908E, this signal must be set low.
DATA<7:0>
Bi-directional bus: Multiplexed data/address bus in the mode 0 or data bus in the mode1.
ADDR<7:0>
Highest input address in the mode0 or lowest input address in the mode 1.
INT
Output pin for the interrupt request to the MCU. This pin is active low (interrupt generation) and will be kept low
until the MCU clears the interrupt request on AT7908E.
CAN_TX
Serial output pin to the CAN transceiver (dominant=‘0’, recessive=‘1’)
CAN_RX
Serial input from the CAN transceiver (dominant=‘0’, recessive=‘1’).
SENA
Input signal to enable the scan-test (with test = 1) or to put the AT7908E on power down mode (with test signal =
0). To use the AT7908E in normal functional mode, this signal must be logical 0.
TEST
Input signal to increase the testability. This pin will be used in the test modality. Test = 1 => test mode (used by the
manufacturer that executes the test of the device. Test = 0 => functional mode ( if SENA =0) or power down
mode ( if SENA =1).
HATRIG
Output signal that will be set high (duration of the pulse = 13 clock cycles) if the received message arbitration
matches the TRIGGER_MATCH register (independently from the matching between the arbitration of the
incoming message and the identifier of the message buffers). This pin could be used for the bus switching in a
system with two physical buses (nominal and redundant).
HASYNC
Output signal that could be used to advise that the node started to transmit a message or started to receive a
message (duration of the pulse = 13 clock cycles).
Internal Register
Description
Type
R = read
R/W =
read/write
Address
Hex
R/W
00
BPR1
BPR0
Gensync
Tx
Gensync
Rx
Errint
Overint
Rxint
Txint
SETUP_1
R/W
01
Disabled
TXRM
TXEM
TMRMR
TXDLC3
TXDLC1
TXDLC1
TXDLC0
SETUP_2
R/W
02
PS2_3
PS2_2
PS2_1
PS2_0
PS1_3
PS1_2
PS1_1
PS1_0
SETUP_3
R/W
03
RxClr
Reset
IntClr
AbortTx
Txreq
RSJ2
RSJ1
RSJ0
SETUP_RX
R/W
04
reserved
reserved
reserved
Reserved
reserved
Rxclr3
Rxclr2
Rxclr1
Register Name
SETUP_0
Register function ( bit7… bit0)
9
4268D–AERO–11/09
STATUS
R
05
SyncTx
SyncRx
Rxbuf1
Rxbuf0
TxOK
TxActive
ErrPass
BusOff
STATUS_RX
R
06
reserved
Rxovr3
Rxovr2
Rxovr1
reserved
RXOK3
RXOK2
RXOK1
FILTER_AM_0
R/W
07
Filter Mask: AM28:AM21
FILTER_AM_1
R/W
08
Filter Mask: AM20:AM18 & 3 reserved bit
ERR_COUNT_TX
R
09
Transmitter error counter
ERR_COUNT_RX
R
0A
Receiver error counter
TRIG_MATCH_0
R/W
0B
Trigger match register TM28..TM21
TRIG_MATCH_1
R/W
0C
Trigger match register TM20, TM19, TM18 & 5 reserved bit
TX_ARB_0
R/W
10
Tx Arbitration register – TXARB28:TXARB21
TX_ARB_1
R/W
11
Tx Arbitration register – TXARB20:TXARB13
TX_ARB_2
R/W
12
Tx Arbitration register – TXARB12:TXARB5
TX_ARB_3
R/W
13
Tx Arbitration register - TXARB4: TXARB0 & 3 reserved bit
TX_MESSAGE_0
R/W
14
Tx Data byte 0
TX_MESSAGE_1
R/W
15
Tx Data byte 1
TX_MESSAGE_2
R/W
16
Tx Data byte 2
TX_MESSAGE_3
R/W
17
Tx Data byte 3
TX_MESSAGE_4
R/W
18
Tx Data byte 4
TX_MESSAGE_5
R/W
19
Tx Data byte 5
TX_MESSAGE_6
R/W
1A
Tx Data byte 6
TX_MESSAGE_7
R/W
1B
Tx Data byte 7
RX1_ARB_0
R/W
20
Rx1 buffer Arbitration register – RX1ARB28:RX1ARB21
RX1_ARB_1
R/W
21
Rx1 buffer Arbitration register – RX1ARB20:RX1ARB13
RX1_ARB_2
R
22
Rx1 buffer Arbitration register – RX1ARB12:RX1ARB5
RX1_ARB_3
R
23
Rx1 buffer Arbitration register- RX1ARB4:RX1ARB0 & 3 reserved bit
RX1_MESSAGE_0
R
24
Rx1 buffer Data byte 0
RX1_MESSAGE_1
R
25
Rx1 buffer Data byte 1
RX1_MESSAGE_2
R
26
Rx1 buffer Data byte 2
RX1_MESSAGE_3
R
27
Rx1 buffer Data byte 3
RX1_MESSAGE_4
R
28
Rx1 buffer Data byte 4
RX1_MESSAGE_5
R
29
Rx1 buffer Data byte 5
RX1_MESSAGE_6
R
2A
Rx1 buffer Data byte 6
RX1_MESSAGE_7
R
2B
Rx1 buffer Data byte 7
R
2C
RX1
reserved
Rx1
DLC2
Rx1
DLC1
Rx1
DLC0
RX2_ARB_0
R/W
30
Rx2 buffer Arbitration register – RX2ARB28:RX2ARB21
RX2_ARB_1
R/W
31
Rx2 buffer Arbitration register – RX2ARB20:RX2ARB13
RX2_ARB_2
R
32
Rx2 buffer Arbitration register – RX2ARB12:RX2ARB5
RX2_ARB_3
R
33
Rx2 buffer Arbitration register- RX2ARB4: RX2ARB0 & 3 reserved bit
RX2_MESSAGE_0
R
34
Rx2 buffer Data byte 0
RX2_MESSAGE_1
R
35
Rx2 buffer Data byte 1
RX2_MESSAGE_2
R
36
Rx2 buffer Data byte 2
RX2_MESSAGE_3
R
37
Rx2 buffer Data byte 3
RX2_MESSAGE_4
R
38
Rx2 buffer Data byte 4
RX1_STATUS
10
RX1
reserved
RX1
reserved
RX1
Extfr
Rx1
DLC3
AT7908E
4268D–AERO–11/09
AT7908E
RX2_MESSAGE_5
R
39
Rx2 buffer Data byte 5
RX2_MESSAGE_6
R
3A
Rx2 buffer Data byte 6
RX2_MESSAGE_7
R
3B
Rx2 buffer Data byte 7
R
3C
RX2
reserved
RX3_ARB_0
R/W
40
Rx3 buffer Arbitration register – RX3ARB28:RX3ARB21
RX3_ARB_1
R/W
41
Rx3 buffer Arbitration register – RX3ARB20:RX3ARB13
RX3_ARB_2
R
42
Rx3 buffer Arbitration register – RX3ARB12:RX3ARB5
RX3_ARB_3
R
43
Rx3 buffer Arbitration register- RX3ARB4:RX3ARB0 & 3 reserved bit
RX3_MESSAGE_0
R
44
Rx3 buffer Data byte 0
RX3_MESSAGE_1
R
45
Rx3 buffer Data byte 1
RX3_MESSAGE_2
R
46
Rx3 buffer Data byte 2
RX3_MESSAGE_3
R
47
Rx3 buffer Data byte 3
RX3_MESSAGE_4
R
48
Rx3 buffer Data byte 4
RX3_MESSAGE_5
R
49
Rx3 buffer Data byte 5
RX3_MESSAGE_6
R
4A
Rx3 buffer Data byte 6
RX3_MESSAGE_7
R
4B
Rx3 buffer Data byte 7
R
4C
RX3
reserved
RX2_STATUS
RX3_STATUS
RX3
reserved
RX3
reserved
RX3
Reserved
RX3
reserved
RX2
Extfr
RX3
Extfr
Rx2
DLC3
Rx3
DLC3
Rx2
DLC2
Rx2
DLC1
Rx2
DLC0
Rx3
DLC2
Rx3
DLC1
Rx3
DLC0
Setup Registers
The five 8 bits SETUP registers are used to set specific CAN configurations. The 5 bits
shown in grey on SETUP_3 register and the 3 bits on SETUP_RX register are not written directly inside the interface but are used to perform reset or other actions.
SETUP_0 :
Txint: active high, the AT7908E generates the interrupt on the INT line after a successful transmission.
Rxint: active high, the AT7908E generates one interrupt on the INT line after a successful data frame reception.
Overint: active high, the AT7908E generates the interrupt on the INT line if the receiver
buffer (number n) has not been cleared(with RxClr) before the next valid message for
the same receiver buffer.
Errint: active high, the AT7908E generates the interrupt on the INT line if there’s an
error condition on the CAN Controller (bus-off or error-passive).
GensyncRx: the AT7908E generates a pulse on the hasync output signal when a
receiving message is detected.
GensyncTx: the AT7908E generates a pulse on the hasync output signal when a sync
pulse on the transmitting message is detected.
BPR0-BPR1: 2 bits to program the CAN clock pre-scaler (4 different system clocks of
the CAN Core). In the next table, it is possible to see the different values of the system
clock depending on the bits BPR0 and BPR1.
11
4268D–AERO–11/09
SETUP_1:
BPR0
BPR1
System clock frequency
0
0
fosc
0
1
fosc/2
1
0
fosc/4
1
1
fosc/8
TXDLC<3:0>: length of the transmitted message.
TMRMR: Active High, establishes if the transmitted message is a remote frame (if
TXRM=0).
TXEM: active high, it establishes if the transmitted message is an extended frame.
TXRM: Active high, it establishes if the controller answers to the remote frame request
(if TMRMR=0).
Disabled: active high, by setting this bit, the CAN controller is disabled and disconnected from the bus. This condition could be used to set the other registers safely. The
error counter values, when this bit is active, will be frozen at the last value.
SETUP_2:
PS1_3 … PS1_0: these 4 bits are the phase segment length 1 (acceptable value 1:15).
The default value of this register (value after reset) is 9 decimal.
PS2_3 … PS2_0: these 4 bits are the phase segment length 2 (acceptable value 1:8).
The default value of this register (value after reset) is 5 decimal.
SETUP_3 :
RSJ_2 … RSJ_0: 3 bits for the re-synchronization jump (correct value 1:4). The default
value is 2.
Txreq: when this bit is set high, the AT7908E sends on the CAN bus the message contained in the TX buffer. This bit must be written from the MCU to start the transmission.
AbortTx: this bit must be set to inform the interface that the transmission request has to
be aborted. The error counter values are not reset when this bit is set.
IntClr: this bit resets the INT signal of the device and clears the SyncTx and SyncRx
bits of the STATUS register.
Reset: active high, this signal must be set to reset the CAN controller. The error condition is cleared and also the counter values.
RxClr: active high, this bit is set to clear all RXOKn and RXOVRn bits on the status register of the receiver message buffers (STATUS_RX).
SETUP_RX Register
RxClr3: active high, this bit is set to clear the RXOK3 and RXOVR3 bits on the status
register of the receiver message buffer (STATUS_RX). This bit must be set after the
read out operation of the received message otherwise, at the next reception on the
same RX message buffer, an overrun condition is raised.
RxClr2: active high, this bit is set to clear the RXOK2 and RXOVR2 bits on the status
register of the receiver message buffers. This bit must be set after the read out operation of the received message otherwise, at the next reception on the same RX message
buffer, an overrun condition is raised.
12
AT7908E
4268D–AERO–11/09
AT7908E
RxClr1: active high, this bit is set to clear the RXOK1 and RXOVR1 bits on the status
register of the receiver message buffers. This bit must be set after the read out operation of the received message otherwise, at the next reception on the same RX message
buffer, an overrun condition is raised.
Status Registers
STATUS_0
BusOff: this bit indicates that the CAN controller has reached a bus off condition.
ErrPass: this bit indicates that the CAN controller has reached an error passive
condition.
TxActive: this bit signals that there is an active transmission.
TxOK: this bit indicates that the transmission has been successfully terminated. This bit
is reset automatically when the TXREQ bit on the SETUP_3 register is set.
Rxbuf1:Rxbuf0: these bits indicate which receiver buffer received a message:
00 : message filtered out
01 : message received by RX1 buffer
10 : message received by RX2 buffer
11 : message received by RX3 buffer
SyncRx: this bit indicates that a pulse on the sync bit of the received message has been
generated.
SyncTx: this bit indicates that a pulse on the sync bit of the transmitted message has
been generated.
STATUS_RX:
RXOVR3: This bit indicates an overrun condition (a new message received on the message buffer 3 with RXOK3 not cleared).
RXOVR2: This bit indicates an overrun condition (a new message received on the message buffer 2 with RXOK2 not cleared).
RXOVR1: This bit indicates an overrun condition (a new message received on the message buffer 1 with RXOK1 not cleared).
RXOK3: This bit indicates (active high) that the data frame message has been received
correctly by the third message buffer.
RXOK2: This bit indicates (active high) that the data frame message has been received
correctly by the second message buffer.
RXOK1: This bit indicates (active high) that the data frame message has been received
correctly by the first message buffer.
Filter Registers
The 2 filter registers are used (together with the arbitration register of the receiver buffers or the arbitration registers of the transmit buffer to answer to the remote request) to
filter out the messages that are not interesting for the receiving software. The filtering
function is implemented only on 11 bits of the identifier (message_id28 downto
message_id18) but works for both, extended and standard messages. The filtering function is:
Message Valid if:
for i = 28 downto 18
(“MsgID(i)” XOR “RXnARB(i)” )AND “AM(i)” = 0
13
4268D–AERO–11/09
The Message ID bits that are checked with the arbitration of the receiver buffer bits are
the corresponding bits on the Acceptance Mask only if set to 1.
This filtering function is implemented for every message buffer.
TX Message Buffer
The AT7908E CAN controller has one transmitter buffer. The transmitter buffer is composed of 12 registers of 8 bits. The firsts 4 registers are used for the arbitration part that
could be of 11 or 29 bits. If the message to transmit is a standard message, the
AT7908E will send on the bus the identifier from ARB28 to ARB18. The other 8 registers
contain the data byte of the message:
TX_ARB0: bits 28 down
buffer(TXARB28:TXARB21)
to
21
of
the
arbitration
of
the
transmitter
TX_ARB1: bits 20 down
buffer(TXARB20:TXARB13)
to
13
of
the
arbitration
of
the
transmitter
TX_ARB2: bits 12 down to 5 of the arbitration of the transmitter buffer (TXARB12:TXARB5)
TX_ARB3: bits 4 down to 0 of the arbitration of the transmitter buffer (TXARB4:TXARB0)
TX_Message_0: first 8 bits data of the transmitter buffer
TX_Message_1: second 8 bits data of the transmitter buffer
TX_Message_2: third 8 bits data of the transmitter buffer
TX_Message_3: fourth 8 bits data of the transmitter buffer
TX_Message_4: fifth 8 bits data of the transmitter buffer
TX_Message_5: sixth 8 bits data of the transmitter buffer
TX_Message_6: seventh 8 bits data of the transmitter buffer
TX_Message_7: eighth 8 bits data of the transmitter buffer
RX Message Buffers
The AT7908E CAN controller has three receiver message buffers. The incoming data
frame message will be stored on the message object that matches the incoming ID ( see
filtering functionality). If the incoming ID matches more than one ID of the message
object, the message will be stored in the lowest numbered message object. The incoming remote request is not stored on the message buffer.
The structure of the message buffer is:
RXn_STATUS: Status register of the message object n
RXn_ARB0: bits 28 down to 21 of the arbitration of the message object n
RXn_ARB1: bits 20 down to 13 of the arbitration of the message object n
RXn_ARB2: bits 12 down to 5 of the arbitration of the message object n
RXn_ARB3: bits 4 down to 0 of the arbitration of the message object n
RXn_Message_0: first 8 bits data of the message object n
RXn_Message_1: second 8 bits data of the message object n
RXn_Message_2: third 8 bits data of the message object n
RXn_Message_3: fourth 8 bits data of the message object n
RXn_Message_4: fifth 8 bits data of the message object n
RXn_Message_5: sixth 8 bits data of the message object n
14
AT7908E
4268D–AERO–11/09
AT7908E
RXn_Message_6: seventh 8 bits data of the message object n
RXn_Message_7: eighth 8 bits data of the message object n
The following bit composes the RXn_STATUS register of the message buffer:
RXn_DLC3:RXn_DLC0: length of the received message
(length = RXn_DLC0 +2 x RXn_DLC1 + 4 x RXn_DLC2 + 8 x RXn_DLC3)
RXn_extfr: if this bit is high, the received message has an extended identifier.
Error Counters Registers
The AT7908E has two internal counters for the RX and TX errors. The values of these
counters are stored into two registers that can be read from the MCU.
Trigger Match Registers
The Trigger Match registers are implemented to generate a pulse on the HATRIG output
signal when the received message arbitration match the Trigger Match registers (see
the trigger match functionality).
Bit Timing
A bit period is composed of the following three segments:
Synchronization segment
Timing segment 1
Timing segment 2
The sampling point is at the end of time segment 1.
Input signal
Figure 2. Bit Time Segments
SYNC
Timing Segment 1
Timing Segment 2
During the Sync segment (1 system clock cycle = tscl) the edge of the input signal is
expected.
The Timing segment 1 is programmable from 2 to 16 tscl (see register SETUP_2:
PS1_3:PS1_0: TSEG1 =PS1+1) and the end of this segment indicates the sample
point.
The Timing segment 2 is programmable from 1 to 8 t s cl (register SETUP_2:
PS2_3:PS2_0) and this period is used to have extra time for the internal processing
after the sample point.
The resynchronization Jump Width is used to compensate phase shifts between the
oscillator frequency of the different CAN nodes on the network. This value is programmable (see register SETUP_3: RSJ_2:RSJ_0) from 1 to 4 tscl and the value indicates the
number of system clock pulses by which the bit period must be shortened or lengthened
for resynchronization. If the falling edge of the incoming signal is on the TIMING segment 1, then the Bit period is lengthened (the sample point will be at TSEG1 +RSJ). If
the falling edge of the incoming signal is on the Timing segment 2, then the bit period
15
4268D–AERO–11/09
will be shortened (TSEG2 is shortened of RSJ value). The resynchronization mechanism is shown in fig. 3 and fig. 4.
Figure 3. Lengthening a Bit Period
Input signal
SYNC
Segment 2
Timing Segment 1
RSJ Timing
Sample point
Figure 4. Shortening a Bit Period
Input signal
SYNC
Timing Segment 1
Timing Segment 2
RSJ
Sample point
Tseg2 will be shortened
of RSJ value
The Bit rate of the message on the bus will be:
fosc/(BPR(baud rate prescaler)x(TSEG1 +TSEG2+1)) =
= fosc /(BPR(baud rate prescaler) x( PS1 +PS2 +2))
The TSEG1 and TSEG2 lengths must be programmed to respect these conditions:
TSEG1 ³ TSEG2 => PS1 +1 ³ PS2
TSEG2 ³ RSJ => PS2 ³ RSJ
16
AT7908E
4268D–AERO–11/09
AT7908E
Interface Block
Description
The AT7908E provides a programmable (with external pin) MCU interface. Two modes
can be selected. The first operational mode is an interface with 8-bit multiplexed
address data bus (mode = 0) and an internal register addressable with 16-bit of address.
In this operational mode, the AT7908E registers are mapped between 8000Hex and
804CHex.
The second operational mode (mode =1) is implemented with 8 bit not multiplexed
address and data buses. In this mode the internal registers are accessible with 8-bit and
are mapped between 00Hex and 4C Hex.
The pins for the interface block are:
Operational Mode 0
Mode
Selection of the interface modality. This pin must be 0 to use 8 bits
multiplexed data address (lowest) to map the AT7908E on the highest
address space (8000Hex to 804C Hex). If MODE = 1, the data and
addresses are not multiplexed and the registers are mapped on the lowest
address space.
Data <7:0>
bi-directional 8-bit address (low address in mode 0) data bus
ALE
Input Address Latch Enable used for mode 0.
CS
Input Chip select to enable the internal registers access (active high).
WR
Input Write signal to write the internal registers (active low).
RD
Input Read signal to readout the internal registers (active low).
Addr <7:0>
Input highest address in mode 0 (used with low address to map the
AT7908E register between 8000Hex and 804Chex address space) or input
lowest address in mode 1
This operational mode is selected with MODE pin = 0.
The bus Data_addr <7:0> must be connected to the data/address bus of the MCU. The
ALE signal is used to latch the address. This latched address will be the address of the
AT7908E internal registers. The bus addr (7:0) will contain the highest address generated by the MCU. The internal AT7908E registers will be accessed only if the 16-bit
address generated by the MCU is between 8000 Hex and 804C Hex (the internal Chip
Select will be generated). Moreover, to write in the register or to read from the register,
the micro-controller must generate the CS (active high), WR, RD and ALE signals and
must drive the Data_addr and addr buses. The signal WR must be low for, at least, 3
clock cycles. The data is latched at the rising edge of the clock when CS = 1, WR = 0
and RD = 1.
A write cycle is reported in Fig. 5.
17
4268D–AERO–11/09
Figure 5. Mode 0 Write Cycle
MODE
ADDR
ADD
Data
DATA
DATA
High ADDRESS
Address = 80
Hex
HIGH
=80
Hex
Addr
ALE
CS
Clock
WR
Data write in the internal register
In Fig. 6 are represented the signals to readout the internal register of AT7908E in
mode 0
Figure 6. Mode 0 Read Cycle
MODE
Data
ADDR
Addr
DATA
DATA
HIGH
ADDRESS=80
= 80Hex
Hex
HIGH
ADDRESS
ALE
CS
RD
In mode 0, the internal registers of the AT7908E are mapped between 8000 Hex and
804C Hex and the lowest 8-bit address are multiplexed with the data.
18
AT7908E
4268D–AERO–11/09
AT7908E
Operational Mode 1
This operational mode is selected with mode pin = 1.
This interface operational mode is used to write the AT7908E registers and to readout
from the AT7908E with two different 8-bit data and address buses. The ALE input pin is
not used and the internal registers are mapped between 00Hex and 4C Hex. The Addr
bus will be used as the 8 bits address for the internal registers. To write data on the
internal registers, the MCU must control the CS, WR and RD signals of the AT7908E
and must drive the addr and data buses. The signal WR must be low for, at least, 3
clock cycles. The data is latched at the rising edge of the clock when CS = 1, WR = 0
and RD = 1. The fig. 7 shows the write cycle in the operational mode 1.
Figure 7. Mode 1 Write Cycle
MODE
Data
Addr
DATA
DATA
LOW ADDRESS
LOW ADDRESS
CS
Clock
WR
Data write
Fig. 8 shows a read cycle. To readout the data from the AT7908E internal registers, the
MCU must drive CS=1, RD=0, WR=1.
19
4268D–AERO–11/09
Figure 8. Mode 1 Read Cycle
MODE
Data
DATA
Addr
LOW
ADDRESS
LOW
ADDRESS
CS
Clock
RD
Timing
In this paragraph are provided the AC specification for the AT7908E interface signals in
both operational modes.
AC Specification for 8 bit
Multiplexed Mode (mode =0)
Conditions: VCC = 5V ±10%, VSS = 0V, Ta = -55°C to +125 °C, Cl = 80 pF ,
Tclk = 100 ns
Symbol
Parameter
Min
tAVLL
Address valid to ALE low
4 ns
Mode 0
tLLAX
Address Hold after ALE low
4 ns
Mode 0
tLHLL (*)
ALE HIGH Time
Tclk
Mode 0
tLLRL (*)
ALE low to RD low
2 Tclk
Mode 0
tCHRL
CS high to RD low
100 ns
Mode 0
tDVWH] (*)
Input Data valid to WR High
3 Tclk
Mode 0, mode 1
tWHQX (*)
Input data hold after WR high
10 ns
Mode 0, mode 1
tWLWH (*)
WR pulse width
3 Tclk
Mode 0, mode 1
tWHLH (*)
WR high to next ALE high
Tclk
tWS
WR setup time before clock
-3 ns
Mode 0, mode 1
tWH (*)
WR hold time after clock
7 ns
Mode 0, mode 1
tRLRH (*)
RD pulse width
3 Tclk
Mode 0, mode 1
tRLDV (*)
RD low to data valid
6 ns
82 ns
Mode 0, mode 1
tRHDZ (*)
Data float after RD High
4 ns
20 ns
Mode 0, mode 1
Note:
20
Max
Note
1. Guaranteed, not tested.
AT7908E
4268D–AERO–11/09
AT7908E
Figure 9. Timing information for interface signals
Data
ALE
DATA
tRLDV DATA
ADDR
tAVLL
tLHLL
tLLAX
tRHDZ
tLLRL
CS
RD
tCHRL
WR
Data
tRLRH
tWLWR
Xtalin
tWS
ADDR
ADDR
tDVWH
tWHQX
tWHLH
DATA in
twh
Interface Internal
Structure
This paragraph is intended to explain the implementation of the interface internal
structure.
In the Figure 10, one can see the realization of the two operational modes and the
access to the AT7908E internal registers.
21
4268D–AERO–11/09
Figure 10. Interface Block Scheme
WR
RD
MODE
CS
ADDR<7:0>
DECODER
1 CS_CASA
CS_INT
1
ALE
0
ADDR_REG<7:0>
CASA2
REGISTER
CASA2
CAN_CORE
0
LATCH
ADDR_LATCH<7:0>
DATA_ADDR<7:0>
The MCU 80C32 generates DATA<7:0>, ADDR<7:0> (highest 8-bit address for the 16bit external data access), and ALE to latch the lowest address, WR, CS and RD
signals.
The external data bus is connected to the internal latch block of the AT7908E. The ALE
signal latches and extracts the ADDR_LATCH (lowest 8-bit address). The
ADDR_LATCH is used to address the internal registers in mode 0 and to generate, with
ADDR<7:0> (highest 8-bit address), the internal chip select signal (CS_INT). In mode 0,
the access to the internal registers is selected by CS_INT and CS; in mode 1, the
access is selected by CS. In mode 1, moreover, the address of the internal register is
ADDR<7:0>. The two different operational modes are established by the mode pin that
is the selector for the two multiplexers in Figure 5. In Figure 5 are reported, in addition,
the other two blocks of the AT7908E device: the AT7908E registers and the AT7908E
CAN_CORE.
22
AT7908E
4268D–AERO–11/09
AT7908E
Address Table
In the next table, one can see how the MCU can address the RAM or the internal register of the AT7908E in the operational mode 0.
ADDRESS Generated by the MCU
(15 down to 0)
Device
0000 – 7FFF Hex
32 Kword of External RAM
8000 – 800C Hex
AT7908E internal register 00 – 0C Hex
(Configuration and status register)
8010 – 801B Hex
AT7908E internal register 10 – 1B Hex
Transmitter message buffer
8020 – 802C Hex
AT7908E internal register 20 – 2C Hex
First receiver message object
8030 – 803C Hex
AT7908E internal register 30 – 3C Hex
Second receiver message object
8040 – 804C Hex
AT7908E internal register 40 – 4C Hex
Third receiver message object
23
4268D–AERO–11/09
Optional Features
Internal Clock Frequency The actual internal system clock can be the external clock divided by 1, 2, 4, or 8. If the
bit time length is (default configuration) 16 system clock pulses (see PS1, PS2 programmable bit timing registers), it is possible to have four different data rates by the prescaler programming.
AT7908E Operational
Mode
The AT7908E device could be put on three different operational modes:
•
Functional Mode
•
Test mode
•
Power down mode
Functional Mode
This mode is the normal operational mode for the AT7908E device. The two input pins
test and sena must be put on logical value 0.
Test Mode
This mode is used by the chip manufacturer to test the AT7908E. The input pin test
must be logical value 1 and sena input pin could be logical values 0 or 1 according to
the execution of the scan chain test or not.
Power Down Mode
This mode could be used to put the AT7908E device on the sleep mode ( internal clock
is off). To put the AT7908E in this mode, the test input pin must be 0 and sena input pin
must be 1 .
24
AT7908E
4268D–AERO–11/09
AT7908E
Application Notes
Registers Value After
Reset
Register Name
Address
Hex
SETUP_0
00
SETUP_1
01
SETUP_2
02
SETUP_3
03
SETUP_RX
04
In the next table are reported the registers value after reset of the AT7908E device:
Reset Value ( bit7… bit0)
BPR1
BPR0
GensyncTx
GensyncRx
Errint
0
0
0
0
0
0
0
0
Disabled
TXRM
TXEM
TMRMR
TXDLC3
TXDLC1
TXDLC1
TXDLC0
1
0
0
0
0
0
0
0
PS2_3
PS2_2
PS2_1
PS2_0
PS1_3
PS1_2
PS1_1
PS1_0
0
1
0
1
1
0
0
1
RxClr
Reset
IntClr
AbortTx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
Reserved
Reserved
Reserved
Reserved
Reserved
Rxclr3
Rxclr2
Rxclr1
X
X
X
X
X
0
0
0
SyncTx
SyncRx
Rxbuf1
Rxbuf0
TxOK
TxActive
ErrPass
BusOff
0
0
0
0
0
0
0
0
reserved
Rxovr3
Rxovr2
Rxovr1
Reserved
RXOK3
RXOK2
RXOK1
0
0
0
0
0
0
0
0
STATUS
05
STATUS_RX
06
FILTER_AM_0
07
00000000
FILTER_AM_1
08
00000000
ERR_COUNT_TX
09
00000000
ERR_COUNT_RX
0A
00000000
TRIG_MATCH_0
0B
00000000
TRIG_MATCH_1
0C
00000000
TX_ARB_0
10
00000000
TX_ARB_1
11
00000000
TX_ARB_2
12
00000000
TX_ARB_3
13
00000000
TX_MESSAGE_0
14
00000000
TX_MESSAGE_1
15
00000000
TX_MESSAGE_2
16
00000000
TX_MESSAGE_3
17
00000000
TX_MESSAGE_4
18
00000000
TX_MESSAGE_5
19
00000000
TX_MESSAGE_6
1A
00000000
TX_MESSAGE_7
1B
00000000
RX1_ARB_0
20
00000000
RX1_ARB_1
21
00000000
RX1_ARB_2
22
00000000
Overint
Rxint
Txint
25
4268D–AERO–11/09
Register Name
Address
Hex
Reset Value ( bit7… bit0)
RX1_ARB_3
23
00000000
RX1_MESSAGE_0
24
00000000
RX1_MESSAGE_1
25
00000000
RX1_MESSAGE_2
26
00000000
RX1_MESSAGE_3
27
00000000
RX1_MESSAGE_4
28
00000000
RX1_MESSAGE_5
29
00000000
RX1_MESSAGE_6
2A
00000000
RX1_MESSAGE_7
2B
00000000
RX1_STATUS
2C
reserved
reserved
Reserved
RX1_e
xtfr
Rx1_DLC3
Rx1_DLC2
Rx1_DLC1
Rx1_DLC0
X
X
X
0
0
0
0
0
reserved
reserved
Reserved
RX2_e
xtfr
Rx2_DLC3
Rx2_DLC2
Rx2_DLC1
Rx2_DLC0
X
X
X
0
0
0
0
0
RX2_ARB_0
30
00000000
RX2_ARB_1
31
00000000
RX2_ARB_2
32
00000000
RX2_ARB_3
33
00000000
RX2_MESSAGE_0
34
00000000
RX2_MESSAGE_1
35
00000000
RX2_MESSAGE_2
36
00000000
RX2_MESSAGE_3
37
00000000
RX2_MESSAGE_4
38
00000000
RX2_MESSAGE_5
39
00000000
RX2_MESSAGE_6
3A
00000000
RX2_MESSAGE_7
3B
00000000
RX2_STATUS
3C
RX3_ARB_0
40
00000000
RX3_ARB_1
41
00000000
RX3_ARB_2
42
00000000
RX3_ARB_3
43
00000000
RX3_MESSAGE_0
44
00000000
RX3_MESSAGE_1
45
00000000
RX3_MESSAGE_2
46
00000000
RX3_MESSAGE_3
47
00000000
RX3_MESSAGE_4
48
00000000
RX3_MESSAGE_5
49
00000000
RX3_MESSAGE_6
4A
00000000
26
AT7908E
4268D–AERO–11/09
AT7908E
Register Name
Address
Hex
Reset Value ( bit7… bit0)
RX3_MESSAGE_7
4B
00000000
RX3_STATUS
4C
reserved
reserved
Reserved
RX3_e
xtfr
Rx3_DLC3
Rx3_DLC2
Rx3_DLC1
Rx3_DLC0
X
X
X
0
0
0
0
0
27
4268D–AERO–11/09
AT7908E
Configuration Flow
The following flow diagram explains the action that the MCU must perform to program
the AT7908E CAN controller to send or to receive CAN message.
Figure 11. Operating Flow Diagram
reset
Device
Configuration
(1)
Transmit buffer
Initialisation
(2)
Receiver
message
object
configuration
(3)
Enable BUS
Connection
(4)
START TX
(5)
yes
SET START
TRANSMISSION
(6)
NO
NO
INT by CASA2
(7)
Yes
READ STATUS
(& receiver buffer)
(8)
Clear INT and receiver
STATUS
(9)
NO
Change
Configuration
(10)
Yes
Disable BUS
CONNECTION
(11)
In the examples of the followings paragraph the different operations are referred to the
number reported on flow diagram. After the commands, the old register and the new
register values are reported.
28
4268D–AERO–11/09
Initialization and Transmission of the Data Frame with the INT Generation and Behavior of the
MCU After the Interrupt is Received
Configuration of all the setup registers after the RESET signal.
Operation 1
Table 1. write reg 00 H, data =01Hex
(SETUP_0 register) system clock = external clock, enable transmission completed
interrupt
SETUP_0
SETUP_0
BPR1
BPR0
Gens
yncTx
Gens
yncRx
Errint
Overint
Rxint
Txint
0
0
0
0
0
0
0
0
BPR1
BPR0
Gens
yncTx
Gens
yncRx
Errint
Overint
Rxint
Txint
0
0
0
0
0
0
0
1
Table 2. write reg 02 H, data =69Hex
(SETUP_2 register) Time segment 2 = 6 pulse of system clock; Time segment 1 = 8
pulse of system clock.
SETUP_2
SETUP_2
PS2_3
PS2_2
PS2_1
PS2_0
PS1_3
PS1_2
PS1_1
PS1_0
0
1
0
1
1
0
0
1
PS2_3
PS2_2
PS2_1
PS2_0
PS1_3
PS1_2
PS1_1
PS1_0
0
1
1
0
1
0
0
1
SETUP_3 register will be not written ( default configuration)
Operation 2
After SETUP registers is necessary to configure TX message object:
Table 3. write reg 10 H, data =AA Hex
write reg 11 H, data =AA Hex
(TX_ARB_0= and TX_ARB_1 registers) identifier of message that will be transmitted =
10101010101
29
TX_ARB_0
00000000
TX_ARB_1
00000000
TX_ARB_0
10101010
TX_ARB_1
10101010
AT7908E
4268D–AERO–11/09
AT7908E
Table 4. write reg 14 H, data =00Hex
TX_MESSAGE_0
00000000
TX_MESSAGE_0
00000000
Table 5. write reg 15 H, data =FF Hex
TX_MESSAGE_1
00000000
TX_MESSAGE_1
11111111
Table 6. write reg 16 H, data =0FHex
TX_MESSAGE_2
00000000
TX_MESSAGE_2
00001111
Table 7. write reg 17 H, data =F0Hex
TX_MESSAGE_3
00000000
TX_MESSAGE_3
11110000
Table 8. write reg 18 H, data =AA Hex
TX_MESSAGE_4
00000000
TX_MESSAGE_4
10101010
30
4268D–AERO–11/09
Table 9. write reg 19 H, data =55Hex
TX_MESSAGE_5
00000000
TX_MESSAGE_5
01010101
Table 10. write reg 1A H, data =66Hex
TX_MESSAGE_6
00000000
TX_MESSAGE_6
01100110
Table 11. write reg 1B H, data =99Hex
TX_MESSAGE_7
00000000
TX_MESSAGE_7
10011001
(TX_MESSAGE_n registers) Setting of data message that must be transmitted
When TX message object initialized,the MCU must connect the AT7908E to the CAN
bus.
Operation 4
Table 12. write reg 01 H, data =08Hex
(SETUP_1 register) AT7908E connected to BUS, data frame(no remote frame), standard message, length of message = 8 byte.
SETUP_1
SETUP_1
Disabled
TXRM
TXEM
TMRM
R
TXDLC
3
TXDLC
1
TXDLC
1
TXDLC
0
1
0
0
0
0
0
0
0
Disabled
TXRM
TXEM
TMRM
R
TXDLC
3
TXDLC
1
TXDLC
1
TXDLC
0
0
0
0
0
1
0
0
0
Setting of the transmission request
31
AT7908E
4268D–AERO–11/09
AT7908E
Operations 5 and 6
Table 13. write reg 03 H, data =0Ahex (1)
(SETUP_3 register) Resynchronisation jump length = 2 system clock and transmission
request.
SETUP_3
SETUP_3
RxClr
Reset
IntClr
Abort
Tx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
RxClr
Reset
IntClr
Abort
Tx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
Then, the AT7908E starts to transmit the message until an acknowledge comes from
another CAN node. The next figure illustrates the standard CAN format on the CAN
BUS:
Figure 12. DATA frame
SOF
ACK
Data Frame
End of
Frame
INT
Generation
STATUS register before TX request:
STATUS
SyncTx
Sync
Rx
Rxbuf
1
Rxbuf
0
TxOK
TxActiv
e
ErrPas
s
BusOff
0
0
0
0
0
0
0
0
STATUS register after start of transmission:
STATUS
SyncTx
Sync
Rx
Rxbuf
1
Rxbuf
0
TxOK
TxActiv
e
ErrPas
s
BusOff
0
0
0
0
0
1
0
0
STATUS register after completion of correct transmission:
1.
The five Gray bit are not updated after setting (Txreq). These bit are not written inside the
registers.
32
4268D–AERO–11/09
Operation 7
STATUS
SyncTx
Sync
Rx
Rxbuf
1
Rxbuf
0
TxOK
TxActiv
e
ErrPas
s
BusOff
0
0
0
0
1
0
0
0
At this point, the AT7908E sends an interrupt generation ;INT signal (Active low).
The MCU clears the interrupt generation, setting the IntClr bit on the SETUP_3 register.
Now we assume that the MCU receives the INT signal and it wants to program the
AT7908E to send the same data frame on the CAN bus.
Operation 8
Table 14. read reg 05 H
(MCU read status register after INT received)
STATUS
Operations 5, 6, 9, and 10
SyncTx
Sync
Rx
Rxbuf
1
Rxbuf
0
TxOK
TxActiv
e
ErrPas
s
BusOff
0
0
0
0
1
0
0
0
Table 15. write reg 03 H, data =2AHex
(SETUP_3 register) Clear INT signal and start new transmission(TXREQ)Resynchronisation jump length = 2 system clock and transmission request.
SETUP_3
SETUP_3
RxClr
Reset
IntClr
Abort
Tx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
RxClr
Reset
IntClr
Abort
Tx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
After this setting, the INT signal becomes high (interrupt request disabled), the AT7908E
starts a new transmission and the STATUS register is automatically updated as follows:
STATUS
STATUS
33
SyncTx
Sync
Rx
Rxbuf
1
Rxbuf
0
TxOK
TxActiv
e
ErrPas
s
BusOff
0
0
0
0
1
0
0
0
SyncTx
Sync
Rx
Rxbuf
1
Rxbuf
0
TxOK
TxActiv
e
ErrPas
s
BusOff
0
0
0
0
0
1
0
0
AT7908E
4268D–AERO–11/09
AT7908E
Initialisation of the Receiver Message Objects and the Filtering Function
In this paragraph is reported an example about configuration of the AT7908E to receive
message with the filtering function. In this example the MCU, after configuration of the
AT7908E, waits for Interrupt (from the AT7908E) and then the MCU reads the status
registers, the RX message object and it clears the interrupt request and the receiver
status.
Configuration of the AT7908E:
Operation 1
Table 16. Write reg 00 H, data = 0FHex
(SETUP_0 register) system clock = external clock, all interrupts enabled (rx completed,
tx completed, overrun, error state).
SETUP_0
SETUP_0
BPR1
BPR0
Gensy
ncTx
Gensy
ncRx
Errint
Overint
Rxint
Txint
0
0
0
0
0
0
0
0
BPR1
BPR0
Gensy
ncTx
Gensy
ncRx
Errint
Overint
Rxint
Txint
0
0
0
0
1
1
1
1
SETUP_2 register will be not written ( default configuration)
SETUP_3 register will be not written ( default configuration)
Receiver Message Object and Filtering function configuration
Operation 3
Table 17. write reg 07 H, data =FF Hex
write reg 08 H, data =FF Hex
(FILTER_AM_0, FILTER_AM_1 registers)Global mask set to check all bits of incoming
identifier.
FILTER_AM_0
00000000
FILTER_AM_1
00000000
FILTER_AM_0
11111111
FILTER_AM_1
11111111
34
4268D–AERO–11/09
Table 18. write reg 20 H, data =55Hex
write reg 21 H, data =55Hex
(RX1_ARB_0, RX1_ARB_1 registers)Set the identifier for receiver message object 1(ID
=01010101010)
RX1_ARB_0
RX1_ARB_1
00000000
00000000
RX1_ARB_0
01010101
RX1_ARB_1
01010101
Table 19. write reg 30 H, data =AA Hex
write reg 31 H, data =AA Hex
(RX2_ARB_0, RX2_ARB_1 registers)Set the identifier for receiver message object 2(ID
=10101010101)
RX2_ARB_0
00000000
RX2_ARB_1
00000000
RX2_ARB_0
10101010
RX2_ARB_1
10101010
Table 20. write reg 40 H, data =FF Hex
write reg 41 H, data =FF Hex
(RX3_ARB_0, RX3_ARB_1 registers)Set the identifier for receiver message object 3 (ID
=11111111111)
35
RX3_ARB_0
00000000
RX3_ARB_1
00000000
RX3_ARB_0
11111111
RX3_ARB_1
11111111
AT7908E
4268D–AERO–11/09
AT7908E
Operation4
Table 21. write reg 01 H, data =00Hex
(SETUP_1 register) AT7908E connected to BUS, data frame(no remote frame), standard message
SETUP_1
SETUP_1
Disabled
TXRM
TXEM
TMRMR
TXDLC3
TXDLC1
TXDLC1
TXDLC0
1
0
0
0
0
0
0
0
Disabled
TXRM
TXEM
TMRMR
TXDLC3
TXDLC1
TXDLC1
TXDLC0
0
0
0
0
0
0
0
0
At this point, the AT7908E is ready to receive a message from the other CAN nodes and
to generate an interrupt if the message has been received.
When the AT7908E receives a message (for example with Identifier = 11111111111), it
stores the message in the receiver message object that satisfies the filtering function (in
this case, the RX3 message object). In the following tables are reported the STATUS
registers before and after message receiving (Rxbuf0 and Rxbuf1 bits, after the
received message, contain the indication about the receiver message object that stored
the message incoming).
Table 22. STATUS register before receiving.
STATUS
SyncTx
SyncRx
Rxbuf1
Rxbuf0
TxOK
TxActive
ErrPass
BusOff
0
0
0
0
0
0
0
0
Table 23. STATUS register after received message
STATUS
SyncTx
SyncRx
Rxbuf1
Rxbuf0
TxOK
TxActive
ErrPass
BusOff
0
0
1
1
0
0
0
0
Operations 5 and 7
Table 24. Automatically update of STATUS_RX register
STATUS_RX
STATUS_RX
reserved
Rxovr3
Rxovr2
Rxovr1
Reserved
RXOK3
RXOK2
RXOK1
0
0
0
0
0
0
0
0
Reserved
Rxovr3
Rxovr2
Rxovr1
Reserved
RXOK3
RXOK2
RXOK1
0
0
0
0
0
1
0
0
36
4268D–AERO–11/09
Table 25. Automatically update of RX3_STATUS register
RX3_STATUS
RX3_STATUS
RX3
RX3
RX3
RX3
Rx3
Rx3
Rx3
Rx3
Reserved
reserved
reserved
extfr
DLC3
DLC2
DLC1
DLC0
X
X
X
0
0
0
0
0
RX3
RX3
RX3
RX3
Rx3
Rx3
Rx3
Rx3
Reserved
reserved
reserved
extfr
DLC3
DLC2
DLC1
DLC0
X
X
X
0
1
0
0
0
The arbitration registers of the RX3 message object will store the arbitration of the
received message and the data registers of the RX3 message object will store the data
of the received message. At the end of frame, the INT will be generated and the action
that the MCU must perform could be the followings (these operations are only read
operations and the internal registers of the AT7908E are not updated):
Operation 8
read reg 06 H
(STATUS_RX register)readout of AT7908E status_rx: rxok3, rxok2, rxok1 indicates the
message object that received the message(if 00 the message is not received). For
example : reg 06 = 04Hex => the message has been received correctly on message
object 3.
read reg 4C H
(RX3_STATUS register)readout of message object 3 status. Is possible to check
extended or standard frame of received message and length of received message. For
example : reg 4C = 08Hex, standard frame, length =8.
read reg 40 H
read reg 41 H
(RX3_ARB_n registers)readout of stored message identifier
read reg 44 H
read reg 45 H
read reg 46 H
read reg 47 H
read reg 48 H
read reg 49 H
read reg 4A H
read reg 4B H
(RX_3_MESSAGE_n register)readout of stored message data.
After the read out of the received message, the MCU must clear the receiver message
object status (principally Rxok bit) and the INT signal setting RXCLRn bit in the
37
AT7908E
4268D–AERO–11/09
AT7908E
SETUP_RX register and the IntClr bit in the SETUP_3 register (see how to clear interrupt in the precedent paragraph).
Operation 5 and 6
Table 26. write reg 03 H, data =22Hex
(SETUP_3 register) Resynchronisation jump length = 2 system clock and clear interrupt
SETUP_3
SETUP_3
RxClr
Reset
IntClr
AbortTx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
RxClr
Reset
IntClr
AbortTx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
Operation 9
Table 27. write reg 04 H, data =04Hex
(SETUP_RX register)Clear rx ok and rx overrun bit of receiver message objects 3
SETUP_RX
SETUP_RX
Reserved
Reserved
Reserved
Reserved
Reserved
Rxclr3
Rxclr2
Rxclr1
X
X
X
X
X
0
0
0
Reserved
Reserved
Reserved
Reserved
Reserved
Rxclr3
Rxclr2
Rxclr1
X
X
X
X
X
0
0
0
After this operation, the RX3OK bit in STATUS_RX register will be cleared
STATUS_RX
STATUS_RX
reserved
Rxovr3
Rxovr2
Rxovr1
reserved
RXOK3
RXOK2
RXOK1
X
0
0
0
x
1
0
0
reserved
Rxovr3
Rxovr2
Rxovr1
reserved
RXOK3
RXOK2
RXOK1
X
0
0
0
0
0
0
0
If the MCU doesn’t clear the receiver message object status (principally the Rxok bit )
and the AT7908E receives a new message on the same message object (for example
the RX3 message object), the message will be stored in the message object; INT will be
generated (OVERRUN condition) and the STATUS_RX will be updated as following:
38
4268D–AERO–11/09
STATUS_RX
STATUS_RX
reserved
Rxovr3
Rxovr2
Rxovr1
reserved
RXOK3
RXOK2
RXOK1
x
0
0
0
x
1
0
0
reserved
Rxovr3
Rxovr2
Rxovr1
reserved
RXOK3
RXOK2
RXOK1
x
1
0
0
0
1
0
0
Setting to answer to
remote frame request
In this example is reported a typical configuration to answer to the remote frame
request.
Operation 1
Table 28. write reg 00 H, data =01Hex
(SETUP_0 register) system clock = external clock, transmitter interrupts enabled .
SETUP_0
SETUP_0
BPR1
BPR0
Gensync
Tx
Gensync
Rx
Errint
Overint
Rxint
Txint
0
0
0
0
0
0
0
0
BPR1
BPR0
Gensync
Tx
Gensync
Rx
Errint
Overint
Rxint
Txint
0
0
0
0
0
0
0
1
SETUP_2 register will be not written ( default configuration)
SETUP_3 register will be not written ( default configuration)
After the SETUP registers, it is necessary to configure the TX message object:
Operation 2
Table 29. write reg 10 H, data =AA Hex
write reg 11 H, data =AA Hex
(TX_ARB_0= and TX_ARB_1 registers) identifier of message that will be transmitted = 10101010101
39
TX_ARB_0
00000000
TX_ARB_1
00000000
TX_ARB_0
10101010
TX_ARB_1
10101010
AT7908E
4268D–AERO–11/09
AT7908E
Table 30. write reg 14 H, data =00H
TX_MESSAGE_0
00000000
TX_MESSAGE_0
00000000
Table 31. write reg 15 H, data =FF Hex
TX_MESSAGE_1
00000000
TX_MESSAGE_1
11111111
Table 32. write reg 16 H, data =0FHex
TX_MESSAGE_2
00000000
TX_MESSAGE_2
00001111
Table 33. write reg 17 H, data =F0Hex
TX_MESSAGE_3
00000000
TX_MESSAGE_3
11110000
Table 34. write reg 18 H, data =AA Hex
TX_MESSAGE_4
00000000
TX_MESSAGE_4
10101010
40
4268D–AERO–11/09
Table 35. write reg 19 H, data =55 Hex
TX_MESSAGE_5
00000000
TX_MESSAGE_5
01010101
Table 36. write reg 1A H, data =66Hex
TX_MESSAGE_6
00000000
TX_MESSAGE_6
01100110
Table 37. write reg 1B H, data =99Hex
TX_MESSAGE_7
00000000
TX_MESSAGE_7
10011001
(TX_MESSAGE_n registers) Setting of data message that must be transmitted as
answer to remote frame request.
Operation 4
Table 38. write reg 01 H, data =48Hex
(SETUP_1 register) AT7908E connected to BUS ,setting to answer to remote frame request, standard message, length of
message = 8 byte.
SETUP_1
SETUP_1
Disabled
TXRM
TXEM
TMRMR
TXDLC3
TXDLC1
TXDLC1
TXDLC0
1
0
0
0
0
0
0
0
Disabled
TXRM
TXEM
TMRMR
TXDLC3
TXDLC1
TXDLC1
TXDLC0
0
1
0
0
1
0
0
0
To be ready to answer to a remote frame request, the MCU must set the Txreq bit on the
SETUP_3 register. After the Txreq setting, the AT7908E waits for a remote frame
request that matches (see the filtering functionality) the identifier stored on the TX_ARB
registers.
41
AT7908E
4268D–AERO–11/09
AT7908E
Operations 5 and 6
Table 39. write reg 03 H, data =0AHex
(SETUP_3 register) Resynchronisation jump length = 2 system clock and transmission request.
SETUP_3
SETUP_3
RxClr
Reset
IntClr
AbortTx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
RxClr
Reset
IntClr
AbortTx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
After this setting, the AT7908E waits for a remote frame request and the STATUS register will be not updated.
If the request arrives, the AT7908E will send an acknowledge and then starts to transmit
the data frame in reply to the remote frame request. The STATUS register, during the
answer, will be automatically updated (TX_active bit become 1).
STATUS
STATUS
SyncTx
SyncRx
Rxbuf1
Rxbuf0
TxOK
TxActive
ErrPass
BusOff
0
0
0
0
0
0
0
0
SyncTx
SyncRx
Rxbuf1
Rxbuf0
TxOK
TxActive
ErrPass
BusOff
0
0
0
0
0
1
0
0
At the end of the transmission, the AT7908E will send the INT to the MCU that can read
out the STATUS register to check that all is OK.
Setting to send remote frame request
In this paragraph will be described the procedure to send a remote frame request.
After the Device configuration, the MCU must initialize the transmit buffer to send the
remote frame request and the receiver buffers to receive the remote frame answer.
The configuration of all the setup registers after RESET signal.
Operation 1
Table 40. write reg 00 H, data =02Hex
(SETUP_0 register) system clock = external clock, enable receiving completed interrupt
SETUP_0
BPR1
BPR0
Gensync
Tx
Gensync
Rx
Errint
Overint
Rxint
Txint
0
0
0
0
0
0
0
0
42
4268D–AERO–11/09
SETUP_0
BPR1
BPR0
Gensync
Tx
Gensync
Rx
Errint
Overint
Rxint
Txint
0
0
0
0
0
0
1
0
SETUP_2 register will be not written (default configuration)
SETUP_3 register will be not written (default configuration)
After the SETUP registers, it is necessary to configure the TX message object:
Operation 2
Table 41. write reg 10 H, data =AA Hex
write reg 11 H, data =AA Hex
(TX_ARB_0= and TX_ARB_1 registers) identifier of message that will be transmitted = 10101010101
TX_ARB_0
00000000
TX_ARB_1
00000000
TX_ARB_0
10101010
TX_ARB_1
10101010
Setting of the RX message buffers (the incoming answer to the remote frame request
will be stored on the RX message buffer that matches the incoming Identifier,
10101010101 in this case).
Operation 3
Table 42. write reg 07 H, data =FF Hex
write reg 08 H, data =FF Hex
(FILTER_AM_0, FILTER_AM_1 registers)Global mask set to check all bits of incoming
identifier.
43
FILTER_AM_0
00000000
FILTER_AM_1
00000000
FILTER_AM_0
11111111
FILTER_AM_1
11111111
AT7908E
4268D–AERO–11/09
AT7908E
Table 43. write reg 20 H, data =55Hex
write reg 21 H, data =55Hex
(RX1_ARB_0, RX1_ARB_1 registers) Set the identifier for receiver message object
1(ID =01010101010)
RX1_ARB_0
00000000
RX1_ARB_1
00000000
RX1_ARB_0
01010101
RX1_ARB_1
01010101
Table 44. write reg 30 H, data =AA Hex
write reg 31 H, data =AA Hex
(RX2_ARB_0, RX2_ARB_1 registers)Set the identifier for receiver message object 2(ID
=10101010101)
RX2_ARB_0
00000000
RX2_ARB_1
00000000
RX2_ARB_0
10101010
RX2_ARB_1
10101010
Table 45. write reg 40 H, data =FF Hex
write reg 41 H, data =FF Hex
(RX3_ARB_0, RX3_ARB_1 registers)Set the identifier for receiver message object 3 (ID
=11111111111)
RX3_ARB_0
00000000
RX3_ARB_1
00000000
RX3_ARB_0
11111111
RX3_ARB_1
11111111
44
4268D–AERO–11/09
Operation 4
Table 46. write reg 01 H, data = 10Hex
(SETUP_1 register) AT7908E connected to BUS, remote frame request, standard message, length of data can be any
value.
SETUP_1
SETUP_1
Disabled
TXRM
TXEM
TMRMR
TXDLC3
TXDLC1
TXDLC1
TXDLC0
1
0
0
0
0
0
0
0
Disabled
TXRM
TXEM
TMRMR
TXDLC3
TXDLC1
TXDLC1
TXDLC0
0
0
0
1
0
0
0
0
Transmission request
Operation 5 and 6
Table 47. write reg 03 H, data =0AHex
(SETUP_3 register) Resynchronisation jump length = 2 system clock and transmission request.
SETUP_3
SETUP_3
RxClr
Reset
IntClr
AbortTx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
RxClr
Reset
IntClr
AbortTx
Txreq
RSJ2
RSJ1
RSJ0
0
0
0
0
0
0
1
0
At this point, the AT7908E starts to transmit the remote frame request until an acknowledge comes from another CAN node.
In the next figure is reported the standard CAN format on the CAN BUS for the
REMOTE FRAME request.
Figure 13. Remote frame
SOF
ACK
Control Field
End of
Frame
TxOK bit Updated
45
AT7908E
4268D–AERO–11/09
AT7908E
Table 48. STATUS register before the TX request:
STATUS
SyncTx
SyncRx
Rxbuf1
Rxbuf0
TxOK
TxActive
ErrPass
BusOff
0
0
0
0
0
0
0
0
Table 49. STATUS register after start of transmission:
STATUS
SyncTx
SyncRx
Rxbuf1
Rxbuf0
TxOK
TxActive
ErrPass
BusOff
0
0
0
0
0
1
0
0
Table 50. STATUS register after end of completed correctly transmission:
STATUS
SyncTx
SyncRx
Rxbuf1
Rxbuf0
TxOK
TxActive
ErrPass
BusOff
0
0
0
0
1
0
0
0
At this point, the AT7908E waits for a remote frame answer. If the remote frame answer
arrives, the behavior of the AT7908E, from all points of view, is the same as for a normal
receiving message (see paragraph 6.2.3).
46
4268D–AERO–11/09
Package
Mechanical
Characteristics
44 Pin Multilayer Ceramic Package (MLCC)
Dimension: 17.14 x 17.14 mm
Pin to Pin Spacing : 1.27 mm
47
AT7908E
4268D–AERO–11/09
AT7908E
Pin Assignment
PIN Number
Signal Name
Note
1
VCCA1
Power for array
2
Addr[4]
3
Addr[5]
4
Addr[6]
5
Addr[7]
6
VSSB1
Ground for periphery
7
VCCB2
Power for periphery
8
Cs
9
Mode
10
Ale
11
Wr
12
VSSA1
13
Rd
14
Sena
15
Test
16
Reset
17
VSSB2
Ground for periphery
18
VCCB3
Power for periphery
19
Can_rx
20
Hasync
21
----------
22
Xtalout
23
Xtalin
24
VCCA2
25
Int
26
Hatrig
27
Can_tx
Ground for Array
Not connected
Power for array
28
VSSB3
Ground for periphery
29
VCCB4
Power for periphery
30
Data[0]
31
Data[1]
32
Data[2]
33
Data[3]
34
VSSA2
35
Data[4]
36
Data[5]
37
Data[6]
Ground for Array
48
4268D–AERO–11/09
PIN Number
Signal Name
38
Data[7]
39
VSSB4
Ground for periphery
40
VCCB1
Power for periphery
41
Addr[0]
42
Addr[1]
43
Addr[2]
44
Addr[3]
Note:
Note
VCCA1 = VCCA2 = VCCB1 = VCCB2 = VCCB3 = VCCB4 = 5V
VSSA1 = VSSA2 = VSSB1 = VSSB2 = VSSB3 = VSSB4 = 0V
Ordering Information
Part Number
49
Temperatue Range
Quality Flow
AT7908EJL-E
25°C
Engineering Sample
5962-03A0601QXC
-55°C to +125°C
QML Q
5962-03A0601VXC
-55°C to +125°C
QML V
AT7908E
4268D–AERO–11/09
Atmel Corporation
2325 Orchard Parkway
San Jose, CA 95131
Tel: 1(408) 441-0311
Fax: 1(408) 487-2600
Regional Headquarters
Europe
Atmel Sarl
Route des Arsenaux 41
Case Postale 80
CH-1705 Fribourg
Switzerland
Tel: (41) 26-426-5555
Fax: (41) 26-426-5500
Asia
Room 1219
Chinachem Golden Plaza
77 Mody Road Tsimshatsui
East Kowloon
Hong Kong
Tel: (852) 2721-9778
Fax: (852) 2722-1369
Japan
9F, Tonetsu Shinkawa Bldg.
1-24-8 Shinkawa
Chuo-ku, Tokyo 104-0033
Japan
Tel: (81) 3-3523-3551
Fax: (81) 3-3523-7581
Atmel Operations
Memory
2325 Orchard Parkway
San Jose, CA 95131
Tel: 1(408) 441-0311
Fax: 1(408) 436-4314
Microcontrollers
2325 Orchard Parkway
San Jose, CA 95131
Tel: 1(408) 441-0311
Fax: 1(408) 436-4314
La Chantrerie
BP 70602
44306 Nantes Cedex 3, France
Tel: (33) 2-40-18-18-18
Fax: (33) 2-40-18-19-60
ASIC/ASSP/Smart Cards
Zone Industrielle
13106 Rousset Cedex, France
Tel: (33) 4-42-53-60-00
Fax: (33) 4-42-53-60-01
RF/Automotive
Theresienstrasse 2
Postfach 3535
74025 Heilbronn, Germany
Tel: (49) 71-31-67-0
Fax: (49) 71-31-67-2340
1150 East Cheyenne Mtn. Blvd.
Colorado Springs, CO 80906
Tel: 1(719) 576-3300
Fax: 1(719) 540-1759
Biometrics/Imaging/Hi-Rel MPU/
High Speed Converters/RF Datacom
Avenue de Rochepleine
BP 123
38521 Saint-Egreve Cedex, France
Tel: (33) 4-76-58-30-00
Fax: (33) 4-76-58-34-80
1150 East Cheyenne Mtn. Blvd.
Colorado Springs, CO 80906
Tel: 1(719) 576-3300
Fax: 1(719) 540-1759
Scottish Enterprise Technology Park
Maxwell Building
East Kilbride G75 0QR, Scotland
Tel: (44) 1355-803-000
Fax: (44) 1355-242-743
e-mail
[email protected]
Web Site
http://www.atmel.com
Disclaimer: Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company’s standard
warranty which is detailed in Atmel’s Terms and Conditions located on the Company’s web site. The Company assumes no responsibility for any
errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and
does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are
granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel’s products are not authorized for use
as critical components in life support devices or systems.
© Atmel Corporation 2004. All rights reserved. Atmel ® and combinations thereof are the registered trademarks of Atmel
Corporation or its subsidiaries. Other terms and product names may be the trademarks of others.
Printed on recycled paper.
4268D–AERO–11/09
xM