کیا ہو جاتا ہے تو دو نوڈ ID سیکشن وہی ہیں؟

Apr 04, 2018ایک پیغام چھوڑیں۔

کیا ہوتا ہے تو دو نوڈ ID طبقات وہی ہیں؟




CAN-bus نیٹ ورک دو نوڈس کو اصل میں اسی ID طبقہ کے لئے اجازت نہیں دیتے ہیں، لیکن کیا ہوتا ہے تو دو نوڈ ID طبقات وہی ہیں؟

تجربے سے قبل، ہمیں پیغام پیغامات اور ثالثی کے اصولوں کی ساخت کو واضح سمجھنا ضروری ہے.


سب سے پہلے، کر سکتے ہیں پیغام ڈھانچہ

استعمال ہونے والی سب سے زیادہ CAN-Bus نیٹ ورک معیار V2.0 ورژن ہے. یہ معیار ایک اور بی حصوں میں تقسیم کیا جاتا ہے. ان کا بنیادی فرق ثالثی علاقے میں ID کوڈ کی لمبائی ہے. ان میں سے CAN2.0A (معیاری فریم) 11 بٹ ID ہے، CAN2.0B (فریم کا توسیع) 29 بٹ ID ہے. ذیل میں ٹیبل 1 CAN پیغام کی ساخت کو ظاہر کرتا ہے:

ٹیبل 1 کر سکتے ہیں پیغام ڈھانچہ

مرحلے کا نام مرحلے کی لمبائی / تھوڑا سا تفصیل
سوف 1 اعداد و شمار کے مرحلے کا مطلب ہے، اور ایک غالب بٹ کی طرف سے تشکیل
ابھرتے ہوئے مرحلے معیاری فریم 12 فریم کی ترجیحات کو اشارہ کرتا ہے، 11 ID پتے اور 1 آر ٹی آر کی تشکیل
وسیع فریم 32 فریم کی ترجیحات کو اشارہ کرتا ہے، 29 ID ایڈریس، 1 بٹ ایس آرآر، ڈی ڈی ای توسیع اور آر ٹی آر کی تشکیل
مرحلے کو کنٹرول کریں 6 مطلب ہے کہ گروپ کے اعداد و شمار اور ڈیٹا سیکشن کے ڈیٹا کی لمبائی کی مخصوص بٹس
ڈیٹا مرحلے 0 ~ 8 ڈیٹا کا مواد، کنٹرول مرحلہ ڈیٹا کی لمبائی کو کنٹرول کرتا ہے
سی آر سی 16 فریم ٹرانسمیشن ایرو کی جانچ پڑتال کریں، SOF سے اعداد و شمار مرحلے تک، تمام مواد، بٹس بھرنے کے علاوہ
ACK 2 دوسرے نوڈ کو اس فریم کو درست طریقے سے موصول ہونے کی تصدیق
فریم اختتام 7 فریم کا مطلب ہے


دوسرا، ثالثی کے اصول

کر سکتے ہیں بس صوابدیدی "لائن اور اصول" پر مبنی ہے، جیسا کہ شکل میں دکھایا گیا ہے. جب ایک ٹرانسیور مختلف سطحوں کے سگنلوں کو ایک ہی وقت میں جوڑتا ہے تو، اس وقت تک یادگار سطح غالب سطح پر ہوتا ہے. پیغام بھیجنے کے دوران، CAN کنٹرولر نگرانی کرے گا کہ بس کی حیثیت وہی ہے جسے خود بھیجا گیا ہے. اگر ID سیکشن میں متضاد ہوتا ہے تو، ثالثی ہو گی. اگر یہ دوسرے علاقوں میں ہوتا ہے تو، اس کی غلطی شروع کی جائے گی.

مندرجہ ذیل اہم نکات ہے. کیا اگر دو نوڈ ID طبقات وہی ہیں؟ ہم نے دو CAN کارڈ اور ایک کنسلپ کے ساتھ تجربہ شروع کر دیا. CAN کارڈ، پیغامات بھیجنے اور حاصل کرنے کے لئے CAN معیاری نوڈ کو ضم کرتی ہے، اور کنسلک مواصلاتی نگرانی کرتا ہے، جیسا کہ شکل 2 میں دکھایا گیا ہے.

                                                           

1.jpg

Fig.2 تجرباتی پلیٹ فارم کی تعمیر


تیسری، تجربہ ایک "ID کا حصہ ایک ہی ہے لیکن ڈیٹا مختلف ہے"

ایک CAN کارڈ استعمال کیا جاتا ہے جو کہ 00020304050607H میں ID 000H ڈیٹا کے ساتھ CAN فریم بھیجنے کے لئے استعمال کیا جاتا ہے اور 02020304050607H 000 000 ڈیٹا کے ساتھ CAN frame بھیجنے کے لئے ایک اور CAN کارڈ ہے. اعداد و شمار جو سنسکوپ سنتا ہے اس کی شکل میں دکھایا جاتا ہے 3. یہ دیکھا جاسکتا ہے کہ ایک بڑی تعداد میں اعداد و شمار کے میدان میں بھرتی ہوئی غلطیاں موجود ہیں.


2.jpg

نمبر 3 ڈیٹا فیلڈ بھرنے کے لئے

