Trình mô phỏng xe J1939
Phần mềm mô phỏng xe hơi hỗ trợ giao tiếp CAN J1939.
Tổng quan
Phần mềm mô phỏng xe ( gva-vehicle-sim ) là một công cụ thử nghiệm và phát triển toàn diện cho nền tảng GVA (Generic Vehicle Architecture). Nó cung cấp khả năng mô phỏng động lực học xe thực tế với việc tích hợp tạo thông điệp bus CAN J1939 , cho phép thử nghiệm phần cứng trong vòng lặp mà không cần phần cứng xe vật lý.
Lợi ích của mô phỏng J1939 đối với việc tạo tin nhắn
🎯 Ưu điểm trong Phát triển & Thử nghiệm
Phát triển độc lập phần cứng
- Phát triển và thử nghiệm các ứng dụng GVA mà không cần phần cứng CAN vật lý.
- Không cần đến các thiết bị điều khiển điện tử (ECU) đắt tiền hoặc các bệ thử nghiệm.
- Phát triển song song giữa nhiều nhóm.
Hành vi xe cộ thực tế
- Tạo ra các Mã Nhóm Tham Số (PGN) và Mã Tham Số Nghi Ngờ (SPN) chính xác theo tiêu chuẩn J1939.
- Mô phỏng động lực học thực tế của xe (tốc độ, vòng tua máy, chuyển số, phanh).
- Cung cấp dữ liệu cảm biến được đồng bộ hóa theo thời gian.
Giảm chi phí
- Loại bỏ nhu cầu sử dụng các phương tiện thử nghiệm vật lý trong giai đoạn phát triển ban đầu.
- Giao diện CAN ảo (
vcan0) cho phép kiểm tra trên bất kỳ máy trạm Linux nào. - Giảm hao mòn phần cứng vật lý
Tạo mẫu nhanh
- Vòng phản hồi tức thời cho việc phát triển thuật toán
- Tạo và phát lại kịch bản dễ dàng
- Tốc độ gửi tin nhắn và kiểu dữ liệu có thể cấu hình
Kiểm thử tích hợp
- Xác thực chức năng cổng J1939
- Luồng dữ liệu kiểm thử từ CAN đến các chủ đề DDS
- Kiểm tra khả năng phản hồi của giao diện người dùng (HMI) đối với các thông số của xe.
Kiểm thử có thể tái tạo
- Hành vi phương tiện mang tính xác định
- Các kịch bản kiểm thử có thể lặp lại
- Cơ sở nhất quán cho kiểm thử hồi quy
📊 Hỗ trợ tin nhắn J1939
✅ Hỗ trợ đầy đủ PGN (Đã được tích hợp trong Trình mô phỏng phương tiện)
Bộ mô phỏng xe chủ động tạo ra các thông báo J1939 sau qua CAN và gửi chúng đến DDS thông qua cổng kết nối:
| PGN | Hex | Tên | Tỷ lệ | SPNs | Sự miêu tả |
|---|---|---|---|---|---|
| 61443 | 0xF003 | EEC2 - Bộ điều khiển động cơ điện tử 2 | 50ms | 91, 92 | Vị trí bàn đạp ga, phần trăm tải trọng động cơ |
| 61444 | 0xF004 | EEC1 - Bộ điều khiển động cơ điện tử 1 | 100ms | 190, 512, 513 | Tốc độ động cơ (vòng/phút), mô-men xoắn theo yêu cầu của người lái, mô-men xoắn thực tế của động cơ |
| 61445 | 0xF005 | ETC2 - Bộ điều khiển truyền động điện tử 2 | 100ms | 522, 523, 524 | Vị trí ly hợp, số đã chọn, số hiện tại |
| 61449 | 0xF009 | VDC2 - Hệ thống điều khiển động lực xe 2 | 100ms | 1807, 1808 | Góc lái, tốc độ quay |
| 65253 | 0xFEE5 | GIỜ - Giờ hoạt động của động cơ | 1 giây | 247 | Tổng số giờ hoạt động của động cơ |
| 65256 | 0xFEE8 | VDS - Hướng/Tốc độ của phương tiện | 250ms | 517, 519, 586 | Tốc độ trên mặt đất, hướng la bàn, đường đi |
| 65258 | 0xFEEA | ALT - Độ cao | 1 giây | 580 | Độ cao GPS so với mực nước biển |
| 65262 | 0xFEEE | ET1 - Nhiệt độ động cơ 1 | 1 giây | 110, 174, 175 | Nhiệt độ nước làm mát động cơ, nhiệt độ nhiên liệu, nhiệt độ dầu |
| 65263 | 0xFEEF | EFLP - Mức/Áp suất chất lỏng động cơ | 500ms | 96, 100, 94 | Mức nhiên liệu, áp suất dầu, áp suất cung cấp nhiên liệu |
| 65265 | 0xFEF1 | CCVS - Hệ thống kiểm soát hành trình/Tốc độ xe | 100ms | 84, 597, 598 | Tốc độ xe dựa trên bánh xe, công tắc phanh, công tắc ly hợp |
| 65267 | 0xFEF3 | Phó Chủ tịch - Vị trí Xe | 250ms | 584, 585 | Vĩ độ, kinh độ GPS |
| 65269 | 0xFEF5 | AMB - Điều kiện môi trường xung quanh | 1 giây | 108, 171 | Áp suất khí quyển, nhiệt độ không khí xung quanh |
| 65271 | 0xFEF7 | VEP1 - Hệ thống điện xe 1 | 1 giây | 167, 168, 158 | Điện áp ắc quy, điện áp máy phát điện, điện áp hệ thống sạc |
| 65276 | 0xFEFC | DD - Màn hình hiển thị trên bảng điều khiển | 1 giây | 182, 183 | Mức tiêu thụ nhiên liệu (L/h), mức tiết kiệm nhiên liệu tức thời |
| 0xEF00 | 0xEF00 | PROP_A - Độc quyền A (IONNIC USM) | 250ms | - | Điều khiển đèn LED cho bảng điều khiển IONNIC USM ES-Key |
Danh sách SPN chi tiết (Tất cả các tham số được hỗ trợ)
| SPN | Tên tham số | PGN | Đơn vị | Nghị quyết | Bù lại | Phạm vi |
|---|---|---|---|---|---|---|
| 84 | Tốc độ xe dựa trên bánh xe | 65265 | km/h | 1/256 km/h | 0 | 0-250 km/h |
| 91 | Vị trí bàn đạp ga | 61443 | % | 0,4% | 0 | 0-100% |
| 92 | Tỷ lệ tải trọng động cơ ở tốc độ hiện tại | 61443/61444 | % | 1% | 0 | 0-100% |
| 94 | Áp suất cung cấp nhiên liệu | 65263 | kPa | 4 kPa | 0 | 0-1000 kPa |
| 96 | Mức nhiên liệu | 65263 | % | 0,4% | 0 | 0-100% |
| 100 | Áp suất dầu động cơ | 65263 | kPa | 4 kPa | 0 | 0-1000 kPa |
| 108 | Áp suất khí quyển | 65269 | kPa | 0,5 kPa | 0 | 0-125 kPa |
| 110 | Nhiệt độ nước làm mát động cơ | 65262 | °C | 1°C | -40 | -40 đến +210°C |
| 158 | Điện áp hệ thống sạc | 65271 | V | 0,05 V | 0 | 0-3212 V |
| 167 | Điện áp máy phát điện | 65271 | V | 0,05 V | 0 | 0-3212 V |
| 168 | Điện áp pin | 65271 | V | 0,05 V | 0 | 0-3212 V |
| 171 | Nhiệt độ không khí xung quanh | 65269 | °C | 0,03125°C | -273 | -273 đến +1735°C |
| 174 | Nhiệt độ nhiên liệu | 65262 | °C | 1°C | -40 | -40 đến +210°C |
| 175 | Nhiệt độ dầu động cơ | 65262 | °C | 0,03125°C | -273 | -273 đến +1735°C |
| 182 | Tỷ lệ nhiên liệu | 65276 | L/giờ | 0,05 L/giờ | 0 | 0-3212 L/h |
| 183 | Tiết kiệm nhiên liệu tức thời | 65276 | km/L | 1/512 km/L | 0 | 0-125 km/L |
| 190 | Tốc độ động cơ | 61444 | RPM | 0,125 vòng/phút | 0 | 0-8031 vòng/phút |
| 247 | Tổng số giờ hoạt động của động cơ | 65253 | h | 0,05 giờ | 0 | 0-210.554.060 giờ |
| 512 | Mô-men xoắn động cơ theo yêu cầu của người lái | 61444 | % | 1% | -125 | -125% đến +125% |
| 513 | Mô-men xoắn thực của động cơ | 61444 | % | 1% | -125 | -125% đến +125% |
| 517 | Tốc độ trên mặt đất | 65256 | km/h | 1/256 km/h | 0 | 0-250 km/h |
| 519 | Khóa học trên mặt đất | 65256 | độ | 1/128 độ | 0 | 0-360° |
| 522 | Vị trí bàn đạp ly hợp | 61445 | % | 0,4% | 0 | 0-100% |
| 523 | Bộ truyền động hiện tại | 61445 | bánh răng | 1 | -125 | -125 đến +125 |
| 524 | Hộp số đã chọn | 61445 | bánh răng | 1 | -125 | -125 đến +125 |
| 580 | Độ cao | 65258 | m | 0,125 m | -2500 | -2500 đến +5531 m |
| 584 | Vĩ độ | 65267 | độ | 10⁻⁷ độ | -210 | -90° đến +90° |
| 585 | Kinh độ | 65267 | độ | 10⁻⁷ độ | -210 | -180° đến +180° |
| 586 | Hướng la bàn | 65256 | độ | 1/128 độ | 0 | 0-360° |
| 597 | Công tắc phanh | 65265 | - | 2 bit | - | Tắt/Bật/Lỗi/Không khả dụng |
| 598 | Công tắc ly hợp | 65265 | - | 2 bit | - | Tắt/Bật/Lỗi/Không khả dụng |
| 899 | Chế độ mô-men xoắn động cơ | 61444 | - | 1 | 0 | 0-15 (liệt kê) |
| 1807 | Góc vô lăng | 61449 | rad | 1/1024 rad | -31,374 | -31,374 đến +31,374 rad |
| 1808 | Tốc độ quay ngang | 61449 | rad/s | 1/8192 rad/giây | -3,92 | -3,92 đến +3,92 rad/s |
Tổng cộng: 15 PGN, 33 SPN được mô phỏng tích cực
🔲 Các định dạng PGN không được hỗ trợ (Chưa được triển khai)
Các thông báo J1939 sau đây hiện không được trình mô phỏng xe tạo ra . Chúng thể hiện những cải tiến tiềm năng trong tương lai:
| PGN | Hex | Tên | Sự ưu tiên | Trường hợp sử dụng | Độ phức tạp |
|---|---|---|---|---|---|
| 61440 | 0xF000 | ERC1 - Bộ điều khiển hãm điện tử 1 | Thấp | Điều khiển phanh hãm/phanh động cơ | Trung bình |
| 61441 | 0xF001 | EBC1 - Bộ điều khiển phanh điện tử 1 | Cao | ABS, trạng thái hệ thống phanh | Cao |
| 61442 | 0xF002 | ETC1 - Bộ điều khiển truyền động điện tử 1 | Trung bình | Chế độ truyền động, đang chuyển số | Trung bình |
| 64971 | 0xFDCB | VDHR - Khoảng cách giữa các phương tiện (Độ phân giải cao) | Cao | Đồng hồ đo quãng đường với độ phân giải 5mm | Thấp |
| 64972 | 0xFDCC | TCO1 - Máy ghi tốc độ | Trung bình | Thẻ lái xe, tốc độ từ máy ghi tốc độ. | Thấp |
| 65132 | 0xFE6C | TPMS - Hệ thống giám sát áp suất lốp | Trung bình | Áp suất/nhiệt độ lốp riêng lẻ | Trung bình |
| 65217 | 0xFEC1 | PTODE - Thúc đẩy sự gắn kết trong PTO | Thấp | Trạng thái truyền tải điện | Thấp |
| 65248 | 0xFEE0 | VDIST - Khoảng cách xe độ phân giải cao | Cao | Tổng khoảng cách với độ phân giải 5m | Thấp |
| 65251 | 0xFEE3 | ECFG - Cấu hình động cơ | Thấp | Hãng sản xuất, kiểu máy, số sê-ri | Thấp |
| 65252 | 0xFEE4 | SHUTDN - Tắt máy | Thấp | Ghi đè tắt động cơ | Thấp |
| 65260 | 0xFEEC | VI - Nhận dạng phương tiện | Trung bình | Truyền tải đầy đủ số VIN (áp dụng một phần) | Thấp |
| 65279 | 0xFEFF | CCVS1 - Hệ thống điều khiển hành trình/Tốc độ xe 1 | Trung bình | Dữ liệu điều khiển hành trình được cải tiến | Thấp |
| 65098 | 0xFE4A | EBC2 - Bộ điều khiển phanh điện tử 2 | Cao | Trạng thái phanh từng bánh xe | Cao |
| 65099 | 0xFE4B | EBC3 - Bộ điều khiển phanh điện tử 3 | Trung bình | Mòn má phanh | Trung bình |
| 65110 | 0xFE56 | IC1 - Điều kiện đầu vào/đầu ra 1 | Thấp | Áp suất/nhiệt độ đường ống nạp | Trung bình |
| 65172 | 0xFE84 | Yêu cầu - Yêu cầu | Thấp | Yêu cầu PGN cụ thể từ ECU | Trung bình |
| 65226 | 0xFECA | AT1I - Xử lý khí nạp sau 1 | Thấp | Đầu vào bộ lọc hạt diesel | Thấp |
| 65227 | 0xFECB | AT1O - Xử lý sau 1 khí đầu ra | Thấp | Đầu ra DPF, cảm biến NOx | Thấp |
| 65247 | 0xFEDF | EFL/P2 - Mức/Áp suất chất lỏng động cơ 2 | Thấp | Áp suất chất lỏng bổ sung | Thấp |
| 65266 | 0xFEF2 | LFE - Tiết kiệm nhiên liệu | Trung bình | Mức tiêu hao nhiên liệu trung bình/chuyến đi | Thấp |
| 65270 | 0xFEF6 | TD - Bộ tăng áp | Thấp | Áp suất tăng, tốc độ tuabin | Trung bình |
| 65272 | 0xFEF8 | VEP2 - Hệ thống điện cho xe cộ 2 | Thấp | Xe buýt điện bổ sung | Thấp |
Vì sao những điều này không được thực hiện?
| Lý do | PGN bị ảnh hưởng | Đếm |
|---|---|---|
| Không liên quan đến mô phỏng xe cơ bản | ERC1, PTODE, SHUTDN, ECFG, AT1I, AT1O, TD | 7 |
| Yêu cầu mô hình vật lý lốp xe | TPMS | 1 |
| Yêu cầu mẫu xe có hệ thống phanh ABS/điều hòa. | EBC1, EBC2, EBC3 | 3 |
| Yêu cầu hệ thống truyền động tiên tiến | ETC1 | 1 |
| Mức độ ưu tiên thấp / mang tính thẩm mỹ | VI (VIN), VDHR, VDIST, TCO1, LFE | 5 |
| Yêu cầu mô hình khí thải/khí thải | IC1, AT1I, AT1O | 3 |
| Ở cấp độ giao thức (không phải dữ liệu xe) | YÊU CẦU | 1 |
| Phiên bản trùng lặp/cải tiến | CCVS1, EFL/P2, VEP2 | 3 |
Tổng cộng: 22 PGN không được hỗ trợ
🛠️ Đặc điểm kỹ thuật
- Hỗ trợ mạng lưới đường bộ OpenDRIVE : Tuân theo hình dạng đường bộ thực tế.
- Mô phỏng hộp số tự động : Chuyển số dựa trên tốc độ và ga.
- Động lực học dựa trên vật lý : Gia tốc, phanh, lái với các ràng buộc thực tế
- Tích hợp DDS : Xuất bản trực tiếp lên các chủ đề PSM ô tô J1939
- Giao diện người dùng Qt6 : Hiển thị trực quan theo thời gian thực và điều khiển thủ công
Kiến trúc cổng J1939 sang DDS
Sơ đồ trình tự sau đây minh họa toàn bộ luồng dữ liệu từ các thông điệp trên bus CAN J1939 thông qua cổng kết nối đến các thuê bao DDS:
(speed, RPM, gear) Sim->>CAN: Send PGN 61444
(EEC1: Engine Speed) Sim->>CAN: Send PGN 65265
(CCVS: Vehicle Speed) Sim->>CAN: Send PGN 61445
(ETC2: Transmission) Note over CAN,Decoder: CAN Reception Phase CAN->>Reader: Read CAN frame (29-bit ID) Reader->>Reader: Validate frame Reader->>Decoder: emit canFrameReceived() Note over Decoder,Gateway: J1939 Decode Phase Decoder->>Decoder: Extract PGN from CAN ID
(bits 24-8) Decoder->>Decoder: Extract source address
(bits 7-0) Decoder->>Decoder: Extract priority
(bits 28-26) Decoder->>Decoder: Decode SPNs from payload
(bit position, scale, offset) Decoder->>Gateway: emit j1939MessageDecoded() Note over Gateway,DDS: DDS Publishing Phase Gateway->>Gateway: Create C_Parameter_Group_Definition
(if first time) Gateway->>DDS: Publish PGN definition loop For each SPN in message Gateway->>Gateway: Create C_Parameter message
(sourceID, PGN, SPN, value) Gateway->>Gateway: Set metadata
(timestamp, status) Gateway->>DDS: Publish parameter end Note over DDS,HMI: Consumption Phase DDS->>HMI: onSampleReceived()
(C_Parameter) HMI->>HMI: Update speedometer HMI->>HMI: Update tachometer HMI->>HMI: Update gear indicator Note over Gateway: Status Reporting (1 Hz) Gateway->>Gateway: Update data source status Gateway->>DDS: Publish C_Data_Source
(gateway health)
Giải thích sơ đồ trình tự
1. Giai đoạn tạo tin nhắn
- Phần mềm mô phỏng xe tính toán các thông số xe thực tế dựa trên thao tác của người lái và các quy luật vật lý.
- Mã hóa các tham số vào khung CAN J1939 với cấu trúc PGN/SPN phù hợp.
- Truyền dữ liệu đến giao diện CAN ảo (vcan0)
2. Giai đoạn tiếp nhận CAN
- Luồng SocketCanReader của Qt liên tục đọc dữ liệu từ giao diện CAN.
- Xác thực định dạng khung CAN (ID mở rộng 29 bit)
- Phát ra tín hiệu Qt với dữ liệu khung thô.
3. Giai đoạn giải mã J1939
- J1939Decoder trích xuất thông tin giao thức từ ID CAN:
- PGN : Mã số nhóm tham số (xác định loại thông báo)
- Địa chỉ nguồn : Mã định danh ECU (0-253)
- Mức độ ưu tiên : Độ khẩn cấp của tin nhắn (0=cao nhất, 7=thấp nhất)
- Giải mã dữ liệu tải trọng thành các SPN riêng lẻ bằng cách sử dụng cấu hình:
- Vị trí và chiều dài của mũi khoan
- Hệ số tỷ lệ và độ lệch
- Đơn vị kỹ thuật
4. Giai đoạn xuất bản DDS
- Gateway công bố
C_Parameter_Group_Definition(siêu dữ liệu PGN) khi xuất hiện lần đầu. - Đối với mỗi SPN trong thông điệp:
- Tạo thông báo
C_Parametervới giá trị và trạng thái. - Thêm dấu thời gian và thông tin nguồn.
- Đăng tải lên chủ đề DDS
- Tạo thông báo
- Các bản cập nhật trạng thái định kỳ (1 Hz) công bố tình trạng hoạt động của cổng.
5. Giai đoạn tiêu thụ
- Các ứng dụng GVA (HMI, LDMX) đăng ký các chủ đề J1939 DDS
- Nhận các bản cập nhật tham số thông qua phần mềm trung gian DDS.
- Cập nhật các thành phần giao diện người dùng (đồng hồ tốc độ, đồng hồ vòng tua máy, màn hình hiển thị số)
Chi tiết giao thức
Cấu trúc ID CAN J1939 (29 bit)
Bits 28-26: Priority (0-7)
Bit 25: Reserved
Bit 24: Data Page (DP)
Bits 23-16: PDU Format (PF)
Bits 15-8: PDU Specific (PS) - group extension or destination
Bits 7-0: Source Address (SA)
PGN = (DP << 16) | (PF << 8) | (PS if PF >= 240 else 0)Ví dụ về giải mã khung CAN
CAN ID: 0x18F00400
Binary: 00011000111100000000010000000000
Priority: 0x6 (bits 28-26) = 6 (normal priority)
Reserved: 0 (bit 25)
DP: 0 (bit 24)
PF: 0xF0 (bits 23-16) = 240 (broadcast)
PS: 0x04 (bits 15-8) = 4 (group extension)
SA: 0x00 (bits 7-0) = 0 (engine controller)
PGN = (0 << 16) | (240 << 8) | 4 = 61444 (EEC1 - Engine Controller 1)Hướng dẫn nhanh
1. Xây dựng Trình mô phỏng phương tiện
cd build
cmake ..
make gva-vehicle-sim2. Thiết lập CAN ảo
sudo scripts/test/j1939/setup-vcan.sh3. Khởi động Trình mô phỏng phương tiện
# GUI mode with OpenDRIVE track
./build/bin/gva-vehicle-sim \
--domain=0 \
--opendrive=data/opendrive/ZalaZONE_full.xodr \
--can-interface=vcan0
# Headless mode with J1939 only
./build/bin/gva-vehicle-sim \
--domain=0 \
--can-interface=vcan0 \
--headless4. Khởi động Cổng J1939
./build/bin/gva-j1939-gateway \
--domain=0 \
--interface=vcan0 \
--config=/etc/gva/j1939-config.json5. Giám sát bằng LDMX
./build/bin/ldmx
# Navigate to J1939 tab to see live parametersCấu hình
Cấu hình mô phỏng phương tiện
Tạo tệp vehicle-sim-config.json :
{
"j1939": {
"enabled": true,
"sourceAddress": 0,
"gatewayResourceId": 1000,
"updateRateHz": 10
},
"vehicle": {
"maxSpeed": 120.0,
"maxRpm": 6000,
"gearRatios": [3.5, 2.5, 1.8, 1.3, 1.0, 0.8],
"engineIdleRpm": 800
}
}Cấu hình cổng J1939
Xem /etc/gva/j1939-config.json để biết định nghĩa PGN/SPN và các tham số tỷ lệ.
Các trường hợp sử dụng
1. Phát triển giao diện người máy (HMI)
- Phát triển bảng điều khiển xe hơi mà không cần xe thật.
- Kiểm tra khả năng hiển thị và hoạt ảnh của cụm thiết bị đo.
- Xác thực ngưỡng cảnh báo/báo động
2. Kiểm thử thuật toán
- Kiểm tra các thuật toán lái xe tiết kiệm nhiên liệu với mức tiêu thụ nhiên liệu mô phỏng.
- Xác thực logic bảo trì dự đoán
- Kiểm tra khả năng ra quyết định của chế độ lái tự động
3. Kiểm thử tích hợp
- Xác minh luồng dữ liệu từ đầu đến cuối: CAN → DDS → Ứng dụng
- Kiểm tra hiệu năng của cổng thanh toán dưới tải
- Xác thực việc đồng bộ hóa dữ liệu giữa các hệ thống con.
4. Đào tạo & Trình diễn
- Môi trường an toàn cho việc đào tạo người vận hành.
- Trình diễn sản phẩm cho khách hàng mà không cần xe.
- Công cụ giáo dục cho kiến trúc GVA
Đặc tính hiệu suất
| Số liệu | Giá trị |
|---|---|
| Tốc độ tạo khung CAN | Tần số lên đến 100 Hz mỗi PGN |
| Độ trễ xuất bản DDS | < 5 ms (cục bộ) |
| Thông lượng cổng | > 1000 PGN/giây |
| Mức sử dụng CPU (trình giả lập + cổng kết nối) | < 10% (hệ thống 4 lõi) |
| Dung lượng bộ nhớ | ~50 MB (tổng cộng) |
So sánh: Thực tế so với mô phỏng
| Diện mạo | Phương tiện vật lý | Trình mô phỏng |
|---|---|---|
| Chi phí phần cứng | Hơn 50.000 đô la | $0 (chỉ phần mềm) |
| Thời gian thiết lập | Thời gian (đấu dây, cấu hình) | Phút |
| Khả năng tái tạo | Hạn chế (sự biến đổi của người lái) | Hoàn hảo (mang tính xác định) |
| Sự an toàn | Nguy cơ hư hỏng/thương tích | Không có rủi ro |
| Kiểm soát kịch bản | Khó khăn (thời tiết, giao thông) | Kiểm soát hoàn toàn |
| Ghi dữ liệu | Cần có thiết bị | Tích hợp sẵn |
| Kiểm thử song song | Mỗi lần chỉ một xe. | Nhiều trường hợp |
Khắc phục sự cố
Các vấn đề thường gặp
Không tìm thấy giao diện CAN
# Verify vcan0 exists
ip link show vcan0
# Recreate if needed
sudo scripts/test/j1939/setup-vcan.shKhông có tin nhắn DDS
# Check gateway is running
pgrep -a gva-j1939-gateway
# Verify domain ID matches
./build/bin/gva-j1939-gateway --domain=0
./build/bin/gva-vehicle-sim --domain=0Cổng kết nối không giải mã được tin nhắn
# Check CAN frames are being sent
candump vcan0
# Verify configuration file
cat /etc/gva/j1939-config.jsonHãy yêu cầu trình diễn ngay hôm nay.