beautypg.com

Universal serial interface – usi, Overview, Atmega169v/l – Rainbow Electronics Atmega169L User Manual

Page 177

background image

177

ATmega169V/L

2514A–AVR–08/02

Universal Serial
Interface – USI

The Universal Serial Interface, or USI, provides the basic hardware resources needed
for serial communication. Combined with a minimum of control software, the USI allows
significantly higher transfer rates and uses less code space than solutions based on
software only. Interrupts are included to minimize the processor load. The main features
of the USI are:

Two-wire Synchronous Data Transfer (Master or Slave, f

SCLmax

= f

CK

/16)

Three-wire Synchronous Data Transfer (Master, f

SCKmax

= f

CK

/2, Slave f

SCKmax

= f

CK

/4)

Data Received Interrupt

Wakeup from Idle Mode

In Two-wire Mode: Wake-up from All Sleep Modes, Including Power-down Mode

Two-wire Start Condition Detector with Interrupt Capability

Overview

A simplified block diagram of the USI is shown on Figure 75. For the actual placement of
I/O pins, refer to “Pinout ATmega169” on page 2. CPU accessible I/O Registers, includ-
ing I/O bits and I/O pins, are shown in bold. The device-specific I/O Register and bit
locations are listed in the “USI Register Descriptions” on page 183.

Figure 75. Universal Serial Interface, Block Diagram

The 8-bit Shift Register is directly accessible via the data bus and contains the incoming
and outgoing data. The register has no buffering so the data must be read as quickly as
possible to ensure that no data is lost. The most significant bit is connected to one of two
output pins depending of the wire mode configuration. A transparent latch is inserted
between the serial register output and output pin, which delays the change of data out-
put to the opposite clock edge of the data input sampling. The serial input is always
sampled from the Data Input (DI) pin independent of the configuration.

The 4-bit counter can be both read and written via the data bus, and can generate an
overflow interrupt. Both the serial register and the counter are clocked simultaneously
by the same clock source. This allows the counter to count the number of bits received
or transmitted and generate an interrupt when the transfer is complete. Note that when
an external clock source is selected the counter counts both clock edges. In this case
the counter counts the number of edges, and not the number of bits. The clock can be
selected from three different sources: The USCK pin, Timer0 overflow, or from software.

DATA BUS

USIPF

USITC

USICLK

USICS0

USICS1

USIOIF

USIOIE

USIDC

USISIF

USIWM0

USIWM1

USISIE

B

it7

Two-wire Clock

Control Unit

DO

(Output only)

DI/SDA

(Input/Open Drain)

USCK/SCL

(Input/Open Drain)

4-bit Counter

USIDR

USISR

D Q

LE

USICR

CLOCK

HOLD

TIM0 COMP

Bit0

[1]

3

0

1

2

3

0

1

2

0

1

2