主题中讨论的其他部件: BQ76PL455A, BQ76PL455A-Q1, EM1402EVM
工具/软件:Code Composer Studio
大家好,我正在尝试使用TI提供的示例代码对TMS5.7004万 Launchpad进行编程,以便与BQ76PL455EVM配合使用。 我已按照代码标题中的说明拆下电阻器R8。
提供的示例代码是否能够正常工作,或者是否需要进行某些修改?
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.
工具/软件:Code Composer Studio
大家好,我正在尝试使用TI提供的示例代码对TMS5.7004万 Launchpad进行编程,以便与BQ76PL455EVM配合使用。 我已按照代码标题中的说明拆下电阻器R8。
提供的示例代码是否能够正常工作,或者是否需要进行某些修改?
Ruby,
没问题...
从 bq76PL455EVM...开始
MCU的时间...
我亦很抱歉,我在较早前的答复 中忘记拆除 MCU的电阻R8。 执行此操作后,答案应如下所示:
再次感谢David。
我再次尝试将MCU连接到EVM,并按照您在“MCU时间”之后概述的说明进行操作。
当我逐步浏览解译为CCS和MCU之间通信的代码时,JTAG LED (D8)将闪烁。
但是,在逐步执行整个代码之后,MCU上的SCI1TX (D5)或SCI1RX (D6)都不会闪烁,EVM上的唤醒,RX或TX引脚上没有输出。
在传输和接收数据时,SCI1TX (D5)或SCI1RX (D6)是否应该闪烁?
J5至J9是否有特定的跳线设置可能会影响此设置?
正确,D5和D6应该有活动。 但是,闪烁的速度将足够快,很 难看到。 验证的最佳方法是 使用逻辑分析器查看数据 传输,或在 bq76PL455EVM RX引脚的下降沿上使用示波器和触发器。
我正在使用 一 个几乎全新的TMS570启动板 -所有 跳线配置都是从包装盒中获得的全新配置。 唯一的修改是删除R8。 拆卸R8时,您是否损坏 了主板上的部件或 是否制造了任何焊接桥? 我将 验证 该电阻器周围的组件是否未损坏。
对于455 EVM, 唯一会导致重大故障的跳线是通信模式 SEL开关。 您能否验证 两个开关是否都已移至"单个"位置?
能否与 我分享您的设置? 也许我 可以在 故障排除过程中帮助找到一些东西。
您好,David,感谢您的耐心等待。
我进行了您所描述的测试,将USB更改为TTL电缆。 EVM现在按预期工作。 VIO处的电压在单模模式下为5.1V,在差动模式下为5.34V。 蓄电池电压准确。 BAT16 (s)-BAT10连接在一起。 因此我已经确定董事会正在按其应有的方式工作。
以下是使用GUI测量单元格的屏幕截图。
单元格1,6和10故意低于其他单元格的值,以模拟不平衡的情况。
我还在示波器上捕获RX和TX活动;
黄色:TX
蓝色:Rx
紫色:唤醒
但是,在将TMS5.7004万与EVM配合使用时,我仍然遇到相同的问题。
我将EVM置于单模式,按照提供的代码中所述连接跳线。
我导入了代码并将其加载到主板上。 唤醒引脚在以下屏幕截图中的点高;
当我浏览代码时,唤醒引脚在 gioInit();函数之后变低;
当代码运行时,RX和TX引脚上无活动,故障引脚会变高。
D22点亮
TX引脚:3.3V (使用示波器稳定)
RX引脚:3.3V (使用示波器稳定)
VIO:3.3V
VDIG 5.34V
参考电压:2.5V
V5VA0:5.31V
Ruby,您好, 我 已经联系了您提供的电子邮件地址,其中 包含一段代码,可以为 所有通道启用单元平衡-您可以参考数据表以查看注册表以及 如果您希望修改它,可以设置哪些位。
您是否已将TMS引脚SCI1_TX和SCI1_RX引脚连接至高于4.6V的任何电压? 我想知道MCU引脚是否可能损坏。 GIO针脚工作正常,因为它们正在发送唤醒命令。 如果455EVM处于休眠模式,则5AO为~µ A 4.8 ,而其它电压基准将关闭。
您好,David:
TMS570启动板的BQ76PL455示例代码中有一个命令
//在单个板上设置电池过压和电池欠压阈值(章节2.2 .6.1)
nDev_ID = 0;
nsent = WriteReg (nDev_ID,144,0xD1EC,2,FRMWRT_SGL_NR); //设置OV阈值= 4.1000V
nsent = WriteReg (nDev_ID,142,0x6148,2,FRMWRT_SGL_NR); //设置UV阈值= 1.9000V
现在寄存器144和142存储OV和UV阈值。 我们可以在代码 编辑器工作室的何处看到这些寄存器?
另外,请告诉我应该编写什么代码来启用单元平衡?
谢谢
Ritul Shah
Ritul,
我将在此处共享启用单元平衡的通用代码,有关如何启用平衡的“英语”说明,请参阅数据表中的7.3 7部分。
使用示例软件中使用的API:
nsent = WriteReg (0,0x13,0x08,1,FRMWRT_SGL_NR); //配置CBCONFIG寄存器
nsent = WriteReg (0,0x1E,0x0000,2,FRMWRT_SGL_NR); //设置BIST配置(禁用挤压电阻器)
nsent = WriteReg (0,0x14,0xXXXX,2,FRMWRT_SGL_NR); //在X通道上启用平衡FET
API被写入WriteReg (设备ID,注册地址,数据字节数,数据包类型)。 在这种情况下,帧类型是不带响应(NR)的单(SGL)写入。 请注意,您可能还必须禁用平衡FET,具体取决于您在CBCONFIG寄存器中启用平衡的时间长度。 请注意,最终用户还负责平衡算法...
关于您的第二篇帖子,要查看455中的寄存器,您必须使用我们的示例代码中显示的ReadReg函数。 如果在读取数据后设置断点,则可以在代码编辑器工作室中查看变量的更新,因为数据也将存储在MCU中。
希望能有所帮助,
Ritul,
我很高兴 最后 一个帖子有所帮助。
如果要从底板读取,请尝试 以下两种方法之一:
//将样品请求发送到单个板以进行样品和发送结果(第4.2 节)
nDev_ID = 0;
nsent = WriteReg (nDev_ID,2,0x00,1,FRMWRT_SGL_R); // send sync示例命令
nsent = WaitRespFrame (bFrame,27,0);// 24字节数据+数据包报头+ CRC,0ms超时
确保 27个字节足以容纳每个 采样通道的1个数据包标头字节,2个CRC字节和2个数据字节。 此方法将使 pl455在 ADC 转换完成后立即将结果发送到MCU。
或者,您可以执行以下操作:
//将样品请求发送到单个板以进行样品和发送结果(第4.2 节)
nDev_ID = 0;
nsent = WriteReg (nDev_ID,2,0x00,1,FRMWRT_SGL_NR); // send sync示例命令
,,,,,, 做其他的事情…
nsent = WriteReg (nDev_ID,2,0x20,1,FRMWRT_SGL_R); //发送读取存储 值 命令
nsent = WaitRespFrame (bFrame,27,0);// 24字节数据+数据包报头+ CRC,0ms超时
这两种方法都应该起作用 ,并且适用于从任何单个板读取。 如果 您 要 不断地轮询电池 电压,您还可以考虑 禁用自动监控 DO信息不会"冲突"并导致混淆
e2e.ti.com/.../bq76PL455A_2D00_Q1-Example-Code.rarDavid,
我附上了我的BQ76PL455代码。 请在附件中找到。
甚至EM1402EVM_CODE也在此控制器上运行。 电池电压测量结果与我之前获得的结果相同。 输出电压没有变化。