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) và 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ộ" mà 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_vehicle ↔ GND_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. Bản thảo: Protocol tín hiệu xe
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.