31.6.6 Status

Name: STATUS
Offset: 0x1A
Reset: 0x0000
Property: 

Bit 15141312111098 
       SEXTTOUT  
Access R/W 
Reset 0 
Bit 76543210 
 CLKHOLDLOWTOUT SRDIRRXNACKCOLLBUSERR 
Access RR/WRRRR/WR/W 
Reset 0000000 

Bit 9 – SEXTTOUT Client SCL Low Extend Time-Out

This bit is set if a client SCL low extend time-out occurs.

This bit is cleared automatically if responding to a new start condition with ACK or NACK (write 0x3 to CTRLB.CMD).

This bit is not cleared when INTFLAG.AMATCH is cleared. Write to '1' to clear SEXTTOUT status.

Writing a ‘0’ to this bit has no effect.

Writing a ‘1’ to this bit will clear the status.

ValueDescription
0No SCL low extend time-out has occurred
1SCL low extend time-out has occurred

Bit 7 – CLKHOLD Clock Hold

The client Clock Hold bit (STATUS.CLKHOLD) is set when the client is holding the SCL line low, stretching the I2C clock. Software has to consider this bit a read-only status flag that is set when INTFLAG.DRDY or INTFLAG.AMATCH is set. Do not clear the STATUS.CLKHOLD bit to preserve the current clock hold state.

This bit is automatically cleared when the corresponding interrupt is also cleared.

Bit 6 – LOWTOUT SCL Low Time-out

This bit is set if an SCL low time-out occurs.

This bit is cleared automatically if responding to a new start condition with ACK or NACK (write 0x3 to CTRLB.CMD). This bit is not cleared when INTFLAG.AMATCH is cleared. Write to '1' to clear LOWTOUT status.

Writing a ‘0’ to this bit has no effect.

Writing a ‘1’ to this bit will clear the status.

ValueDescription
0No SCL low time-out has occurred
1SCL low time-out has occurred

Bit 4 – SR Repeated Start

When INTFLAG.AMATCH is raised due to an address match, SR indicates a repeated start or start condition.

This flag is only valid while the INTFLAG.AMATCH flag is one.

ValueDescription
0Start condition on last address match
1Repeated start condition on last address match

Bit 3 – DIR Read / Write Direction

The Read/Write Direction (STATUS.DIR) bit stores the direction of the last address packet received from a host.

ValueDescription
0Host write operation is in progress
1Host read operation is in progress

Bit 2 – RXNACK Received Not Acknowledge

This bit indicates whether the last data packet sent was acknowledged or not.

ValueDescription
0Host responded with ACK
1Host responded with NACK

Bit 1 – COLL Transmit Collision

If set, the I2C client was not able to transmit a high data or NACK bit, the I2C client will immediately release the SDA and SCL lines and wait for the next packet addressed to it.

This flag is intended for the SMBus address resolution protocol (ARP). A detected collision in non-ARP situations indicates that there has been a protocol violation, and it must be treated as a bus error.

Note that this status will not trigger any interrupt, and it must be checked by software to verify that the data were sent correctly. This bit is cleared automatically if responding to an address match with an ACK or a NACK (writing 0x3 to CTRLB.CMD). This bit is not cleared when INTFLAG.AMATCH is cleared. Write to '1' to clear COLL status.

Writing a ‘0’ to this bit has no effect.

Writing a ‘1’ to this bit will clear the status.

ValueDescription
0No collision detected on last data byte sent
1Collision detected on last data byte sent

Bit 0 – BUSERR Bus Error

The Bus Error bit (STATUS.BUSERR) indicates that an illegal bus condition has occurred on the bus, regardless of bus ownership. An illegal bus condition is detected if a protocol violating start, repeated start or stop is detected on the I2C bus lines. A start condition directly followed by a stop condition is one example of a protocol violation. If a time-out occurs during a frame, this is also considered a protocol violation, and will set STATUS.BUSERR.

This bit is cleared automatically if responding to an address match with an ACK or a NACK (writing 0x3 to CTRLB.CMD). This bit is not cleared when INTFLAG.AMATCH is cleared. Write '1' to clear BUSERR status.

Writing a ‘0’ to this bit has no effect.

Writing a ‘1’ to this bit will clear the status.

ValueDescription
0No bus error detected
1Bus error detected