เครื่องมือ CAN มักมีช่องรหัสข้อความและธงบอกชนิดเฟรมอยู่ใกล้กัน หากส่งออกเฉพาะตัวเลขรหัสแล้วทิ้งธง ข้อมูลที่สำคัญต่อการจำแนกอาจหายไป เฟรมฐานใช้รหัส 11 บิต ส่วนเฟรมขยายใช้ 29 บิต แต่ความต่างนี้ไม่ใช่ชื่อเรียกแทน Classical CAN กับ CAN FD บทความนี้อธิบายวิธีเก็บและอ่านสองคุณสมบัติแยกกัน พร้อมตัวอย่างการรวมข้อมูลผิดจากการละชนิดเฟรม
ความยาวรหัสกับรูปแบบ FD เป็นคนละคุณสมบัติ
ฐานหรือขยายระบุรูปแบบของ identifier และส่วนที่เกี่ยวข้องในเฟรม ส่วน Classical หรือ FD ระบุรูปแบบเฟรมที่มีความสามารถด้านข้อมูลและเวลาแตกต่างกัน จึงไม่ควรกล่าวว่าเห็นรหัสยาวแล้วเป็น CAN FD แน่นอน หรือเห็นรหัสสั้นแล้วเป็น Classical เท่านั้น การอ่านไฟล์ควรมีทั้งธงชนิดรหัสและธง FD รวมถึง BRS หากกำลังพิจารณาการสลับอัตราบิต
จำนวนบิตที่เพิ่มในรหัสไม่ได้เพิ่มจำนวนไบต์ payload ของ Classical CAN ให้เกินขอบเขตเดิมโดยอัตโนมัติ และไม่ได้ทำให้ข้อความมีลำดับความสำคัญสูงกว่าทุกเฟรมฐาน การตัดสินสิทธิ์ยังต้องดูส่วน arbitration ที่ส่งจริง การสรุปคุณสมบัติจากคำว่าขยายโดยไม่แยกว่าขยายอะไรจึงทำให้เข้าใจทั้งความจุข้อมูลและเวลาใช้บัสผิด
- ชนิดรหัส
เฟรมฐานมี identifier 11 บิต เฟรมขยายมี 29 บิต ต้องเก็บธงกำกับ
- ชนิดเฟรม
ตรวจ Classical หรือ FD แยกจากความยาวรหัส ไม่ตัดสินจากจำนวนหลักบนจอ
- ข้อมูลประกอบ
เก็บ BRS เมื่อเกี่ยวข้องและคำอธิบาย payload แยกจากชนิดรหัส
ฐานหรือขยายเป็นชนิดรหัส ส่วน Classical หรือ FD เป็นอีกคุณสมบัติหนึ่ง
ตัวอย่างสมมติที่ค่าตัวเลขเดียวกันกลายเป็นคนละรายการ
สมมติไฟล์ฝึกมีเฟรมฐานที่มีค่ารหัสหนึ่ง และเฟรมขยายที่มีค่าตัวเลขรหัสเท่ากัน โดยข้อมูลของทั้งสองเป็นคนละชนิด หากโปรแกรมใช้ตัวเลขรหัสอย่างเดียวเป็นคีย์ รายการหลังจะทับหรือปนกับรายการแรก แม้ค่าตัวเลขเท่ากัน การมีธงรูปแบบต่างกันทำให้ไม่ควรถือเป็นเฟรมชนิดเดียวกัน ตัวอย่างนี้ไม่ใช้รหัสรถจริงและไม่กล่าวว่าเกิดในระบบของผู้ผลิตใด
สมมตินับเฟรมฐานได้ 12 รายการและเฟรมขยายได้ 8 รายการในหน้าต่างเดียว โปรแกรมที่รวมด้วยตัวเลขอย่างเดียวจะรายงาน 20 รายการในกลุ่มเดียว ทำให้คาบและข้อมูลดูแกว่ง หากแยกด้วยคู่ชนิดเฟรมและรหัสจะได้สองกลุ่ม 12 กับ 8 ตามเดิม การนับรวมไม่ได้ทำให้เฟรมสูญหายเสมอไป แต่ทำให้ความหมายของสถิติเปลี่ยน และอาจทำให้เลือกคำอธิบายข้อมูลผิดชุด
นำไปใช้ตรวจตัวกรองและไฟล์ส่งออก
- ตรวจว่าไฟล์มีช่องบอกฐานหรือขยายหรือไม่ และซอฟต์แวร์เก็บเป็นธงแยกหรือรวมในรูปแบบตัวเลขเฉพาะ
- เก็บชนิดรหัสคู่ค่ารหัสเป็นส่วนของตัวระบุรายการ รวมชื่อช่องเครือข่ายหากมีหลายบัส
- แยกธง FD ออกจากธงขยายเมื่อเลือกตัวถอดรหัสและคำนวณความยาวข้อมูล
- ทดสอบการส่งออกและนำเข้าด้วยข้อมูลสมมติที่มีทั้งสองรูปแบบ ไม่ใช้เฉพาะเฟรมชนิดเดียว
- ตรวจตัวกรองว่าตั้งสำหรับรูปแบบใดและฮาร์ดแวร์รองรับการกรองแยกอย่างไรตามคู่มือ
เมื่อใช้ฐานข้อมูลคำอธิบาย ต้องอ่านว่ารูปแบบนั้นเข้ารหัสธงขยายไว้ในตัวเลขอย่างไร ไม่ควรนำจำนวนเต็มที่เห็นในฐานข้อมูลไปเทียบกับค่าบนสายโดยไม่แปลงตามนิยาม ขณะเดียวกันอย่าลบส่วนที่คิดว่าเป็นธงเองโดยไม่มีเอกสาร เพราะอาจตัดบิตของรหัสจริงออก การเก็บทั้งค่าต้นฉบับและค่าที่แปลงช่วยให้ตรวจย้อนเมื่อพบกลุ่มข้อความหาย
- ฐาน 12 รายการ
เฟรมฐานชุดหนึ่งมีรหัสตัวเลขเดียวกับอีกชุดในตัวอย่างสมมติ
- ขยาย 8 รายการ
เฟรมขยายใช้ค่าตัวเลขเท่ากัน แต่เป็นข้อมูลคนละชนิด
- รวมผิดเป็น 20
ใช้ตัวเลขรหัสอย่างเดียวเป็นคีย์ ทำให้สถิติและ payload ปนกัน
- รักษาสองกลุ่ม
ใช้ชนิดเฟรมคู่ค่ารหัสและช่องเครือข่าย จึงยังแยกฐาน 12 กับขยาย 8 ได้
ตัวอย่างใช้ค่าตัวเลขรหัสเท่ากันแต่ชนิดเฟรมต่างกัน จึงต้องรักษาสองกลุ่ม
ข้อผิดพลาดจากการใช้ความกว้างตัวเลขตัดสินชนิด
จำนวนหลักที่แสดงบนหน้าจอขึ้นกับการจัดรูปแบบ เฟรมขยายที่มีค่าตัวเลขน้อยอาจแสดงสั้นได้ หากเครื่องมือไม่เติมศูนย์ด้านหน้า ดังนั้นการนับหลักไม่ใช่หลักฐานแทนธงชนิด และการเติมศูนย์ให้ยาวขึ้นก็ไม่ได้ทำให้เฟรมฐานกลายเป็นขยาย ต้องดูข้อมูลชนิดที่ตัวควบคุมรายงานหรือโครงสร้างเฟรมที่ถอดได้
รหัสขยายไม่ใช่ข้อมูลลับที่อ่านไม่ได้ด้วยเครื่องมือปกติโดยนิยาม มันเป็นรูปแบบโปรโตคอล ส่วนความหมายและสิทธิ์เข้าถึงเป็นอีกเรื่องหนึ่ง การไม่เห็นเฟรมขยายจึงอาจเกิดจากตัวกรองหรือการตั้งรูปแบบ ไม่ใช่เกตเวย์ปิดกั้นเสมอไป และการเห็นเฟรมได้ก็ไม่ได้ให้ข้อมูลพอสำหรับเปลี่ยนหรือส่งแทน การวิเคราะห์ในบทความจำกัดอยู่ที่การอ่านและรักษาข้อมูลบันทึก
ตรวจสอบผลโดยเทียบจำนวนและเนื้อหาก่อนหลังแปลง
การตรวจตัวแปลงไฟล์ควรเทียบทั้งจำนวนเฟรม ชนิดรหัส ค่า identifier ความยาว และไบต์ข้อมูล หากจำนวนรวม 20 เท่าเดิมแต่สองชนิดถูกรวมเป็นหนึ่ง แสดงว่าตรวจจำนวนอย่างเดียวไม่พอ ในตัวอย่างต้องยืนยันว่าหลังแปลงยังแยกฐาน 12 และขยาย 8 ได้ พร้อมรักษาลำดับเวลา ไม่เพียงให้โปรแกรมเปิดไฟล์ได้โดยไม่มีข้อความผิดพลาด
หากวิเคราะห์เวลา ให้เลือกเฟรมรูปแบบเดียวกันหรือใช้แบบจำลองความยาวที่ตรงแต่ละชนิดก่อนเทียบ ภาระส่วนหัวต่างกันจึงทำให้การใช้สูตรเดียวแบบละรายละเอียดมีข้อจำกัด สรุปผลควรระบุว่าข้อมูลถูกจำแนกด้วยคุณสมบัติใดบ้างและไฟล์ต้นทางยังขาดธงใด ถ้าธงสำคัญหายตั้งแต่ต้น ไม่ควรสร้างกลับจากการเดาความยาวตัวเลขเพื่อให้รายงานดูครบ


