สารบัญ:

วิธีถอดรหัสข้อมูล CAN Bus ของยานพาหนะ: 8 ขั้นตอน
วิธีถอดรหัสข้อมูล CAN Bus ของยานพาหนะ: 8 ขั้นตอน

วีดีโอ: วิธีถอดรหัสข้อมูล CAN Bus ของยานพาหนะ: 8 ขั้นตอน

วีดีโอ: วิธีถอดรหัสข้อมูล CAN Bus ของยานพาหนะ: 8 ขั้นตอน
วีดีโอ: How to read the CanBus in any car. (Can Bus) Part #1 2024, พฤศจิกายน
Anonim
วิธีถอดรหัสข้อมูล CAN Bus ของยานพาหนะ
วิธีถอดรหัสข้อมูล CAN Bus ของยานพาหนะ

ในคำแนะนำนี้เราจะบันทึกข้อมูลบัส CAN ของรถยนต์หรือรถบรรทุกและแปลงข้อมูลบันทึกบัส CAN ที่บันทึกไว้เป็นค่าที่อ่านได้ สำหรับการถอดรหัส เราจะใช้บริการคลาวด์ can2sky.com ซึ่งฟรี เราสามารถบันทึกบันทึกโดยใช้อะแดปเตอร์ CAN-USB แต่ให้ความสนใจกับรูปแบบบันทึก - ควรเข้ากันได้กับบริการถอดรหัส

ขั้นตอนที่ 1: เลือกเครื่องมือและซอฟต์แวร์ CAN-bus/USB

การเลือกเครื่องมือและซอฟต์แวร์ CAN-bus/USB
การเลือกเครื่องมือและซอฟต์แวร์ CAN-bus/USB

ตัวถอดรหัส can2sky.com รองรับบันทึก can bus หลายประเภท:

1. รูปแบบไฟล์ trc ของแฮ็กเกอร์ CAN

ลิงค์อะแดปเตอร์ USB

ตัวอย่างบันทึกบัส CAN (29 บิต) (รถบรรทุก รถโดยสาร รถแทรกเตอร์ เครื่องจักรเชิงพาณิชย์อื่นๆ) ไฟล์ควรมีนามสกุล *.trc รหัสเวลา DLC ข้อมูลความคิดเห็น

40, 425 18FFB5F2 8 3A 82 FF 5C C6 80 11 05

40, 431 18F005F6 8 FF FF FF FB FF FF 20 50

40, 431 14FFB4F6 8 00 FF 16 F0 FF FF FF FF

40, 433 18FFB6F2 8 00 00 00 00 F1 12 FF FF

ดาวน์โหลดตัวอย่าง

ตัวอย่างบันทึกบัส CAN (11 บิต) (รถยนต์) ไฟล์ควรมีนามสกุล *.trc

ตัวอย่างรูปแบบ

36, 492 1 0004 40A 8 C0 00 38 8F 94 DA 07 3A 00000000

36, 592 1 0004 40A 8 C0 01 00 00 9F AF 00 35 00000000

36, 692 1 0004 40A 8 BF 00 3D 04 02 37 A7 00 00000000

36, 792 1 0004 40A 8 BF 02 22 00 00 00 02 2B 00000000

36, 892 1 0004 40A 8 BF 03 30 00 02 00 00 00 00000000

36, 992 1 0004 40A 8 BF 04 31 80 00 24 00 06 00000000

ดาวน์โหลดตัวอย่าง

2. รูปแบบเอาต์พุตของ candump ยูทิลิตี้ Linux

ไฟล์นี้ควรมีนามสกุล *.log คุณสามารถใช้ Raspberry Pi, Orange Pi หรือ Linux PC อื่น ๆ ที่มีส่วนต่อประสานและซอฟต์แวร์ can-utils ที่ติดตั้งได้ วิธีตั้งค่า Pi สำหรับการทำงานของ CAN-bus คุณสามารถอ่านได้ที่นั่น ตัวอย่างรูปแบบ 11 บิต:

(1579876676.199507) slcan0 2DE#0000000000000050

(1579876676.199539) slcan0 358#000A8000000000000

(1579876676.199547) slcan0 1CA#00000000005005055

(1579876676.199553) slcan0 1CB#000000000000185

