راهنمای جامع شروع ارتباط و مدیریت درخواست‌ها در پروتکل KLine - قسمت چهارم OBD II

blog
۱۴۰۳-۱۰-۱۷
6 دقیقه

شروع کند

برای شروع کند، بهتر است تنظیمات پایه TX را به GPIO تغییر دهیم زیرا ممکن است که UART قادر به کار کردن با سرعت 5 نباشد بنابراین بهتر است. از پایه GPIO برای ارسال استفاده کرد (شکل 11). برای شروع کردن ارتباط، ابتدا باید یک آدرس مثلا 0x33 با سرعت 5 bps ارسال شود. واحد مربوطه بعد از تایید آدرس سه بایت را مثلا 0x55 0xEF 0x8F با سرعت 10.4 kbps ارسال می کند بایت اول همیشه باید 0x55 باشد. دو بایت بعدی بایت­های کلیدی (KB1 و KB2) نامیده می­شوند.

اگر هر دو بایت 08 08 یا 94 94 باشند پروتکل ISO-9141 است در غیر این صورت KWP2000 خواهد بود. بعد از دریافت این سه بایت، باید معکوس بایت KB2 (حدودا بین 25 تا 50 میلی ثانیه بعد از دریافت) به واحد مربوطه ارسال شود. را حدودا بین 50 تا 300 میلی ثانیه بعد ارسال می­کند.  در این مثال (معکوس 0x8F) برابر با 0x70 است. در نهایت واحد مربوطه یک بایت را معکوس آدرس آن واحد است را ارسال می کند که از آن برای درخواست ها استفاده می­شود. در اینجا شروع ارتباط با موفقیت پایان پذیرفته و واحد مربوطه آماده پاسخ به درخواست­ها است. به طور کلی این مراحل حدودا 2 ثانیه طول خواهد کشید.

زمان بندی شروع کند در KLine

شکل 28- زمان بندی شروع کند در KLine.

انواع درخواست­ها به ECU

در جدول 11 همه انواع درخواست­ها در KLine لیست شده است. هر کدام از درخواست­ها در KLine توسط یک بایت مشخص می­شوند.

جدول 11- همه انواع درخواست­ها در KLine.

اسم درخواست

کد درخواست

hex

اسم درخواست

کد درخواست

hex

شروع سشن عیب یابی

10

کنترل عمگرها به وسیله شناسه عمومی

2F

ریست ECU

11

کنترل عمگرها به وسیله شناسه محلی

30

خواندن داده­های فریزشده

12

شروع روتین به وسیله شناسه محلی

31

خواندن کدهای خطا

13

پایان روتین به وسیله شناسه محلی

32

پاک کردن خطاها

14

درخواست نتیجه روتین به وسیله شناسه محلی

33

خواندن وضعیت کدهای خطا

17

درخواست دانلود

34

خواندن کدهای خطا با در نظر گرفتن نوع خطا مد نظر

18

درخواست آپلود

35

خواندن اطلاعات ECU

1A

انتقال داده

36

پایان سشن عیب یابی

20

درخواست پایان انتقال

37

خواندن داده به وسیله شناسه محلی

21

شروع روتین به وسیله آدرس

38

خواندن داده به وسیله شناسه عمومی

22

پایان روتین به وسیله آدرس

39

خواندن داده­های حافظه با دادن آدرس

23

درخواست نتیجه روتین به وسیله آدرس

3A

تنظیم نرخ داده

26

نوشتن داده به وسیله شناسه محلی

3B

مجوز دسترسی

27

نوشتن داده به وسیله آدرس

3D

تعریف شناسه محلی به صورت پویا

2C

حضور درخواست کننده

3E

نوشتن در حافظه به وسیله شناسه عمومی

2E

 

 

2-1- الگوریتم پاسخ دهی ECU به درخواست ارسال شده به آن

در شکل 29 الگوریتم پاسخ دهی ECU به درخواست ارسال شده به آن ترسیم شده است. در صورتی که پیام ارسال شده معتبر نباشد به آن هیچ پاسخی نمی­دهد. در صورتی که درخواست یا زیر درخواست ارسال شده پشتیبانی نشود با کد خطای 0x11 یا 0x12 پاسخ منفی به درخواست ارسال می­کند. در صورتی که پاسخ مثبت آماده شده باشد آنرا ارسال می­کند در غیر این صورت ابتدا بررسی می­کند که آیا به زمان بیشتری نیاز دارد یا نه. اگر زمان بیشتری نیاز دارد با ارسال پاسخ منفی با کد 0x78 به درخواست کننده، آن را مطلع می­کند. در مرحله بعدی بررسی می­کند اگر روتین هنوز تمام نشده باشد آنگاه خطای 0x23 را ارسال می­کند. در صورتی که سرور مشغول باشد و نتواند به درخواست پاسخ دهد با ارسال کد 0x21 به درخواست کننده اطلاع می­دهد که سرور مشغول است و درخواست را مجددا با تاخیر تکرار کند. و در نهایت یا کد خطای رد کردن کلی 0x10 را می­فرستد یا خطای متناظر با نوع درخواست ارسال شده را.

