TI中文支持网
TI专业的中文技术问题搜集分享网站

HDC1080: 数字接口错误

Part Number:HDC1080

您好,我使用f28377S通过模拟IIC与HDC1080通信,读取0xFE寄存器的内容只能读到高字节0x54低字节为0x00,尝试读其他寄存器都是只能读到高字节,使用示波器观察波形发现 在读回高字节后,HDC1080立即将数据线拉高。

如下图所示 

黄色为CLK 蓝色是SDA

左边第一个时钟为应答信号 向后八位是接收到的高字节(接收到0x10)

在第八位后 SDA出现了高 (此时主机还没有发出应答信号)

haonan she:

什么原因会导致出现这样的通信错误?与这个异常的高电平有关系吗?

,

Kailyn Chen:

您好,MSB之后发送端应该释放SDA,接收端把SDA拉低, 您这里SDA为高,所以收不到ACK信号,因此LSB也无法得到。

所以我怀疑是程序的问题呢。 

,

haonan she:

修改过程序后问题依然存在 如图

在读出0x54后 就为00了

,

haonan she:

,

Kailyn Chen:

您好,应该是读时序弄错了,注意一下HDC1080的读写时序的配置是不同的,参考Figure11,可以发现在发送完 指针寄存器地址,收到ACK之后,需要主机重新发一个restart 重新开始命令,然后ACK信号,紧接着是寄存器的高八位MSB+ACK+LSB+NACK+stop。

整个配置顺序为START | Slave Address + W | ACK | Pointing Address | ACK | REPEATED START | Slave Address + R | ACK | Data MSB | ACK | Data LSB | NACK | STOP

赞(0)
未经允许不得转载:TI中文支持网 » HDC1080: 数字接口错误
分享到: 更多 (0)