ڈبل کا ڈیزائن حل اور اطلاق کا تجزیہ بے کار مواصلات کے نظام کو کرسکتا ہے

Jun 23, 2025 ایک پیغام چھوڑیں۔

اگرچہ کین پروٹوکول میں خود ہی ایک مضبوط غلطی کا پتہ لگانے اور اصلاحی صلاحیت موجود ہے ، صنعتی کنٹرول سائٹ میں ، پلگ کنکشن ٹھوس نہیں ہے ، ٹرانسمیشن میڈیم کو نقصان پہنچا ہے یا بس ڈرائیور کو نقصان پہنچا ہے ، وغیرہ۔ ایپلی کیشن سسٹم میں جس کے لئے اعلی وشوسنییتا کی ضرورت ہوتی ہے ، یہ غلطیاں ، اگر خود بخود پتہ نہیں چلتے ہیں اور اس پر قابو پانے کے ل appropriate مناسب اقدامات کرتے ہیں تو ، نظام کو جزوی طور پر یا یہاں تک کہ مکمل طور پر بات چیت کرنے کی صلاحیت سے محروم کردیں گے۔ اس مسئلے کو حل کرنے کا ایک موثر طریقہ یہ ہے کہ بے کار مواصلات پر قابو پالیں۔ اس سے یہ یقینی بنتا ہے کہ مواصلات کے نظام کے بنیادی کام عام طور پر چلتے ہیں ، اس طرح اس نظام کی وشوسنییتا کو بہتر بناتے ہیں۔

 

1 سسٹم ہارڈ ویئر کے اجزاء

