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.

[参考译文] BQ40Z50:无法将 BQ40Z50置于完全访问模式。

Guru**** 2589300 points
Other Parts Discussed in Thread: BQSTUDIO, BQ4050

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1167817/bq40z50-not-able-to-put-the-bq40z50-in-full-access-mode

器件型号:BQ40Z50
主题中讨论的其他器件:BQSTUDIOBQ4050

大家好、

我尝试将芯片置于完全访问模式、但我只能进入非密封模式、我尝试了多种方法、但始终器件只进入非密封模式。

以下是我尝试的代码。 我正在 Arduino 中检查此操作。

1)

uint8_t un密封_access_cmd[6]={0x35、0x00、0x14、0x04、0x72、 0x36};
uint8_t full_access_cmd[6]={0x35、0x00、0xFF、0xFF、0xFF、0xFF、 0xFF};
uint8_t mode=0;

SMBus->writeBlock (gauge、0x44、&uns密封_access_cmd[0]、6);//更改 DA 配置
延迟(4500);


SMBus->writeBlock (gauge、0x44、&full_access_cmd[0]、6);
延迟(4500);
mode=check_access();

2)

uint8_t unsed_fullaccess_cmd[10]={0x35、0x00、0x14、0x04、0x72、 0x36、0xFF、0xFF、0xFF、0xFF};
uint8_t mode=0;

//smbus->writeBlock (gauge、0x44、&uns密封_fullaccess_access_cmd[0]、10);//更改 DA 配置
延迟(4500);
mode=check_access();

3)

uint8_t un密封_access_cmd[6]={0x35、0x00、0x14、0x04、0x72、 0x36};
uint8_t full_access_cmd[6]={0x35、0x00、0xFF、0xFF、0xFF、0xFF、 0xFF};
uint8_t mode=0;

SMBus->writeBlock (gauge、0x44、&uns密封_access_cmd[0]、6);//更改 DA 配置

SMBus->writeBlock (gauge、0x44、&full_access_cmd[0]、6);

mode=check_access();

上述情况均未显示器件进入完全访问模式。 有人能告诉我为什么我不能进入完全访问模式吗?

其他功能是正常工作的 WRT IC、我是说读取和写入都正常工作。

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

    由于每个微控制器的 SMBus 实现不同、因此很难从代码中知道总线上的输出是什么。

    您能否先从 bqStudio 高级通信选项卡尝试它? 如果不起作用、则提供每次写入时在屏幕上输入的数据的详细信息。 另请注意、2次写入0xFFFF 之间的延迟不得超过4秒

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

    您好!

    我对此几乎没有疑问、

    1)我们是否必须先输入 unsened 才能进入完全访问权限、或者直接输入完全访问权限(un密封->完全访问权限或直接访问到完全访问权限)。

    2) 2)我们是否需要将 像0x0414和0x3672这样的密钥写入同一地址。 这意味着、对于非密封访问、我需要先发送0035、再发送 0x0414 、再发送0035、再发送 0x3672 至0x44。 要实现完全访问、我需要发送 0035、然后 发送0x0414 、再发送0035、再发送 0x3672、 再发送0035、再发送0xFFFF、 再发送 0035、然后发送0xFFFF 至0x44 (用于生产块访问)。

    3) 3)如果情况不是这样、我需要发送 0035、然后 发送0x0414、接着 发送0x3672 、随后发送0xFFFF、再发送 0xFFFF 至0x44 (用于制造块访问)。

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

    1.首先输入未密封。 没有完全访问权限是不可能的

    2.密钥作为2个字发送到同一地址(MAC)。 测量仪表不使用0x35。

    请参阅 TRM 第 11.5.1节"完全访问"或"未密封"至"密封"

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

    对于 BQ4050 -R3、请参阅第11.5节。 它仅到11.2

    我是否可以参考任何参考代码?

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

    在 R3 TRM 中为第12.5节

    MAC 命令的示例位于15.1 0x00 ManufacturerAccess()和0x44 ManufacturerBlockAccess()中

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

    据说、要读取或写入完全访问密钥、我们必须 在 命令= 0x0035的情况下发送 SMBus 块写入。

    我有以下疑问:

    要解锁完全访问模式,我们必须发送  ManufacturerAccess()  0x0035安全密钥以及以下访问密钥:35、00、14、04、72、 36、FF、FF、FF。

    我们也可以按如下方式发送,而不使用 ManufacturerAccess() x00035安全密钥: 14、04、 72、36、 FF、 FF、 FF、FF。

    因为在我的实验中、前者目前还不工作。

     尚未试用过。 与其他功能不同、数据表中的关键部分似乎有些混淆。 请告诉我哪种方法是正确的。

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

    命令0x0035不用于解封。

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

    命令0x0035仅用于读取或更改密钥。 它不用于密封或解封。 按键用于解封。