ระบบสื่อสารยานยนต์

การฟังบัสแบบไม่ส่งกับผลที่มีต่อการวิเคราะห์

ตรวจความหมายของโหมด silent และผลต่อ ACK แยกการไม่ส่งในระดับโปรโตคอลออกจากโหลดทางไฟฟ้า พร้อมแนวทางรักษาสภาพเครือข่ายขณะบันทึก

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

โหมดฟังต่างจากการไม่มีคำสั่งส่งในโปรแกรม

คู่มือ Kvaser อธิบาย silent mode ว่าไม่ส่งเฟรมข้อมูล เฟรมข้อผิดพลาด หรือ ACK ความหมายนี้เข้มกว่าการเปิดโปรแกรมแล้วไม่กดปุ่มส่ง เพราะตัวควบคุมในโหมดปกติทำบางส่วนของโปรโตคอลเอง การเลือกโหมดจึงต้องอ้างอิงคำอธิบายของฮาร์ดแวร์ที่ใช้ ไม่อาศัยชื่อหน้าจอเพียงอย่างเดียว หากโปรแกรมมีหลายช่องต้องตรวจว่าตั้งโหมดให้ช่องที่ต่ออยู่จริง

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

ภาพอธิบาย 1ไม่สั่งส่งยังไม่เท่ากับ silent
  1. โปรแกรมไม่ส่ง

    อินเทอร์เฟซโหมดปกติยังอาจตอบ ACK โดยตัวควบคุมทำเอง

  2. เลือกโหมดฟัง

    โหมดที่คู่มือรับรองไม่ส่งเฟรมข้อมูล เฟรมผิดพลาด และ ACK

  3. ยังมีวงจรต่ออยู่

    สายและภาครับยังเพิ่มโหลด ต้องตรวจตัวจบสายและความยาวแขนงแยกจากโหมด

แยกพฤติกรรมโปรโตคอลออกจากผลทางไฟฟ้าของการต่อเครื่องมือ

ตัวอย่างสมมติของผลที่เปลี่ยนตามโหมด

สมมติชุดฝึกมีผู้ส่ง ก ผู้รับ ข และเครื่องบันทึก ค เมื่อ ข ทำงาน ก ส่งผ่านและ ค บันทึกได้ทั้งในโหมดปกติและโหมดฟัง ต่อมาสมมติ ข หยุดทำงาน ถ้า ค อยู่โหมดปกติ มันอาจยังตอบ ACK ให้ ก ทำให้สถานะส่งผ่านยังคงอยู่ แต่ถ้า ค ฟังอย่างเดียว ก จะไม่มีผู้ตอบรับในชุดนี้ ความต่างจึงเกิดจากบทบาทของ ค ไม่ใช่การเปลี่ยนข้อมูลของ ก

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

นำไปใช้เตรียมการบันทึกแบบอ่านอย่างเดียว

  1. อ่านคู่มือว่าโหมดฟังปิดพฤติกรรมใดบ้าง และอุปกรณ์รองรับจริงหรือเป็นเพียงตัวกรองซอฟต์แวร์
  2. บันทึกการตั้งค่าช่อง ชนิด CAN อัตราบิต และรูปแบบ FD ตามข้อมูลที่ยืนยันแล้ว
  3. ตรวจตัวต้านทานปลายสายที่อาจเปิดอยู่ในอินเทอร์เฟซ เพราะโหมด silent ไม่ได้แปลว่าปิดตัวจบสาย
  4. ใช้การเชื่อมต่อที่เอกสารเครือข่ายอนุญาต พร้อมตรวจสายแยกและโหลดที่เพิ่มจากอุปกรณ์
  5. เก็บสถานะเริ่มและหยุดบันทึก รวมถึงข้อบ่งชี้ข้อมูลตกหล่น เพื่อแยกการสื่อสารหายจากเครื่องมือเก็บไม่ทัน

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

ภาพอธิบาย 2ผลของ ค เมื่อ ข หยุดทำงาน
  1. ก ส่ง ข รับ

    ข ทำงานตามปกติ ค จึงบันทึกได้ทั้งโหมดปกติและโหมดฟัง

  2. ข หยุดทำงาน

    ไม่มีผู้รับ ข ช่วยตอบรับอีกต่อไป

  3. ค โหมดปกติ

    ค อาจตอบ ACK ให้ ก ทำให้สถานะส่งผ่านยังอยู่แม้ ข หาย

  4. ค โหมดฟัง

    ค ไม่ตอบ ACK ก จึงไม่มีผู้ตอบรับในชุดสมมตินี้ ต้องจดโหมดเพื่อเทียบผล

ตัวอย่างชุดฝึกเดียวกันให้ผลต่างเมื่อบทบาทเครื่องบันทึกเปลี่ยน

ข้อจำกัดทางไฟฟ้ายังมีอยู่แม้ไม่ส่ง

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

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

ตรวจสอบผลโดยรักษาบทบาทของเครื่องมือให้คงที่

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

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

แหล่งอ้างอิงและอ่านเพิ่มเติม

เรียบเรียงคำอธิบายและตัวอย่างขึ้นใหม่จากหลักการในแหล่งข้อมูลต่อไปนี้

  1. What is 'Silent Mode'? · Kvaser
  2. Send and Receive · Kvaser
  3. Why do I get error frames? · Kvaser

เล่มที่ลงลึกเรื่องนี้

อ่านต่อเรื่องใกล้กัน

ถามเรื่องหนังสือ ตะกร้า