الگوریتم پاسخ دهی به درخواست در KLine

شکل 29- الگوریتم پاسخ دهی به درخواست در KLine

2-2- درخواست شروع ارتباط

این درخواست در قسمت قبل بررسی شد.

2-3- درخواست پایان ارتباط

زمانیکه لازم باشد تا ارتباط ایجاد شده را ببندیم می­توانیم درخواست پایان ارتباط با کد درخواست 0x82 را ارسال کنیم. البته دقت شود که اگر از آخرین پاسخ ECU مدت زمان P3max سپری شده باشد و در این مدت زمان هیچ درخواست دیگری ارسال نشود، به صورت خودکار ارتباط توسط ECU بسته می­شود. ساختار پیام درخواست، پاسخ مثبت و پاسخ منفی به ترتیب در شکل 30 ، شکل 31 و شکل 32 نشان داده شده­اند.

ساختار پیام درخواست پایان ارتباط در KLine

شکل 30 – ساختار پیام درخواست پایان ارتباط در KLine

ساختار پیام جواب مثبت به درخواست پایان ارتباط در KLine

شکل 31 – ساختار پیام جواب مثبت به درخواست پایان ارتباط در KLine

ساختار پیام جواب منفی به درخواست پایان ارتباط در KLine

شکل 32- ساختار پیام جواب منفی به درخواست پایان ارتباط در KLine

 

2-4- درخواست دسترسی به پارامترهای زمانبندی

این درخواست پارامترهای زمانبندی در ارتباط KLine را برمی­گرداند. کد درخواست آن 0x83 بوده و داری یک زیرکد هم است که می­تواند 0x00، 0x01، 0x02 و یا 0x03 باشد(شکل 33 (الف)). کد 0x00 محدودیت زمان بندی را برمیگرداند 0x01 پارامترهای زمانبندی با مقادیر قرار دادی تنظیم می­کند. برای خواندن مقادیر پارمترهای زمانبندی فعلی باید 0x02 را ارسال کنیم و برای تنظیم مقادیر پارمترهای زمانبندی باید از کد 0x03 استفاده کنیم. برای تنظیم پارامترها باید از فرمت نشان داده شده در شکل 25 (ب) استفاده کرد. دقت شود در صورتی هدف تنظیم پارامتر باشد (یعنی 0x03)، در ساختار ارسال پیام 5 بایت بعدی ارسال می­شود.

ساختار پیام درخواست دسترسی به زمان بندی در KLine

شکل 33 – الف)ساختار پیام درخواست دسترسی به زمان بندی در KLine

فرمت ارسال پارمترهای تنظیم زمانبندی

شکل 33 – ب) فرمت ارسال پارمترهای تنظیم زمانبندی

جواب درخواست اگر پاسخ مثبت باشد به صورت شکل 34 خواهد بود. فرمت پارامترهای تنظیمات، همان فرمت ارسال نشان داده شده در شکل 33 (ب) است. برای محاسبه مقدار زمان متناسب با هر پارامتر کافی است که بایت مورد نظر را در ضریب متناسب با آن ضرب کرد. به عنوان مثال مثلا برای P2min باید بایت اول را در عدد 0.5 ضرب کنیم.

ساختار پیام جواب مثبت به درخواست دسترسی به زمان بندی در KLine

شکل 34- ساختار پیام جواب مثبت به درخواست دسترسی به زمان بندی در KLine.

در صورتی که جواب منفی باشد آنگاه پاسخ به شکل 35 خواهد بود.

ساختار پیام جواب منفی به درخواست دسترسی به زمان بندی در KLine

شکل 35 – ساختار پیام جواب منفی به درخواست دسترسی به زمان بندی در KLine.

به عنوان مثال برای دسترسی به محدودیت زمانبندی ECU از نوع SIEMENS باید کد {0x82,0x11,0xF1,0x83,0x00,0x07} را ارسال کنیم. در پاسخ جواب به صورت {0x87,0xF1,0x11,0xC3,0x00,0x00,0xFE,0x01,0x28,0x00,0x73} ارسال خواهد شد. بنابراین داریم.

  • P2min = 0x00 * 0.5 ms  = 0 ms
  • P2max = 0xFE * 25 ms = 6350 ms
  • P3min = 0x01 * 0.5 ms = 0.5 ms
  • P3max = 0x28 * 250 ms = 10000 ms
  • P4min = 0x00 * 0.5 ms = 0 ms.

اولین مرجع متن‌باز ECU در ایران

تاریخچه و کاربردهای دیاگ OBD: از استانداردسازی تا معرفی پروتکل‌های متداول و کدهای خطا - قسمت اول آموزش OBD II

اطلاعات
0
1
لینک و اشتراک
مقالات مرتبط
profile

BlueShift

متخصص الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله