 |
:: ضو فضي ::
تاريخ التسجيل: Aug 2010
المشاركات: 350
|
|
نشاط [ DELTA67 ]
قوة السمعة:79
|
|
24-06-2015, 08:01 AM
المشاركة 5
|
|
عـــــــــــــــــــدنــا
البروتوكولات OBD-II :
يتم التواصل بين السكانر و الـ ECU عبر أحد البروتوكولات التالية:
SAE-J1850 PWM ( General Motors)
SAE-J1850 VPW ( Ford)
ISO-9141 (Chrysler)
ISO-14230 : KWP2000 (Euorpean- Asian cars)
ISO-15765-4 : CAN BUS (ALL New cars since 2008
المتكاملة ELM327 (و التي ما هي الا مكروكنترولر نوع PIC) تستعمل كل هذه البروتوكولات. لكننا سنرى البروتوكول KWP2000 فقط لأن سيارتي تستعمله و لحسن الحظ فهو لا يحتاج لدارة معقدة فمكروكنترولر عادي و ترانستورين مع منظم جهد و بعض المكونات البسيطة هي كل مانحتاجه.
الفيشة الخاصة بالـــ OBD-II :
الفيشة الموجودة بالسيارة هي من نوع أنثى كما رأينا على احدى الصور سابقا و ترتب أقطابها كالتالي:
و في هذا الجدول و ظيفة كل قطب:
نلاحظ أن بعض الأقطاب غير مستعملة. القطبين 4 و 5 معا يشكلان الأرضي و القطب 16 هو للتغذية (موجب البطارية).
البروتوكول ISO-14230 KWP2000 :
يستعمل هذا البروتوكول القطب K-LINE فقط (رقم 7) للتواصل بين السكانر و الـ ECU ( بالاضافة لقطبي التغذية طبعا) . يتم نقل المعلومات من و الى السكانر اذن على سلك واحد.
- المستوى المنطقي 0: يكون الجهد على القطب K-LINE أقل من 20 بالمئة من جهد البطارية.
- المستوى المنطقي 1: يكون الجهد على القطب K-LINE أكبر من 80بالمئة من جهد البطارية.
يتم تبادل المعلومات باستعمال نفس فكرة البروتوكول RS232 بالخواص 8N1 و LSB أولا و بسرعة 10400 بود.
تتكون كل رسالة Message سواء من السكانر أو من الـ ECU من علبة Packet مكونة كما يلي:
1) الرأس Header : يتكون من 3 أو 4 بايتات.
أول بايت:
- البتين FF : يحددان نوع العنونة Adressing mode. سنستعمل الــ Physical mode لأنه لدينا ECU واحد , في هذه الحالة يكون FF=11 اذا كانت الرسالة من السكانر الى الـ ECU والــعكس FF=10 .
- الستة بتات المتبقية L : تحدد طول المعطيات Length وهو بين 1 و 63 بايت ( في هذه الحالة نستغني عن البايت الرابعLen ).
البايت الثاني: عنوان الـ ECU و هو 0x33 .
البايت الثالث. عنوان السكانر وهو 0xF1 .
البايت الرابع: يحدد طول المعطيات اذا كانت أكبر من 64 بايت, في هذه الحالة نضع الستة بتات في البايت الأول أصفارا.
2) المعطيات Data : تتكون من 255 بايت كأقصى حد.
- البايت الأول: يسمى الــ Service identifier SID و هو يحدد الخدمات المطلوبة .
- بقية البايتات تعتمد على الخدمة المطلوبة.
3) بايت الفحص Checksum : هو مجموع كل البايتات السابقة له. و فائدته تفادي المعلومات الخاطئة نتيجة التشويش مثلا.
مرحلة الاعداد Initialization :
قبل بدء أي اتصال بين السكانر و الــ ECU لا بد من اعداد الخط لارسال و استقبال المعلومات.
الاعداد السريع يتم كما يلي:
- يجب أن يكون القطب K-LINE في الوضع المنطقي 1.
- يرسل السكانر نبضة الاستيقاظ Wake-Up.
- يرسل السكانر طلب بداية التواصل.
- يرسل الـ ECU الاجابة على الطلب السابق.
احترام مدة كل نبضة مهم جدا حيث يجب أن لايزيد زمن نبضة الاستيقاظ عن 51 مللي ثا. يتم بعدها مباشرة ارسال أول بايت من الرسالة Message .
اذا لم يتلق السكانر اجابة بعد 50 مللي ثا أو كانت الاجابة بالرفض فانه يتحتم اعادة ارسال الطلب حتى يوافق الــ ECU على التواصل.
سنعـــــــــــود
التعديل الأخير تم بواسطة : DELTA67 بتاريخ 24-06-2015 الساعة 09:29 AM
|