R&D · Thiết bị chấm điểm · Tín hiệu xe · 06/8/2026

Thu tín hiệu xe — chấm điểm sa hình (11 bài) MỚI

Bo thu tín hiệu trên xe phục vụ chấm 11 bài sát hạch trong hình. Nguyên tắc: 1 bo cho mọi xe, khác biệt chỉ ở file config. Điểm chốt sau rà soát: kiến trúc hybrid — tap dây (IO) cho body-signals; RPM lấy từ OBD-II, tốc độ từ RTK (không tap CKP/ABS); số đang gài tính từ RPM ÷ tốc độ (bỏ cảm biến cơ khí). Phần tín hiệu sân + tọa độ RTK bàn ở trang khác. Liên quan: RTK/GNSS & nhà cung cấp · Kiến trúc quản lý thiết bị · module dat.

§

Mục lục

0

Kết luận nhanh

✅ Nguyên tắc giữ

  • 1 bo cho mọi xe (12V con / 24V tải) — khác biệt ở config
  • Cách ly quang toàn bộ; tách GND_vehicle/GND_logic
  • Tap phía sau công tắc, đấu song song, không cắt dây gốc (~3mA)
  • Khối nguồn TPS54360 (60V) + mục PCB/EMC — phần mạnh, giữ nguyên

🔴 Đã sửa (lỗi nguyên lý/an toàn)

  • Gear: bỏ cảm biến số 1 kênh (bất khả thi H-pattern) → tính từ RPM÷tốc độ
  • RPM/tốc độ: KHÔNG tap CKP/ABS (engine/an toàn, phá đăng kiểm) → OBD + RTK
  • Digital in: hỗ trợ cả high-side lẫn low-side (cửa tiếp mass)

🟡 Đã bổ sung

  • Kiến trúc hybrid OBD + IO + RTK-speed
  • Thêm tín hiệu thiếu: reverse + ignition; hazard = 2 xi-nhan
  • Đường dữ liệu real-time + đồng bộ PPS với khối RTK
  • Log ký số / chống can thiệp (giá trị pháp lý)
Ranh giới: bo này lo body-signals bằng IO (phần đáng tự làm) + đóng gói/ký sự kiện. RPM/tốc độ/số không tap thô — dùng OBD/RTK đã có. Đúng kết luận ở trang RTK §6.
1

Kiến trúc tổng thể (hybrid)

┌─ ACQUISITION BOARD ─────────────────────────────────────┐ NGUỒN XE 9–36V ─────▶ │ [Nguồn] 9–36V → 5V (TPS54360) → 3.3V → 3.3V_A │ │ │ BODY (tap dây): │ ┌ Digital IN ×(11+dự phòng) ┐ │ phanh, côn, phanh │ │ cấu hình HIGH/LOW-side │─ opto PC817/814 ─▶ GPIO │ tay, xi-nhan L/R, │ └───────────────────────────┘ │ dây an toàn, cửa, │ │ số lùi, khởi động ──▶│ ┌ OBD-II (CAN/K-line) ┐ │ │ │ RPM (PID 0x0C) │─ transceiver ─▶ UART/CAN │ │ └──────────────────────┘ │ │ MCU STM32F401 · RTC DS3231 · microSD · EEPROM │ │ PPS(đồng bộ giờ) · Tamper(reed) · Watchdog │ └────────┬──────────────────────────┬─────────────────────┘ │ UART/CAN/ETH (sự kiện real-time, Đà KÝ) ▼ ▼ PPS + giờ GNSS chung ┌────────────────────────┐ ┌─────────────────────┐ │ MÁY CHẤM (tablet/IPC) │◀────▶│ KHỐI RTK (rover) │ │ engine chấm 11 bài VN │ vị trí│ vị trí+heading 20Hz │ └────────────────────────┘ 20Hz │ + TỐC ĐỘ (từ GPS) │ └─────────────────────┘
⚠️ Điểm tích hợp then chốt: khối RTK và bo thu phải chung một trục thời gian (PPS từ GNSS). Điểm số là quan hệ giữa vị trí (RTK)thao tác (bo thu) tại cùng thời điểm — lệch giờ = chấm sai. Đây là "format sự kiện chuẩn nội bộ"kiến trúc thiết bị §7 cảnh báo phải chốt sớm: sửa muộn = cập nhật firmware ngoài hiện trường.
2

