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.

[参考译文] AM2632:AM2632 IIC

Guru**** 2267350 points
Other Parts Discussed in Thread: AM2632, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1491573/am2632-am2632-iic

器件型号:AM2632
主题中讨论的其他器件: SysConfig

工具与软件:

尊敬的 TI 支持团队:

AM2632与湿度/温度传感器(NSHT30-Q1DNR)之间的 I2C 通信会遇到问题。 如果您提供解决此问题的指导、我将不胜感激。

问题:

  • 写作品 、但是  读取失败 :发送从地址后( R/W=1 ),传感器 ACK ,但 SCL 保持不变  低电平 .

  • 我尝试了各种读取和写入操作、每个读取操作都具有相同的响应、因此我无法完全输出时钟

  • 我确信从器件工作正常

设置:

  • 传感器: 在7位地址上  0x44 .

  • I2C 速度:400kHz (标准模式)。

  • 上拉:SDA/SCL 上为4.7kΩ。

问题:
在读取期间、为什么在从器件 ACK 后 SCL 保持低电平? 这是主要配置问题还是传感器行为?

附件:

  • 逻辑分析仪捕获(SCL_stuck.png)。

感谢您的帮助!

此致、

ZX

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

    您好、ZX、  

    如果将比特率降至100kbps、是否能够读取?

    此致、

    Brennan

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

    嗨 Brennan:

    我尝试过100K、但它仍然显示相同的现象。 此从器件支持高达1M 的时钟速度

    此致

    ZX

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

    您好、ZX、

    SysConfig 和硬件配置看起来正确。 我将在该主题中添加一位软件专家、用于进一步调查。

    如果您能提供一些有关代码的详细信息、将会有所帮助。  

    此致、

    Brennan

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

    嗨  Brennan:

    以下是我的代码、我对 SDK 的例程示例进行了一些修改

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /*
    * Copyright (C) 2024 Texas Instruments Incorporated
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions
    * are met:
    *
    * Redistributions of source code must retain the above copyright
    * notice, this list of conditions and the following disclaimer.
    *
    * Redistributions in binary form must reproduce the above copyright
    * notice, this list of conditions and the following disclaimer in the
    * documentation and/or other materials provided with the
    * distribution.
    *
    * Neither the name of Texas Instruments Incorporated nor the names of
    * its contributors may be used to endorse or promote products derived
    * from this software without specific prior written permission.
    *
    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    期待您的回复

    ZX

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

    您好、ZX、

    从我的初始分析来看、我有几个要点:

    1.在你的代码中,我看到 I2C 写入操作后,你调用"I2C_Transaction_init ()"函数,并填充3个参数(目标地址, readBufa nd ReadCount )。 超时、控制器模式、状态和其他参数等其他参数采用如下所示的默认值

     在调用读取操作之前、请确保正确配置 I2C 事务结构

    2.我明白为什么 I2C_READ_LEN 会更改为"6"、但根据传感器的数据表、主器件应在接收到前5B 后发送 ACK、并在第6个字节后发送停止命令。 您能验证一下是否出现这种情况吗? 逻辑分析仪捕获结果 对我来说没有以高分辨率打开、因此我看不清。

    3.我觉得代码中没有问题,我认为我们在正确执行读取操作方面缺少了一些步骤。  

    此致、
    Shaunak

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

     Shaunak 您好:

    感谢您的答复。

    1. 我提到了多个例程,只配置了目标器地址, readBufa 和 ReadCount、我遵循他的指示,我也配置了超时,但我没有正确地读取数据。 其他参数使用默认参数更好

     当前的问题是在读取时、在发送从器件地址之后、时钟终止并变为低电平

    此致  

    ZX

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

    您好、ZX、

    我认为问题在于 I2C 地址。 请勿将自身从器件地址设置为与总线上的任何其他从器件相同、自身从器件地址的用途是为了控制器的从模式运行、 保持其默认值或至少与总线上的任何其他从器件不同、否则 IP 将锁定

    此致、
    Shaunak

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

     Shaunak 您好:

    我的 IIC 总线上只有一个从器件。

    我想知道这种现象是否由主机主动下拉、Ω 引起、以及原因

    谢谢

    ZX