SPRACS8 May 2022 TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1 , TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S
C2000™ is a trademark of Texas Instruments.
All trademarks are the property of their respective owners.
The C28x-I2C module used in the application note has the following features:
The below schematics shows how an EEPROM device can be connected to C2000 I2C module. EEPROM used in this application report is AT24C256. In AT24C256, user configurable pins (A0, A1) called device address pins can be used to address as many as four AT24C256 devices on the same I2C bus. These A0, A1 pins are pulled down which makes the slave address of EEPROM = 0x50. The write protect input pin needs to be connected to ground to allow EEPROM write operation.
For information regarding selection of pull resistor, see the I2C Bus Pull-Up Resistor Calculation.
The C2000Ware software example provided in Table 3-1 shows how to use I2C module to communicate with EEPROM via I2C bus. This example has been developed for EEPROM AT24C256, which requires 2 bytes for addressing the EEPROM memory with slave address of 0x50. Table 3-2 shows the I2C interrupts used in EEPROM interrupt based example.
Source Code | Description |
---|---|
i2c_ex4_eeprom_polling.c | This program will shows how to perform different EEPROM write and read commands using I2C polling method |
i2cLib_FIFO_polling.c | C28x-I2C Library source file for FIFO using polling |
i2cLib_FIFO_polling.h | C28x-I2C Library header file for FIFO using polling |
i2c_ex6_eeprom_interrupt.c | This program will shows how to perform different EEPROM write and read commands using I2C interrupt method |
i2cLib_FIFO_master_interrupt.c | C28x-I2C Library source file for FIFO interrupts |
i2cLib_FIFO_master_interrupt.h | C28x-I2C Library header file for FIFO interrupts |
STOP condition | Register Access Ready |
Addressed as slave | TX FIFO interrupt |
Arbitration lost | RX FIFO interrupt |
NACK condition |