د Zigbee EZSP UART په اړه

لیکوال: مشعل بوټ کمپ
لینک: https://zhuanlan.zhihu.com/p/339700391
له: کوورا څخه

۱. پېژندنه

سیلیکون لابراتوار د زیګبي ګیټ وی ډیزاین لپاره کوربه + NCP حل وړاندې کړی دی. پدې جوړښت کې، کوربه کولی شي د UART یا SPI انٹرفیس له لارې د NCP سره اړیکه ونیسي. په عمومي ډول، UART کارول کیږي ځکه چې دا د SPI په پرتله خورا ساده دی.

سیلیکون لابراتوار د کوربه پروګرام لپاره یوه نمونه پروژه هم چمتو کړې، کوم چې نمونه دهZ3GatewayHost د. نمونه د یونیکس په څیر سیسټم کې چلیږي. ځینې پیرودونکي ممکن د کوربه نمونې غوښتنه وکړي چې په RTOS کې چلیدلی شي، مګر له بده مرغه، د اوس لپاره د RTOS پر بنسټ د کوربه نمونه شتون نلري. کاروونکي اړتیا لري چې د RTOS پر بنسټ خپل کوربه پروګرام رامینځته کړي.

د دودیز کوربه پروګرام جوړولو دمخه د UART ګیټ وی پروتوکول پوهیدل مهم دي. د UART پر بنسټ NCP او SPI پر بنسټ NCP دواړو لپاره، کوربه د NCP سره د اړیکو لپاره د EZSP پروتوکول کاروي.د EZSPلنډ دی دد امبر زنټ سریال پروتوکول، او دا په کې تعریف شوی دید UG100 معرفي کول. د UART پر بنسټ د NCP لپاره، د ټیټې طبقې پروتوکول پلي کیږي ترڅو د EZSP ډیټا په UART کې په باوري ډول انتقال کړي، دا هغه څه دي چېايشپروتوکول، لنډیز یېغیر متمرکز سریال کوربه. د ASH په اړه د نورو جزیاتو لپاره، مهرباني وکړئ مراجعه وکړئد UG101 معرفي کولاود UG115 معرفي کول.

د EZSP او ASH ترمنځ اړیکه د لاندې ډیاګرام په واسطه روښانه کیدی شي:

۱

د EZSP او ASH پروتوکول د معلوماتو بڼه د لاندې ډیاګرام په واسطه روښانه کیدی شي:

۲

پدې پاڼه کې، موږ به د UART ډیټا چوکاټ کولو پروسه او ځینې کلیدي چوکاټونه معرفي کړو چې په Zigbee ګیټ وے کې ډیری وختونه کارول کیږي.

۲. چوکاټ جوړول

د چوکاټ جوړولو عمومي پروسه د لاندې چارټ په واسطه روښانه کیدی شي:

۳

په دې چارټ کې، معلومات د EZSP چوکاټ معنی لري. په عمومي توګه، د چوکاټ کولو پروسې دا دي: |نه|ګام|حواله|

|:-|:-|:-|

|۱| د EZSP چوکاټ ډک کړئ|UG100|

|2|د معلوماتو تصادفي کول|د UG101 برخه 4.3|

|3| د UG101| د کنټرول بایټ|Chap2 او Chap3 اضافه کړئ

|۴|د UG101 برخه 2.3| CRC محاسبه کړئ

|۵|د بایټ ډکول|د UG101 برخه ۴.۲|

|6| د پای بیرغ اضافه کړئ| د UG101 برخه 2.4|

۲.۱. د EZSP چوکاټ ډک کړئ

د EZSP چوکاټ بڼه د UG100 په دریم فصل کې ښودل شوې ده.

۴

پام وکړئ چې دا بڼه ممکن د SDK د لوړېدو پر مهال بدله شي. کله چې بڼه بدله شي، موږ به ورته د نوي نسخې شمیره ورکړو. د EZSP وروستۍ نسخه شمیره 8 ده کله چې دا مقاله لیکل کیږي (EmberZnet 6.8).

څرنګه چې د EZSP چوکاټ بڼه ممکن د مختلفو نسخو ترمنځ توپیر ولري، نو یو لازمي اړتیا شتون لري چې کوربه او NCPضرورد ورته EZSP نسخې سره کار وکړئ. که نه نو، دوی نشي کولی په سمه توګه اړیکه ونیسي.

