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.

[参考译文] TPS23880:TPS23880EVM-008 -在配置 A 中 I2C 读取始终为0x80

Guru**** 2568585 points
Other Parts Discussed in Thread: TPS23880EVM-008, TPS23880, USB2ANY

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/745106/tps23880-tps23880evm-008---i2c-reading-always-0x80-in-configuration-a

器件型号:TPS23880
Thread 中讨论的其他部件:USB2ANY
设置

TPS23880EVM-008 通过 SCL、SDA 、3.3、GND (J2连接器)连接到微控制器。

我面临的问题

1) 1)上电后、当我读取任何寄存器时、接收0x80。

2) 2) 一段时间后、即使设置了配置、芯片仍不执行分类检测

 在我的步骤下面

 寄存器映射

 1) 1)设置半自动模式   

 2) 2) 将2线对端口设置为2线对15.4 w 模式

 3) 3)启用所有通道的直流断开

 4) 4)启用检测/分类使能

我 也已卸载 SRAM ,但仍然没有任何效果。(我从给出的示例代码复制的代码)。
 
代码(来自示例)

  TPS_GetDeviceInterruptStatus (tps2388x_i2cAddList[0]、&intStatus);
   TPS_GetDeviceInterruptStatus (tps2388x_i2cAddList[1]、&intStatus);
   TPS_GetDeviceAllInterruptEvents (tps2388x_i2cAddList[0]、TPS_ON、&powerEnablePortEvents、&powerGoodPortEvents、&detectionPortEvents、&detectionPortEvents、
                       &classificationPortEvents、&ptipPortEvents、&disconnectPortEvents、
                       InrushPortEvents、&ilimPortEvents、&supplyEvents);
   TPS_GetDeviceAllInterruptEvents (tps2388x_i2cAddList[1]、tps_on、&powerEnablePortEvents、&powerGoodPortEvents、&detectionPortEvents、
                         &classificationPortEvents、&ptipPortEvents、&disconnectPortEvents、
                         InrushPortEvents、&ilimPortEvents、&supplyEvents);


   TPS238X_Interrupt_Mask_Register_t intMask;

   //tps2388x_i2cAddList[0]、TPS238X_firmware_revision_command、固件版本);
   TPS_GetDeviceFirmwareRev (tps2388x_i2cAddList[0]、固件版本);
  

   if (firmwareversion!= SRAM_VERSION)
   {
   //加载 SRAM 代码
     TPS 更新 SRAMCode();
   }

注释

如果我使用 TPS23880GUI 配置 TPS23880EVM、然后连接到微控制器(不断电)、则它可以正常工作。 我可以正确读取寄存器值。

您能不能描述 加电后配置器件的初始步骤。

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

    您好、Joji、

    请提供以下信息以帮助我了解您的测试条件。

    1. TPS23880上的顶部标记是什么?
    2. 您使用的是哪个版本的 SRAM 代码?
    3. 您是否使用了 TI.com 上的最新 GUI?
    4. 您能否通过读取寄存器0x41在加载 SRAM 代码后读取固件版本?

    谢谢。

    此致、

    一分钱

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

    顶部标记: PT23880RTQ

                 TI 83F

    SRAM 版本:-TPS23880_SRAM_v01.hex - 01

    GUI : 关于 TPS23880  

         版本 v2.0.0 (5add631)

         以2018年10月3日14:20:51为基础构建

    您能否通过读取寄存器0x41在加载 SRAM 代码后读取固件版本?

    a)上电后、当我读取任何寄存器时、接收0x80。  我得到的所有寄存器都是0x80

    b)  即使设置了配置,芯片仍不执行类检测,也会有一段时间 :-我可以将版本读取为0x01

    观察结果

    这可以轻松重现

    1) 1)将 TPS23880EVM 板连接到 USB2ANY 并将连接到 PC

    2) 2) TPS23880 EVM GUI 应用

    3) 3)在开头显示"Loading SRAM"

    4) 4)打开寄存器映射

    5) 5)关闭电路板电源并打开电路板电源。

    6) 6)如果我们读取所有寄存器、我们只能从 所有寄存器中获得 oxff80。  即使上传 SRAM 代码/固件 不会产生任何影响。

    7) 7)如果我们停止加载、则固件不会产生任何影响

    8) 8)如果我们断开与 PC (USB2ANY)的 USB 连接、则加载 SRAM 并正常工作

    您能否 提供 TPS23880的初始化序列。 我是否需要执行 任何其他配置?

    是否有任何方法可以在不使用 I2C 命令为芯片重新供电的情况下恢复?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    芯片顶部标记:
    PT23880RTQ
    TI83F
    S44D G4
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Joji、

    您是否意味着在断开 USB2ANY 并将其连接到 PC 后一切正常? GUI 不工作时是否挂起? 谢谢。

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

    您是否意味着在断开 USB2ANY 并将其连接 到 PC 后一切正常? :是的

    GUI 不工作时是否挂起?  GUI 没有问题。 还在工作。 但所有寄存器值0x80

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

    您是否从寄存器映射页面读取了所有寄存器、是否选择了立即读取方法? 您是否在每次运行电路板和 GUI 时都看到此问题? 谢谢。

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

    您是否从寄存器映射页面读取了所有寄存器,是否选择了立即读取方法?  答案:是的

    您是否在每次运行电路板和 GUI 时都看到此问题? :频率更高。

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

    即使在不同模式下、我也可以看到这个问题。 在此期间、如果我在不重新引导的情况下连接到微控制器 、则 通过 i2c 读取所有寄存器

     此时、我还观察 到相同的结果0x80。  

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

    从您的 GUI 屏幕截图中、GUI 与器件的通信中断(显示未找到 DEICE)。 我不建议您同时连接 MSP430和 GUI。 您将需要断开 MSP430板并重新打开 GUI。 谢谢。

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

    在此期间通信丢失。 在此条件下、所有 I2C 读取返回0x80。   

    一次、我 通过 J2控制器连接任一 GUI/微控制器。  

    我验证了通过示波器进行的 I2C 通信、它始终返回0x80。  

    ----------

    我面临的问题。

    设置

    TPS23880EVM-008  通过 SCL、SDA 、3.3、GND (J2连接器)连接到微控制器。

    问题

    所有 寄存 器值0x80。 在此期间、我无法通过任何 i2c 命令从这种情况中恢复。 如果我加载 SRAM 也没有任何效果。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请告诉我导致这种情况的原因是什么、这样 i2c 读取返回0x80。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Joji、

    我认为这不是器件问题。 GUI 的某些东西可能不稳定。 您是否能够通过重新打开 GUI 来解决此问题? 当我运行 GUI 时、有时我看到 GUI 未更新状态。 区分问题的一种好方法可能是:将 PD 连接到端口、然后查看 GUI 是否更新了检测和分类结果。 谢谢。

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

    您能否提供初始化序列?  

    让我知道 slvc720a 和 TPS23880 EVM GUI 的初始化序列是否相同?

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

    在进行任何配置之前、您需要将 SRAM 代码和奇偶校验加载到 TPS23880器件。 下面是一个讨论该过程的技术手册: www.ti.com/.../slvae12a.pdf。
    完成此操作后、您可以开始配置器件、例如工作模式(0x12)、中断屏蔽(0x01)、每个端口的功率分配(0x29)、直流断开启用(0x13)、检测分类启用(0x14)。 这些配置的顺序实际上并不重要。 我们提供了 TPS23880EVM 用户指南、其中将详细介绍。 谢谢。

    此致、
    一分钱