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.

[参考译文] BQ7835-R1:无法获取验证密钥

Guru**** 2527390 points
Other Parts Discussed in Thread: BQSTUDIO, EV2400

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1086215/bq78350-r1-unable-to-fetch-authentication-key

部件号:BQ7835-R1
主题中讨论的其他部件: BQSTUDIOBQ261EV2400

大家好,我们正在使用BQ7835-R1进行电池管理。 出于测试目的,我们已通过EV2300将该模块连接到PC。  

在PC端,我们使用 的是电池管理工作室( bqStudio )  1.3 .101.根据我们的要求,我们必须验证电池是否连接到我们的PCB。 因此,要进行身份验证,我们需要默认的身份验证密钥。

使用BQStudio,我们无法获取身份验证密钥。 所以我们需要帮助。

 

正在等待您的善意回复

谢谢,顺祝商祺

Tapasendra Datta

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

    Tapasendra,您好!

    下面的线程可能很有帮助:

    https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/706663/bq78350-r1-bq78350-r1-reading-unseal-and-fullaccess-key-and-changing-them</s>7.8357835

    https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/714232/compiler-bq78350-r1-bq78350-r1</s>7.8357835

    此致,

    马特

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

    Matt Sunna,您好!

    感谢您的回复,

    此链接用于密封或解除设备封条,但我们需要验证密钥,因此请发送有关详细信息,根据数据表,我们将0037传递给Manufacturing access-(),但我们仍然没有获得16字节验证密钥。

    正在等待您的善意回复

    谢谢,顺祝商祺

    Tapasendra Datta

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

    Tapasendra,您好!

    默认的打开密钥为4143672,完全访问密钥为FFFF FFFF。

    如果您修改了密钥,则无法读取密钥(这将不安全,因为有人可以读取您编程的密钥)。 命令0x0037用于对新密钥进行编程,而不是读取密钥。

    此致,

    马特

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

    Matt Sunna,您好!

    感谢您的回复,

    好的,但我不想创建一个新密钥,只是想读取它,以便在主机中对BMS进行编程。

    如何读取密钥?

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

    0x00 ManufacturerAccess()中不接受验证密钥的命令0X0037,是否有方法通过0X44 ManufacturerBlockAccess()进行检查?

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

    餐前小吃,

    正如我之前所说的,没有办法阅读密钥。 命令0x0037仅用于更改密钥。

    此致,

    马特

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

    Matt Sunna,

    请检查,我对bqstdio验证技术感到困惑。

    我附上了Mya帮助你的文件

    thankyoue2e.ti.com/.../Authentication.txt

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

    餐前小吃,

    我不熟悉这份文件。 更改验证密钥后是否无法打开设备封条? 正如我之前所说,您无法读取密钥。 请帮助我了解您正在尝试做什么。

    谢谢!

    马特

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

    您好,

     我们可以在更改验证密钥后解除设备的封条。 我们的工作是通过编程方式将20字节消息发送到bq7835-R1 ,并像BMS软件一样接收生成的SHA1加密消息。 现在,在我们的软件中,我们还应该计算相同的,并与接收的数据进行比较。

    在这种情况下,我们使用的是通用SHA 1代码和我们 正在进行的练习。 但输出不同。  

    因此,我们希望在本次SHA1实施中获得适当的支持。

    参阅 "BQ7835-R1技术参考,第页 75英寸和“如何为bq261实施SHA-1/HMAC身份验证(修订版 a)"文档。  

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

    你好,Tapas

    仅供您和其他人参考,这里有一个关于SHA1实施的良好E2E线程: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/886762/bq28z610-faq-bq28z610-authentication-flow/3279096#3279096</s>3279096 3279096

    我使用bqStudio和其他一些工具(使用Crypto.Hash SHA库的Python 2和在线计算器)进行了检查,并使用以下密钥和挑战从两者中获得相同的值:

    密钥 =            '01000000000000000000000000000001'
    挑战 =      'C82CA3CA10DEC7268E070A7CF0D1FE8220AAD3B8'
    Python库:
    First full hash: 01000000000000000000000000000001C82CA3CA10DEC7268E070A7CF0D1FE8220AAD3B8
    SHA1 first digest: 676e7e3a5224fa67c45cb8cc6ce320d65703e43d
    SHA1 TI-HMAC: da9fc5d2700bd2274904b997149cd2e7ac736d53
    填充使用库添加到第一个散列输入。 在线工具编码错误或其他细微差异会导致计算错误,这种情况非常常见。
    将此在线计算器与Hex类型I一起使用时,获得了相同的结果: https://emn178.github.io/online-tools/sha1.html
    此致,

    Wyatt Keller

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

    您好,Wyatt:

    感谢您的好回复。 它的工作。

    我还有一个疑问,就是如何通过SPI/UART通道以编程方式传输块数据?   

    因为我们使用2F地址位置进行身份验证(BQ7835-R1)。 现在 ,我们将使用" B8 D3 AA 20 82 FE D1 F0 7C 0A 07 8E 26 C7 DE 10 CA A3 2C C8 2F"/" 2F B8 D3 AA 20 82 FE D1 F0 7C 0A 07 8E 26 C7 DE 10 CA A3书写成组写 2C C8 "。 BUR未获取任何数据。 块可读取但块写入无法处理。

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

    你好,Tapas

    您能否澄清您的问题? 从该示例看,这两个命令都已成功发送和接收。 请确保关闭自动刷新,并且在4秒钟内不发送任何其他有关身份验证的命令。

    此致,

    Wyatt Keller

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

    您好,Wyatt:

    实际上,我的问题是如何将块写入命令发送到BQ? 我们制造了自己的电源板(智能),它将通过SMBus与另一个板(BQ芯片存在和第三方板)通信。 现在要求验证BQ设备。 在这种情况下,我们将写入Address并通过SMBus读取数据。 但是对于块写入,如何发送? 我们无法 实现。

    分享了一些示例,   现在 ,我们将使用" B8 D3 AA 20 82 FE D1 F0 7C 0A 07 8E 26 C7 DE 10 CA A3 2C C8 2F"/" 2F B8 D3 AA 20 82 FE D1 F0 7C 0A 07 8E 26 C7 DE 10 CA A3书写成组写 2C C8"

    此处的"2F"是地址和 剩余数据。

    此致

    餐前小吃  

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

    你好,Tapas

    我仍然不确定我是否理解您的最终目标,读/写块似乎已成功发送,您应该能够使用返回的块数据通过密钥和消息验证量表。 您是否认为返回的数据与您之前编程的钥匙不匹配?

    此致,

    Wyatt Keller

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

    您好,Wyatt:

    到目前为止,我们正在使用PC软件,并通过EV2300向BQ芯片写入数据。 现在我必须用我的嵌入式软件替换PC软件和EV2300,该软件正在另一个微控制器中运行。 现在,我的嵌入式软件将通过SMBus线与BQ芯片通信。 使用此配置,我们将写入单个地址并读取正确的值。 但当我们要写入块(多个字节)时,我们不会接收数据。 样本块数据,如 “ B8 D3 AA 20 82 FE D1 F0 7C 0A 07 8E 26 C7 de 10 CA A3 2C C8 2F”或“2F B8 D3 AA 20 82 FE D1 F0 7C 0A 07 8E 26 C7 DE 10 CA A3 2C C8” 其中2F是地址,添加在Last或First中。

    谢谢,顺祝商祺

    餐前小吃

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

    你好,Tapas

    确认微控制器与TI工具链(EV2400和BQStudio)通信方式的最佳方法是使用逻辑分析器。 这样,您就可以看到协议中是否缺少一个字节或某些内容。

    根据SMBus规格:

    http://smbus.org/specs/smbus20.pdf

    此致,

    Wyatt Keller