var JQCheckerTaskInfo = [ { TaskID: 0, TaskName: "电源准备", TaskBrief: "检测前校准检测过程中需要使用的电压,便于检测过程中快速输出电压。电压范围55~270", ParamInfo: [ "预设电压1", "预设电压2", "预设电压3", "预设电压4", "预设电压5", "预设电压6", "预设电压7", "预设电压8", "预设电压9", "预设电压10", ], ReturnInfo: [], CommTestCmd: "PowerPrapare", TaskErr:21, ReturnErr:[], }, { TaskID: 1, TaskName: "上电充能", TaskBrief: "统计上电瞬间,模块功耗。电流计数方式 A = 3.3*ADC/4096/510/11", ParamInfo: ["总线电压", "采样超时0.1ms", "计时启停ADC"], ReturnInfo: ["总线电压", "大于启停的时间"], CommTestCmd: "PowerOn", TaskErr:22, ReturnErr:[23,22], }, { TaskID: 2, TaskName: "设置总线电压", TaskBrief: "设置总线电压为预设电压中的值", ParamInfo: ["总线电压"], ReturnInfo: ["总线电压"], CommTestCmd: "SetBusV", TaskErr:23, ReturnErr:[23], }, { TaskID: 3, TaskName: "获取总线电流", TaskBrief: "获取总线正反两个极性电流", ParamInfo: [], ReturnInfo: ["总线正电流", "总线反电流"], CommTestCmd: "BaseCur", TaskErr:27, ReturnErr:[27,27], }, { TaskID: 4, TaskName: "扫描UID", TaskBrief: "芯片通信测试,分配网络地址。芯片复位后,第一条通信测试命令", ParamInfo: ["使1/失0反码采集", "使0/失1UID全0验证"], ReturnInfo: [ "最大反馈电流", "最大反馈时间", "最小反馈电流", "最小反馈时间", "1字节", "3字节", "5字节", "7字节", ], CommTestCmd: "ScanUID", TaskErr:24, ReturnErr:[43,44,43,44,0,0,0,0], }, { TaskID: 5, TaskName: "密码验证", TaskBrief: "芯片密码验证", ParamInfo: ["0码/1原码验证"], ReturnInfo: [], CommTestCmd: "PWCheck", TaskErr:29, ReturnErr:[], }, { TaskID: 6, TaskName: "读取芯片代码", TaskBrief: "读取芯片代码", ParamInfo: [], ReturnInfo: ["2字节代码"], CommTestCmd: "ReadChipID", TaskErr:28, ReturnErr:[0], }, { TaskID: 7, TaskName: "OTP检测", TaskBrief: "对OTP数据进行检测,可屏蔽检测区域", ParamInfo: [ "1关/0检UID密码为0", "1关/0检延时保留区为0", "1关/0检用户区为0", ], ReturnInfo: [], CommTestCmd: "OTPCheck", TaskErr:25, ReturnErr:[25,25,25], }, { TaskID: 8, TaskName: "工厂程测检测", TaskBrief: "芯片出厂检测,会在24 25区写0xFF", ParamInfo: [], ReturnInfo: [], CommTestCmd: "FTCheck", TaskErr:38, ReturnErr:[38], }, { TaskID: 9, TaskName: "读芯片状态", TaskBrief: "将芯片状态值与参数值进行算术与操作,等于参数值表示执行成功", ParamInfo: ["状态值掩码"], ReturnInfo: ["状态码"], CommTestCmd: "ReadState", TaskErr:42, ReturnErr:[42], }, { TaskID: 10, TaskName: "写工厂信息", TaskBrief: "在OTP 20~23区间写入工厂数据", ParamInfo: ["2字节数据", "2字节数据"], ReturnInfo: [], CommTestCmd: "WriteUserInfo", TaskErr:40, ReturnErr:[], }, { TaskID: 11, TaskName: "充能统计", TaskBrief: "充能统会发送充电命令,计电流判线设定值,从上升到下降的时间。\ 同时记录充过程中最大电流。以及结束高压充电的总线电流和充电电流监控时间。\ 充电电流判线计数公式 电流=AD/4093*3.3/100/11", ParamInfo: [ "超时0.1us", "电流判线AD", "充电结束值0.1uA", "充电超时0.1S", "电流监控0.1S", ], ReturnInfo: [ "充能值0.1ms", "充末电流0.1uA", "最大充电电流0.1mA", "充电抖动ADV", ], CommTestCmd: "ChgEnergy", TaskErr:31, ReturnErr:[31,33,32,43], }, { TaskID: 12, TaskName: "充电电压检测", TaskBrief: "由高向低扫描芯片电压检测值,扫描失败返回值为0", ParamInfo: ["起始DAC", "结束DAC"], ReturnInfo: ["扫描通过的DAC"], CommTestCmd: "CheckDAC", TaskErr:30, ReturnErr:[30], }, { TaskID: 13, TaskName: "延时等待", TaskBrief: "延时流程,同时可以启动总线电流监测 设置单位0.1S。波动DAC换算 Vad/4096*3.3/100/11", ParamInfo: ["延时时间", "使1/失0电流监控"], ReturnInfo: ["电流波动DAC"], CommTestCmd: "WaitDelay", TaskErr:254, ReturnErr:[43], }, { TaskID: 14, TaskName: "写延时", TaskBrief: "向延时寄存器写入数据", ParamInfo: ["延时"], ReturnInfo: [], CommTestCmd: "SetDelay", TaskErr:36, ReturnErr:[], }, { TaskID: 15, TaskName: "读延时", TaskBrief: "读延时寄存器", ParamInfo: [], ReturnInfo: ["延时值"], CommTestCmd: "ReadDelay", TaskErr:37, ReturnErr:[37], }, { TaskID: 16, TaskName: "时钟校准", TaskBrief: "发送校准脉冲", ParamInfo: ["脉冲周期", "脉冲个数"], ReturnInfo: [], CommTestCmd: "ClkTrim", TaskErr:39, ReturnErr:[39], }, { TaskID: 17, TaskName: "放电", TaskBrief: "发送放电命令,使能快速放电,还需要配置放电时间。快速放电仅JQ2012才有。放电时间单位0.1S,该值应该大于0快速放电才有效", ParamInfo: ["0/1使能快速", "快速时间"], ReturnInfo: [], CommTestCmd: "Discharge", TaskErr:45, ReturnErr:[], }, { TaskID: 18, TaskName: "复位放电", TaskBrief: "执行复位和放电,并检测复测成功", ParamInfo: [], ReturnInfo: [], CommTestCmd: "Reset", TaskErr:45, ReturnErr:[], }, { TaskID: 19, TaskName: "起爆使能", TaskBrief: "发送起爆使能命令", ParamInfo: [], ReturnInfo: [], CommTestCmd: "BootEn", TaskErr:41, ReturnErr:[], }, { TaskID: 20, TaskName: "起爆充能", TaskBrief: "发送起爆命令后,检测起爆完成后对电容的充电。判断电流上升沿到下降沿的时间。充能电流ADC/4096*3.3/100/21", ParamInfo: ["电流判线AD", "起爆脉冲个数", "延时采集时间"], ReturnInfo: ["充能时间", "充电电流", "充电电流波动"], CommTestCmd: "BoomEnergy", TaskErr:41, ReturnErr:[41,41,43], }, { TaskID: 21, TaskName: "使能通讯末电流采集", TaskBrief: "启动命令通讯结束后电流采集,与获取通讯电流配合。两个任务间应该避免充电、OTP写和起爆操作", ParamInfo: [], ReturnInfo: [], CommTestCmd: "EnCommEndCur", TaskErr:26, ReturnErr:[], }, { TaskID: 22, TaskName: "获取通讯末电流", TaskBrief: "获取通讯电流配合与使能通讯末电流采集,获取两个任务间,通讯完成后的最大电流", ParamInfo: [], ReturnInfo: ["通讯末电流"], CommTestCmd: "GetCommEndCur", TaskErr:26, ReturnErr:[26], }, { TaskID: 23, TaskName: "写OTP数据", TaskBrief: "向芯片OTP中写入数据", ParamInfo: ["OTP地址", "数据长度", "1数据", "3数据", "5数据", "7数据"], ReturnInfo: [], CommTestCmd: "WriteOTP", TaskErr:25, ReturnErr:[], }, { TaskID: 24, TaskName: "读OTP数据", TaskBrief: "从芯片OTP中读取数据", ParamInfo: ["OTP地址", "数据长度"], ReturnInfo: ["nBytesOTP数据"], CommTestCmd: "ReadOTP", TaskErr:25, ReturnErr:[], }, { TaskID: 25, TaskName: "清除起爆命令", TaskBrief: "起爆脉冲重新计算", ParamInfo: [], ReturnInfo: [], CommTestCmd: "ClearBoom", TaskErr:41, ReturnErr:[], }, { TaskID: 26, TaskName: "关总线", TaskBrief: "关闭总线输出", ParamInfo: [], ReturnInfo: [], CommTestCmd: "PowerOff", TaskErr:254, ReturnErr:[], }, { TaskID: 27, TaskName: "缓存写入OTP", TaskBrief: "缓存数据写入OTP数据", ParamInfo: ["OTP 地址", "缓存区起始", "写入数据长度"], ReturnInfo: [], CommTestCmd: "PowerOff", TaskErr:25, ReturnErr:[], }, { TaskID: 28, TaskName: "三码绑定", TaskBrief: "注码检测指令使用,直接使用命令中的三码数据", ParamInfo: [], ReturnInfo: [], CommTestCmd: "BindUIDPWD", TaskErr:52, ReturnErr:[], }, { TaskID: 29, TaskName: "验证三码", TaskBrief: "验证芯片三码数据,直接使用命令中的三码数据", ParamInfo: [], ReturnInfo: [], CommTestCmd: "VerifyUIDPWD", TaskErr:53, ReturnErr:[], }, { TaskID: 30, TaskName: "电容压差", TaskBrief: "充电后,总线断电测试电容给芯片供电,评估芯片延时功耗", ParamInfo: ["断电时间0.1S"], ReturnInfo: ["压差mV"], CommTestCmd: "CapVoltage", TaskErr:34, ReturnErr:[34], }, { TaskID: 31, TaskName: "桥丝电阻测试", TaskBrief: "测量桥丝阻值。可配置测量模式 0 4线制, 1 2线1-4通,2 2线2-3通", ParamInfo: ["测量模式"], ReturnInfo: ["电阻0.01Ω"], CommTestCmd: "ResistorSample", TaskErr:51, ReturnErr:[51], }, { TaskID: 32, TaskName: "使能OTP", TaskBrief: "OTP使能命令", ParamInfo: [], ReturnInfo: [], CommTestCmd: "EnOTPW", TaskErr:25, ReturnErr:[], }, { TaskID: 33, TaskName: "写版本", TaskBrief: "写入模块版本号到OTP 20地址,该值应该小于32", ParamInfo: ["版本号"], ReturnInfo: [], CommTestCmd: "WriteVersion", TaskErr:25, ReturnErr:[], }, { TaskID: 34, TaskName: "读版本", TaskBrief: "获取写入的版本号", ParamInfo: [], ReturnInfo: ["版本号"], CommTestCmd: "ReadVersion", TaskErr:25, ReturnErr:[40], }, { TaskID: 35, TaskName: "写缓存数据", TaskBrief: "将系统缓存区的数据写入到OTP中,主要用于写工厂信息", ParamInfo: ["OTP地址", "缓存地址", "写入长度"], ReturnInfo: [], CommTestCmd: "WriteFacBuff", TaskErr:25, ReturnErr:[], }, { TaskID: 36, TaskName: "验证缓存数据", TaskBrief: "对比缓存数据与OTP数据", ParamInfo: ["OTP地址", "缓存地址", "验证长度"], ReturnInfo: [], CommTestCmd: "VerifyFacBuff", TaskErr:25, ReturnErr:[], }, { TaskID: 37, TaskName: "验证延时时间", TaskBrief: "验证延时和otp是否相等", ParamInfo: [], ReturnInfo: [], CommTestCmd: "VerifyFacBuff", TaskErr:37, ReturnErr:[], }, { TaskID: 38, TaskName: "切换总线极性", TaskBrief: "反复切换总线极性,输出最后一次极性切换后的电流", ParamInfo: ["间隔时间ms", "切换次数"], ReturnInfo: [], CommTestCmd: "VerifyFacBuff", TaskErr:254, ReturnErr:[], }, { TaskID: 39, TaskName: "异常判定", TaskBrief: "对已检项目进行异常判定,如果异常判定结果不在过滤范围内,则此任务失败", ParamInfo: [ "过滤值1", "过滤值2", "过滤值3", "过滤值4", "过滤值5", "过滤值6", "过滤值7", "过滤值8", "过滤值9", "过滤值10", ], ReturnInfo: [], CommTestCmd: "ResistorSample", TaskErr:0, ReturnErr:[], }, { TaskID: 40, TaskName: "重新执行任务", TaskBrief: "重新执行指定序号的任务,本次执行会覆盖之前的结果", ParamInfo: ["需要重新执行的任务序号"], ReturnInfo: [], CommTestCmd: "ResistorSample", TaskErr:0, ReturnErr:[], }, { TaskID: 41, TaskName: "配置三码数据到小板", TaskBrief: "先把三码数据写入小板缓存,然后才能使用三码绑定任务", ParamInfo: [ "uid,pwd长度", "数据0,1", "数据2,3", "数据4,5", "数据6,7", "数据8,9", "数据10,11", "数据12,13", "数据14,15", "数据16,17", ], ReturnInfo: [], CommTestCmd: "ResistorSample", TaskErr:254, ReturnErr:[], }, { TaskID: 42, TaskName: "任务插槽", TaskBrief: "程序可以动态添加要执行的任务,此任务将执行所有序号匹配的动态任务", ParamInfo: ["插槽序号"], ReturnInfo: [], CommTestCmd: "ResistorSample", TaskErr:0, ReturnErr:[], }, { TaskID: 43, TaskName: "设置电阻校准值", TaskBrief: "电阻测量的校准值,不建议将此任务添加进方案中", ParamInfo: ["电阻校准值"], ReturnInfo: [], CommTestCmd: "ResistorSample", TaskErr:254, ReturnErr:[], }, { TaskID: 44, TaskName: "写入流水号", TaskBrief: "采用读改写的方式写入27bit的流水号数据", ParamInfo: ["要写入的流水号低2字节", "要写入的流水号高2字节"], ReturnInfo: [], CommTestCmd: "ResistorSample", TaskErr:40, ReturnErr:[], }, { TaskID: 45, TaskName: "读取流水号", TaskBrief: "读取27bit的流水号数据,对比失败则此任务失败", ParamInfo: ["要校验的流水号低2字节", "要校验的流水号高2字节"], ReturnInfo: ["读取的流水号低2字节", "读取的流水号高2字节"], CommTestCmd: "ResistorSample", TaskErr:40, ReturnErr:[], }, { TaskID: 46, TaskName: "写固定延时", TaskBrief: "写入延时并掉电保存", ParamInfo: ["延时值ms"], ReturnInfo: [], CommTestCmd: "ResistorSample", TaskErr:40, ReturnErr:[], }, ]; JQ_ErrorInfo = { //错误描述 //主错误段 MajorErrInfo: [ { Info: "执行成功", MajorErrCode: 0, SubErrCode: [], ErrFac: ["未检测到异常"], }, { Info: "检测器异常", MajorErrCode: 1, SubErrCode: [21, 23, 254], ErrFac: ["1.外部短路导致检测器调压失败", "2.设备故障"], }, // 主电容异常移除 dac比较错误30,状态错误42 // 如果有电容异常,在充能阶段已经暴露 { Info: "主电容异常", MajorErrCode: 2, SubErrCode: [31, 32, 33, 34, 35], ErrFac: ["1.电容充放电测试指标超出限制", "2.电容短路、短路或损坏"], }, { Info: "接触异常", MajorErrCode: 3, SubErrCode: [27], ErrFac: ["1.线路接触异常", "2.模块铆接异常", "3.芯片虚焊或损坏"], }, // 桥丝异常移除 41,42 // 如果有桥丝异常,在dac比较阶段和电阻检阶段已暴露 { Info: "桥丝阻值异常", MajorErrCode: 4, SubErrCode: [30, 51], ErrFac: ["1.(外力导致)桥丝断", "2.桥丝焊接异常"], }, // 移除上电充能异常22,加入其他异常 { Info: "芯片异常", MajorErrCode: 5, SubErrCode: [ 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 52, 53, 54, ], ErrFac: ["1.对芯片功能(读写OTP、时钟校准等)的检测失败"], }, { Info: "判定任务缺失", MajorErrCode: 6, SubErrCode: [212], ErrFac: ["1.设备程序未更新"], }, { Info: "过流", MajorErrCode: 7, SubErrCode: [], ErrFac: ["1.模块静态电流指标超过限制"], }, { Info: "连接线短路", MajorErrCode: 8, SubErrCode: [], ErrFac: ["1.线路短路", "2.芯片焊接异常", "3.器件损坏"], }, { Info: "未执行槽任务", MajorErrCode: 9, SubErrCode: [], ErrFac: ["1.设备程序未更新"], }, { Info: "槽任务参数错误", MajorErrCode: 10, SubErrCode: [], ErrFac: ["1.槽任务(写延时、写流水号等)返回值错误"], }, { Info: "其他异常", MajorErrCode: 20, SubErrCode: [22, 255, 208, 209, 210, 211, 212, 213], ErrFac: ["1.不常见的异常"], }, ], //需要根据返回参数进行判断] SubErrInfo: [ //详细错误段 { Info: "无异常", ErrCode: 0, ErrFac: ["1.当检测任务不产生异常时使用此错误码"], }, { Info: "预设电压异常", ErrCode: 21, ErrFac: ["1.检测小板电压调节失效,存在无法设置的电压"], }, { Info: "上电充能错误", ErrCode: 22, ErrFac: [ "1.检测器输出电压异常", "2.模块上电容性负载大", "3.模块基本电路异常", ], }, { Info: "电压设置异常", ErrCode: 23, ErrFac: ["1.检测小板输出电压异常", "2.外部短路,导致过流保护"], }, { Info: "UID扫描错误", ErrCode: 24, ErrFac: ["1.芯片通信异常", "2.OTP中UID非0(启用了UID全0检测)"], }, { Info: "OTP错误", ErrCode: 25, ErrFac: ["1.OTP数据非全0(启用了全0检测)"] }, { Info: "通讯电流错误", ErrCode: 26, ErrFac: ["1.芯片反码电流异常"] }, { Info: "基本电流错误", ErrCode: 27, ErrFac: ["1.芯片的静态功耗异常", "2.检测器输出电压异常"], }, { Info: "读取芯片ID错误", ErrCode: 28, ErrFac: ["1.通信错误"] }, { Info: "密码验证错误", ErrCode: 29, ErrFac: ["1.芯片异常,内部密码与严重密码不一致"], }, { Info: "DAC比较错误", ErrCode: 30, ErrFac: [ "1.芯片异常,检测DAC不准", "2.电容端电压异常,不符合检测要求", "3.高压或充电降压通信异常", "4.芯片充电漏流偏大", ], }, { Info: "高压充能错误", ErrCode: 31, ErrFac: [ "1.电容漏流", "2.电容容值偏低或偏大", "3.芯片充电漏流,充电回路或起爆回路", "4.芯片高压基本电流偏大", "5.芯片异常,充电电流偏小", ], }, { Info: "充电电流错误", ErrCode: 32, ErrFac: ["1.芯片异常,充电电流符合指标"], }, { Info: "高压充末电流错误", ErrCode: 33, ErrFac: [ "1.电容漏流", "2.芯片充电回路漏流或起爆回路漏流", "3.芯片高压基本电流偏大", ], }, { Info: "低压充电能量错误", ErrCode: 34, ErrFac: [ "1.电容漏流", "2.电容容值偏低或偏大", "3.芯片充电漏流,充电回路或起爆回路", "4.芯片低压基本电流偏大", "5.芯片异常,充电电流偏小", "6.高压充电后不能放电", ], }, { Info: "低压充末电流错误", ErrCode: 35, ErrFac: [ "1.电容漏流", "2.芯片充电回路漏流或起爆回路漏流", "3.芯片基本功耗偏大", ], }, { Info: "写延时错误", ErrCode: 36, ErrFac: ["1.芯片设置延时功能异常", "2.通信异常"], }, { Info: "读延时错误", ErrCode: 37, ErrFac: ["1.芯片读延时功能异常", "2.通信异常"], }, { Info: "芯片程测错误", ErrCode: 38, ErrFac: ["1.芯片成测标记错误,非全FFFF", "2.通信异常"], }, { Info: "时钟校准错误", ErrCode: 39, ErrFac: ["1.检测器命令执行异常"] }, { Info: "写工厂信息错误", ErrCode: 40, ErrFac: ["1.OTP数据写入出错", "2.通信异常"], }, { Info: "模拟起爆错误", ErrCode: 41, ErrFac: ["1.发送起爆指令后无应答"] }, { Info: "芯片状态码异常", ErrCode: 42, ErrFac: ["1.状态码与设置的掩码不匹配", "2.通讯异常"], }, { Info: "通信电流错误", ErrCode: 43, ErrFac: ["1.芯片异常", "2.检测器异常"], }, { Info: "反码时长错误", ErrCode: 44, ErrFac: ["1.芯片异常,通讯无反码", "2.通讯反码电流低,不能识别"], }, { Info: "复位放电错误", ErrCode: 45, ErrFac: [ "1.高压充电后降压通讯异常", "2.芯片复位不能正常放电", "3.芯片异常,指令不执行", ], }, { Info: "桥丝阻值异常", ErrCode: 51, ErrFac: ["1.桥丝电阻不符合标准", "2.测试设备校准偏差"], }, { Info: "三码绑定失败", ErrCode: 52, ErrFac: ["1.模块已注过码", "2.芯片异常,无法注码"], }, { Info: "三码验证失败", ErrCode: 53, ErrFac: ["1.芯片异常,注码后验证失败"], }, { Info: "缓存信息写入失败", ErrCode: 54, ErrFac: ["1.系统内部缓存数据异常", "2.芯片数据写入异常"], }, { Info: "通信超时", ErrCode: 208, ErrFac: ["1.小板状态异常,不响应通信指令", "2.小板与主板之间通信异常"], }, { Info: "脚本执行失败", ErrCode: 209, ErrFac: ["1.脚本功能异常", "2.配置文件配置为不使用脚本"], }, { Info: "数据长度与方案不符", ErrCode: 210, ErrFac: ["1.小板和主板使用的方案不同,更新方案即可", "2.脚本功能异常"], }, { Info: "方案ID不符", ErrCode: 211, ErrFac: [ "1.使用的方案和脚本适配的方案不适配,更换相应的脚本或者方案即可", ], }, { Info: "检测项目不足", ErrCode: 212, ErrFac: [ "1.方案中未执行异常判定所需的任务,无法判定异常", "2.脚本功能异常", ], }, { Info: "数据不合规", ErrCode: 213, ErrFac: [ "1.用于判定的数据不具有正常的电性能检测规律,模块检测时不应出现此错误", "2.脚本功能异常", "3.方案中相关异常判定参数设置不合理", "4.小板和主板使用的方案不同但数据返回长度相同,导致错误解释了返回数据的含义", ], }, { Info: "检测器执行异常", ErrCode: 254, ErrFac: ["广播类命令执行错误"] }, { Info: "返回参数判断", ErrCode: 255, ErrFac: [] }, //需要通过指标判断 ], }; var JQ_Product_Names = ["EJ", "EQ", "EJ(Q)", "MQ"];