Zigbee EZSP UART hakda

Awtory : TorchIoTBootCamp
Salgy : https: //zhuanlan.zhihu.com/p/339700391
Ora Kworadan

1. Tanyşdyryş

Silicon Labs, Zigbee şlýuz dizaýny üçin ýer eýesi + NCP çözgüdini hödürledi.Bu arhitekturada, öý eýesi NCP bilen UART ýa-da SPI interfeýsi arkaly habarlaşyp biler.Köplenç UART SPI-den has ýönekeý bolany üçin ulanylýar.

Silikon laboratoriýasy, şeýle hem, alyp barýan programma üçin nusga taslamasy bilen üpjün etdiZ3GatewayHost.Nusga Unix ýaly ulgamda işleýär.Käbir müşderiler RTOS-da işledip boljak host nusgasyny isläp bilerler, ýöne gynansak-da, häzirlikçe RTOS esasly host nusgasy ýok.Ulanyjylar RTOS esasynda öz host programmasyny ösdürmeli.

Hususy host programmasyny düzmezden ozal UART şlýuz protokolyna düşünmek möhümdir.UART esasly NCP we SPI esasly NCP üçin öý eýesi, NCP bilen aragatnaşyk saklamak üçin EZSP protokolyny ulanýar.EZSPüçin gysgaEmberZnet seriýa teswirnamasybilen kesgitlenýärUG100.UART esasly NCP üçin, EZSP maglumatlaryny UART-dan ygtybarly geçirmek üçin aşaky gatlak protokoly ýerine ýetirilýär, ineASHteswirnama, gysgaAsynkron seriýa eýesi.ASH hakda has giňişleýin maglumat üçin serediňUG101weUG115.

EZSP bilen ASH arasyndaky gatnaşygy aşakdaky diagramma bilen görkezip bolar:

1

EZSP we ASH protokolynyň maglumat formatyny aşakdaky diagramma bilen görkezip bolar:

2

Bu sahypada, UART maglumatlaryny we Zigbee şlýuzasynda ýygy-ýygydan ulanylýan käbir möhüm ramkalary düzmek prosesi bilen tanyşdyrarys.

2. Çarçuwaly

Umumy çarçuwany aşakdaky diagramma bilen görkezip bolar:

3

Bu diagrammada maglumatlar EZSP çarçuwasyny aňladýar.Umuman aýdanyňda, çarçuwalaýyn amallar: | | ok | Stepdim | Salgylanma |

|: - |: - |: - |

| 1 | EZSP çarçuwasyny dolduryň | UG100 |

| 2 | Maglumatlaryň tertipleşdirilmegi | UG101-iň 4.3 bölümi |

| 3 | Dolandyryş baýtyny goşuň | UG101-iň 2-nji bölümi we 3-nji bölümi |

| 4 | CRC-ni hasaplaň | UG101-iň 2.3 bölümi |

| 5 | Baýt doldurmak | UG101-iň 4.2 bölümi |

| 6 | Ahyrky baýdagy goşuň | UG101-iň 2.4 bölümi |

2.1.EZSP çarçuwasyny dolduryň

EZSP çarçuwanyň formaty UG100-iň 3-nji bölüminde görkezilýär.

4

SDK täzelenende bu formatyň üýtgäp biljekdigine üns beriň.Format üýtgese, oňa täze wersiýa belgisini bereris.Bu makala ýazylanda iň soňky EZSP wersiýa belgisi 8-dir (EmberZnet 6.8).

EZSP çarçuwasynyň formaty dürli wersiýalaryň arasynda dürli bolup biljekdigi sebäpli, öý eýesi bilen NCP-iň hökmany talaby barMUGTşol bir EZSP wersiýasy bilen işlemek.Otherwiseogsam, garaşylşy ýaly gürleşip bilmeýärler.

