eFuse 使用指南
1. 模块介绍
1.1. 术语定义
术语 | 定义 | 注释说明 |
---|---|---|
SID | Secure ID | 安全 ID 模块 |
eFuse | Electric Fuse | 电子熔丝 |
1.2. eFuse 简介
芯片电路通常是生产时物理固化的电路,生产完成之后不可改变。实际应用中有一些重要信息,需要固化在芯片之中, 使得上电即可读取使用,比如一些硬件的性能参数信息。但是这些参数可能与芯片的生产工艺、所用的材料等有关系, 无法在设计时确定,因此需要有一种存储技术,即可以固化信息,又能够在生产之后进行修改。
eFuse 就是一种允许芯片上的电路在运行时进行修改的技术。它类似 EEPROM,属于一次性可编程存储器。eFuse ROM 里初始存储的内容都是 0,当需要修改某个比特位的值时,通过片上电压(通常为2.5V)提供一个持续一定时长的直流脉冲, 将代表该比特位的单根熔丝烧断,使得该比特位变为 1。熔丝被烧断之后,无法再恢复连接,因此这样的修改是一次性不可逆的。
1.3. eFuse 的应用
Artinchip 芯片中使用 eFuse 保存的配置信息包括(但不限于):
- 芯片 ID
- 校准参数
- 功能开关配置
- 密钥信息
eFuse 内容通过 SID 硬件模块来访问。
2. 参数配置
通常eFuse 信息的读写启动程序、生产过程比较相关,内核以及用户态程序不需要关心 eFuse 的内容。 但由于 eFuse 中也可以保留一些产品相关的信息,因此也可以通过内核相关驱动读取 eFuse。