Mayelana ne-Zigbee EZSP UART

Umbhali:TorchIoTBootCamp
Isixhumanisi: https://zhuanlan.zhihu.com/p/339700391
Kusuka ku-:Quora

1. Isingeniso

I-Silicon Labs inikeze isisombululo se-host+NCP se-Zigbee gateway design.Kulesi sakhiwo, umsingathi angakwazi ukuxhumana ne-NCP ngesixhumi esibonakalayo se-UART noma se-SPI.Ngokuvamile, i-UART isetshenziswa njengoba ilula kakhulu kune-SPI.

I-Silicon Labs nayo inikeze iphrojekthi eyisampula yohlelo lomsingathi, okuyisampulaI-Z3GatewayHost.Isampula isebenza kusistimu efana ne-Unix.Amanye amakhasimende angase afune isampula somsingathi esingasebenza ku-RTOS, kodwa ngeshwa, alikho isampula lokusingatha elisuselwe ku-RTOS okwamanje.Abasebenzisi badinga ukuthuthukisa uhlelo lwabo lokusingatha olususelwe ku-RTOS.

Kubalulekile ukuqonda iphrothokholi yesango le-UART ngaphambi kokwenza uhlelo lokusingatha ngendlela oyifisayo.Kuzo zombili i-NCP esekelwe ku-UART kanye ne-SPI esekelwe ku-NCP, umsingathi usebenzisa umthetho olandelwayo we-EZSP ukuze axhumane ne-NCP.EZSPkufushaneI-EmberZnet Serial Protocol, futhi ichazwa kuUG100.Ku-NCP esekwe ku-UART, kusetshenziswa umthetho olandelwayo wesendlalelo esiphansi ukuze uphathe idatha ye-EZSP ngokuthembekile nge-UART, lokhoUMLOSHIiphrothokholi, emfushane yokuthiI-Asynchronous Serial Host.Ukuze uthole imininingwane eyengeziwe nge-ASH, sicela ubhekeUG101futhiUG115.

Ubudlelwano phakathi kwe-EZSP ne-ASH bungaboniswa yilo mdwebo olandelayo:

1

Ifomethi yedatha ye-EZSP kanye nephrothokholi ye-ASH ingaboniswa yilo mdwebo olandelayo:

2

Kuleli khasi, sizokwethula inqubo yokwenza uzimele idatha ye-UART kanye namanye amafreyimu angukhiye asetshenziswa njalo kusango le-Zigbee.

2. Ukwenza uhlaka

Inqubo yokufaka uzimele evamile ingaboniswa ngeshadi elilandelayo:

3

Kuleli shadi, idatha isho uhlaka lwe-EZSP.Ngokuvamile, izinqubo zohlaka yilezi: |Cha|Isinyathelo|Inkomba|

|:-|:-|:-|

|1|Gcwalisa Uhlaka lwe-EZSP|UG100|

|2|Data Randomization|Isigaba 4.3 se-UG101|

|3|Engeza i-Control Byte|Chap2 kanye ne-Chap3 ye-UG101|

|4|Bala i-CRC|Isigaba 2.3 se-UG101|

|5|Byte Stuffing|Isigaba 4.2 se-UG101|

|6|Engeza Ifulegi Lokugcina|Isigaba 2.4 se-UG101|

2.1.Gcwalisa Uhlaka lwe-EZSP

Ifomethi yohlaka lwe-EZSP ikhonjisiwe ku-Chap 3 of UG100.

4

Qaphela ukuthi le fomethi ingase ishintshe lapho i-SDK ithuthuka.Uma ifomethi ishintsha, sizoyinikeza inombolo yenguqulo entsha.Inombolo yakamuva yenguqulo ye-EZSP ithi 8 lapho kubhalwa lesi sihloko (EmberZnet 6.8).

Njengoba ifomethi yohlaka lwe-EZSP ingase yehluke phakathi kwezinguqulo ezihlukene, kunemfuneko eyisibopho yokuthi umsingathi kanye ne-NCPKUMELEsebenza ngenguqulo ye-EZSP efanayo.Uma kungenjalo, abakwazi ukuxhumana ngendlela elindelekile.