ดาวน์โหลดตัวอย่าง

3. รูปแบบ csv อย่างง่าย

ไฟล์นี้ควรมีนามสกุล *.csv

สตริงแรก - ส่วนหัวพร้อมชื่อแถว จำเป็นต้องมีแถว SA แต่สามารถเติมด้วย "1" ได้ เวลา;PGN;SA;b0;b1;b2;b3;b4;b5;b6;b7;;

0, 01;41;1;7A;3;0;0;0;0;0;0;;

0, 02;50;1;0;20;90;B0;FF;FF;FF;FF;;

0, 03;0D0;1;B5;20;0;8;0D;90;FF;FF;;

0, 04;1A0;1;0;40;0;0;FE;FE;0;0E;;

0, 05;280;1;1;22;ซีซี;0C;22;0;17;19;;

0, 06;288;1;8A;7B;10;0;0;53;93;0F;;

ดาวน์โหลดตัวอย่าง ดาวน์โหลดตัวอย่าง

สำหรับ CAN บัส 29 บิต เพียงใช้ PGN 2 ไบต์ในคอลัมน์ PGN (เช่น - FEF2, FECA เป็นต้น)

ขั้นตอนที่ 2: ลงทะเบียนและเข้าสู่ระบบ Can2sky.com Service

ลงทะเบียนและเข้าสู่ระบบ Can2sky.com Service
ลงทะเบียนและเข้าสู่ระบบ Can2sky.com Service
ลงทะเบียนและเข้าสู่ระบบ Can2sky.com Service
ลงทะเบียนและเข้าสู่ระบบ Can2sky.com Service

เมื่อบันทึก CAN บัสของคุณได้รับการบันทึกแล้ว คุณสามารถอัปโหลดไปยังบริการ can2sky.com เพื่อถอดรหัสได้

คุณต้องลงทะเบียนเพื่อเข้าใช้บริการ อีเมลต้องการการยืนยันซึ่งจะถูกส่งโดยบริการ

หลังจากเข้าสู่ระบบ คุณสามารถโหลดบันทึก CAN แรกของคุณได้ คลิกปุ่มอัปโหลดไฟล์ TRC

ขั้นตอนที่ 3: โหลดบันทึก CAN Bus ของคุณ

โหลดบันทึก CAN Bus ของคุณ
โหลดบันทึก CAN Bus ของคุณ
โหลดบันทึก CAN Bus ของคุณ
โหลดบันทึก CAN Bus ของคุณ

เลือกตัวเลือกรถใหม่ และกรอกข้อมูลเกี่ยวกับรถ (ต้องกรอกข้อมูลให้ครบทุกช่อง)

ลากและวางไฟล์บันทึกบัส CAN ของคุณ

จากนั้นเราก็สามารถเลือก parser (DBC-file) เพื่อถอดรหัสบันทึก บริการจะตรวจสอบตัวแยกวิเคราะห์ที่เป็นไปได้ทั้งหมดและแสดงพารามิเตอร์ที่ตรงกันจำนวนหนึ่งจาก parser และบันทึก เลือก parser ที่เหมาะสมที่สุดเพื่อถอดรหัสบันทึกของคุณ พิจารณาว่า parser ผู้ผลิตรายเดียวกันจะให้ผลลัพธ์ที่ดีกว่าแก่คุณ

สำหรับ 29 บิต CAN บัสของรถบรรทุก รถโดยสาร และรถเพื่อการพาณิชย์อื่นๆ เราจะใช้ตัวแยกวิเคราะห์ J1939 ตัวใดตัวหนึ่งเนื่องจากมาตรฐานอุตสาหกรรมนี้ สำหรับรถยนต์นั้นไม่มีมาตรฐาน ดังนั้นรถแต่ละคันจึงแตกต่างกันในแง่ของ CAN bus ID นั่นหมายความว่าแม้ว่าเราจะสามารถใช้ Ford parser ในการถอดรหัสข้อมูล Mercedes ได้ แต่เราจะได้รับผลลัพธ์ที่ไร้ประโยชน์แม้ว่าจะมี ID ที่ตรงกันจำนวนมาก เนื่องจากผู้ผลิตรถยนต์หลายรายสามารถใช้ ID เดียวกันสำหรับพารามิเตอร์ต่างๆ ได้

