
6
AT43USB351M
3302E–USB–7/04
Architectural
Overview
The AT43USB351M is binary-compatible with the AT43USB355 compound device. Firmware
developed for the AT43USB355 will run on the AT43USB351M.
The peripherals and features of the AT43USB351M microcontroller are similar to those of the
AT90S8515, with the exception of the following modifications:
No EEPROM
No External Data Memory Accesses
No UART
Idle Mode not Supported
USB Function
On-chip ADC
The embedded USB hardware of the AT43USB351M is a USB function with an 8-byte control
endpoint and four additional programmable endpoints with separate FIFOs. Two of the FIFOs
are 64 bytes deep and the other two are 8 bytes deep.
Depending on the USB speed and the state of 2XN input signal, device pin 36, the MCU runs
at 1.5 MHz, 12 MHz or 24 MHz. The clock that operates the MCU is generated by the USB
hardware. While at 12 MHz, the nominal and average period of the clock is 83.3 ns, it may
have single cycles that deviate by ±20.8 ns during a phase adjustment by the SIE’s clock/data
separator of the USB hardware. Similarly at 1.5 MHz, the MCU clock runs 8 times slower and
at 24 MHz, two times faster than the 12 MHz mode. The clock frequencies of the various mod-
ules of the AT43USB351M is summarized in the following table:
The microcontroller shares most of the control and status registers of the megaAVR Microcon-
troller Family. The registers for managing the USB operations are mapped into its SRAM
space. The I/O section on page 15 summarizes the available I/O registers. The “AVR Register
Set” on page 36 covers the AVR registers. Please refer to the Atmel AVR manual for more
information.
The fast-access register file concept contains 32 x 8-bit general-purpose working registers
with a single clock cycle access time. This means that during one single clock cycle, one Arith-
metic Logic Unit (ALU) operation is executed. Two operands are output from the register file,
the operation is executed, and the result is stored back in the register file – in one clock cycle.
Six of the 32 registers can be used as three 16-bit indirect address register pointers for Data
Space addressing - enabling efficient address calculations. One of the three address pointers
is also used as the address pointer for look-up tables in program memory. These added func-
tion registers are the 16-bit X-, Y- and Z-registers.
The ALU supports arithmetic and logic operations between registers or between a constant
and a register. Single register operations are also executed in the ALU. Figure 3 on page 5
shows the AT43USB351M AVR Enhanced RISC microcontroller architecture.
In addition to the register operation, the conventional memory addressing modes can be used
on the register file as well. This is enabled by the fact that the register file is assigned the 32
Table 1.
Clock Frequencies
USB Mode
2XN Pin
MCU Clock
Timer/Counter
Clock
ADC
Clock
SPI
Clock
WDT
Clock
Full Speed
0
24 MHz
12 MHz
1 MHz
24 MHz
1 MHz
Full Speed
1
12 MHz
12 MHz
1 MHz
12 MHz
1 MHz
Low Speed
0
24 MHz
12 MHz
1 MHz
24 MHz
1 MHz
Low Speed
1
1.5 MHz
1.5 MHz
1 MHz
1.5 MHz
1 MHz