Zigbee ezsp uart کے بارے میں

مصنف : مشعل بوٹکیمپ
لنک : https: //zhuanlan.zhihu.com/p/339700391
: کوورا سے

1. تعارف

سلیکن لیبز نے زگبی گیٹ وے ڈیزائن کے لئے میزبان+این سی پی حل کی پیش کش کی ہے۔ اس فن تعمیر میں ، میزبان UART یا SPI انٹرفیس کے ذریعے NCP کے ساتھ بات چیت کرسکتا ہے۔ عام طور پر ، UART استعمال ہوتا ہے کیونکہ یہ SPI سے کہیں زیادہ آسان ہے۔

سلیکن لیبز نے میزبان پروگرام کے لئے ایک نمونہ پروجیکٹ بھی فراہم کیا ہے ، جو نمونہ ہےزیڈ 3 گیٹ وےہوسٹ. نمونہ یونکس نما نظام پر چلتا ہے۔ کچھ صارفین میزبان نمونہ چاہتے ہیں جو آر ٹی او ایس پر چل سکے ، لیکن بدقسمتی سے ، اس وقت کے لئے آر ٹی او ایس پر مبنی میزبان نمونہ موجود نہیں ہے۔ صارفین کو آر ٹی او ایس پر مبنی اپنا میزبان پروگرام تیار کرنے کی ضرورت ہے۔

اپنی مرضی کے مطابق میزبان پروگرام تیار کرنے سے پہلے UART گیٹ وے پروٹوکول کو سمجھنا ضروری ہے۔ UART پر مبنی NCP اور SPI پر مبنی NCP دونوں کے لئے ، میزبان NCP کے ساتھ بات چیت کرنے کے لئے EZSP پروٹوکول کا استعمال کرتا ہے۔ezspکے لئے مختصر ہےامبرزنیٹ سیریل پروٹوکول، اور اس کی وضاحت کی گئی ہےUG100. UART پر مبنی NCP کے لئے ، EZSP ڈیٹا کو قابل اعتماد طریقے سے UART لے جانے کے لئے ایک نچلی پرت پروٹوکول نافذ کیا جاتا ہے ، یہی بات ہےراھپروٹوکول ، مختصر کے لئے مختصرغیر سنجیدہ سیریل میزبان. ایش کے بارے میں مزید تفصیلات کے لئے ، براہ کرم دیکھیںUG101اورUG115.

ای زیڈ ایس پی اور ایش کے مابین تعلقات کو مندرجہ ذیل آریھ کے ذریعہ واضح کیا جاسکتا ہے:

1

ای زیڈ ایس پی اور ایش پروٹوکول کے ڈیٹا فارمیٹ کو مندرجہ ذیل آریھ کے ذریعہ بیان کیا جاسکتا ہے:

2

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

2. فریمنگ

عام فریمنگ کے عمل کو مندرجہ ذیل چارٹ کے ذریعہ واضح کیا جاسکتا ہے:

3

اس چارٹ میں ، ڈیٹا کا مطلب EZSP فریم ہے۔ عام طور پر ، فریمنگ کے عمل یہ ہیں: | نہیں | مرحلہ | حوالہ |

|:-|:-|:-|

| 1 | EZSP فریم کو بھریں | UG100 |

| 2 | ڈیٹا بے ترتیب | UG101 کا سیکشن 4.3 |

| 3 | کنٹرول بائٹ شامل کریں | CHAP2 اور UG101 کے CHAP3 |

| 4 | CRC کا حساب لگائیں | UG101 کے سیکشن 2.3 |

| 5 | بائٹ اسٹفنگ | UG101 کے سیکشن 4.2 |

| 6 | آخری پرچم شامل کریں | UG101 کے سیکشن 2.4 |

2.1. EZSP فریم کو پُر کریں

EZSP فریم فارمیٹ UG100 کے CHAP 3 میں بیان کیا گیا ہے۔

4

توجہ دیں کہ جب SDK اپ گریڈ ہوتا ہے تو یہ شکل بدل سکتی ہے۔ جب فارمیٹ تبدیل ہوتا ہے تو ، ہم اسے ایک نیا ورژن نمبر دیں گے۔ جب یہ مضمون لکھا جاتا ہے تو تازہ ترین EZSP ورژن نمبر 8 ہے (امبرزنیٹ 6.8)۔

چونکہ ای زیڈ ایس پی فریم فارمیٹ مختلف ورژن کے مابین مختلف ہوسکتا ہے ، لہذا لازمی ضرورت ہے کہ میزبان اور این سی پیضروری ہےاسی EZSP ورژن کے ساتھ کام کریں۔ بصورت دیگر ، وہ توقع کے مطابق بات چیت نہیں کرسکتے ہیں۔