Bộ tín hiệu chốt cho sa hình

Trong sa hình, phần lớn điểm là VỊ TRÍ (RTK). Vai trò bo tín hiệu xe hẹp, tập trung vào nhóm sau (~9 kênh digital + OBD + RTK). Vẫn thiết kế 16 kênh để dư cho module đường trường.

Tín hiệuNguồnLoạiGhi chú
Chân phanh🚗 tap dâyDigitalCông tắc chân phanh (phía tải)
Chân côn (ly hợp)🚗 tap dâyDigitalBài đề-pa; công tắc côn hoặc lắp thêm
Phanh tay🚗 tap dâyDigitalBài 1, 3
Xi-nhan trái / phải🚗 tap dâyDigital (xung)~1.5Hz → đo thời gian bật; hazard = cả hai cùng bật
Dây an toàn🚗 tap dâyDigitalLỗi xuyên suốt
Cửa🚗 tap dâyDigital⚠️ tiếp mass (low-side) — xem §4
Số lùi (reverse)🚗 tap dâyDigitalMỚI — công tắc đèn lùi. Bài 7, 10
Khởi động (ignition)🚗 tap dâyDigitalMỚI — bài 1
RPM (chết máy)🚗 OBD/tacho(không tap CKP)Chết máy = RPM 0 khi đang chạy bài
Tốc độ🛰️ RTK/GPS(không tap ABS)Suy từ vị trí 20Hz
Số đang gài (gear)tính toánRPM ÷ tốc độBỏ cảm biến cơ khí — xem §6
Bỏ khỏi bo sa hình (để dành module đường trường): còi, đèn pha/cốt, đèn sương mù, đèn vị trí — 11 bài trong hình không chấm các tín hiệu này. Giữ footprint dự phòng để bật sau. Đơn giản hoá bo MVP, bớt ~4–5 kênh.
3

Map 11 bài → tín hiệu chấm

🚗 tín hiệu xe · 🛰️ RTK/GPS · 🏁 hạ tầng sân · ⏱️ thời gian (firmware).

#Bài trong hìnhChấm cái gìNguồn
1Xuất phátThắt dây an toàn · xi-nhan trái · nhả phanh tay · vào số · ≤20–30s🚗 seatbelt, left_ind, handbrake, gear, RPM · ⏱️
2Dừng nhường người đi bộDừng hẳn, đúng vạch🛰️ vị trí + 🚗 speed=0/brake
3Đề-pa lên dốcĐúng vạch · không tụt >50cm · không chết máy · khởi hành ≤30s🛰️ vị trí + 🚗 RPM, handbrake, clutch, brake · ⏱️
4Vệt bánh xe + vuông gócBánh đúng vệt · không đè vạch · xi-nhan khi rẽ🛰️ vị trí bánh + 🚗 indicators
5Ngã tư đèn tín hiệuDừng khi đỏ · không đè vạch dừng · đi khi xanh🏁 đèn + 🛰️ vị trí + 🚗 brake/speed
6Đường vòng quanh co (chữ S)Không đè vạch🛰️ hầu như chỉ vị trí
7Ghép xe dọc (lùi chuồng)Vào chuồng, không đè vạch · số lùi · ≤2 phút · không chết máy🛰️ vị trí + 🚗 reverse, RPM · ⏱️
8Tạm dừng đường sắtDừng hẳn đúng vạch🛰️ vị trí + 🚗 speed=0/brake
9Thay đổi số đường bằngLên đủ số / đạt số-tốc-độ trong đoạn🚗 gear + RPM + speed + 🛰️ đoạn đường
10Ghép xe ngang (đỗ song song)Vào ô đỗ, không đè vạch · số lùi🛰️ vị trí + 🚗 reverse
11Kết thúcXi-nhan phải · về đúng vạch🚗 right_ind + 🛰️ vị trí
+Tình huống nguy hiểmKích hoạt ngẫu nhiên → thời gian phản ứng phanh + đèn khẩn (hazard)🏁 kích hoạt + 🚗 brake, hazard + ⏱️
Lỗi xuyên suốtChết máy · quá tốc độ · cửa mở · tháo dây an toàn · quá thời gian · đè vạch🚗 RPM, door, seatbelt · 🛰️ speed, đè vạch · ⏱️
⚠️ Ngưỡng cụ thể (tụt dốc bao nhiêu cm, quá thời gian bao lâu, đè vạch trừ mấy điểm) phải lấy từ QCVN / TT 108/2026 — mục đang chặn. Bảng này là khung tín hiệu; con số neo vào văn bản gốc.
4

