AT32UC3L064_1 ATMEL [ATMEL Corporation], AT32UC3L064_1 Datasheet - Page 522

no-image

AT32UC3L064_1

Manufacturer Part Number
AT32UC3L064_1
Description
AVR32 32-bit Microcontroller
Manufacturer
ATMEL [ATMEL Corporation]
Datasheet
23.8.2.4
23.8.2.5
23.8.3
32099A–AVR32–06/09
Slave Transmitter Mode
Clock Stretching
Bus Errors
Any slave or bus master taking part in a transfer may extend the TWCK low period at any time.
TWIS may extend the TWCK low period after each byte transfer if CR.STREN=1 and:
If CR.STREN=0 and:
If a bus error (misplaced START or STOP) condition is detected, the SR.BUSERR bit is set
and TWIS waits for a new START condition.
If TWIS matches an address in which the R/W bit in the TWI address phase transfer is set, it
will enter slave transmitter mode and set SR.TRA
After the address phase, the following is done:
• The address in CR.ADR is checked for address match if CR.SMATCH is set.
• The Alert Response Address is checked for address match if CR.SMAL is set.
• The Default Address is checked for address match if CR.SMDA is set.
• The Host Header Address is checked for address match if CR.SMHH is set.
• Module is in slave transmitter mode, data should be transmitted, but THR is empty, or
• Module is in slave receiver mode, a byte has been received and placed into the internal
• Stretch-on-address-match bit CR.SOAM=1 and slave was addressed. Bus clock remains
• Module is in slave transmitter mode, data should be transmitted but THR is empty: Transmit
• Module is in slave receiver mode, a byte has been received and placed into the internal
1. If SMBus mode and PEC is used, NBYTES must be set up with the number of bytes
2. Byte to transmit depends on I²C/SMBus mode and CR.PEC:
3. Transmit the correct data byte. Set SR.BTF when done.
4. Update NBYTES. If CR.CUP is set, NBYTES is incremented, otherwise NBYTES is
5. After each data byte has been transferred, the master transmits an ACK or NAK bit. If
6. If STOP is received, SR.TCOMP and SR.STO will be set.
shifter, but RHR is full, or
stretched until all address match bits in SR have been cleared.
the value present in THR (the last transmitted byte or reset value), and set SR.URUN.
shifter, but RHR is full: Discard the received byte and set SR.ORUN.
to transmit. This is necessary in order to know when to transmit PEC byte. NBYTES
can also be used to count the number of bytes received if using DMA.
– If in I²C mode or CR.PEC=0 or NBYTES!=0: TWIS waits until THR contains a valid
– SMBus mode and CR.PEC=1: If NBYTES=0, the generated PEC byte is
decremented.
a NAK bit is received, transfer is finished, and TWIS will wait for a STOP or
REPEATED START. If an ACK bit is received, more data should be transmitted, jump
to step 2.
data byte, possibly stretching low period of TWCK. SR.TXRDY indicates the state
of THR.
automatically transmitted instead of a data byte from THR. TWCK will not be
stretched by TWIS.
AT32UC3L
522

Related parts for AT32UC3L064_1