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.

[参考译文] AFE4404:在尝试通信时接收 NACK

Guru**** 2551110 points
Other Parts Discussed in Thread: AFE4404

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/627395/afe4404-receiving-a-nack-when-trying-to-communicate

器件型号:AFE4404

我使用 PSoC 4200与 AFE4404通信。 当我尝试对其进行读取或写入时、我会从 AFE4404接收到一个 NACK。 下面是我在尝试写入寄存器时通过 I2C 发送的读取和写入代码以及波形。

其他说明

我已经在其他传感器上测试了下面的代码,它运行正常。  

-我正在使用的 PCB 是由其他人设计的、我无法切换 RESETZ 引脚  

-我也无法测量来自 RESETZ、TX2、INM 和 INP 的电压

int PulseOx_read (uint8 reg)
{
uint8 Write_buf[1]={0};
write_buf[0]= reg;

uint8 read_buf[3]={0};
Int readVal;

database_I2CMasterWriteBuf (AFE_SLAVE_ADDRESS、(uint8 *) Write_buf、1、database_I2C_MODE_NO_STOP);
while (((database_I2CMasterStatus ()& database_I2C_mstat_WR_CMpLT)==0){}

database_I2CMasterReadBuf (AFE_SLAVE_ADDRESS、(uint8 *) read_buf、3、database_I2C_mode_repee_start);
while (((database_I2CMasterStatus ()& database_I2C_mstat_RD_CMpLT)==0){}

readVal = read_buf[0];
readVal =(readVal << 8)| read_buf[1];
readVal =(readVal << 8)| read_buf[2];

if (reg >= 0x2A && reg <= 0x2F)
{
if (readVal & 0x00200000)
{
readVal =~readVal + 1;
readVal &= 0x003FFFFF;
readVal *=-1;
}
}

返回 readVal;
}

void PulseOx_Write (uint8 reg、uint32数据)
{
uint8 Write_buf[4];
write_buf[0]= reg;
write_buf[1]=(data & 0x00FF0000)>> 16;
WRITE_BUFF[2]=(DATA & 0x0000FF00)>> 8;
WRITE_BUF[3]=(DATA & 0x000000FF);

database_I2CMasterWriteBuf (AFE_SLAVE_ADDRESS、(uint8*) Write_buf、4、database_I2C_MODE_COMPLETE_Xfer);
while (((database_I2CMasterStatus ()& database_I2C_msat_WR_CMpLT)==0){}
} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Matthew、

    欢迎访问 TI E2E 论坛。

    我们已收到您有关 AFE4404器件的查询、下周将再次与您联系。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Matthew、

    您可以共享电路板的原理图吗?

    此致、
    Prabin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    POX:AFE4404

    操作系统:光学开关 SFH 7050

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Matthew、

    我看不到 RESETZ 引脚的连接。 如果它保持悬空或被拉至低电平、AFE 将不会提供 ACK 信号。
    我建议在正确定义所有引脚的情况下再次设计电路板。

    此致、
    Prabin