用Python检查ESD封装与焊盘清单,防止同尺寸误替代

0 阅读2分钟

ESD二极管替代审核常从Excel或CSV开始。如果脚本只比较package_name,同为DFN1006-2L的器件就可能被误判为可替代。机械兼容至少要比较图纸版本、焊盘库、极性和尺寸范围,电气条件则另行审核。

定义清单字段

下面使用合成数据演示,不代表任何实际型号参数:

from dataclasses import dataclass

@dataclass(frozen=True)
class EsdFootprint:
    part_number: str
    package_name: str
    body_length_mm: tuple[float, float]
    body_width_mm: tuple[float, float]
    footprint_id: str
    polarity: str
    drawing_revision: str

def mechanical_differences(a: EsdFootprint, b: EsdFootprint) -> list[str]:
    fields = (
        "package_name",
        "body_length_mm",
        "body_width_mm",
        "footprint_id",
        "polarity",
        "drawing_revision",
    )
    return [name for name in fields if getattr(a, name) != getattr(b, name)]

这里故意把footprint_id和drawing_revision作为必查项。相同封装简称不代表推荐焊盘与图纸版本相同。

让脚本给出“待审核”而不是“可替代”

def replacement_status(a: EsdFootprint, b: EsdFootprint) -> str:
    differences = mechanical_differences(a, b)
    if differences:
        return "mechanical_review:" + ",".join(differences)
    return "electrical_and_board_validation_required"

即使机械字段全部一致,函数也不会返回“approved”。后续仍要核对VRWM、结电容、IR、VC、IPP、单向/双向结构以及整机ESD结果。

实际工程再加三道检查

  1. 附件哈希:确保审核的是同一份PDF图纸;
  2. 单位规范:毫米和英寸进入数据库前统一;
  3. 容差区间:不要把典型尺寸与最大外形混在一起比较。

阿赛姆ESD3V3D500TA Rev1.1公开封装图给出DFN1006-2L机械尺寸和焊盘信息,可作为建库来源。导入时应保留完整料号、版本、页码与原始链接。

参考资料: