เวลาพูดถึง “เครือข่าย” หลายคนอาจนึกถึงอินเทอร์เน็ตหรือ Wi-Fi
แต่ในโลกของรถยนต์ก็มีเครือข่ายเฉพาะตัวเช่นกัน
หนึ่งในดาวเด่นคือ CAN Bus (Controller Area Network)
ระบบสื่อสารที่ให้กล่อง ECU, เซนเซอร์ และโมดูลต่าง ๆ ในรถยนต์ “คุยกัน” ได้อย่างราบรื่น
วันนี้ผมอยากพาเ มาทำความรู้จัก CAN Bus ตั้งแต่ระดับ ชั้นกายภาพ (Physical Layer)
หรือพูดง่าย ๆ คือ เริ่มกันตั้งแต่ “สายไฟสองเส้น” ว่ามีเรื่องราวซ่อนอยู่แค่ไหน
สองเส้นนี้สำคัญนัก CAN H และ CAN L
หัวใจของ CAN Bus คือสาย CAN High (CAN H) และ CAN Low (CAN L) ที่เดินคู่กันไปตลอดทั้งรถ
อุปกรณ์ทุกตัวจะต่อเข้ากับสองเส้นนี้เหมือนอยู่บนถนนสายเดียวกัน
สายทั้งคู่จะถูกบิดเกลียว (Twisted Pair) เพื่อลดสัญญาณรบกวน
และที่ปลายสายทั้งสองด้านจะต้องมี ตัวต้านทาน 120 โอห์ม
คอยดูดซับพลังงานสัญญาณ ป้องกันไม่ให้เกิดการสะท้อนที่ทำให้ข้อมูลผิดเพี้ยน
💡 ทริกตรวจสอบสาย
ใช้โอห์มมิเตอร์วัดค่าระหว่าง CAN H และ CAN L (ปิดไฟเลี้ยงก่อน)
ถ้าระบบปกติควรได้ประมาณ 60 โอห์ม
เพราะปลายทั้งสองข้างมีตัวต้านทาน 120 โอห์มต่อขนานกัน

สายสัญญาณ: มากกว่าลวดทองแดง
แม้จะดูเป็นแค่สายไฟ แต่จริง ๆ แล้วสาย CAN ทำตัวเหมือน สายส่ง (Transmission Line)
มีทั้งความเหนี่ยวนำ ความเก็บประจุ และความต้านทานในตัว
คุณสมบัติสำคัญคือ Characteristic Impedance (Z₀) ที่ประมาณ 120 โอห์ม
หากปลายสายไม่มีตัวต้านทานคุมไว้ สัญญาณที่ส่งออกไปจะสะท้อนกลับ
เกิดแรงดันเกิน ทำให้คลื่นผิดรูปและสื่อสารผิดพลาดได้

ความเร็ว (Baud Rate) กับความยาวสาย
ข้อมูลบน CAN Bus ถูกส่งแบบอนุกรม บิตต่อบิต ความเร็วนี้เรียกว่า Baud Rate
เช่น 125 kbps, 250 kbps, 500 kbps หรือสูงสุด 1 Mbps
Baud Rate ยิ่งสูง → Bit Time ยิ่งสั้น → ส่งข้อมูลได้เร็ว
แต่ก็แลกกับ ความยาวสายสูงสุดที่สั้นลง
- 125 kbps → สายได้ไกลราว 500 เมตร
- 250 kbps → ราว 250 เมตร
- 500 kbps → ราว 100 เมตร
- 1 Mbps → ราว 40 เมตร
เพราะสัญญาณต้องเดินทางทันเวลาที่กำหนด ไม่อย่างนั้นบิตจะชนกัน

ทนต่อสัญญาณรบกวน ได้ยังไง
CAN ไม่ได้ใช้แรงดันเดียวบอก 0 หรือ 1
แต่ใช้ ความต่างของแรงดัน (Differential Voltage) ระหว่าง CAN H กับ CAN L
- Dominant (Logic 0) : CAN H ~3.5 V, CAN L ~1.5 V → ต่างกัน ~2 V
- Recessive (Logic 1) : ทั้งคู่ ~2.5 V → ต่างกัน ~0 V
ข้อดีคือแม้จะมีสัญญาณรบกวนเข้ามาพร้อมกันทั้งสองเส้น
ค่าความต่างจะยังคงเดิม ทำให้สื่อสารได้แม่นยำ
แม้ในสภาพแวดล้อมที่เต็มไปด้วยเสียงรบกวนอย่างห้องเครื่องยนต์

โหนด (Node) – ตัวละครในเครือข่าย
บนสาย CAN จะมี “โหนด” หรืออุปกรณ์มากมาย
ไม่ว่าจะเป็น ECU เครื่องยนต์ เซนเซอร์เบรก หรือหน้าจอแสดงผล
แต่ละโหนดประกอบด้วย 3 ส่วนหลัก
- Processor – สมองประมวลผลข้อมูล
- CAN Controller – สร้างและจัดการเฟรมข้อมูล
- CAN Transceiver – แปลงสัญญาณดิจิทัลเป็นแรงดันไฟฟ้า และกลับกัน
ไมโครคอนโทรลเลอร์สมัยใหม่อย่าง ESP32 หรือ STM32 หลายรุ่นมี CAN Controller ติดมาแล้ว
เราจึงเพียงต่อ Transceiver ภายนอกเพื่อเชื่อมเข้ากับบัสได้เลย

ทำไม CAN Transceiver ต้องใช้วงจร Open Collector
หนึ่งในกลไกสำคัญที่ทำให้ CAN Bus “ไม่ชนกัน” เวลาหลายโหนดส่งข้อมูลพร้อมกัน
คือการออกแบบวงจรขับสัญญาณของ CAN Transceiver ให้เป็นแบบ Open Collector (หรือบางรุ่นเรียก Open Drain)
หลักการของ Open Collector
- ปกติขาส่งสัญญาณของทรานซิสเตอร์จะ ลอย (ไม่ต่อให้มีแรงดันไฟฟ้า) เมื่อไม่มีการส่งข้อมูล
- เมื่อโหนดต้องการส่ง Logic 0 (Dominant) ทรานซิสเตอร์จะ “ดึง” สายสัญญาณทั้งเส้นลงสู่แรงดันต่ำ
- ถ้าไม่มีใครดึงลง (ทุกโหนดส่ง Logic 1) สายจะถูก Bias ให้ค้างอยู่ที่แรงดันกลาง (Recessive) โดยตัวต้านทาน Pull-up/Pull-down
ผลลัพธ์คือ บัสทำงานเสมือนการ “AND” กันของทุกโหนด
หากมีใครดึงลง Logic 0 แม้เพียงตัวเดียว
แรงดันบนสายจะกลายเป็น 0 ทันที ไม่ว่าคนอื่นจะพยายามส่ง Logic 1

เครือข่ายย่อยและ Gateway
ในรถยนต์สมัยใหม่ ระบบ CAN ไม่ได้เป็นเส้นเดียวทั้งคัน มักจะแบ่งเป็น เครือข่ายย่อย เช่น
- เครือข่ายเครื่องยนต์ (Engine CAN)
- เครือข่ายความบันเทิง (Infotainment CAN)
- เครือข่ายความปลอดภัย (Safety CAN)
แต่ละส่วนอาจใช้ Baud Rate ต่างกัน และสื่อสารกันผ่าน Gateway
ช่วยลดการจราจรของข้อมูล เพิ่มความปลอดภัย และขยายระบบได้ง่าย

สรุป
เบื้องหลังสายบิดเกลียวสองเส้นของ CAN Bus
มีทั้งหลักการไฟฟ้า การออกแบบวงจร และกลไกจัดลำดับการสื่อสารที่ซับซ้อน
แต่ทั้งหมดนี้ถูกสร้างขึ้นเพื่อให้รถยนต์ของเราทำงานได้อย่างปลอดภัยและเชื่อถือได้
เมื่อเข้าใจ Physical Layer แล้ว
การต่อยอดไปสู่การเขียนโปรแกรมหรือการวิเคราะห์เฟรมข้อมูล
ก็จะง่ายและสนุกขึ้นมาก
ลองมองสายสองเส้นในรถครั้งต่อไป
คุณอาจเห็นมันเป็น “ถนนสายดิจิทัล” ที่พา ECU ทั้งคันคุยกันตลอดเวลานั่นเอง 🚗💡

Leave a Reply