作者: 朱明武(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显示绿色表示字节已经成功发送电量计。
按照第3节介绍的安全密码读取方法,读回密码检验密码是否修改正确。如下图3,在 Read Block 返回35 00 34 12 78 56 FF FF FF FF表示密码修改成功。
制定密码时要注意UNSEAL KEY的第一个字节与FULL ACCESS KEY的第一个字节不能相同。比如UNSEAL KEY 0x1234, 0x5678与FULL ACCESS KEY 0x1234, 0xFFFF的第一个字节相同为0x1234,因此这不是有效的密码。
审核编辑:何安
-
电源管理
+关注
关注
117文章
6548浏览量
147536
发布评论请先 登录
智慧暖通节能构建建筑热力系统“智慧大脑”
在物联网设备面临的多种安全威胁中,数据传输安全威胁和设备身份安全威胁有何本质区别?
基于才茂通信核心产品的燃气行业尾气与管道安全监测解决方案
工业互联网架构的安全层是如何保障网络安全的
索尼展示三层堆叠图像传感器技术,性能全方位提升
TC377配置SMU FSP时,如何配置频率参数;三种模式有何区别,配置上有何区别?
广州邮科万兆6光千兆48电工业级光纤交换机:三层功能如何重新定义网络智能化
鸿蒙NEXT-鸿蒙三层架构搭建,嵌入HMRouter,实现便捷跳转,新手攻略。(1/3)
安全生产调度管理系统的核心功能模块
DLPC3479图像模式和光控制模式的区别是什么?
ADS1274低速模式和高速模式的区别是什么?
DHCP在企业网的部署及安全防范
消息称三星正为苹果iPhone开发三层堆叠式相机传感器

三层安全模式的区别
评论