Mayelana ne-Zigbee EZSP UART

Umbhali: I-TorchIoTBotCamp
Isixhumanisi: https://zhuanlan.zhihu.com/p/339700391
Kusukela ku: Quora

1. Isingeniso

I-Silicon Labs inikeze isixazululo se-host+NCP sokuklama isango le-Zigbee. Kulolu hlobo lokwakha, i-host ingaxhumana ne-NCP nge-UART noma i-interface ye-SPI. Ngokuvamile, i-UART isetshenziswa njengoba ilula kakhulu kune-SPI.

I-Silicon Labs iphinde yahlinzeka ngephrojekthi yesampula yohlelo lokusingatha, okuyisampulaI-Z3GatewayHost. Isampula isebenza ohlelweni olufana ne-Unix. Amanye amakhasimende angase afune isampula ye-host engasebenza ku-RTOS, kodwa ngeshwa, ayikho isampula ye-host esekelwe ku-RTOS okwamanje. Abasebenzisi kudingeka bathuthukise uhlelo lwabo lwe-host olusekelwe ku-RTOS.

Kubalulekile ukuqonda iphrothokholi yesango le-UART ngaphambi kokuthuthukisa uhlelo lwe-host oluhlelwe ngokwezifiso. Kuzo zombili i-NCP esekelwe ku-UART kanye ne-NCP esekelwe ku-SPI, i-host isebenzisa iphrothokholi ye-EZSP ukuxhumana ne-NCP.I-EZSPkufushane ngo-Iphrothokholi Yochungechunge lwe-EmberZnet, futhi ichazwa ku-UG100. Kwi-NCP esekelwe ku-UART, kusetshenziswa iphrothokholi yezendlalelo ezingezansi ukuthwala idatha ye-EZSP ngokuthembekile ngaphezu kwe-UART, yilokhoUMLOTHAiphrothokholi, okufushane ngokuthiI-Host ye-Serial EngavumelanisiweUkuze uthole imininingwane eyengeziwe mayelana ne-ASH, sicela ubheke ku-UG101futhiUG115.

Ubudlelwano phakathi kwe-EZSP ne-ASH bungaboniswa ngomdwebo olandelayo:

1

Ifomethi yedatha ye-EZSP kanye nephrothokholi ye-ASH ingaboniswa ngomdwebo olandelayo:

2

Kuleli khasi, sizokwethula inqubo yokuhlela idatha ye-UART kanye nezinye izinhlaka eziyinhloko ezivame ukusetshenziswa ku-Zigbee gateway.

2. Ukwakha uhlaka

Inqubo ejwayelekile yokwenza uhlaka ingaboniswa yishadi elilandelayo:

3

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

|:-|:-|:-|:-|

|1|Gcwalisa Uhlaka lwe-EZSP|UG100|

|2|Ukuhlelwa Kwedatha Okungahleliwe|Isigaba 4.3 se-UG101|

|3|Engeza i-Control Byte|Isahluko 2 kanye nesahluko 3 se-UG101|

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

|5|Ukugcwalisa Ngebhayithi|Isigaba 4.2 se-UG101|

|6|Faka ifulegi lokugcina|Isigaba 2.4 se-UG101|

2.1. Gcwalisa Uhlaka lwe-EZSP

Ifomethi yohlaka lwe-EZSP iboniswe kuSahluko 3 se-UG100.

4

Qaphela ukuthi le fomethi ingashintsha uma i-SDK ithuthukiswa. Uma ifomethi ishintsha, sizoyinika inombolo entsha yenguqulo. Inombolo yakamuva yenguqulo ye-EZSP ingu-8 lapho lesi sihloko sibhalwa (EmberZnet 6.8).

Njengoba ifomethi yohlaka lwe-EZSP ingase ihluke phakathi kwezinguqulo ezahlukene, kunesidingo esiyimpoqo sokuthi i-host kanye ne-NCPKUMELEbasebenze ngenguqulo efanayo ye-EZSP. Ngaphandle kwalokho, abakwazi ukuxhumana ngendlela obekulindelekile.

Ukuze kufezwe lokho, umyalo wokuqala phakathi kwe-host kanye ne-NCP kumele kube umyalo wenguqulo. Ngamanye amazwi, i-host kumele ithole inguqulo ye-EZSP ye-NCP ngaphambi kwanoma yikuphi okunye ukuxhumana. Uma inguqulo ye-EZSP ihlukile nenguqulo ye-EZSP yohlangothi lwe-host, ukuxhumana kumele kukhanselwe.

Imfuneko engacacile ngemuva kwalokhu ukuthi ifomethi yomyalo wenguqulo ingakwaziUNGALOKOTHI USHINTSHEIfomethi yomyalo wenguqulo ye-EZSP ifana nalokhu okulandelayo:

5

Izincazelo zensimu yepharamitha kanye nefomethi yempendulo yenguqulo zingatholakala kuSahluko 4 se-UG100. Insimu yepharamitha inguqulo ye-EZSP yohlelo lomsingathi. Uma lesi sihloko sibhaliwe, singu-8.
7
Ingoma yomsindo:TorchIoTBootCamp
Umthombo: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处.

2.2. Ukungahleliwe Kwedatha

Inqubo eningiliziwe yokwenza ngokungahleliwe ichazwe esigabeni 4.3 se-UG101. Lonke uhlaka lwe-EZSP luzokwenziwa ngokungahleliwe. Ukwenza ngokungahleliwe kungokukhethekile-NOMA uhlaka lwe-EZSP kanye nochungechunge olungahleliwe.

Ngezansi kune-algorithm yokukhiqiza ukulandelana okungahleliwe okungahleliwe.

  • irandi0 = 0×42
  • uma i-bit 0 ye-randi ingu-0, i-randi+1 = i-randi >> 1
  • uma i-bit 0 ye-randi ingu-1, i-randi+1 = (randi >> 1) ^ 0xB8

2.3. Engeza i-Control Byte

I-control byte iyidatha ye-byte eyodwa, futhi kufanele ifakwe ekhanda lohlaka. Ifomethi iboniswe ngethebula elingezansi:

6

Sekukonke, kunezinhlobo eziyisithupha zama-control byte. Ezintathu zokuqala zisetshenziselwa ozimele abavamile abanedatha ye-EZSP, okuhlanganisa i-DATA, i-ACK kanye ne-NAK. Ezintathu zokugcina zisetshenziswa ngaphandle kwedatha evamile ye-EZSP, okuhlanganisa i-RST, i-RSACK kanye ne-ERROR.

Ifomethi ye-RST, i-RSACK kanye ne-ERROR ichazwe esigabeni 3.1 kuya ku-3.3.

2.4. Bala i-CRC

I-CRC engu-16-bit ibalwa ngama-byte kusukela ku-control byte kuze kube sekupheleni kwedatha. I-CRCCCITT ejwayelekile (g(x) = x16 + x12 + x5 + 1) iqaliswa ku-0xFFFF. I-byte ebaluleke kakhulu yandulela i-byte ebaluleke kakhulu (imodi ye-big-endian).

2.5. Ukugcwaliswa kwe-Byte

Njengoba kuchaziwe esigabeni 4.2 se-UG101, kunezinye izilinganiso ze-byte ezigciniwe ezisetshenziselwa injongo ekhethekile. Lezi zilinganiso zingatholakala kuthebula elilandelayo:

7

Uma la manani evela kufreyimu, kuzokwenziwa ukwelashwa okukhethekile kudatha. – Faka i-escape byte engu-0x7D phambi kwe-reserved byte – Buyisela emuva i-bit5 yaleyo byte ereserved

Ngezansi kunezibonelo ezimbalwa zale algorithm:

8

2.6. Engeza ifulegi lokugcina

Isinyathelo sokugcina ukwengeza ifulegi lokugcina elingu-0x7E ekugcineni kohlaka. Ngemva kwalokho, idatha ingathunyelwa echwebeni le-UART.

3. Inqubo Yokususa Uhlaka

Uma idatha itholwa yi-UART, sidinga nje ukwenza izinyathelo eziphambene ukuze siyihlukanise.

4. Izinkomba


Isikhathi sokuthunyelwe: Feb-08-2022
Ingxoxo ye-WhatsApp eku-inthanethi!