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

CAN บัสได้รับการพัฒนาโดย Bosch ในเยอรมนีในช่วงต้นทศวรรษ 1980 สำหรับ-การสื่อสารในยานพาหนะ ในปี 1993 ISO ได้เผยแพร่มาตรฐาน CAN บัส (ISO 11898) ซึ่งครอบคลุมทั้งโปรโตคอลดาต้าลิงค์เลเยอร์และโปรโตคอลฟิสิคัลเลเยอร์
ISO 11898-1: กำหนดโปรโตคอลดาต้าลิงค์เลเยอร์
ISO 11898-2: กำหนดโปรโตคอลชั้นกายภาพสำหรับ CAN บัสความเร็วสูง- ซึ่งสนับสนุนอัตราการถ่ายโอนข้อมูลสูงสุด 1 Mbps แนะนำโทโพโลยีเชิงเส้นและเหมาะสำหรับแอปพลิเคชันที่มีความต้องการแบบเรียลไทม์สูง
ISO 11898-3: กำหนดโปรโตคอลชั้นกายภาพสำหรับ CAN บัสความเร็วต่ำ- โดยมีอัตราการถ่ายโอนข้อมูลตั้งแต่ 40 Kbps ถึง 125 Kbps มีชื่อเรียกอีกอย่างว่า CAN ที่ทนทานต่อข้อผิดพลาด- ช่วยให้สามารถสื่อสารได้อย่างต่อเนื่องแม้ว่าสายสัญญาณเส้นหนึ่งขัดข้อง ทำให้เหมาะสำหรับแอปพลิเคชันที่มีความต้องการแบบเรียลไทม์ต่ำกว่า
คุณสมบัติ CAN บัส:
การควบคุมหลักหลาย-:CAN บัสรองรับอุปกรณ์หลักหลายเครื่องที่อยู่ร่วมกันบนเครือข่ายโดยไม่มีลำดับชั้นหลัก-รอง อุปกรณ์สื่อสารตามลำดับความสำคัญของข้อความ
การส่งสัญญาณที่แตกต่าง:ใช้สายไฟสองเส้น (CAN_H และ CAN_L) เพื่อส่งสัญญาณที่แตกต่าง ช่วยเพิ่มความต้านทานต่อการรบกวนทางแม่เหล็กไฟฟ้า
การอนุญาโตตุลาการแบบไม่ทำลาย-:ในระหว่างการส่งข้อความ ถ้าเกิดการชนกัน ข้อความที่มีลำดับความสำคัญสูงกว่า-จะถูกส่งในขณะที่ข้อความที่มีลำดับความสำคัญต่ำกว่า-จะรอการส่งอีกครั้ง
การตรวจจับและการจัดการข้อผิดพลาด:นำเสนอความสามารถในการตรวจจับและการจัดการข้อผิดพลาดที่มีประสิทธิภาพ รวมถึงการตรวจสอบความถูกต้องของผลรวม CRC และการตรวจสอบข้อผิดพลาดบิต
โทโพโลยีที่ยืดหยุ่น:รองรับโทโพโลยีเครือข่ายหลายรูปแบบ เช่น การกำหนดค่าเชิงเส้น สตาร์ ทรี และวงแหวน
บน CAN บัส ความแตกต่างแรงดันไฟฟ้าที่มีนัยสำคัญระหว่างลอจิก "0" และ "1" ช่วยให้มั่นใจได้ถึงการสื่อสารที่เชื่อถือได้ จากคำอธิบายข้างต้น ระดับลอจิกสองระดับบน CAN บัสคือ:
เด่น: 0
ถอย: 1
ระดับสัญญาณบน CAN บัสแสดงเส้น-และคุณลักษณะ เส้นนี้-และลักษณะการทำงานเป็นพื้นฐานของวงจรสำหรับการอนุญาโตตุลาการ CAN บัส: ระดับที่โดดเด่น (0) จะปกปิดระดับถอย (1) เสมอ หากโหนดที่แตกต่างกันส่งระดับที่โดดเด่นและถอยพร้อมกัน บัสจะแสดงระดับที่โดดเด่น (0) เฉพาะเมื่อโหนดทั้งหมดส่งระดับถอย (1) เท่านั้นที่บัสจะแสดงสถานะถอย
ระดับที่โดดเด่น:ลอจิก 0 ใน CAN ความเร็วสูง- พิน CAN_H ขับเคลื่อนไปที่ 5V ในขณะที่พิน CAN_L ขับเคลื่อนไปที่ 0V
ระดับการยอมจำนน:ลอจิก 1. ไม่มีการขับเคลื่อนพินใดเลย

CAN บัสความเร็วสูง-และบัส CAN ความเร็วต่ำ-แตกต่างกันในคำจำกัดความระดับสัญญาณของเลเยอร์ทางกายภาพ:
ความเร็วสูง- CAN กำหนดตรรกะ "1" เมื่อแรงดันไฟฟ้า CANH และ CANL เท่ากัน (CANH=CANL=2.5V) และตรรกะ "0" เมื่อความแตกต่างของแรงดันไฟฟ้าระหว่าง CANH และ CANL คือ 2V (CANH=3.5V, CANL=1.5V)
ภายในช่วงแรงดันไฟฟ้าของโหมด-ทั่วไป (-12V ถึง 12V) ตัวรับส่งสัญญาณ CAN ความเร็วสูงตีความความแตกต่างของแรงดันไฟฟ้าที่มากกว่า 0.9V ระหว่าง CANH และ CANL ว่าเป็นสถานะที่โดดเด่น และความแตกต่างน้อยกว่า 0.5V เป็นสถานะถอย วงจรฮิสเทรีซิสภายในช่วยลดการรบกวน
ความเร็วต่ำ- CAN กำหนดตรรกะ "1" เมื่อความแตกต่างของแรงดันไฟฟ้าระหว่าง CANH และ CANL คือ 5V (CANH=0V, CANL=5V) และตรรกะ "0" เมื่อความแตกต่างของแรงดันไฟฟ้าคือ 2.2V (CANH=3.6V, CANL=1.4V)
ระดับสัญญาณ CAN ความเร็วสูง- (ISO 11898-2)
ระดับสัญญาณ CAN ความเร็วต่ำ- (ISO 11898-3)
กลไกการจัดการข้อผิดพลาด CAN:
ข้อผิดพลาดซีอาร์ซี:ตรวจจับข้อผิดพลาดโดยการคำนวณและตรวจสอบค่า CRC ของข้อมูล
ข้อผิดพลาดบิต:ตรวจจับข้อผิดพลาดบิตแบบเรียลไทม์-ระหว่างการส่ง
กรอบข้อผิดพลาด:ส่งเฟรมข้อผิดพลาดเพื่อขอส่งซ้ำเมื่อตรวจพบข้อผิดพลาด
สรุป
CAN บัสได้รับการยอมรับอย่างกว้างขวางในหลายสาขา เนื่องจากมีความน่าเชื่อถือสูง ประสิทธิภาพแบบเรียลไทม์- และความยืดหยุ่น เนื่องจากความก้าวหน้าทางเทคโนโลยี CAN บัสยังคงพัฒนาต่อไป-ตัวอย่างเช่น มาตรฐาน CAN FD (Flexible Data-Rate) ที่ออกโดย BOSCH จะช่วยเพิ่มอัตราการส่งข้อมูลให้ตรงกับความต้องการของแอปพลิเคชันที่ต้องการแบนด์วิธที่สูงขึ้น




