ESD二极管候选表一旦进入脚本处理,最危险的不是字段为空,而是不同条件的数据被当成可直接比较的数据。VC=12 V如果没有对应电流和波形,不能与另一行VC=18 V直接排序。
这类问题适合先用JSON Schema拦截格式和必填条件,再由工程师审核数据含义。
一条候选记录至少需要什么
json
{
"partNumber": "CANDIDATE_A",
"polarity": "bidirectional",
"channels": 1,
"vrwmV": 5,
"vbrMinV": 6,
"clamp": {
"vcMaxV": 18,
"ippA": 2.5,
"waveform": "datasheet-defined"
},
"capacitance": {
"valuePf": 0.08,
"status": "typical",
"frequency": "from-datasheet",
"biasV": "from-datasheet"
},
"package": "DFN0603-2L",
"datasheetRevision": "required"
}
示例只展示字段关系,不对应采购批准。真实记录必须从当前规格书填写,并保存来源版本。
Schema把比较条件写进结构
bash
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": [
"partNumber",
"polarity",
"channels",
"vrwmV",
"clamp",
"capacitance",
"package",
"datasheetRevision"
],
"properties": {
"partNumber": { "type": "string", "minLength": 1 },
"polarity": {
"enum": ["unidirectional", "bidirectional", "array"]
},
"channels": { "type": "integer", "minimum": 1 },
"vrwmV": { "type": "number", "exclusiveMinimum": 0 },
"vbrMinV": { "type": "number", "exclusiveMinimum": 0 },
"clamp": {
"type": "object",
"required": ["vcMaxV", "ippA", "waveform"],
"properties": {
"vcMaxV": { "type": "number", "exclusiveMinimum": 0 },
"ippA": { "type": "number", "exclusiveMinimum": 0 },
"waveform": { "type": "string", "minLength": 1 }
},
"additionalProperties": false
},
"capacitance": {
"type": "object",
"required": ["valuePf", "status", "frequency", "biasV"],
"properties": {
"valuePf": { "type": "number", "minimum": 0 },
"status": { "enum": ["typical", "maximum"] },
"frequency": { "type": ["number", "string"] },
"biasV": { "type": ["number", "string"] }
},
"additionalProperties": false
},
"package": { "type": "string", "minLength": 1 },
"datasheetRevision": { "type": "string", "minLength": 1 }
},
"additionalProperties": false
}
Ajv只负责结构校验
javascript
import Ajv2020 from "ajv/dist/2020.js";
import schema from "./esd-candidate.schema.json" with { type: "json" };
import candidate from "./candidate.json" with { type: "json" };
const ajv = new Ajv2020({ allErrors: true });
const validate = ajv.compile(schema);
if (!validate(candidate)) {
console.error(validate.errors);
process.exit(1);
}
console.log("结构完整,进入工程条件审核");
Schema通过只说明字段存在、类型正确。它不能确认规格书是否真实,也不能判断器件是否适合目标接口。
还要增加三类业务规则
电压窗口
VRWM必须覆盖线路最高正常电压,VBR不能侵入正常过冲范围。程序可以提示数值关系,线路的正常包络仍由项目输入。
钳位可比性
只有IPP、波形、温度和典型或最大状态一致时,VC才适合直接比较。不一致时输出"条件不同",不要生成从低到高排行榜。
通道与封装
阵列器件要增加引脚映射、公共端和通道电压。封装名称相同不表示焊盘、内部结构和极性相同。
ASIM候选表怎样接入
导入阿赛姆ESD二极管资料时,可把完整型号、规格书版本、VRWM、指定IPP下的VC、Cj条件、封装和通道结构写入同一对象。脚本负责拦截缺字段记录,工程师再结合芯片耐压、PCB回路和整机静电测试批准型号。
参考资料: