\n

I2C

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x34 byte (0x0)
mem_usage : registers
protection :

Registers

I2C_CTL (CTL)

I2C_CLKDIV (CLKDIV)

I2C_TOCTL (TOCTL)

ADDR1

ADDR2

ADDR3

I2C_ADDRMSK0 (ADDRMSK0)

ADDRMSK1

ADDRMSK2

ADDRMSK3

I2C_ADDR0 (ADDR0)

I2C_DAT (DAT)

I2C_STATUS (STATUS)


I2C_CTL (CTL)

I2C Control Register
address_offset : 0x0 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

I2C_CTL I2C_CTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 AA SI STO STA I2CEN INTEN

AA : Assert Acknowledge Control Bit 1. A slave is acknowledging the address sent from master, 2. The receiver devices are acknowledging the data sent by transmitter. When AA aaa 0 prior to address or data received, a Not acknowledged (high level to SDA) will be returned during the acknowledge clock pulse on the SCL line.
bits : 2 - 2 (1 bit)
access : read-write

SI : I2C Interrupt Flag When a new SIO state is present in the I2C_STATUS register, the SI flag is set by hardware, and if bit EI ( I2C_CTL[7]) is set, the I2C interrupt is requested. SI must be cleared by software. Clear SI is by writing one to this bit.
bits : 3 - 3 (1 bit)
access : read-write

STO : I2C STOP Control Bit In master mode, set STO to transmit a STOP condition to bus. I2C hardware will check the bus condition, when a STOP condition is detected this bit will be cleared by hardware automatically. In slave mode, setting STO resets I2C hardware to the defined not addressed slave mode. This means it is NO LONGER in the slave receiver mode able receive data from the master transmit device.
bits : 4 - 4 (1 bit)
access : read-write

STA : I2C START Control Bit Setting STA to logic 1 will enter master mode, the I2C hardware sends a START or repeat START condition to bus when the bus is free.
bits : 5 - 5 (1 bit)
access : read-write

I2CEN : I2C Controller Enable Bit Set to enable I2C serial function block.
bits : 6 - 6 (1 bit)
access : read-write

Enumeration:

#0 : 0

Disable

#1 : 1

Enable

End of enumeration elements list.

INTEN : Enable Interrupt
bits : 7 - 7 (1 bit)
access : read-write

Enumeration:

#0 : 0

Disable interrupt

#1 : 1

Enable interrupt CPU

End of enumeration elements list.


I2C_CLKDIV (CLKDIV)

I2C clock divided Register
address_offset : 0x10 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

I2C_CLKDIV I2C_CLKDIV read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DIVIDER

DIVIDER : I2C Clock Divided Register The I2C clock rate bits: Data Baud Rate of I2C aaa PCLK /(4x( CLK+1)).
bits : 0 - 7 (8 bit)
access : read-write


I2C_TOCTL (TOCTL)

I2C Time out control Register
address_offset : 0x14 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

I2C_TOCTL I2C_TOCTL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TOIF TOCDIV4 TOCEN

TOIF : Time-Out Flag
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

#0 : 0

No time-out

#1 : 1

Time-out flag is set by H/W. It can interrupt CPU. Write 1 to clear.

End of enumeration elements list.

TOCDIV4 : Time-Out Counter Input Clock Divide By 4 When enabled, the time-out clock is PCLK/4.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

#0 : 0

Disable

#1 : 1

Enable

End of enumeration elements list.

TOCEN : Time-out Counter Control Bit When enabled, the 14 bit time-out counter will start counting when SI is clear. Setting flag SI to high will reset counter and re-start up counting after SI is cleared.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

#0 : 0

Disable

#1 : 1

Enable

End of enumeration elements list.


ADDR1


address_offset : 0x18 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ADDR1 ADDR1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ADDR2


address_offset : 0x1C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ADDR2 ADDR2 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ADDR3


address_offset : 0x20 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ADDR3 ADDR3 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_ADDRMSK0 (ADDRMSK0)

I2C Slave address Mask Register0
address_offset : 0x24 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

I2C_ADDRMSK0 I2C_ADDRMSK0 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDRMSK1 ADDRMSK2 ADDRMSK3 ADDRMSK4 ADDRMSK5 ADDRMSK6 ADDRMSK7

ADDRMSK1 : I2C Address Mask register I2C bus controllers support multiple-address recognition with four address mask registers. Bits in this field mask the I2C_ADDRx registers masking bits from the address comparison.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

