สำหรับรถยนต์ขนาดใหญ่ เช่น รถบรรทุกนั้น มีการกำหนดมาตรฐานการสื่อสารที่อยู่บนพื้นฐานของเครือข่าย CAN ไว้เรียกว่าโปรโตคอล J1939 ซึ่งสิ่งแรกที่เราจะเรียนรู้เกี่ยวกับโปรโตคอล J1939 คือหัวเชื่อมต่อสัญญาณ ซึ่งจะมี 2 แบบ แบบแรกรองรับ baud rate สูงสุด 250 kb/s และแบบที่สองรองรับ baud rate สูงสุด 500 kb/s ทั้งสองแบบมีจุดเชื่อมต่อสัญญาณเหมือนกัน
ในส่วนของข้อความนั้น J1939 จะใช้ extended id เสมอ ซึ่งภายในไอดีของ j1939 จะมีส่วนประกอบดังต่อไปนี้
1. Priority: มีความยาว 3 บิต มีค่า 0-7 โดย 0 จะมีความสำคัญสูงสุด โดยปกติข้อความจะมี priority 6 ยกเว้นบางข้อความเช่น ข้อความสำหรับควบคุมมี priority 3
2. Parameter Group Number (PGN): มีความยาว 18 บิตซึ่งมีองค์ประกอบย่อยอีก 4 ส่วน
2.1 Reserved (RES): 1 บิตสงวน
2.2 Data Page (DP): มีความยาว 1 บิต ใช้สำหรับหา PGN ที่ถูกต้อง
2.3 Protocol Data Unit Format (PDU Format/PF): มีความยาว 8 บิต หาก <240 จะเป็นข้อมูลที่ส่งหาแอดเดรสจำเพาะเจาะจง หากมีค่าตั้งแต่ 240 ขึ้นไป ทุกอุปกรณ์ในเครือข่ายจะได้รับข้อมูล
2.4 Protocol Data Unit Specific (PDU Specific/PS): มีความยาว 8 บิต ใช้สำหรับบอกว่าเป็นข้อมูลอะไร
3. Source address: แอดเดรส 8 บิตของอุปกรณ์ที่ส่งข้อมูล
ในการแปลงข้อความโปรโตคอล J1939 ออกมาเป็นข้อมูลนั้นเริ่มต้นจากการอ่านค่า PGN ออกมาก่อน หลังจากนั้นจึงนำ PGN ที่ได้ไปค้นหาใน J1939 DA (Digital Annex) ซึ่งเป็นไฟล์ที่บรรจุข้อมูลของมาตรฐาน J1939 ทั้งหมด ซึ่งไฟล์นี้จะบอกข้อมูลว่า PGN นี้ประกอบไปด้วยข้อมูลอะไร (Suspect Parameter Number/SPN) ที่ตำแหน่งไหนใน 64 บิตและวิธีการแปลงข้อมูล
จะเห็นได้ว่าการอ่านข้อมูลออกจากข้อความของโปรโตคอล J1939 นั้นมีความยุ่งยากระดับนึงเลยทีเดียว ซึ่ง CAN interface ของ Ixxat นั้นสามารถใช้งานร่วมกับ CANanalyser เพื่อทำการอ่านข้อมูลจากข้อความโปรโตคอล J1939 ได้โดยอัตโนมัติ
หวังว่าบทความนี้จะให้ความรู้ในการสื่อสารกับรถยนต์ขนาดใหญ่ด้วยโปรโตคอล J1939 ท่านสามารถติดต่อทีมงานเทคสแควร์เพื่อติดต่อสอบถามข้อมูลเพิ่มเติมเกี่ยวกับการสื่อสารข้อมูลบนเครือข่าย CAN ที่เหมาะสมกับงานของท่าน
บทความที่เกี่ยวข้อง
การส่งข้อมูลบนเครือข่าย CAN ด้วย ISO transport protocol (ISOTP)