we designed a board using tmp112 and tms570ls3137. there are 2 i2c devices, one is F24V02A from Cypress and the other is tmp112 from TI. the F24V02 works well now both writing and reading.
but we meet a issue on tmp112. the hardware design is:
1, we used 10K resistor on SDA and SCL;
2,we used 3.3V as tmp112 power, and a 4.85K resistor and a 0.1uF capacitor as a LPF;
3,the ALERT pin is not used and keep it unconnected
4,connect A0 signal to gnd, so the tmp112 address is 0x48;
we test some times, but find there is no ACK signal from tmp112 to tms570ls3137 after tms570ls3137 write slave address, register address or some other data, there is a scope picture
and there is our code, actually the code is from the forum and generated by halcogen
i2cSetSlaveAdd(i2cREG1, 0x48);
while((i2cREG1->STR & I2C_BUSBUSY) != 0 );
i2cSetCount(i2cREG1, 1);
i2cREG1->MDR = i2cREG1->MDR | I2C_FREE_RUN | I2C_MASTER | I2C_TRANSMITTER;
i2cSetStart(i2cREG1);
i2cSendByte(i2cREG1, 0x00); // Read address
i2cSetCount(i2cREG1, 2);
i2cREG1->MDR = I2C_FREE_RUN | I2C_START_COND | I2C_STOP_COND |I2C_MASTER | I2C_RECEIVER | I2C_RESET_OUT | I2C_8_BIT;
i2cReceive(i2cREG1,2,data_in);
could someone help me.
thanks a lot!