اس مقصد کو حاصل کرنے کے لئے ، میزبان اور این سی پی کے مابین پہلی کمانڈ ورژن کمانڈ ہونا چاہئے۔ دوسرے لفظوں میں ، میزبان کو کسی بھی دوسرے مواصلات سے پہلے این سی پی کے EZSP ورژن کو دوبارہ حاصل کرنا ہوگا۔ اگر EZSP ورژن میزبان کی طرف کے EZSP ورژن کے ساتھ مختلف ہے تو ، مواصلات کو ختم کرنا ہوگا۔

اس کے پیچھے مضمر ضرورت یہ ہے کہ ورژن کمانڈ کی شکل کر سکتی ہےکبھی نہیں بدلا. EZSP ورژن کمانڈ فارمیٹ ذیل کی طرح ہے:

5

پیرامیٹر فیلڈ کی وضاحت اور ورژن کے ردعمل کی شکل UG100 کے چیپ 4 میں مل سکتی ہے۔ پیرامیٹر فیلڈ میزبان پروگرام کا EZSP ورژن ہے۔ جب یہ مضمون لکھا جاتا ہے تو ، 8 ہے۔
7
or : مشعل بوٹکیمپ
or : https: //zhuanlan.zhihu.com/p/339700391
: : 知乎
著作权归作者所有。商业转载请联系作者获得授权 , 非商业转载请注明出处。

2.2. ڈیٹا بے ترتیب

تفصیلی بے ترتیب عمل UG101 کے سیکشن 4.3 میں بیان کیا گیا ہے۔ پورے EZSP فریم کو بے ترتیب کردیا جائے گا۔ بے ترتیب ہونا خصوصی یا EZSP فریم اور چھدم بے ترتیب ترتیب ہے۔

ذیل میں چھدم بے ترتیب ترتیب پیدا کرنے کا الگورتھم ہے۔

  • رینڈ 0 = 0 × 42
  • اگر رندی کا تھوڑا سا 0 ہے ، رینڈی+1 = رینڈی >> 1
  • اگر رندی کا تھوڑا سا 0 ہے ، رینڈی+1 = (رندی >> 1) ^ 0xB8

2.3. کنٹرول بائٹ شامل کریں

کنٹرول بائٹ ایک بائٹ ڈیٹا ہے ، اور اسے فریم کے سر میں شامل کیا جانا چاہئے۔ فارمیٹ نیچے دیئے گئے جدول کے ساتھ بیان کیا گیا ہے:

6

مکمل طور پر ، یہاں 6 قسم کے کنٹرول بائٹس ہیں۔ پہلے تین EZSP ڈیٹا کے ساتھ عام فریموں کے لئے استعمال ہوتے ہیں ، بشمول ڈیٹا ، ACK اور NAK۔ آخری تین عام ای زیڈ ایس پی ڈیٹا کے بغیر استعمال ہوتے ہیں ، بشمول آر ایس ٹی ، آر اسٹیک اور غلطی۔

سب سے پہلے ، آر اسٹیک اور غلطی کی شکل سیکشن 3.1 سے 3.3 میں بیان کی گئی ہے۔

2.4. CRC کا حساب لگائیں

اعداد و شمار کے اختتام تک کنٹرول بائٹ سے بائٹس پر 16 بٹ سی آر سی کا حساب لگایا جاتا ہے۔ معیاری CRCCCTITT (G (X) = X16 + X12 + X5 + 1) 0xffff میں شروع کیا گیا ہے۔ سب سے اہم بائٹ کم سے کم اہم بائٹ (بگ اینڈین وضع) سے پہلے ہے۔

2.5. بائٹ اسٹفنگ

جیسا کہ UG101 کے سیکشن 4.2 میں بیان کیا گیا ہے ، خصوصی مقصد کے لئے کچھ مخصوص بائٹ اقدار استعمال کی جاتی ہیں۔ یہ اقدار مندرجہ ذیل جدول میں مل سکتی ہیں:

7

جب یہ اقدار فریم میں ظاہر ہوتی ہیں تو ، اعداد و شمار پر ایک خاص علاج کیا جائے گا۔ - محفوظ بائٹ کے سامنے فرار بائٹ 0x7D داخل کریں - اس محفوظ بائٹ کے Bit5 کو الٹ دیں

ذیل میں اس الگورتھم کی کچھ مثالیں ہیں:

8

2.6. آخری پرچم شامل کریں

آخری مرحلہ یہ ہے کہ فریم کے اختتام پر آخری پرچم 0x7E شامل کریں۔ اس کے بعد ، ڈیٹا UART پورٹ پر بھیجا جاسکتا ہے۔

3. فریمنگ کا عمل

جب UART سے ڈیٹا موصول ہوتا ہے تو ، ہمیں اسے ڈی کوڈ کرنے کے لئے الٹ اقدامات کرنے کی ضرورت ہوتی ہے۔

4. حوالہ جات


پوسٹ ٹائم: فروری 08-2022
واٹس ایپ آن لائن چیٹ!