Muňa ýetmek üçin öý eýesi bilen NCP-iň arasyndaky ilkinji buýruk wersiýa buýrugy bolmaly.Başgaça aýdylanda, öý eýesi başga aragatnaşykdan öň NCP-iň EZSP wersiýasyny almaly.EZSP wersiýasy kabul ediji tarapyň EZSP wersiýasy bilen tapawutly bolsa, aragatnaşyk ýatyrylmaly.

Munuň aňyrsynda aç-açan talap, wersiýa buýrugynyň formatynyň bolmagydyrHiç haçan üýtgetme.EZSP wersiýa buýruk formaty aşakdaky ýaly:

5

Parametr meýdançasynyň düşündirişlerini we wersiýa jogap görnüşini UG100-iň 4-nji bölüminde tapyp bilersiňiz.Parametr meýdany, baş programmanyň EZSP wersiýasydyr.Bu makala ýazylanda 8 bolýar.
7
作者 : TorchIoTBootCamp
链接 : https: //zhuanlan.zhihu.com/p/339700391
来源 : 知 乎
著作权 归 作者。。。。。。。。

2.2.Maglumatlaryň tertipleşdirilmegi

Jikme-jik randomizasiýa prosesi UG101-iň 4.3 bölüminde beýan edilýär.Ehli EZSP çarçuwasy tötänleýin bolar.Tötänleýin aýratynlyk ýa-da EZSP çarçuwasy we pseudo-tötänleýin yzygiderlilik.

Aşakda pseudo-tötänleýin yzygiderliligi döretmegiň algoritmi bar.

  • rand0 = 0 × 42
  • randi bit 0 bolsa, randi + 1 = randi >> 1 bolsa
  • randiniň 0 biti 1 bolsa, randi + 1 = (randi >> 1) ^ 0xB8

2.3.Dolandyryş baýtyny goşuň

Dolandyryş baýt bir baýt maglumatlary bolup, çarçuwanyň başyna goşulmalydyr.Format aşakdaky tablisada görkezilýär:

6

Umuman alanyňda, gözegçilik baýtlarynyň 6 görnüşi bar.Ilkinji üçüsi DATA, ACK we NAK ýaly EZSP maglumatlary bolan umumy ramkalar üçin ulanylýar.Soňky üçüsi, RST, RSTACK we RAL .YŞLYK ýaly umumy EZSP maglumatlary bolmazdan ulanylýar.

RST, RSTACK we RAL .YŞLYK formaty 3.1-33 bölümlerde beýan edilýär.

2.4.CRC hasaplaň

16 bitli CRC dolandyryş baýtyndan maglumatlaryň ahyryna çenli baýtlarda hasaplanýar.Adaty CRCCCITT (g (x) = x16 + x12 + x5 + 1) 0xFFFF bilen başlaýar.Iň ähmiýetli baýt iň az ähmiýetli baýtdan (uly endian re modeimi) öňde durýar.

2.5.Baýt

UG101-iň 4.2-nji bölüminde görkezilişi ýaly, ýörite maksat üçin ulanylýan käbir ätiýaçlandyrylan baýt bahalary bar.Bu gymmatlyklary aşakdaky tablisada tapyp bilersiňiz:

7

Bu bahalar çarçuwada peýda bolanda, maglumatlara aýratyn bejergi berler.- Gaçyş baýtuny 0x7D ätiýaçlyk baýtyň öňünde goýuň - Şol ätiýaçlandyrylan baýtyň bitini tersine ediň!

Aşakda bu algoritmiň käbir mysallary bar:

8

2.6.Ahyrky baýdagy goşuň

Iň soňky ädim, ahyrky baýdagy 0x7E çarçuwanyň ujuna goşmakdyr.Ondan soň maglumatlar UART portuna iberilip bilner.

3. Çarçuwaly amal

UART-dan maglumatlar alnanda, ony çözmek üçin ters ädimleri etmeli.

4. Salgylar


Iş wagty: Fewral-08-2022
WhatsApp onlaýn söhbetdeşlik!