This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TMS320F28075: I2c Stop Condition not occurring and first bit missing in data sent

Part Number: TMS320F28075
Other Parts Discussed in Thread: DAC7574, CONTROLSUITE

Tool/software: Code Composer Studio

Hi all,

I am trying to test the I2C module of TMS320F28075, I am using the sample code of control suit which is written to eeprom v180. I have not connected any eeprom but i have connected both SDA and SCL to Vcc- 5V via a resister 3KΩ. Like this in the image.

But when i go to debug session, I see a start condition happening and Data is being sent (address only), 8 bit mode is being used, thereafter 8 bits(address) are generated but no stop condition is happening. BTW if address bytes sent is 0x98(10011000) the SDA refelects with (00110000) ie,

if 10101010(0xAA) is sent i am seeing 01010100 means left shifted data is being sent on SDA. 

I have loaded the snap for reference too.

  Image: sent address is 0xAA

Channel 1 : SDA

Channel 2 : SCL

I have initiated I2C like this

I2caRegs.I2CSAR.all = 0x0098;

I2caRegs.I2CPSC.all = 6;
I2caRegs.I2CCLKL = 10;
I2caRegs.I2CCLKH = 5;  49k
I2caRegs.I2CIER.all = 0x24; 

I2caRegs.I2CMDR.all = 0x0020; 

I2caRegs.I2CFFTX.all = 0x6000; 

Write operation

if (I2caRegs.I2CMDR.bit.STP != 1){

I2caRegs.I2CSAR.all = 0x98;

if (I2caRegs.I2CSTR.bit.BB == 1)
{
return I2C_BUS_BUSY_ERROR;
}


I2caRegs.I2CCNT = 1;


I2caRegs.I2CDXR.all = 0xAA;

I2caRegs.I2CMDR.all =0x6E20;

}

Can any one tell me what might be missing or issue is?

Thanks in Advance

LT