移动设备的电池组认证的制作方法

文档序号:5102242阅读:185来源:国知局
专利名称:移动设备的电池组认证的制作方法
技术领域
这里所描述的实施例涉及一种含有智能电池的移动设备。
背景技术
诸如移动无线设备或个人数据助理之类的外围设备可以由内部 装置(例如内部电池组)供电。内部电池组是一个或更多个电池的集 合,并提供一定的蓄电量。不同的电池组具有不同的蓄电量、不同的 端接电压(例如4.2V和4.4V)以及不同的充电/放电特性。典型地, 电池组包含用于指示电池类型的电池ID电阻器,根据这个电池ID电
阻器可以查明电池组的蓄电量。
由于各方面的原因,蓄电量和电池类型十分重要。例如,如果电 池是可再充电的,则以适当的速率将电池充电至适当的蓄电量十分重 要。如果电池过充电,则可能损坏电池和使用电池的移动设备。由于
市场上假冒电池的数量越来越多,这种情况发生的可能性也越来越大。 对于具有电池ID电阻器的电池组,很容易读出电池ID电阻器的电阻
值,并利用具有相同电阻值的另一个电阻器制造出假冒电池组。然而, 假冒电池以及某些第三方的非接权电池通常达不到正品电池的蓄电 量,可能没有所需的安全保护电路,并且可能不兼容移动设备所采用 的充电方式,因此很可能在充电或正常使用过程中出现严重故障。对 付假冒电池组的一种方法是使用包括可用于提供安全能力的嵌入式微 处理器的"智能电池"。
此外,移动无线设备通常保存不同的可用电池组的信息。例如,移动无线设备可以保存与各种电池组的充电/放电特性有关的信息。该 信息可以釆用査找表(LUT)的形式,其中査找表提供了蓄电量和电
压信息间的关系。移动无线设备可以利用LUT中的信息来计算并向移 动无线设备用户显示电池蓄电量信息。然而,由于对于新上市的电池 而言,存储在移动无线设备上的电池信息是过时的,因而, 一旦将新 款移动无线设备投入市场,就很难保持移动设备与新款电池之间的兼 容性。各类电池都具有电池监控软件须知的唯一特性。安装在移动无 线设备上的电池监控软件必须能够区分不同的电池组,以便能够根据 最大充电速率为电池组充电,并使用电池组类型所特有的电池曲线。 为了能够更换安装在设备中的电池,并且使用户将来能够在更换电池 时不引起问题,这一点是十分必要的。可以通过软件升级来实现数据 更新,但用户会发现更新其移动无线设备十分不便。

发明内容
在一个方案中,这里所描述的至少一个实施例提供了一种移动通
信设备,其包括主处理器,用于控制移动通信设备的操作;设备存
储器,耦合至主处理器,适于存储认证所用的第一和第二部分安全信
息;以及智能电池,连接至主处理器,适于为移动设备供电。智能电 池包括电池处理器,用于控制智能电池的操作,并与主处理器进行 通信;以及电池存储器,耦合至电池处理器,适于存储包括认证所用 的第三部分安全信息的信息。将主处理器配置为向电池处理器发送包 括第一部分安全信息的认证请求,将电池处理器配置为基于第一和第 三部分安全信息产生响应,并将产生的响应发送至主处理器,其中, 如果产生的响应与第二部分安全信息匹配,则智能电池就可以通过认 证。
第一和第二部分安全信息不同于第三部分安全信息。 第一部分安全信息包括预先计算的挑战,第二部分安全信息包 括通过利用加密方法和私钥对预先计算的挑战加以运算产生的相应 的预先计算的响应,第三部分安全信息包括加密方法和私钥,其中只 将加密方法和私钥存储在智能电池中。电池处理器被配置为在主处理器发出认证请求以后,基于预先 计算的挑战、私钥以及加密方法产生响应,其中如果产生的响应与存 储在设备存储器上的相应的预先计算的响应匹配,则智能电池就可以 通过认证。
与存储在其他类似移动通信设备中的第一和第二部分安全信息 相比,存储在设备存储器中的第一和第二部分安全信息可以是唯一 的。
主处理器可被配置为在智能电池认证失败时,允许在欠压状态 下将智能电池最多充至最低蓄电量。
备选地,主处理器可被配置为在智能电池认证失败时,允许移 动设备继续工作一段有限的时间,但不允许给智能电池充电。
可以在设备存储器上存储数组第一和第二部分安全信息,并且可 以将主处理器配置为利用所述数组第一和第二部分安全信息中的一组 或更多组来对智能电池执行认证。
主处理器和智能电池可以通过数据线耦合,数据线可以具有大约 每秒300比特的最大数据速率。
在另一个方案中,这里所描述的至少一实施例提供了一种用于认 证供移动通信设备使用的智能电池的方法,该移动通信设备包括主 处理器、设备存储器以及智能电池,智能电池包括电池处理器和电池 存储器。该方法包括
在设备存储器上存储认证所用的第一和第二部分安全信息;
在电池存储器上存储第三部分安全信息; 从主处理向智能电池发送认证请求和第一部分安全信息; 基于第一和第三部分安全信息产生响应,并将产生的响应发送给
主处理器;以及
在主处理器处将产生的响应与第二部分安全信息进行比较,如果 产生的响应与第二部分安全信息匹配,则智能电池可以通过认证。
第一部分安全信息包括预先计算的挑战,第二部分安全信息包 括通过利用加密方法和私钥对预先计算的挑战加以运算产生的相应 的预先计算的响应,第三部分安全信息包括加密方法和私钥。
在认证失败的情况下,该方法可以包括重复多次认证过程,以确保认证失败不是由主处理器与电池处理器之间的数据传输的数据传输 错误导致的。
该方法可以包括在设备存储器上存储不同于存储在其他类似移 动通信设备中的第一和第二部分安全信息的、唯一的第一和第二部分 安全信息。
该方法可以包括如果智能电池认证失败,则允许在欠压状态下 将智能电池最多充到一个最低蓄电量。
该方法可以包括如果智能电池认证失败,则使得移动设备能够 继续工作一段有限的时间,但不允许给智能电池充电。
该方法可以包括在设备存储器上存储数组第一和第二部分安全 信息,并利用所述数组第一和第二部分安全信息中的一组或更多组来 对智能电池进行认证。
该方法可以包括利用数据线耦合主处理器和智能电池,该数据 线具有大约为每秒300比特的最大数据速率。
该方法可以包括在认证失败时,禁止为智能电池充电。
该方法可以包括对预先计算的挑战加密。
该方法可以包括针对预先计算的挑战,产生一个随机数。
在另一个方案中,这里所描述的至少一实施例提供了一种制造供 移动通信设备使用的智能电池的方法。该方法包括为智能电池指定通信和安全协议,以使得移动设备能够与智能电 池进行通信,并使得移动设备能够对智能电池进行证;
组装智能电池;
在智能电池上实现安全和通信协议,包括.*只将私钥和加密方法
存储在智能电池内的安全存储器上;
在移动设备上存储与私钼和加密方法相对应的挑战和响应对;以

测试移动通信与智能电池之间的安全和通信协议。


