Datasheet

Table Of Contents
43
XMEGA A4U [DATASHEET]
Atmel-8387H-AVR-ATxmega16A4U-34A4U-64A4U-128A4U-Datasheet_09/2014
22. TWI – Two-Wire Interface
22.1 Features
z Two Identical two-wire interface peripherals
z Bidirectional, two-wire communication interface
z Phillips I
2
C compatible
z System Management Bus (SMBus) compatible
z Bus master and slave operation supported
z Slave operation
z Single bus master operation
z Bus master in multi-master bus environment
z Multi-master arbitration
z Flexible slave address match functions
z 7-bit and general call address recognition in hardware
z 10-bit addressing supported
z Address mask register for dual address match or address range masking
z Optional software address recognition for unlimited number of addresses
z Slave can operate in all sleep modes, including power-down
z Slave address match can wake device from all sleep modes
z 100kHz and 400kHz bus frequency support
z Slew-rate limited output drivers
z Input filter for bus noise and spike suppression
z Support arbitration between start/repeated start and data bit (SMBus)
z Slave arbitration allows support for address resolve protocol (ARP) (SMBus)
22.2 Overview
The two-wire interface (TWI) is a bidirectional, two-wire communication interface. It is I
2
C and System Management
Bus (SMBus) compatible. The only external hardware needed to implement the bus is one pull-up resistor on each
bus line.
A device connected to the bus must act as a master or a slave. The master initiates a data transaction by addressing
a slave on the bus and telling whether it wants to transmit or receive data. One bus can have many slaves and one or
several masters that can take control of the bus. An arbitration process handles priority if more than one master tries
to transmit data at the same time. Mechanisms for resolving bus contention are inherent in the protocol.
The TWI module supports master and slave functionality. The master and slave functionality are separated from each
other, and can be enabled and configured separately. The master module supports multi-master bus operation and
arbitration. It contains the baud rate generator. Both 100kHz and 400kHz bus frequency is supported. Quick
command and smart mode can be enabled to auto-trigger operations and reduce software complexity.
The slave module implements 7-bit address match and general address call recognition in hardware. 10-bit
addressing is also supported. A dedicated address mask register can act as a second address match register or as a
register for address range masking. The slave continues to operate in all sleep modes, including power-down mode.
This enables the slave to wake up the device from all sleep modes on TWI address match. It is possible to disable the
address matching to let this be handled in software instead.
The TWI module will detect START and STOP conditions, bus collisions, and bus errors. Arbitration lost, errors,
collision, and clock hold on the bus are also detected and indicated in separate status flags available in both master
and slave modes.
It is possible to disable the TWI drivers in the device, and enable a four-wire digital interface for connecting to an
external TWI bus driver. This can be used for applications where the device operates from a different V
CC
voltage than
used by the TWI bus.