ATAVRONEKIT Atmel, ATAVRONEKIT Datasheet - Page 98

KIT AVR/AVR32 DEBUGGER/PROGRMMR

ATAVRONEKIT

Manufacturer Part Number
ATAVRONEKIT
Description
KIT AVR/AVR32 DEBUGGER/PROGRMMR
Manufacturer
Atmel
Series
AVR®r
Type
Debuggerr
Datasheets

Specifications of ATAVRONEKIT

Contents
Programmer/Debugger
Processor To Be Evaluated
AVR32
Data Bus Width
32 bit
Interface Type
ISP, JTAG
Core Architecture
AVR
Kit Contents
ATAVRONEKIT
Tool / Board Applications
General Purpose MCU, MPU, DSP, DSC
Development Tool Type
Hardware / Software - Dev Kit (Dev Tool)
Rohs Compliant
Yes
Mcu Supported Families
AVR32 32-bit MCU
For Use With/related Products
AVR® Devices
Lead Free Status / RoHS Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATAVRONEKIT
Manufacturer:
Atmel
Quantity:
135
8067M–AVR–09/10
39. Clearing TWI Stop Interrupt Flag may lock the bus
40. TWI START condition at bus timeout will cause transaction to be dropped
41. TWI Data Interrupt Flag erroneously read as set
Problem fix/Workaround
Clear the flag in software after address interrupt.
If software clears the STOP Interrupt Flag (APIF) on the same Peripheral Clock cycle as the
hardware sets this flag due to a new address received, CLKHOLD is not cleared and the
SCL line is not released. This will lock the bus.
Problem fix/Workaround
Check if the bus state is IDLE. If this is the case, it is safe to clear APIF. If the bus state is
not IDLE, wait for the SCL pin to be low before clearing APIF.
Code:
/* Only clear the interrupt flag if within a "safe zone". */
while ( /* Bus not IDLE: */
{
}
/* Check for an pending address match interrupt */
if ( !(COMMS_TWI.SLAVE.STATUS & TWI_SLAVE_CLKHOLD_bm) )
{
}
If Bus Timeout is enabled and a timeout occurs on the same Peripheral Clock cycle as a
START is detected, the transaction will be dropped.
Problem fix/Workaround
None.
When issuing the TWI slave response command CMD=0b11, it takes 1 Peripheral Clock
cycle to clear the data interrupt flag (DIF). A read of DIF directly after issuing the command
will show the DIF still set.
Problem fix/Workaround
Add one NOP instruction before checking DIF.
/* Ensure that the SCL line is low */
if ( !(COMMS_PORT.IN & PIN1_bm) )
/* Safely clear interrupt flag */
COMMS_TWI.SLAVE.STATUS |= (uint8_t)TWI_SLAVE_APIF_bm;
)
((COMMS_TWI.MASTER.STATUS & TWI_MASTER_BUSSTATE_gm) !=
if ( !(COMMS_PORT.IN & PIN1_bm) )
TWI_MASTER_BUSSTATE_IDLE_gc)) &&
/* SCL not held by slave: */
!(COMMS_TWI.SLAVE.STATUS & TWI_SLAVE_CLKHOLD_bm)
break;
XMEGA A1
98

Related parts for ATAVRONEKIT