ایسا کیوں ہے؟ ہم سب سے پہلے دو CAN کارڈ ٹرانسمیشن پیغامات کے مطابق waveforms حاصل کرتے ہیں، جیسا کہ شکل 4 میں دکھایا گیا ہے. کیونکہ دو پن پیغام معیاری ڈیٹا فریم ہے اور ہر فریم میں ڈیٹا کی 8 بائٹس پر مشتمل ہے، پیکٹ کے دو فریموں کے مطابق waveforms ہیں. بالکل ID میں تقسیم، RTR، IDE، R0، اور ڈی سی ایل کے حصوں میں. لہذا، ثالثی کا کردار غیر مؤثر ہے اور دونوں نوڈس خود کو ترجیحات کے حامل سمجھتے ہیں اور اعداد و شمار کو جاری رکھنے کے لئے جاری رکھیں گے.

3.jpg

اب ہم ڈیٹا سیکشن پر توجہ مرکوز کرتے ہیں، پہلا بائٹ ڈیٹا اسی طرح ہے، 00H؛ دوسرا بائٹ ڈیٹا مختلف ہے، بالترتیب 01H، 02H. شکل 5 میں تیر اس بات سے ظاہر ہوتا ہے کہ متعلقہ بٹس کی منطق 0 اور 1 ہے. اس سے پہلے ہم نے ذکر کیا کہ CAN نوڈ کا پتہ لگ جائے گا کہ آیا سطح کو اس سطح کے طور پر وہی ہے جیسے پیغام بھیجنے پر بھیجے گئے. اگر غیر ثالثی کے علاقے میں متضاد ہوتا ہے تو، اس کی غلطی شروع ہو جاتی ہے، لہذا اگر دونوں فریم بس میں بھیجا جاتا ہے تو ایک ہی وقت میں بٹ کی غلطیاں ہوتی ہیں. کیونکہ تھوڑا سا غلطی بھیجنے کے سبب نوڈ کو 6 طاقتور بٹس بھیجنے کے لئے جو بھرتی قاعدہ کی خلاف ورزی کرتا ہے (فعال غلطی کو فریم ڈیٹا کو خارج کر دیتا ہے)، ڈیٹا فیلڈ بھرنے میں غلطی ہوتی ہے، جیسا کہ FIG میں دکھایا جاتا ہے. 3.


4.jpg

Fig.5 ڈیٹا فیلڈ تنازعات


چوتھی، استعمال دو "اسی ID کے ساتھ اسی ڈیٹا"

اسی وقت، 01020304050607H تک کر سکتے ہیں، جس کے ID 000 000 ڈیٹا ہے، اور مواصلات کی نگرانی کرتا ہے CAN CAN بھیجنے کے لئے دو CAN کارڈ استعمال کریں. سب سے پہلے، ہم سنس ویر کے کام کو سننے کے صرف موڈ میں بنانے کے لئے "بس جواب" کا اختیار نہیں چیک کرتے ہیں. تجرباتی نتائج کو شناخت 6 میں دکھایا جاتا ہے، اور ردعمل ڈیلئیر غلط شکل میں ہے.

5.jpg

Fig.6 جواب delimiter فارمیٹ غلطی


ایسا کیوں ہوتا ہے؟ پیغام کو بھیجنے والے نوڈ ACK طبقہ میں دو تعجب بٹس بھیجیں گے. اگر پہلی بطور ایک غالب سطح موصول ہوئی ہے تو، فریم کو صحیح طریقے سے موصول ہونے کا تصور کیا جاتا ہے. چونکہ دو مباحثے کا خیال ہے کہ انہوں نے ثالثی حق کو حاصل کرلیا ہے جب وہ اسی مباحثہ کا حصہ ہیں، وہ ACK طبقہ میں ایک جواب کا انتظار کرتے ہیں، لیکن نیٹ ورک میں صرف دو نوڈ ہیں. لہذا، ACK طبقہ میں کوئی جواب موصول نہیں کیا جاسکتا ہے، اور جواب ردعمل کی غلطی ہوتی ہے. بس بول رہا ہے، یہ صورتحال اس حقیقت سے ملتے جلتے ہے کہ بس میں صرف ایک نوڈ ڈیٹا نہیں بھیج سکے گا. جب شکل AC7 طبقہ میں کوئی جواب نہیں ہے تو Figure 7 کو waveform موازنہ ظاہر کرتی ہے.

6.jpg

FIG.7 ACK جواب دیں


ہم بس جواب کی جانچ پڑتال کرتے ہیں اور پھر دوبارہ استعمال شروع کرتے ہیں (اس وقت بس میں 3 نوڈس ہیں). اس وقت، جیسا کہ FIG میں دکھایا گیا ہے. 8، بس ڈیٹا منتقل کیا جاتا ہے اور عام طور پر وصول کیا جاتا ہے.

7.jpg

تصویر کا جواب شروع کریں


خلاصہ: دو نوڈس ایک ہی وقت میں ایک ہی شناخت اور ڈیٹا کے ساتھ پیکیٹ بھیجتے ہیں تو، ڈیٹا فیلڈ پیڈنگ غلطی ہوتی ہے. جب دو نوڈس ایک ہی شناخت اور اسی اعداد و شمار کے ساتھ پیکیٹ بھیجتے ہیں، تو کوئی غلطی ہوتی ہے اگر دوسرے نوڈ جواب دیں. دیگر نوڈز نے جوابی غلطی سے جواب دیا. لہذا، CAN بس کی تشکیل کرتے وقت ہمیں ID کے سیکشن میں اسی حالت سے بچنا چاہئے.


انکوائری بھیجنے

whatsapp

ٹیلی فون

ای میل

تحقیقات