Awtory : TorchIoTBootCamp
Salgy : https: //zhuanlan.zhihu.com/p/339700391
Ora Kworadan
1. Giriş
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, buASHteswirnama, 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:
EZSP we ASH protokolynyň maglumat formatyny aşakdaky diagramma bilen görkezip bolar:
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
Çarçuwaly umumy amallary aşakdaky diagramma bilen görkezip bolar:
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.
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:
链接: 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:
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 bölüminde beýan edilişi ýaly, ýörite maksat üçin ulanylýan käbir ätiýaçlandyrylan baýt bahalary bar. Bu gymmatlyklary aşakdaky tablisada tapyp bilersiňiz:
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:
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