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.

[参考译文] BQ76PL536A-Q1:与其他器件通信时出现问题

Guru**** 2443510 points
Other Parts Discussed in Thread: BQ76PL536

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/723445/bq76pl536a-q1-problems-with-communications-with-other-devices

器件型号:BQ76PL536A-Q1
主题中讨论的其他器件:BQ76PL536

大家好、

我目前正在对 BMS 进行编程、我发现自己一直在按照德州仪器提供的数据表、应用手册和参考设计设计设计板上敲墙。 我所查看的不同设计之间似乎没有很大差异、但无论如何我会在这里发布。 有些电阻器和电容器发生了变化、因为它们是错误的。

e2e.ti.com/.../BQ76PL536A-schematic.pdf

此设计具有26个串联和两个连接器、可提供我要读取的电压。

当我尝试读取设计中所有五个器件上的电池时、我的问题就开始了、我能够读取三个器件、因此我认为我不会有任何问题、 但是、当我插入第二个连接器来读取第四个和第五个器件时、从第一个连接器到第二十六个器件的所有电压都是错误的。 我读取的所有寄存器均为1、因此测量值为25V、而不是3.86V  

然后、我尝试分配和读取每一个的地址寄存器、但当我到达第三个器件时、地址为255。 由于地址错误、我复位每个器件并再次启动、但当发生此事件时、分配第一个地址后、我还从第一个地址读取255。 (下图)

当我拔下第二个连接器时、第四个和第五个器件未通电、我可以分配第三个地址。 当读取第四个地址不正确时、程序会将器件复位:

现在我已经尝试读取器件状态、正如它所说的、我已激活警报和故障、我也读取了它们、并且这些值是具有已连接地址的器件的以下值。

第一个器件:  

器件状态:225 = 11100001

警报:128 = 10000000

故障:9 = 00001001

第二个器件:

器件状态:225 = 11100001

警报:128 = 10000000

故障:11 = 00001011

器件状态告诉我已正确分配地址、警报和故障信号。

警报表示未分配地址、当器件状态显示已分配地址时、这种情况非常奇怪

故障寄存器为我提供了更多信息、例如、它显示我有一个上电复位错误、一个 COV 和一个 CUV。

我发现很奇怪、器件状态未显示 UVLO 事件恰好出现上电复位状态。 我用示波器查看过、VREG50、LDOD、LDOA 的恒定值为5V

可能 SPI 总线有问题? 我不知道还有什么要做的。

感谢你的帮助。

Alex Torrubia

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Alex:
    有关与 bq76PL536器件的通信、请访问文献 SLUSAD3C 和 SLUA563B。 这些应用手册可从 www.ti.com/.../techincal 文档下载
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已经读取过它们、我也尝试像在源代码上那样进行堆栈寻址、但是当我尝试设置第三个地址(消息01 3B 03 CRC=0C)、然后读取第三个器件的地址时、SPI 总线返回255
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Alex:

    请确保在软件的头文件中正确设置了器件数量。 如果器件数量不正确、顶部器件将等待后续器件的响应。

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

    感谢您的回复、我已分配了五个器件正常、我能够点亮电路板上的 LED、但在读取任何寄存器时、我只在消息的每一位上读取"1"。 这仅在连接第四个和第五个器件时发生、现在我尝试使用示波器获取答案并再次制作软件。

    有什么想法吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Alex:
    很抱歉、您遇到了堆栈方面的此类困难。 检查模式。 确保其设置为 DIFF。 作为调试方案、将每个模块的电源以并行方式供电、以查看问题是否仍然存在。 通常、当用户使用 TI EVM 时、SW2开关未针对堆栈通信进行正确配置。 此外、请确保未超出 VIF 线路的电容规格。 通常、我们允许~ 21.6pF/英尺
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复 Vish、

    我将检查电路板的电容。 今天、我已经测试过、我只是尝试逐一插入设备、以了解是哪个设备导致了问题、并确定第四个设备导致了问题。 我真的怀疑硬件是问题所在、因为它是从第二个和第三个器件复制粘贴的、所以它必须与软件相关、但我不确定、因为在较低的器件上读取测量值的方式是相同的。
    时钟速度为325000波特、根据应用手册、5个器件的最大时钟为500000波特、因此速度不是问题。
    如果我发现相关信息、我将继续处理并更新帖子。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的更新。 祝您顺利进行软件调试。

    Vish

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

    解决了。 我在"slua562"中取消了一个电阻器、现在一切都正常了。