#0 : 0

Mask disable

#1 : 1

Mask enable (the received corresponding address bit is don't care.)

End of enumeration elements list.

ADDRMSK2 : I2C Address Mask register I2C bus controllers support multiple-address recognition with four address mask registers. Bits in this field mask the I2C_ADDRx registers masking bits from the address comparison.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

#0 : 0

Mask disable

#1 : 1

Mask enable (the received corresponding address bit is don't care.)

End of enumeration elements list.

ADDRMSK3 : I2C Address Mask register I2C bus controllers support multiple-address recognition with four address mask registers. Bits in this field mask the I2C_ADDRx registers masking bits from the address comparison.
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

#0 : 0

Mask disable

#1 : 1

Mask enable (the received corresponding address bit is don't care.)

End of enumeration elements list.

ADDRMSK4 : I2C Address Mask register I2C bus controllers support multiple-address recognition with four address mask registers. Bits in this field mask the I2C_ADDRx registers masking bits from the address comparison.
bits : 4 - 4 (1 bit)
access : read-write

Enumeration:

#0 : 0

Mask disable

#1 : 1

Mask enable (the received corresponding address bit is don't care.)

End of enumeration elements list.

ADDRMSK5 : I2C Address Mask register I2C bus controllers support multiple-address recognition with four address mask registers. Bits in this field mask the I2C_ADDRx registers masking bits from the address comparison.
bits : 5 - 5 (1 bit)
access : read-write

Enumeration:

#0 : 0

Mask disable

#1 : 1

Mask enable (the received corresponding address bit is don't care.)

End of enumeration elements list.

ADDRMSK6 : I2C Address Mask register I2C bus controllers support multiple-address recognition with four address mask registers. Bits in this field mask the I2C_ADDRx registers masking bits from the address comparison.
bits : 6 - 6 (1 bit)
access : read-write

Enumeration:

#0 : 0

Mask disable

#1 : 1

Mask enable (the received corresponding address bit is don't care.)

End of enumeration elements list.

ADDRMSK7 : I2C Address Mask register I2C bus controllers support multiple-address recognition with four address mask registers. Bits in this field mask the I2C_ADDRx registers masking bits from the address comparison.
bits : 7 - 7 (1 bit)
access : read-write

Enumeration:

#0 : 0

Mask disable

#1 : 1

Mask enable (the received corresponding address bit is don't care.)

End of enumeration elements list.


ADDRMSK1


address_offset : 0x28 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ADDRMSK1 ADDRMSK1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ADDRMSK2


address_offset : 0x2C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ADDRMSK2 ADDRMSK2 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ADDRMSK3


address_offset : 0x30 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

ADDRMSK3 ADDRMSK3 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_ADDR0 (ADDR0)

I2C Slave address Register0
address_offset : 0x4 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

I2C_ADDR0 I2C_ADDR0 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GC ADDR

GC : General Call Function
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

#0 : 0

Disable General Call Function

#1 : 1

Enable General Call Function

End of enumeration elements list.

ADDR : I2C Address Register The content of this register is irrelevant when I2C is in master mode. In the slave mode, the seven most significant bits must be loaded with the MCU's own address. The I2C hardware will react if any of the addresses are matched.
bits : 1 - 7 (7 bit)
access : read-write


I2C_DAT (DAT)

I2C DATA Register
address_offset : 0x8 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

I2C_DAT I2C_DAT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DAT

DAT : I2C Data Register During master or slave transmit mode, data to be transmitted is written to this register. During master or slave receive mode, data that has been received may be read from this register.
bits : 0 - 7 (8 bit)
access : read-write


I2C_STATUS (STATUS)

I2C Status Register
address_offset : 0xC Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

I2C_STATUS I2C_STATUS read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 STATUS

STATUS : I2C Status Register The status register of I2C: The three least significant bits are always 0. The five most significant bits contain the status code. There are 26 possible status codes. When STATUS contains F8H, no serial interrupt is requested. All other STATUS values correspond to defined I2C states. When each of these states is entered, a status interrupt is requested (SI aaa 1). A valid status code is present in STATUS one PCLK cycle after SI is set by hardware and is still present one PCLK cycle after SI has been reset by software. In addition, states 00H stands for a Bus Error. A Bus Error occurs when a START or STOP condition is present at an illegal position in the frame. Example of illegal position are during the serial transfer of an address byte, a data byte or an acknowledge bit.
bits : 0 - 7 (8 bit)
access : read-only



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.