تعرف على بروتوكول CAN BUS مركز أعصاب السيارة وديسك أوامرها 



تعرف على بروتوكول CAN BUS مركز أعصاب السيارة وديسك أوامرها 


  • 27 يونيو 2019
  •  

    عبارة كان باص هي اختصار الأحرف الأولي للعبارة الانجليزية Controller Area Network BUS  والمقصود ببروتوكول كان باص الإتصال بين وحدات التحكم المختلفة في السيارة - حيث تتمكن وحدات التحكم ( الكمبيوترات ) من تبادل المعلومات بشكل مباشر ( من غير وحدة ربط بينها )، و هذا بروتوكول يقوم على مبدأ الرسائل، و لكل رسالة بنية ألكترونية خاصة بها تتكون من : 
    مُعرّف الرسالة / بداية الرسالة / متن الرسالة / نهاية الرسالة. 

    المعرف الاضافي 
    لا تحتوي رسائل CAN على عنوان المرسِل و لا المرسَل إليه - لكن محتوى الرسالة نفسه يحتوي على معرف إضافي للمعلومة المنقولة : RPM / Temperature / حيث تنظر إليها وحدة التحكم فإن كانت تلك المعلومة مهمة لعملها فسيتم معالجتها وإن لم تكن مهمة فسيتم تجاهلها، ومعُرّف الرسالة يحتوي على بصمة ألكترونية تحدد ( أولوية الرسالة )- فالرسالة التي لها أولوية يتم بثها أولاً على شبكة الاتصال و يتم تأجيل الرسالة الثانية في الوحدة التي ترسلها لمدة من الزمن حيث تصبح لها الأولوية فيتم إرسالها. تتم كل تلك المراسالات بسرعة 500 K/bps كيلو بت بالثانية، وقد تم تطوير هذا النظام من قبل شركتي بوش وإنتل ليتم استخدامه خصيصاً في السيارات لحل مشكلة أحجام و تكاليف و أوزان مجموعة الأسلاك التي كثرت مع كثرة أعداد كمبيوترات / وحدات التحكم .

     

    نقل إشارة CAN 
    الطريقة القديمة: وكان نقل الإشارة يتم بسلكين عاديين متوازيين و يحيط بهما شيلد / حماية موصولة على الأرضي 
    أما الطريقة الحديثة : لها سلكان مجدولان ( للحماية من أي تداخل كهرومغناطيسي ) والسلكين ينقلان نفس الإشارة لكن معكوسة / متناظرة - السلك الأول يسمى : CAN-High ولونه : أصفر / أسود أو أصفر / أحمر  والسلك الثاني يسمى : CAN-Low ولونه : أصفر / بني  و يكون في نهاية كل سلك منهما مقاومة لمنع إرتداد الإشارة ( منع الصدى ) : قد تكون عبارة عن JUMBER يصل بين خطي الــ CAN بمقاومة و قد تكون مقاومة داخلية داخل لوحة العدادات ( مركز رئيسي لإلتقاء المعلومات في السيارة )

    عزل أعطال CAN BUS 
    1 - قراءة أكواد الأعطال في كافة وحدات التحكم 
    2 - سنلاحظ تكرر بعض الأكواد في وحدات التحكم 
    3 - لعزل وحدة التحكم التي تشير إليها أكواد الأعطال : يتم فصلها ثم يتم مسح الأكواد ثم يتم فتح الكونتاكت و إعادة قراءة الأكواد فإذا أشارت الأكواد عندها إلى إنقطاع التواصل مع تلك الوحدة المفصولة دون أية أكواد إضافية فهذا تأكيد على أن العطل 100% في الوحدة التي تم فصلها / عزلها عن شبكة CAN . 
    4  -مراقبة الأسلاك و سلامتها و سلامة الفيش هو العامل الأقوى لتشخيص شبكة CAN . 
    5  -البطارية الغير سليمة تؤدي لمشاكل عديدة في شبكة CAN . 
    6 - الدينمو الذي لا يعمل بشكل طبيعي يؤدي لمشاكل في شبكة CAN . 
    7 - تركيب إكسسوارات غير مطابقة و لا متوافقة مع منظومة CAN سيؤدي لمشاكل بها .
    8 - عند / و بعد برمجة Coding لوحدات التحكم بعد تبديلها سيؤدي ذلك لظهور أكواد لها علاقة بـ CAN BUS :
    لأن أي وحدة تتم برمجتها ستكون بوضعية عدم إستجابة لشبكة CAN لذلك يجب بعد إنتهاء البرمجة مسح الأكواد في كافة وحدات التحكم ومن ثم إعادة قراءة الأكواد للتأكد من عدم رجوعها . 
    9 - يجب الانتباه لعملية البرمجة و إدخال الأرقام بدقة و انتباه عندما يطلب الجهاز ذلك لضمان نجاح البرمجة و بالتالي ضمان التواصل السليم لوحدة التحكم التي تم برمجتها مع شبكة CAN .

    بروتوكول CAN BUS 

    CAN Controller Area Network

    هو بروتكول يستخدم للتواصل بين المتحكم الدقيق واجزاء السيارات وقد صمم خصيصا هذا البروتوكول لخدمة الانظمة المدمجة في السيارات وتم الاعلان عن هذا البروتوكول سنة 1983 من قبل شركة robert bosch الالمانية وصدر رسميا من جمعية مهندسي السيارات سنة 1986 اصدرت الشركة المنتجة لهذا البروتوكول عدة اصدارات منه كان منها في سنة 1991 CAN2.0 ويتالف هذا الاصدار من جزئين CAN2.0A ويكون فيه عدد بتات التعريف 11 بت والاخر CAN2.0B وكان عدد بتات التعريف فيه 29 بت وهذا الثاني يكون اوسع من الاول في التعامل مع الطرفيات في عام 1993 اصدرت المنظمة الدولة للمعايير (ISO) ثلاث معايير اساسية من هذا البروتوكول وقامت شركة robert bosch باصدار معيار جديد لهذا البروتوكول هو CAN FD ويميزه انه متوافق مع معيار CAN2.0 اي يمكن للاجهزة الجديدة التعايش مع الاجهزة القديمة المصممة ل CAN2.0

    التطبيقات لCAN 

    قد تحتوي السيارة على اكثر من 70 وحدة كل واحدة منها متخصصة بعمل معين كالوسائد الهوائية ونظام المكابح وفتح النوافذ وغلق المرأة وغيرها الكثيرقد تكون هناك انظمة مستقلة بحد ذاتها كعملية شحن البطارية لكن معظم الانظمة تحتاج الى ان تتواصل مع بعضها ولاجل سد حاجة هذه الطرفيات الكثيرة وضع بروتوكول can بسبب قلة تكلفة بعض وحدات تحكم بروتوكول CAN والمعالجات دخل هذا البوروتوكول في الكثير من التطبيقات مثل الطيران والبحرية والطبية والاتمة الصناعية وغيرها

    معمارية CAN

    بروتوكول CAN يدعم عدة اجهزة قائد (Master) عندما درسنا بروتوكول SPI وجدنا انه يدعم جهاز قائد واحد هو المسؤل عن التحكم بسير عمل البروتوكول اما هنا فCAN يدعم وجود اكثر من جهاز ويكون مبدء معمارية CAN مبني على اساس العقدة (Nodes) التي يربط البروتوكول على الاقل بين اثنين منها تختلف العقد من حيث درجة التعقيد قد تحتوي مدخلات ومخرجات فقط وقد تحتوي حتى منافذ اتصال بالانترنت او USB حتى اما مبدء النقل فيتم عن طريق رسائل

    مكونات العقدة

    1-وحدة معالجة مركزية تقرر ماتعنيه الرسالة الواردة وما الرسائل التي تريد نقل 

    2-اجهزة استشعار وتحكم ومحركات تربط الى وحدة المعالجة المركزية 

    3-وحدة تحكم البروتوكول (CAN Controller) يقوم باستلام البتات عن طريق الناقل ويحولها الى وحدة المعالجة عندما تكمل الرسالة كذلك تقوم وحدة المعالجة المركزية بارسال رسائل الى متحكم البروتوكول ليقوم بنشرها عندما يكون الناقل خالي 

    4- جهاز الارسال والاستقبال يقوم بتحويل البيانات من مستوى CAN Bus الى مستوى تفهمه وحدة تحكم البروتوكول عند الاستلام ويقوم بتحويل البيانات من مستوى وحدة تحكم البروتوكول الى مستوى CAN Bus عند الارسال 

    كل عقدة قادرة على الارسال او الاستلام لكن ليس بنفس الوقت فكل رسالة تحمل معرف متكون اما من 11 بت او من 29 بت يتم معرفة اولوية الرسالة حسب هذا المعرف 

     

    طريقة الارسال والاستلام

    كل العقد مربوطة مع بعضها البعض بواسطة ناقل بروتوكول CAN الذي يتكون من سلكين مجدولين واحدا فوق الاخر وهي اما في حالة ارسال او في حالة استلاك وهناك ماينظم هذه العملية في العقدة كما ذكرنا لكن المشكلة هي عندما يقوم جهازين بالارسال في نفس الوقت هنا يجب ان توجد تقنية لتاخير الارسال من قبل العقدة الاقل اهمية وهنا ياتي دور بتات المعرف سناخذ مثال عندما تقوم عقدة بالارسال تمتلك رقم معرف هو 16 وعقدة اخرى تمتلك رقم معرف 15 بنفس الوقت سيتم الارسال من قبل العقدة التي تمتلك الرقم 15 وليس 16 وذلك يتم لان اسبقية ال15 قبل ال16 لناخذ المسالة عمليا وفي نظام العد الثنائي

    node 15=00000001111

    node 16=00000010000

    عندما يبدء الارسال سوف يصدر بت بداية الارسال ثم رقم المعرف سيرسل كل من العقدة 15 و16 نفس الرقم الى حد البت رقم اربعة سترسل العقدة 16 رقم واحد منطقي وترسل العقدة رقم 15 صفر منطقي وعندما تلاحظ العقدة رقم 16 انه تلاشى الواحد المنقي الذي قامت بارساله بسبب التصادم الذي حصل عندها تعلم انه هناك عملية ارسال من عقدة تتفوق عليها بالاسبقية وتوقف ارسال رسالتها الى حين انتهاء تلك العقدة لذا العقدة التي تحمل معرف رقم اقل هي التي تفوز في عملية الارسال دائما يجب ان يكون لكل عقدة معرف خاص بها ولا يجب ان يتكرر الا وسوف تحدث لدينا مشاكل في النظام

    بت التوقيت

    هذا البروتوكول هو بروتوكول غير متزامن اي لايحتوي اشارة زمن يعمل بموجبها لذا يجب على كل العقد في هذا البروتوكول ان تعمل بنفس السرعة في التعامل مع البت لكن بسبب الضجيج وزحف الطور وسماحية الهزاز الكرستالي حيث كل عقدة تمتلك هزاز كرستالي خاص بها وقد تكون درجة الحرارة المعرضة لها هذه العقدة متغيرة حسب مكانها مما يؤثر على سرعة الارسال قد لايكون هناك توافق قياسي في بعض الاحيان في التعامل مع البت المرسل وقراءته لذا يجب ايجاد وسيلة لمزامنة العقد كي يعمل النظام بصورة صحيحة ويستخدم لذلك بت المزامنة وهو يتكون من اربعة قطع الاولى قطعة المزامنة والثانية قطعة زمن الانتشار قطعة عازل الطور الاولى وقطعة عازل الطور الثانية كل قطعة مكونة من كمات زمنية محددة طول هذه الوحدة الزمنية الواحدة يحدد عن طريق سرعة تزامن متحكم CAN وكذلك سرعة نقل المقسم الترددي 

    Tquanta=Fosc/BRB 

    الدخول في تفاصيل هذا الامر هو طويل نوعا ما لكن عن طريق بت التوقيت يتم حساب فارق الزمن بين العقد لالغاء الفروق الزمنية التي ذكرنا بعض اسبابها 

    CAN Frame

    هذا البروتوكول حاله حال غيره من بروتوكولات الشبكات يمتلك وبروتوكول CAN يعرف في اول طبقتين الذين هما طبقة Data Link وPhysical Layer وهو بروتوكول تفاضلي اي يتعرف على القيم المنطقية من خلال فرق الاشارة بين طرفين احدهما اسمه Can_High والاخر Can_Low ويستعمل في خط النقل سلك مجدول وكلما طال السلك قلت السرعة

    سرعة هذا البروتوكول نحنا من نقوم بتحديدها عن طريق سرعة العقد والبعد وفي نظام معين تستخدم عدة سرع لهذا البروتوكول واعلى سرعة يمكننا ان نحققها هي 1mbps وان نوع السلك المستخدم له تاثير على السرعة

    الاطراف التي يحتاجها البروتوكول هي اربعة طرفي البروتوكول نفسه وطرفي التغذية بالجهد وتوضع مقاومة في كل طرف من اطراف السلكين لمتنع من ارتداد الموجة المنتشرة عبر ناقل البروتوكول

    القيمة المنطقية صفر في هذا البروتوكول تحدث عندما يكون جهد كل من CAN_High و CAN_Low نفس القيمة هي 2.5 فولت وتسمى هذه الحالة ب Recessive والقيمة المنطقية واحد تحدث عندما يكون الجهد في الطرف CAN_High هو 3.5 فولت والجهد في الطرف CAN_Low هو 1.5 فولت وتسمى هذه الحالة بDominant 

    كما ذكرنا في البداية ان هنالك معيارين هما CAN2.0A و CAN2.0B وان الاختلاف بينهم في عدد بتات المعرف كذلك في يختلف شكل الرسالة المرسلة في كل واحد منهم اختلافا بسيطا وتوجد اربعة انواع من الرسائل التي ترسل في هذا البروتوكول

    1-رسالة البيانات تستخدم لارسال بيانات الفعلية وتوجد منها شكلين كما اسلفنا بسبب المعيارين CAN2.0A And B

    هنا عندما نقول 1 منطقي نقصد به Dominant وعندما نقول 0 منطقي نقصد به Recessive وقد استعملنا مصطلح 0 و1 منطقي للتوضيح والسهولة

    اول بت هو يدل على بداية ارسال الرسالة

    البتات ذات االلون الاخضر هي خاصة بالمعرف وتحدد بموجبها اسبقية الرسائل التي ترسل من العقد ولك عقدة معرف خاص لايمكن ان يكرر في عقدة اخرى وعددها هنا 11 بت

    البت باللون الازرق الذي يحدد رسالة المناطق البعيدة وتكون قيمته Dominant اي 

    1 منطقي في رسالة البيانات

    هذا البت الاول من اللون الابيض وظيفته تحديد عدد بتات المعرف هل هي 11 بت ام 29 بت وتكون قيمته Dominant اي 1 منطقي في هذه الحالة حالة 11 بت طول المعرف

    البت الثاني من اللون الابيض هو محجوز ويجب ان تكون قيمته 1 منطقي 

    البتات الاربعة باللون الاصفر وظيفتها تحديد طول البيانات المرسلة من 0 الى 8 بايت

    البتات باللون الاحمر تحمل البيانات المرسلة عبر الرسالة 

    بتات CRC وهي اختبار التكرار الدوري حيث تقوم بالكشف عن الاخطاء الرقمية وتستخدم عادتا في الشبكات ولها طرق حساب رياضية وعدد بتاتها هي 15 بت 

    بت محدد CRC ويجب ان يكون Recessive 

    بت التاكد ACK يقوم جهاز الارسال بارساله Recessive وياكده اي جهاز مستلم بDominant 

    محدد بت التاكد ACK يجب ان يكون Recessive 

    بتات نهاية الرسالة وعددها 7 ويجب ان تكون Recessive

    2-رسالة البعد للتاكد من وصول البيانات يجاب بها على المرسل وبنفس المعرف

    3-رسالة الخطا ترسل من العقدة التي تستلم خطا معين

    4-رسالة الامتلاء ترسل من العقدة لوضع تاخير زمني بين الرسائل المرسلة 

    بالاضافة لوجود متحكمات تدعم بروتوكول CAN كذلك توجد بعض المحيطيات التي تمكن المتحكمات من التواصل مع هذا البروتوكول ومن ضمنها غطاء على الاردينو وهناك عدة شركات منتجة لهذه المحيطيات

    0

    للمشاركة عبر مواقع التواصل الاجتماعى


    تعليقات disqus

    اخبار ذات صلة

    100%x200

    كيف تعرف مصدر الأعطال في السيارة من رائحتها ؟

    تتسبب أعطال السيارات في صدور روائح مختلفة تدل على أماكن الخلل والأعطال في السيارات وسنتعرف على دلالة بعض هذه الوائح لتحديد مكان المشكلة. ومن بعض هذه ا...

    100%x200

    ماهي المؤشرات التي نفهمها من الماء المتساقط من ماسورة العادم

      تنقيط الماء من الشكمان له سببين متناقضين تماما: 1 - اذا كان المحرك سليما تماما والمحول الحفاز او الكاتلايزر بأفضل حالاتها فإن المحول الحف...

    100%x200

    أقمشة الفرامل وما لا تعرفه عنها

      لا يزال سوق قطع غيار السيارات نقطة جذب لقطع الغيار المقلدة والمعيبة، خصوصا مع الوضع المعيشي الذي يساهم في دفع كثير من أصحاب السيارات إلى شرا...

    100%x200

    كيف تختار فرش سيارتك ولماذا يفضل معظم العملاء الكسوة الجلدية

    رغم أنه ليس المحرك ولا نظام الدفع ولا الجيربوكس الا أن أهمية الفرش بالنسبة للسيارة مثله بالنسبة للبيت ، ويعد فرش السيارة من أهم عناصر الرفاهية  و...