beautypg.com

4 i2c peripheral register descriptions, 1 i2c control register (i2ccn), 11 .4 i – Maxim Integrated MAXQ622 User Manual

Page 163: C peripheral register descriptions -8, 11 .4 .1 i, C control register (i2ccn) -8, C peripheral register descriptions, C control register (i2ccn)

background image

MAXQ612/MAXQ622 User’s Guide

11-8

Maxim Integrated

11.4 I

2

C Peripheral Register Descriptions

The following peripheral registers are used to control the integrated I

2

C peripheral on the devices .

11.4.1 I

2

C Control Register (I2CCN)

Bit 15: I

2

C Reset (I2CRST). Setting this bit to 1 aborts the current transaction and resets the I

2

C controller . This bit is

set to 1 by software and is only cleared to 0 by hardware after the reset or when I2CEN = 0 .
Bits 14 to 10 and 3: Reserved. Reads returns 0.
Bit 9: I

2

C Clock Stretch Enable (I2CSTREN). Setting this bit to 1 stretches the clock (holds SCL low) at the end of the

clock cycle specified in I2CSTRS . Clearing this bit disables clock stretching .
Bit 8: I

2

C General Call Enable (I2CGCEN). Setting this bit to 1 enables the I

2

C to respond to a general call address

(address = 0000 0000) . Clearing this bit to 0 disables the I

2

C to respond to a general call address .

Bit 7: I

2

C STOP Enable (I2CSTOP). Setting this bit to 1 generates a STOP condition . This bit is automatically self-

cleared to 0 after the STOP condition has been generated . In master mode, setting this bit can also start the timeout
timer if enabled . If the timeout timer expires before the STOP condition can be generated, a timeout interrupt is gener-
ated to the CPU if enabled . The I2CSTOP bit is also cleared to 0 by the timeout event .
Note that this bit has no effect when the I

2

C is operating in slave mode (I2CMST = 0) and is reset to 0 when I2CMST

= 0 or I2CEN = 0 . Setting the I2CSTOP bit to 1 while I2CSTART = 1 is an invalid operation and is ignored, leaving the
I2CSTOP bit cleared to 0 .
Bit 6: I

2

C START (I2CSTART). Setting this bit automatically generates a START condition when the bus is free or a

repeated START condition during a transfer where the I

2

C module is operating as the master . This bit is automati-

cally self-cleared to 0 after the START condition has been generated . If the I

2

C START interrupt is enabled, a START

condition generates an interrupt to the CPU . In master mode, setting this bit also starts the timeout timer if enabled . If
the timeout timer expires before the START condition can be generated, a timeout interrupt is generated to the CPU if
enabled . The I2CSTART bit is also cleared to 0 by the timeout event .
Note that this bit has no effect when the I

2

C is operating in slave mode (I2CMST = 0) and is reset to 0 when I2CMST

= 0 or I2CEN = 0 . Also, the I2CSTART and I2CSTOP bits are mutually exclusive . If both bits are set at the same time,
it is considered as an invalid operation and the I

2

C controller ignores the request and resets both bits to 0 . Setting the

I2CSTART bit to 1 while I2CSTOP = 1 is an invalid operation and is ignored, leaving the I2CSTART bit cleared to 0 .

Note 1: I2CSTART and I2CSTOP are mutually exclusive and reset to 0 when I2CMST = 0 or I2CEN = 0.
Note 2: I2CRST is reset to 0 when I2CEN = 0.
Note 3: Writes to I2CMST, I2CMODE, and I2CEN are ignored when I2CBUSY = 1.
Note 4: If I2CRST = 1, I2CEN can be written when I2CBUSY = 1.
Note 5: Writes to I2CACK are ignored if I2RST = 1.

Register Name

I2CCN

Register Description

I

2

C Control Register

Register Address

M4[00h]

Bit #

15

14

13

12

11

10

9

8

Name

I2CRST

I2CSTREN

I2CGCEN

Reset

0

0

0

0

0

0

0

0

Access

rw

rw

rw

rw

rw

rw

rw

rw

Bit #

7

6

5

4

3

2

1

0

Name

I2CSTOP

I2CSTART

I2CACK

I2CSTRS

I2CMODE

I2CMST

I2CEN

Reset

0

0

0

0

0

0

0

0

Access

rw

rw

rw

rw

rw

rw

rw

rw

This manual is related to the following products: