CAN (Controller Area Network) บัสเป็นโปรโตคอลการสื่อสารแบบอนุกรมที่ใช้กันอย่างแพร่หลาย เหมาะอย่างยิ่งสำหรับภาคยานยนต์และระบบอัตโนมัติทางอุตสาหกรรม ประเภทข้อความบน CAN บัสสามารถแบ่งประเภทกว้างๆ ได้ดังต่อไปนี้ โดยแต่ละประเภทมีวัตถุประสงค์และรูปแบบเฉพาะ
I. กรอบข้อมูล
กรอบข้อมูลเป็นประเภทข้อความพื้นฐานที่สุดบน CAN บัส และใช้ในการส่งข้อมูลระหว่างโหนด กรอบข้อมูลประกอบด้วยหลายส่วน รวมถึงจุดเริ่มต้นของเฟรม, ฟิลด์อนุญาโตตุลาการ, ฟิลด์ควบคุม, ฟิลด์ข้อมูล, ฟิลด์ CRC, ฟิลด์ ACK และจุดสิ้นสุดของเฟรม
1. จุดเริ่มต้นของเฟรม (SOF)
- คำจำกัดความ: ส่วนที่ระบุจุดเริ่มต้นของ data frame ประกอบด้วยบิตแอ็คทีฟเดี่ยว (ตรรกะ 0)
- ฟังก์ชั่น: เมื่อบัสไม่ได้ใช้งาน โหนดส่งสัญญาณจะส่ง Start of Frame; โหนดรับอื่นๆ จะซิงโครไนซ์กับบิตเริ่มต้นของเฟรมนี้
2. สาขาอนุญาโตตุลาการ
- คำจำกัดความ: ส่วนที่ระบุลำดับความสำคัญของเฟรม ขึ้นอยู่กับความยาวของรหัส ID ฟิลด์อนุญาโตตุลาการ เฟรมจะถูกจัดประเภทเป็นเฟรมมาตรฐาน (CAN 2.0A) และเฟรมขยาย (CAN 2.0B)
- สารบัญ: ฟิลด์อนุญาโตตุลาการของเฟรมรูปแบบ-มาตรฐานประกอบด้วยตัวระบุ 11- บิต (ID) และบิตคำขอส่งระยะไกล (RTR) ฟิลด์อนุญาโตตุลาการของเฟรมรูปแบบขยายประกอบด้วยตัวระบุ 29 บิตและบิต RTR
- ฟังก์ชั่น: ใช้เพื่อกำหนดประเภทของเฟรมที่ส่ง (เฟรมข้อมูลหรือเฟรมรีโมทคอนโทรล) และรูปแบบเฟรม (เฟรมมาตรฐานหรือเฟรมขยาย) รวมทั้งกำหนดลำดับความสำคัญของเฟรม
3. สนามควบคุม
- คำจำกัดความ: ฟิลด์ที่ระบุจำนวนไบต์ในข้อมูลและบิตที่สงวนไว้
- สารบัญ: ประกอบด้วยรหัสความยาวข้อมูล (DLC) และบิตสงวนสองบิต (r0, r1) DLC ระบุจำนวนไบต์ในช่องข้อมูล ซึ่งสามารถอยู่ในช่วงตั้งแต่ 0 ถึง 8 ไบต์
- ฟังก์ชั่น: แจ้งโหนดรับถึงความยาวของช่องข้อมูลเพื่อให้สามารถรับข้อมูลได้อย่างถูกต้อง
4. ฟิลด์ข้อมูล
- คำจำกัดความ: เนื้อหาของข้อมูล สามารถส่งข้อมูลได้ 0 ถึง 8 ไบต์
- วัตถุประสงค์: เพื่อส่งข้อมูลข้อมูลจริง
5. ฟิลด์ CRC (ฟิลด์ตรวจสอบความซ้ำซ้อนแบบวนรอบ)
- คำจำกัดความ: ฟิลด์ที่ใช้ตรวจสอบข้อผิดพลาดในการส่งในเฟรม ประกอบด้วยลำดับ CRC และตัวคั่น CRC
- ฟังก์ชัน: รับประกันความสมบูรณ์และความถูกต้องของข้อมูลผ่านการตรวจสอบ CRC
6. ช่อง ACK (ช่องรับทราบ)
- คำจำกัดความ: ส่วนที่ระบุการยืนยันการรับที่สำเร็จ ประกอบด้วยช่อง ACK และตัวคั่น ACK
- ฟังก์ชั่น: เมื่อผู้รับได้รับข้อความที่ถูกต้อง มันจะส่งบิตบวกไปยังตัวส่งสัญญาณระหว่างช่อง ACK เพื่อรับทราบการรับ
7. จุดสิ้นสุดของเฟรม (EOF)
- คำจำกัดความ: ส่วนที่ระบุจุดสิ้นสุดของกรอบข้อมูล ประกอบด้วยบิตลบ 7 บิต
- ฟังก์ชั่น: ส่งสัญญาณการสิ้นสุดของกรอบข้อมูล
ครั้งที่สอง เฟรมระยะไกล
เฟรมระยะไกลใช้เพื่อร้องขอการส่งเฟรมข้อมูลด้วย ID เดียวกัน เมื่อโหนดรับต้องการข้อมูลบางอย่าง แต่ไม่มี โหนดจะส่งเฟรมระยะไกลเพื่อขอให้โหนดส่งสัญญาณส่งเฟรมข้อมูลที่เกี่ยวข้อง โครงสร้างของเฟรมระยะไกลจะคล้ายกับโครงสร้างของเฟรมข้อมูล แต่ส่วนของข้อมูลว่างเปล่า และบิต RTR ถูกตั้งค่าเป็น 1
ที่สาม กรอบข้อผิดพลาด
กรอบข้อผิดพลาดประกอบด้วยสองฟิลด์: ธงข้อผิดพลาดและตัวคั่นข้อผิดพลาด เมื่อโหนดรับตรวจพบข้อผิดพลาดในข้อความบนบัส โหนดจะส่ง "แฟล็กข้อผิดพลาดที่ทำงานอยู่" โดยอัตโนมัติ โหนดอื่นๆ เมื่อตรวจพบแฟล็กข้อผิดพลาดที่ใช้งานอยู่ ให้ส่ง "แฟล็กการรับทราบข้อผิดพลาด" การส่งเฟรมข้อผิดพลาดจะขัดจังหวะการสื่อสารบัสปัจจุบันจนกว่าข้อผิดพลาดจะได้รับการแก้ไข
IV. โอเวอร์โหลดเฟรม
เฟรมโอเวอร์โหลดประกอบด้วยแฟล็กโอเวอร์โหลดและตัวแยกโอเวอร์โหลด โอเวอร์โหลดเฟรมจะถูกส่งเมื่อโหนดรับต้องใช้เวลามากเกินไปในการประมวลผลข้อมูลปัจจุบันก่อนที่จะรับเฟรมถัดไป หรือเมื่อตรวจพบระดับที่โดดเด่นในฟิลด์พื้นที่ระหว่างเฟรม การส่งเฟรมโอเวอร์โหลดจะชะลอการส่งเฟรมถัดไปเพื่อให้แน่ใจว่าการสื่อสารบนบัสจะไม่ถูกขัดจังหวะเนื่องจากการโอเวอร์โหลด
V. ประเภทข้อความอื่นๆ
นอกเหนือจากประเภทข้อความพื้นฐานสี่ประเภทที่กล่าวถึงข้างต้นแล้ว โปรโตคอล CAN บัสยังกำหนดประเภทข้อความพิเศษอื่นๆ อีกหลายประเภท เช่น ประเภทข้อความ Interframe Space และ N_PCI (เช่น เฟรมเดียว เฟรมเริ่มต้น เฟรมต่อเนื่อง เฟรมควบคุมการไหล เป็นต้น) ประเภทข้อความเหล่านี้ใช้ในสถานการณ์การสื่อสารเฉพาะเพื่อให้เป็นไปตามข้อกำหนดการสื่อสารที่แตกต่างกัน
สรุป
ประเภทข้อความบน CAN บัสประกอบด้วยประเภทพื้นฐาน เช่น กรอบข้อมูล กรอบรีโมทคอนโทรล กรอบข้อผิดพลาด และกรอบโอเวอร์โหลด รวมถึงประเภทพิเศษ เช่น ประเภทข้อความ Interframe Space และ N_PCI ข้อความแต่ละประเภทมีโครงสร้างและวัตถุประสงค์เฉพาะ ซึ่งร่วมกันสร้างรากฐานของการสื่อสาร CAN บัส ในการใช้งานจริง การเลือกประเภทข้อความที่เหมาะสมสำหรับการส่งข้อมูลตามความต้องการการสื่อสารเฉพาะทำให้มั่นใจได้ถึงการสื่อสารที่เชื่อถือได้และมีประสิทธิภาพ




