TI论坛
直播中

王鑫

8年用户 1271经验值
私信 关注
[问答]

使用DM368通过PCA9306与一个5V逻辑的传感器在通信,获取数据时,应答信号始终收不到,为什么?


  • 我在使用DM368通过PCA9306与一个5V逻辑的传感器在通信,但是获取数据时,应答信号始终收不到,而且应答的时钟与前面的地址时钟周期有一个间隔,请帮忙分析一下原因。谢谢。VREF1为3.3V,VREF2为5V,5V端I2C信号使用4.7K上拉,EN脚5V串接100K电阻。

回帖(2)

李姗蔓

2025-1-15 14:41:49
传感器上标注:
该物理接口是双线串行通信信号,分别为开漏时钟( SCL)和数据( SDA)。
上拉电阻 需要外部上拉电阻
时钟速率 100kHz
时钟拉伸 需要主控时钟拉伸支持
4.1.2 时钟拉伸 (Clock stretching) 时钟拉伸通过将时钟信号拉低来暂停一个传输。直到释放时钟信号为高电 平,传输才继续进行。尽管该模块能在快速速率模式下传送数据,但是需要更多 的时间来请求传输。模块以一种握手的处理方式在接收和应答字节后 将时钟信号拉低来强制主机进入等待状态直到模块准备好下一个字节的传输。
举报

李玉兰

2025-1-16 09:50:37
根据您的描述,您在使用DM368通过PCA9306与一个5V逻辑的传感器进行通信时,应答信号始终收不到。以下是一些可能的原因和解决方案:

1. 电平转换问题:由于DM368使用的是3.3V逻辑,而传感器使用的是5V逻辑,可能存在电平转换问题。请确保PCA9306的VREF1和VREF2分别连接到3.3V和5V,以实现正确的电平转换。

2. 上拉电阻值:您提到5V端I2C信号使用4.7K上拉。这个值可能过大,导致信号不稳定。建议尝试使用更小的上拉电阻值,例如1K或2.2K,以提高信号稳定性。

3. EN脚电阻值:您提到EN脚5V串接100K电阻。这个值可能过大,导致EN脚信号不稳定。建议尝试使用更小的电阻值,例如10K或22K,以提高信号稳定性。

4. 时钟周期间隔:您提到应答的时钟与前面的地址时钟周期有一个间隔。这可能是由于信号同步问题导致的。请检查您的I2C时序,确保地址时钟和应答时钟之间的间隔符合I2C协议要求。

5. 硬件连接问题:请检查您的硬件连接,确保所有连接都正确无误。特别是检查PCA9306与DM368之间的连接,以及PCA9306与传感器之间的连接。

6. 软件问题:请检查您的软件代码,确保I2C通信协议实现正确。特别是检查地址、应答信号和时钟信号的处理。

综上所述,建议您从电平转换、上拉电阻值、EN脚电阻值、时钟周期间隔、硬件连接和软件实现等方面进行排查和调整,以解决应答信号收不到的问题。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分