د دې د ترلاسه کولو لپاره، د کوربه او NCP ترمنځ لومړی قومانده باید د نسخې قومانده وي. په بل عبارت، کوربه باید د نورو اړیکو دمخه د NCP EZSP نسخه بیرته ترلاسه کړي. که چیرې د EZSP نسخه د کوربه اړخ د EZSP نسخې سره توپیر ولري، نو اړیکه باید لغوه شي.

د دې تر شا ضمني اړتیا دا ده چې د نسخې قوماندې بڼه کولی شيهیڅکله بدلون مه کوئد EZSP نسخه قوماندې بڼه په لاندې ډول ده:

۵

د پیرامیټر ساحې توضیحات او د نسخې ځواب بڼه د UG100 په څلورم فصل کې موندل کیدی شي. د پیرامیټر ساحه د کوربه پروګرام EZSP نسخه ده. کله چې دا مقاله لیکل کیږي، دا 8 ده.
۷
نوم: TorchiIoTBootCamp
链接: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转转请注明出处.

۲.۲. د معلوماتو تصادفي کول

د تصادفي کولو تفصيلي پروسه د UG101 په 4.3 برخه کې تشریح شوې ده. د EZSP ټول چوکاټ به تصادفي شي. تصادفي کول د EZSP چوکاټ او یو جعلي تصادفي ترتیب لپاره ځانګړي دي.

لاندې د جعلي-ناڅاپي ترتیب د رامینځته کولو الګوریتم دی.

  • رینډ۰ = ۰×۴۲
  • که چیرې د رانډي بټ 0 0 وي، رانډي+1 = رانډي >> 1
  • که چیرې د رانډي بټ 0 ۱ وي، رانډي+۱ = (رانډي >> ۱) ^ 0xB8

۲.۳. د کنټرول بایټ اضافه کړئ

د کنټرول بایټ یو بایټ ډیټا ده، او باید د چوکاټ په سر کې اضافه شي. بڼه یې د لاندې جدول سره ښودل شوې ده:

۶

په ټولیزه توګه، د کنټرول شپږ ډوله بایټونه شتون لري. لومړي درې د EZSP ډیټا سره د عام چوکاټونو لپاره کارول کیږي، پشمول د DATA، ACK او NAK. وروستي درې د عام EZSP ډیټا پرته کارول کیږي، پشمول د RST، RSTACK او ERROR.

د RST، RSTACK او ERROR بڼه په 3.1 څخه تر 3.3 برخه کې تشریح شوې ده.

۲.۴. د CRC محاسبه وکړئ

د ۱۶-بټ CRC د کنټرول بایټ څخه د معلوماتو تر پایه پورې په بایټس محاسبه کیږي. معیاري CRCCCITT (g(x) = x16 + x12 + x5 + 1) 0xFFFF ته پیل شوی. ترټولو مهم بایټ د لږترلږه مهم بایټ (لوی-اینډین حالت) څخه مخکې دی.

۲.۵. د بایټ ډکول

لکه څنګه چې د UG101 په 4.2 برخه کې تشریح شوي، د ځانګړي هدف لپاره ځینې خوندي شوي بایټ ارزښتونه کارول کیږي. دا ارزښتونه په لاندې جدول کې موندل کیدی شي:

۷

کله چې دا ارزښتونه په چوکاټ کې څرګند شي، نو د معلوماتو سره به یو ځانګړی چلند وشي. – د خوندي شوي بایټ مخې ته د escape بایټ 0x7D دننه کړئ – د دې خوندي شوي بایټ بټ 5 برعکس کړئ

لاندې د دې الګوریتم ځینې مثالونه دي:

۸

۲.۶. د پای بیرغ اضافه کړئ

وروستۍ مرحله دا ده چې د چوکاټ په پای کې د پای بیرغ 0x7E اضافه کړئ. له هغې وروسته، معلومات د UART پورټ ته لیږل کیدی شي.

۳. د چوکاټ له منځه وړلو پروسه

کله چې معلومات د UART څخه ترلاسه شي، موږ باید د هغې د ډیکوډ کولو لپاره برعکس ګامونه ترسره کړو.

۴. حوالې


د پوسټ وخت: فبروري-۰۸-۲۰۲۲
د WhatsApp آنلاین چیٹ!