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.

[参考译文] TUSB320:I2C 编程问题

Guru**** 2394305 points
Other Parts Discussed in Thread: TUSB320, TUSB422

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/700116/tusb320-i2c-programming-issue

器件型号:TUSB320
主题中讨论的其他器件: TPS65987TUSB422

大家好、

我将 TUSB320评估模块以400Kbits/sec 的速度通过 I2C 连接到微控制器

根据数据表、当 ADDR 线路被拉至高电平时、I2C 为0x67hex。 但是、我没有从 TUSB320获得任何 ACK、即使在从器件地址字节上也是如此、而只是在数据上。

我在 I2C 总线上有一个 I2C 逻辑分析仪、我看到的是正确的0xCE 地址(即7位0x67左移一位、LSB=0用于写入)。

我无法理解为什么器件没有响应。 Vdd320存在并且 EN#为低电平。

有什么想法吗?

谢谢

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

    TUSB320应使用配置中的从地址0x61、而不是0x67。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这很奇怪。。。 手动设置为0x67地址,我将尝试0x61。

    实际上,我不确定这款芯片是否符合我的需求。  

    我觉得 TUSB320支持电力输送 但从论坛其他地方的评论来看、似乎没有。 数据表在这一点上非常令人困惑,因为它支持 try.SNK/try.SRC 模式..

    我需要告诉已连接的 USB-C 手机成为主机并接受3A 电荷、哪款 TI 器件最适合这种情况?

    谢谢

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

    您能否提供有关您的系统要求的更多详细信息? TPS65987可能是您所描述的替代解决方案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Malik、

    我的要求如下:

    我们有一部 USB-C 手机连接到 USB2 GPS 接收器、该手机需要作为主机、因为接收器仅为设备。 但是、我们需要在 USB 连接打开的同时通过外部电源为手机充电。 这需要将手机协商为主机/接收器模式、并且我们需要3A 电荷。

    您建议的芯片是否最适合这种情况? 是否易于编程以设置该模式? (我们使用的微控制器空间有限)。 TUSB422是否是一种更便宜的选择、因为我们已经有电源开关和微型 VBUS 监控器件了。

    我们将根据需要为芯片提供 I2C 接口。

    此致、

    Bernard

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

    Benard、

    TUSB320看起来可以为 Type C 应用协商3A 充电电流、第7.2.2节 Type-C 电流模式、因此它应该适合您的需求、除非您需要通过 Type-C 协商更高的功率 假设 TUSB320位于 USB2 GPS 接收器板而不是 USB Type-C 电话上、它还可用作应用所需的 UFP。

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

    感谢您的支持。 很好。

    您能否提供一些建议、说明需要写入哪些寄存器来协商(强制)连接的电话进入 DFP+灌电流模式?

    (. 是的、TUSB420+GPS 将成为 UFP 并为手机提供充电电流)

    现在、我要使用评估板进行实验。 和 I2C 线路连接的微控制器。  

    谢谢

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

    Benard、

    经过一些回顾、TUSB320应配置为 DRP 而非 UFP、以便 Type-C 电话(应为 DRP)握手并看到3A 充电广播。 对于通告的电流模式为3A 的 DRP 配置、请尝试以下寄存器值。  

    I2C 寄存器:

    0Ah [5:4] MODE_SELECT = 11

    08h [7:6] Current_MODE_advertise = 10

    除了通告充电电流之外、TUSB320不控制充电、并且不能强制 Type-C 手机进入灌电流模式。  

    有关此部分 的更多信息、请参阅 USB Type-C 规范1.3版中的4.8.4拉电流器件。

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

    谢谢。

    但问题是:如何确保手机在接收电流时是主机、如果看到广播的充电电流、它是否会尝试切换到设备?

    此外、在上面的寄存器(0Ah)中、如果我不将 SOURCE_PREF [2:1]位设置为11 (Try。SRC)、根据您在上面所说的内容、您"无法强制"手机、但这不是为了实现这一点?

    要在提供外部电源的 EVM 电路板 RevB 上尝试此操作、我还应该对电路板执行其他操作来支持此模式吗? (我打开了 SW1和5、连接电话时 LED3亮起)

    很抱歉、所有问题。

    谢谢、

    Bernie

    编辑:

    我有以下代码:

    // TUSB320设置
    I2C_DATA[0]= 0x0a; // CSR 寄存器
    I2C_DATA[1]= 0x37; //设置 disable_term 和 DRP 模式、然后尝试 SRC
    i2cPtr->write (addr8位、i2c_data、2、false);
    
    WAIT_ms (10);
    
    I2C_DATA[0]= 0x0a; // CSR 寄存器
    I2C_DATA[1]= 0x36; //清除 disable_term
    i2cPtr->write (addr8位、i2c_data、2、false);
    
    I2C_DATA[0]= 0x08; // CSR 寄存器
    I2C_DATA[1]= 0x80; //公布3A
    i2cPtr->write (addr8位、i2c_data、2、false); 

    但是,电话只能以500mA 的电流充电并保持设备模式。

    我可以确认芯片 ACK 的每个发送的字节。

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

    我以前的帖子中有误。 为了实现所需的功能、需要电源角色交换功能、GPS 器件端口必须是 UFP。 电源角色交换将使 Type C 电话保持作为主机和 GPS 设备从设备、而 Type C 电话则从 GPS 设备供电。 TUSB320不支持电源角色交换。 TUSB422确实支持电源角色交换、请参阅第7.4.3节电源角色交换和 UFP 请参阅第7.3.4节 UFP (上行端口)。 使用 UFP 配置将确保数据传输的正确方向(即 C 型手机作为 DFP、主机)