CAN บัสในรถยนต์ - นี่คือเทคโนโลยีประเภทใด? การวัดและการวินิจฉัย CAN บัส ไดอะแกรม CAN บัส

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

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

อักษรย่อ CAN ย่อมาจาก Controller Area Network ซึ่งก็คือเครือข่ายของตัวควบคุม ดังนั้น CAN บัสจึงเป็นอุปกรณ์ที่รับข้อมูลจากอุปกรณ์และส่งข้อมูลระหว่างกัน มาตรฐานนี้ได้รับการพัฒนาและนำมาใช้เมื่อ 30 ปีที่แล้วโดย Robert Bosch GmbH ปัจจุบันใช้ในอุตสาหกรรมยานยนต์ ระบบอัตโนมัติทางอุตสาหกรรม และการออกแบบวัตถุที่ระบุว่า "ฉลาด" เช่น บ้าน

วิธีการทำงานของ CAN บัส

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

ตัวระบุรวมอยู่ในข้อความเพื่อสื่อข้อมูลต่างๆ พวกมันไม่ซ้ำกันและรายงานว่า ณ ช่วงเวลาใดเวลาหนึ่งรถยนต์กำลังแล่นด้วยความเร็ว 60 กม./ชม. ชุดข้อความถูกส่งไปยังอุปกรณ์ทั้งหมด แต่ต้องขอบคุณตัวระบุแต่ละรายการ พวกเขาประมวลผลเฉพาะข้อความที่มีไว้สำหรับพวกเขาโดยเฉพาะเท่านั้น ตัวระบุ CAN บัสสามารถมีความยาวได้ตั้งแต่ 11 ถึง 29 บิต

ขึ้นอยู่กับวัตถุประสงค์ของยาง CAN แบ่งออกเป็นหลายประเภท:

  • พลัง. ได้รับการออกแบบมาสำหรับการซิงโครไนซ์และการแลกเปลี่ยนข้อมูลระหว่างหน่วยอิเล็กทรอนิกส์ของเครื่องยนต์กับระบบเบรกป้องกันล้อล็อก กระปุกเกียร์ การจุดระเบิด และหน่วยการทำงานอื่นๆ ของรถ
  • ความสบายใจ. ยางเหล่านี้มีอินเทอร์เฟซแบบดิจิทัลที่ไม่ได้เชื่อมต่อกับแชสซีของเครื่องจักร แต่มีส่วนรับผิดชอบต่อความสะดวกสบาย นี่คือระบบอุ่นที่นั่ง ระบบควบคุมสภาพอากาศ การปรับกระจก ฯลฯ
  • ข้อมูลและคำสั่ง โมเดลเหล่านี้ออกแบบมาเพื่อการแลกเปลี่ยนข้อมูลอย่างรวดเร็วระหว่างโหนดที่รับผิดชอบในการบำรุงรักษารถยนต์ ตัวอย่างเช่น ระบบนำทาง สมาร์ทโฟน และ ECU

ทำไมถึงสามารถโดยสารในรถยนต์ได้

การกระจายอินเทอร์เฟซ CAN ในภาคยานยนต์นั้นเกิดจากการทำหน้าที่สำคัญหลายประการ:

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

ในรถยนต์สมัยใหม่ บัสดิจิทัลมีส่วนประกอบและระบบดังต่อไปนี้:

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

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

ข้อดีข้อเสียของ CAN บัส

ผู้เชี่ยวชาญด้านอิเล็กทรอนิกส์ยานยนต์พูดถึงการใช้อินเทอร์เฟซ CAN ทราบถึงข้อดีดังต่อไปนี้:

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

แต่ CAN บัสก็มีข้อเสียด้านการทำงานเช่นกัน:

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

ปัญหาที่อาจเกิดขึ้นกับ CAN บัส

เนื่องจากการรวมไว้ในกระบวนการทำงานหลายอย่าง ความผิดปกติใน CAN บัสจึงปรากฏขึ้นอย่างรวดเร็ว สัญญาณการด้อยค่าที่พบบ่อยที่สุดคือ:

  • การแสดงเครื่องหมายคำถามบนแดชบอร์ด
  • การเรืองแสงพร้อมกันของหลอดไฟหลายดวง เช่น CHECK ENGINE และ ABS
  • การหายไปของตัวบ่งชี้ระดับน้ำมันเชื้อเพลิง, ความเร็วเครื่องยนต์, ความเร็วบนแดชบอร์ด

ปัญหาดังกล่าวเกิดจากสาเหตุหลายประการเกี่ยวกับแหล่งจ่ายไฟหรือวงจรไฟฟ้าขัดข้อง ซึ่งอาจเป็นการลัดวงจรจากกราวด์หรือแบตเตอรี่ วงจรเปิด จัมเปอร์เสียหาย แรงดันไฟฟ้าตกเนื่องจากปัญหาเกี่ยวกับเครื่องกำเนิดไฟฟ้า หรือแบตเตอรี่หมด

มาตรการแรกในการตรวจสอบยางคือการวินิจฉัยด้วยคอมพิวเตอร์ของทุกระบบ ถ้ามันแสดงบัส คุณต้องวัดแรงดันที่พิน H และ L (ควรเป็น ~4V) และตรวจสอบรูปคลื่นบนออสซิลโลสโคปใต้สวิตช์กุญแจ หากไม่มีสัญญาณหรือสอดคล้องกับแรงดันไฟฟ้าหลัก แสดงว่ามีการลัดวงจรหรือวงจรเปิด

เนื่องจากความซับซ้อนของระบบและการเชื่อมต่อจำนวนมาก การวินิจฉัยและแก้ไขปัญหาคอมพิวเตอร์ควรอยู่ในมือของผู้เชี่ยวชาญพร้อมอุปกรณ์คุณภาพสูง

งาน:เข้าถึงการอ่านค่าเซ็นเซอร์รถยนต์มาตรฐานโดยไม่ต้องติดตั้งเซ็นเซอร์เพิ่มเติม
วิธีการแก้:อ่านข้อมูลจากรถ

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

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

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

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

  • ความเร็วรอบเครื่องยนต์
  • ระดับน้ำมันเชื้อเพลิงในถัง
  • ระยะรถ;
  • อุณหภูมิน้ำหล่อเย็นเครื่องยนต์ของรถ
  • เป็นต้น

วิธีแก้ไขที่เราจะกล่าวถึงในบทความนี้คือ อ่านข้อมูลจาก CAN บัสของรถ

. อะไร ?

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


. งานอ่านข้อมูลจาก CAN บัสมาจากไหน?

งานอ่านข้อมูลจาก CAN บัสเป็นผลมาจากปัญหาการปรับต้นทุนของยานพาหนะให้เหมาะสม

ตามคำขอของลูกค้าทั่วไป ยานพาหนะและอุปกรณ์พิเศษได้รับการติดตั้งระบบติดตามดาวเทียม GLONASS หรือ GPS และระบบควบคุมการหมุนเวียนของเชื้อเพลิง (ขึ้นอยู่กับเซ็นเซอร์ระดับเชื้อเพลิงใต้น้ำหรืออัลตราโซนิก)

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

วิธีแก้ปัญหานี้คือการรับข้อมูลจาก CAN บัส ท้ายที่สุดมันมีจำนวน ข้อดี:

1. บันทึกเกี่ยวกับอุปกรณ์เพิ่มเติม

ไม่จำเป็นต้องเสียค่าใช้จ่ายจำนวนมากในการซื้อและติดตั้งเซ็นเซอร์และอุปกรณ์ต่างๆ

2. การรักษาการรับประกันรถ

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

3. การเข้าถึงข้อมูลจากอุปกรณ์อิเล็กทรอนิกส์และเซ็นเซอร์ที่ติดตั้งตามมาตรฐาน



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

ช่างเทคนิคของ Skysim ได้เลือกที่จะทดสอบโซลูชันนี้กับอุปกรณ์ มีตัวถอดรหัส FMS ในตัว และสามารถอ่านข้อมูลได้โดยตรงจาก CAN บัสของรถ



. ข้อดีและข้อเสียของโซลูชันการอ่านข้อมูลจาก CAN บัสคืออะไร

ข้อดี:

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

ข้อบกพร่อง:

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

มาตรฐานเครือข่ายมอบโอกาสมากมายสำหรับการถ่ายโอนข้อมูลโดยปราศจากข้อผิดพลาดระหว่างโหนด ทำให้นักพัฒนามีอิสระที่จะลงทุนในมาตรฐานนี้ทุกอย่างที่เหมาะสม ในแง่นี้ CAN บัสเปรียบเสมือนสายไฟฟ้าธรรมดา คุณสามารถ "ผลักดัน" การไหลของข้อมูลใด ๆ ที่สามารถทนต่อแบนด์วิดท์ของบัสได้

รู้จักตัวอย่างการส่งสัญญาณเสียงและภาพผ่าน CAN บัส มีกรณีที่รู้จักกันดีคือการสร้างระบบสื่อสารฉุกเฉินตามทางหลวงยาวหลายสิบกิโลเมตร (เยอรมนี) (ในกรณีแรก ต้องใช้อัตราการส่งข้อมูลสูงและความยาวสายขนาดเล็ก ในกรณีที่สอง ในทางกลับกัน)

ตามกฎแล้วผู้ผลิตจะไม่โฆษณาว่าพวกเขาใช้ไบต์ที่มีประโยชน์ในแพ็คเกจอย่างไร ดังนั้น อุปกรณ์ FMS จึงไม่สามารถถอดรหัสข้อมูลที่ CAN บัส "มอบให้" ได้เสมอไป นอกจากนี้ รถยนต์บางยี่ห้อเท่านั้นที่มี CAN บัส และไม่ใช่ว่ารถยนต์ทุกยี่ห้อและรุ่นเดียวกันจะสามารถสร้างข้อมูลเดียวกันได้


ตัวอย่างการใช้งานโซลูชัน:

เมื่อไม่นานมานี้ Skysim ร่วมกับพันธมิตรได้ดำเนินโครงการขนาดใหญ่เพื่อตรวจสอบยานพาหนะ มีรถบรรทุกที่ผลิตจากต่างประเทศหลายคันในสวนสาธารณะ โดยเฉพาะรถบรรทุก Scania p340


เพื่อวิเคราะห์กระบวนการรับข้อมูลจาก CAN บัส เราได้ปรึกษาหารือกับลูกค้าเพื่อทำการศึกษาที่เกี่ยวข้องกับรถ Scania p340 สามคัน: คันหนึ่งผลิตในปี 2008 คันที่สองในช่วงต้นปี 2009 และคันที่สามในปลายปี 2009


ผลลัพธ์ที่ได้มีดังนี้:

  • จากข้อมูลแรกไม่ได้รับ
  • จากวินาทีเท่านั้นที่ได้รับระยะทาง
  • จากข้อมูลที่สาม ได้รับข้อมูลที่น่าสนใจทั้งหมด (ระดับน้ำมันเชื้อเพลิง อุณหภูมิน้ำหล่อเย็น ความเร็วเครื่องยนต์


รูปภาพแสดงส่วนของข้อความจากระบบข้อมูล Wialon โดยที่:
Fuel_level - ระดับน้ำมันเชื้อเพลิงในถังเป็น %;
Temp_aqua - อุณหภูมิน้ำหล่อเย็นเป็นองศาเซลเซียส
Taho - ข้อมูลจากมาตรวัดรอบ (รอบต่อนาที)

กฎสำหรับการใช้โซลูชันมีดังนี้:

1. อุปกรณ์นำทาง Galileo GLONASS/GPS เชื่อมต่อกับ CAN บัสของรถบรรทุก
เครื่องติดตามอัตโนมัติรุ่นนี้ได้รับเลือกเนื่องจากการผสมผสานที่ลงตัวระหว่างฟังก์ชันการทำงาน ความน่าเชื่อถือ และราคา นอกจากนี้ยังรองรับ FMS (Fuel Monitoring System) ซึ่งเป็นระบบที่ให้คุณลงทะเบียนและตรวจสอบพารามิเตอร์หลักของการใช้รถ เช่น เหมาะสำหรับการเชื่อมต่อกับ CAN บัส

ไดอะแกรมสำหรับการเชื่อมต่อกับ CAN บัสจากด้านข้างของอุปกรณ์กาลิเลโอมีอยู่ในคู่มือผู้ใช้ ในการเชื่อมต่อจากด้านข้างของรถ ก่อนอื่นต้องหาสายคู่บิดที่เหมาะสมสำหรับขั้วต่อการวินิจฉัย ขั้วต่อการวินิจฉัยสามารถเข้าถึงได้เสมอและอยู่ใกล้กับคอพวงมาลัย ในตัวเชื่อมต่อ OBD II แบบ 16 พิน สูง 6 แคน ต่ำ 14 แคน โปรดทราบว่าแรงดันไฟฟ้าสำหรับสายไฟสูงจะอยู่ที่ประมาณ 2.6-2.7V สำหรับสายไฟต่ำมักจะน้อยกว่า 0.2V


_________________________________________________________________________

อีกโซลูชันหนึ่งที่ใช้ในการอ่านข้อมูลจาก CAN บัสคือเครื่องอ่านข้อมูลแบบไร้สัมผัส CAN Crocodile (ผลิตโดย JV Technoton, Minsk) มันใช้งานได้ดีกับเครื่องดนตรีของกาลิเลโอ


ประโยชน์ของเทคโนโลยี CAN Crocodile:

CAN Crocodile ช่วยให้คุณรับข้อมูลเกี่ยวกับการทำงานของรถจาก CAN บัส โดยไม่รบกวนความสมบูรณ์ของยางนั่นเอง

การอ่านข้อมูลเกิดขึ้นโดยไม่มีการสัมผัสทางกลและทางไฟฟ้ากับสายไฟ

CAN Crocodile ใช้เพื่อเชื่อมต่อระบบตรวจสอบ GPS / GLONASS กับ CAN บัส ซึ่งรับข้อมูลเกี่ยวกับโหมดการทำงานของเครื่องยนต์ สถานะเซ็นเซอร์ ความผิดปกติ ฯลฯ

CAN Crocodile ไม่ทำลายฉนวนของสาย CAN และ "ฟัง" การแลกเปลี่ยนบัสโดยใช้ตัวรับสัญญาณไร้สายพิเศษ

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



2. หากตรวจพบสายไฟและระบุได้อย่างถูกต้อง คุณสามารถเริ่มเรียกใช้เครื่องสแกน CAN ในอุปกรณ์กาลิเลโอได้

3. เลือกมาตรฐาน FMS ความเร็วสำหรับรถยนต์ส่วนใหญ่คือ 250,000

4. การสแกนเริ่มต้นขึ้น

5. หลังจากการสแกนเสร็จสิ้น จะมีการเปลี่ยนไปที่หน้าหลักของตัวกำหนดค่า หากการสแกนเสร็จสมบูรณ์ เราจะสามารถเข้าถึงข้อมูลที่ถอดรหัสได้

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


แต่มีอีกจุดหนึ่งที่สำคัญที่จะต้องสัมผัส

บ่อยครั้งที่เป้าหมายหลักของลูกค้าคือการควบคุมระดับและการใช้เชื้อเพลิง

  • แม้ว่าจะสามารถรับข้อมูลจากเซ็นเซอร์มาตรฐานจาก CAN บัสได้สำเร็จ แต่ค่าที่ใช้งานได้จริงคืออะไร

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

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

ข้อสรุป


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

การปรากฏตัวของยางดิจิทัลในรถยนต์เกิดขึ้นช้ากว่าที่ชิ้นส่วนอิเล็กทรอนิกส์จะเริ่มแพร่หลาย ในเวลานั้น พวกเขาต้องการเพียง "เอาต์พุต" ดิจิทัลเพื่อ "สื่อสาร" กับอุปกรณ์วินิจฉัย - อินเทอร์เฟซแบบอนุกรมความเร็วต่ำ เช่น ISO 9141-2 (K-Line) ก็เพียงพอแล้ว อย่างไรก็ตาม ความซับซ้อนที่เห็นได้ชัดของอุปกรณ์อิเล็กทรอนิกส์แบบออนบอร์ดเมื่อเปลี่ยนไปใช้สถาปัตยกรรม CAN ได้กลายเป็นการทำให้ง่ายขึ้น

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

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

สาระสำคัญของ CAN บัส

CAN บัสแบบดิจิทัลไม่ใช่โปรโตคอลทางกายภาพเฉพาะ หลักการทำงานของ CAN บัส ซึ่งพัฒนาโดยบ๊อชในช่วงทศวรรษที่ 80 ช่วยให้สามารถนำไปใช้กับการส่งสัญญาณประเภทใดก็ได้ แม้แต่ผ่านสาย แม้แต่ผ่านใยแก้วนำแสง หรือแม้แต่ผ่านช่องสัญญาณวิทยุ CAN บัสทำงานร่วมกับการสนับสนุนฮาร์ดแวร์สำหรับลำดับความสำคัญของบล็อกและความสามารถสำหรับ "สำคัญกว่า" เพื่อขัดจังหวะการส่งข้อมูลของ "สำคัญน้อยกว่า"

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

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

มีไว้เพื่ออะไร? ข้อมูลสำคัญนั้นจะถูกถ่ายโอนด้วยความล่าช้าขั้นต่ำแม้ว่าจะไม่มีการถ่ายโอนข้อมูลที่ไม่สำคัญไปยังบัสก็ตาม (สิ่งนี้ทำให้ CAN บัสแตกต่างจากคอมพิวเตอร์อีเทอร์เน็ตที่ทุกคนคุ้นเคย) ในกรณีที่เกิดอุบัติเหตุ ความสามารถของ ECU หัวฉีดในการรับข้อมูลเกี่ยวกับสิ่งนี้จากตัวควบคุม SRS นั้นมีความสำคัญมากกว่าความสามารถของแผงหน้าปัดในการรับชุดข้อมูลถัดไปเกี่ยวกับความเร็วในการเคลื่อนที่

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

ตัวอย่างเช่น เอกสารทางเทคนิคของ Volkswagen กำหนดประเภทของ CAN บัสที่ใช้อยู่สามประเภท:

  • บัส "เร็ว" ที่ทำงานด้วยความเร็ว 500 กิโลบิตต่อวินาที รวมเครื่องยนต์, ABS, SRS และชุดควบคุมเกียร์
  • "ช้า" ทำงานที่ความเร็ว 100 kbps และรวมหน่วยของระบบ "Comfort" (เซ็นทรัลล็อก กระจกไฟฟ้า และอื่นๆ)
  • ส่วนที่สามทำงานที่ความเร็วเท่ากัน แต่จะส่งข้อมูลระหว่างการนำทาง โทรศัพท์ในตัว และอื่นๆ เท่านั้น สำหรับรถยนต์รุ่นเก่า (เช่น Golf IV) บัสข้อมูลและบัส "ความสะดวกสบาย" ถูกรวมเข้าด้วยกัน

ความจริงที่น่าสนใจ: บน Renault Logan ของรุ่นที่สองและ "co-platformers" ยังมีบัสสองตัว แต่อันที่สองเชื่อมต่อเฉพาะระบบมัลติมีเดียกับคอนโทรลเลอร์ CAN ส่วนอันที่สองมีทั้ง ECU ของเครื่องยนต์, ABS ตัวควบคุม และถุงลมนิรภัย และ UCH

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

แต่ในสายคู่บิดเกลียว ค่า EMF ของสัญญาณรบกวนจะเท่ากันบนสายทั้งสอง ดังนั้นความต่างศักย์ไฟฟ้าจะไม่เปลี่ยนแปลง ดังนั้นในการค้นหา CAN บัสในรถให้มองหาสายคู่บิด - สิ่งสำคัญคืออย่าสับสนกับสายไฟของเซ็นเซอร์ ABS ซึ่งวางอยู่ในรถด้วยสายคู่บิดเพื่อป้องกันการรบกวน .

ตัวเชื่อมต่อการวินิจฉัยของ CAN บัสไม่ได้ถูกประดิษฐ์ขึ้นใหม่: สายไฟถูกนำไปที่พินว่างของบล็อกมาตรฐานแล้ว ซึ่ง CAN บัสตั้งอยู่บนพิน 6 (CAN-H) และ 14 (CAN-L)

เนื่องจากมี CAN บัสหลายคันบนรถ จึงมักมีการฝึกใช้ระดับสัญญาณทางกายภาพที่แตกต่างกันในแต่ละคัน ตัวอย่างเช่น เรามาดูเอกสารประกอบของโฟล์คสวาเกนกัน นี่คือลักษณะของการส่งข้อมูลในบัสมอเตอร์:

เมื่อไม่มีการส่งข้อมูลบนบัสหรือบิตด้อยกำลังถูกส่ง โวลต์มิเตอร์จะแสดง 2.5 โวลต์เป็นกราวด์บนสายทั้งสองของสายคู่บิดเกลียว (ความแตกต่างของสัญญาณเป็นศูนย์) ในขณะที่ส่งบิตที่โดดเด่นบนสาย CAN-High แรงดันไฟฟ้าจะเพิ่มขึ้นเป็น 3.5 V ในขณะที่ CAN-Low จะลดลงเหลือครึ่งหนึ่ง ความแตกต่างของ 2 โวลต์หมายถึง "หนึ่ง"

บนรถคอมฟอร์ท ทุกอย่างดูต่างออกไป:

ที่นี่ "ศูนย์" คือความแตกต่าง 5 โวลต์และแรงดันไฟฟ้าของสายต่ำจะสูงกว่าสายสูง "หน่วย" คือการเปลี่ยนแปลงความต่างศักย์ไฟฟ้าเป็น 2.2 V.

การตรวจสอบ CAN บัสในระดับกายภาพนั้นดำเนินการโดยใช้ออสซิลโลสโคปซึ่งช่วยให้คุณเห็นการผ่านของสัญญาณจริงบนสายคู่บิดเกลียว: แน่นอนว่าผู้ทดสอบทั่วไปจะเป็นไปไม่ได้ที่จะ "เห็น" การสลับของพัลส์ ยาวขนาดนั้น.

"การถอดรหัส" ของ CAN-bus ของรถยนต์นั้นดำเนินการโดยอุปกรณ์วิเคราะห์พิเศษ ช่วยให้คุณสามารถส่งออกแพ็กเก็ตข้อมูลจากบัสขณะที่กำลังส่ง

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

ข้อบกพร่อง

แม้ว่าอินเทอร์เฟซ CAN จะได้รับการปกป้องอย่างดีจากการรบกวน แต่ความผิดพลาดทางไฟฟ้าได้กลายเป็นปัญหาร้ายแรงสำหรับเขา การรวมบล็อกเป็นเครือข่ายเดียวทำให้มีความเสี่ยง อินเทอร์เฟซ CAN บนรถยนต์กลายเป็นฝันร้ายอย่างแท้จริงสำหรับช่างไฟฟ้าอัตโนมัติที่มีทักษะต่ำอยู่แล้ว เนื่องจากคุณสมบัติอย่างหนึ่งของมัน: ไฟกระชากที่รุนแรง (เช่น ในฤดูหนาว) ไม่เพียงแต่สามารถ "แฮงค์" ข้อผิดพลาด CAN บัสที่ตรวจพบเท่านั้น แต่ยังเติมเต็ม หน่วยความจำคอนโทรลเลอร์ที่มีข้อผิดพลาดประปรายในลักษณะสุ่ม

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

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

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

แต่หากมีการหยุดพักระหว่าง ECU ของเครื่องยนต์และ ABS รถมักจะไม่สตาร์ทอีกต่อไป: หน่วยโดยไม่ต้อง "เห็น" ตัวควบคุมที่ต้องการ (ข้อมูลความเร็วจะถูกนำมาพิจารณาเมื่อคำนวณเวลาในการฉีดและการจุดระเบิด เวลา) จะเข้าสู่โหมดฉุกเฉิน

หากคุณไม่ตัดสายไฟ แต่เพียงใช้ "บวก" หรือ "กราวด์" กับหนึ่งในนั้นอย่างต่อเนื่อง รถจะ "เข้าสู่สิ่งที่น่าพิศวง" เนื่องจากไม่มีบล็อกใดที่จะสามารถส่งข้อมูลไปยังอีกบล็อกหนึ่งได้ ดังนั้น กฎทองของช่างไฟฟ้ารถยนต์ ซึ่งแปลเป็นการเซ็นเซอร์ของรัสเซีย ฟังดูเหมือน "อย่าใช้มือที่คดขึ้นรถเมล์" และผู้ผลิตรถยนต์หลายรายห้ามไม่ให้เชื่อมต่ออุปกรณ์ของบุคคลที่สามเพิ่มเติมที่ไม่ได้รับการรับรอง (เช่น สัญญาณเตือนภัย ) ไปยัง CAN บัส

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

CAN บัส - บทนำ

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

มาตรฐาน CAN ประกอบด้วยชั้นกายภาพและชั้นข้อมูลที่กำหนดประเภทข้อความต่างๆ กฎการแก้ไขข้อขัดแย้งในการเข้าถึงบัส และการป้องกันข้อผิดพลาด

สามารถโปรโตคอล

โปรโตคอล CAN ได้อธิบายไว้ในมาตรฐาน ISO 11898-1 และสามารถสรุปได้ดังนี้:

ชั้นทางกายภาพใช้การส่งข้อมูลที่แตกต่างกันผ่านคู่บิด;

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

ข้อความมีขนาดเล็ก (ข้อมูลส่วนใหญ่ 8 ไบต์) และได้รับการป้องกันด้วยการตรวจสอบ

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

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

โปรโตคอลระดับที่สูงขึ้น

โปรโตคอล CAN นั้นกำหนดเฉพาะวิธีการย้ายแพ็กเก็ตข้อมูลขนาดเล็กอย่างปลอดภัยจากจุด A ไปยังจุด B ผ่านสื่อกลางในการสื่อสาร อย่างที่คุณคาดไว้ มันจะไม่พูดอะไรเกี่ยวกับวิธีควบคุมโฟลว์ ถ่ายโอนข้อมูลจำนวนมากเกินพอดีในข้อความ 8 ไบต์ หรือเกี่ยวกับที่อยู่ของโหนด สร้างการเชื่อมต่อ ฯลฯ จุดเหล่านี้กำหนดโดย Higher Layer Protocol (HLP) คำว่า HLP มาจากแบบจำลอง OSI และเลเยอร์เจ็ดชั้น

โปรโตคอลระดับสูงกว่าจะใช้เพื่อ:

การกำหนดมาตรฐานของขั้นตอนการเริ่มต้น รวมถึงการเลือกอัตราข้อมูล

การกระจายที่อยู่ระหว่างโหนดโต้ตอบหรือประเภทของข้อความ

คำจำกัดความของมาร์กอัปข้อความ
รับประกันการจัดการข้อผิดพลาดในระดับระบบ

กลุ่มผู้ใช้ เป็นต้น

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

ผลิตภัณฑ์กระป๋อง

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

สามารถจดสิทธิบัตรได้

สิทธิบัตรที่เกี่ยวข้องกับแอปพลิเคชัน CAN สามารถมีได้หลายประเภท: การปรับใช้เวลาและความถี่ การส่งชุดข้อมูลขนาดใหญ่ (โปรโตคอล CAN ใช้เฟรมข้อมูลยาวเพียง 8 ไบต์) เป็นต้น

ระบบควบคุมแบบกระจาย

โปรโตคอล CAN เป็นพื้นฐานที่ดีในการพัฒนาระบบควบคุมแบบกระจาย วิธีการแก้ไขความขัดแย้งที่ใช้โดย CAN ช่วยให้มั่นใจได้ว่าโหนด CAN แต่ละโหนดจะโต้ตอบกับข้อความที่เกี่ยวข้องกับโหนดนี้

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

สามารถข้อความ

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

สามารถระบุข้อความได้

CAN ใช้ข้อความที่ค่อนข้างสั้น - ความยาวสูงสุดของฟิลด์ข้อมูลคือ 94 บิต ข้อความไม่มีที่อยู่ที่ชัดเจน สามารถเรียกว่าเนื้อหาที่อยู่: เนื้อหาของข้อความโดยปริยาย (โดยปริยาย) กำหนดผู้รับ

ประเภทข้อความ

มี 4 ประเภทของข้อความ (หรือเฟรม) ที่ส่งบน CAN บัส:

กรอบข้อมูล (ดาต้าเฟรม);

กรอบระยะไกล (กรอบระยะไกล);

กรอบข้อผิดพลาด

โอเวอร์โหลดเฟรม

กรอบข้อมูล

สั้นๆ: “สวัสดีทุกคน มีข้อมูลที่มีเครื่องหมาย X ฉันหวังว่าคุณจะชอบ!”
data frame เป็นประเภทข้อความที่พบบ่อยที่สุด ประกอบด้วยส่วนหลักๆ ดังต่อไปนี้ (รายละเอียดบางส่วนถูกละไว้เพื่อความกระชับ):

ฟิลด์อนุญาโตตุลาการ ซึ่งจะกำหนดลำดับของข้อความเมื่อโหนดสองโหนดขึ้นไปแข่งขันกันเพื่อแย่งชิงบัส ฟิลด์อนุญาโตตุลาการประกอบด้วย:

ในกรณีของ CAN 2.0A, ตัวระบุ 11 บิตและหนึ่งบิต, บิต RTR ซึ่งเป็นกรอบข้อมูลที่กำหนด

ในกรณีของ CAN 2.0B ตัวระบุ 29 บิต (ซึ่งมีสองบิตถอย: SRR และ IDE) และบิต RTR

Data Field ซึ่งมีข้อมูลตั้งแต่ 0 ถึง 8 ไบต์

ฟิลด์ CRC (ฟิลด์ CRC) ประกอบด้วยเช็คซัม 15 บิตที่คำนวณสำหรับข้อความส่วนใหญ่ การตรวจสอบนี้ใช้สำหรับการตรวจหาข้อผิดพลาด

ช่องรับทราบ ตัวควบคุม CAN แต่ละตัวที่สามารถรับข้อความได้อย่างถูกต้องจะส่งบิตตอบรับที่ส่วนท้ายของแต่ละข้อความ ตัวรับส่งสัญญาณจะตรวจสอบการมีอยู่ของบิตการรู้จำ และหากไม่พบ ให้ส่งข้อความอีกครั้ง

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

หมายเหตุ 2: ตัวระบุในช่องอนุญาโตตุลาการ แม้จะมีชื่อ ไม่จำเป็นต้องระบุเนื้อหาของข้อความ

กรอบข้อมูล CAN 2.0B ("มาตรฐาน CAN")

กรอบข้อมูล CAN 2.0B ("ขยาย CAN")

กรอบรีโมท

โดยสังเขป: "สวัสดีทุกคน มีใครสร้างข้อมูลชื่อ X ได้ไหม"
เฟรมที่ถูกลบนั้นคล้ายกับดาต้าเฟรมมาก แต่มีความแตกต่างที่สำคัญสองประการ:

มีการทำเครื่องหมายอย่างชัดเจนว่าเป็นเฟรมที่ถูกลบ (บิต RTR ในช่องอนุญาโตตุลาการเป็นแบบถอย) และ

ช่องข้อมูลขาดหายไป

ภารกิจหลักของรีโมตเฟรมคือการขอส่งข้อมูลเฟรมที่เหมาะสม ถ้าสมมติว่าโหนด A ส่งต่อเฟรมระยะไกลที่มีพารามิเตอร์ฟิลด์อนุญาโตตุลาการที่ 234 ดังนั้นโหนด B ควรส่งกลับเฟรมข้อมูลที่มีพารามิเตอร์ฟิลด์อนุญาโตตุลาการที่ 234 เช่นกัน

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

มีเคล็ดลับอย่างหนึ่งสำหรับรีโมตเฟรม: ต้องตั้งค่า Data Length Code เป็นความยาวของข้อความตอบกลับที่คาดไว้ มิฉะนั้น การแก้ไขข้อขัดแย้งจะไม่ทำงาน

บางครั้งจำเป็นต้องให้โหนดที่ตอบสนองต่อรีโมตเฟรมเริ่มส่งข้อมูลทันทีที่รู้จักตัวระบุ ดังนั้น "เติม" รีโมตเฟรมที่ว่างเปล่า นี่เป็นกรณีที่แตกต่างกัน

กรอบข้อผิดพลาด

สั้นๆ (พร้อมกันเสียงดัง): Oh, DEAR, LET'S TRY ONE ONE ONE ONE"
Error Frame เป็นข้อความพิเศษที่ละเมิดกฎการจัดเฟรมของข้อความ CAN จะถูกส่งเมื่อโหนดตรวจพบความล้มเหลวและช่วยให้โหนดอื่น ๆ ตรวจพบความล้มเหลว - และพวกเขาจะส่งเฟรมข้อผิดพลาดด้วย เครื่องส่งสัญญาณจะพยายามส่งข้อความอีกครั้งโดยอัตโนมัติ มีโครงร่างตัวนับข้อผิดพลาดที่ผ่านการคิดมาอย่างดีเพื่อให้แน่ใจว่าโหนดไม่สามารถรบกวนการสื่อสารของบัสโดยส่งเฟรมข้อผิดพลาดซ้ำๆ

กรอบข้อผิดพลาดประกอบด้วย Error Flag ซึ่งประกอบด้วย 6 บิตของค่าเดียวกัน (ซึ่งละเมิดกฎการบรรจุบิต) และ Error Delimiter ซึ่งประกอบด้วย 8 บิตถอย ตัวคั่นข้อผิดพลาดให้พื้นที่บางส่วนซึ่งโหนดบัสอื่นสามารถส่งแฟล็กข้อผิดพลาดหลังจากที่ตรวจพบแฟล็กข้อผิดพลาดแรก

โอเวอร์โหลดเฟรม

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

CAN แบบมาตรฐานและแบบขยาย

ในขั้นต้น มาตรฐาน CAN กำหนดความยาวของตัวระบุในฟิลด์อนุญาโตตุลาการเป็น 11 บิต ต่อมาตามคำร้องขอของผู้ซื้อมาตรฐานได้ขยายออกไป รูปแบบใหม่มักเรียกว่า CAN แบบขยาย (Extended CAN) และอนุญาตอย่างน้อย 29 บิตในตัวระบุ บิตสำรองในฟิลด์ควบคุมใช้เพื่อแยกความแตกต่างระหว่างเฟรมทั้งสองประเภท

อย่างเป็นทางการ ชื่อมาตรฐานดังต่อไปนี้ -

2.0A - เฉพาะกับตัวระบุ 11 บิต
2.0B เป็นเวอร์ชันเพิ่มเติมที่มีตัวระบุ 29 บิตหรือ 11 บิต (สามารถผสมกันได้) โหนด 2.0B ได้

ใช้งานอยู่ 2.0B สามารถส่งและรับสเปรดเฟรมหรือ

2.0B แบบพาสซีฟ (แบบพาสซีฟ) เช่น มันจะละทิ้งเฟรมขยายที่ได้รับอย่างเงียบ ๆ (แต่ดูด้านล่าง)

1.x - หมายถึงข้อมูลจำเพาะดั้งเดิมและการแก้ไข

ปัจจุบัน ตัวควบคุม CAN รุ่นใหม่มักจะเป็นประเภท 2.0B คอนโทรลเลอร์ประเภท 1.x หรือ 2.0A จะสับสนเมื่อได้รับข้อความที่มีบิตอนุญาโตตุลาการ 29 บิต ตัวควบคุมประเภทพาสซีฟ 2.0B จะยอมรับและจดจำหากถูกต้อง จากนั้นจึงละทิ้ง คอนโทรลเลอร์ 2.0B ประเภทแอคทีฟจะสามารถส่งและรับข้อความดังกล่าวได้

รองรับคอนโทรลเลอร์ 2.0B และ 2.0A (รวมถึง 1.x) คุณสามารถใช้ทั้งหมดบนบัสเดียวกันได้ตราบใดที่คอนโทรลเลอร์ 2.0B ไม่ส่งสเปรดเฟรม

บางครั้งผู้คนอ้างว่า CAN มาตรฐานนั้น "ดีกว่า" CAN แบบขยาย เนื่องจากมีค่าใช้จ่ายมากกว่าในข้อความ CAN แบบขยาย ไม่จำเป็นต้องเป็นเช่นนั้น หากคุณใช้ช่องอนุญาโตตุลาการในการส่งข้อมูล เฟรม CAN แบบขยายอาจมีโอเวอร์เฮดน้อยกว่าเฟรม CAN มาตรฐาน

CAN พื้นฐาน (BASIC CAN) และ CAN แบบเต็ม (FULL CAN)

คำว่า CAN พื้นฐานและ CAN แบบเต็มมีต้นกำเนิดใน "วัยเด็ก" ของ CAN กาลครั้งหนึ่งนานมาแล้ว มีคอนโทรลเลอร์ Intel 82526 CAN ที่ให้อินเทอร์เฟซแบบ DPRAM แก่โปรแกรมเมอร์ จากนั้น Philips ก็มาพร้อมกับ 82C200 ซึ่งใช้โมเดลการเขียนโปรแกรมเชิง FIFO และความสามารถในการกรองที่จำกัด เพื่อแยกความแตกต่างระหว่างรูปแบบการเขียนโปรแกรมทั้งสองแบบ ผู้คนเรียกวิธีการของ Intel ว่า Full CAN และวิธีของ Philips Basic CAN ในปัจจุบัน ตัวควบคุม CAN ส่วนใหญ่รองรับทั้งสองโมเดลการเขียนโปรแกรม ดังนั้นจึงไม่มีประโยชน์ที่จะใช้คำว่า Full CAN และ Basic CAN - อันที่จริง คำเหล่านี้อาจทำให้เกิดความสับสนและควรหลีกเลี่ยง

อันที่จริงแล้ว ตัวควบคุม Full CAN สามารถสื่อสารกับตัวควบคุม CAN แบบพื้นฐานและในทางกลับกันได้ ไม่มีปัญหาความเข้ากันได้

การแก้ไขข้อขัดแย้งของบัสและลำดับความสำคัญของข้อความ

การแก้ไขข้อขัดแย้งของข้อความ (กระบวนการที่ตัวควบคุม CAN สองตัวขึ้นไปตัดสินใจว่าใครจะใช้บัส) มีความสำคัญมากในการพิจารณาความพร้อมใช้งานของแบนด์วิธที่แท้จริงสำหรับการรับส่งข้อมูล

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

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

เนื่องจาก CAN บัสเป็นบัสแบบมีสาย AND และบิต Dominant เป็นตรรกะ 0 ข้อความที่มีฟิลด์อนุญาโตตุลาการที่เป็นตัวเลขต่ำสุดจะชนะการแก้ไขข้อขัดแย้ง

คำถาม: จะเกิดอะไรขึ้นหากโหนดบัสเดี่ยวพยายามส่งข้อความ

คำตอบ: แน่นอนว่าโหนดจะชนะในการแก้ไขข้อขัดแย้งและถ่ายโอนข้อความได้สำเร็จ แต่เมื่อถึงเวลาการจดจำ... ไม่มีโหนดใดที่จะส่งบิตเด่นของพื้นที่การจดจำ ดังนั้นเครื่องส่งสัญญาณจึงตรวจพบข้อผิดพลาดในการจดจำ ส่งแฟล็กข้อผิดพลาด ยกระดับตัวนับข้อผิดพลาดในการส่งขึ้น 8 และเริ่มส่งสัญญาณซ้ำ รอบนี้จะทำซ้ำ 16 ครั้ง จากนั้นเครื่องส่งสัญญาณจะเข้าสู่สถานะข้อผิดพลาดแบบพาสซีฟ ตามกฎพิเศษในอัลกอริทึมการจำกัดข้อผิดพลาด ค่าของตัวนับข้อผิดพลาดในการส่งจะไม่เพิ่มขึ้นอีกต่อไป หากโหนดมีสถานะข้อผิดพลาดแบบพาสซีฟ และข้อผิดพลาดนั้นเป็นข้อผิดพลาดในการจดจำ ดังนั้นโหนดจะส่งตลอดไปจนกว่าจะมีคนจำข้อความได้

ข้อความที่อยู่และการระบุตัวตน

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

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

ที่อยู่เฉพาะทำงานดังนี้: "นี่คือข้อความสำหรับโหนด X" ข้อความที่อยู่เนื้อหาสามารถอธิบายเป็น: "ข้อความนี้มีข้อมูลที่ทำเครื่องหมาย X" ความแตกต่างระหว่างสองแนวคิดนั้นเล็กน้อยแต่มีนัยสำคัญ

เนื้อหาของฟิลด์อนุญาโตตุลาการถูกใช้ตามมาตรฐานเพื่อกำหนดลำดับของข้อความบนรถบัส ตัวควบคุม CAN ทั้งหมดจะใช้ทั้งหมด (บางส่วนเท่านั้น) ของฟิลด์อนุญาโตตุลาการเป็นคีย์ในกระบวนการกรองฮาร์ดแวร์

มาตรฐานไม่ได้ระบุว่าต้องใช้ฟิลด์อนุญาโตตุลาการเป็นตัวระบุข้อความ อย่างไรก็ตาม นี่เป็นกรณีการใช้งานทั่วไป

หมายเหตุเกี่ยวกับค่าตัวระบุ

เรากล่าวว่ามี 11 (CAN 2.0A) หรือ 29 (CAN 2.0B) บิตสำหรับตัวระบุ สิ่งนี้ไม่เป็นความจริงทั้งหมด เพื่อความเข้ากันได้กับคอนโทรลเลอร์ CAN เก่าบางตัว (เดาว่าอันไหน?) ตัวระบุไม่ควรมี 7 บิตที่สำคัญที่สุดที่ตั้งค่าเป็นลอจิก 1 ดังนั้นค่า 0..2031 จึงพร้อมใช้งานสำหรับตัวระบุ 11 บิตและผู้ใช้ 29- ตัวระบุบิตสามารถใช้ค่าที่แตกต่างกัน 532676608

โปรดทราบว่าตัวควบคุม CAN อื่นๆ ทั้งหมดยอมรับตัวระบุ "ผิด" ดังนั้นตัวระบุ 2032..2047 จึงสามารถใช้ได้โดยไม่มีข้อจำกัดในระบบ CAN สมัยใหม่

เลเยอร์ทางกายภาพสามารถ

สามารถโดยสารรถประจำทาง

CAN บัสใช้รหัสที่ไม่คืนค่าเป็นศูนย์ (NRZ) พร้อมการบรรจุบิต มีสถานะสัญญาณที่แตกต่างกันสองสถานะ: เด่น (ตรรกะ 0) และถอย (ตรรกะ 1) สอดคล้องกับระดับไฟฟ้าบางอย่าง ขึ้นอยู่กับชั้นทางกายภาพที่ใช้ (มีหลายชั้น) โมดูลเป็นแบบใช้สายและกับบัส: ถ้าอย่างน้อยหนึ่งโหนดทำให้บัสอยู่ในสถานะเด่น บัสทั้งหมดจะอยู่ในสถานะนี้ โดยไม่คำนึงว่าโหนดกี่โหนดที่ส่งสัญญาณในสถานะถอย

ระดับทางกายภาพต่างๆ

ชั้นทางกายภาพกำหนดระดับไฟฟ้าและรูปแบบสัญญาณบัส อิมพีแดนซ์ของสายเคเบิล ฯลฯ

ฟิสิคัลเลเยอร์มีหลายเวอร์ชัน: ที่พบมากที่สุดคือเวอร์ชันที่กำหนดโดยมาตรฐาน CAN ซึ่งเป็นส่วนหนึ่งของ ISO 11898-2 ซึ่งเป็นวงจรสัญญาณแบบสมดุลสองสาย บางครั้งเรียกว่า CAN ความเร็วสูง

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

SAE J2411 อธิบายชั้นฟิสิคัลเลเยอร์สายเดี่ยว (บวกกราวด์) ส่วนใหญ่ใช้ในรถยนต์ - ตัวอย่างเช่น GM-LAN

มีเลเยอร์ทางกายภาพที่เป็นกรรมสิทธิ์หลายชั้น

ในสมัยก่อน เมื่อไม่มีไดรเวอร์ CAN จะใช้การปรับเปลี่ยน RS485

ตามกฎแล้วระดับทางกายภาพที่แตกต่างกันไม่สามารถโต้ตอบกันได้ ชุดค่าผสมบางอย่างอาจใช้งานได้ (หรือดูเหมือนจะใช้งานได้) ในสภาพที่ดี ตัวอย่างเช่น ตัวรับส่งสัญญาณความเร็วสูงและความเร็วต่ำอาจทำงานบนบัสเดียวกันได้ในบางครั้งเท่านั้น

ชิปรับส่งสัญญาณ CAN ส่วนใหญ่ผลิตโดย Philips; ผู้ผลิตรายอื่น ได้แก่ Bosch, Infineon, Siliconix และ Unitrode

ตัวรับส่งสัญญาณที่พบมากที่สุดคือ 82C250 ซึ่งใช้ชั้นทางกายภาพที่อธิบายโดยมาตรฐาน ISO 11898 รุ่นปรับปรุงคือ 82C251

ตัวรับส่งสัญญาณ CAN ความเร็วต่ำทั่วไปคือ Philips TJA1054

อัตราข้อมูลบัสสูงสุด

อัตราการถ่ายโอนข้อมูลสูงสุดบน CAN บัส ตามมาตรฐาน, เท่ากับ 1 Mbps. อย่างไรก็ตาม ตัวควบคุม CAN บางตัวรองรับความเร็วสูงกว่า 1 Mbps และสามารถใช้ในแอปพลิเคชันพิเศษได้

CAN ความเร็วต่ำ (ISO 11898-3 ดูด้านบน) ทำงานที่ความเร็วสูงสุด 125 kbps

CAN บัสสายเดียวในโหมดมาตรฐานสามารถส่งข้อมูลที่อัตราประมาณ 50 kbps และในโหมดความเร็วสูงพิเศษ เช่น สำหรับการเขียนโปรแกรม ECU (ECU) ประมาณ 100 kbps

อัตราการถ่ายโอนข้อมูลขั้นต่ำบนบัส

โปรดทราบว่าตัวรับส่งสัญญาณบางตัวจะไม่อนุญาตให้คุณเลือกอัตราที่ต่ำกว่าค่าที่กำหนด ตัวอย่างเช่น หากคุณใช้ 82C250 หรือ 82C251 คุณสามารถตั้งค่าความเร็วเป็น 10 kbps ได้โดยไม่มีปัญหา แต่ถ้าคุณใช้ TJA1050 คุณจะไม่สามารถตั้งค่าความเร็วต่ำกว่า 50 kbps ได้ ตรวจสอบข้อกำหนด

ความยาวสายเคเบิลสูงสุด

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

ความยาวสายเคเบิลสูงสุดอื่น ๆ (ค่าโดยประมาณ):

100 เมตรที่ 500 kbps;

200 เมตรที่ 250 kbps;

500 เมตรที่ 125 kbps;
6 กิโลเมตร ที่ 10 กิโลบิตต่อวินาที

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

จุดสิ้นสุดของรถโดยสาร

ISO 11898 CAN บัสต้องสิ้นสุดด้วยเทอร์มิเนเตอร์ ทำได้โดยการติดตั้งตัวต้านทาน 120 โอห์มที่ปลายแต่ละด้านของบัส การยุติมีจุดประสงค์สองประการ:

1. ลบการสะท้อนสัญญาณที่ส่วนท้ายของบัส

2. ตรวจสอบว่าได้รับระดับ DC ที่ถูกต้อง

ISO 11898 CAN บัสต้องถูกยกเลิกโดยไม่คำนึงถึงความเร็ว ฉันทำซ้ำ: ต้องยกเลิกบัส ISO 11898 CAN โดยไม่คำนึงถึงความเร็ว สำหรับงานในห้องปฏิบัติการ เทอร์มิเนเตอร์หนึ่งตัวอาจเพียงพอ หาก CAN บัสของคุณทำงานได้แม้ไม่มีเทอร์มิเนเตอร์ คุณก็โชคดีแล้ว

สังเกตว่า ระดับทางกายภาพอื่น ๆเช่น CAN ความเร็วต่ำ, CAN แบบสายเดี่ยว และอื่นๆ อาจต้องใช้ตัวเทอร์มิเนเตอร์บัสหรือไม่ก็ได้ แต่ CAN บัสความเร็วสูง ISO 11898 ของคุณจะต้องใช้เทอร์มิเนเตอร์อย่างน้อยหนึ่งตัวเสมอ

สายเคเบิล

มาตรฐาน ISO 11898 ระบุว่าความต้านทานคุณลักษณะของสายเคเบิลควรอยู่ที่ 120 โอห์ม แต่อนุญาตให้มีช่วงของอิมพีแดนซ์โอห์มได้

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

ISO 11898 อธิบายถึงสายคู่บิดเกลียว หุ้มหรือไม่หุ้ม งานกำลังดำเนินการตามมาตรฐานสายเคเบิลสายเดี่ยว SAE J2411

ในขณะนี้ รถยนต์สมัยใหม่เกือบทุกคันติดตั้งคอมพิวเตอร์ออนบอร์ด, EBD, กระจกไฟฟ้า และอุปกรณ์อิเล็กทรอนิกส์อื่น ๆ อีกมากมาย ตอนนี้อุปกรณ์ดังกล่าวสามารถควบคุมได้ไม่เพียง แต่กลไก แต่ยังรวมถึงระบบนิวแมติกและระบบไฮดรอลิกของเครื่อง และแม้แต่เครื่องยนต์ก็ไม่สามารถทำได้หากไม่มีอุปกรณ์อิเล็กทรอนิกส์ มีอุปกรณ์พิเศษ - CAN-bus นั่นคือสิ่งที่เราจะพูดถึงในวันนี้

ประวัติการเกิดขึ้น

แนวคิดของ CAN-bus ปรากฏขึ้นครั้งแรกในทศวรรษที่ 80 ของศตวรรษที่ผ่านมา จากนั้น บริษัท Bosch ที่มีชื่อเสียงของเยอรมันร่วมกับ Intel ได้พัฒนาอุปกรณ์ดิจิทัลใหม่สำหรับการรับส่งข้อมูลซึ่งเรียกว่า

เธอทำอะไรได้บ้าง?

บัสนี้สามารถเชื่อมต่อเซ็นเซอร์ บล็อก และตัวควบคุมทั้งหมดที่อยู่ในรถเข้าด้วยกัน CAN สามารถสื่อสารกับเครื่องทำให้เคลื่อนที่ไม่ได้, SRS, ESP, ECM, ระบบส่งกำลังและแม้แต่ถุงลมนิรภัย นอกจากนี้ ยางยังสัมผัสกับเซ็นเซอร์ช่วงล่างและระบบควบคุมสภาพอากาศ กลไกทั้งหมดนี้เชื่อมต่อในโหมดดูเพล็กซ์ที่มีความเร็วสูงสุด 1 Mbps

CAN บัส: คำอธิบายและคุณสมบัติของอุปกรณ์

สำหรับการทำงานทั้งหมด กลไกนี้ประกอบด้วยสายไฟเพียงสองเส้นและชิปหนึ่งตัว ก่อนหน้านี้ CAN บัสมีปลั๊กหลายสิบตัวเพื่อเชื่อมต่อกับเซ็นเซอร์ทั้งหมด และถ้าในยุค 80 มีการส่งสัญญาณเพียงเส้นเดียวในแต่ละสาย ตอนนี้ค่านี้ถึงหลักร้อยแล้ว

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

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

ฟังก์ชั่นและประสิทธิภาพ

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