was successfully added to your cart.

CAN Bus คืออะไร เอาไปใช้ทำอะไร และวิธีใช้บน BBB Display

By March 10, 2014Product

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

รายละเอียดเพิ่มเติมของ CAN ในรถยนต์สามารถอ่านเพิ่มเติมได้ที่

http://www.technology2029.com/Controller%20Area%20Network.pdf

แต่ในปัจจุบัน CAN ไม่ได้ถูกใช้แต่ในรถยนต์เท่านั้น ในงานอุตสากรรมก็มีการใช้งานกันอย่างแพร่หลาย รวมไปถึง PLC ด้วย

บอร์ด Beaglebone Black

BBB-400
ในตัว processor ของ SITARA AM335x มี CAN ให้ใช้งานอยู่แล้วเพียงแต่เราจำเป็นต้องต่อวงจรเพื่อใช้งานภายนอก
ในสินค้าของเรา BBB Display มีการต่อวงจร CAN ไว้ให้เรียบร้อยแล้ว

http://www.deaware.com/product/bbb-display-7inch-touch-screen-for-beaglebone-black/

CAN_BBB

ในการเชื่อมต่อเราจะนำ BBB Display ของเราเชื่อมต่อผ่าน CAN Dongle

IMG_0955

หลังจากนั้นมาดูวิธีการใช้ CAN บน Beaglebone Black กับจอ BBB Display ของเรานะครับ เริ่มต้นเราต้องแก้ไขไดรเวอร์ของ Linux นิดหน่อยแต่ตรงนั้นเราซัพพอร์ตไว้ให้แล้วผู้ใช้สามารถทำบน command line system ได้เลย

เริ่มจาก

$ ip link set can0 type can bitrate 50000 triple-sampling on

เพื่อการตั้งค่า interface can0 โดยใช้ความเร็วที่ 50Kbits/sec
หลังจากนั้น

$ ip link set can0 up

อัพ interface can0 ขึ้นมาเพื่อเตรียมตัวใช้งาน

เราสามารถทดลองส่งข้อมูลผ่าน can ได้แล้วโดยใช้วิธี

$ cansend can0 -i 0x800 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 -e

หรือทดลองรับค่าผ่าน can ได้โดยการใช้คำสั่ง

$ candump can0

เห็นไหมครับการใช้ CAN สำหรับบอร์ด Beaglebone Black ไม่ยากเลย สามารถชมวีดีโอตัวอย่างได้ที่

http://www.youtube.com/watch?v=Ew1KPmPPU1w

Leave a Reply

*