Zigbee EZSP UART barada

Awtor: TorchIoTBootCamp
Salgy : https: //zhuanlan.zhihu.com/p/339700391
Quoradan

1. Giriş

“Silicon Labs” kompaniýasy “Zigbee” şlýuzynyň dizaýny üçin host+NCP çözgüdini hödürledi. Bu arhitekturada host NCP bilen UART ýa-da SPI interfeýsi arkaly aragatnaşyk saklap bilýär. Köplenç UART ulanylýar, sebäbi ol SPI-den has ýönekeý.

“Silicon Labs” şeýle hem esasy programma üçin nusga taslama hödürledi, ol nusgadyrZ3GatewayHostNusga Unix ýaly ulgamda işleýär. Käbir müşderiler RTOS-da işläp bilýän host nusgasyny isleýän bolmagy mümkin, ýöne gynansak-da, häzirki wagtda RTOS esasyndaky host nusgasy ýok. Ulanyjylar RTOS esasynda öz host programmalaryny işläp düzmeli.

Özleşdirilen host programmasyny işläp düzmezden ozal UART şlüz protokolyny düşünmek möhümdir. UART esasyndaky NCP we SPI esasyndaky NCP üçin host NCP bilen aragatnaşyk saklamak üçin EZSP protokolyny ulanýar.EZSPgysgaldylanEmberZnet Seriýa Protokoly, we ol bilen kesgitlenýärUG100UART esasyndaky NCP üçin, EZSP maglumatlaryny UART arkaly ygtybarly geçirmek üçin aşaky gatlak protokoly ornaşdyrylýar, bu bolsaKÜLprotokol, gysgaldylanAsinhron Seriýa HostASH barada has giňişleýin maglumat üçin şu ýere serediň.UG101weUG115.

EZSP bilen ASH-yň arasyndaky gatnaşygy aşakdaky diagramma arkaly görkezmek bolar:

1

EZSP we ASH protokolynyň maglumat formatyny aşakdaky diagramma arkaly görkezmek bolar:

2

Bu sahypada biz UART maglumatlaryny çarçuwalamak prosesini we Zigbee şlýuzynda ýygy-ýygydan ulanylýan käbir esasy çarçuwalary tanyşdyrarys.

2. Çarçuwa gurmak

Umumy çarçuwa prosesini aşakdaky diagramma arkaly görkezmek bolar:

3

Bu diagrammada maglumatlar EZSP çarçuwasyny aňladýar. Umuman, çarçuwa prosesleri: |No|Ädim|Salgylanma|

|:-|:-|:-|

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

|2|Maglumatlary randomlaşdyrmak|UG101-iň 4.3-nji bölümi|

|3|UG101-iň 2-nji we 3-nji baplaryny | Dolandyryş baýtyny goşuň

|4|UG101-iň 2.3-nji bölümini hasaplaň|

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

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

2.1. EZSP çarçuwasyny dolduryň

EZSP çarçuwasynyň formaty UG100-iň 3-nji babynda görkezilen.

4

SDK täzelenende bu formatyň üýtgemeginiň mümkindigine üns beriň. Format üýtgedende, biz oňa täze wersiýa belgisini bereris. Bu makala ýazylanda iň soňky EZSP wersiýa belgisi 8 boldy (EmberZnet 6.8).

EZSP kadr formaty dürli wersiýalarda tapawutlanyp bilýändigi üçin, host we NCP-niň hökmany talaby barGEREKşol bir EZSP wersiýasy bilen işleýär. Bolmasa, olar garaşylyşy ýaly aragatnaşyk saklap bilmezler.

Muny amala aşyrmak üçin, host bilen NCP arasyndaky ilkinji buýruk wersiýa buýrugy bolmaly. Başgaça aýdylanda, host başga bir aragatnaşykdan öň NCP-niň EZSP wersiýasyny gaýtadan synap görmeli. Eger EZSP wersiýasy host tarapynyň EZSP wersiýasyndan tapawutlanýan bolsa, aragatnaşyk bes edilmelidir.

Munuň arkasyndaky gizlin talap, wersiýa buýrugynyň formatynyň bolmagydyrHIÇ HAÇAN ÜÝTGEMEEZSP wersiýasynyň komanda formaty aşakdaky ýaly:

5

Parametr meýdanynyň we wersiýa jogabynyň formatynyň düşündirişlerini UG100-iň 4-nji babynda tapyp bilersiňiz. Parametr meýdany host programmasynyň EZSP wersiýasydyr. Bu makala ýazylanda, ol 8-dir.
7
作者: TorchIoTBootCamp
链接: https: //zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.2. Maglumatlary tesadüfi görnüşde saýlamak

Jikme-jik randomizasiýa prosesi UG101-iň 4.3-nji bölüminde beýan edilýär. EZSP çarçuwasynyň hemmesi randomizasiýa ediler. Radomizasiýa EZSP çarçuwasyny we ýalan-tötänleýin yzygiderligi aýyrmak üçin ýa-da aýyrmak üçin amala aşyrylýar.

Aşakda psewdo-tötänleýin yzygiderliligi döretmegiň algoritmi görkezilen.

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

2.3. Dolandyryş baýtyny goşuň

Dolandyryş baýty bir baýtlyk maglumatdyr we kadryň kellesine goşulmaly. Format aşakdaky tablisada görkezilen:

6

Jemi 6 görnüşli gözegçilik baýty bar. Ilkinji üçüsi DATA, ACK we NAK ýaly EZSP maglumatlary bolan umumy kadrlar üçin ulanylýar. Soňky üçüsi bolsa RST, RSTACK we ERROR ýaly umumy EZSP maglumatlary bolmazdan ulanylýar.

RST, RSTACK we ERROR formaty 3.1-den 3.3-e çenli bölümlerde beýan edilýär.

2.4. CRC-ni hasaplaň

16-bitlik CRC, gözegçilik baýtyndan maglumatlaryň ahyryna çenli baýtlara hasaplanýar. Standart CRCCCITT (g(x) = x16 + x12 + x5 + 1) 0xFFFF hökmünde başlangyçlaşdyrylýar. Iň möhüm baýt iň kiçi baýtdan öň gelýär (uly-endian režimi).

2.5. Baýt doldurmak

UG101-iň 4.2-nji bölüminde beýan edilişi ýaly, ýörite maksatlar üçin ulanylýan käbir goraglanan baýt gymmatlyklary bar. Bu gymmatlyklary aşakdaky tablisada tapyp bolýar:

7

Bu gymmatlyklar kadrda peýda bolanda, maglumatlara ýörite işleme berler. – 0x7D escape baýtyny goraglanan baýtyň öňüne goýuň – Şol goraglanan baýtyň 5-nji bitini tersine öwüriň

Bu algoritmiň käbir mysallary aşakda görkezilen:

8

2.6. Soňy baýdagyny goşuň

Soňky ädim, kadryň ahyryna 0x7E gutaryş baýdagyny goşmakdyr. Şondan soň, maglumatlar UART portuna iberilip bilner.

3. Çerçeweni aýyrmak prosesi

UART-dan maglumatlar alnanda, ony dekodlamak üçin diňe ters ädimleri ýerine ýetirmelidiris.

4. Salgylanmalar


Ýerleşdirilen wagty: 2022-nji ýylyň 8-nji fewraly
WhatsApp-da onlaýn söhbetdeşlik!