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.

[参考译文] BQ27220:MACDataLen 作为36字节传输出现

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/606723/bq27220-macdatalen-comes-up-as-36-byte-transfer

器件型号:BQ27220
主题中讨论的其他器件: BQSTUDIO

您好!

我将遵循 SLUUBD4 BQ27220用户手册中第6.1章的示例。

步骤1–7正常工作、但步骤8 (MACDataLen)中的数据长度返回36。  由于 MACData 缓冲区中只有32个字节(最大值)的数据传输是可能的、那么36是怎么发生的?  

在执行步骤5之前、我还尝试将 MACDataLen 设置为32、但仍返回36。

我遇到问题的例程(已连接)是 BQ27220:get_data_32 (...)。  在 mbed.org K64F 平台上完成

uint32_t BQ27220::get_data_32 (BQ27220_typedef& dataSTR、uint16_t sub_cmmd、int length)
{
if (length > 32) length = 32;
i2c_buf[0]= bq_sub;//0x2c i2c_buf[2]
= sub_bu02x


;i20[idr、i20_buf = i2c.x]、i2ctrab_buf、i2c = i2c、i20_buf、i2c = i20_buf、i2c.h、i2c I2C_buf、3、false);
wait_us (66);
线程::等待(5);

I2C_buf[0]= BQ_MACDATASUM;//0x60
_i2c.write ((int) BQ27220_ADDR、i2c_buf、1、true);
_i2c.read ((int) BQ27220_ADDR + 1、i2c_buf、1、false);
Wait_us (66);
线程::Wait (5);
dataSTR.macSumReg = dataSTR.i2c_Bufx[0];
//PC.printf ("dat-32c:%02x \r\n"、i2c_buf[0]);

I2C_buf[0]= BQ_MACDATALEN;//0x61
_i2c.write ((int) BQ27220_ADDR、i2c_buf、1、true);
_i2c.read (((int) BQ27220_ADDR + 1、i2c_buf、1、false);
wait_us (66);
线程:等待(5);
datastr.macLenReg = datalx.i2c_Bufx[0];
uint8_t lx = datalx.macLenReg;
//PC.printf ("dat-32L:%02x \r\n"、i2c_buf[0]);
if (STR > macLenReg;//c.tr = 0x2c_buf


;iQt = 0x2c_buf;i20_buf = 0x2c.tr = 0x2c_buf;iQt = 0x2c_buf true);
_i2c.read (((int) BQ27220_ADDR + 1、i2c_buf、length、false);
wait_us (66);
线程::等待(5);
for (int i = 0;i < length;i++){
dataSTR.macData[i]= dataSTR.i2c_Bufx[i];
PC.printf ("%02x "、dataReg.iSTR_Bufx[i]);
}

dataSTR.checksum = calc_mdfx[i]、dataReg (%02x)、dataReg
dataSTR.checksum);
(%DMT.32)、dataReg (%dr、data021x (%dr)、dataReg:%dr、data021r、dataReg:%dr、data023"(%dr、dataReg:%dr)

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

    数据长度包含2字节地址(寄存器0x3E/0x3F)、校验和寄存器(0x60)和长度寄存器(0x61)。 因此总共为36字节。

    请注意、6.1、步骤13中的示例也显示了0x24 = 36字节的长度。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    校验和是否包含在其计算0x3E、0x3f 和0x61中?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    现在、我将讨论校验和计算差异。  下面是 BQ27220、4000-41ff、4800-49ff 和9100-92ff 中所有数据区域的转储。

    每行的开头是地址(0x3E、0x3f)、32字节的十六进制数据、长度 MDL:(十进制)、BQ 校验和 mdcs:(十六进制)和我的校验和 CCS:(十六进制)

    我添加了逗号分隔符、以便将数据放入.csv 文件中。  BQ27220处于 FUL_ACCESS 模式。

    OS、           0422、     ->、CFGUPDATE INITCOMP SEC0 (完整)

    只有大约1/4的校验和(BQ27220与我的)是相同的。 我假设其中一些差异是针对某些数据区域、而这些数据区域实际上不存在实际数据。  但是、有些区域具有有效数据、但校验和仍然不匹配。  我将数据放入电子表格中、我的计算结果看起来都是正确的。 我会将地址(0x3E 和0x3f)分接成单独的字节来进行校验和计算。

    OTP ROM 数据
    4000、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL:36 mdcs:bf CCS:bf
    4020、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00 、00、00、MDL:36 mdcs:9F CCS:9F
    4040、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00 、00、00、00、00、00、00、00、MDL:36 mdcs:7F CCS:7F
    4060、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00 、00、00、00、00、00、00、00、00、MDL:36 mdcs:5F CCS:5F
    4080、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、  00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL:36 mdcs:3F CCS:3F
    40a0、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL: 36 mdcs:1F CCS:1F
    40c0、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL:36 mdcs:FF CCS:FF
    40e0、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL:36 mdcs:DF CCS:DF
    4100、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00 、00、00、00、00、00、MDL:36 mdcs:be CCS:be
    4120、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、9E、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00mdl: 36 mdcs :CCS 9E:9E
    4140、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00 、00、00、00、00、00、00、00、MDL:36 mdcs:7E CCS:7E
    4160、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、 00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL:36 mdcs :5e CCS:5e
    4180、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00 、00、00、MDL:36 mdcs:3E CCS:3E
    41a0、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL:36 mdcs:3E CCS:1E
    41c0、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL:36 mdcs:3E CCS:Fe
    41e0、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL:36 mdcs:CCS :DE

    ROM 默认数据
    4800、->、1c、98、02、D3、ff、b9、30、01、00、ef、05、11、05、05、00、00、3c、00、50、3c、00、64、3c、00、20、00、00、00、00、MDL:36 mdcs:5F CCS:A1
    4820、->、14、00、00、01、c2、00、32、00、c 8、10、68、00、00、64、00、19、28、04、84、10、00、0、09、00、96、00、af、02、20、MDL:36 mdcs:81 CCS:A0
    4840、->、00、14、05、00、0a、05、00、32、01、c2、14、00、08、09、f6、00、01、00、3c、00、4b、00、28、3c、3c、01、02、26、MDL:36 mdcs:80 CCS
    4860、->、02、01、f4、02、58、02、2、26、F6、fc、18、32、0c、02、0c、b2、4、14、36、72、ff、ff、ff、ff、00、00、01、2c、02、bc、9b、MDL:36 mdcs:7E CCS:44
    4880、->、c7、01、00、80、08、02、77、01、80、01、00、08、18、14、05、dc、64、14、00、00、c8、00、00、64、64、64、64、08、0e、74、MDL:36 mdcs:24 CCS:27
    48a0、->、00、64、1f、40、00、00、3c、02、3c、5a、0A、0c、8c、0b、8、0c、1c、00、05、10、68、04、64、5f、0c、80、0c、e4、0c、6、08、MDL:36 、0c:07 CCS:00
    48c0、->、10、68、10、04、64、5f、00、10、2a、0b、b8、0b、b8、03、8e、74、00、64、0e、9f、00、95、03、0c、0c、09、00、MDL:36 mdcs:69 ccs:C0
    48e0、->、0b、d7、0d、39、01、10、4d、0f、CB、0f、55、0e、ed、0e、8d、0e、48、0e、23、0d、Fe、0d、bb、0d、6F、0A、99、000、MDL:36 cs :A0:48
    4900、->、00、08、98、08、88、18、c0、0e、74、00、64、0e、9f、00、95、03、0f、be、0、1、0c、9、00、0b、dmd7、0d、39、0d、AD、MDL:36 cs:27 CCS:19
    4920、->、01、10、4d、0f、CB、0f、55、0e、ed、0e、8d、0e、48、0e、23、0d、Fe、0d、bb、0d、6F、0A、99、0000、08、98、08、08、88、88、18、c 0、0e、MDL:36 mcc:mc5 :mcc:mc5:mcc:mc5
    4940、->、74、00、64、0e、9f、00、95、63、03、0f、be、01、3c、09、00、0b、d7、0d、39、01、10、4d、0f、CB、0f、55、0e、MDL:36 mdcs :A5 CCS:55
    4960、->、ed、0e、8d、0e、48、0e、23、0d、bb、0d、6F、0A、99、00、00、 00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、mdls:36、mdls:35 mdc:35 :35
    4980、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00 、00、00、00、00、00、00、00、MDL:36 mdcs:35 CCS:36
    49a0、->、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、MDL:36 mdcs:16 CCS:16
    49c0、->、00、00、00、00、00、00、00、00、02、20、00、03、00、04、00、00、00、00、00、00、00、00、00、81、020、00、45、12、4003、MDL:36 mdcs:F6 CCS:A6
    49e0、->、00、00、00、00、00、00、00、00、02、2000、03、00、04、00、00、00、00、00、00、00、00、00、81、020、00、45、12、4003、MDL:36 mdcs:86 CCS:86

    RAM 数据
    9100、->、00、af、ff、ff、ff、EC、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、00、f2、00、00、00、00、00、00、00 、00、mdl: 36 mdcs:25 CCS:e4
    9120、->、00、00、00、00、00、00、7、ff、00、00、00、f2、be、e8、99、18、bb、f0、83、67、0c、b2、43、cf、2f、f1、00、0b、9d、00、mdl: 36 mdcs:c4 :c4:5A
    9140、->、00、0、0c、e3、0c、e3、ff、00、00、00、000、0c、e3、00、0b、9c、0b、ac、00、00、00b、00b、7f、fa、C3、mdl: 36dB mcs:3a.  
    9160、->、ff、f0、0b、d6、7e、73、b6、45、93、0a、a5、22、00、f2、00、5a、0b、b8、04、56、04、56、00、00、0000、33、76、MDL:36 mdcs:BB CCS:02
    9180、->、00、00、00、00、05、86、22、9a、00、00、00、00、00、00、00、00、009、00、009、00、00、00、00、00、00、00、CB、d4、1a、05、MDL:36 mdcs :e2 CCS:e9
    91a0、->、d4,86,4a、C6、b4、c2,6e、2b、03,7c、01,48、FD、A3、f6,75,12,582d、b7,1c、98,02、D3、ff、b9,30,01,00、ef、05,11、MDL:36 mdcs :ccs:BD
    91c0、->、05、00、10、01、00、3c、00、50、3c、00、64、3c、00、20、00、00、14、00、00、01、c2、00、32、00、c8、10、68、00、MDL:36 mdcs:9D CCS:C6
    91e0、->、00、00、64、00、19、28、04、84、18、00、00、09、00、96、00、af、02、20、00、14、05、00、0a、05、00、32、01、c2、14、MDL:36 mdcs:A6 CCS:93
    9200、->、00、08、09、f6、00、01、00、3c、00、3c、00、4b、00、28、00c、3c、01、02、26、02、58、02、02、26、F6、fc、18、32、MDL:36 mdcs:72 CCS:22
    9220、->、0c、4e、02,0c、b2,04,14,36,772、ff、ff、ff、ff、00、00、01,2c、02、bc、9b、c1,00,00,80,08,02,77,0a、01,80,001、MDL:36 mdcs:02 CCS:9C
    9240、->、00、08、18、14、05、dc、64、14、00、00、c 8、00、00、64、64、008、0e、74、00、64、1f、40、00、003c、02、3c、5a、0A、0c、MDL:36 mdcs:7C CCS:C5
    9260、->、8c、8c、0b、b8、0c、1c、00、05、10、68、010、04、64、5f、0c、80、0c、e4、08、10、68、04、64、5f、00、10、2a、0b、b8、0b、MDL:36 mdcs :A5 CCS:D5
    9280、->、b8、03、04、00、64、0e、9f、00、95、63、03、0f、be、01、0c、09、00、0b、d7、0d、39、0d、AD、01、10、4d、0f、MDL:36 mdcs:B5 CCS:BC
    92a0、->、CB、0f、55、0e、ed、0e、8d、0e、48、0e、23、0d、fb、0d、6F、0A、99、00、25、d4、20、b5、69、13、00、8f、63、40、f0、cb、mdl: 36 mdls:mdls:958 ccs
    92c0、->、a4、36、41、b7、63、CB、5F、C6、C2、ff、D5、AD、3E、56、2f、31、70、8d、26、89、1a、12、f5、9c、A4、d9、0b、C8、CB、96、18、19、MDL:36 mdcs:38 CCS:06
    92e0、->、3c、ef、55、4b、F8、C4、d0、19、18、0e、c5、7c、66、2a、10、68、11、df、95、C4、B3、b7、73、1、15、ef、F6、ad、50、EB、47、B1、MDL:36 mdcs :e6 CCS:AD

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

    校验和是255 -起始地址和块字节的8位宽总和。

    示例:

    W:AA 3E B4 91 FD 00 03 00 00 00 CB D4 1A 05 D4 86 4A C6 B4 C2 6E 2B 03 7C 01 48 FD A3 F6 75 12 58 2D B7

    W:AA 60 62 24

    正在添加 B4 91... B7等于0D9D、因此校验和为0xFF - 0x9D = 0x62

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    到目前为止、我还没有尝试写入 RAM、只是读取。

    我将上述数字放入我的电子表格中、得到相同的结果(0x62)。 我还使用上面的数字编写了一些代码、校验和也显示为0x62。

    问:从 BQ27220读取36个字节时,校验和是否有效?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    校验和的有效性并不取决于从监测计中读取的字节数量。 它将始终返回整个块的校验和。

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

    下面是整个 BQ27220数据字段(如上所示)的更详细的"转储"。  据我所知、此评估板上的 BQ27220未进行任何修改。  我将数据放入电子表格中。  由于 Excel 能够很好地以十六进制进行数学运算、因此我必须将原始数据转换为原始数据正下方的行中的十进制(绿色公式)(橙色行)。  然后、我在行的末尾执行校验和(求和行、从0xff 中去除并减去、并将结果转换回十六进制字节)(蓝色公式)。 因此、我在电子表格中执行的操作等同于我在代码中执行的操作、因为结果是相同的。

    在大多数情况下(红色文本)、我仍然不明白我的结果与 BQ27220的校验和结果有何不同。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法判断是否附加了电子表格。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../quick5.xlsx

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

    监测计将自动递增其数据指针、因此在读取校验和时需要考虑这一点。

    更新特定参数的一种简单方法是以下序列:

    1.进入 CFG_UPDATE 模式
    2.将地址和参数数据写入0x3E+(自动递增)
    3、计算校验和:0xFF -(地址和数据之和)或0xFF
    4、将校验和写入0x60、将总长度(地址+参数数据+校验和+长度)写入0x61
    5. Exite CFG_UPDATE 模式

    示例:将 OT Chg 时间设置为8秒:
    OT Chg 时间地址= 0x9234
    数据= 0x08

    2.将0x34 0x92 0x08写入从0x3E 开始的寄存器
    校验和= 0xFF -(0x34 + 0x92 + 0x08)或0xFF = 0xFF - 0xCE = 0x31
    4、将0x31写入0x60、将0x05 (=2字节地址、1字节数据、1字节校验和、1字节长度)写入0x61

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

    我执行了上述操作、但从0x60返回的校验和始终为关闭0x40。  当然、数据也不会改变

    final_cs2:31

    CFG_OT_CT_CMMD:-> 3e 92 34 08

    CFG_OT_CT_cs:  -> 60 31

    CFG_OT_CT_Len: -> 61 05

    CSL:F1

    LL:05

    92,34、->、c7,01,00,00,80,08,02,77,0a, 01,80,01,00,08,18,14,05,dc,64,14,00,00,00,c8,00,00,64,64,08,0e, 74,

    将示例更改为3而不是8

    final_cs2:36

    CFG_OT_CT_CMMD:-> 3E 92 34 03

    CFG_OT_CT_cs:  -> 60 36

    CFG_OT_CT_Len: -> 61 05

    CSL:F6

    LL:05


    92,34、->、c7,01,00,00,80,08,02,77,0a, 01,80,01,00,08,18,14,05,dc,64,14,00,00,00,c8,00,00,64,64,08,0e, 74,

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

    我仍然从 BQ27220接收到不正确的校验和结果。  

    1.当我发送上述命令(0x9234)时、校验和结果始终为关闭状态、但校验和结果几乎在每次运行测试时改变为0x10的倍数(见下文)。  

    使用用户指南6.1中的示例(0x929F)、我仍然会得到校验和错误、但 BQ27220返回的结果从未改变。  

    最后、我可以写入操作配置 A 寄存器(0x9206)、并且它始终返回正确的校验和。

    我在做什么:

    我创建的测试:                         Bq t
    I2C 写入0x3E (0x92、0x34、0x08)        ram124_CMMD:-> 3e 92 34 08
    计算出的校验和                    final_cs2:31
    I2C 写入0x60 (0x31)                  ram124_cs:  -> 60 31
    I2C 写入0x61 (0x05)                  ram124_len: -> 61 05
    从0x60进行 I2C 回读                  get_cs:A6
    从0x61回读 I2C                  get_ln:05

    //将0x08示例更改为 addr:0x9234

    Bq t
    ram124_CMMD:-> 3e 92 34 08
    final_cs2:31
    ram124_cs:  -> 60 31
    ram124_len: -> 61 05
    get_cs:11.
    get_ln:05

    Bq t
    ram124_CMMD:-> 3e 92 34 08
    final_cs2:31
    ram124_cs:  -> 60 31
    ram124_len: -> 61 05
    get_cs:11.
    get_ln:05

    Bq t
    ram124_CMMD:-> 3e 92 34 08
    final_cs2:31
    ram124_cs:  -> 60 31
    ram124_len: -> 61 05
    get_cs:11.
    get_ln:05

    Bq t
    ram124_CMMD:-> 3e 92 34 08
    final_cs2:31
    ram124_cs:  -> 60 31
    ram124_len: -> 61 05
    get_cs:11.
    get_ln:05

    Bq t
    ram124_CMMD:-> 3e 92 34 08
    final_cs2:31
    ram124_cs:  -> 60 31
    ram124_len: -> 61 05
    get_cs:D1
    get_ln:05

    Bq t
    ram124_CMMD:-> 3e 92 34 08
    final_cs2:31
    ram124_cs:  -> 60 31
    ram124_len: -> 61 05
    get_cs:B1
    get_ln:05

    Bq t
    ram124_CMMD:-> 3e 92 34 08
    final_cs2:31
    ram124_cs:  -> 60 31
    ram124_len: -> 61 05
    get_cs:B1
    get_ln:05

    //将0x04b0示例更改为 addr:0x929f

    ram124_CMMD:->3E 92 9f b0 04
    final_cs2:1A
    ram124_cs:  -> 60 1a
    ram124_len: -> 61 06
    get_cs:E3
    get_ln:06

    Bq t
    ram124_CMMD:->3E 92 9f b0 04
    final_cs2:1A
    ram124_cs:  -> 60 1a
    ram124_len: -> 61 06
    get_cs:E3
    get_ln:06

    Bq t
    ram124_CMMD:->3E 92 9f b0 04
    final_cs2:1A
    ram124_cs:  -> 60 1a
    ram124_len: -> 61 06
    get_cs:E3
    get_ln:06

    Bq t
    ram124_CMMD:->3E 92 9f b0 04
    final_cs2:1A
    ram124_cs:  -> 60 1a
    ram124_len: -> 61 06
    get_cs:E3
    get_ln:06

    Bq t
    ram124_CMMD:->3E 92 9f b0 04
    final_cs2:1A
    ram124_cs:  -> 60 1a
    ram124_len: -> 61 06
    get_cs:E3
    get_ln:06

    Bq t
    ram124_CMMD:->3E 92 9f b0 04
    final_cs2:1A
    ram124_cs:  -> 60 1a
    ram124_len: -> 61 06
    get_cs:E3
    get_ln:06

    Bq t
    ram124_CMMD:->3E 92 9f b0 04
    final_cs2:1A
    ram124_cs:  -> 60 1a
    ram124_len: -> 61 06
    get_cs:E3
    get_ln:06

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

    请分步尝试我之前的示例。 我通过 bqStudio/高级通信验证了 EVM 上的这一点。 请先在具有高级通信功能的 bqStudio 中尝试此操作。 成功执行参数更新后、将其转换为代码并通过分析任何差异来调试。

    您的实施中必须存在一些模糊的东西、以防止监测计按预期更新数据和校验和。

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

    我终于在昨晚工作了,但条件如下:

    数据传输必须在一组读-修改-写操作中填充和传输整个 MACData 缓冲区(32字节)。  部分传输(如上面长度为0x05的示例)无效。

      1A。 bqStudio 是否可能向您隐藏此步骤?

    2.在将结果放入 MACdataSum (0x60)之前、我必须从最终计算出的校验和中减去0x20。

    谢谢、这个问题现在可以解决、

    Kevin

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

    大约1a:我可以在没有 bqStudio 的情况下执行单个参数更新、因此我不认为这是 bqStudio 造成的。
    关于2:这很奇怪。 我不知道为什么需要这样做?

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

    您好!

    需要澄清:

    1. 任何专家能否确认是否为#1。 数据传输必须在一组读取-修改-写入操作中填充和传输整个 MACData 缓冲区(32字节)。  部分传输(如上面长度为0x05的示例)不起作用?
    2. 如果1中的答案是部分传输、则可以完成。 那么下一个问题是

      在 BQ27220 TRM 第65/88页应用示例中,我需要在步骤13更新“Data_len”。 如何计算此“Data_len”? 在步骤8中读取的值是否相同、或者我们需要根据中间步骤9至12来计算它? 我看不到第9步到第12步更改了 DATA_LEN 值。 这是否意味着 DATA_LEN 与在步骤8和步骤13中读取的值相同?    

    此致、
    公里/小时