Ukufeza lokho, umyalo wokuqala phakathi komsingathi ne-NCP kufanele kube umyalo wenguqulo.Ngamanye amazwi, umsingathi kufanele abuyise inguqulo ye-EZSP ye-NCP ngaphambi kwanoma yikuphi okunye ukuxhumana.Uma inguqulo ye-EZSP ihlukile nenguqulo ye-EZSP yohlangothi lomsingathi, ukuxhumana kufanele kunqanyulwe.

Imfuneko engacacile ngemuva kwalokhu ukuthi ifomethi yomyalelo wenguqulo canUNGAZE USHINTSHE.Ifomethi yomyalo wenguqulo ye-EZSP ifana ngezansi:

5

Izincazelo zenkambu yepharamitha kanye nefomethi yempendulo yenguqulo ingatholakala ku-Chap 4 of UG100.Inkambu yepharamitha iyinguqulo ye-EZSP yohlelo lomsingathi.Uma lesi sihloko sibhalwa, si-8.
7
Ingoma yomsindo:TorchIoTBootCamp
Umthombo: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处.

2.2.Ukwenziwa Kwedatha

Inqubo enemininingwane yokwenza okungahleliwe ichazwe esigabeni 4.3 se-UG101.Lonke uhlaka lwe-EZSP luzokwenziwa ngokungahleliwe.I-randomization iwuhlaka-NOMA uzimele we-EZSP kanye nokulandelana okungahleliwe okungahleliwe.

Ngezansi i-algorithm yokukhiqiza ukulandelana okungahleliwe okungahleliwe.

  • irandi0 = 0×42
  • uma ibhithi elingu-0 likarandi lingu-0, randi+1 = randi >> 1
  • uma ibhithi elingu-0 lika-randi lingu-1, i-randi+1 = (randi >> 1) ^ 0xB8

2.3.Engeza i-Control Byte

Ibhayithi yokulawula iyidatha yebhayithi eyodwa, futhi kufanele yengezwe ekhanda lohlaka.Ifomethi ikhonjiswe ngethebula elingezansi:

6

Sekukonke, kunezinhlobo eziyisi-6 zamabhayithi okulawula.Amathathu okuqala asetshenziselwa ozimele abavamile abanedatha ye-EZSP, ehlanganisa i-DATA, ACK ne-NAK.Ezintathu zokugcina zisetshenziswa ngaphandle kwedatha evamile ye-EZSP, ehlanganisa i-RST, i-RSTACK ne-ERROR.

Ifomethi ye-RST, RSTACK ne-ERROR ichazwe esigabeni 3.1 ukuya ku-3.3.

2.4.Bala i-CRC

I-CRC engu-16-bit ibalwa ngamabhayithi kusukela kubhayithi yokulawula kuze kube sekupheleni kwedatha.I-CRCCCITT evamile (g(x) = x16 + x12 + x5 + 1) iqaliswa ukuze ithi 0xFFFF.Ibhayithi ebaluleke kakhulu yandulela ibhayithi ebaluleke kakhulu (imodi ye-indian enkulu).

2.5.I-Byte Stuffing

Njengoba kuchazwe esigabeni 4.2 se-UG101, kukhona amanani ebhayithi agciniwe asetshenziselwa izinjongo ezikhethekile.Lawa manani angatholakala kuthebula elilandelayo:

7

Uma la manani evela kuhlaka, ukuphathwa okukhethekile kuzokwenziwa kudatha.- Faka ibhayithi yokuphunyuka engu-0x7D ngaphambi kwebhayithi ebekiwe - Buyisela emuva i-bit5 yaleyo byte egodliwe

Ngezansi ezinye izibonelo zale algorithm:

8

2.6.Engeza Ifulegi Lokugcina

Isinyathelo sokugcina siwukwengeza ifulegi lokugcina elithi 0x7E ekupheleni kohlaka.Ngemva kwalokho, idatha ingathunyelwa echwebeni le-UART.

3. Inqubo yokususa uzimele

Uma idatha itholwa ku-UART, sidinga nje ukwenza izinyathelo ezihlehlayo ukuze siyiqophe.

4. Izikhombo


Isikhathi sokuthumela: Feb-08-2022
Ingxoxo ye-WhatsApp Online!