Mạch Digital Input — high/low-side

Thiết kế 1 kênh chuẩn, nhân 16 kênh. Sửa so với bản gốc: phải nhận cả tín hiệu high-side (có 12/24V khi tác động: phanh, xi-nhan…) lẫn low-side/tiếp mass (cửa: mở = mass). Topology cố định của bản gốc khiến tín hiệu tiếp mass không có đường dòng thắp LED opto và bị đảo cực.

HIGH-SIDE (mặc định — dây có 12/24V khi tác động): XE_IN ─ R1 3.9k ─ D2(1N4148) ─▶|LED opto|─▶ GND_vehicle (PC817) ─ transistor ─▶ MCU GPIO (pull-up 3.3V) LOW-SIDE (cửa — dây nối mass khi tác động): +12V_xe ─ R1 3.9k ─ D2 ─▶|LED opto|─▶ XE_IN (mass khi mở cửa) → LED sáng khi mở → Gọn nhất: opto ĐẦU VÀO LƯỠNG CỰC (PC814 / cầu diode) nhận cả 2 kiểu, không cần jumper.
Ký hiệuGiá trịGhi chú
R13.9kΩ 0.25W~2.8mA@12V, ~5.8mA@24V, ~9mA@36V — an toàn
D21N4148Chặn áp ngược LED (bỏ nếu dùng opto AC-input)
C1100nF/50VLọc nhiễu, chống rung
UPC817C / PC814 (AC-input)PC814 nhận lưỡng cực → 1 kênh nhận cả 2 kiểu
R3 / C210kΩ pull-up / 10nFPull-up collector → 3.3V; debounce (tùy chọn)
TVSSMBJ24ABảo vệ dây dài ngoài xe
✅ Quy ước logic active-low ở GPIO; firmware đọc theo active từng kênh. Xi-nhan là xung ~1.5Hz → đo thời gian bật, không đọc mức tức thời. Xe đời mới băm xung đèn (PWM) → RC lọc, kiểm hằng số thời gian.
5

RPM & tốc độ — KHÔNG tap CKP/ABS

Tốc độ ← RTK/GPS

  • Khối RTK đã cho vị trí 20Hz → tốc độ suy từ vi phân vị trí
  • Chính xác nhất, không tap ABS (tránh set fault hệ an toàn, giữ đăng kiểm)
  • Bo thu nhận tốc độ qua đường dữ liệu chung với máy chấm

RPM ← OBD-II / tacho

  • Ưu tiên OBD-II: PID 0x0C (Engine RPM), chuẩn SAE J1979, poll 10–20Hz — đủ bắt "chết máy"
  • Dự phòng: tap dây tacho / chân W (đã đệm) qua opto tốc độ cao 6N137 (PC817 quá chậm cho vài kHz)
  • TUYỆT ĐỐI không tap CKP/CMP thô (engine-critical, VR mức thấp → ECU đọc sai)