MB90F543 ایک 16 {- بٹ مائکروکونٹرولر ہے جس میں فوجیتسو کے دو کین کنٹرولرز ہیں۔ اس نظام میں بسوں کے دو سیٹ (CAN0 ، CAN1) کا استعمال کیا گیا ہے ، جن میں سے ہر ایک میں آزاد بس کیبلز ، بس ڈرائیور اور بس کنٹرولرز شامل ہیں ، جو جسمانی میڈیا ، جسمانی پرت ، ڈیٹا لنک پرت اور ایپلی کیشن پرت کی مکمل فالتو پن کا احساس کرسکتے ہیں۔ بسوں کے دو سیٹ گرم بیک اپ موڈ میں کام کرتے ہیں: کوئی کنٹرولر سسٹم کی طاقت کے بعد (جس کو ماسٹر کے نام سے کہا جاسکتا ہے) کے بعد ڈیفالٹ کین کے طور پر کنٹرولر کام کرسکتا ہے۔ دوسرا نظام کے اسٹینڈ بائی کے طور پر کام کرتا ہے (جسے غلام کین کہا جاتا ہے) اور ماسٹر کین کے لئے فالتو پن کا کام کرتا ہے۔ جب سسٹم عام طور پر کام کرتا ہے تو ، ماسٹر کین بس (CAN0) کو عملی جامہ پہنایا جاتا ہے۔ جب ماسٹر بس ناکام ہوجاتا ہے تو ، غلام کین بس (CAN1) کام میں جاتا ہے۔ اگر پاور {{15} up اپ ماسٹر کین بس میں کسی غلطی کا پتہ لگاتا ہے تو ، غلام کین بس خود بخود کام میں ڈال دیا جاتا ہے۔ اس طرح ، جب بسوں کا ایک سیٹ ناکام ہوجاتا ہے تو ، بسوں کا دوسرا سیٹ خود بخود کام جاری رکھے گا تاکہ پورے نظام کے مواصلاتی فنکشن کے معمول کے عمل کو یقینی بنایا جاسکے ، جو نظام کی وشوسنییتا کو بہت بہتر بناتا ہے اور کین بس کے جامع فالتو پن کے ڈیزائن کو محسوس کرتا ہے۔ اس کے علاوہ ، سافٹ ویئر کی ضروریات کے مطابق بھی بے کار یا غیر - بے کار موڈ لینے کے لئے بھی ترتیب دیا جاسکتا ہے۔ غیر فالتو موڈ کے ل only ، صرف مین کین بس استعمال کی جاتی ہے۔

info-1-1                               سسٹم آرکیٹیکچر بلاک ڈایاگرام

 

آر ٹی بس ٹرمینیشن مماثل ریزٹر ہے ، جو سگنل کے اخراج مداخلت کو دبانے کے لئے استعمال ہوتا ہے ، RT=100 ω یا 120Ω۔ نیٹ ورک مواصلات کے میڈیم کے طور پر ڈھال بٹی ہوئی جوڑی کیبل کا استعمال کرتا ہے۔


کین کنٹرولر کین پروٹوکول کے جسمانی پرت اور ڈیٹا لنک پرت کے افعال کو مربوط کرتا ہے ، اور ڈیٹا مواصلات کے فریمنگ عمل کو مکمل کرسکتا ہے ، جس میں بٹ پیڈنگ ، ڈیٹا بلاک کوڈنگ ، سی آر سی چیکسم اور ترجیحی امتیاز شامل ہے۔


کین کنٹرولر میں مندرجہ ذیل اہم خصوصیات ہیں:

Can CAN2.0A اور CAN2.0B پروٹوکول کے مطابق ہے۔

data ڈیٹا فریموں اور ریموٹ فریموں کو بھیجنے اور وصول کرنے کی حمایت کرتا ہے۔

◇ 16 پیغام بفرز بھیجیں/وصول کریں ، 11 - بٹ یا 29 - بٹ شناخت کنندگان اور ملٹی - سطح کے پیغام بفر ڈھانچہ کی حمایت کرتے ہوئے۔ ◇ مکمل - بٹ موازنہ ، مکمل بٹ موازنہ ، اور مکمل بٹ موازنہ کی حمایت کرتا ہے۔

accept قبولیت کی شناخت کے تین طریقوں کی حمایت کرتا ہے: مکمل - بٹ موازنہ ، مکمل - بٹ ماسکنگ اور بٹ ماسکنگ قبولیت ؛ acception دو قبولیت کی شناخت کے اندراج۔

◇ دو قبولیت کی شناخت کے اندراج معیاری فریم یا توسیعی فریم فارمیٹ کی حمایت کرتے ہیں۔

BA BAUD کی شرح 10KBPS سے 1MBPS تک قابل پروگرام ہے۔


بس ڈرائیور پی سی اے 82 سی 250 کو اپناتا ہے کیونکہ بس کی تفریق ٹرانسمیشن اور استقبال کی صلاحیت کو بڑھانے کے لئے کین کنٹرولر اور جسمانی بس کے مابین انٹرفیس ہوتا ہے۔

info-1-1

 

2 سسٹم سافٹ ویئر ڈیزائن

 

2.1 دوہری کا احساس بے کار کنٹرول فنکشن کر سکتا ہے

 

ہارڈ ویئر کے ڈھانچے کے مقابلے میں ، ڈبل کین فالتو نظام میں ، سافٹ ویئر ڈیزائن نسبتا more زیادہ پیچیدہ ہے۔ جنرل کین بس مواصلات کے پروگرام میں تین بنیادی حصے شامل ہونا ضروری ہیں: کیا شروع کرنے والا پروگرام ، کین ٹرانسمیشن پروگرام اور کین استقبالیہ پروگرام۔ اس بے کار سسٹم سافٹ ویئر ڈیزائن میں ، مذکورہ بالا تین حصے سسٹم کے دوسرے سافٹ ویئر ماڈیولز کے لئے کال کرنے کے لئے تین سب سے بنیادی ماڈیول کے طور پر استعمال ہوتے ہیں۔


MB90F543 256 قسم کے مداخلت والے ذرائع کو سنبھال سکتا ہے ، اور کین کنٹرولر سے متعلق چار ہارڈ ویئر میں رکاوٹیں ہیں: CAN0 RX (CAN0 مکمل مداخلت) ، CAN0 TX /NS (CAN0 بھیجیں مکمل /نوڈ اسٹیٹ چینج رکاوٹ) ، CAN1 RX (CAN1 CAN1 TX /NS) (CAN1 SEND STATE /NS STATE /NS SET /NS NED NES)۔ CAN1 TX /NS (CAN1 مکمل /نوڈ کی حیثیت میں تبدیلی کی مداخلت کو منتقل کریں)۔ اس سافٹ ویئر ڈیزائن میں ، استفسار بھیجیں اور مداخلت کا استعمال استعمال کیا جاتا ہے۔ نوڈ اسٹیٹ چینج انٹراپٹ سبروٹائن نوڈ اسٹیٹ چینج کی پروسیسنگ کے لئے استعمال ہوتا ہے۔ اس کی وجہ یہ ہے کہ CAN2.0 پروٹوکول یہ واضح کرتا ہے کہ نوڈ مندرجہ ذیل تین ریاستوں میں سے ایک میں ہے: غلطی - چالو ریاست ، غلطی - کو نظرانداز کیا ، اور - بس ریاست۔ ایم بی 90500 سیریز میں ، ایک اضافی انتباہی ریاست بھی موجود ہے ، جو اس بات کی نشاندہی کرتی ہے کہ ٹرانسمیشن/وصول غلطی کاؤنٹر کی قیمت 96 سے تجاوز کر گئی ہے ، اور نوڈ اسٹیٹ میں تبدیلی اسی طرح کی مداخلت کا سبب بنے گی۔


چونکہ یہ نظام ڈبل کین کے ساتھ چل رہا ہے گرم اسٹینڈ بائی ، لہذا دونوں کین کنٹرولرز کو گرم اسٹینڈ بائی ریاست میں ہونا چاہئے۔ سسٹم میں موجود تمام نوڈس کے دونوں کنٹرولرز کو کسی بھی وقت پیغامات موصول کرنے کے لئے تیار ہونے کے لئے شروع کیا گیا ہے ، لیکن صرف ایک ہی کنٹرولر پیغامات بھیج رہا ہے۔ دوسرے لفظوں میں ، وقت کے ایک موقع پر ، صرف ایک اور صرف ایک کینل چینلز متحرک ہے ، جبکہ دوسرا سن رہا ہے (عام آپریشن میں) یا کسی غلطی کی حالت میں (ناکامی کی صورت میں)۔


کسی ایک کے مقابلے میں ڈوئل کے سافٹ ویئر ڈیزائن کی پیچیدگی کی کلید ، کسی ایک کے مقابلے میں کسی ایک کے مقابلے میں CAN سسٹم کی غلطی کا پتہ لگانے اور کین سسٹم کی خود کار طریقے سے سوئچنگ میں شامل ہے۔ مکمل طور پر آزاد ٹرانسمیشن میڈیا ، بس ڈرائیوروں اور بس کنٹرولرز کے دو سیٹوں کے استعمال کی وجہ سے ، لہذا ان کے اپنے چینل کی غلطیوں ، جیسے کینہ اور کین شارٹ- سرکٹ ، کینہ یا کین سے منقطع ، کینہ اور گراؤنڈ شارٹ {2- سرکٹ ، کینل اور پاور شارٹ- پر آزادانہ طور پر ان کا پتہ لگایا جاسکتا ہے۔ اصل ڈیبگنگ میں ، یہ پایا گیا ہے کہ اگر کین ، کینل منقطع ہے یا بس میں صرف ایک ہی ٹرانسمیٹر ہے ، تو اس سے ٹرانسمیشن/وصول غلطی کاؤنٹر 128 تک بڑھ جائے گا ، جو نوڈ کو نظرانداز غلطی کی حالت میں ڈال دیتا ہے۔ اور کینہ اور کینل کے درمیان ایک مختصر - سرکٹ ، کین اور گراؤنڈ کے درمیان ایک مختصر - سرکٹ ، یا کینل اور بجلی کی فراہمی کے درمیان ایک مختصر - سرکٹ کی وجہ سے ٹرانسمیشن/وصول غلطی کاؤنٹر 256 تک بڑھ جائے گا ، جو بس سے منسلک حالت میں نوڈ ڈالتا ہے۔ لہذا ، نوڈ اسٹیٹ چینج انٹراپٹ سبروٹائن میں CAN کشتیاں ماڈیول کو کال کرنے سے ، ہم خود کار طریقے سے غلطی کا پتہ لگانے اور کین سسٹم کی خودکار سوئچنگ کے مذکورہ مقصد کو حاصل کرسکتے ہیں۔ CAN0 نوڈ اسٹیٹ چینج میں تبدیلی کے سبروئٹین مندرجہ ذیل ہیں۔

 

__interrupt باطل NodestateTransmitInt0 (باطل)

{

اگر (CSR0_NT) / * نوڈ اسٹیٹ چینج * /

{

CSR0_NT=0 ؛ / *مداخلت پرچم دوبارہ ترتیب دیں */

اگر ((csr0_ns==2) (csr0_ns==3})) / * مداخلت یا شارٹ سرکٹ کی وجہ سے * /

{

nowaitflg=1 ؛ / * ایک باہمی خصوصی پرچم */

BUS0ERROR () ؛ / * BUS0ERROR () CAN0 کو روکتا ہے اور بے کار CAN1 سبروٹائن */ {Notaitflg=1 شروع کرتا ہے۔ / * A Mutex پرچم */

}

}

آئی سی آر 00 =3 ؛ / * ٹائمر 0 مداخلت کی ترجیح میں مداخلت کی ترجیح کو تبدیل کریں */}

آئی سی آر 03 =2 ؛ / * ٹائمر 0 مداخلت کو ترجیح دینے کے لئے مداخلت کو ترجیح دیں */}

}

 

اس کے علاوہ ، کین بس مواصلات کے عمل میں ، جب کسی خاص انفارمیشن بفر کا ڈیٹا ٹرانسمیشن مکمل ہوجاتا ہے تو ، ٹرانسمیشن کی تکمیل کے رجسٹر میں اسی طرح کا تھوڑا سا 1 پر سیٹ کیا جائے گا۔ ٹرانسمیشن سے استفسار کرنے کے عمل میں ، اس رجسٹر کا فیصلہ کرکے ، آپ جان سکتے ہیں کہ ٹرانسمیشن مکمل ہوچکی ہے یا نہیں۔ تاہم ، اگر بھیجنا کامیاب نہیں ہے تو ، اس سے نظام کو ہر وقت انتظار کیا جائے گا اور نظام کو گرنے کا سبب بنے گا۔ لہذا ، سافٹ ویئر کو یہاں انتظار کی مدت طے کرنی ہوگی ، جس سے آگے کین فالتو نظام کو ماسٹر کین چینل اور غلام کین چینل کو چالو کرنے کے لئے بلایا جائے گا۔


بیک اپ کے کین سوئچنگ مکمل ہونے کے بعد سافٹ ویئر ڈیزائن کو اس مسئلے پر بھی توجہ دینی چاہئے کہ اصل مواصلات کے کام کو کیسے بحال کیا جائے۔ حل یہ ہے کہ ٹاسک پرچموں کی فہرست تیار کی جائے ، اسٹینڈ بائی سوئچ کر سکتی ہے ، سسٹم کا اصل کام حاصل کرنے کے لئے ٹیبل کو پڑھ سکتی ہے ، تاکہ قابل اعتماد سوئچنگ کے اصل مواصلات کا کام حاصل کیا جاسکے۔


2.2 بس مینجمنٹ فنکشن کا احساس


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

 

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


3 ترقیاتی ماحول اور اطلاق کو کئی امور پر توجہ دینی چاہئے


سافٹون وی 3 سافٹ ویئر ورک بینچ فوجیتسو ایف ایف ایم سی -8 ایل ، ایف ایف ایم سی -16 ایل/ایل ایکس اور ایف آر سیریز مائکروکونٹرولر پروگرام ڈویلپمنٹ کے لئے ایک مربوط سافٹ ویئر ڈویلپمنٹ ماحول ہے ، بشمول ڈویلپمنٹ مینجمنٹ ، ایمولیٹر ڈیبگنگ ، نرم تخروپن اور ایک مربوط ترقیاتی ماحول۔ اس کی ترقیاتی ٹول کٹ میں سافٹون ورک بینچ ، سی کمپائلر ، اسمبلر ، لنکر ، سی چیکر ، سی تجزیہ کار شامل ہیں۔ سافٹون وی 3 سی اور اسمبلی دونوں زبانوں کی حمایت کرتا ہے۔


MB90F543 کے اصل استعمال کے دوران ، درج ذیل مسائل کو نوٹ کرنا چاہئے۔


accept قبولیت مارک سلیکشن رجسٹر (AMSR) کی ترتیب۔ ہر میسج بفر ایک قبولیت کو نشان زد کرنے کا طریقہ منتخب کرسکتا ہے: مکمل بٹ موازنہ ، مکمل بٹ ماسک یا بٹ ماسک قبولیت۔ مکمل - بٹ موازنہ کا مطلب یہ ہے کہ نوڈ کے ذریعہ موصول ہونے والی معلومات کی ID کو انفارمیشن بفر کے ذریعہ سیٹ کی طرح ہونا ضروری ہے تاکہ معلومات کو قبولیت شناخت کرنے والے کو منظور کیا جاسکے۔ مکمل - بٹ ماسکنگ کو معلومات کی شناخت کا موازنہ کرنے کی ضرورت نہیں ہے ، جس کی ترجمانی قبولیت شناخت کنندہ کے غیر مشروط گزرنے کے طور پر کی جاسکتی ہے۔ بٹ - ماسکنگ قبولیت ID بٹس کا موازنہ کرنے کی وضاحت کرسکتی ہے اور آئی ڈی بٹس کو نقاب پوش کرنے کے لئے ، یعنی ، جزوی طور پر قبولیت کا موازنہ کرنا۔ عملی طور پر ، یہ قبولیت شناخت کرنے والا طریقہ اکثر استعمال کیا جاتا ہے ، لہذا اس طرح کے دو طریقے MB90F543 چپ کے CAN کنٹرولر میں طے کیے جاتے ہیں۔ اے ایم ایس آر کی ترتیب ڈویلپر کو بفر کی معلومات پر کارروائی کرنے کے لئے بڑی لچک فراہم کرتی ہے۔


② قبولیت مارکنگ رجسٹر (AMR) ترتیب۔ AMSR کو بٹ - نقاب پوش قبولیت کے طریقہ کار پر سیٹ کرنے کے بعد ، AMR کو یہ طے کرنا ہوگا کہ ID کے کون سے بٹس کا موازنہ کیا جائے اور کون سے بٹس کو نقاب پوش کرنا ہے۔ اے ایم آر میں کل چار بائٹس ہیں اور 29 بٹ آئی ڈی کرداروں کی حمایت کرتے ہیں۔ تاہم ، یہ بات قابل غور ہے کہ 29 بٹ ID کے کردار کے لئے ، AM28 ~ AM0 استعمال کیا جاتا ہے۔ جبکہ 11 بٹ شناختی کردار کے لئے ، AM28 ~ AM18 استعمال کیا جاتا ہے۔ لہذا ، AMR ترتیب دیتے وقت صارف کو محتاط رہنا چاہئے ، یا اس کے نتیجے میں استقبال کی خرابی ہوگی۔ مصنف کو یہاں تکلیف ہوئی ہے۔


Fجیتسو کے کین کنٹرولر کی ایک خصوصیات میں سے ایک یہ ہے کہ یہ ملٹی - لیول میسج بفرز کے استعمال کی حمایت کرتا ہے۔ اس معاملے میں جہاں استقبال کثرت سے ہوتا ہے ، یا متعدد مختلف شناختی معلومات کے فریم موصول ہوتے ہیں ، یہ ممکن ہے کہ سی پی یو کے پاس موصولہ معلومات پر کارروائی کرنے کے لئے اتنا وقت نہ ہو ، لہذا متعدد انفارمیشن بفرز کو ملٹی - سطح کے انفارمیشن بفر میں تشکیل دیا جاسکتا ہے تاکہ یہ یقینی بنایا جاسکے کہ معلومات کو بروقت اور موثر انداز میں کارروائی کی جاسکتی ہے۔ اس طرح سے ، 8 بائٹس سے بڑی معلومات 1 فریم میں بھیجی جاسکتی ہیں۔ اس انتظام کا ایک اور فائدہ یہ ہے کہ سی پی یو بفر کی معلومات کو دوبارہ لکھنے اور فوری طور پر کھو جانے کے بارے میں فکر کیے بغیر کسی مخصوص انفارمیشن بفر کی معلومات کو پڑھ سکتا ہے۔


4 نتیجہ اخذ کرنا


CAN ایپلیکیشن پرت پروٹوکول کے ترقیاتی عمل میں ، ڈیوائس نیٹ تفصیلات کے کچھ میکانزم ادھار لیا جاتا ہے ، جیسے ڈیٹا ٹرانسمیشن کی متعدد شکلوں کی حمایت کرنا (انتخابی پاس ، پولنگ ، ریاست کی تبدیلی ، وغیرہ) ؛ تاہم ، بہت سے عوامل جیسے ترقیاتی چکر کی حدود کی وجہ سے ، ڈیوائس کی تشخیصی فنکشن کے ساتھ ساتھ اسی طرح کی مصنوعات کے ساتھ انٹرآپریبلٹی کو بہتر اور وسعت دینے کی ضرورت ہے۔ دوہری تجرباتی مرحلے میں دوہری بے کار مواصلات کا نظام مستحکم کام کرتا ہے ، ڈیٹا ٹرانسمیشن قابل اعتماد ہے ، فالتو پن سوئچنگ عملی ہے ، اور بس مینجمنٹ کی وشوسنییتا اچھی ہے۔ اس کا اطلاق لوکوموٹو کنٹرول سسٹم یا دیگر صنعتی کنٹرول سائٹوں پر کیا جاسکتا ہے جن کے لئے اعلی وشوسنییتا کی ضرورت ہوتی ہے۔

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

whatsapp

ٹیلی فون

ای میل

تحقیقات