At76c712 jt064
At76c712 jt064
At76c712 jt064
• Advanced RISC Architecture, 130 Powerful Instructions, most Single Clock Cycle
Execution
• JTAG (IEEE std. 1149.1 compliant) Interface
• Boundary-Scan Capabilities According to the JTAG Standard
• Extensive On-Chip Debug Support
• Clock Generator Provides CPU Rates Up to 48MHz
• Only One External Clock Crystal of 12MHz can generate all the required System
Clocks:
• Internal Clock for Standard UART Rates High Speed
(48MHz) AVR®
• A 48MHz and 96MHz clock for USB Data Recovery
• AVR Processor and System Clock.
• On Chip Bootstrap ROM Provides a Variety of Firmware Upgrade Modes
• Device Firmware Upgrade through USB for the internal Program SRAM (No
based Bridging
External Non-Volatile SPI Memory Required)
• Device Firmware Upgrade through USB for both the internal Program SRAM
Device
and the External SPI DataFlash® or EEPROM or Serial Flash.
• SPI Program Mode from the External DataFlash or EEPROM or Serial Flash.
• Two On Chip 16550 UARTs Supporting Baud Rates Up to 921Kbaud. AT76C712
• Both UARTs incorporate individual Transmit and Receive FIFOs of 16 Bytes
• UART0 Supports Modem Control Signals
• Programmable SPI interface
• Full-Speed USB Interface (12Mbit/s) 2.0 Compliant
• DMA Channels allow fast data transfers between Endpoint Buffers and internal SRAM.
The DMA transfer rate is 12MHz for all channels.
• 8K x 16bits (Up to 11K x 16bits), in-system SRAM for Program Code (Program Memory)
• On Chip 8KBytes SRAM. Default use of this memory is for Data and Variables. You can
configure 2, 4 or 6Kbyte to be remapped for program storage in the Address Area
above the Program Memory. Thus, reallocating 6KBytes, the Program Space becomes
11K x 16bits and the Data Space 2KBytes.
• Two 8-bit Timer/Counters
• One 16-bit Timer/Counter
• Two External interrupts Through GPIOs
• Programmable Watchdog Timer
• Low voltage operation:
• 1.8V for the Core,
• 1.8V or 3.3V for the periphery
• 3.3V for the USB.
• Low cost 64-pin leadfree TQFP Package, suitable for USB-to-UART Bridge Applications
5635AX–USB–10/06
1. Overview
The Atmel AT76C712 is a low-power USB peripheral, which can connect various types of
devices to a common USB port.
It is based on the AVR enhanced RISC architecture core which combines a rich instruction set
with 32 general purpose working registers. By executing powerful instructions in a single clock
cycle, the AT76C712 achieves throughputs approaching 1MIPS per MHz allowing the system
designer to optimize power consumption versus processing speed.
The clock generation circuit requires a clock input of 12MHz and provides standard clock rates
for the USB module and the on chip UARTs as well as several AVR CPU rates varying from
16MHz up to 48MHz.
Internal DMA channels allow fast data transfers between the USB buffers and the on-chip mem-
ory without processor interruption. USB DMA transfers use devoted data paths with
12Mbytes/sec transfer rate.
25 multipurpose I/O pins, provide the signals for the external interfaces. The AT76C712 offers in
addition two external interrupts, programmable Watchdog Timer, flexible timer/counters with
compare modes and supports various power down modes.
On power up, the bootstrap code is executed from the Boot ROM. The purpose of the bootstrap
code is to load the application code into the Program Memory. The application code is executed
from the on-chip SRAM Program Memory contributing to the low power consumption. Different
programming modes are supported depending on the application (the mode is selected exter-
nally by the PMODE0 and PMODE1 pins).
In a slave programming mode, an external system (the host), operating as SPI master, can
transfer in a raw format the program image into the program memory of the device. In this case,
the AT76C712 operates as SPI slave and starts running from the internal boot ROM code which
switches to the start of program memory, when it detects the end of a valid program transfer
from the host to the AT76C712 (see the “Slave Programmming Mode” on page 9).
In a Master Programming Mode, the AT76C712 reads the whole program image from an exter-
nal SPI EEPROM or DataFlash® or Serial Flash and switches to the start of Program Memory
when it completes the reading (see the “Master Programming Modes” on page 10). Alternatively,
the AT76C712 reads only configuration parameters from a small serial non-volatile memory
(Serial EEPROM or DataFlash® or Serial Flash), enables the USB Controller and executes the
USB Device Firmware Upgrade (DFU) code which is stored in the boot ROM.
The USB Controller consists of a Serial Interface Engine (SIE), a Function Interface Unit (FIU)
and a System Interface (SI). The SIE performs bit processing, line coding, packet generation
and packet type recognition, serial-parallel data conversion and packet delineation. The Func-
tion Interface Unit consists of a protocol engine and a USB device with one Control Endpoint
(EP0) and four programmable Endpoints with up to 512bytes maximum total size. All Endpoints
support double buffering in order to provide the maximum performance specified for the USB.
The AT76C712 supports two 16550 UART modules with 16-bytes FIFOs in each direction.
UART0 serial interface provides full modem control functionality with the RTS/CTS, DTR/DSR,
RI and CD signals. These signals are provided by the general purpose I/O pins of PORTD.
The AT76C712 AVR is supported with a full suite of program and system development tools
including: C compiler, macro assemblers, program debugger/simulators, in-circuit emulators,
evaluation kits, etc.
2 AT76C712
5635AX–USB–10/06
AT76C712
2. AT76C712 Functional Diagram
TCK PB4/nSS
OCD
Port Interface
PD0/SIN0
PD1/SOUT0
PD2/ RTS
PD3/CTS
PD4/DSR
Memory PD5/ DTR
UART0 PD6/CD
Controller PD7/RI
FIFOs
IrDA 1.0
DMA
USB Controller SRAM PE0 /SIN1
DP, DM UART1 PE1/SOUT1
Controller 8Kbytes
PE2/INT0
PE3/INT1
FIFOs
Memory Mapped modules
3
5635AX–USB–10/06
3. Pin Diagram
USB_ATTACH
TEST_CLK
TEST_EN
PB0/T0
PB1/T1
CGND
PGND
CVDD
PVDD
PVDD
TDO
TMS
TCK
PA0
PA1
TDI
64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49
48 PVDD_USB
PGND 1
47 DM
nRST 2
46 DP
CVDD 3
45 SUSP
PE3/INT1 4
44 CGND
PE2/INT0 5
43 PGND
PE1/SOUT 6
42 CVDD
PE0/SIN1 7
41 PD0/SIN0
PVDD 8
40 PD1/SOUT0
PMODE0 9
39 PD2/RTS
PMODE1 10
38 PD3/CTS
CGND 11
37 PD4/DSR
LFT 12
36 PD5/DTR
PAGND 13
35 PD6/CD
XIN 14
34 PD7/RI
XOUT 15
33 PVDD_PORT D
PAVDD 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
PGND
VEXT
CVDD
PC2
PC1
PC0
PB2/T2
POR_VSEL
PVDD
PB6/MISO
PB5/MOSI
PVDD
PB3/ICP
PB4/nSS
CGND
PB7/SCK
4 AT76C712
5635AX–USB–10/06
AT76C712
4. Pin Summary – Pin Assignment of the 64–pin Package
5
5635AX–USB–10/06
5. Signal Description
Port C serves as an 3-bit bi-directional I/O port with internal pull-up resistors. The Port C output buffers
can sink 20 mA and can drive LED displays directly. As inputs, Port C pins that are externally pulled low
PC[0:2] B
will source current. The Port C pins are inputs when a reset condition becomes active, even if the clock is
not running.
6 AT76C712
5635AX–USB–10/06
AT76C712
Table 5-1. Signal Description (Continued)
Type: I = Input, O = Output, I/O = Bi-directional, A = Analog Signal
Name Type Description
Port D offers the data and handshaking signals for UART0 interface, as listed bellow. These functions are
explained in more detail on UART section.
Port D, when the UART0 is not used, is also an 8-bit bi-directional I/O port with internal pull-up resistors.
The Port D output buffers can sink 20 mA. As inputs, Port D pins that are externally pulled low will source
current. The Port D pins are inputs when a reset condition becomes active, even if the clock is not running.
Port E offers the data signals for UART1 interface and offers 2 external interrupt lines (edge triggered or
level sensitive external interrupt). These functions are explained in more detail on the following sections.
Port E, when the alternative functions are not used, is also an 8-bit bi-directional I/O port with internal pull-
up/down resistors. Pins PE2 and PE3 have pull-down resistors while the rest pins have pull-up resistors.
The output buffers of Port E pads can sink 20 mA. As inputs, Port E pins that are externally pulled low (or
high for PE2 and PE3) will source current. The Port E pins are inputs when a reset condition becomes
active, even if the clock is not running.
7
5635AX–USB–10/06
Table 5-1. Signal Description (Continued)
Type: I = Input, O = Output, I/O = Bi-directional, A = Analog Signal
Name Type Description
USB Serial Interface
USB data I/O (positive differential line). DP and DM form the differential signal pin pair connected to the
DP I/O Host Controller or an upstream Hub.The DP/DM lines require the addition of external series
resistors of 27Ω
DM I/O USB data I/O (negative differential line)
This output controls the pullup resistor of the DP signal. When low, it enforces the host to re-enumerate the
USB_ATTACH O
device.
Programming Mode Control Signals
PMODE0 PMODE0 and PMODE1 pins are used from the on-chip bootstrap code and define the programming
I
PMODE1 mode. For more details refer to the Program Modes section.
Test Signals
TEST_EN I General-purpose signal for test. Tied to VSS in normal conditions.
TEST_CLK I Used only for production setting. Tied to VSS in normal conditions.
POR_VSEL I Used in production phase only. Tied to VSS in normal conditions.
VEXT I Used in production phase only. Tied to 1.8V in normal conditions.
Other Signals
Reset input. A low on this pin for two clock cycles while the oscillator is running resets the device. Note that
nRST I
there is no internal pull-up resistor on this pin.
SUSP O Indicates if the IC is in power down mode
System clock oscillator pad, input to the inverting oscillator amplifier and input to the internal system clock
XIN I
operating circuit.
XOUT O System clock oscillator pad, output from the inverting oscillator amplifier.
An external RC filter should be connected to this pin to stabilize the lock-in time of the internal PLL for the
LFT A
master clock input XIN.Main PLL LFT input
Power Supply pins
CGND Power 0 Volts supply to the core
CVDD Power 1.8 Volts supply to the core
PGND Power 0 Volts supply to the external section of the I/O circuitry
PVDD Power 1.8V or 3.3 Volts supply to the external section of the I/O circuitry
PVDD_PortD Power 1.8V or 3.3 Volts supply to the external section of the Port D I/O circuitry
PVDD_USB Power 3.3 Volts supply for the USB and SUSPEND pins
PAGND Power 0 Volts Analog supply to the core, AC and DC sections of the I/O circuitry
PAVDD Power 1.8 Volts Analog supply to the core, AC and DC sections of the I/O circuitry
8 AT76C712
5635AX–USB–10/06
AT76C712
6. Functional Description
nSS
9
5635AX–USB–10/06
During the transmission of the configuration data and code Image, AT76C712 returns an 8-bit
counter value, which counts the received bytes. Thus, the host can verify whereas AT76C712
received the correct amount of data.
During the first confirmation cycle, the SPI master sends $CA to command “Continue Analyzing”
or $AB to command “Abort”. SPI Slave will return if the transmission of “Data was OK” by send-
ing $D0 or “Error” by sending $EE.
During the second confirmation cycle, the SPI master data are ignored and the SPI slave sends
the positive acknowledge $AD “Analyzing Data”, or one of the error messages: $DD “Discarding
data”, $DE “Discarding due to transmission error” or $EE “Error in confirmation command”.
Table 6-2 presents all possible cases.
If the slave programming sequence fail, then the AT76C712 will enable the USB controller wait-
ing for DFU sequence, using the default USB descriptors.
10 AT76C712
5635AX–USB–10/06
AT76C712
example, using the AT45DB011B, the page size is 264 bytes and thus, the Configuration
Header will consume 264 bytes.
The meaning of each byte is described in Table 6-3.
The first 2 bytes must be $55 and $AA in order to detect as valid the rest information. If those
bytes are invalid, then the bootstrap code rejects the operation immediately and starts the USB
DFU procedures.
Size[15:0] is the length of the Image code counted in pages. During the Slave Programming
mode and SPI EEPROM Master Programming mode, each page is 256 bytes length.
Control Bitmap (or Control Byte) is described in Table 6-4.
Note: Bits 7, 3, 2, 1 and 0 affect only the bootstrap USB DFU process
11
5635AX–USB–10/06
MEMMAP byte will be assigned immediately to the MEMMAP register (see MEMMAP descrip-
tion in the “Memory Access Interface” on page 15). This register configures the size of the
Program Memory and Data Memory.
CIS[ ] is a table that carries the USB descriptors. Each descriptor starts right after the end of the
previous one. The order is shown in Table 6-3. The remaining bytes from the end of the CIS[ ]
table up to the end of the page have no meaning.
Note: Note that if the REMAP bit of the Control Byte is cleared, then the Image code will be loaded into
AT76C712 Program Memory (see Size[15:0]), the system will not remap, and the bootstrap code
will enable the USB core and enumerate using the new USB Descriptors (CIS[ ]) instead of the
default USB Descriptors.
12 AT76C712
5635AX–USB–10/06
AT76C712
6.3 Oscillator and Clock Generator
The AT76C712 clock generation circuit is based on a single clock input from an external 12MHz
crystal through the oscillator pad. All internal clocks are generated by multiplying this clock input
incorporating an on-chip PLL. The output of the PLL can be configured in 96MHz (default) or
192MHz. In order to produce the desired clocks the clock generator circuit divides the PLL out-
put. By generating a high frequency PLL output and then dividing that, reduces the impact of the
jitter imported by the PLL.
An elaborate gobbling circuit produces a 14.769MHz clock from the PLL output which can sup-
port all standard baud rates with an acceptable frequency error.
PLL Lock
M
O P U PLL Stable
XTAL S L Delay X
12MHz C L
96or 192MHz
/2
M 96MHz /32 3MHz WDT
CLK_CNTR.OSC_NSLP U
X
/2 48MHz
CLK_CNTR.MUL16 96MHz USB
CLK_CNTR.NPCIP
CLK_CNTR.PIVOC1 14.769MHz
2/13 UARTs
CLK_CNTR.MUL16 /4
M
/5 U System
X
/6 (AVR,etc)
CLK_CNTR.MCSP1.0
R1
330 Ohm
C2
3.3nF
C1
33nF
13
5635AX–USB–10/06
6.4 Memory Map
$2000
Internal SRAM Bank 6,7
$1800
Internal SRAM Bank 4,5
Max. Internal
$1000
Data Memory
Internal SRAM Bank 2,3
$0800
Internal SRAM Bank 0,1 Min. Internal
Data Memory
$0060
I/O Registers
$0020 Registers
AVR Core Registers
$0000
14 AT76C712
5635AX–USB–10/06
AT76C712
6.5 Memory Access Interface
The Memory Access Interface consists of the Memory Remapping Interface.
16
8 8
15
5635AX–USB–10/06
Table 6-7. Memory Map Allocation Cases
Data banks
MEMMAP
allocated to Data Data Address Space Program Address Space
Register value
Memory space
0 1 $0000-$07FF (2KBytes) $8000-$D7FF (22Kbytes)
2 3 $0000-$0FFF (4Kbytes) $8000-$CFFF (20Kbytes)
4 5 $0000-$17FF (6Kbytes) $8000-$C7FF (18Kbytes)
6 7 $0000-$1FFF (8Kbytes) $8000-$BFFF (16Kbytes)
16 AT76C712
5635AX–USB–10/06
AT76C712
Figure 6-5. USB Controller
USB Controller
FIFOs
The USB controller supports one control EP and seven programmable Endpoints in terms of the
type (BULK, INT or ISO) and the direction (IN, OUT). The Function Interface Unit (FIU) includes
the endpoint buffers and the controllers of endpoints shown in Table 6-8.
A Pair Endpoint address scheme is also supported. According to this sceme, two Endpoints may
have the same address provided one of them has been configured as IN and other as OUT.
17
5635AX–USB–10/06
Table 6-9. USB Interrupt Sources
Interrupt Description
Function EP0 Interrupt See control transfers at function EP0 for details
For an OUT Endpoint it indicates that Function Endpoint1 has received a
valid OUT packet and that the data is in the FIFO. For an IN Endpoint it
Function EP1 Interrupt means that the Endpoint has received an IN token, sent out the data stored
in the FIFO and received an ACK from the Host. The FIFO is now ready to be
written by new data from the processor.
Function EP2 Interrupt see Function EP1 Interrupt
Function EP3 Interrupt See Function EP1 Interrupt
Function EP4 Interrupt See Function EP1 Interrupt
Function EP5 Interrupt See Function EP1 Interrupt
Function EP6 Interrupt See Function EP1 Interrupt
SOF Received Whenever USB H/W decodes a valid Start of Frame.
EXT RSM The H/W has received a remote wake-up request
The H/W has received resume signaling. The processor's firmware should
RCVD RSM
take the function out of the suspended state.
The H/W has detected a suspend condition and is preparing to enter the
SUSP suspend mode. The processor's firmware should place the embedded
function in the suspend mode.
18 AT76C712
5635AX–USB–10/06
AT76C712
4. TX Complete set (0 -> 1).
19
5635AX–USB–10/06
Host USB macro Micro Controller
5. if CRC OK, set RX_SETUP bit
6. INTERRUPT
7. Read UISR (bit 0 is set)
8. Read FCSR0 (RX_SETUP bit)
9. Read FBYTE_CNT0
10. Read FIFO 0
11. Parse Data
If Control Read Phase:
Set Control Direction.
Clear RX_SETUP bit.
Fill FIFO with data.
Set TX_Packet_Ready
If Control Write Phase:
Clear Control Direction.
Clear RX_SETUP bit.
If No data Stage Phase:
Clear Control Direction.
Set Data_End bit.
Set FORCE_STALL bit.
If Unsupported Command:
Set FORCE_STALL bit
12. SET UIAR (EP0 INTA)
Status Stage, No DATA Stage
1. [SYNC]-[IN]
2. Send DATA1(0)
3. If CRC Ok,
send [SYNC]-[ACK]
4. Set TX_Complete bit
5. INTERRUPT
6. Read UISR
7. Read CSR
20 AT76C712
5635AX–USB–10/06
AT76C712
Host USB macro Micro Controller
8.
If SET_ADDRESS,
write Device Address to
FADDR.
Set FADD Enable bit of Glo-
bal State Register
If SET_CONFIGURATION with a 1:
Set CONFIG bit of Global
State Register.
9. Clear Tx_Complete bit
10. Clear Data_End bit
11. Set FORCE_STALL bit
12. SET UIAR (EP0 INTA)
DATA Stage, Control READ
1. [SYNC]-[IN]
2. If TX_Packet_Ready = 1
send DATA0 / DATA1
else, send STALL
3. If CRC OK,
send [SYNC]-[ACK]
4. Clear TX_Packet_Ready
5. Set TX_Complete bit
6. INTERRUPT
7. Read UISR
8. Read CSR
9. Clear Tx_Complete bit
10.
If more data
fill FIFO with data and set
TX_Packet_Ready
else
if a NULL packet should be sent,
set DATA_END and set
TX_Packet_Ready
else
if all bytes sent and need to send a
NULL packet,
set DATA_END and set
SET_FORCE_STALL.
11. SET UIAR (EP0 INTA)
STATUS/Early STATUS Stage with READ DATA Stage
21
5635AX–USB–10/06
Host USB macro Micro Controller
1. [SYNC]-[OUT]
2. [SYNC]-[DATA1(0)]
3. If TX_Complete = 0 then send
[SYNC]-[ACK] and set RX_OUT
else
send [SYNC]-[NACK]
4. INTERRUPT
5. Read UISR
6. Read CSR
7. Clear RX-OUT
8. Set Data_end
9. Set Force_Stall
Comment: A SETUP token will clear
Data_End. Not cleared by firmware in
case Host retries 1 through 3.
10. 11. SET UIAR (EP0 INTA)
DATA Stage, Control WRITE
1. [SYNC]-[OUT]
2. [SYNC]-
[DATA1/DATA0]
3. Data are put in FIFO
4. If CRC ok send [SYNC]- [ACK]
5. if CRC ok, set RX_OUT
6. INTERRUPT
7. Read UISR
8. Read CSR
9. Read FIFO
10. Clear RX_OUT
If last packet,
Set Data_End
Set Force_Stall
11. SET UIAR (EP0 INTA)
STATUS Stage with WRITE DATA Stage
1. [SYNC]-[IN]
2. Send DATA1(0)
3. If CRC Ok,
send [SYNC]-[ACK]
4. Set TX_Complete bit
5. INTERRUPT
22 AT76C712
5635AX–USB–10/06
AT76C712
Host USB macro Micro Controller
6. Read UISR
7. Read CSR
8. Clear Tx_Complete bit
9. Clear Data_End bit
10. Set FORCE_STALL bit
11. SET UIAR (EP0 INTA)
ACK ACK
23
5635AX–USB–10/06
Figure 6-7. Bulk OUT Transfers
OUT Token without Ping-pong
HOST fills USB fifo UC reads fifo HOST fills USB fifo UC reads fifo
OUT Token
OUT token Rx_OUT =1 ACK OUT token Rx_OUT =1
Rx_OUT = 0
6.7.14 Suspend
A USB device enters the suspend mode only when requested by the USB Host through bus
inactivity for at least 3ms. The USB H/W detects this request, sets the SUSP bit of the Sus-
pend/Resume Register (SPRSR), and interrupts the processor if the interrupt is enabled. The
processor should shut down any peripheral activity, enter Power Down mode and signal the
USB H/W that it can now enter the suspend mode by writing 1 to the “sleep mode” USB_Macro
input pin. At this moment, the firmware must execute the SLEEP instruction and set the system
to power-down state. The Oscillator, PLL, AVR and all peripherals will stop and the SUSP pin
will be set to high. The USB suspend interrupt hits twice; one time in the beginning of the sus-
pend and one time at the end of the suspend.
6.7.15 Resume
Resume is signaled by a J to K state transition at the USB port. The USB H/W enables the oscil-
lator/PLL and sets the RSM bit of the SPRSR, which generates an interrupt. The processor
starts executing where it left off and services the interrupt. Then, the firmware clears the RCVD
RSM bit.
24 AT76C712
5635AX–USB–10/06
AT76C712
6.8 UART0, UART1
UART0 and UART1 are 16550 compatible UARTs with some extra features.
The main features of the UARTs are:
• Capable of running 16550 software.
• After reset all registers are in 16550 compatible mode.
• Programmable Baud Rate Generator
• Maximum data rate 921.6Kbaud
• Exception handling using either prioritized interrupts or polled modes
• Parity, Framing and Overrun Error Detection
• Two Dedicated Controller channels
• 16-Byte transmit FIFO.
• 16-Byte plus 3 error bits receive FIFO.
• 5-, 6-, 7- and 8-bit word length.
• Bidirectional Handshaking Modem Control signals (available only for UART0).
• Line break generation and detection.
• Multi-drop mode: Address detection and generation.
• Diagnostic Loop-back mode (with or without echo)
6.8.2 Receiver
The UART detects the start of a received word by sampling the SIN signal until it detects a valid
start bit. A low level (space) on SIN is interpreted as a valid start bit if it is detected for more than
7 cycles of the sampling clock, which is 16 times the baud rate. Hence a space which is longer
than 7/16 of the bit period is detected as a valid start bit. A space, which is 7/16 of a bit period or
shorter, is ignored and the receiver continues to wait for a valid start bit. When a valid start bit
has been detected, the receiver samples the SIN at the theoretical midpoint of each bit. It is
assumed that each bit lasts 16 cycles of the sampling clock (one bit period) so the sampling
point is 8 cycles (0.5 bit periods) after the beginning of the bit. Therefore, the first sampling point,
is sampled 24 cycles (1.5 bit periods) after the falling edge of the start bit was detected. Each
subsequent bit is sampled 16 cycles (1 bit period) after the previous one.
6.8.4 Time-out
The receiver section includes a time-out mechanism in order to trace the time interval between
the received words.
The RTO register contains the maximum bit periods, for which the UART will wait the next word
to arrive. Whenever the time-out counter expires (reaches $00), then a Time-out Indication Inter-
rupt will be issued.
The XR1[5] Start Time-out Control bit selects the Start Time-out and RTO load mechanism. If
the XR1[5] bit is reset to ‘0’ (16550 compatible mode), then the RTO loads the value 4 times the
word length + 12 on each LCR write operation. After reset, the word length is 5 bits and the RTO
is $20. The time-out counter will then start counting down only in FIFO mode (FCR[0] is set) and
if the Rx FIFO holds at least 1 word. If XR1[5] is set to ‘1’, then the time-out function is available
and in FIFO disabled mode. The RTO value doesn’t change with LCR write operations. The
25
5635AX–USB–10/06
time-out counter will start counting down whenever the RTO is not $00. In all cases, the core has
immediate access to the contents of the RTO.
The Time-out counter resets on a RHR read access from core or when a new word is completely
received and transferred at the Receive Holding Register or when the XR1[4] bit is forced to
logic ‘1’.
6.8.6 Transmitter
The start bit, data bits, parity bit and stop bits are serially shifted, with the lowest significant bit
first, on the falling edge of the UART clock. The LCR controls the number of data bits, the parity
bit and the number of stop bits. When a word is written to THR (Transmit Holding Register), it is
transferred to the Shift Register as soon as it is empty. When the transfer occurs, the THR ready
(bit-5) in LSR is set until a new word is written to THR. If the Transmit Shift Register and THR
are both empty, the transmitter empty (bit-6) in LSR is set.
6.8.8 Time-Guard
The Time-Guard function allows the transmitter to insert an idle state on the SOUT line between
two words. The duration of the idle state is programmed in U _TTG (Transmitter Time-Guard).
When this register is set to ‘0’, no time-guard is generated.
26 AT76C712
5635AX–USB–10/06
AT76C712
6.8.10 Interrupt Generation
The UART prioritizes interrupts into five levels and records these in the Interrupt Identification
Register (IIR). The five levels of interrupt conditions in order of priority are: Receiver Line Status,
RHR Ready, Time-out, THR Ready and Modem Status. When the CPU accesses the IIR, the
UART freezes the contents of IIR and indicates the highest priority pending interrupt to the CPU.
During this CPU access, the UART records new interrupts, but does not change its current indi-
cation until the access is complete.
The Interrupt Enable Register (IER) controls which interrupt condition will issue an interrupt to
the core. Disabling all interrupts, UART works in polled mode.
NRZ
1.6 µsec
<115.2Kbps
¼ bit
0.576 and
1.152 Mbps
27
5635AX–USB–10/06
6.10 Watchdog Timer
The main features of the Watchdog timer are:
• 3MHz clock
• 22-bit up-counter
• Programmable prescaler
• Write access protection on timer disable
The Watchdog Timer (WDT) is used to prevent system lock-up if the software becomes trapped
in a deadlock.
The WDT is clocked with a 3MHz clock from the Clock Generator. In normal operation the user
resets the watchdog timer at regular intervals, using the WDR instruction. By controlling the
WDT prescaler, the Watchdog reset interval can be adjusted (see WDTCR register, WDP2..0
bits). Eight different clock cycle periods can be selected to determine the reset period. If the
reset period expires without another Watchdog Reset, the system resets and executes from the
reset vector.
To prevent unintentional disabling of the Watchdog, a special turn-off sequence must be fol-
lowed when the Watchdog is disabled. Refer to the description of the WDTCR register for
details.
28 AT76C712
5635AX–USB–10/06
AT76C712
Figure 6-9. Interconnection between master and slave SPI controllers
MOSI MOSI
8-bit Shift Register 8-bit Shift Register
MISO MISO
The PB4(SCK) pin is the clock output in the Master mode and the clock input in the Slave mode.
Writting to the SPI Data Register of the SPI Master starts the SPI clock generator and the data
written shifts out of the Master MOSI pin and into the Slave MOSI pin. After shifting one byte, the
SPI clock generator stops setting the End-of-Transmission flag (SPIF). If the SPI interrupt
enable bit (SPIE) in the SPCR register is set, an interrupt is issued. The Slave Select input (nSS)
is set low to select an individual slave SPI device.
The system is single-buffered in both transmit and receive direction. This means that bytes to be
transmitted cannot be written to the SPI Data Register before the entire shift cycle is completed.
When receiving data, we must read the received byte before the next reception is started. other-
wise the first byte is lost.
When the SPI is enabled (PERIPHEN Register, SPI bit), the data direction of the MOSI, MISO,
SCK and nSS pins is overriden according to Table 6-11.
29
5635AX–USB–10/06
Thus, when interrupt-driven SPI transmittal is used in Master Mode and there exists a possibility
that nSS is driven low, the interrupt should always check that the MSTR bit is still set. Once the
MSTR bit has been cleared by a slave select, it must be set by the user to re-enable SPI Master
Mode.
When the SPI is configured as a slave, the nSS pin is always input. When nSS is held low, the
SPI is activated and MISO becomes an output. All other pins (MOSI and SCK) are inputs. When
nSS is driven high, all pins are inputs and the SPI is passive, which means that it will not receive
incoming data. Note that the SPI logic will be reset once the nSS pin is brought high. If the nSS
pin is brought high during a transmission, the SPI will stop sending and receiving immediately
and both data received and data send must be considered lost.
nSS
SCK
MOSI/MISO D7 D6 D5 D4 D3 D2 D1 D0
nSS
SCK
MOSI/MISO D7 D6 D5 D4 D3 D2 D1 D0
nSS
SCK
MOSI/MISO D7 D6 D5 D4 D3 D2 D1 D0
30 AT76C712
5635AX–USB–10/06
AT76C712
Figure 6-13. SPI Mode 3
nSS
SCK
MOSI/MISO D7 D6 D5 D4 D3 D2 D1 D0
31
5635AX–USB–10/06
Figure 6-14. JTAG Interface and On-Chip Debug System Block Diagram
TDI
TDO
TAP
TMS Controller
TCK
32 AT76C712
5635AX–USB–10/06
AT76C712
instructions into the JTAG Instruction Register from the TDI input at the rising edge of TCK.
The TMS input must be held low during input of the 3 LSBs in order to remain in the Shift-IR
state. The MSB of the instruction is shifted in when this state is left by setting TMS high.
While the instruction is shifted in from the TDI pin, the captured IR-state 0x01 is shifted out
on the TDO pin. The JTAG Instruction selects a particular Data Register as path between TDI
and TDO and controls the circuitry surrounding the selected Data Register.
• Apply the TMS sequence 1, 1, 0 to re-enter the Run-Test/Idle state. The instruction is latched
onto the parallel output from the Shift Register path in the Update-IR state. The Exit-IR,
Pause-IR, and Exit2-IR states are only used for navigating the state machine.
• At the TMS input, apply the sequence 1, 0, 0 at the rising edges of TCK to enter the Shift
Data Register – Shift-DR state. While in this state, upload the selected Data Register
(selected by the present JTAG instruction in the JTAG Instruction Register) from the TDI input
at the rising edge of TCK. In order to remain in the Shift-DR state, the TMS input must be
held low during input of all bits except the MSB. The MSB of the data is shifted in when this
state is left by setting TMS high. While the Data Register is shifted in from the TDI pin, the
parallel inputs to the Data Register captured in the Capture-DR state is shifted out on the
TDO pin.
• Apply the TMS sequence 1, 1, 0 to re-enter the Run-Test/Idle state. If the selected Data
Register has a latched parallel-output, the latching takes place in the Update-DR state. The
Exit-DR, Pause-DR, and Exit2-DR states are only used for navigating the state machine.
As shown in the state diagram, the Run-Test/Idle state need not be entered between selecting
JTAG instruction and using Data Registers, and some JTAG instructions may select certain
functions to be performed in the Run-Test/Idle, making it unsuitable as an Idle state.
Note: Independent (unindependently) of the initial state of the TAP Controller, the Test-Logic-Reset state
can always be entered by holding TMS high for five TCK clock periods.
33
5635AX–USB–10/06
Figure 6-15. JTAG TAP State Diagram
TMS = 1 Test-Logic-Reset
TMS =0 TMS =1
TMS=1
TMS = 0 Run-Test/Idle Select-DR-Scan TMS =1 Select-IR-Scan
TMS = 0 TMS = 0
Capture-DR Capture-IR
TMS =1 TMS =1
Exit1-DR Exit1-IR
TMS =1 TMS =1
TMS = 0 TMS = 0
TMS =1 TMS =1
TMS = 0 TMS = 0
Exit2-DR Exit2-IR
TMS =1 TMS =1
Update-DR Update-IR
34 AT76C712
5635AX–USB–10/06
AT76C712
A debugger may however use one or more of these resources for its internal purpose, leaving
less flexibility to the end-user.
35
5635AX–USB–10/06
When using the JTAG interface for Boundary-scan, using a JTAG TCK clock frequency higher
than the internal chip frequency is possible. The chip clock is not required to run.
36 AT76C712
5635AX–USB–10/06
AT76C712
The OPCODE for each instruction is shown behind the instruction name in hex format. The text
describes which Data Register is selected as path between TDI and TDO for each instruction.
6.13.2.1 EXTEST; $0
Mandatory JTAG instruction for selecting the Boundary-scan Chain as Data Register for testing
circuitry external to the AVR package. The contents of the latched outputs of the Boundary-scan
chain is driven out as soon as the JTAG IR-Register is loaded with the EXTEST instruction. The
active states are:
• Capture-DR: Data on the external pins are sampled into the Boundary-scan Chain.
• Shift-DR: The Internal Scan Chain is shifted by the TCK input.
• Update-DR: Data from the scan chain is applied to output pins.
6.13.2.2 IDCODE; $1
Optional JTAG instruction selecting the 32 bit ID-Register as Data Register. The ID-Register
consists of a version number, a device number and the manufacturer code chosen by JEDEC.
This is the default instruction after power-up. The active states are:
• Capture-DR: Data in the IDCODE Register is sampled into the Boundary-scan Chain.
• Shift-DR: The IDCODE scan chain is shifted by the TCK input.
6.13.2.3 SAMPLE_PRELOAD; $2
Mandatory JTAG instruction for pre-loading the output latches and taking a snap-shot of the
input/output pins without affecting the system operation. However, the output latches are not
connected to the pins. The Boundary-scan Chain is selected as Data Register. The active states
are:
• Capture-DR: Data on the external pins are sampled into the Boundary-scan Chain.
• Shift-DR: The Boundary-scan Chain is shifted by the TCK input.
• Update-DR: Data from the Boundary-scan chain is applied to the output latches. However,
the output latches are not connected to the pins.
6.13.2.4 AVR_RESET; $C
The AVR specific public JTAG instruction for forcing the AVR device into the Reset mode or
releasing the JTAG reset source. The TAP controller is not reset by this instruction. The one bit
Reset Register is selected as Data Register. Note that the reset will be active as long as there is
a logic “one” in the Reset Chain. The output from this chain is
not latched. The active states are:
• Shift-DR: The Reset Register is shifted by the TCK input.
6.13.2.5 BYPASS; $F
Mandatory JTAG instruction selecting the Bypass Register for Data Register. The active states
are:
• Capture-DR: Loads a logic “0” into the Bypass Register.
• Shift-DR: The Bypass Register cell between TDI and TDO is shifted.
37
5635AX–USB–10/06
6.13.3 Boundary-Scan Chain
The Boundary scan chain consists of two kind of cells. The first one is a standard scan cell with
observe and drive capabilities, while the second one is an observe only cell.
xINn
PINxn Scan Cel
xOUTn
PORTxn Scan Cell ENB
PA D
OExn
DDRDxn Scan Cell
38 AT76C712
5635AX–USB–10/06
AT76C712
Table 6-13. The AT76C712 Boundary-Scan Order (Continued)
Bit Number Signal Name Description
18 EOUT2
19 EIN2 PE2
20 EOE2
21 EOUT1
22 EIN1 PE1
23 EOE1
24 EOUT0
25 EIN0 PE0
26 EOE0
27 PMODE0
28 PMODE1
29 COUT7
30 CIN7 PC7
31 COE7
32 COUT6
33 CIN6 PC6
34 COE6
35 COUT5
36 CIN5 PC5
37 COE5
38 COUT4
39 CIN4 PC4
40 COE4
41 COUT3
42 CIN3 PC3
43 COE3
44 COUT2
45 CIN2 PC2
46 COE2
47 COUT1
48 CIN1 PC1
49 COE1
50 COUT0
51 CIN0 PC0
52 COE0
39
5635AX–USB–10/06
Table 6-13. The AT76C712 Boundary-Scan Order (Continued)
Bit Number Signal Name Description
53 BOUT7
54 BIN7 PB7
55 BOE7
56 BOUT6
57 BIN6 PB6
58 BOE6
59 BOUT5
60 BIN5 PB5
61 BOE5
62 BOUT4
63 BIN4 PB4
64 BOE4
65 BOUT3
66 BIN3 PB3
67 BOE3
68 BOUT2
69 BIN2 PB2
70 BOE2
71 DOUT7
72 DIN7 PD7
73 DOE7
74 DOUT6
75 DIN6 PD6
76 DOE6
77 DOUT5
78 DIN5 PD5
79 DOE5
80 DOUT4
81 DIN4 PD4
82 DOE4
83 DOUT3
84 DIN3 PD3
85 DOE3
86 DOUT2
87 DIN2 PD2
88 DOE2
40 AT76C712
5635AX–USB–10/06
AT76C712
Table 6-13. The AT76C712 Boundary-Scan Order (Continued)
Bit Number Signal Name Description
89 DOUT1
90 DIN1 PD1
91 DOE1
92 DOUT0
93 DIN0 PD0
94 DOE0
95 SUSPEND
96 AOUT7
97 AIN7 PA7
98 AOE7
99 AOUT6
100 AIN6 PA6
101 AOE6
102 AOUT5
103 AIN5 PA5
104 AOE5
105 AOUT4
106 AIN4 PA4
107 AOE4
108 AOUT3
109 AIN3 PA3
110 AOE3
111 USB_ATTACH
112 nCS1
113 nCS0
114 nFWR
115 nFRD
116 AOUT2
117 AIN2 PA2
118 AOE2
119 AOUT1
120 AIN1 PA1
121 AOE1
122 AOUT0
123 AIN0 PA0
124 AOE0
41
5635AX–USB–10/06
Table 6-13. The AT76C712 Boundary-Scan Order (Continued)
Bit Number Signal Name Description
125 BOUT1
126 BIN1 PB1
127 BOE1
128 BOUT0
129 BIN0 PB0
130 BOE0
131 Idle-mode (sleep state) (observe only)
132 Power-down (sleep state) (observe only)
133 AVR clock stopped (observe only)
134 PLL Stable Indication (observe only)
(MSB) 135 PLL Lock signal (observe only)
42 AT76C712
5635AX–USB–10/06
AT76C712
Table 7-1. The AT76C712 I/O Space (Continued)
I/O Address (SRAM Address) Name Function
$2B($4B) OCR1AH Timer1 Output Compare Register A High Byte
$2A($4A) OCR1AL Timer1 Output Compare Register A Low Byte
$29($49) OCR1BH Timer1 Output Compare Register B High Byte
$28($48) OCR1BL Timer1 Output Compare Register B Low Byte
$27($47) ICR1H Timer1 Input Capture Register High Byte
$26($46) ICR1L Timer1 Input Capture Register Low Byte
$25($45) TCCR2 Timer2 Control Register
$24($44) TCNT2 Timer2 (8-bit)
$23($43) PRELD2 Pre-load Register 2
$22($42) IRDACR IrDA Control Register
$21($41) WDTCR Watchdog Timer Control Register
Program Mode (PMODE0, PMODE1 pins
$1F($3F) PMOD
value)
$1B($3B) PORTA Data Register, Port A
$1A($3A) DDRA Data Direction Register, Port A
$19($39) PINA Input Pins, Port A
$18($38) PORTB Data Register, Port B
$17($37) DDRB Data Direction Register, Port B
$16($36) PINB Input Pins, Port B
$15($35) PORTC Data Register, Port C
$14($34) DDRC Data Direction Register, Port C
$13($33) PINC Input Pins, Port C
$12($32) PORTD Data Register, Port D
$11($31) DDRD Data Direction Register, Port D
$10($30) PIND Input Pins, Port D
$0F($2F) SPDR SPI I/O Data Register
$0E($2E) SPSR SPI Status Register
$0D($2F) SPCR SPI Control Register
$0C($2C) CLK_CNTR Clock Control Register
$0B($2B) PERIPHEN Peripheral Enable Register
$0A($2A) PORTE Data Register, Port E
$09($29) DDRE Data Direction Register, Port E
$08($28) PINE Input Pins, Port E
43
5635AX–USB–10/06
AVR Status Register - SREG
addr $3F($5F) 8 bits
Bit Field AVR Description
When set the interrupts are enabled. The individual interrupt
I:Global interrupt enable control is performed in the individual mask registers. This
7 R/W
enable bit is cleared by H/W after an interrupt has occurred and is set by
the RETI instruction to enable subsequent interrupts.
T: Bit Copy Bit load (BLD) and bit store (BST) instructions use the T bit as
6 R/W
Storage source and destination for the operated bit.
H: Half Carry
5 R/W Indicates a half carry in some arithmetic operations
Flag
Is an eXclusive OR between the negative flag N and the two’s
4 S: Sign Bit R/W
complement overflow flag V.
V: Two’s
3 complement R/W Supports two’s complement arithmetic.
overflow flag
When set indicates a negative result in arithmetic and logic
2 N: Negative Flag R/W
operations.
When set indicates a zero result after the different arithmetic and
1 Z: Zero Flag R/W
logic operations
0 C: Carry Flag. R/W When set indicates a carry in the arithmetic or logic operations.
Stack Pointer - SP
addr $3E($5E), $3D($5D) 11 bits
Bit Field AVR Description
15:11 - R/W
10 SP10 R/W
SPH
9 SP9 R/W
8 SP8 R/W
7 SP7 R/W
6 SP6 R/W
5 SP5 R/W
4 SP4 R/W
SPL
3 SP3 R/W
2 SP2 R/W
1 SP1 R/W
0 SP0 R/W
44 AT76C712
5635AX–USB–10/06
AT76C712
MCU Control Register - MCUCR
The MCU Control Register controls the effect of the SLEEP instruction (see AVR Instruction
Set). Note that when the AVR is in sleep mode (stand-by or power-down), it will wake-up on any
enabled interrupt or on any USB activity (if USB core is activated). Also, on any JTAG activity, if
the system is in power-down mode, it switches into stand-by mode.
addr $35 ($55)8 bits
SE:Sleep When set permits the MCU to enter in sleep mode when the
6 0 R/W
Enable SLEEP instruction is executed.
This bit selects between the two available sleep modes.
When the MCU enters into the sleep state and the SM bit is
SM:Sleep
cleared, then it enters into Idle Mode and only the AVR clock
5 Mode 0 R/W
is stopped. Otherwise, if SM bit is set, then the MCU enters
Select Bit
into the Power Down Mode and the MCU disables the
oscillator stopping all clocks and any activity.
4:0 — 0 — Reserved
EXTRF:
External Reset Flag. This Flag indicates that an external
1 External See R/W
reset has occurred.
Reset Flag Table 7-
PORF: Power 2
0 R/W This Flag indicates that a power on reset has occurred.
on Reset Flag
The user program must clear these bits as early as possible. If these bits are cleared before a
reset condition occurs, the source of resource can be found by using the truth table shown in
Table 7-3
45
5635AX–USB–10/06
Table 7-3. Reset Source Identification
PORF EXTRF Reset Source
0 0 Watchdog Reset
0 1 External Reset
1 x Power on Reset
46 AT76C712
5635AX–USB–10/06
AT76C712
Bit Field Default AVR Description
If set, then don't close the Oscillator during the power-down
4 OSC_NSLP 0 R/W
sleep mode.
PLL IVCO[1]. Selects the PLL frequency range. Normally,
3 PIVCO1 0 R/W
this bit must be equal to the MUL16 bit
Selects the multiplier of the PLL. When set the external
12MHz crystal frequency is multiplied by 16 to generate an
2 MUL16 0 R/W internal fast clock of 192MHz. When cleared, the external
12MHz crystal frequency is multiplied by 8 generating an
internal fast clock of 96MHz
1 MCSP1 0 R/W AVR core speed select bits. These bits control the AVR clock
0 MCSP0 0 R/W divisor according to Table 7-4
47
5635AX–USB–10/06
Program Mode Register – PMOD
This register returns the value of the PMODE0 and PMODE1 input pins.
addr $1F ($3F) 8 bits
Bit Field Default AVR Description
7:2 — 0 R Always read as zero.
1 PMODE1 N/A R The value of the PMODE1 input pin.
0 PMODE0 N/A R The value of the PMODE0 input pin
48 AT76C712
5635AX–USB–10/06
AT76C712
Bit Field Default AVR Description
When cleared enables the 3/16 Return-to-Zero
2 MODE 0 R/W encoding scheme. When set enables the 4/16
Return-to-Zero encoding scheme
When cleared the codec uses UART0. When set
1 USEL: UART Select 0 R/W
the codec uses UART1.
When set enables the IrDA codec. When cleared
0 IRDAEN 0 R/W the codec is transparent to UART0/1 SIN/SOUT
pins.
7.1 Timers/Counters
49
5635AX–USB–10/06
Bit Field Default AVR Description
When this bit is set and the I-bit in the Status Register is
TOIE2: one, the Timer/Counter2 Overflow interrupt is enabled.
Timer/Counter2 The corresponding interrupt (at vector $0020) is
2 0 R/W
Overflow executed if an overflow in Timer/Counter2 occurs. The
Interrupt Enable. Timer/Counter2 Overflow Flag is set in the
Timer/Counter2 Interrupt Flag Register – TIFR.
When this bit is set and the I-bit in the Status Register is
TOIE0: one, the Timer/Counter0 Overflow interrupt is enabled.
Timer/Counter0 The corresponding interrupt (at vector $0020) is
1 0 R/W
Overflow executed if an overflow in Timer/Counter0 occurs. The
Interrupt Enable Timer/Counter0 Overflow Flag is set in the
Timer/Counter0 Interrupt Flag Register – TIFR.
0 — 0 R
50 AT76C712
5635AX–USB–10/06
AT76C712
7.2 Timer/Counter 0 and Timer/Counter 2
Timer/Counter 0 Control Register - TCCR0
addr $33 ($53) 8 bits
Bit Field Default AVR Description
7:3 — 0 R
2 CS02 0 R/W
1 CS01 0 R/W
CS02 CS01 CS00 Description
Stop, Timer/Counter0
0 0 0
is stopped
0 0 1 CK
0 1 0 CK/8
0 1 1 CK/64
0 CS00 0 R/W 1 0 0 CK/256
1 0 1 CK/1024
External Pin T0 (orT2),
1 1 0
Falling Edge
External Pin T0 (or T2),
1 1 1
Rising Edge
51
5635AX–USB–10/06
Timer/Counter0 Register - TCNT0
addr $32 ($52) 8 bits
Bit Field Default AVR Description
7 MSB 0 R/W
6 0 R/W
5 0 R/W Both Timer/Counter0 and Timer/Counter2 are realized
as an up-counter with read and write access. If the
4 0 R/W TCNT0 (or TCNT2 respectively) is written and a clock
3 0 R/W source is present, the Timer/Counter0 (or
Timer/Counter2) continues counting in the clock cycle
2 0 R/W following the write operation.
1 0 R/W
0 LSB 0 R/W
52 AT76C712
5635AX–USB–10/06
AT76C712
Pre-load Register 0 - PRELD0
addr $31 ($51) 8 bits
Bit Field Default AVR Description
7 MSB 0 R/W
6 0 R/W
5 0 R/W
4 0 R/W An 8-bit R/W register with zero initial value. The contents
of this register are loaded to Timer/Counter0 TCNT0 (or
3 0 R/W Timer/Counter2 TCNT2 respectively) after an overflow.
2 0 R/W
1 0 R/W
0 LSB 0 R/W
53
5635AX–USB–10/06
7.3 Timer/Counter 1
5 — 0 R
4 — 0 R
CTCA1: Clear When it is one the Timer/Counter1 is reset to $0000
Timer/Counter1 after compare A match. If it is cleared the
3 0 R/W
on Compare A Timer/Counter1 continues counting after a compare A
match match.
CS12: Clock These bits select prescaling source for the
2 0 R/W
Select 1,bit 2 Timer/Counter1 according to the following table:
CS11:Clock
1 0 R/W
Select 1, bit 1
CS02 CS01 CS00 Description
Stop, Timer/Counter0
0 0 0
is stopped
0 0 1 CK
0 1 0 CK/8
0 1 1 CK/64
CS11:Clock
0 0 R/W 1 0 0 CK/256
Select 0, bit 0
1 0 1 CK/1024
External Pin T0 (orT2),
1 1 0
Falling Edge
External Pin T0 (or T2),
1 1 1
Rising Edge
54 AT76C712
5635AX–USB–10/06
AT76C712
Timer/Counter1 - TCNT1H and TCNT1L
The Timer/Counter1 is realized as an 16-bit up counter consisted of two 8-bit registers TCNT1H
and TCNT1L. These registers have read and write access with initial value of $00. If
Timer/Counter1 (TCNT1H and TCNT1L) register is written to and a clock source is selected, the
T/C1 continues counting in the timer clock cycle after it is preset with the written value.
To ensure that both the high and low bytes are read and written simultaneously when the CPU
access these registers, the access is performed using an 8-bit temporary register (TEMP). This
temporary register is also used when accessing OCR1A, OCR1B and ICR1. If the main program
and also interrupt routines perform access to registers using TEMP, interrupts must be disabled
during access from the main program.
addr $2D ($4D), $2c ($4C) 16 bits
Bit Field Default AVR Description
15 MSB 0 R/W
14 0 R/W
13 0 R/W
TCNT1 Timer/Counter1 Write:
12 0 R/W When the CPU writes to the high byte TCNT1H, the written data
11 0 R/W are placed in the TEMP register. Next, when the CPU writes the
low byte TCNT1L, this byte of data is combined with the TEMP
10 0 R/W register and all 16-bits are written simultaneously to
9 0 R/W Timer/Counter1 TCNT1 register. Consequently, the high byte
must be accessed first for a full 16-bit write operation. When
8 0 R/W using Timer/Counter1 as an 8-bit counter, it is sufficient to write
7 0 R/W the low byte only.
TCNT1 Timer/Counter1 Read:
6 0 R/W
When the CPU reads the low byte TCNT1L, the data are placed
5 0 R/W in the TEMP register. Next, when the CPU reads the high byte
TCNT1H, the CPU receives the data in the TEMP register.
4 0 R/W Consequently, the low byte must be accessed first for a full 16-bit
3 0 R/W read operation. When using Timer/Counter1 as an 8-bit counter,
it is sufficient to read the low byte only.
2 0 R/W
1 0 R/W
0 LSB 0 R/W
55
5635AX–USB–10/06
Timer/Counter1 Output Compare Register B - OCR1BH and OCR1BL
Timer/Counter Output Compare register B consists of 16-bits and is made by two 8-bit R/W reg-
isters, with initial value of zero, namely the OCR1BH and OCR1BL.
Full 16-bit write and read operations are made according to the way specified for the
Timer/Counter1 TCNT1.
addr $29 ($49), $28 ($48) 16 bits
Bit Field Default AVR Description
15 MSB 0 R/W
OCR1BH
14:8 0 R/W
7:1 0 R/W
OCR1BL
0 LSB 0 R/W
56 AT76C712
5635AX–USB–10/06
AT76C712
7.4 Watchdog Timer
57
5635AX–USB–10/06
7.5 SPI Interface
58 AT76C712
5635AX–USB–10/06
AT76C712
SPI Status Register - SPSR
addr $0E ($2E) 8 bits
Bit Field Default AVR Description
When a serial transfer is complete, the SPIF bit is set and an
SPIF: SPI interrupt is generated if SPIE in SPCR is set and global
7 Interrupt 0 R/W interrupts are enabled. Alternatively, the SPIF bit is cleared
Flag by first reading the SPI status register with SPIF set, then
accessing the SPI Data Register.
WCOL: The WCOL bit is set if the SPI data register (SPDR) is written
Write during a data transfer. The WCOL bit (and the SPIF bit) are
6 0 R/W
Collision cleared by first reading the SPI Status Register with WCOL
Flag set, and then by accessing the SPI Data Register.
5:0 — 0 R Always read as zero
7.6.1 PORT A
Port A is an 2-bit bi-directional I/O Port with internal pull-up resistors.
Only PA0 - PA1 pins of Port A are available as external pins.
59
5635AX–USB–10/06
PORT A Data Direction Register - DDRA
addr $1A($3A) 8 bits
Bit Field Default AVR Description
7 MSB 0 R/W The bits in the Data Direction Register control the direction of
the corresponding pin in the PORT A.
6:1 0 R/W
When bit DDRAx is set then PAx pin is output, while when
0 LSB 0 R/W DDRAx is cleared PAx pin is input (x=0..7).
7.6.2 PORT B
PORT B is an 8-bit bi-directional I/O port with internal pull-up resistors.
60 AT76C712
5635AX–USB–10/06
AT76C712
7.6.2.2 PORT B I/O Registers
7.6.3 PORT C
PORT C is a 3-bit Output Port with internal pull-up resistors.
Only PC0 - PC3 pins of Port C are available as external pins.
61
5635AX–USB–10/06
PORT C Data Direction Register
addr $14 ($34) 8 bits
Bit Field Default AVR Description
7 MSB 0 R/W The bits in the Data Direction Register controls the direction
of the corresponding pin in the PORT C.
6:1 0 R/W
When bit DDRCx is set then PCx pin is output, while when
0 LSB 0 R/W DDRCx is cleared PCx pin is input (x=0..7).
7.6.4 PORT D
PORT D is an 8-bit bi-directional I/O port with internal pull-up resistors.
62 AT76C712
5635AX–USB–10/06
AT76C712
7.6.4.2 PORT D I/O Registers
7.6.5 PORT E
Port E is an 4-bit bi-directional I/O Port with internal pull-up resistors at pins PE0, PE1 and
PE4..7 and with internal pull-down resistors at pins PE2 and PE3.
Only PE0 - PE3 pins of Port E are available as external pins.
63
5635AX–USB–10/06
Table 7-8. Port E Pins Alternate Functions
Port Pin Direction Alternate Function
PE1 Output Serial Transmit Out UART1
PE2 (DDRE) INT0: edge triggered or level sensitive interrupt with pull-down
PE3 (DDRE) INT1: edge triggered or level sensitive interrupt with pull-down
64 AT76C712
5635AX–USB–10/06
AT76C712
65
5635AX–USB–10/06
Table 8-1. USB Register Set (Continued)
Register Address Default Function
ECSR7 $F0D8 x1110000b Endpoint7 Control and Status Register
ECSR6 $F0D9 x1110000b Endpoint6 Control and Status Register
ECSR5 $F0DA x1110000b Endpoint5 Control and Status Register
ECSR4 $F0DB x1110000b Endpoint4 Control and Status Register
ECSR3 $F0DC x1110000b Endpoint3 Control and Status Register
ECSR2 $F0DD x1110000b Endpoint2 Control and Status Register
ECSR1 $F0DE x1110000b Endpoint1 Control and Status Register
ECSR0 $F0DF x1110000b Endpoint0 Control and Status Register
ECR7 $F0E8 0xxx0000b Endpoint7 Control Register
ECR6 $F0E9 0xxx0000b Endpoint6 Control Register
ECR5 $F0EA 0xxx0000b Endpoint5 Control Register
ECR4 $F0EB 0xxx0000b Endpoint4 Control Register
ECR3 $F0EC 0xxx0000b Endpoint3 Control Register
ECR2 $F0EC 0xxx0000b Endpoint2 Control Register
ECR1 $F0EE 0xxx0000b Endpoint1 Control Register
ECR0 $F0EF 0xxx0000b Endpoint0 Control Register
ENDPPGPG $F0F1 00000000b Function Endpoint Ping-Pong Register
FADDR $F0F2 00000000b Function Address Register
UIER $F0F3 xxx00000b USB Interrupt Enable Register
UIAR $F0F5 xxxxx000b USB Interrupt Acknowledge Register
UISR $F0F7 00000000b USB Interrupt Status Register
SPRSIE $F0F9 xxxxx000b Suspend/Resume Interrupt Enable Register
SPRSR $F0FA xxxxx000b Suspend/Resume Register
GLB_STATE $F0FB xxxxx000b Global State Register
FRM_NUM_L $F0FC xxxxx000b Frame Number Low Register
FRM_NUM_H $F0FD xxxxx000b Frame Number High Register
66 AT76C712
5635AX–USB–10/06
AT76C712
IRQ_EN - USB Interrupt Mask Register
addr: $F001 8 bits
67
5635AX–USB–10/06
RES_STAT - Reset Status
addr: $F003 8 bits
68 AT76C712
5635AX–USB–10/06
AT76C712
USB_DMA_LEN - DMA Packet length
addr: $F007 8 bits
69
5635AX–USB–10/06
FBYTE_CNTx_H - FIFO Byte Count High Register
Each Endpoint has a register that stores the number of bytes to be sent or that was received by
the USB H/W. The maximum data packet supported is 1024 bytes length for isochronous
Endpoints.
addr: See Table 8-1
70 AT76C712
5635AX–USB–10/06
AT76C712
ECSR - Endpoint Control and Status Registers 0 – 7
addr: See Table 8-1 8 bits
71
5635AX–USB–10/06
Bit Field AVR Description
The USB H/W sets this bit when it receives a valid setup packet from the
Host. This bit is used by Control Endpoints only to signal to the processor
that the USB H/W has received a valid SETUP packet and that the data
RX portion of the packet is stored in the FIFO. The H/W will clear all other bits
2 W
SETUP in this register and will set RX SETUP. If the corresponding interrupt is
enabled, the processor will be interrupted when RX SETUP is set. After
the completion of reading the data from the FIFO, the firmware should
clear this bit.
Indicates that the USB H/W has decoded an OUT token and that the data
is in the FIFO. The USB H/W sets this bit after it has stored the data of an
OUT transaction in the FIFO. While this bit is set, the H/W will NAK all
OUT tokens. For Control Endpoints only, bit 7 of this register, Enable
Control Write, has to be set for the H/W to accept the OUT data. The USB
H/W will not overwrite the data in the FIFO except for an early USB Setup
RX OUT Request. Bit RX OUT Packet is used for the following operations:
1 W
Packet 1. Control write transactions by a Control Endpoint
2. OUT transaction with DATA1 PID to complete the status
phase of a controlEndpoint.
3. By a BULK OUT or ISO OUT or INT OUT Endpoint
Setting this bit causes an interrupt to the processor if the interrupt is
enabled. The firmware clears this bit after the FIFO are read.
The H/W sets this bit to indicate to a Control Endpoint that it has received
an ACK handshake from the Host. This bit is used by H/W in a Control
Endpoint to signal to the processor that it has successfully completed
TX certain transactions. TX Complete is set at the completion of a:
0 R
Complete 1. Control read data stage
2. Status stage without data stage
3. Status stage after a control write transaction
72 AT76C712
5635AX–USB–10/06
AT76C712
Bit Field AVR Description
3 DTGLE W Data Toggle. Identifies DATA0 or DATA1 packets
Endpoint Direction.
2 EPDIR R Only applicable for non-Control Endpoints (0
=Out, 1 =In).
Endpoint Type.
These bits represent the type of the Endpoint as
follows:
Bit1 Bit0 Type
1:0 EPTYPE R
0 0 Control
0 1 Isochronous
1 0 Bulk
1 1 Interrupt
73
5635AX–USB–10/06
UIER - USB Interrupt Enable Register
addr: $F0F3 8 bits
74 AT76C712
5635AX–USB–10/06
AT76C712
UISR - USB Interrupt Status Register
addr: $F0F7 8 bits
75
5635AX–USB–10/06
Bit Field AVR Description
Received External Resume. The USB H/W sets this bit to
denote an External Resume Interrupt. If RMWUPE =1, a
2 EXT RSM R/W
RESUME signal is send in USB BUS.Firmware clears this bit to
acknowledge the EXT RSM interrupt.
Received Resume. The USB H/W sets this bit when a USB
1 RCVD RSM R/W resume signaling is detected at its port.Firmware clears this bit
to acknowledge the RCVD RSM interrupt.
Suspend. The USB H/W sets this bit when it detects no SOF
for 3ms. The USB macro enters in SUSPEND MODE, the
0 SUSP R/W
processor has to go in SLEEP mode.Firmware clears this bit to
acknowledge the SUSP interrupt.
76 AT76C712
5635AX–USB–10/06
AT76C712
8.2 UART Register Set
The base address for UART0 registers is $F200 and for UART1 registers is $F300. Each read or
write access of UART registers consumes at least 2 CPU cycles, since the UART core clock is
asynchronous and fixed to 14.769MHz.
In Table 8-2 the register file and its fields are briefly presented. A more detailed description is
provided in the following sections.
77
5635AX–USB–10/06
Table 8-2. UART register file and register fields (Continued)
THR
Tx FIFO Transmitte THR Multi-
1001 XR2 Ready bit 0 0 0
Disable r Empty Ready drop
Control
nCD pin nRI pin nDSR pin nCTS pin nOut2 pin nOut1 pin nRTS pin nDTR pin
1010 MDR
Direction Direction Direction Direction Direction Direction Direction Direction
1011 RTO MSB LSB
1100 TTG MSB LSB
78 AT76C712
5635AX–USB–10/06
AT76C712
Interrupt Identification Register - IIR
addr: $0010 8bits
Bit Field Default AVR Description
FIFOEN:
7:6 FIFO 0 R These two bits are set when FCR[0] is set.
Enabled
5:4 — 0 R —
3 ID2 0 R Interrupt ID Bit 2
2 ID1 0 R Interrupt ID Bit 1
1 ID0 0 R Interrupt ID Bit 0
NIP:Not If in logic ‘0’ then an interrupt is pending and the IIR[3..1]
0 Interrupt 0 R bits may be used for interrupt type identification. When in
Pending logic ‘1’, no interrupt is pending.
5:4 — 0 W —
79
5635AX–USB–10/06
Bit Field Default AVR Description
When FIFOs are disabled (FCR[0] is low), this bit is forced to
RDMA:
‘0’. When set to logic ‘1’, the DMA is in burst mode allowing
DMA
3 0 W transfers until the Rx FIFO has been emitted or the Tx FIFO
Mode
has been filled. When it is cleared to ‘0’, the DMA is in single
select
mode and the words are read one word each time.
TRS:Tx
2 FIFO 0 W When set, resets the transmit FIFO.
reset
FRS:Rx
1 FIFO 0 W When set, resets the receive FIFO
reset
FEN:FIFO When set, enables the 16 byte receive and transmit FIFOs.
0 0 W
enable When cleared FIFOs are disabled and reset.
80 AT76C712
5635AX–USB–10/06
AT76C712
Bit Field Default AVR Description
This bit determines the number of stop bits according to the
following table:
SB:
Number Bit 2 Word Number of
2 0 R/W
of stop Length stop bits
bits 0 any 1
1 5 1,5
1 6, 7, 8 2
WL1: These bits determine the word length according to the following
1 Word 0 R/W table
length
81
5635AX–USB–10/06
Line Status Register - LSR
addr: $0101 8 bits
Bit Field Default AVR Description
ERF: If the FIFOs are disabled this bit is a ‘0’. If FIFOs are enabled
7 Error in 0 R this bit indicates that at least one word in the Rx FIFO has it’s
RX FIFO Parity Error or Framing Error or Break Indication bits high.
TE: When set indicates that both the Transmit Shift Register and
6 Transmitte 0 R Transmit Holding Register, or the Tx FIFO if Tx FIFO is
r Empty enabled, are empty.
If set indicates that the THR is ready to accept a new word for
transmission. This bit is set when a word is transferred from the
THRR: THR into the Tx shift register. This bit is reset concurrently with
Transmit the loading of the THR by the core. If Tx FIFO is enabled
5 Holding 0 R (FCR[0]=1, XR2[7]=0), the function of this bit is controlled by
Register XR2[4]. If XR2[4] is ‘0’, then this bit is set when the Tx FIFO is
ready empty; it is cleared when at least 1 word is written to the Tx
FIFO. If XR2[4] is ‘1’, then this bit is set when the Tx FIFO is not
full;
If set indicates a Break Interrupt. Indicates that the receive data
BI: input is held in the spacing state (logic ‘0’) for longer than a full
Receive word transmission time.In FIFO mode this error is associated
4 0 R
Break with the word at the top of the Rx FIFO which is equivalent to
Interrupt RHR. This bit is reset to a logic ‘0’ whenever the core reads the
LSR.
If set indicates a framing error. Indicates that the received word
FE: in RHR does not have the correct stop bit. In FIFO mode this
3 Framing 0 R error is associated with the word at the top of the Rx FIFO
Error which is equivalent to RHR. This bit is reset to a logic ‘0’
whenever the core reads the LSR.
If set indicates a parity error. Indicates that the received word in
RHR does not have the correct parity bit. In FIFO mode this
PE:Parity
2 0 R error is associated with the word at the top of the FIFO which is
Error
equivalent to RHR. This bit is reset to a logic ‘0’ whenever the
core reads the LSR.
If set indicates an overrun error. Indicates that data in RHR
was not read by the core before the next word was transferred
into the RHR, thereby destroying the previous word. In FIFO
Mode an overrun error will occur only after the Rx FIFO is full
OE:Overr
1 0 R and the next word has been completely received in shift
un Error
register. The word in the shift register is overwritten, but it is not
transferred to the Rx FIFO. Overrun error is indicated to the
core as soon as it happens. This bit is reset to a logic ‘0’
whenever the core reads the LSR.
RDA:
Receive If set indicates that there are data available in the RHR. This
0 Holding 0 R bit resets to logic ‘0’ by reading all of the data from the Receive
Register Holding Register or the Rx FIFO.
Ready
82 AT76C712
5635AX–USB–10/06
AT76C712
Modem Status Register - MSR
addr: $0110 8 bits
Bit Field Default AVR Description
The compliment of the bidirectional Carrier Detect nCD I/O
7 CD 0 R/W pin. If MCR[4] is set (loopback mode) then this bit is
equivalent to nOUT2 pin.
The compliment of the bidirectional Ring Indicator nRI I/O
6 RI 0 R/W pin. If MCR[4] is set (loopback mode) then this bit is
equivalent to nOUT1 pin.
The compliment of the bidirectional Data Set Ready nDSR
5 DSR 0 R/W I/O pin. If MCR[4] is set (loopback mode) then this bit is
equivalent to nDTR pin.
The compliment of the bidirectional Clear To Send nCTS I/O
4 CTS 0 R/W pin. If MCR[4] is set (loopback mode) then this bit is
equivalent to nRTS pin.
DCD:
Delta Indicates that the nCD pin has changed state since the last
3 Carrier 0 R/W
time it was read by the core.
Detect
indicator
TRI:
Trailing Indicates that the nRI pin has changed from a low to a high
2 Edge of 0 R/W
state since the last time it was read by the core.
Ring
Indicator
DDSR:
Delta Data Indicates that the nDSR pin has changed state since the last
1 0 R/W
Set Ready time it was read by the core.
indicator
DCTS:
Delta Clear Indicates that the nCTS pin has changed state since the last
0 0 R/W
To Send time it was read by the core.
indicator
83
5635AX–USB–10/06
Divisor Latch Register, Low Byte - DLL
addr: $0000 8 bits
Bit Field Default AVR Description
7 MSB 0 R/W
6:1 0 R/W Baud rate generator division ratio low byte
0 LSB 0 R/W
TxDis:
1 0 R/W If set disables the transmit path.
Tx Disable
RxDis:
0 0 R/W If set disables the receive path.
Rx Disable
Note: When XR1 and XR2 registers are both $00, then the UART operates in 16550 compatible mode.
84 AT76C712
5635AX–USB–10/06
AT76C712
Extra Register 2 - XR2
addr: $1001 8 bits
Bit Field Default AVR Description
TxFD:Tx If set disables the Tx FIFO. So, if FCR[0] and XR2[7] are
7 0 R/W
FIFO Disable both set then only the Rx FIFO is enabled.
This bit is equivalent to LSR[6]. You can use it to check if
TE:Transmitt
6 0 R/W transmitter is empty without resetting the error bits in
er Empty
LSR.
This bit is equivalent to LSR[5]. You can use it to check if
THRR:
5 0 R/W the THR is ready to load data without resetting the line
THR Ready status bits in LSR.
Functional only if Tx FIFO is enabled. If in logic ‘0’, then
the LSR[5] (and XR2[5]) bit indicates that Tx FIFO is
THRRC:THR empty (THRR bit is ‘1’) or that it has at least one word
4 Ready bit 0 R/W waiting for transmission (THRR bit is ‘0’). Setting this bit
Control to logic ‘1’, then LSR[5] (and XR2[5]) bit indicates that Tx
FIFO is not full (THRR bit is ‘1’) or that it is full (THRR bit
is ‘0’).
3:1 — 0 R/W —
If set enables the Multi-drop mode. In this case the Parity
Error Bit in LSR is set when data is detected with the
parity bit at logic ‘1’ to identify an address word. If the
received parity bit is detected low then the Parity Error bit
MDM: Multi-
0 0 R/W is not set. The transmitter sends an address word (with
drop mode
the parity bit set) when the Send Address bit (XR1[6]) is
set. Setting the XR1[6] the next word written to THR will
be transmitted as an address and any transmitted word
after this will have the parity bit cleared.
Note: When XR1 and XR2 registers are both $00, then the UART operates in 16550 compatible mode.
85
5635AX–USB–10/06
Bit Field Default AVR Description
nOUT1D:nOUT1 pin
2 0 R/W If set nOUT1 pin is configured as input.
Direction
nRTSD:nRTS pin
1 0 R/W If set nRTS pin is configured as input.
Direction
nDTRD:nDTR pin
0 0 R/W If set nDTR pin is configured as input.
Direction
86 AT76C712
5635AX–USB–10/06
AT76C712
Table 8-4. Baud Rate generation example (UART clock = 14,769 MHz)
Output Baud
Rate User Devisor (16*clk) UBM Value UBL Value
Decimal Hex Hex Hex
100 9216 2400 24 00
200 4608 1200 12 00
400 2304 900 09 00
600 1536 600 06 00
1200 768 300 03 00
2400 384 180 01 80
4800 192 C0 00 C0
9600 96 60 00 60
14400 64 40 00 40
19200 48 30 00 30
28800 32 20 00 20
38400 24 18 00 18
57600 16 10 00 10
76800 12 0C 00 0C
115200 8 08 00 08
153600 6 06 00 06
230400 4 4 00 04
307200 3 03 00 03
460800 2 02 00 02
921600 1 01 00 01
87
5635AX–USB–10/06
DMA External Memory Interface Control Register A - DMA_EMICRA
addr: $F801 8 bits
Bit Field Default AVR Description
7 RW1 0 R/W Read Wait States:These bits control the Wait states inserted in
6 RW0 0 R/W the corresponding (read, write and ALE) signals.
5 RM1 0 R/W Read Mode Select:These bits control the mode (waveform) of
4 RM0 0 R/W the corresponding (read, write and ALE) signals.
3 WW1 0 R/W Write Wait States:These bits control the Wait states inserted in
2 WW0 0 R/W the corresponding (read, write and ALE) signals.
1 WM1 0 R/W Write Mode Select:These bits control the mode (waveform) of
0 WM0 0 R/W the corresponding (read, write and ALE) signals.
5 AM1 0 R/W ALE Mode Select:These bits control the mode (waveform) of
4 AM0 0 R/W the corresponding (read, write and ALE) signals.
3 — 0 R/W Those bits are reserved and must be remain always in zero ‘0’
2 — 0 R/W value.
1 EMD0 0 R/W External Memory Device Select:These bits select the external
memory interface mode according to the following table:
88 AT76C712
5635AX–USB–10/06
AT76C712
9. Errata
1. Stack Pointer is 11-bits wide
The Stack Pointer is 11-bits wide.
Problem Fix/Workaround
Keep the stack below the address $07FF.
89
5635AX–USB–10/06
10. Electrical Specifications
90 AT76C712
5635AX–USB–10/06
AT76C712
91
5635AX–USB–10/06
11. Packaging Information
D1 D
XX
E1 E
e
b
UN T
CO
RY
BOTTOM VIEW
TOP VIEW
A2
A1 SIDE VIEW
L COMMON DIMENSIONS
(Unit of Measure = mm)
92 AT76C712
5635AX–USB–10/06
AT76C712
93
5635AX–USB–10/06
94 AT76C712
5635AX–USB–10/06
AT76C712
Table of Contents
Features ..................................................................................................... 1
1 Overview ................................................................................................... 2
i
5635AX–USB–10/06
9 Errata ....................................................................................................... 89
ii AT76C712
5635AX–USB–10/06
Atmel Corporation Atmel Operations
2325 Orchard Parkway Memory RF/Automotive
San Jose, CA 95131, USA 2325 Orchard Parkway Theresienstrasse 2
Tel: 1(408) 441-0311 San Jose, CA 95131, USA Postfach 3535
Fax: 1(408) 487-2600 Tel: 1(408) 441-0311 74025 Heilbronn, Germany
Fax: 1(408) 436-4314 Tel: (49) 71-31-67-0
Fax: (49) 71-31-67-2340
Regional Headquarters Microcontrollers
Europe 2325 Orchard Parkway 1150 East Cheyenne Mtn. Blvd.
Atmel Sarl San Jose, CA 95131, USA Colorado Springs, CO 80906, USA
Route des Arsenaux 41 Tel: 1(408) 441-0311 Tel: 1(719) 576-3300
Case Postale 80 Fax: 1(408) 436-4314 Fax: 1(719) 540-1759
CH-1705 Fribourg
Switzerland La Chantrerie Biometrics/Imaging/Hi-Rel MPU/
Tel: (41) 26-426-5555 BP 70602 High Speed Converters/RF Datacom
Fax: (41) 26-426-5500 44306 Nantes Cedex 3, France Avenue de Rochepleine
Tel: (33) 2-40-18-18-18 BP 123
Asia Fax: (33) 2-40-18-19-60 38521 Saint-Egreve Cedex, France
Room 1219 Tel: (33) 4-76-58-30-00
Chinachem Golden Plaza ASIC/ASSP/Smart Cards Fax: (33) 4-76-58-34-80
77 Mody Road Tsimshatsui Zone Industrielle
East Kowloon 13106 Rousset Cedex, France
Hong Kong Tel: (33) 4-42-53-60-00
Tel: (852) 2721-9778 Fax: (33) 4-42-53-60-01
Fax: (852) 2722-1369
1150 East Cheyenne Mtn. Blvd.
Japan Colorado Springs, CO 80906, USA
9F, Tonetsu Shinkawa Bldg. Tel: 1(719) 576-3300
1-24-8 Shinkawa Fax: 1(719) 540-1759
Chuo-ku, Tokyo 104-0033
Japan Scottish Enterprise Technology Park
Tel: (81) 3-3523-3551 Maxwell Building
Fax: (81) 3-3523-7581 East Kilbride G75 0QR, Scotland
Tel: (44) 1355-803-000
Fax: (44) 1355-242-743
Literature Requests
www.atmel.com/literature
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any
intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL’S TERMS AND CONDI-
TIONS OF SALE LOCATED ON ATMEL’S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY
WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDEN-
TAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT
OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no
representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications
and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided
otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life.
© Atmel Corporation 2006. All rights reserved. Atmel ®, logo and combinations thereof, DataFlash ® and AVR® are registered trademarks, and
Everywhere You Are SM are the trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of oth-
ers.
5635AX–USB–10/06