⚠️ Tap CKP (trục khuỷu) và ABS là tap đúng hai thứ nguy hiểm nhất — bản thiết kế gốc chọn nhầm. Chúng là cảm biến engine/an toàn; tap vào gây lỗi ECU/ABS và phá điều kiện đăng kiểm của xe sát hạch (theo khung pháp lý). Dùng OBD + RTK — thứ đã có sẵn.
6

Số đang gài (gear) — tính toán

Vì sao bỏ cảm biến cơ khí: cần số sàn H-pattern có 2 bậc tự do (chọn rãnh trái–phải + gài trước–sau). Một kênh analog + ngưỡng ADC ánh xạ 1 giá trị → số là bất khả thi (không phân biệt 1/3/5). Cảm biến 2 trục thì đắt, lắp xâm nhập, khác nhau từng xe.

ti_so = RPM / max(speed_kmh, ε) gear = argmin_i | ti_so − k_i | (k_i = hằng số từng số, trong config) · clutch=1 hoặc speed≈0 → N / không xác định (không tính lỗi) · số lùi (reverse) → lấy trực tiếp từ CÔNG TẮC ĐÈN LÙI (1 kênh digital) · k_i hiệu chuẩn 1 lần/dòng xe: chạy từng số ở tốc độ ổn định, ghi RPM/speed
✅ Đủ tin cậy cho bài 9 (thay đổi số) và bài 3 (số 1 khi đề-pa). Loại bỏ hoàn toàn phần cơ khí khó nhất — cũng chính là điểm mà nhà cung cấp TQ (Litai) phải bán "档位传感器" rời vì khó.
7

Nguồn · MCU · đồng bộ · log

Khối nguồn (9–36V → 5V → 3.3V)

VBAT ─ F1 2A ─ D1 SS34 ─┬─ TVS(load dump) ─ GND ├─ C1 100µF/63V, C2 100nF/100V └─ U1 TPS54360 (4.5–60V) ─ L1 10µH ─ +5V ─┬─ U2 TLV75533 ─ +3.3V └─ L3 ferrite ─ +3.3V_A
⚠️ Nâng cấp bảo vệ load dump 24V: SMBJ33A (gói SMB ~600W) có thể không nuốt nổi load dump xe 24V (ISO 7637-2). Dùng gói lớn hơn SMDJ33A và kiểm điện áp kẹp < 60V (abs max TPS54360). Giữ TPS54360 (60V) — đừng dùng buck 36V (LM2596/XL4015).

MCU, lưu trữ, đồng bộ, chống can thiệp

Chức năngLinh kiệnGhi chú
MCUSTM32F401 (thay F103C8T6)Dư RAM/tốc độ cho: 16 GPIO + OBD + ghi SD + đóng gói/ký sự kiện. F103C8 nhiều hàng clone/EOL, ghi SD song song đếm xung dễ rớt
RTC + đồng bộ giờDS3231 + CR2032 · chân PPSKỷ luật bằng PPS từ GNSS → chung trục thời gian với RTK (bắt buộc)
Đường dữ liệu real-timeUART / CAN / EthernetSự kiện thời gian thực ra máy chấm — không chỉ ghi SD
Lưu trữ + configmicroSD (SPI) · EEPROM 24LC256Log thô 10–50Hz (lưới an toàn) · config từng xe
Log ký sốHMAC/chữ ký theo phiênGiá trị pháp lý — QCVN cấm tự ý đổi sau kiểm chuẩn
Tamper · WatchdogReed switch · IWDG + TPS3823Mở hộp → gắn cờ; auto-restart khi treo
8

PCB & EMC

Phần mạnh của thiết kế — giữ nguyên.

Cách ly & ground

  • PCB 4 lớp (2 tín hiệu + ground plane + power plane)
  • Creepage ≥ 8mm dưới opto, không phủ đồng — cô lập vùng xe / MCU
  • GND_vehicleGND_logic nối 1 điểm duy nhất (0Ω/ferrite)

