在电子工程师的日常工作中,有一句话出现时往往需要保持警惕:"之前那个料号没货了,原厂推了个新版,说是Pin-to-Pin兼容,直接换上去试试。"
"Pin-to-Pin兼容"在实际项目中通常需要仔细验证,规格书翻一遍、代码过一遍才稳妥。最近遇到XTX(芯天下)SPI NAND Flash从XT26G01C到XT26G01D的版本迭代,记录一下迁移过程中值得关注的差异点。
一、硬件规格的优化项
D版在硬件指标上确实有实质提升。
时钟频率方面,C版最高支持104MHz,D版提升至120MHz。Quad I/O模式下,理论峰值吞吐量从416Mbit/s提升到480Mbit/s,加载固件或资源时能感受到差异。
功耗控制是这次升级变化比较明显的地方。C版待机电流典型值180μA,D版降至15μA,降低了一个数量级。读操作工作电流也从25mA降至20mA。对于电池供电的IoT设备或便携终端,这个差异会直接影响待机功耗预算。
擦写寿命方面,D版规格书明确标注60,000次,为可靠性评估提供了更清晰的依据。
封装上,D版在原有WSON8(8×6mm)和BGA24基础上新增了LGA8(6×5mm)选项,空间受限的设计有了更多选择。
二、软件驱动需要关注的差异点
硬件虽然Pin-to-Pin兼容,但软件层面存在两处关键差异,直接替换可能导致系统无法启动。
2.1 Device ID变化
驱动初始化时通常会读取Device ID校验芯片型号。
C版ID:0x11
D版ID:0x31
如果驱动中的ID列表未更新,系统会报错"Unknown Flash"并拒绝启动。建议在ID表中增加0x31的匹配项。
2.2 UID读取指令变更
C版使用专属指令4Bh直接读取Unique ID。D版取消了4Bh指令,改用标准Page Read流程:
-
发Set Feature(指令地址B0h)进入相应模式
-
发送13h指令执行Page Read to Cache
-
使用Read From Cache指令读出数据
如果现有代码依赖UID做设备认证或加密,需要为D版单独实现读取函数。
2.3 HSE位
D版在Feature寄存器(地址B0h)中新增了HSE(High Speed Enable)位,开启后可优化连续读取的平均时间,C版无此位。
三、迁移适配要点
| 对比项 | XT26G01C | XT26G01D | 适配动作 |
|---|---|---|---|
| Device ID | 0x11 | 0x31 | 驱动ID列表增加0x31 |
| UID读取 | 4Bh指令 | 13h + OTP流程 | 重写UID读取函数 |
| 最高频率 | 104MHz | 120MHz | 无需改动 |
| 待机电流 | 180μA | 15μA | 重新评估功耗预算 |
| 封装选项 | WSON8, BGA24 | WSON8, BGA24, LGA8 | 新设计可考虑LGA8 |
四、小结
XT26G01D在功耗和性能上的优化值得肯定。迁移时需重点关注两点:驱动代码中更新Device ID列表,以及UID读取单独适配D版的流程。两处改动不复杂,但遗漏确实会导致启动异常。
对于正在使用C版且面临供货调整的项目,建议尽早评估D版的适配工作量,规划好软硬件验证周期。
有其他踩坑经验的同行欢迎补充交流。
本文基于XT26G01C Rev 2.8和XT26G01D Rev 1.1规格书对比整理,具体参数以官方最新版本为准。
201

被折叠的 条评论
为什么被折叠?



