د Zigbee EZSP UART په اړه

لیکوال: TorchIoTBootCamp
لینک: https://zhuanlan.zhihu.com/p/339700391
له خوا: Quora

۱. پېژندنه

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

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

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

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

1

د EZSP او ASH پروتوکول ډیټا فارمیټ د لاندې ډیاګرام لخوا توضیح کیدی شي:

2

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

2. چوکاټ کول

د عمومي چوکاټ کولو پروسه په لاندې چارټ کې تشریح کیدی شي:

3

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

|:-|:-|:-|

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

|2|د معلوماتو بې ترتیب کول|د UG101 برخه 4.3|

|3

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

|5|بایټ ډکول|د UG101 برخه 4.2|

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

2.1.د EZSP چوکاټ ډک کړئ

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

4

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

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

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

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

5

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

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

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

لاندې د سیډو - تصادفي ترتیب رامینځته کولو الګوریتم دی.

  • rand0 = 0×42
  • که د رانډي 0 بټ 0 وي، رانډي+1 = رانډي >> 1
  • که د رانډي بټ 0 1 وي، رانډي + 1 = (رانډي >> 1) ^ 0xB8

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

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

6

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

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

2.4.CRC محاسبه کړئ

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

2.5.د بایټ ډکول

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

7

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

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

۸

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

وروستی ګام د چوکاټ پای ته د پای بیرغ 0x7E اضافه کول دي.له هغې وروسته، ډاټا د UART بندر ته لیږل کیدی شي.

3. د چوکاټ کولو پروسه

کله چې ډاټا د UART څخه ترلاسه کیږي، موږ یوازې د دې د کوډ کولو لپاره د بیرته راستنیدو مرحلې ته اړتیا لرو.

4. حوالې


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