10842|5

2618

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

BQ40Z50-R2安全模式介绍及密码修改方法 [复制链接]

 

作者: 朱明武(Mingmo)

 

电量计有三层安全模式:SEALED(加锁), UNSEALED(解锁), FULL ACCESS(全访问)。在不同安全模式下切换需要不同的安全密码。下面以BQ40Z50-R2为例(BQ40Z50-R1/R2/R3均适用)介绍三层安全模式的区别、模式切换方法、如何读取密码及如何修改密码。

 

1、三层安全模式的区别

不同安全模式下电量计的信息访问权限不同。

SEALED(加锁)模式下,标准SBS命令(Command)可以访问、部分扩展命令(Extended Command)不能使用、不能读写Data Memory参数(不能导出导入GG文件)、不可以烧录CHEM ID、不能烧录或导出固件(FW)。具体SBS命令访问权限请参考电量计技术参考手册(Technical Reference Manual),里面ManufacturerAccess() Command List表格的Available in SEALED Mode标记了能否访问。

UNSEALED(解锁)模式下,标准SBS命令(Command)可以访问、部分扩展命令(Extended Command)不能使用、可以读写Data Memory参数(可以导出导入GG文件)、可以烧录CHEM ID、不能烧录或导出固件 (FW)。

FULL ACCESS(全访问)模式下,所有SBS命令(Command)可以访问、可以读写Data Memory参数(可以导出导入GG文件)、可以烧录CHEM ID、不能烧录或导出固件 (FW)。BQ40Z50-R2从TI出货时默认是FULL ACCESS(全访问)模式。

2、三层安全模式之间切换方法

2.1 从FUll ACCESS or UNSEALED 进入 SEALED

往ManufacturerAccess()发送命令 0x0030 即可让BQ40Z50-R2进入SEALED(加锁)模式。通过检查旗标OperationStatus()[SEC1, SEC0] = 1,1.可以判断电量计处于SEALED(加锁)模式。

注意,如果该电量计的SREC固件曾经加锁过,那么在FULL ACCESS or UNSEALED模式下发送复位命令或导出SREC固件后都会使得电量计加锁,进入SEALED模式。

        2.2 从SEALED 进入UNSEALED

从SEALED 进入UNSEALED需要往ManufacturerAccess()发送两个字的UNSEAL KEY密码。默认UNSEAL KEY第一个字是0x0414,第二个字是0x3672。先发送第一个字,接着在4秒内发第二个字,中间不能有其它命令读写电量计。通过检查旗标OperationStatus()[SEC1, SEC0] = 1,0.可以判断电量计处于UNSEALED(解锁)模式。

         2.3从UNSEALED 进入FULL ACCESS

从UNSEALED进入FULL ACCESS需要往ManufacturerAccess()发送两个字的FULL ACCESS KEY密码。默认FULL ACCESS KEY第一个字是0xFFFF,第二个字是0xFFFF。先发送第一个字,接着在4秒内发第二个字,中间不能有其它命令读写电量计。通过检查旗标OperationStatus()[SEC1, SEC0] = 0,1.可以判断电量计处于FULL ACCESS(全访问)模式。

3、如何读取安全密码

在解锁模式下用ManufacturerAccess() 0x0035命令读取安全密码(Security Keys)。

首先,打开bqStudio的Advanced Comm SMB界面,配置Target Addr = 16 (Hex);在Write Block 位置输入 44(Hex),在 Block中输入 35 00 ,然后点击Write Block 按钮。

然后,在 Read Block 位置输入 44(Hex),点击 Read Block按钮,即可读取电量计的安全密码。返回的数据以小端序显示,即低字节在前、高字节在后。比如下图1,返回14 04 72 36 FF FF FF FF,其中0414是UNSEAL KEY的第一个字节,3672是UNSEAL KEY的第二个字节,FFFF是FULL ACCESS KEY的第一个字节,最后一组FFFF是FULL ACCESS KEY的第二个字节。

 图1 读取密码

 

4、如何修改安全密码

 

在解锁模式下用ManufacturerAccess() 0x0035命令修改安全密码(Security Keys)。下面举例把BQ40Z50-R2默认UNSEAL KEY密码0x0414, 0x3672修改为0x1234, 0x5678,保留FULL ACCESS KEY(默认0xFFFF, 0xFFFF)不变。

 

打开bqStudio的Advanced Comm SMB界面,配置Target Addr = 16 (Hex);在Write Block 位置输入 44(Hex),在 Block中输入 35 00 34 12 78 56 FF FF FF FF,然后点击Write Block 按钮,如图2所示。 Transaction Log显示绿色表示字节已经成功发送电量计。


 图2 修改密码

 

按照第3节介绍的安全密码读取方法,读回密码检验密码是否修改正确。如下图3,在 Read Block 返回35 00 34 12 78 56 FF FF FF FF表示密码修改成功。

 图3 确认密码

 

 

制定密码时要注意UNSEAL KEY的第一个字节与FULL ACCESS KEY的第一个字节不能相同。比如UNSEAL KEY 0x1234, 0x5678与FULL ACCESS KEY 0x1234, 0xFFFF的第一个字节相同为0x1234,因此这不是有效的密码。

 

最新回复

很好的知识点,非常感谢分享,楼主辛苦了,顶起!   详情 回复 发表于 2021-12-21 17:42
点赞 关注(2)
 

回复
举报

164

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

谢谢分享!

 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(初级)

4
 

谢谢分享

 
 
 

回复

2万

帖子

341

TA的资源

版主

5
 

图好确实是没显示

 
 
 

回复

32

帖子

0

TA的资源

一粒金砂(中级)

6
 

很好的知识点,非常感谢分享,楼主辛苦了,顶起!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表