Bảo vệ & môi trường

  • TVS ngay tại đầu nối, trước mọi linh kiện, đuôi ngắn (SMBJ24A digital, BAV99 analog)
  • Opto tốc độ cao 6N137 cho kênh xung (nếu dùng dây tacho)
  • Thạch anh gần MCU, tách vùng công suất
  • Conformal coating + hộp IP54+; cố định tụ/đầu nối chống rung; sleep < 2mA
9

File config theo xe

Cùng 1 firmware, đổi file config là đổi loại xe. So với bản gốc: bỏ gear_sensor analog, thêm reverse/ignition, side high/low, gear tính từ tỉ số.

{
  "vehicle": "HYUNDAI-ACCENT-2023-B2",
  "supply_voltage": 12,
  "time_source": "gnss_pps",
  "speed_source": "rtk",        // không tap ABS
  "rpm_source": "obd",           // PID 0x0C, không tap CKP
  "digital": {
    "brake":     { "pin":"PA0", "side":"high", "active":"low" },
    "clutch":    { "pin":"PA1", "side":"high", "active":"low" },
    "handbrake": { "pin":"PA2", "side":"high", "active":"low" },
    "left_ind":  { "pin":"PA3", "side":"high", "active":"low", "pulse":true },
    "right_ind": { "pin":"PA4", "side":"high", "active":"low", "pulse":true },
    "seatbelt":  { "pin":"PA5", "side":"high", "active":"low" },
    "door":      { "pin":"PA6", "side":"low",  "active":"low" },
    "reverse":   { "pin":"PA7", "side":"high", "active":"low" },
    "ignition":  { "pin":"PB0", "side":"high", "active":"low" }
  },
  "derived": {
    "hazard": "left_ind && right_ind",
    "stall":  "rpm < 300 && !clutch && speed_kmh < 3",
    "gear":   { "method":"rpm_over_speed",
                "ratios":{ "1":135, "2":78, "3":52, "4":39, "5":31 },
                "reverse_from":"reverse" }
  },
  "obd": { "protocol":"auto", "rpm_pid":"0x0C", "poll_hz":15 }
}

side = kiểu đấu phần cứng (high/low), active = cực tính logic. pulse:true cho xi-nhan → đo thời gian bật. Xe số tự động: bỏ clutch, gear lấy từ OBD nếu có PID số, hoặc null.

10

Đang chặn & việc còn mở

ViệcMứcGhi chú
Danh sách lỗi trừ điểm + ngưỡng theo QCVN/TT 108/2026🔴 ChặnNeo mọi ngưỡng (tụt dốc, thời gian, đè vạch)
Danh sách 11 bài có đổi theo TT 108/2026 không🔴 ChặnẢnh hưởng bộ tín hiệu
Format sự kiện chuẩn nội bộ (bo thu ↔ RTK ↔ máy chấm)🔴 Chốt sớmHợp đồng phần cứng–phần mềm; sửa muộn = OTA firmware
OBD-II có trả RPM trên xe sát hạch VN (i10, Morning, Vios, Accent…)?⚠️Nếu không → dây tacho + 6N137
Tap dây phía nào (bulb vs BCM) cho xi-nhan/đèn xe đời mới (CAN/PWM)⚠️Tap tại bóng đèn, lọc PWM
Quy trình lắp không phá đăng kiểm + được trung tâm chấp nhận⚠️Đấu song song, reversible, có tài liệu
Hiệu chuẩn ratios gear + offset từng dòng xe⚠️Quy trình chuẩn 1 lần/dòng xe
Load dump 24V — chọn TVS + verify clamp < 60V🟢Bench test ISO 7637-2
Nguồn: docs/RD/RTK/thu-tin-hieu-xe-thiet-ke.md (bản thiết kế đầy đủ). Chỉ phủ tín hiệu trên xe cho sa hình; phần tín hiệu sân + tọa độ RTK (đè vạch) và module đường trường (đèn/còi/sương mù) ở tài liệu riêng.