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.

[参考译文] BQ76PL455A-Q1:如何从 bq76PL455A 获取电流数据?

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/646942/bq76pl455a-q1-how-to-get-the-current-data-from-bq76pl455a

器件型号:BQ76PL455A-Q1
主题中讨论的其他器件: TIDA-03050

您好!

我认为我没有找到任何具有当前值的寄存器。 如何知道每个电池的电流?

谢谢、

Dick

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

    包含电池电压数据的寄存器为"隐藏"状态。 必须使用命令寄存器(0x02)发出"采样和发送"命令来转换单元格值并返回数据。 或者、也可以使用命令寄存器发出"Sample and Store"命令、让 ADC 转换和存储单元格值。 从此处开始、您需要通过同一寄存器发出"读取存储的值"命令。

    对于 pl455、ADC 读数不会存储在可访问的寄存器中、必须通过命令寄存器使用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Dave、

    这是我们可以使用的示例代码吗? 我认为这是针对电压的、我正在寻找电流。  

    //将样片请求发送到单个电路板以进行样片和发送结果(第4.2节)
    Nsent = WriteReg (0、2、0x01、1、FRMWRT_SGL_NR); //发送同步采样命令
    Nsent = WaitRespFrame (bFrame、byteRead、0);

    谢谢、

    Dick

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

    请尝试发送以下内容:

    Nsent = WriteReg (0、2、0x00、1、FRMWRT_SGL_R); //发送同步采样命令
    Nsent = WaitRespFrame (bFrame、byteRead、0);

    请记住、在 CHANNELS 寄存器中启用的每个通道将返回两个字节、加上初始化字节和两个 CRC 字节
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Dave、
    "bq76PL455A-Q1软件设计参考"文档中是否有此内容?

    因此、响应消息长度将为- 1字节响应标头+单元格* 2 + 2字节 CRC、对吧?

    您的意思是“初始化字节”?

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

    该命令不在文档中。 不过、也有类似的命令。

    你是对的。 确保同时考虑 AUX、模块等读数。 如果启用、这些也是两个字节。

    初始化字节是数据包中的第一个字节。 它基本上只包含有关正在发送的数据包的数据
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Dave、

    我们是否需要电压转换数据所用的公式?

    通道数据=(tempData * 5.0)/ 65535.0;

    谢谢、

    Dick

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

    您的公式正确。 我通常将其保留为浮点类型和十进制形式、而不是将其保留为5/65535。 但它们各自的内部。

    请记住、每个转换值有两个字节的数据。 因此、您需要连接缓冲区中的两个字节(代码中的 bFrame)。

    它应该像这样:

    tempData =(bFrame [n]<< 8)| bFrame [n+1]

    这将在一个变量中为您提供每个电池值的高字节和低字节、然后您可以转换为电压。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Dave、
    对于电压器件、我得到了该值。 上次提到使用以下命令获取电流的时间。 我的问题是、我们是否需要任何公式来转换数据、或者 bFrame 数组将是芯片的当前值?

    Nsent = WriteReg (0、2、0x00、1、FRMWRT_SGL_R); //发送同步采样命令
    Nsent = WaitRespFrame (bFrame、byteRead、0);

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

    我想我们可能会有误解。 按“Current Values”(电流值),我指的是此时的电压。 听起来好像我可能已经把水弄混了一点、并让您认为 pl455测量安培电流、不幸的是、情况并非如此。 为此、您需要一个单独的电流感应解决方案、其中包括霍尔传感器或电流感应电阻器、以及一些放大+相对高性能的 ADC
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我很困惑。 我认为 pl455可以测量安培电流。 感谢您的澄清。 Dick
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dick、

    我对这种混乱表示歉意。

    遗憾的是、pl455未配备用于处理电流感应的设备。 但是、您可能对 TIDA-03040 (www.ti.com/.../TIDA-03040) 或 TIDA-03050 (www.ti.com/.../TIDA-03050)感兴趣 、这些是我们的电流感应团队为参考而提供的参考设计