Um Zigbee EZSP Uart

Höfundur : TorchiotbootCamp
Hlekkur : https: //zhuanlan.zhihu.com/p/339700391
Frá : Quora

1. kynning

Silicon Labs hefur boðið gestgjafa+NCP lausn fyrir Zigbee Gateway hönnun. Í þessum arkitektúr getur gestgjafinn samskipti við NCP í gegnum UART eða SPI tengi. Oftast er UART notað þar sem það er miklu einfaldara en SPI.

Silicon Labs hefur einnig lagt fram sýnishorn af hýsingarforritinu, sem er sýnishorniðZ3gatewayhost. Sýnið keyrir á UNIX-líku kerfi. Sumir viðskiptavinir kunna að vilja hafa hýsingarsýni sem getur keyrt á RTO, en því miður er ekkert RTOS byggt hýsingarsýni um þessar mundir. Notendur þurfa að þróa sitt eigið hýsingarforrit út frá RTO.

Það er mikilvægt að skilja UART Gateway samskiptareglur áður en þú þróar sérsniðið hýsingarforrit. Fyrir bæði UART byggða NCP og SPI byggða NCP notar gestgjafinn EZSP -samskiptareglur til að eiga samskipti við NCP.EZSPer stutt íEmberznet raðferli, og það er skilgreint íUG100. Fyrir UART byggða NCP er samskiptareglur neðra laga útfært til að bera EZSP gögn áreiðanlega yfir UART, það erAshBókun, stytt fyrirÓsamstilltur raðgestgjafi. Nánari upplýsingar um ösku, vinsamlegast vísaðu tilUG101OgUG115.

Hægt er að sýna sambandið milli EZSP og Ash með eftirfarandi skýringarmynd:

1

Hægt er að sýna gagnasnið EZSP og ASH -samskiptareglna með eftirfarandi skýringarmynd:

2

Á þessari síðu munum við kynna ferlið við að ramma UART gögnin og nokkra lykilramma sem oft eru notaðir í Zigbee Gateway.

2. rammi

Hægt er að sýna almenna rammaferlið með eftirfarandi töflu:

3

Í þessu töflu þýðir gögnin EZSP ramma. Almennt eru rammaferlarnir: | Nei | Skref | Tilvísun |

|:-|:-|:-|

| 1 | Fylltu EZSP ramma | UG100 |

| 2 | Slembival af gögnum | Kafli 4.3 í UG101 |

| 3 | Bættu við stjórnbæti | CHAP2 og CHAP3 af UG101 |

| 4 | Reiknið CRC | Kafli 2.3 í UG101 |

| 5 | bæti fylling | Kafli 4.2 í UG101 |

| 6 | Bættu við lokafánanum | Kafli 2.4 í UG101 |

2.1. Fylltu EZSP ramma

EZSP ramma sniðið er sýnt í 3. kafla UG100.

4

Fylgstu með því að þetta snið gæti breyst þegar SDK uppfærir. Þegar sniðið breytist munum við gefa því nýtt útgáfunúmer. Nýjasta EZSP útgáfunúmerið er 8 þegar þessi grein er skrifuð (Emberznet 6.8).

Þar sem EZSP ramma sniðið getur verið mismunandi á milli mismunandi útgáfna er lögboðin krafa um að gestgjafinn og NCPVerðurVinna með sömu EZSP útgáfu. Annars geta þeir ekki átt samskipti eins og væntanlega.

Til að ná því verður fyrsta skipunin milli gestgjafans og NCP að vera útgáfustjórn. Með öðrum orðum, gestgjafinn verður að afturkalla EZSP útgáfu af NCP fyrir önnur samskipti. Ef EZSP útgáfan er önnur með EZSP útgáfuna af hýsingarhliðinni verður að hætta við samskiptin.

Óbein krafa að baki þessu er að snið útgáfustjórnunarinnar geturAldrei breyta. Skipanasnið EZSP útgáfunnar er eins og hér að neðan:

5

Skýringar á færibreytureitnum og sniði við svörun útgáfunnar er að finna í 4. kafla UG100. Færibreytureiturinn er EZSP útgáfan af hýsingarforritinu. Þegar þessi grein er skrifuð er hún 8.
7
作者 : TorchiotbootCamp
链接 : https: //zhuanlan.zhihu.com/p/339700391
来源 : 知乎
著作权归作者所有。商业转载请联系作者获得授权 , 非商业转载请注明出处。

2.2. Slembival gagna

Ítarlegu slembivalferlinu er lýst í kafla 4.3 í UG101. Allur EZSP ramminn verður slembiraðað. Slembivalið er að einkarétt-eða EZSP ramma og gervi handahófsröð.

Hér að neðan er reikniritið við að búa til gervi handahófsröðina.

  • rand0 = 0 × 42
  • Ef bit 0 af randi er 0, randi+1 = randi >> 1
  • Ef bit 0 af Randi er 1, randi+1 = (randi >> 1) ^ 0xb8

2.3. Bættu við stjórnbæti

Stjórnarbæti er einn bæti gagna og ætti að bæta við höfuðgrindina. Sniðið er myndskreytt með töflunni hér að neðan:

6

Alveg, það eru 6 tegundir stjórnunarbæti. Fyrstu þrír eru notaðir í algengum ramma með EZSP gögnum, þar á meðal gögn, ACK og NAK. Síðustu þrír eru notaðir án algengra EZSP gagna, þar á meðal RST, rstack og villa.

Sniðinu á RST, rstack og villu er lýst í kafla 3.1 til 3.3.

2.4. Reiknið CRC

16 bita CRC er reiknað út á bæti frá stjórnbætinu til loka gagnanna. Hefðbundin CrCCCitt (g (x) = x16 + x12 + x5 + 1) er frumstillt í 0xffff. Mikilvægasta bæti er á undan minnsta marktæku bæti (stór-endískur háttur).

2.5. Bæti fylling

Eins og lýst er í kafla 4.2 í UG101 eru nokkur áskilin bæti gildi notuð í sérstökum tilgangi. Þessi gildi er að finna í eftirfarandi töflu:

7

Þegar þessi gildi birtast í grindinni verður sérstök meðferð gerð við gögnin. - Settu Escape Byte 0x7D fyrir framan frátekna bæti - snúðu BIT5 af þeim fráteknu bæti

Hér að neðan eru nokkur dæmi um þennan reiknirit:

8

2.6. Bættu við lokafánanum

Lokaskrefið er að bæta við endanum 0x7e við enda grindarinnar. Eftir það er hægt að senda gögnin til UART höfn.

3

Þegar gögn berast frá UART verðum við bara að gera öfug skref til að afkóða þau.

4.. Tilvísanir


Post Time: Feb-08-2022
WhatsApp netspjall!