恩智浦 DDR 内存 SPD IC 客户使用问题案例分析分享

日期2025-09-16

前言:

 

恩智浦在30多年前发明了I2C总线,通过简单但功能强大的串行结构取代了复杂的并行接口,彻底改变了芯片与芯片之间的通信。

它采用简单的双线格式,每次传送一位数据,执行芯片间的寻址、选择、控制和数据传输,速度可达100MHz(标准模式)、400KHz(快速模式)。

1MHz(快速模式+)、3.4MHz(高速模式)或5MHz(超快速模式)等应用。

 

在 I2C 总线的应用衍生中,应用于 DDR 内存模块的温度感知内置 SPD 功能 IC SE97B 的确是一种非常特别的应用。

因为其特性为复合IC,除了需要随时监测DDR内存模块的温度状况外,还内置了256字节的EEPROM供客户存放该DDR内存模块的厂商信息。

所以 SE97B 这颗 IC 在 I2C 接口共提供了三种地址:

温度传感器

b. EEPROM

c. EEProm 软件保护指令

 

最近有个客户发现 SE97B EEPROM 无法写入的问题,希望我们帮忙分析。后来在解决客户疑问后,觉得这个问题挺有趣的,所以在这里分享给大家分析一下。

客户说这颗有问题的 SE97B 大约是在生产线上反复读写 EEProm 大约 600 次左右就发现 EEProm 某些地址无法再次写入。

但是规格书中载明 EEPROM 可循环写入清除共 10 万次。

拿到该 IC 后,使用工具进行了一些 EEPROM 的写入和读取测试。

时间模块读/写主/从功能比特率地址长度数据
06:20.1I2C      I2C比特率设置为:400
06:20.1SPI      SPI比特率设置为:4000
06:24.2I2C      I2C上拉电阻已禁用
07:39.7I2CRegWM---4000x5011
07:39.7I2CRegRM---4000x5010
07:47.6I2CWM---4000x50201 FF
07:49.3I2CRegWM---4000x5011
07:49.3I2CRegRM---4000x5010
08:06.9I2CRegWM---4000x50155
08:06.9I2CRegRM---4000x5016E
08:09.0I2CWM---4000x50255 FF
08:11.4I2CRegWM---4000x50155
08:11.4I2CRegRM---4000x5016E
08:28.2I2CRegWM---4000x501FF
08:28.2I2CRegRM---4000x501FF
08:34.8I2CWM---4000x502FF 00
08:36.4I2CRegWM---4000x501FF
08:36.4I2CRegRM---4000x5010
09:01.4I2CRegWM---4000x501
09:01.4I2CRegRM---4000x501FF
09:04.6I2CWM---4000x502FE 00
09:06.3I2CRegWM---4000x501
09:06.3I2CRegRM---4000x5010
09:12.6I2CWM---4000x502FE 55
09:13.8I2CRegWM---4000x501
09:13.8I2CRegRM---4000x50155
09:47.2I2CRegWM---4000x50180
09:47.2I2CRegRM---4000x501FF
09:50.6I2CWM---4000x50280 55
09:52.6I2CRegWM---4000x50180
09:52.6I2CRegRM---4000x50155
10:10.4I2CRegWM---4000x5017F
10:10.4I2CRegRM---4000x501FF
10:15.4I2CWM---4000x5027F 55
10:17.0I2CRegWM---4000x5017F
10:17.0I2CRegRM---4000x501FF

解析内容:

  1. 对 01h 先读取,值为 0,然后对 01h 写入 FF,读回为 0,证明 01h 无法写入。
  2. 对 55h 先读取,值为 6F,然后对 55h 写入 FF,读回为 6F,证明 55h 无法写入。
  3. 对 FFh 先读取,值为 FF,然后对 FFh 写入 00,读回为 0,此时发现 FFh 可正常写入。
  4. 后续又对 FEh 及 80h 也是先读后写,这两个位置也都可以写入。
  5. 最后先读取 7Fh,值为 FF,此时对 7Fh 写入 55,读回值仍为 FF,证明 7Fh 无法写入。

由以上得知此颗 SE97B 0h~7Fh 无法写入,而从 80h ~ FFh 仍可正常读写。

 

从规格书上说明得知前128字节可由软件保护住,符合客户这颗IC的验证状态。

 

由规格书得知保护方式有三种:PWP(永久写入保护)、RWP(可逆写保护)、CRWP(清除可逆写入保护)

但由于除了 PWP 以外,RWP 和 CRWP 都需要 A0 Pin 接 7~10V 电压配合,这较不符合客户硬件环境可能发生的状态。

所以就朝着 PWP 方向再进行澄清。

 

 

从规格书中确认在软件保护状态下,PWP下30h SE97B不会响应。

 

经验证,这颗 SE97B 果然没有响应 ACK。

最后与客户解释,由于 PWP 是不可逆的,

客户只能在软件上避免符合以下格式 30h -> XXh -> XXh 这样连续 3 种 Byte 的写法,以避免 IC 被写入 PWP 永久写入保护。

另外,SPD 在 DDR 内存模块中本来就是用于厂商信息记录用途,在完成数据写入后进行 PWP 也是正常程序,以避免以后数据被改写。

也许做 PWP 才是这颗 IC 在正常应用中应该执行的程序。

 

SE97B 规格书: https://www.nxp.com/docs/en/data-sheet/SE97B.pdf

★方案内容均由个人提供,与平台无关,如有违法或侵权,请联系大大芯方案专属信箱