为了更好地理解这里所描述的实施例,并更清楚地说明它们的实现方式,下面将仅作为示例参考示出了典型实施例的附图,在附图中 图1是移动通信设备的示例性实施例的框图2是图1中的移动通信设备通信子系统组件的示例性实施例的 框图3是图1中的移动通信设备可以与之进行通信的无线网络节点 的示例性实施例的框图4是可用于图1中的移动通信设备的一般智能电池的示例性实 施例的框图5A是可用于图1中的移动通信设备的、用于将主处理器耦合 至智能电池的电池接口的一部分的示例性实施例的示意图5B是可用于图1中移动通信设备的、用于将主处理器耦合至 智能电池的电池接口的一部分的另一示例性实施例的示意图5C是智能电池的另一示例性实施例的一部分的示意图6A是可用于图1中的移动通信设备的主处理器与电池处理器 之间的通信的分组的一般结构的示例性实施例的框图6B是可用于协议版本请求或电池信息请求的分组的示例性实 施例的框图6C是协议版本响应分组的示例性实施例的框图6D是可用于电池认证挑战、电池认证响应或电池信息响应的
分组的示例性实施例的框图7A是电池信息数据结构的示例性实施例的框图7B是电池充电/放电数据结构的示例性实施例的框图8是图1中的移动通信设备的主处理器所采用的、用于认证智
能电池的认证过程的示例性实施例的流程图 ,
图9是示出了具有智能电池的移动通信设备的典型操作的流程
图,其中智能电池可能是正品也可能是假冒产品;以及
图10是用于制造具有智能电池的移动通信设备的示例性制造过
程的流程图。
下面将对示例性实施例的上述和其他特征予以更为详细的说明。
具体实施方式
应当理解的是,为了使说明简洁清晰,在认为适当的情况下,可 以在附图中重复附图标记,以指示相应的或相似的元件或步骤。此外, 为了提供对这里所描述的实施例地彻底理解,提出了大量具体细节。 然而,本领域的技术人员应理解,这里所描述的实施例可以在没有这 些具体细节的情况下实现。在其他实例中,为避免混淆这里所描述的 实施例,并未对公知方法、过程和组件进行详细描述。此外,本描述 不应被认为以任何方式限制了这里所描述的实施例的范围,而是仅仅 描述了这里所描述的各个实施例的实现。此外,术语电池组指具有一 个或更多个电池的电池组。这里所描述的实施例通常在针对使用"智能电池"的移动通信设 备的数据通信领域中具有实用性,该智能电池是电池处理器以及使智 能电池能够同移动设备进行通信的其他有关电路的电池。可以在电池 处理器与移动设备的处理器之间传递各类信息。为便于理解,正如以 下将更详细地予以描述的那样,将根据具有主处理器、电池接口以及 智能电池的移动无线通信设备来描述这里所给出的实施例,其中智能 电池具有电池处理器及有关电子装置。然而,应理解,还可以将这里 所描述的实施例的结构和功能应用于用来给智能电池充电的电池充电 器。实施例通常利用移动通信设备(以下称为移动设备),即具有能 够以无线或有线方式同包括其他移动通信设备在内的其他计算设备进 行通信的高级数据通信能力的双向通信设备。移动设备可以通过收发 信站点的网络同其他设备进行通信。移动设备还可以具有语音通信能 力。然而,根据移动设备所提供的功能及移动设备的结构,移动设备 可以指数据消息收发设备、具有数据消息收发能力的蜂窝电话、无线 组织器、无线互联网设备、个人数字助理、智能电话、手持无线通信 设备(具备或不具备电话功能)、具有无线通信能力的笔记本电脑等。首先参照图1,图1示出了一个示例性实现中的移动设备ioo的 框图。移动设备ioo包括许多组件,控制组件是控制移动设备ioo的总体操作的主处理器102。通过通信子系统104实现包括数据和语音通信在内的通信功能。通信子系统104自/至无线网络200接收/发送 消息。在移动设备100的某些实现中,按照全球移动通信系统(GSM) 和通用分组无线业务(GPRS)标准来配置通信子系统104。GSM/GPRS 无线网络可以在全世界范围内使用。其他可以使用的标准包括增强型 数据速率GSM环境(EDGE)、通用移动通信服务(UMTS)、码分多 址(CDMA)和智能数字增强型网络(iDEN )标准。目前仍在制定 新标准,然而相信新标准将具有同这里所描述的网络相似的网络行为, 因而本领域的技术人员应理解,这里所描述的实施例可以采用将于未 来开发出来的其他合适的标准。连接通信子系统104与无线网络200 的无线链路表示根据为GSM/GPRS通信指定的规定协议操作的一条 或更多条不同的射频(RF)信道。利用较新的网络协议,上述信道能 够支持电路交换语音通信和分组交换数据通信。尽管在某些实现中与移动设备100相关联的无线网络200是 GSM/GPRS无线网络,然而在其他实现中还可以将其他无线网络与移 动设备100相关联。可以采用的不同类型的无线网络包括例如以数 据为中心的无线网络、以语言为中心的无线网络以及能够通过相同的 物理基站同时支持语音和数据通信的双模网络。组合的双模网络包括, 但不局限于码分多址(CDMA)或CDMA2000网络、iDEN网络、 GSM/GPRS网络(如上所述)、以及如同EDGE和UMTS —样的未来 第三代(3G)网络。以数据为中心的网络的一些其他示例包括WiFi 802.11、 MobitexTM以及DataTACTM网络通信系统。其他以语音为中心 的数据网络的示例包括如同GSM和时分多址(TDMA)系统--样 的个人通信系统(PCS)网络。主处理器102还与附加子系统交互,例如随机存取存储器(RAM) 106、设备存储器108、显示器110、辅助输入/输出(I/O)子系统112、 数据端口 114、键盘116、扬声器118、麦克风120、短距离通信122 以及其他设备子系统124。移动设备100的某些子系统执行与通信有关的功能,而其他子系 统可以提供"驻留"或设备上功能。作为示例,可以将显示器110和键 盘116用于通信相关功能(例如输入用于通网络200传输的文本消息)以及设备驻留功能(例如计算器或任务列表)。典型地,将主处理器102所使用 的操作系统软件存储于永久性存储器,例如设备存储器108,该永久性存储器备选地可以是只读存储器(ROM)或类似的存储元件(未示出)。在某些 情况下,设备存储器108可以是闪存。本领域技术人员将理解,可以将 操作系统、特定的设备应用、或者它们的一部分暂时加载到诸如RAM 106 的易失性存储器中。在完成了所需的网络注册或激活程序之后,移动设备100可以通过无线 网络200发送并接收通信信号。网络接入与移动设备層的订户或用户相关 联。为了识别订户,移动设备100可以要求将SIM/RUIM卡126 (即,用 户识别模块或可移动用户识别模块)插入到SIM接口 128中,以便与网 络进行通信。因而,SIM卡/RUIM 126和SIM/RUIM接口 128完全是可 选的。SIM卡或RUIM 126是一种传统的"智能卡",可用于识别移动设 备100的订户,并对移动设备100进行个性化设置等等。在没有SIM 卡126的情况下,移动设备100无法完全操作用于与无限网络200的通 信。将SM卡/RUIM126插入SIM接口 128之后,订户可以访问所有订购 的服务。服务可以包括web浏览以及诸如电子邮件、语音邮件、短消息服 务(SMS)、以及多媒体消息收发服务(MMS)之类的消息收发。更多的高 级服务可以包括销售点、现场服务以及销售自动化。SM卡/RUlM 126 包括处理器以及用于存储信息的存储器。一旦将SM卡/RU!M 126插入SM 接口128,则其与主处理器102相耦合。为了识别订户,SM卡/RUM126 包含一些用户参数,例如国际移动用户识别码(MSI)。使用SM卡/RUM 126的优点是订户不需要绑定于任意单一的物理移动设备。SM卡/RUIM 126还可以为移动设备存储附加订户信息,包括记事簿(或日历)信息和最 近的通话信息。备选地,还可以将用户识别信息写入设备存储器108。移动设备100是电池供电设备,并且可以包括用于与智能电池130 进行接口的电池接口 132。在这种情况下,电池接口 132还耦合至电 源管理模块134,后者用于协助电池130给移动设备IOO供电。主处 理器102还可以耦合至电源管理模块134以共享信息。然而,在备选 实施例中,可以通过智能电池130来提供电池接口 132;下面将更详细地对这两种组件予以说明。除了其操作系统功能以外,主处理器102还启动了软件应用136 在移动设备100上的执行。通常在其制造过程中,将用于控制基本设备操作的、包括数据和语音通信应用在内的软件应用子集136安装在 移动设备100上。软件应用136可以包括电子邮件程序、web浏览器、 附件阅览器等。移动设备100还包括设备状态模块138、地址簿140、个人信息 管理器(PIM) 142以及其他模块144。设备状态模块138能够提供永 久性,即设备状态模块138确保重要设备数据存储在永久性存储器(例 如设备存储器108)中,以免在关闭移动设备100或移动设备100掉 电时丢失这些数据。地址簿140可以提供用户联系人列表的信息。对 于地址簿中的给定定联系人,该信息可以包括该联系人的姓名、电 话号码、工作地址和电子邮件地址等信息。除了可以同SIM/RUIM接 口 128结合使用的其他模块,其他模块144还可以包括配置模块(未 示出)。PIM 142具有用于组织管理用户感兴趣的数据项的功能,例如, 但不局限于电子邮件、日历事件、语音邮件、约会、任务项。PIM 应用具有通过无线网络200发送和接收数据项的能力。可以通过无线 网络200将PIM数据项与所存储的和/或与主机系统相关联的移动设 备订户的相应数据项进行无缝合并、同步以及更新。该功能在移动设 备IOO上创建了关于上述项目的镜像主机。当主机系统是移动设备订 户的办公计算机系统时,这样做可能特别有利。还可以通过无线网络200、辅助1/0子系统112、数据端口 114、 短距离通信子系统122或任意其他适当的设备子系统124中的至少一 个,将附加应用程序加载到移动设备IOO上。应用程序这种灵活的安 装方式扩展了移动设备100的功能,并可以提供增强型设备上功能、 通信相关功能或同时提供两种功能。例如,安全通信应用可以使用户 能够使用移动设备IOO执行电子商务功能和其他此类金融交易。数据端口 114使用户能够通过外部设备或软件应用设置偏好,并 通过提供到移动设备100的信息或软件下载(而不是通过无线网络)来扩展移动设备100的能力。例如,备选的下载路径可用于通过直接并因此可靠 且可信的连接来将密钥加载到移动设备100,以提供安全设备通信。数据端口 H4可以是启动移动设备IOO与另一计算设备之间的数据通信的任意适当的端口。该数据端口可以是串行或并行端口。在某些实例中,数据端口 114可以是包括数据线以及供电线路的USB端口 , 其中,数据线用于传输数据,供电线路能够提供充电电流为移动设备 IOO充电。短距离通信子系统122可以在不使用无线网络200的情况下使移 动设备IOO能够和不同的系统或设备进行通信。例如,短距离通信子 系统122可以包括用来实现短距离通信的红外设备及相关电路和组 件。短距离通信标准的示例包括红外数据协会(IrDA)所开发的标 准-,蓝牙、以及IEEE所开发的802.11标准族。使用时,通信子系统104将对诸如文本消息、电子邮件消息或所 下载的网页之类的接收信号进行处理,并将处理结果输入主处理器 102。然后,主处理器102将对接收到的信号进行处理,并将处理结果 输出至显示器110或备选地输出至辅助I/O子系统112。订户还可以例 如将键盘116同显示器110可能还有辅助I/O子系统112结合使用, 来构成诸如电子邮件消息之类的数据项。辅助子系统112可以包括例 如触摸屏、鼠标、跟踪球、红外指纹检测器或具有动力学按钮功能 的滚轮等设备。在优选情况下,键盘116是字母数字键盘和/或电话键 盘。然而,还可以使用其他类型的键盘。所构成的项可以通过通信子系 统104在无线网络200上传输。对于语音通信,除了要将接收信号输出至扬声器118,以及要用 麦克风120产生发送信号以外,移动设备100的总体操作基本同上面 类似。还可以在移动设备100上实现备选的语音或音频I/O子系统, 例如语音消息记录子系统。尽管主要通过扬声器118输出语音或音频 信号,然而还可以使用显示器IIO来显示附加信息,例如主叫方身份、通话持续时间或其他与语音呼叫有关的信息。下面参照图2,图2示出了图1的通信子系统组件104的示例性 实施例的框图。通信子系统104包括接收机150、发射机152以及关联组件,例如 一个或更多个嵌入式的或内置的天线154和156、本地振荡器(LO) 158以及用于无线通信的通信处理器160。通信处 理器160可以是数字信号处理器(DSP)。对于通信领域的技术人员而 言,显而易见的是,通信子系统104的具体设计可能取决于移动设备 100要工作于何种通信网络。因此,应当理解的是,图2所示的设计 方案仅仅是一个示例。将天线154经无线网络200接收到的信号输入接收机150,后者 可以执行诸如信号放大、下变频、滤波、信道选择以及模数(A/D) 转换等常见的接收机功能。接收信号的模数转换使通信处理器160能 够执行诸如解调和解码等更为复杂的通信功能。按照类似的方式,通过 通信处理器160对待发送信号进行包括调制和编码在内的处理。然后, 将这些经处理的信号输入发射机152进行数模(D/A)转换、上变频、 滤波、放大,并经由天线156通过通信网络200进行发送。通信处理 器160不仅处理通信信号,还为接收机和发射机提供控制。例如,可 以通过在通信处理器160中实现的自动增益控制算法来自适应地控制 在接收机150和发射机152中施加给通信信号的增益。移动设备100与无线网络200之间的无线链路可以包含 一条或 更多条不同的信道(典型地为不同的RF信道);以及移动设备100与 无线网络200之间所使用的关联协议。典型地,由于总带宽的限制以及 移动设备100的有限的电池电量,RF信道是必须节约的有限资源。当移动设备IOO全面操作时,发射机152—般仅在向无限网络200 发送时开启或打幵,而在其它时间关闭,以节约资源。同样,除非需要在 指定时段期间接收信号或信息(如果有的话),否则周期性地关闭接收机150 以节约电源。现在参照图3,无线网络200的节点的示例性实施例的框图表示 为202。实际上,无线网络200包括一个或更多个节点202。移动设备 100与节点202通信。在图3的示例性实现中,按照通用分组无线业 务(GPRS)和全球移动通信系统(GSM)技术对节点202进行配置。 节点202包括具有关联塔站206的基站控制器(BSC) 204、为了在 GSM网络中支持GPRS而添加的分组控制单元(PCU) 208、移动交换中心(MSC) 210、归属位置寄存器(HLR) 212、访问位置寄存器 (VLR) 214、服务GPRS支持节点(SGSN) 216、网关GPRS支持 节点(SGSN) 218以及动态主机配置协议(DHCP) 220。这一组件列 表并不是GSM/GPRS网络内的每一节点202的组件的完全列表,而是通常 用于通过无线网络200所进行的通信的组件列表。
在GSM网络中,MSC 210耦合至BSC 204及诸如公共交换电话网 (PSTN) 222之类的陆上网络,以满足电路交换的需求。通过PCU 208、 SGSN216和GGSN218到公共或专用网络(互联网)224 (这里也统称为共 享网络基础设施)的连接表示针对具有GPRS能力的移动设备的数据通路。 在已经扩展有GPRS能力的GSM网络中,BSC 204还包含分组控制单元 (PCU) 208, PCU 208连接到SGSN 216以控制分段、无线电信道分配并 满足分组交换的需求。为了跟踪移动设备的位置以及电路交换和分组交换管 理的可用性,在MSC 210与SGSN 216之间共享HLR 212。由MSC 210控 制对VLR 214的访问。
站206是固定收发站。站206和BSC 204—起构成固定收发装置。该 固定收发装置为特定覆盖区域(一般称为"小区")提供无线网络覆盖。该 固定收发装置通过站206向小区内的移动设备发送通信信号,并从小区内的
移动设备接收通信信号。该固定收发装置通常在其控制器的控制之下根据特 定的(通常为预定的)通信协议和参数对要发送到移动设备的信号执行如调 制、可能的编码和/或加密之类的功能。如果需要的话,该固定收发装置类 似地对从其小区中的移动设备100处接收到的所有通信信号进行解调、可能 的解码和解密。通信协议和参数可以在不同节点之间变化。例如, 一个节点 可以釆用不同于其他节点的调制方案,并操作于不同于其他节点的频率。
对于注册于特定网络的移动设备100,将诸如用户简档之类的永久配置 数据存储在HLR212中。HLR212还包括每一注册的移动设备的位置信息, 并可以被查询以确定移动设备的当前位置。MSC210负责一组位置区域,并 将当前存在于其负责的区域内的栘动设备的数据存储在VLR 214中。VLR 214还包含关于正在接入其它网络的移动设备的信息。VLR214中的信息包 括为了更快速接入而从HLR 212发送到VLR 214的永久移动设备数据的一 部分。通过将附加信息从远程HLR 212节点移到VLR 214,可以降低这些节点之间的业务量,因此可以为语音和数据服务提供更快的响应时间,同时 只需要使用更少的计算资源。
SGSN 216和GGSN 218是为了在GSM中支持GPRS而添加的元件; 即支持分组交换数据。SGSN 216和MSC 210通过保持对每个移动设备100 的位置的跟踪而在无线网络200内具有相似的责任。SGSN 216还执行安全 功能以及对网络200上的数据业务的接入控制。GGSN 218提供与外部分组 交换网络的网际互连连接,并通过操作于网络200内的互联网协议(IP)骨 干网连接到一个或更多个SGSN216。在正常操作期间,给定的移动设备100 必须执行"GPRS附着",以获取IP地址并接入数据服务。由于综合业务数 字网(ISDN)的地址用于路由来电和去电,因此在电路交换语音信道中不 存在这一需求。目前,所有具有GPRS能力的网络使用私有的、动态分配的 IP地址,因此需要将DHCP服务器220连接到GGSN 218。存在多种动态 IP分配机制,其中包括使用远程用户拨入认证系统(RADIUS)服务 器与DHCP服务器的组合。 一旦完成GPRS附着,则建立从移动设备 100通过PCU 208和SGSN 216到达GGSN 218内的接入节点(APN)的逻 辑连接。APN表示既可以直接接入互联网兼容服务也可以接入私有网络连 接的IP隧道的逻辑端点。由于必须为各移动设备100分配一个以上的 APN,并且如果不首先执行终止于APN的GPRS附着,移动设备IOO 就不能交换数据,因此APN还代表无线网络200的安全机制。可以认 为APN与互联网域名类似,例如"myconnection.wireless.com"。
一旦完成GPRS附着,则创建隧道,并使用IP分组中所支持的任意协 议来交换标准IP分组内的所有业务。这包括隧道方法,例如在以连同虛拟 个人网络(VPN) —起使用的某些EPSecurity (IPsec)连接的情况下的IP承 载IP (]PoverIP)。这些隧道也被称为分组数据协议(PDP)上下文,并且 网络200中这些可用隧道的数目是有限的。为了最大限度地利用PDP上下 文,网络200针对每一 PDP上下文运行一空闲定时器,以确定是否缺少活 动性。当移动设备100没有使用其PDP上下文时,可以释放该PDP上下文, 并将IP地址返回到DHCP服务器220所管理的IP地址池。
现在参照图4,图4示出了可用于移动设备100的智能电池130 的示例性实施例的框图。智能电池130包括电池处理器252、电池存储器254、电池接口 256、开关和保护电路258、包括模数转换器(未 示出)的测量电路260、以及电池模块262。电池模块262包括一个或 更多个通常可再充电的电池。电池可由镍铬、锂离子或其他合适的合 成材料等制成。在某些实现中,电池处理器252可以是美国Arizona, Chandler的Microchip所制造的PIC10F202。在这些情况下,可以将电 池处理器252上的一个通用输入/输出(GPIO)管脚连接至主处理器 102,以从主处理器202接收指令,并向主处理器102提供数据。
电池处理器252控制智能电池130的操作,并且可以通过电池接 口 256与主处理器102进行通信。电池处理器252包括寄存器、堆 栈、计数器、看门狗定时器以及本领域的技术人员所熟知的、处理器 常用的其他组件(未示出全部)。电池处理器250还可以包括时钟(未 示出)。智能电池130可以在电池存储器254中存储信息。电池存储器 254可以是易失性和非易失性存储器的组合。
智能电池130可以使用测量电路260来读取与电池模块262的操 作有关的某些数据,例如电池电流、电池电压、电池温度等。这些 测量可用于获得对电池模块262中的剩余蓄电量的准确估计。为了执 行这些测量,测量电路260包括模数转换器(ADC)(未示出)。由于 在备选实施例中,移动设备100可以包括用于执行测量电路260的功 能的电路,因而测量电路260可以是可选的。
开关和保护电路258可用于保护智能电池130。开关和保护电路 258可以起到断路器的作用,在某些情况下可由电池处理器252或主 处理器102来启动开关和保护电路258,以确保智能电池130不会在 使用中损坏。例如,开关和保护电路258可以包括热断路器,用于在 电池模块262温度过高时禁用智能电池130。假如其他保护电路出现 故障,则热断路器还可以在高电流负载的情况下断开智能电池130。 开关和保护电路258还可以防止短路、欠压状态、过压充电、电池130 极性反接等。因此,开关和保护电路258还可以在电池模块262的充 电、放电或预充电过程中使用,以及用于蓄电池组电池平衡。电池接 口 132中还可以包括附加保护电路。
电池模块262为电池处理器130供电,后者继而利用本领域技术人员公知的连接(例如系统电源总线),通过电池接口 256给主处理器
102供电。如果移动设备100包括可以提供与电池接口 256相同的功 能的电池接口 132,则电池接口 256是可选的。在对本示例性实施例 的描述的余下部分中,假定不存在电池接口 132,并假设智能电池130 提供电池接口 256,尽管在其他实施例中不必局限于这种情况。
现在参照图5A,图5A示出了可用于将主处理器102耦合至智能 电池130的电池接口 256的一部分的示例性实施例的示意图(未示出 电源连接)。传统的电池标识(即,型号、厂商等)方法只使用传统电 池组中的电池标识电阻器,该电池标识电阻器具有一条关联的电池ID 数据线。相应地,电池接口 256通过一条通信线路302将主处理器102 与智能电池130的电池数据传输线SMART_BAT相耦合。SMART—BAT 数据线连接至智能电池130上的输入/输出管脚。然而,智能电池130 被配置为与主处理进行通信,该主处理器与具有电池ID电阻器的电 池组或下面将更详细地予以描述的智能电池协作。
由于电池接口 256包括用于在主处理器102与电池处理器252之 间进行通信的单根通信线路302,并且由于主处理器102至/自电池处 理器252发送/接收数据,因而可以将通信线路302配置为半双工通信 线路。半双工通信线路的使用降低了对于主处理器102与电池处理器 252之间的更多通信线路的需求。
在操作过程中,在某一给定瞬时,数据沿半双工通信线路的一个 方向流动。相应地,将通信线路302同时连接至主处理器102的发射 和接收管脚304和306。在某些情况下,可以利用UART发射和接收 端口/管脚来实现主处理器102上的发射和接收管脚。主处理器102按 UART接口的常规使用方式来使用UART接口 ,但在发射管脚304发 射信号时不考虑接收管脚306。
此外,使用半双工通信要求在某一给定时刻主处理器102和电池 处理器252中只有一个进行通信。为此,可以将处理器102和252其 中之一定义为主设备,而将另一个定义为从属设备。通常,主处理器 102是主设备,电池处理器252是从属设备。
在某些实现中,智能电池130自动操作于最低功耗状态。这样做的另一个原因在于,不可能总存在连接至智能电池130、指示智能电
池130进入休眠模式的主处理器。为了解决上述问题,在某些实现中, 可以使用电池处理器252的看门狗定时器作为整个系统的重启/睡眠 机制,来获得低功耗和可靠性。然而,由于编码错误有可能导致在一 次循环中调用清空看门狗定时器的指令,因此,不应重置看门狗定时 器。当看门狗定时器数到零时,就重置移动设备100,移动设备100 重新启动。然而,如果必须要执行一个持续时间大于看门狗定时器/ 计数器的操作,则可以将看门狗定时器至少重置一次,以确保操作运 行至完成并且移动设备100不重新启动。
电池接口 256还包括保护电路,用于防止主处理器102受到通信 线路302上的静电放电(ESD)的破坏。在某些实现中,保护电路可 以是RC网络。在图5A的示例性实施例中,提供ESD保护的RC网 络包括电阻器R3和电容器C1。电阻器R2可用作上拉电阻器。电阻 器R2的第一节点连接至发射管脚304,电阻器R2的第二节点连接至 接收管脚306。电阻器R3的第一节点连接至电阻器R2的第二节点, 电阻器R3的第二节点连接至电容器C1的第一节点。电容器C1的第 二节点接地。在示例性实现中,电阻器R2可以具有lkQ的电阻,电 阻器R3可以具有150Q的电阻,电容器Cl可以具有15pF的电容。 电阻器R2的值取决于针对电池数据线所以选择的ESD网络(以下将 进一步予以讨论)。电阻器R2可以在主处理器102操作于接收模式时 起到上拉电阻器的作用。在本示例性实施例中,发射管脚304上的输 出电压可以是2.8V或2.6V,这取决于移动设备IOO所用的通信芯片 组。对于CDMA芯片组,可以采用2.6V的电压。
使用RC网络作为保护电路降低了通信线路302上的数据速率。 对于本示例性实现,数据速率的最大值大约为每秒300比特。然而, 从安全角度考虑,每秒300比特的数据速率的限制是有利的,这是由 于对于较低的数据速率,第三方将花费更长的时间才能"入侵"存储 在智能电池130上的安全算法。在某些实施例中,如果通过电池处理 器252来执行加密算法(即加密方法),则还可以调整加密方法的复杂 度,以延长算法执行时间,来对抗入侵。在某些情况下,电池处理器252可被配置为充当开漏器件,并将 上拉电阻器同主处理器02—起使用。这是因为存在VCC电平,所以电池处理器252的输出驱动电压可能会超过主处理器102的发射和接 收管脚304和306的额定电压。如果电池处理器252正在驱动将三态 缓冲器置于高阻态的高电平输出信号(即充当开漏),则可能出现这种 情况。由于发射线路304在高电平状态下空闲,因此可以将上拉电阻 器(即电阻器R2)置于主处理器102的发射和接收管脚之间。备选地,如果采用传统电池组,则可以通过在SMART一BAT线路 上传输来获得电池ID电阻器值。相应地,同样通过将电池ID电阻器 并入智能电池130,智能电池130既可与生产出来的、使用包含电池 ID电阻器的电池组的移动设备兼容,同时又与生产出来的、使用智能 电池130的移动设备兼容。应理解,电池ID电阻器被包含在智能电 池130中(即参见图5C)。为方便使用蓄电量各不相同的各种不同电池,可以为智能电池 130定义等式1-2所示的电压电流的最大最小逻辑电平,并为主处理 器102定义等式3-4所示的电压电流的最大最小逻辑电平。Vih = 0.25*Vdd + 0.8 V (1)Vil = 0.15*Vdd (2)Vil =0.3*(GPIO Vdd) (3)Vih =0.7*(GPIO Vdd) (4)例如,就端电压为4.4V(即,Vdd = 4.4V )的智能电池而言,Vih(max) =1.9V, Vil(max) = 0.66V。另外,对于以发射和接收管脚304和306 上的2.8V和2.6V的Vdd (具体取决于通信芯片组)进行操作的主处 理器而言,Vil(min)-0.78V, Vih(max) = 1.96V。现在参照图5B,图5B示出了可用于移动通信设备100的、用于 将主处理器102耦合至智能电池130的另一电池接口 350的示例性实 施例的示意图。在这种情况下,电池接口 350包括与电池接口 256 所用的RC网络类似的RC网络以及两个三态缓冲器354和356。电源 管理模块134通过输入管脚358连接至智能电池130的SMART—BAT 电池数据线。三态缓冲器能够根据控制输入值传递高或低逻辑电平信号,并且 可以将其输入端与输出端断幵。三态缓冲器354的输入节点连接至主处理器252的发射管脚304,通过电阻器R2将三态缓冲器354的输出 节点连接至通信线路302。三态缓冲器356的输入节点连接至通信线 路302,三态缓冲器356的输出节点连接至主处理器02的接收管脚 306。主处理器102还包括用于禁用和启用缓冲器354、并连接至缓冲 器354控制输入端的TX一ENABLE管脚。在本示例性实现中,可以使 用逻辑低电平信号来启用三态缓冲器354和356。此外,在某些实现 中,三态缓冲器356可以始终启用;下文将进一步对这种情况加以说 明。因此,三态缓冲器356的控制输入端可以接地。当电源管理模块134检测是否己将智能电池130取出时,可以将 三态缓冲器354和356同智能电池一起使用。当使用具有电池ID电 阻器的电池组时,对于图5A所示的实施例而言,电池移除检测并不 复杂,这是由于可以获得例如10uA的、流经电池ID电阻器(未示 出)的电流。然后,可以通过测量结果电压降来判断电池组是否仍安 装在移动设备100上。需要在各种情况下检查是否已将电池取出,一 种情况是在移动设备100为电池再充电时进行检查。还可以使用备选实施例来检测是否已将电池取出。例如,可以将 比较器电路(未示出)连接至SMART一BAT数据线。比较器电路可独 立于主控制器102操作,并且可以在电池取出的情况下产生并向主处 理器102发送复位脉冲。为便于箝位,可以令比较器阈值低于2.8/3.0 VGPIO。在某些实施例,可以连续轮询智能电池130中的热敏电阻器 (未示出)。为便于对发射和接收管脚304和306进行电压箝位,可以 使用独立于主处理器102上的UART管脚的连接来进行轮询。可以通 过主处理器102之外的另一处理器来进行轮询。对于智能电池,可以将电池ID存储在电池存储器254中,电池 处理器252能够将该信息传送至主处理器102。这种做法使得可以通 过软件对智能电池加以认证,以确保智能电池130不是假冒电池。认 证过程的一部分涉及在将智能电池130插入移动设备100时或每次 开启移动设备IOO时获得电池ID。其他情况下,通常不重复执行认证过程。
然而,在至少某些实施例中,智能电池130不仅能够将电池ID 存储在电池存储器254中,还能够包括电池标识(ID)电阻器。这种 做法使智能电池130能够后向兼容那些依赖于电池ID电阻器的移动 设备。智能电池130还兼容于那些与电池处理器252进行通信以获得 电池ID的移动设备。电池接口 256和350均支持测量电池ID电阻器 的功能以及主处理器102与电池处理器252之间的通信功能。电池接 口 256和350中所用的组件还提供ESD保护。电池ID电阻器还可用 于检测电池130是否存在。
电源管理模块134能够独立检测电池130是否仍连接至移动设备 100。可以利用中断来实现这一特征。通常在为电池130充电时执行检 测。在某些情况下,为了检测是否已将电池取出,电源管理模块134 令电流流经电池ID电阻器,并测量电池ID电阻器两端的电压。该电 流可能具有IOPA的数量级。电源管理模块134通过连接至电源管理 模块134中的模数转换器(未示出)的输入端358测量该电压。在这 个过程中,由于电源管理模块134直接感测智能电池130是否存在, 因而电源管理模块134与主处理器102之间无需存在连接。此外,在 此期间,主处理器102与智能电池130之间无需存在连接。因此,在 某些情况下,可以禁用三态缓冲器354。可以在某些时刻(即,例如 插入电池)启用/禁用缓冲器354,并且可以对电源管理模块134中的 电流源(未示出)进行控制,以免对电池通信造成干扰。
存在某些实例,其中主处理器102、电池处理器252和电源管理 模块134可以工作于不同的功率电平。因此,图5B的实施例可用于 在某些情况下防止主处理器102被电池处理器252所用的较高的电平 损坏。例如,如果将智能电池130取出,则SMART—BAT数据线上的 电压将超过4V以上的阈值。如果在为电池充电的同时将电池取出, 则可以将移动设备IOO配置为重置并且重启。然而,由于在某些实现 中只能将发射和接收管脚304和306分别设定为3.0V/2.8V的输入/输 出电压,因而不能传递电源管理模块134检测电池移除时所常用的高 于4V的电压,而是必须将所有输入电压箝位于3.0V/2.8V,因此发射和接收管脚304和306可能无法承受如此之高的电压。可以选择缓冲 器354和356的特定实现,并提供启用/禁用控制信号,以协助解决主 处理器102、电池处理器252和电源管理模块134之间的电压兼容的 问题。
现在参照图5C,图5C示出了智能电池400的另一示例性实施例 的一部分的示意图。通常,在这里所示出的至少一些实施例中,电池 252'可以是PIC10F202微处理器。电池处理器252'具有通用管脚 GPO、 GP1、 GP2、 GP3以及电源管脚Vdd和Vss。智能电池400包括 电阻器Rlb、 R2b、 R3b以及电容器Clb。电阻器Rlb、 R2b以及电容 器Clb可以是电池接口 256的一部分。在某些情况下,电池模块262' 可以具有4.2V或4.4V的端电压。
SMART—BAT数据线经电阻器Rib连接至电池处理器252'的输 入端GPO。电阻器R2b可用作电池ID电阻器,以实现与无法与电池 处理器252'进行通信的移动设备的后向兼容,以及其他用途。为指 示电池模块262'的蓄电量,电池ID电阻器R2b可以具有若干不同电 阻值,例如100kQ、 86.6kQ以及15kQ 。
电容器cib和电阻器Rlb为输入管脚GPO提供ESD保护。可以 通过连接二极管阵列(未示出)(例如美国California, Camarillo的 SEMTECH生产的SMF05)为输入管脚GPO提供进一步的ESD保护。 电阻器R3b还为GP3管脚提供ESD保护。智能电池400还可以包括 标准锂离子电池保护电路(未示出)。在一个示例性实现中,电阻器 Rlb可以具有IOOQ的电阻,电阻器R2b可以具有100kQ、 86.6kQ或 15kQ的电阻,电阻器R3可以具有IOOQ的电阻,以及电容器Clb可 以具有0.1uF的电容。
电池处理器252'可以通过GPO管脚直接读入逻辑高电平信号 (即,比如2.8V的逻辑电平",)和逻辑低电平信号(即,比如OV 的逻辑电平'O,)。为写入'0,,将通用输入/输出管脚GPO管脚配置 为输出管脚,并将其驱动为低电平。为写入'1',将GPO管脚配置为 输入管脚,并通过主处理器102 (通过电阻器R2)将其电平拉高。在 某些情况下,由于驱动逻辑1可能损坏主处理器102的硬件,因而电池处理器252'不驱动逻辑l。
目前,市场上的假冒电池组日渐增多,并且由于假冒电池组不具 备同正品电池组相当的能力,因而存在种种问题。这种情况可能引发 各种问题,包括在为假冒电池组充电时将移动设备100损坏。相应地,
智能电池130的电池处理器252可以执行加密算法,使主处理器102 能够对智能电池130进行认证,以确保智能电池130不是无权同移动 设备IOO—起使用(这可能是由非授权电池组不具备足够的蓄电量、 充分的保护电路、各种不同的充电特征等原因导致的)的假冒电池或 电池组。
通常,现行智能电池采用对称密钥加密技术,基于私钥,与移动 设备执行认证。这意味着,传统智能电池和传统移动设备均包含有私 钥。可以定制智能电池,令其对存储在电池硬件上的信息加以保护。 然而,移动设备不存在类似的硬件保护。移动设备通常使用现成的组 件,因而通常将私钥保存在普通的闪存芯片中。可以比如通过JTAG 仿真和调试或通过将芯片从印刷电路板拆除的方法,恢复闪存芯片的 内容,从而恢复私钥。 一旦恢复了这个私有认证密钥,就可以用私钥 信息来制造假冒电池。因此,从安全角度考虑,假冒智能电池现已具 有与正品智能电池相同的安全信息,因而,移动设备100无法区分真 假电池。
为解决上述问题,可以使用以下安全协议。主处理器102可以向 智能电池BO发送挑战消息。这个挑战消息可以是一个随机数。电池 处理器252接受该挑战消息,并使用加密算法、挑战消息和私钥产生 响应消息。可以利用可在智能电池130上执行的、但使黑客无法通过 合理的计算量算出私钥的、任意合适的加密算法。然后,主处理器102 将该响应消息同存储在移动设备100中的参考消息进行比较。如果两 者匹配,则指示智能电池130拥有私钥。因而,证明智能电池130是 一个安全、可用的正品电池。另一方面,假冒电池通常对私钥一无所 知。
由于在某些情况下移动设备IOO并不安全,因而不将私钥存储在 移动设备100的设备存储器108中。然而,智能电池130的电池存储器254是安全的,因此将私钥存储在电池存储器254中。此外,可以 在移动设备100上存储若干挑战和响应对,并且可以用它们中的任意 之一来对电池组进行认证。在某些实现中,可以将挑战和响应对存储 在移动设备100的NVRam中。
为进一步提高安全性,可以向移动设备100写入唯一的挑战和响 应对。这样做可以确保即使第三方截获了某一指定移动设备的挑战 和响应对,第三方也只能获得专门为特定移动设备产生的挑战和响应 信息。其他移动设备将使用不同的挑战响应对。因此,即使复制一个 移动设备的挑战响应对,并将其写入假冒电池,假冒电池只能和特定 的移动设备一起使用,和不能用于其他移动设备。因而,造假者为了 能够成功生产出假充正品的假冒电池,就不得不获取加密方法以及私 钥。
因此,在制造给定移动设备的过程中,可以产生一个或更多个的 唯一挑战,以及针对给定私钥所计算的相应响应。然后,将该挑战和 响应对存储在给定的移动设备上,并将给定私钥存储在要和给定移动 设备一起使用的智能电池上。在某些实施例中,可以为给定形状因数 的智能电池赋予同一私钥。这样做使得可以更换某一给定移动设备的 智能电池。因此,即使智能电池丢失或者损坏,也可以更换某一给定 移动设备的智能电池。
传统电池组具有电池ID电阻器,主处理器102通过感测这个电 池ID电阻器来确定连接至移动设备100的电池组的类型。移动设备 100能够存储可与移动设备100 —同使用的若干不同类型电池的电池 信息简档。通常将电池信息简档存储在存储器106中。移动设备100 使用与插入移动设备100的电池组相对应的特定的电池信息简档。电 池信息包括与充电曲线、放电曲线等有关的信息。曲线是电压和蓄 电量的关系曲线,可以被存储在查找表(LUT)中。可以在LUT上使 用内插。
由于不同电池组可以以不同充电速率充电,因此电压和蓄电量的 关系曲线十分有用。例如,某些电池组能够承受750mA的充电电流, 而其他电池组能够承受1.5A的充电电流。曲线还会根据移动设备100的操作发生改变。例如,移动设备100在进行无线通信时所使用的通 信标准就会对电池组的放电速率和放电量产生影响。例如,同一电池
组会根据移动设备100是使用CDMA通信标准还是GPRS通信标准而 使用不同的放电曲线。备选地,除了针对两种不同通信标准存储两个 包括电压蓄电量关系曲线的电池信息简档之外法,还可以存储包括第 一电压蓄电量关系曲线的电池信息简档,并存储另一个包括一组偏移 量的电池信息简档,以根据第一条曲线推导出另一曲线。
在另一备选方案中,可以使用通用电池信息简档,而并非针对由 于例如所用的通信标准不同而以不同方式操作的移动设备存储不同的 电池信息简档。因而,可以将移动设备ioo配置为从通用电池信息简 档中读取信息,但执行不同运算来获得必要的电池相关信息,例如电 池充电曲线。例如,还是以使用GSM和CDMA通信标准为例,对于 CDMA标准, 一般可以以恒定速率绘制电流,而对于GSM标准,在 所绘制的电流中将存在若干尖峰。在这种情况下,对于每一电池类型 的各个电池信息简档,可以基于仿真第一标准的电流使用情况的第一 条件产生充电曲线。然后,可以针对其他标准的电流使用情况同第一 标准的电流使用之间的差异,记录负载状态信息。可以将此负载状态 信息存储在移动设备100或智能电池130上。因此,当移动设备100 读取电池信息简档时,如果移动设备100使用了 "其他标准",则移动 设备100就可以基于负载状态信息来执行附加计算。
在移动设备100的某些实施例中,除了将电池信息简档存储在移 动设备100上,还可以将电池信息简档存储在智能电池130的电池存 储器254中。相应地,当发行新的智能电池时,电池信息简档已包含 于智能电池130中,而并非必须更新移动设备100上的电池信息简档。 当使用另一智能电池、新型智能电池、或新电池供应商的智能电池时, 主处理器102能够访问存储在智能电池上的电池信息简档,以确定电 池的充电/放电特性。然后,移动设备ioo可以将新电池的信息简档存 储在存储器106中。可以根据以下将更详细地予以说明的电池通信协 议来访问电池信息简档。
因此,在某些实施例中,可以在移动设备100中存储给定智能电池130的电池信息简档,并且给定智能电池130可以在电池存储器254
中存储附加电池信息简档。在某些情况下,可以依据这样一条经验
如果智能电池130和移动设备100中均存在特定电池信息简档,那么 将用存储在智能电池130中的电池信息简档来替代存储在移动设备 100上的电池信息简档。然而,还可以依据其他经验。例如,由于可 以对智能电池130中的电池信息简档进行版本控制,并且移动设备100 能够读取相应的版本号,因而有可能为移动设备IOO提供与错误的、 不应使用的电池信息发布相对应的版本号的版本信息。在这种情况下, 移动设备100能够使用与已被认定为正确的版本号相关联的电池信息 简档;该电池信息简档可以已经存储在移动设备IOO上。
此外,在至少某些实施例中,还可以将电池ID存储在电池存储 器254中,而并不使用电池ID电阻器、或让电流流经电池ID电阻器。 此时,主处理器102通过通信线路302同智能电池130进行通信,以 获得电池ID信息,而不是依靠使用电池ID电阻器来获得电池ID信 息。可以根据以下将更详细地予以说明的电池通信协议来访问电池ID 信息。因而,无需用于读取电池ID电阻器的额外电路。这样做降低 了电路的复杂度和成本。电池ID取决于智能电池的类型,并且可用 于根据型号、厂商、化学性质等标识智能电池。在某些实施例中,可 以在移动设备上存储若干电池的电池充电/放电信息,这样一来一旦确 定了电池ID,主处理器102就能够利用该ID信息选择相应的电池简 档信息,例如用于电池充电和监控的电池充电/放电信息。就此而言, 移动设备100能够支持多种电池。
还存在这样一些实施例,其中为主控制器102与智能电池130之 间提供了一个接口,使得移动设备既同只使用电池ID电阻器的传统 电池组兼容,又和电池存储器254中存储了电池ID信息的智能电池 兼容。在上述情况下,设备可以假设其自身连接至智能电池,并尝试 进行相应的通信。如果通信失败,则可以使用读取电池ID电阻器的 传统方法。
为了使主处理器102能同电池处理器252进行通信,可以使用电 池通信协议。数据通信所用的逻辑电平取决于主处理器102和电池处理器"2的实现。例如,在某些实现中,可以用大约2.8V的线路电平 表示逻辑高电平(即M'),并用大约OV的线路电平表示逻辑低电平 (即'0')。由于使用了 ESD保护电路,因此通信线路302可以被限 制在例如大约300bps的数据速率,其提供了 3.33ms的位定时。可以 按如下方法传输数据,首先发送一个起始位,接着发送若干8比特数 据段(其中首先发送LSB),接着发送至少一个结束位。在某些实施 例中,起始位可以是逻辑'0',结束位可以是逻辑'1'。
在某些实现中,当会话处于活动状态时,处于高电平(由主处理 器102的发射管脚304驱动)的通信线路空闲。当会话处于非活动状 态时,主处理器102可以将通信线路302配置为使其工作于非活动/ 低功耗状态。因此,在某些实现中,可以将发射和接收管脚304和306 驱动为低电平。
由于通信线路302是一条半双工线路,因此在某一给定时刻主控 制器102或电池处理器252中只有一个能够传输数据。因此,主控制 器102和电池处理器252之间可以存在一种主/从关系,仅允许电池处 理器252响应于来自主处理器102的命令而发射信号。除非正在等待 来自电池处理器252的响应,否则主处理器102随时可以发射信号。 电池处理器252能够在从主处理器102接收到分组结束标记(END) 之后的一段给定时间内开始发送响应。此外,主处理器102可以在重 发原始请求之前,花一段时间等待来自智能电池130的响应。
可以利用RC 1055实现来实现主处理器102与电池处理器252之 间的数据链路。为避免主处理器102和电池处理器252同时传输信号, 不使用"起始结束字符"优化。相反,数据链路层试图在由物理通信 层所提供的串行字节流上提供基于分组的接口。为此,数据链路层用 一个唯一的字符(例如"OxCO")来使各个分组"成帧"(即,使数据 链路层能更容易在字节流中标记出各个分组的结束)。因此,应当在读 入字符"OxCO"之前存储所有的输入字节。然后,将所存储的数据上 传给下一层。
然而,字符"0xCO"有可能作为数据发送,因此应当确保字符 "0xC0"是独一无二的,并且仅用于标记帧的结束。实现这一目的方法之一是用两个字符(例如"0xDB"和"0xDD")来代替数据中的字 符"0xC0"的任一实例。如果希望在数据中发送字符"0xDB",那么 同样,可以用字符"0xDB"和"0xDC"来代替字符"0xDB"。
就接收数据而言,对于本示例性实施例,当出现字符"0xCO"时, 数据传输结束。如果出现了字符"0xDB",则记录必须对下一字符采 取特殊处理的事实,并将其他所有字符存储在缓冲器中。目前,在本 例中,如果字符是"0xDB",那么当下一字符到达时,可以采取以下 三种处理的其中之一1)如果下一字符是"OxDD",则在缓冲器中存 储字符"0xC0", 2)如果下一字符是"0xDC",则在缓冲器中存储字 符"0xDB",或者3)如果下一个字符是其他字符,则表明出现了可 以交由下一层处理的错误。
如前所述,为了降低功耗,电池处理器252将几乎总是处于休眠 模式。 一旦接收到来自主处理器102的START比特,电池处理器252 就被唤醒,并开始接受输入数据,直至接收到END字符或看门狗定 时器终止(例如,看门狗定时器在大约2.3秒后终止)为止。因此, 主处理器102企图在看门狗定时器终止之前发送各个请求分组。相应 地,主处理器102可以尝试以尽可能小的字节间延时来发送各个请求 分组。
现在参照图6A,图6A示出了可用于主处理器102和电池处理器 252之间的通信的分组450的通用结构的示例性实施例的框图。可以 按从左到右的顺序发送分组中的数据位,可以利用最低有效位(LSB) (小尾)方式发送多字节数据元素。分组450包括CODE字段452、 DATA字段454、 LENGTH字段456以及ERROR—CHECK字段458。 多字节数据就是需要8位以上(一个字符)才能存储于内存中的数字。 例如,对于数字0x12345678而言,需要4个字符。当发送这些字符时, 以LSB优先的方式首先发送LSB。也就是说,首先发送0x78,然后 发送0x56、 0x34,最后发送0xl2。
CODE字段452标识分组类型(即是在提供信息还是在请求信 息)。当收到CODE字段452未知的分组时,电池处理器252发送协 议版本响应分组。电池处理器252还可以在主处理器102所发送的响应分组的长度、检错字段值等存在错误时发送该响应分组。在某些实
现中,CODE字段452包括用于指定协议版本请求、协议版本响应、 电池认证挑战、电池认证响应、电池信息请求和电池信息响应的代码。 在某些实现中,CODE字段452可以包含一个字节。
DATA字段454包含数据,其内容取决于所提出的具体请求或作 出的具体响应。DATA字段454可以包含与传输数据所需的字节数相 等的字节数,然而,可以对其加以限制。在某些实施例中,LENGTH 字段456可以包含从0至U 255的数字。由于CODE、 LENGTH和 ERROR—CHECK字段都算在长度里面,因此整个分组450最多可以包 含255个字符,DATA字段454最多可包含252个字符。以下将讨论 各种不同类型数据的实例。
LENGTH字段456定义了分组中的字节数,后者包含CODE字段 452、 DATA字段454、 LENGTH字段456和ERROR—CHECK字段458 中的字节数。由于通常并不知道SLIP帧能有多长,因此通常不考虑 SLIP成帧。可能要对某些字符进行复制,使之从一个变为两个,而且 不确定要复制哪些字符或复制多少字符。在某些实现中,LENGTH字 段456包含一个字节。
ERROR—CHECK字段458提供校验数据,用于验证主处理器102 或电池处理器252是否己准确无误地收到数据。根据电池处理器252 的处理能力,可以使用不同类型的通信检错机制。在某些实现中,使 用CheckSum值。CheckSum值是一个无符号的8位数值,该值使得 CODE到CheckSum字段范围内所包含的数据的和对256取模余0。 在某些实现中,当使用CheckSum日寸,ERROR—CHECK包含一个字节。
现在参照图6B,图6B示出了可用于协议版本请求分组或电池信 息请求分组的示例性实施例的框图。分组460包括CODE字段462、 LENGTH字段464和CHECK—SUM字段466。
主处理器102发送协议版本请求,以请求智能电池252的协议版 本。因此,CODE字段462包括用于标识协议版本请求的代码。由于 协议请求分组460包含三个字节,因此LENGTH字段464包含数值3 。 电池处理器252利用协议版本响应分组对协议版本请求分组作出响应。CHECH—SUM字段466用于检错,并且可以包含一个字节。
当需要知道有关智能电池130的操作情况的信息时,主处理器102 发送电池信息请求分组。智能电池130利用电池信息响应分组予以响 应。在这种情况下,CODE字段462包括用于表示分组460是电池信 息请求分组的代码。CODE字段462可以包括一个字节。LENGTH字 段464包括一个字节,用于指示分组460中存在3个字节。
现在参照图6C,图6C示出了协议版本响应分组470的示例性实 施例的框图。协议版本响应分组470包括CODE字段472、包括协 议版本的第一 DATA字段474、包括电池ID的第二 DATA字段476、 LENGTH字段478以及CHECH—SUM字段479。一旦接收到来自主处 理器102的协议版本请求分组460,或遇到CODE字段存在不可识别 代码的情况,或遇到有错误出现(例如,错误长度、错误check—sum 等)的情况,电池处理器252利用协议版本响应分组470作出响应。 协议版本响应分组470给智能电池252提供电池ID。因此,在至少某 些实现中,可以将电池信息高速缓存在智能电池130中,因此无需在 仅需要电池ID时下载全部电池信息。
CODE字段472包括用于表示分组470是协议版本响应分组的代 码。CODE字段472可以包括一个字节。第一 DATA字段474包括下 面将更详细地予以说明的协议版本。第一 DATA字段474可以包括两 个字节,第二 DATA字段476可以包括两个字节。LENGTH字段478 指示分组470包括1个字节,该字节指示分组470含有7个字节。 CHECH—SUM字段479用于检错,并且可以包括一个字节。
协议版本是用于指示正在使用的电池通信协议的版本的数值。在 某些实现中,协议版本可以包括8位主版本号和8位子版本号。每当 电池通信协议发生"后向兼容"的改变,子版本号将会随之增加。每 当发生破坏后向兼容性的改变(这使得子版本号被重置为0),主版本 号将会随之增加。例如,如果加密算法、私钥、以及电池信息格式中 的任意一项发生改变,主版本号就会随之增加。
下面参考图6D,图6D示出了可用于电池认证挑战、电池认证响 应或电池信息响应的分组的典型实施例的框图。分组480包含CODE字段482、 DATA字段484、 LENGTH字段486以及CHECH_SUM字 段488。
对于电池认证挑战而言,主处理器102可以通过向电池处理器252 发送电池认证挑战的方式,请求获得电池认证。随即,电池处理器252 就可以在算出电池认证响应挑战所需的数据后,以电池认证响应分组 作为回应。CODE字段482包含用于表示分组480是一个电池认证挑 战分组的代码。CODE字段482可包含一个字节。DATA字段484包 含智能电池130的挑战消息。在某些实现中,挑战消息可包含4个字 节;因而,挑战可以是32位挑战。LENGTH字段486包含1个字节, 该字节表明分组480含有7个字节。CHECK—SUM字段488用于检错, 可包含1个字节。下面将更详细地对所用认证过程予以说明。
对于电池认证响应而言, 一旦接收到来自主处理器102的电池认 证挑战分组,随即电池252就在算出电池认证响应挑战所需的数据后, 以电池认证响应分组作为回应。在本例中,CODE字段482包含用于 表示分组480是一个电池认证响应分组的代码。CODE字段482可包 含一个字节。DATA字段484包含来自智能电池130的挑战响应。在 某些实现中,挑战响应可包含4字节;因而,挑战可以是32位挑战。 LENGTH字段486包含1个字节,该字节表明分组480含有7个字节。 CHECK一SUM字段488用于检错,可包含1个字节。下面将更加详细 地对所用认证过程予以说明。
对于电池信息响应而言, 一旦接收到来自主处理器102的电池信 息请求分组,电池252就以电池信息响应作为回应。CODE字段482 包含用于表示分组480是一个电池信息响应分组的代码。CODE字段 482可包含一个字节。DATA字段484包含电池信息,长度可以是12 字节。LENGTH字段486包含1个字节,该字节表明分组480含有15 个字节。CHECK—SUM字段488用于检错,可包含1个字节。
现在参照图7A,图7A示出了电池信息数据结构4卯的示例性实 施例的框图。电池信息数据结构490是具有可变数目的项目字段 492-496的分组,其中该项目字段包含关于智能电池130的数据。例 如,项目字段492-496可以包括电池充电曲线的LUT信息。每一个项目字段492-496都可以具有如图7B所示的格式,并且可以包括CODE 字段500和DATA字段502。 CODE字段500可以包括用于标识诸如 电池充电曲线等项目数据类型的8位标识符。DATA字段502取决于 具体项目。定长项不需要LENGTH字段。然而,变长项将包括插入在 CODE字段500与DATA字段502之间的LENGTH字段(未示出)。 在备选方案中,可以利用项目492-496其中之一传输电池ID,而不是 利用协议版本响应分组。如果项目492-496其中之一包含诸如电池充 电曲线信息等的电池简档信息,则CODE字段500包括用于指示电池 充电曲线信息的代码,LENGTH字段(未示出)包括含CODE 、 LENGTH 和DATA字段在内的分组中的字节数。DATA字段502包含足以表示 电池充电曲线信息的字节。
如前所述,智能电池130可以在同主处理器102执行认证的过程 中执行加密算法。基于仅安全地存放在智能电池130的存储器内的私 钥以及主处理器102所提供的挑战,智能电池可以应用加密算法来产 生响应。在某些实现中,私钥可能是64位,挑战可能是32位。如果 能够提供适当的安全级别,则可以为私钥和挑战选择不同的长度。在 某些实现中,挑战可以加密,并且智能电池130能够执行解密算法来 对挑战进行解密,然后将挑战同私钥结合,以产生响应。还可以对主 处理器102与智能电池130之间传输的其他数据进行加密。
目前,智能电池130是特别为防篡改而设计的,为此智能电池包 括定制硬件以及代码保护寄存器。因此,第三方很难从智能电池130 中提取出私钥。然而,对于移动设备100而言并非如此。因此,不应 将私钥存储在移动设备100中。相反,可以在制造过程中,在不同的 移动设备上存储基于私钥和加密算法的(每个设备)唯一的预先计算 的挑战和响应对。相应地,可以在不同的运动设备上存储不同的挑战 和响应对。然后,只在智能电池130上存储私有密钥和加密算法。尽 管可以制造出可用于移动设备的假冒电池,然而,很难制造出能够与 执行这一认证过程的所有移动设备一同使用的假冒电池。在某些实现 中,可以在移动设备100上存储若干挑战和响应对,并且可以在认证
过程中使用其中的至少一对。现在参照图8,图8示出了主处理器102可以采用的、用于认证 智能电池130的认证过程550的示例性实施例的流程图。每当打开移 动设备IOO,每当将电池插入移动设备100,就执行认证。在步骤552 中,主处理器102读移动设备ioo上的存储元件,以获得挑战和响应 对。在步骤554中,主处理器102向电池处理器252发送挑战。在步 骤556中,电池处理器252使用私钥来应用加密算法,以产生响应, 在步骤558中,电池处理器252将该响应发送至主处理器558。在步 骤560中,主处理器102将产生的响应同所存储的响应进行比较。在 这一步骤中,如果存储的响应与电池处理器252所产生的响应相同, 则证明智能电池130是正品。否则,证明智能电池130不是正品,并 采取适当的措施。由于可能存在传输错误(并且存在CHECH—SUM错 误的可能),主处理器102可以在确认电池组是假冒电池或非授权的第 三方电池组之前进行若干次挑战和响应尝试。
如果确认电池组是假冒电池或非授权的第三方电池组,则与主处 理器102相关联的操作系统可以设置BSTAT一INSECURE电池状态, 但继续正常的启动过程。主处理器102也可以执行提供用户反馈、控 制无线电接入、不让移动设备100运行哪怕极短的一段时间等的软件。 主处理器102不会为非正品电池组(即认证过程失败的电池组)充电 或不将其充满。然而,在某些实现中,在进行认证前,可以允许为保 鲜密封(即处于欠压状态的电池)充电,直至该电池的端电压大约为 3.0V为止。当电池放电放到端电压约为2.5V、且电池中的保护电路已 将电池端子同电池模块断开时,出现欠压状态。在有充电电压作用于 电池端子之前,电池保持在欠压状态。假设不存在蓄电量低于3.0V电 池组的蓄电量的电池组,则可以认为将电池充电至端电压约为3.0V的 最小蓄电量是安全的。然而,在其他实施例中,如果确认电池组是假 冒电池或非授权的第三方电池组,就可以将与主处理器102相关联的 操作系统102配置为不允许正常启动过程继续进行。或者,操作系统 可被配置为提供电池出错指示;例如,操作系统可以显示示出了中间 有线穿过的电池或其他合适的图形指示的屏幕。
现在参照图9,图9是示出了具有智能电池的移动通信设备100的典型操作的流程图,其中智能电池可能是也可能不是正品。 一旦启 动移动设备100,或当检测到电池插入时,主处理器102就可以执行
以下步骤。在步骤602中,主处理器102向电池处理器252发送协议 版本请求分组。在步骤604中,电池处理器252产生并向主处理器102 发送协议版本响应分组。在步骤606中,主处理器102将协议版本响 应分组中的协议版本与所支持的协议进行比较,如果协议版本号兼容, 则前进至步骤610。
如果协议版本号不兼容,则在步骤608中,主处理器102对非正 品电池组执行前述动作,并停止或限制(如前所述)可能已开始的充 电行为。例如,即使存在电池,移动设备IOO也可以显示"无电池图 标"。在某些情况下,主处理器102可以允许移动设备100继续工作固 定的一段时间,如X分钟,但不允许对其充电或将其充满。对于假冒 或不合格电池的使用而言,最危险的行为就是充电。允许使用X分钟 可以使用户能够使用他/她在不知情的情况下购买的假冒电池进行紧 急呼叫。
在步骤610中,主处理器102执行认证过程550。在步骤612中, 如果电池认证成功,则过程600就移至步骤614。否则,过程600移 至步骤608。在步骤614中,主处理器102可以向电池处理器252发 送电池信息请求分组。在步骤616中,电池处理器252访问被请求的 电池信息,并产生电池信息响应分组,然后将后者发送至主处理器 102。在步骤618中,主处理器102可以利用电池信息为智能电池130
充电,或在向用户提供剩余电量指示等操作的过程中监控智能电池 130。应当注意的是,尽管在过程600中未明确示出数据传输错误和重 传的步骤,但可以将它们包括在过程600之中。
现在参照图10,图10示出了用于制造具有智能电池的移动通信 设备100的示例性制造过程650的流程图。在步骤652中,为智能电 池130指定通信协议和安全协议。在步骤654中,智能电池130的制 造商将用于实现通信协议和安全协议的代码并入智能电池130。在步 骤656和658中,电池组制造商以及印刷电路板(PCB)供应商将智 能电池130的硬件(电路)装配起来。然后在步骤660中,利用移动设备100对智能电池130进行测试。此外,在步骤660中,将智能电
池和移动设备配对。针对每对智能电池移动设备,基于私钥和加密算 法,产生若干唯一的挑战和响应对。将挑战和响应对存储在移动设备 上,并将相应的私钥和加密算法存储在相应的智能电池上。
应当理解的是,可以在不背离其总体范围受所附权利要求限定的 实施例的前提下,对这里所说明和例证的实施例进行各种修改。例如, 尽管这里所描述的实施例通常涉及移动通信设备,然而本领域的技术 人员将认识到,通常还可以将这里所描述的技术和结构应用于使用智 能电池的移动设备,而这种设备并非必须是移动通信设备。此外,可 以利用软件或硬件或其组合来实现这里所描述的示例性实施例的某些元件。
权利要求
1.一种移动通信设备,包括主处理器,用于控制移动通信设备的运行;设备存储器,耦合至主处理器,适于存储认证所用的第一和第二部分安全信息;以及智能电池,耦合至主处理器,所述智能电池适于为移动设备供电,所述智能电池包括电池处理器,用于控制智能电池的操作,并同主处理器进行通信;以及电池存储器,耦合至电池处理器,所述电池存储器适于存储包括认证所用的第三部分安全信息在内的信息,其中,所述主处理器被配置为向电池处理器发送包括第一部分安全信息的认证请求,以及所述电池处理器被配置为基于第一和第三部分安全信息产生响应,并将产生的响应发送至主处理器,其中,如果产生的响应与第二部分安全信息匹配,则智能电池通过认证。
2. 根据权利要求l所述的移动通信设备,其中,所述第一和第二 部分安全信息不同于第三部分安全信息。
3. 根据权利要求l所述的移动通信设备,其中,所述第一部分安 全信息包括预先计算的挑战,所述第二部分信息包括通过利用加密 方法和私钥对预先计算的挑战加以运算而产生的、相应的预先计算的 响应,所述第三部分信息包括加密方法和私钥,其中只将加密方法和 私有密钥存储在智能电池中。
4. 根据权利要求3所述的移动通信设备,其中,所述电池处理器 被配置为在所述主处理器发出认证请求以后,基于预先计算的挑战、 私钥以及加密方法产生响应,其中如果产生的响应与存储在设备存储 器上的相应的预先计算的响应匹配,则智能电池通过认证。
5. 根据权利要求l所述的移动通信设备,其中,同存储在其他类 似移动设备上的第一和第二部分安全信息相比,存储在所述设备存储器中的第一和第二部分安全信息是唯一的。
6. 根据权利要求l所述的移动通信设备,其中,所述主处理器被 配置为在智能电池认证失败时,允许在欠压状态下将智能电池最多 充至最低蓄电量。
7. 根据权利要求l所述的移动通信设备,其中,所述主处理器被 配置为在智能电池认证失败,允许移动设备继续工作一段有限的时 间,但不允许给智能电池充电。
8. 根据权利要求l所述的移动通信设备,其中,在设备存储器上 存储多组第一和第二部分安全信息,并将所述主处理器配置为利用所 述多组第一和第二部分安全信息中的一组或更多组来对智能电池进行 认证。
9. 根据权利要求l所述的移动通信设备,其中,所述主处理器和 智能电池通过数据线耦合,所述数据线具有大约为每秒300比特的最大 数据速率。
10. —种用于认证移动通信设备所用的智能电池的方法,所述移动通信设备包括主处理器、设备存储器以及智能电池,所述智能电池 包括电池处理器和电池存储器,其中所述方法包括在设备存储器上存储认证所用的第一和第二部分安全信息;在电池存储器上存储认证所用的第三部分安全信息; 从主处理器向智能电池发送认证请求和第一部分安全信息; 在智能电池处,基于第一和第三部分安全信息产生响应,并将产生的响应发送给主处理器;以及在主处理器处,将产生的响应与第二部分安全信息进行比较,如果产生的响应与第二部分安全信息匹配,则所述智能电池通过认证。
11. 根据权利要求10所述的方法,其中,所述第一部分安全信息 包括预先计算的挑战,所述第二部分信息包括通过利用加密方法和 私钥对预先计算的挑战加以运算产生的、相应的预先计算的响应,所 述第三部分信息包括加密方法和私钥。
12. 根据权利要求10所述的方法,其中,在认证失败的情况下, 所述方法包括重复多次认证过程,以确保认证失败不是由主处理器与电池处理器之间的数据传输的数据传输错误导致的。
13. 根据权利要求10所述的方法,其中,所述方法包括与存储 在其他类似移动通信设备中的第一和第二部分安全信息相比较,在设 备存储器上存储唯一的第一和第二部分安全信息。
14. 根据权利要求10所述的方法,其中,所述方法包括如果智 能电池认证失败,则允许在欠压状态下将智能电池最多充至最低蓄电
15. 根据权利要求10所述的方法,其中,所述方法包括如果智 能电池认证失败,则允许移动设备继续工作一段有限的时间,但不允 许为智能电池充电。
16. 根据权利要求10所述的方法,其中,所述方法包括在设备存 储器上存储多组第一和第二部分安全信息,并使用多组第一和第二部 分安全信息中的一对以上对智能电池进行认证。
17. 根据权利要求10所述的方法,其中,所述方法包括,利用数据线连接主处理器与智能电池,所述数据线具有大约为每秒300比特的最大数据速率。
18. 根据权利要求10所述的方法,其中,所述方法包括,在认证 失败时,禁止为智能电池充电。
19. 根据权利要求ll所述的方法,其中,所述方法包括,对预先 计算的挑战加密。
20. 根据权利要求ll所述的方法,其中,所述方法包括,针对预 先计算的挑战,产生随机数。
21. —种用于制造移动通信设备所用的智能电池的方法,其中,所述方法包括为智能电池指定通信和安全协议,以使得移动设备能够与智能电池进行通信,并使得移动设备能够对智能电池进行认证; 组装智能电池;在智能电池上实现安全和通信协议,包括只将私钥和加密方法存 储在智能电池内的安全的存储器上;在移动设备上存储与私钥和加密方法相对应的挑战和响应对;以及测试移动通信设备与智能电池之间的安全和通信协议。
全文摘要
这里描述了多个在使用智能电池前对其进行认证的移动通信设备的实施例。该移动设备包括主处理器和设备存储器。设备存储器存储认证所用的第一和第二部分安全信息。智能电池包括电池处理器和电池存储器。电池存储器存储认证所用的第三部分安全信息。主处理器向电池处理器发送包括第一部分安全信息的认证请求,电池处理器基于第一和第三部分安全信息产生响应,并将产生的响应发送至主处理器。如果产生的响应与第二部分安全信息匹配,则智能电池就可以通过认证。
文档编号H04L9/32GK101322089SQ200680045584
公开日2008年12月10日 申请日期2006年10月13日 优先权日2005年10月14日
发明者赫伯特·利特尔 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1