ในตัวอย่างของเราสำหรับบันทึก BMW X6 เราจะใช้ตัวแยกวิเคราะห์ BMW X1 เนื่องจากผู้ผลิตรายเดียวกันและจำนวน ID ที่ตรงกันมากที่สุด

คลิกส่ง

ขั้นตอนที่ 4: การสร้างภาพของ CAN Bus Data

การแสดงข้อมูล CAN Bus
การแสดงข้อมูล CAN Bus
การแสดงข้อมูล CAN Bus
การแสดงข้อมูล CAN Bus
การแสดงข้อมูล CAN Bus
การแสดงข้อมูล CAN Bus

หน้าต่างแดชบอร์ดหลักจะปรากฏขึ้นซึ่งคุณสามารถดูบันทึกและตัวแยกวิเคราะห์ทั้งหมดของคุณ (ทั้งตัวแยกวิเคราะห์เริ่มต้นและตัวแยกวิเคราะห์ส่วนตัวของคุณ) หลังจากช่วงเวลาหนึ่งสถานะของบันทึกของคุณจะเปลี่ยนจาก "ความคืบหน้า" เป็น "เสร็จสิ้น"

คลิกดูเพื่อดูการแสดงภาพ

ด้านซ้ายของหน้าจอ – รายการของตัวระบุ CAN ที่ทำงานอยู่ในบันทึกนี้ บางส่วนได้รับการยอมรับโดย DBC-parser บางส่วน - ไม่ (ทำเครื่องหมายด้วยพื้นหลังสีแดง)

คอลัมน์ค่าแสดงค่าพารามิเตอร์ต่ำสุดและสูงสุดระหว่างบันทึก คุณสามารถเปลี่ยนช่วงเวลาสำหรับการวิเคราะห์ได้โดยใช้การตั้งค่าช่วงตัวกรองเวลา หากคุณคลิกที่พารามิเตอร์ในรายการพารามิเตอร์ – พารามิเตอร์จะกลายเป็นสีเขียว ตารางค่าจะปรากฏขึ้นและพล็อตพารามิเตอร์

คุณสามารถซูมพล็อตด้วยปุ่มซ้ายของเมาส์และเลือกส่วนของพล็อต คุณสามารถสร้างหลายแปลงพร้อมกันได้ คุณยังสามารถรวมแปลงจากไฟล์บันทึกต่างๆ ได้อีกด้วย ในการเลือกแหล่งที่มาของพารามิเตอร์อื่น คุณสามารถคลิกที่กล่องรายการของบันทึกที่โหลด

ส่วนตัวกรองช่วยให้สามารถกรองพารามิเตอร์บัส CAN ซึ่งดูไม่น่าสนใจสำหรับเรา พารามิเตอร์ที่ทำเครื่องหมายเป็นสีเขียวจะปรากฏในรายการ การผกผันจะย้อนกลับการเลือก

ขั้นตอนที่ 5: Parser Editor

ตัวแก้ไข Parser
ตัวแก้ไข Parser
ตัวแก้ไข Parser
ตัวแก้ไข Parser

กฎของการถอดรหัสข้อความ CAN-bus อธิบายโดยไฟล์ DBC พารามิเตอร์แต่ละตัว (SPN) มีกฎการถอดรหัสของตัวเอง ซึ่งคุณสามารถแก้ไข โคลน หรือลบในโปรแกรมแก้ไข SPN

หน้าต่างตัวแก้ไข SPN มีข้อมูลทั้งหมดที่เกี่ยวข้องกับการถอดรหัสพารามิเตอร์บัส CAN นี้

Bit start – ตำแหน่งเริ่มต้นของพารามิเตอร์ในข้อความ CAN บัส (เป็นบิต เนื่องจากมีพารามิเตอร์แบบเข้ารหัสบิตจำนวนมาก) แต่ละไบต์=8 บิต (fyi).ความยาวบิต – ความยาวของพารามิเตอร์ CAN ในหน่วยบิต

endian น้อยหรือ endian ใหญ่ - การแจงนับลำดับไบต์ บริการรองรับทั้งรูปแบบ Intel (Little endian) หรือ Motorola Lsb (Big endian)

มาตราส่วน – มาตราส่วนวิธีการแปลงค่ากระป๋องเป็นพารามิเตอร์จริง

