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.
工具与软件:
您好!
我们的设置是 将 LAUNCHXL2-TMS57012连接到 BQ79600评估板、然后连接到 BQ79631评估板。
因为有 否 示例代码要与 BQ79631评估板配合使用、我们使用从以下位置获得的示例代码:
我们的问题是:如果喂养 24V 在 BQ79631评估板的 VCC40V 上(该板也会在5V 电压下上电)、那么我们该怎么做 共同相关 16个测量值中的任何一个打印到 IDE 控制台、到24V?
请提供建议。 谢谢你。
John
尊敬的 Ben:
感谢您的反馈。 但我想向您确认:在我们的"LAUNCHXL2-TMS57012连接到 BQ79600评估板、然后连接到 BQ79631评估板"设置中、您同意运行我在上一封邮件中列出的示例代码的方法吗? 演示 原样运行代码 16个测量引脚是否应该对 VCC40V 馈电做出反应?
请提供建议。 谢谢你。
John
John、
如果您已正确配置代码(在"bq79616.h"文件中、您需要设置电路板数量以及存在桥接器件)、控制台上显示的数字应该是16个测量引脚。 您会注意到 BQ79616和 BQ79631共享许多寄存器、包括16个测量引脚。 因此、代码(旨在与 BQ79616一起运行)应适用于 BQ79631。
此致、
本
Ben、
您所描述的正是我们尝试过的。 但是、我们无法理解打印到控制台的16个测量值(在"bq79616.h"中、我们将 TOTALBOARDS 设置为2):
(16个测量值分为2行。) 对于上述输出、VCC40V 的馈电为12V。 非常感谢您对此提供反馈/想法。
John
John、
这里的数字是器件正在读取的电压。 由于这不是电池监测器、因此 VC 引脚有许多潜在的应用、并且 EVM 会反映这一点。 每组引脚都有一组跳线来配置确切的功能、您可以在 EVM 用户指南中的原理图上找到这些跳线。 请参阅该图以说明您看到的确切数字。
此致、
本
Ben、
我可以理解你在这里的推理。 但是、没有 TI 提供的指定用于驱动 BQ79631 EVM 的示例代码、可以在此处解决问题。
再次与您确认:在"BQ79631EVM 评估模块用户指南(SLUUCC32021年2月)"中、我们阅读-
EVM 用户指南中提到的示例代码是否存在? "BQ79631-Q1 Example Code 0.1 Installer.exe"如何使用?
请告知我们。 谢谢。
John
Ben、
我们找不到针对631的任何示例代码、无论 TI 安全资源与否。 当然、我们也知道616和631的寄存器接口基本相同。 但是、在运行我们已经验证为在616上正常工作的示例代码时、我们无法获得正确的电压测量值。
我们首先希望看到的是在631 EVM 向 VCC40V 输入馈电时的正确电压读数、如上所述。 它需要通过什么软件来实现这一点? "BQ79616-Q1软件设计参考(SLVAE86B、2023年8月修订)"是否也适用于631?
当没有示例代码、软件文档时、我们看不到使631 EVM 正常工作的任何方向。
此致、
John
John、
建议您参阅 BQ79631数据表(链接)的第8.3.1.1节、了解如何 启动和读取 BQ79631的 ADC。 从软件角度来看、BQ79631和 BQ79616实际上是相同的、尤其是在使用通信网桥的情况下。 BQ79616示例代码及其相应的参考将均适用于 BQ79631、您可以使用示例代码启动 ADC 并予以读出。
我无法向您提供希望从读取寄存器中看到的确切值、但如果它们不是复位值或静态值、则可以很好地指示它们按预期工作。
如果您严重担心特定的示例代码、可以查看 BQ7973、该产品具有更多支持文档和代码。
此致、
本
Ben、
您所说的"从软件的角度来看、BQ79631和 BQ79616实际上是相同的、尤其是在您使用的是通信网桥时。"正是我们所希望的结果。 但是、我们得到了运行 BQ79616示例代码来与 BQ79631通信的结果 巨大 与我们获得的结果相比、使用 TI GUI 工具(和 USB2ANY)返回测量结果。 这是包含所有默认配置、跳线设置的 BQ79631 EVM 板。
另外、我们在读取时发现 零件 ID (位于0x500的寄存器)、我们将从 BQ79631返回一个响应帧、其中器件 ID 字节为 0x07 的值、该值根本没有在 BQ79631数据表中列出。 数据表仅列出了0x00或0x20作为可能值。 您是否知道为什么会出现这种情况? 另外 DIE_ID1 (寄存器地址0x501)读回为 0x22 、应指示"修订版本 B2"。
在 BQ79631EVM 用户指南中、我们阅读了:
此时、BQ79631可以正常唤醒。 但是、上面的步骤2意味着什么? 如果没有任何 EVM 的示例代码、这个代码就会很模糊。
此致、
John
John、
GUI 主要用于演示目的。 使用快速启动按钮时、会应用许多设置、而不指示发生了什么变化。 示例代码不会自动应用这些设置中的任何一个。 如果您使用手动命令界面在 GUI 中复制示例代码的命令、可能会获得相同的结果。
数据表中列出的 PARTID 寄存器不正确。 这是一个已知问题。 您正在读取正确的零件 ID。 DIE_ID 特定于生成它的时间和地点、对于所有器件都是唯一的。 它不指示版本。
此致、
本
Ben、
最好知道 PARTID 和 DIE_ID 读回值实际上是正确的。
我完全理解您的观点、关于示例代码除了可在 sys_main.c 中看到的设置之外、不应用 BQ79631寄存器设置 但是、在这里的情况是、当使用 GUI 时、我们也没有执行任何额外的寄存器写入、但仍然观察到16个测量值在使用 GUI 和运行示例代码之间是不同的。 因此、我们想知道除了示例代码中显示的逻辑流程之外、GUI 的下划线源代码还能做什么? 我们是否可以从 TI 获取 GUI 的源代码?
请告知我们。 此外、对于我们目前在 TMS570LS12-BQ79600-BQ79631设置中运行的代码、下面显示了"main ()"中内容的快照。 我们不会看到其中的任何部分是错误的。 如果您愿意、敬请告知?
...
//初始化600
//如果 MCU 在启动时具有 NCS 和 MOSI = 0 (这会使器件进入关断状态)或者器件之前通过 SHUTDOWN ping 进入关断状态、则进行两次唤醒
wake79600 ();//向桥接器件发送唤醒 ping
delayus (3500);//等待 Tsu (WAKE_SHUT)、至少为3.5ms
wake79600 ();//向桥接器件发送唤醒 ping
delayus (3500);//等待 Tsu (WAKE_SHUT)、至少为3.5ms
//初始化 BQ79631-Q1堆栈
WriteReg (0、CONTROL1、0x20、1、FRMWRT_SGL_W); //将唤醒音发送到堆栈器件
delayms (11.6* TOTALBOARDS);//WAKE 音调持续时间为每块板~1.6ms +每块板10ms 以使器件从 SHUTDOWN 模式唤醒=每616块板11.6ms
//自动寻址
AutoAddress();//自动寻址序列
//从启动时重置所有 COMM 故障条件
WriteReg (0、FAULT_RST1、0xFF、1、FRMWRT_STK_W); //重置堆叠器件上的故障
WriteReg (0、FAULT_RST2、0xFF、1、FRMWRT_STK_W); //重置堆叠器件上的故障
WriteReg (0、Bridge_FAULT_RST、0x22、1、FRMWRT_SGL_W); //重置桥接器件上的 FAULT_COMM 和 FAULT_SYS
//启用 BQ79631-Q1主 ADC
WriteReg (0、ADC_CTRL1、0x06、1、FRMWRT_STK_W); //连续运行和 MAIN_GO
delayus (5 ×TOTALBOARDS + 192 );//5us 每板重新计时和192us 轮询完成
//从 BQ79631读取器件 ID
ReadReg (1、PARTID、RESPONSE_FRAME、1、0、 FRMWRT_SGL_R);
printf ("\r\n 部件 ID:0x%02x - FRMWRT_SGL_R\r\n"、RESPONSE_FRAME[4]);
//从 BQ79631读取器件 ID
ReadReg (1、DIE_ID1、RESPONSE_FRAME、1、0、 FRMWRT_SGL_R);
printf ("\r\nDIE ID1:0x%02x - FRMWRT_SGL_R\r\n"、RESPONSE_FRAME[4]);
//从 BQ79631读取主 ADC 的状态
ReadReg (1、DEV_STAT、RESPONSE_FRAME、1、0、 FRMWRT_SGL_R);
printf ("\r\nDEV STAT:0x%02x - FRMWRT_SGL_R\r\n"、RESPONSE_FRAME[4]);
if (RESPONSE_FRAME[4]和0x1)
printf ("主 ADC 正在运行!\r\n");
设计
printf ("主 ADC 未运行...\r\n");
//循环变量
INT channel = 0;//迭代器
Int currentBoard = 0;
应执行的操作
{
通道= 0;
currentboard = 0;
delayus(192+5*TOTALBOARDS);
ReadReg (0、VCELL16_HI+(16-ACTIVECHANNELS)*2、RESPONSE_FRAME、ACTIVECHANNELS*2、0、 FRMWRT_STK_R);
...
此致、
John
John、
我无法授予您访问 GUI 的源代码的权限。 我相信、如果您转到顶部栏上的"Tools -> Log Pane"(工具->日志窗格)、它会打印出它发送的所有命令。 然后、您可以将其与示例代码中发送的命令进行比较。
此致、
本
Ben、
您的建议非常合理、 如果 GUI (Tools->Log Pane)实际上可以准确显示发送到 BQ79631板的寄存器读取/写入命令、用于检索电压测量值。 但是、当我们使 GUI 显示正确的电压测量值时( 15伏 )在 BQ79631EVM 板的 VCC40V 处馈入24.5V 电压时:
保存的' eventLog.csv "、如附件所示、其中最多只包含什么 非常高 流程说明。 它们远不符合我们期望的 BQ79631寄存器读取/写入。
如果您不能 随意简单地共享下划线 TI GUI 工具(BQAutoEval)的源代码、可访问 以下任一项 是什么?
如果 TI 不提供上述任何内容、我们就不会使用任何用于评估 BQ79631和在其基础之上进行工程的基准软件。 除了具有用于评估 BQ79631的 GUI、对我们而言是不够的、我们肯定不理解 TI 不为此 IC 提供任何示例代码的原因、而其他供应商(例如 ADI)则毫不犹豫地为其功能等效 IC 提供此示例代码。
此致、
John
John、
Log Pane (日志窗格)右侧为 filter (筛选)按钮、请确保选中"Debug"(调试)选项。
此致、
本
Ben、
如果这是您的意思:
然后,我做了,但仍然,保存的'EventLog.csv'继续只是流的高级描述。
e2e.ti.com/.../6354.eventlog.csv
同样、寄存器读取/写入操作的确切顺序也与我们所需的顺序相同、通过该顺序、我们可以相应地编写软件。
还有其他想法吗? 重申一下:此问题需要您团队中的其他人实际使用 BQ79631EVM/BQ79600EVM/TMS570电路板、并验证需要的任何软件。
John
John、
很抱歉、我无法帮助您让 GUI 告诉您它正在做的确切操作、但这两个程序都经过验证、可与 BQ79631配合使用。 我运行了 BQ79600_UART_EVM Sample_Code 并得到了类似的结果:
Beginning Program BOARD 1: 6.162486 0.011825 12.498156 12.499300 12.496248 12.497774 12.493387 12.496820 12.493959 12.496058 12.497011 12.497774 0.004005 0.499331 0.003815 0.005340 BOARD 1: 6.163630 0.010872 12.497202 12.498728 12.496058 12.497011 12.493769 12.496820 12.493196 12.495295 12.497202 12.497202 0.004005 0.499140 0.003624 0.004768
此外、我使用 GUI 中的 COMMAND SEQUENCE 选项卡运行与示例代码完全相同的命令(我发送了 WAKE 音调、然后自动寻址、然后发送以下命令):
e2e.ti.com/.../BQ796xx-Transaction-Log.csv
您可以看到示例代码和 GUI 读取的值非常相似。
此致、
本
Ben、
因此、您确实尝试了 Sample_Code 在 BQ79631EVM 板上(通过 TMS570/BQ79600、我假设)运行 BQ79600_UART_EVM、这很好。 您能否供应电源 24V 添加至 VCC40V 的输入 BQ79631EVM 完全没有其他电压输入、然后检查 16. 测量值? 如果您能够这样做、您是否愿意分享结果?
重申一下:我们想知道在 BQ79631EVM 板上的 VCC40V 输入24V 电压并运行 BQ79600_UART_VC15时、您将观察到什么测量值 Sample_Code。 同样、BQ79631EVM 的原理图中所示的 VC15为:
当您将24V 输入调节到更高或更低时、您还会看到 BQ79600_UART_VC15输出的 Sample_Code 测量值相应地上升和下降吗?
此致、
John
John、
以下是我在 VCC40V 上使用三种不同电压时进行的测量:
VCC40V = 30V:
Beginning Program BOARD 1: 5.247364 2.311457 1.273695 2.521832 0.002289 12.497774 12.494532 12.496820 12.489573 11.149504 1.343121 0.002670 0.001144 0.172420 0.641044 0.005913 BOARD 1: 5.247173 2.312601 1.274649 2.520878 0.002479 12.497774 12.495295 12.496820 12.489191 11.149122 1.343693 0.003052 0.002098 0.172611 0.641234 0.005531 BOARD 1: 5.247936 2.311648 1.274076 2.521832 0.002098 12.497202 12.494341 12.496820 12.488810 11.148741 1.342548 0.003815 0.001526 0.172229 0.641234 0.005340
VC 15读数为~0.641V
VCC40V = 24V:
Beginning Program BOARD 1: 6.155811 1.842833 0.906921 1.964328 0.000954 12.497393 12.494532 12.496820 12.489954 11.467450 1.024220 0.002098 0.001907 0.177188 0.629028 0.005913 BOARD 1: 6.160007 1.842452 0.907112 1.963565 0.000954 12.498346 12.494532 12.496248 12.489573 11.467832 1.024983 0.001907 0.002098 0.177760 0.629028 0.006103 BOARD 1: 6.158290 1.841689 0.907875 1.962993 0.001144 12.497774 12.495104 12.497202 12.489763 11.467069 1.025174 0.002289 0.000954 0.177188 0.629409 0.005913 BOARD 1: 6.160198 1.842070 0.907303 1.962802 0.000572 12.497965 12.493959 12.495867 12.490335 11.467069 1.025555 0.002098 0.001335 0.177379 0.629981 0.005340 BOARD 1: 6.159626 1.842070 0.907303 1.963756 0.001526 12.497393 12.494532 12.496439 12.490335 11.467450 1.025937 0.001907 0.000763 0.177951 0.629028 0.005913 BOARD 1: 6.160007 1.842070 0.908256 1.962802 0.001144 12.497393 12.493959 12.496439 12.490335 11.467641 1.025174 0.002098 0.002098 0.178333 0.629981 0.005913 BOARD 1: 6.159816 1.842261 0.908066 1.962230 0.000954 12.497393 12.495104 12.497202 12.489573 11.467450 1.025555 0.003242 0.001907 0.177379 0.629028 0.006103 BOARD 1: 6.159435 1.842452 0.907112 1.963375 0.001144 12.497965 12.494532 12.496630 12.490526 11.468404 1.024792 0.002479 0.001144 0.178714 0.629409 0.005340 BOARD 1: 6.159816 1.841307 0.907875 1.963565 0.001144 12.497965 12.494722 12.495867 12.489954 11.467259 1.024411 0.001526 0.001526 0.177570 0.629028 0.005913
VC 15读数为~0.629 V
VCC40V = 18V:
Beginning Program BOARD 1: 6.157337 1.381648 0.550065 1.414263 12.499491 12.497774 12.494341 12.496820 12.491289 11.781583 0.709706 0.001144 0.001526 0.185580 0.615676 0.005150 BOARD 1: 6.162868 1.382220 0.550447 1.413691 12.499109 12.497393 12.495295 12.496630 12.491671 11.782727 0.708562 0.000954 0.001526 0.186534 0.615676 0.006676 BOARD 1: 6.162868 1.381839 0.550828 1.413500 12.498728 12.498919 12.494532 12.497011 12.490717 11.782537 0.711232 0.000763 0.001717 0.184817 0.616249 0.005531 BOARD 1: 6.163630 1.382602 0.550828 1.412737 12.499109 12.498156 12.494722 12.496630 12.490908 11.782727 0.710469 0.001526 0.001526 0.185390 0.616249 0.005531
VC 15读为~0.616429。
VCC40V 上的电压与 VC 15上的电压之间存在明显的相关性。
此致、
本
Ben、
很高兴看到您可以将电压馈入 BQ79631EVM 的 VCC40V、这恰恰反映了我们看到的问题。 让我来问这个:对于相同的电压馈送、 还可以包括 JTAG 仿真器 (通过 USB2ANY)、那么在调节馈电时您是否看到相同的电压测量值? 我们肯定会看到 GUI 和示例代码的行为不同、因此目前得出的结论是、下划线 GUI 的源代码有额外的逻辑。 这也是我们请求提供此类源代码的原因。
同样、根据适用于 VC15的 BQ79631EVM 的电路(EVM 用户指南第19页、我之前已提取并附加了多次)、我们通过以下公式计算出 VC15应与 VCC40V 输入相关:
VC15 = VCC40V x 0.0672
根据您得到的测量结果、通过运行示例代码:当将24V 馈送到 VCC40V 时、您观察到 VC15等于~0.629V。 这是 显然不是 我们希望看到的相关性。
如果您不同意上述内容、请告知我们。 换句话说、正如您所指出的、VC15应该与 VCC40V 输入相关、 但是 正确的相关性是什么?
John
John、
我在最后一条消息中被误认为第15单元是第二个数字、而不是第二个数字。 当 VCC40V 分别等于30V、24V 和18V 时、近似值为2.31V、1.84V 和1.38V。 这些数字确实反映了 EVM 用户指南中所示的相关性。
此致、
本
Ben、
真有意思。 要与您确认、从读取"BQ79600_UART_Sample_code"源代码、所示的16个值代表电池16测量值、一直代表电池1测量值?
请提供建议。
此致、
John
John、
有。 16个值是从寄存器 VCxx_HI/LO 开始的16个 VC 引脚测量值、按从16到1的降序排列。
此致、
本
谢谢 Ben 的大力支持!
John