微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > TMP112没有应答信号ACK

TMP112没有应答信号ACK

时间:10-02 整理:3721RD 点击:

hi,

我在使用TMS570LS3137和TMP112进行开发,遇到一些问题。TMS570LS3137的I2C总线上外挂了一片F24V02和一片TMP112,SDA和SCL信号使用10K的电阻上啦,TMP112的V+管脚上使用4.85K电阻和0.1uF电容组成低通滤波器。TMP112的A0脚连接到地了,这样TMP112的地址为0x48。Alert管教空置,未使用。

现在F24V02调试通过了,读写都没有问题。

TMP112无论读写都没有反应,感觉TMS570LS3137没有收到TMP112发出的ACK应答信号。

如图:

代码如下:

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);

debug调试发现,代码回停止在i2cReceive函数中,

停在:

while ((i2c->STR & (uint32)I2C_RX_INT) == 0U)

请问是什么原因呢?

从你给的时序波形图看, 从机并没有给出 ACK 信号, 先检查一下从机有没有工作了, 包括上电和信号连接等问题

上电和信号连接没有问题。

您遇到过类似的问题吗?

谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top