ออฟเซ็ต – ออฟเซ็ตของมูลค่าจริง ดังนั้นข้อมูลจริงจึงคำนวณเป็นพารามิเตอร์ CAN * สเกล + ออฟเซ็ต

ค่าต่ำสุดและสูงสุด – ค่าต่ำสุดและสูงสุด (ไม่บังคับ)

คุณสามารถดูผลลัพธ์ของการดำเนินการถอดรหัสในรูปแบบ DEC, HEX และไบนารีได้ หลังจากแก้ไข SPN คุณจะได้รับแจ้งให้บันทึก DBC-parser ภายใต้ชื่อใหม่ (คุณไม่สามารถแก้ไขไฟล์ DBC เริ่มต้นได้) คุณสามารถสร้างได้เท่านั้น รุ่นใหม่ของมัน การสร้าง DBC-parser ใหม่อาจใช้เวลานาน (โปรดอดใจรอหลายนาที)

ขั้นตอนที่ 6: ปรับปรุง Parser ส่วนตัวของคุณ

ปรับปรุง Parser ส่วนตัวของคุณ
ปรับปรุง Parser ส่วนตัวของคุณ
ปรับปรุง Parser ส่วนตัวของคุณ
ปรับปรุง Parser ส่วนตัวของคุณ
ปรับปรุง Parser ส่วนตัวของคุณ
ปรับปรุง Parser ส่วนตัวของคุณ

ในโปรแกรมแก้ไข SPN คุณสามารถเพิ่มกฎการถอดรหัสสำหรับข้อความที่ไม่รู้จัก

คลิก +SPN เพื่อสร้าง อีกครั้ง คุณไม่สามารถสร้างกฎ SPN ใหม่ใน DBC เริ่มต้นได้ ดังนั้นคุณจะได้รับแจ้งให้สร้างกฎใหม่

หลังจากบันทึกเป็น DBC ใหม่แล้ว ให้เปิดบันทึกของคุณโดย parser ใหม่

ตอนนี้คุณสามารถเพิ่มคำจำกัดความ SPN ใหม่ได้ ตัวแก้ไข SPN จะปรากฏขึ้นซึ่งคุณสามารถใส่ชื่อ SPN และตั้งค่าบิตและขนาดที่มีความหมายได้

เนื่องจากมีการสร้าง SPN ใหม่ คุณอาจใช้ผลลัพธ์สำหรับพล็อตและวิเคราะห์ร่วมกับพารามิเตอร์อื่นๆ ไบต์ที่ใช้งาน (กำลังเปลี่ยนแปลง) ระหว่างช่วงเวลาของการวิเคราะห์จะเป็นสี

ขั้นตอนที่ 7: ทำให้บันทึกของคุณเป็นแบบสาธารณะ

ทำให้บันทึกของคุณเป็นแบบสาธารณะ
ทำให้บันทึกของคุณเป็นแบบสาธารณะ
ทำให้บันทึกของคุณเป็นแบบสาธารณะ
ทำให้บันทึกของคุณเป็นแบบสาธารณะ

โดยค่าเริ่มต้น บันทึกทั้งหมดเป็นแบบส่วนตัวและสามารถตรวจสอบได้โดยเจ้าของเท่านั้น แต่คุณสามารถปิดสวิตช์นี้และทำให้บันทึกเป็น "สาธารณะ"

หลังจากเข้าสู่ระบบภายใต้ชื่อผู้ใช้ใหม่ เราจะเห็นบันทึกนี้ในส่วนสาธารณะ ซึ่งเข้าถึงได้สำหรับผู้ใช้แพลตฟอร์ม ทุกคนสามารถตรวจสอบและสร้างแปลง โพสต์ชมเชยใต้บันทึก

ขั้นตอนที่ 8: บันทึกผลลัพธ์ในไฟล์ PDF

บันทึกผลลัพธ์เป็นไฟล์ PDF
บันทึกผลลัพธ์เป็นไฟล์ PDF

คุณสามารถสร้างรายงานที่มีพารามิเตอร์ข้อมูลบัส CAN ที่รู้จักและไม่รู้จักทั้งหมดได้ คลิกส่งออกเป็น PDF

แนะนำ: