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.

[参考译文] CCS:bq20z45R1 v1.05

Guru**** 2478765 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/687200/ccs-bq20z45r1-v1-05

工具/软件:Code Composer Studio

您好!  

我正在进行通信以使用 C#开发软件来创建文件... 看起来很好、但我遇到问题、请获取 CCGain。。。  

我在偏移0、 239、3、34、5中获取这些值

有什么想法吗?

这是我的代码:

EV23K.WriteSMBusWord (short.parse ("0077"、System.Globalization.NumberStys.HexNumber)、short.parse (104、System.Globalization.NumberStys.HexNumber)、0x17);
EV23K.ReadSMBusBlock (short.parse (0078、System.Globalization.NumberStyes.HexNumber)、ref nBlock、ref nLen、0x17);

double Exp=short.parse (Block[0].ToString ());
Exp = MATM.Pow (2、(Exp - 128 - 24));

VAR nBlock =新列表 (块);
nBlock.RemoveAt (0);
Block = nBlock.ToArray();

block[0]= Convert.ToByte (short.parse (block[0].ToString ()+ 128);

StringBuilder 十六进制=新的 StringBuilder (Block.Length * 2);
foreach (块中的 var Byts)
hex.AppendFormat ("{0:X2}"、Byts);

double x =(Convert.ToDouble(Int32.parse (Hex.ToString()、System.Globalization.NumberStyles.HexNumber)));
结果=(9.418869838535785675048828125/(x * Exp)).ToString();

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Hector、您好!
    您的帖子已分配给我们的 BMS 专家之一。

    此致、
    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Hector、您好!
    下面是将原始十六进制字节转换为 bq20z 器件上的 CC 增益的伪代码:
    尾数=(数字和0x7FFFFF)* 2.0^-24 + 0.5
    如果数字为-1、则符号为0x800000、否则为1
    EXP=((号码>>>>24)& 0xFF)- 0x80
    raW_value= 9.419/(符号* 2^exp *尾数)

    但对于0xEF032205 (从239、3、34、5转换为十六进制)
    尾数=(0xEF032205 & 0x7FFFFF)* 2.0^-24 + 0.05 = 205317*2^-24+0.05 = 0.01223+0.5 = 0.51223
    符号= 1
    Exp = 111
    RAW_VALUE = 9.419/(1.33 * 10^33)= 0

    该值看起来无效。

    我已经检查了 EVM、并获得了以下检查结果:
    80 71 20 5B
    尾数=(0x8071205B & 0x7FFFFF)* 2.0^-24 + 0.05 = 7413851*2^-24+0.5 = 0.4419+0.5 = 0.9419
    符号= 1
    Exp = 0
    原始值= 9.419/(1*2^0*0.9149)= 9.419/0.9419 = 10

    80 48 F0 4C
    尾数=(0x8048F04C& 0x7FFFFF)* 2.0^-24 + 0.05 = 4780108*2^-24+0.5 = 0.2849+0.5 = 0.7849
    符号= 1
    Exp = 0
    原始值= 9.419/(1*2^0*0.9149)= 9.419/0.7849 = 12

    您能否检查您是否正在读取正确的子类 ID (必须转换为十六进制)和偏移?
    此致、
    Swami