用户反馈: 分析需量化时序/速率/周期, 光有窗口数没有更新周期等于没量化。 每型号新增 §5.1 时序速查: - 测量节拍 (CAPVD 更新) = BASE/捕获时钟: M1H 32.8ms / PD132L 27.3ms / PD132T 43.7ms (12MHz 假设, 待现场验证) - 基线更新周期 = 窗口×节拍: 3.28s / 2.73s / 4.37s - IIR τ = 节拍×256/ALFA: 106ms / 88ms / 142ms - TLD-110 门控 32.8ms/61.7ms, QT 一次性学习无滑动平均 (静态原理) 对比总表加 5 行时序维度; 标注 12MHz 推导假设
4.8 KiB
4.8 KiB
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. 设计特点
- 门控计数法与 PD132/M1H 的周期累积法是两类测频路线:TLD-110 数固定窗内脉冲(频率域),PD132/M1H 累加固定数周期(周期域)——两者对噪声的敏感方向相反(计数法受脉冲抖动影响,周期法受周期抖动影响)
- 滞回 = 相邻档(进 N 释放 N+1)是 TLD-110 特色,与 M1H 系的"同档滞回表"不同
- 单文件宏切换多型号(MODEL/USER)是老 8051 工程的典型做法,注意分析时按宏展开理解