4、安全拆卸与PCB识别:如何安全拆卸芯片、识别PCB上的Flash芯片型号
拿到一块陌生的IoT设备PCB,别急着上编程器。我见过太多人上来就把芯片吹下来,结果焊盘掉了、引脚歪了,数据没读到,板子先废了。这一章,咱们聊聊怎么安全地把Flash芯片从板子上请下来,以及怎么一眼认出它是什么型号。
4.1 拆卸前的准备工作
动手之前,先问自己三个问题:
- 这芯片真的需要拆吗? 很多情况下,用夹子或者飞线就能读,没必要动烙铁。
- 我有合适的工具吗? 热风枪、助焊剂、镊子、高温胶带,缺一不可。
- 我备份了周围元件的照片吗? 拆之前拍张高清大图,装回去的时候你就知道这步有多重要了。
我的习惯: 每次拆芯片前,我会用记号笔在PCB上画个箭头,标注芯片的1脚位置。别笑,真有人拆下来忘了方向,装反了直接冒烟。
4.2 安全拆卸芯片的实操步骤
这里以最常见的SOIC-8封装Flash芯片为例。其他封装原理类似,但温度和手法要微调。
4.2.1 热风枪拆卸法
- 贴高温胶带: 把芯片周围的小电阻、电容、连接器都贴上高温胶带保护起来。我吃过这个亏——有一次吹芯片,旁边一个0402的电容直接飞了,找都找不到。
- 上助焊剂: 在芯片引脚上涂一层助焊剂,别省,这玩意儿能大大缩短加热时间。
- 设置温度: 一般SOIC-8用280-320°C,风速2-3档。别一上来就开400°C,板子会起泡。
- 均匀加热: 风嘴距离芯片1-2厘米,画圈加热。大概10-15秒后,用镊子轻轻推一下芯片,如果能滑动,说明焊锡全化了。
- 取下芯片: 用镊子夹起芯片,动作要轻、要稳。别硬撬,硬撬大概率掉焊盘。
警告: 热风枪吹过的PCB区域非常烫!拆下来的芯片也烫!放在隔热垫上冷却至少30秒再碰。我曾经徒手拿刚吹下来的芯片,手指上直接起了个泡,疼了好几天。
4.2.2 烙铁拆卸法(无热风枪时)
如果你手头只有烙铁,也不是不能拆。方法是用堆锡法:在芯片两排引脚上堆满焊锡,然后左右两个烙铁同时加热,快速取下芯片。这个方法对操作要求高,容易伤焊盘,新手慎用。
4.3 识别PCB上的Flash芯片型号
芯片拆下来了,或者你决定在板上直接读,那第一步就是搞清楚它是什么型号。别指望所有芯片都印得清清楚楚,有些厂家会把型号磨掉(这叫“打磨片”),这时候就得靠经验了。
4.3.1 看丝印
芯片表面印的字就是丝印。通常包含这几部分信息:
- 品牌Logo: Winbond、MXIC、GigaDevice、Spansion、Macronix……认准这些常见品牌。
- 型号编号: 比如“W25Q64FVSSIG”,其中“W25Q64”就是核心型号,表示64Mbit(8MB)的SPI Flash。
- 批次号/日期码: 一般跟型号分开一行,别搞混了。
| 品牌 | 常见型号前缀 | 典型容量标识 |
|---|---|---|
| Winbond | W25Q | 16=16Mbit, 32=32Mbit, 64=64Mbit, 128=128Mbit |
| MXIC (旺宏) | MX25L | 1605=16Mbit, 3205=32Mbit, 6405=64Mbit |
| GigaDevice | GD25Q | 16=16Mbit, 32=32Mbit, 64=64Mbit |
| Spansion/Cypress | S25FL | 116=16Mbit, 132=32Mbit, 164=64Mbit |
| Macronix | MX25U | 1635=16Mbit, 3235=32Mbit |
关键点: 容量标识后面的字母代表封装和温度范围,比如“SSIG”表示SOIC-8封装、工业级。读固件时,封装和温度范围不重要,但容量和电压等级必须看准。
4.3.2 查数据手册
拿到型号后,去官网或者百度搜“型号+datasheet”。你需要确认这几个参数:
- 供电电压: 3.3V还是1.8V?接错电压芯片会烧。我见过有人把1.8V的芯片插到3.3V的编程器上,直接冒烟。
- 接口类型: SPI、QSPI、Parallel?大部分IoT设备用SPI/QSPI。
- 指令集: 读ID指令(0x9F)、读数据指令(0x03/0x0B)等,编程器会自动识别,但手动操作时要知道。
4.3.3 遇到打磨片怎么办?
有些设备厂商为了防抄板,会把芯片型号磨掉。这时候别慌,我有几个土办法:
- 看PCB走线: 数一下芯片有多少个脚,看看VCC和GND连到哪。SPI Flash的1脚通常是片选(CS),6脚是时钟(CLK),5脚是MISO,2脚是MOSI。对照着走线能猜个八九不离十。
- 用编程器读ID: 把夹子夹上,用编程器软件发0x9F指令,芯片会返回3个字节的厂商ID和器件ID。查一下这个ID就知道型号了。这是最靠谱的方法。
- 看周边电路: 如果板子上有DC-DC转换器输出1.8V,那Flash大概率是1.8V的。如果直接接3.3V,那就是3.3V的。
4.4 核心知识体系:拆卸与识别流程
下面这张图总结了我个人习惯的完整流程,从拿到PCB到确认芯片型号,每一步都别跳。
4.5 常见封装与对应工具
不同封装的Flash芯片,拆卸和夹取的工具不一样。我整理了一张表,方便你对照着准备工具。
| 封装类型 | 引脚数 | 常见尺寸 | 推荐拆卸方式 | 在线编程夹 |
|---|---|---|---|---|
| SOIC-8 | 8 | 150mil宽 | 热风枪280-320°C | SOIC-8夹子(最常见) |
| SOIC-16 | 16 | 300mil宽 | 热风枪300-340°C | SOIC-16夹子 |
| TSOP-48 | 48 | 12x20mm | 热风枪320-360°C + 预热台 | TSOP-48夹子(较贵) |
| QFN-8 | 8 | 2x3mm或3x4mm | 热风枪300-340°C,注意别吹跑 | 专用QFN夹子或飞线 |
| BGA-8 | 8 | 2x3mm | 热风枪320-360°C,底部预热 | 几乎无法用夹子,必须拆 |
避坑指南: 我曾经遇到一个QFN-8封装的Flash,芯片太小,热风枪一吹就偏了。后来我用尖头烙铁配合助焊剂,一个一个脚焊上飞线才读出来。小封装芯片,耐心比工具更重要。
4.6 写在最后
拆卸和识别是固件提取的第一步,也是最容易翻车的一步。我的建议是:能不拆就不拆,能夹着读就别动烙铁。如果非要拆,一定做好防护和记录。芯片型号认准了再上编程器,电压搞错了就是一颗芯片的代价。
嗯,这一章的内容就到这儿。工具准备好了,型号也认清了,下一件事就是怎么把数据读出来了。