# TLD-110 车检器分析 > 型号: TLD-110(TLD100/200 系列)| 固件: V2.33 | 日期: 2006-07-11(最早 2003-09-05)| 平台: **P87LPC762**(8051 内核, Philips/NXP, 汇编) > 原始代码: `vd_detector/reference/TLD-110(410) code/TLD100-200-V23.asm`(1563 行汇编) > 说明: 单文件宏切换三型号(MODEL=100 TLD100 / MODEL=200 TLD200 / USER=10 TLD110),TLD-110 为单线圈。 ## 1. 平台与工程 | 项 | 值 | |----|-----| | MCU | P87LPC762(8051,NXP/Philips) | | 语言 | 纯汇编(ASM51),Keil | | 型号宏 | `MODEL=100`(TLD100 单线圈) / `MODEL=200`(TLD200 双线圈) / `USER=10`(TLD110) | | 看门狗 | WDCON / WDRST(P87LPC762 内狗) | | 通信 | 无(纯开关量输出) | ## 2. 硬件资源 - 双通道设计(A/B 线圈:A_EN/B_EN 切换,MODEL=200 双线圈,TLD110 只用 A) - 拨码 7 位:SA1/SA2/SB1/SB2/SW0/SW1/SW2(取反组合,去抖 3 次 AGE≥3) - 继电器:SOL_A / SOL_B(MODEL=200 有 A→B 方向功能) - LED:A_LED / B_LED ## 3. 检测算法 ### 3.1 频率测量(门控计数法) - **门控脉冲计数**:Timer0 预置初值(INI_T0H/L)作门控窗口,Timer1 定时,外部中断 EX0 数线圈脉冲 - 门控时间到读 COUNT(`WAIT_T` 轮询 F_OVER 或 DT1 计数耗尽) - `CAP_TIME EQU 16`:16 次累积 - 空载计数 QT(A_QTH/A_QTL)上电标定(CAL_QTA_OK) ### 3.2 检测判据(QT 相对阈值) - 阈值计算(CAL_TH_A): ``` dlt = QT × TAB_SENS[SENS] × 0x2710 / 0x1000 / 0x0A = QT × 表值 / 40960 ``` - 档位阈值比例:70→**0.171%**、55→**0.134%**、40→**0.0977%**、20→**0.0488%** - 进入/离开用 A_TRL/H(触发阈值)与 A_TFL/H(释放阈值,TAB_SENS[SENS+1] 下一档)——**滞回 = 相邻档** ### 3.3 灵敏度表 ``` TAB_SENS: DB 0x46, 0x37, 0x28, 0x14 = {70, 55, 40, 20} ``` - MODEL=100/110:灵敏度取拨码低 2 位(ANL #03H);MODEL=200 双通道各 2 位 - ⚠ skill 早期记录"{70,55,40,20}×QT/100000"**不精确**——实际换算 `×表值/40960` ### 3.4 时序/状态 - DELAY_VALUE=10、DELAY_VALUE1=40(TLD110:USER=10 时离开延时更长) - 继电器释放延时:V2.33 A1 模式 D1 断开延时 5s(2006-07-11 修改记录) - 上电/复位标定:INIT_SET → INIT_SENS → CAL_QTA(空载 QT 学习) - 拨码变化 → SENS_RESET(AUXR1 软复位) ## 4. 版本演化(文件头修改记录) | 版本 | 日期 | 内容 | |------|------|------| | V1.00 | 2003-09-05 | 初版 | | V2.0 | 2003-11-28 | TLD-100 用户码 10;TLD-200 A→B 方向功能(DIP3=ON,DIP2=OFF,DIP1=OFF) | | V2.1 | 2003-12-16 | 动态原理→静态原理(复位后一段时间原则不动,防误判) | | V2.2 | 2004-01-30 | TLD-110 双通道改 1 通道 | | V2.3 | 2005-07-07 | 断线后恢复延时 300ms→600ms | | V2.31 | 2006-02-16 | A_EN/CT 信号恒低 bug 修复;断线恢复 300ms | | V2.32 | 2006-05-30 | TLD-110 双线圈 2 路开关量 bug 修复 | | V2.33 | 2006-07-11 | A1 模式继电器 D1 断开延时 5s | ## 5. 参数速查表 | 参数 | 值 | |------|-----| | 测量方式 | 门控脉冲计数(EX0 + Timer0/1) | | 累积次数 | 16 (CAP_TIME) | | 灵敏度表 | {70,55,40,20}(Δf/f 0.171%/0.134%/0.0977%/0.0488%) | | 阈值公式 | dlt = QT×表值/40960 | | 滞回 | 相邻档(进入用档 N,释放用档 N+1) | | 去抖 | 拨码连续 3 次一致 | | 离开延时 | 10 / 40(TLD110) | | 看门狗 | WDCON/WDRST | ## 5.1 时序/速率/周期速查(2026-08-27 补) > 推导假设晶振 12MHz(8051 12T → 机器周期 1μs),**待现场验证**。 | 量 | 公式/值 | 数值 | |----|---------|------| | 机器周期 | 12MHz/12 | **1 μs** | | **单通道测量门控** | 0x8000 tick(TEST_VD)/ 0xF0FF tick(MAIN_VD) | **32.8 ms / 61.7 ms** | | **QT 更新周期** | 门控 + 通道切换 DELAY_50MS | ~83 ms(单通道) | | 检测判决 | 门控窗口结束即判(COUNT vs QT±dlt) | 32.8 ms | | 上电 QT 学习 | CAL_QTA 初始标定 + INIT_SET | ~1 s | | 离开延时 | DELAY_VALUE/DELAY_VALUE1 | 10 / 40(×50ms?待验证) | > ⚠ 门控计数法没有"滑动平均基线",QT 是上电/复位学习的一次性基准(静态原理,V2.1 起),只在拨码变化/复位时重学——这是与周期累积派最大的动态差异。 ## 6. 设计特点 1. **门控计数法**与 PD132/M1H 的**周期累积法**是两类测频路线:TLD-110 数固定窗内脉冲(频率域),PD132/M1H 累加固定数周期(周期域)——两者对噪声的敏感方向相反(计数法受脉冲抖动影响,周期法受周期抖动影响) 2. **滞回 = 相邻档**(进 N 释放 N+1)是 TLD-110 特色,与 M1H 系的"同档滞回表"不同 3. **单文件宏切换多型号**(MODEL/USER)是老 8051 工程的典型做法,注意分析时按宏展开理解