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.

[参考译文] bq77PL900:bq77PL900 SDA 线路变为低电平?

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/613660/bq77pl900-bq77pl900-sda-line-becomes-low

器件型号:bq77PL900
主题中讨论的其他器件: CC3200BQ76925

您好!

我正在使用 cc3200和 bq77PL900与 I2C 连接在读取寄存器时、sda 线路变为低电平、sda 线路从哪一侧变为低电平。如何将 sda 线路从低电平释放到高电平。

请尽快帮助我。

此致、

Prudhvi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Prudhvi、
    为了确定哪一侧拉低总线、在主机和从机之间具有较小的电阻会很有帮助。 当由串联电阻器那一侧的器件驱动时、上拉电阻器上的示波器探针应显示较低的低电平值。
    通常、如果从器件将数据线保持在低电平、则等待时钟发送数据。 在这种情况下清除总线的常用方法是发送多达9个时钟、直到从器件释放数据线。
    除非总线上存在噪声或冲突、否则从器件错误应该是不寻常的。 检查上拉电阻器、查找串扰并检查 MCU 外设的设置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复、
    在快速模式(400Kbps)之前将 I2C 速度降低到标准模式(100Kbps)可以解决此问题。
    bq77PL900的一个问题是如何使用 cc3200读取总电池电压、在数据表中、它给出了 Vout (用于电池电压测量的放大器输出)、它应该连接到 cc3200的 ADC 引脚、或者直接连接到寄存器、它将在独立模式下以数字方式提供电池电压。

    此致、
    Prudhvi。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Prudhvi、
    关于巴士速度的好建议、我不建议进行检查。
    bq77PL900是一款模拟器件、它没有内部 ADC 来提供寄存器值中的电压。 VOUT 是电压的模拟测量点、应连接到 MCU ADC 输入端。 Vout 可以从4种模式中进行选择、如 bq77PL900数据表第30页的"电池电压测量"部分所示。 有关电池或电池组的选择位、请参阅寄存器 FUNC功能性 控制(0x03)。 请注意、电池电压的电池和电池组监控器是正特性、而电池电压是负特性。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复、

    我没有得到这一点、"请注意电池电压的电池和电池组监控器是一个正特性、而电池电压是负特性。"请您详细解释一下。
    还有一个问题、就是当我将0x08写入函数控制寄存器(0x03)时、之后如何读取 Vout 中的值。我要做的是将0x08写入函数控制寄存器、然后使用万用表查看 Vout 端子处的电压、我没有得到任何值 Vout 端子处。
    您能不能建议我如何使用写入寄存器的序列来获得 Vout 终端的值。请尽快帮助我。

    此致、
    Prudhvi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Prudhvi、
    当电池电压升高 VOUT 下降时、电池电压监控器具有负特性或斜率。 BAT 和 PACK 具有正特性或斜率、当 BAT 或 PACK 电压增加时、VOUT 增加(选择时)。
    包括 VOUT 在内的主机监控仅在主机模式下工作、因此必须设置 STATE 控制寄存器主机位(寄存器0x02至0x02或其他)。 此外、放大器输出必须由 VAEN 启用。 电池组优先于电池测量、BAT 优先于电池和电池组。 因此、要测量电池组电压、将 FUNCK_CONTROL 设置为0x09 (主机位已设置)、或测量电池电压、将其设置为0x11。 由于您处于主机模式、请务必打开 FET、否则除非连接了充电器、否则您可能会测量电池组上的~ 0V。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复、
    我所做的是、首先将 STATUS_CONTROL 寄存器(0x02)写入0x02、这意味着我处于主机控制模式。
    然后、我将0x09写入 FUNC功能性 控制寄存器、并使用万用表检查电路板上的 Vout 端子、我得到0.4V、然后我向 FUNC功能性 控制(0x03)寄存器写入0x11、我在 Vout 端子上得到0.5V。
    我应该得到24V、因为我已经配置了8个电流。
    请详细说明我使用 cc3200进行 I2C 通信的寄存器配置。请尽快帮助。
    此致、
    Prudhvi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Prudhvi、
    bq77PL900设计用于连接具有低电压输入的 MCU、并具有低电压输出缓冲器。
    对于电池和电池组测量、"输入被除以50"、如寄存器位定义中所述。 第30页的"电池电压测量"部分显示"×0.02"除以50、而电气特性表的"电池电压监控器"部分显示了除以50时的容差为5%。 因此、对于24V 电池、您应该期望测量24/50 = 0.48V。如果需要、请确保在代码中内置校准因子和方法、以补偿换算系数和任何 ADC 容差。
    请通读数据表。 这并不完美、但作者尝试通过多种方式描述该部分、它应该回答您的大部分问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、

    1)是否有任何代码使用 I2C 测量来自 MCU 的电压
    2)我应该使用独立模式还是主机控制模式,根据独立模式下的数据表,是否有内置算法,如果我在主机控制模式下使用 MCU 应该处理的所有内容??
    3) 3)我只想读取总电压和单个电池电压,我该怎么做??? 请分享任何代码
    此致、
    Prudhvi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Prudhvi、
    1.我不知道 bq77PL900的代码示例。 bq76925是一款模拟输出 AFE、其中提供了一些参考代码、器件功能和寄存器定义不同、但概念可能有用。 请参阅其产品文件夹的工具和软件选项卡。
    2.要测量电压、器件必须处于主机模式。 如果您在进入主机模式之前将 FET 控制位设置为 on、则器件仍会在发生故障时提供保护、或者您可以根据测量值在早期阈值进行保护。 请参阅表。 平衡算法内置为独立算法、但必须在 MCU 中针对主机模式完成。 一些用户将在模式之间切换。
    3.您可以在独立模式下运行,直到您想要测量电压,然后在 FET 位设置为 on 的情况下进入主机模式,进行测量并切换回独立模式。 您将需要针对上述电池电平和电池电平校准电压、以考虑共模容差。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复、

    当我将0x11写入函数控制寄存器(0x03)时、Vout 端子上的电压为0.582、如果 VAEN=1、我认为总电压除以50

    那么我做了0.582*50=29.1我得到的是总电压,它是计算总电压的正确方法吗?  

    此致、

    Prudhvi

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

    请给我回复

    此致、

    Prudhvi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Prudhvi、
    是的、此部件将电压除以50、所以乘以50应该得到电池电压、这取决于容差。