系统功能控制方法

文档序号:8259438
系统功能控制方法
【技术领域】
[0001] 本发明涉及控制方法,特别涉及系统功能控制方法。
【背景技术】
[0002] 随着嵌入式应用的越来越广泛,产品的安全也显得越来越重要。一方面是为 了保护硬件设计,另外一方面也是为了产品本身的安全,防止被黑客。为了保护芯片中 的数据,越来越多的厂商在芯片内部提供了一种特殊的寄存器:〇TP寄存器(OneTime Pr〇gra_able,一次性编程寄存器),意思是这个寄存器是只可以编程一次的,编程后就再 也不可以修改了。0TP寄存器是非易失的,掉电不丢失数据,可以反复读出,但每位信息都是 一次性写入不可重写。
[0003] 由于0TP的每比特位只能编程一次,不能再次改写,所以一旦设置以后是不能通 过硬件或者软件再次改写破解的,这样就保证了芯片中数据的安全性。
[0004]每个功能模块的正常工作必须要有时钟和复位,各功能模块是否被允许使用是由 厂商决定,并且不允许用户自行修改的,而在目前的现有技术中通常没有使用0TP寄存器 来控制各功能模块是否被允许使用的先例。

【发明内容】

[0005] 本发明的目的在于提供一种系统功能控制方法,使得这种系统功能控制方法不但 可以给软件提供功能是否启用的标志,而且可以在硬件级来控制时钟和复位,并且一旦设 置以后不能通过硬件或者软件再次改写破解。
[0006] 为解决上述技术问题,本发明提供了一种系统功能控制方法,包含以下步骤:
[0007] 在一次性编程0TP寄存器中,预先设置用于对N种系统功能进行控制的功能控制 字段;其中,N为大于或等于1的整数;
[0008] 根据所述N种系统功能的允许使用情况,设置所述功能控制字段的值;
[0009] 将设置的所述功能控制字段的值写入到所述0TP寄存器中。
[0010] 与现有技术相比,0TP不但可以给软件提供功能是否启用的标志,而且可以在硬件 级来控制时钟和复位;又由于0TP的每比特位只能编程一次,不能再次改写,所以一旦上述 功能控制字段的值设置以后是不能通过硬件或者软件再次改写破解的,增加了功能控制动 作的安全性。
[0011] 另外,上述功能控制字段包含N个比特,每一个比特对应一种系统功能,该功能控 制字段中每个比特的值,表示相应的系统功能是否被禁用。
[0012] 由于该功能控制字段包含N个比特,每一个比特的值对应一种系统功能,使整个 字段的功能控制井井有条,不容易出错。
[0013]作为本发明的进一步改进,上述功能控制字段还可以包含M个比特,M为大于N的 自然数,至少一种系统功能由所述功能控制字段中的一段字符串的值表示该系统功能是否 被禁用。
[0014] 由于M为大于N的自然数,这样就决定了 OTP寄存器的的功能控制字段不仅仅只 能包含N个比特,还可以包含N+1或更多个比特,这样就可以使用两个或两个以上的比特控 制一个功能,使本发明可以更加灵活多变的实现。
[0015] 另外,在将设置的功能控制字段的值写入到0TP寄存器的步骤之前,还包含以下 步骤:
[0016] 先检测0TP寄存器中的功能控制字段是否已被编程写入过,如果检测到功能控制 字段尚未被编程写入过,则再将设置的功能控制字段的值写入到0TP寄存器中。
[0017] 如果检测到功能控制字段尚未被编程写入过,才会将设置的功能控制字段的值写 入到该功能控制字段;如果检测到该功能控制字段已经被编程写入,则将会忽略本次写操 作,这样做就能避免将设置的功能控制字段的值写入已经编程写入过的功能控制字段,避 免出错,也可以避免因重复编程写入损坏0TP寄存器。
[0018] 此外,本发明中的0TP寄存器可以为烧断laser型0TP寄存器、熔断fuse型0TP 寄存器或电子熔丝efuse型0TP寄存器。这些类型的0TP寄存器的特点就是一次性写入, 不可改写,如果有需要,芯片厂商也可以根据客户的需要写入特定的序列号,这样,一旦上 述功能控制字段的值设置以后是不能通过硬件或者软件再次改写破解的,增加了功能控制 动作的安全性。
【附图说明】
[0019]图1是根据本发明第一实施方式中系统功能控制方法流程图;
[0020] 图2是根据本发明第三实施方式中系统功能控制方法流程图。
【具体实施方式】
[0021] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实 施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中, 为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基 于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方 案。
[0022] 本发明的第一实施方式涉及一种系统功能控制方法。具体流程如图1所示。
[0023] 首先步骤101,在一次性编程0TP寄存器中,预先设置用于对N种系统功能进行控 制的功能控制字段,其中,N为大于或等于1的整数。
[0024] 其中上述系统功能控制字段包含N个比特,每一个比特对应一种系统功能,该功 能控制字段中每个比特的值,表示相应的系统功能是否被禁用。
[0025] 由于每个字段包含一个比特,每个比特的值对应一种系统功能,使整个字段的功 能控制井井有条,不容易出错。
[0026] 上述0TP寄存器可以为烧断laser型0TP寄存器、熔断fuse型0TP寄存器或电子 熔丝efuse型0TP寄存器。efuse型0TP寄存器包含耦合电容型的efuse寄存器、串联晶 体管型的efuse寄存器和电介质击穿型的efuse寄存器。这些类型的0TP寄存器的特点 就是一次性写入,不可改写,如果有需要,芯片厂商也可以根据客户的需要写入特定的序列 号,这样,一旦上述功能控制字段的值设置以后是不能通过硬件或者软件再次改写破解的, 增加了功能控制动作的安全性。
[0027] 接着步骤102,根据上述N种系统功能的允许使用情况,设置上述功能控制字段的 值。
[0028] 其中所述的允许使用情况包括该系统功能被禁用和该系统功能被启用。
[0029] 例如硬件模块功能控制字段有4个比特,分别控制4种系统功能。对于每一比特, 设置成1以去掉对应系统的功能,即功能控制字段中的4个比特与4种系统功能一一对应, 如果功能控制字段中的某个比特位被设置成1,则表示与该比特位相对应的系统功能被禁 用。具体如表1 :
[0030] 表 1
[0031]
【主权项】
1. 一种系统功能控制方法,其特征在于,包含w下步骤: 在一次性编程OTP寄存器中,预先设置用于对N种系统功能进行控制的功能控制字段; 其中,N为大于或等于1的整数; 根据所述N种系统功能的允许使用情况,设置所述功能控制字段的值; 将设置的所述功能控制字段的值写入到所述OTP寄存器中。
2. 根据权利要求1所述的系统功能控制方法,其特征在于,所述功能控制字段包含N个 比特,每一个比特对应一种系统功能; 所述功能控制字段中每个比特的值,表示相应的系统功能是否被禁用。
3. 根据权利要求1所述的系统功能控制方法,其特征在于,所述功能控制字段包含M个 比特,M为大于N的自然数; 至少一种系统功能由所述功能控制字段中的一段字符串的值表示该系统功能是否被 禁用。
4. 根据权利要求1所述的系统功能控制方法,其特征在于,所述系统功能包含: USB存储、LCD显示、Audio音频、GPS导航。
5. 根据权利要求1所述的系统功能控制方法,其特征在于,在将设置的所述功能控制 字段的值写入到所述0TP寄存器的步骤之前,还包含W下步骤: 先检测所述0TP寄存器中的所述功能控制字段是否已被编程写入过;如果检测到所述 功能控制字段尚未被编程写入过,则再将设置的所述功能控制字段的值写入到所述0TP寄 存器中。
6. 根据权利要求1至5中任一项所述的系统功能控制方法,其特征在于,所述0TP寄存 器为W下任意一种类型的0TP寄存器: 烧断laser型0TP寄存器、烙断化se型0TP寄存器、电子烙丝e化se型0TP寄存器。
7. 根据权利要求6所述的系统功能控制方法,其特征在于, 所述e化se型0TP寄存器包含禪合电容型的e化se寄存器、串联晶体管型的e化se寄 存器和电介质击穿型的e化se寄存器。
【专利摘要】本发明涉及控制方法,公开了一种系统功能控制方法。本发明中,在一次性编程OTP寄存器中,预先设置用于对N种系统功能进行控制的功能控制字段;其中,N为大于或等于1的整数;根据上述N种系统功能的允许使用情况,设置上述功能控制字段的值;将设置的上述功能控制字段的值写入到上述OTP寄存器中。与现有技术相比,OTP可以在硬件级提供功能是否启用的标志;又由于OTP的每比特位只能编程一次,不能再次改写,所以一旦上述功能控制字段的值设置以后是不能通过硬件或者软件再次改写破解的,增加了功能控制动作的安全性。
【IPC分类】G06F21-78
【公开号】CN104573568
【申请号】CN201310513216
【发明人】蒋玉东
【申请人】上海宇芯科技有限公司
【公开日】2015年4月29日
【申请日】2013年10月25日
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1