Malunga neZigbee EZSP UART

Umbhali: iTorchIoTBotCamp
Ikhonkco: https://zhuanlan.zhihu.com/p/339700391
Ukusuka: Quora

1. Intshayelelo

I-Silicon Labs inikezele ngesisombululo se-host+NCP soyilo lwesango leZigbee. Kolu lwakhiwo, i-host inokunxibelelana ne-NCP nge-UART okanye i-SPI interface. Ngokwesiqhelo, i-UART isetyenziswa kuba ilula kakhulu kune-SPI.

ISilicon Labs ikwabonelele ngeprojekthi yesampulu yenkqubo yokusingatha, eyisampuliI-Z3GatewayHost. Isampulu isebenza kwinkqubo efana ne-Unix. Abanye abathengi banokufuna isampulu yomsingathi enokuqhutywa kwi-RTOS, kodwa ngelishwa, akukho sampulu yomsingathi esekwe kwi-RTOS okwangoku. Abasebenzisi kufuneka baphuhlise inkqubo yabo yomsingathi esekwe kwi-RTOS.

Kubalulekile ukuqonda iprotokholi yesango le-UART ngaphambi kokuba uphuhlise inkqubo yomncedisi eyenzelwe wena. Kuzo zombini i-NCP esekelwe kwi-UART kunye ne-NCP esekelwe kwi-SPI, umphathi usebenzisa iprotokholi ye-EZSP ukunxibelelana ne-NCP.I-EZSPimfutshane kwiIprotokholi yothotho lwe-EmberZnet, kwaye ichazwe kwiUG100Kwi-NCP esekwe kwi-UART, iprotocol yomaleko osezantsi iyasetyenziswa ukuthwala idatha ye-EZSP ngokuthembekileyo ngaphezulu kwe-UART, yiyo leyoUTHUTHUiprotokholi, mfutshaneUmphathi weSerial ongangqamanangaUkuze ufumane iinkcukacha ezithe vetshe malunga ne-ASH, nceda ujonge kuUG101kwayeUG115.

Ulwalamano phakathi kwe-EZSP kunye ne-ASH lungabonakaliswa ngolu dweliso lulandelayo:

1

Ifomathi yedatha ye-EZSP kunye neprotocol ye-ASH ingabonakaliswa ngolu mzobo lulandelayo:

2

Kweli phepha, siza kwazisa inkqubo yokuhlela idatha ye-UART kunye nezinye iifreyimu ezibalulekileyo ezisetyenziswa rhoqo kwisango leZigbee.

2. Ukuyila iifreyimu

Inkqubo ngokubanzi yokwenza ifreyimu ingabonakaliswa ngolu tshathi lulandelayo:

3

Kule tshathi, idatha ithetha ifreyimu ye-EZSP. Ngokubanzi, iinkqubo zokubumba zezi: |Akukho|Inyathelo|Isalathiso|

|:-|:-|:-|

|1|Zalisa ifreyimu ye-EZSP|UG100|

|2|Ukwahlulwahlulwa kwedatha|Icandelo 4.3 le-UG101|

|3|Yongeza i-Control Byte|Isahluko 2 kunye nesahluko 3 se-UG101|

|4|Bala i-CRC|Icandelo 2.3 le-UG101|

|5|Ukufakwa kweByte|Icandelo 4.2 le-UG101|

|6|Yongeza iFlegi yokuphela|Icandelo 2.4 le-UG101|

2.1. Zalisa ifreyimu ye-EZSP

Ifomathi yesakhelo se-EZSP iboniswe kwiSahluko sesi-3 se-UG100.

4

Qaphela ukuba le fomathi inokutshintsha xa i-SDK iphuculwa. Xa ifomathi itshintsha, siza kuyinika inombolo yenguqulelo entsha. Inombolo yenguqulelo yamva nje ye-EZSP yi-8 xa kubhalwa eli nqaku (EmberZnet 6.8).

Njengoko ifomathi yesakhelo se-EZSP inokwahluka phakathi kweenguqulelo ezahlukeneyo, kukho imfuneko enyanzelekileyo yokuba i-host kunye ne-NCPKUFUNEKAbasebenza ngenguqulelo efanayo ye-EZSP. Ngaphandle koko, abanakunxibelelana ngendlela ebekulindeleke ngayo.

Ukuze kufezekiswe oko, umyalelo wokuqala phakathi kwe-host kunye ne-NCP kufuneka ube ngumyalelo wenguqulelo. Ngamanye amazwi, i-host kufuneka ifumane inguqulelo ye-EZSP ye-NCP ngaphambi kolunye unxibelelwano. Ukuba inguqulelo ye-EZSP yahlukile kwinguqulelo ye-EZSP yecala le-host, unxibelelwano kufuneka lurhoxiswe.

Imfuneko engacacanga emva koku kukuba ifomathi yomyalelo wenguqulelo inokuthiUNGAZE UTSHINTSHEIfomathi yomyalelo wenguqulo ye-EZSP inje ngezantsi:

5

Iinkcazo zentsimi yeparameter kunye nefomathi yempendulo yenguqulelo zinokufumaneka kwiSahluko 4 se-UG100. Intsimi yeparameter yinguqulelo ye-EZSP yenkqubo yomsingathi. Xa eli nqaku libhaliwe, liyi-8.
7
IsiNgesi:TorchIoTBootCamp
umthombo: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有

2.2. Ukuhlelwa kweDatha ngokungacwangciswanga

Inkqubo eneenkcukacha zokwahlulwa ...

Apha ngezantsi kukho i-algorithm yokuvelisa ulandelelwano lwe-pseudo-random.

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

2.3. Yongeza i-Control Byte

I-control byte yidatha ye-one byte, kwaye kufuneka yongezwe entlokweni yesakhelo. Ifomathi iboniswe ngetheyibhile engasezantsi:

6

Lilonke, kukho iintlobo ezi-6 zeebhayithi zolawulo. Ezintathu zokuqala zisetyenziselwa iifreyimu eziqhelekileyo ezinedatha ye-EZSP, kuquka i-DATA, i-ACK kunye ne-NAK. Ezintathu zokugqibela zisetyenziswa ngaphandle kwedatha eqhelekileyo ye-EZSP, kuquka i-RST, i-RSACK kunye ne-ERROR.

Ifomathi ye-RST, i-RSACK kunye ne-ERROR ichazwe kwicandelo 3.1 ukuya ku-3.3.

2.4. Bala i-CRC

I-CRC ye-16-bit ibalwa kwii-byte ukusuka kwi-control byte ukuya ekupheleni kwedatha. I-CRCCCITT eqhelekileyo (g(x) = x16 + x12 + x5 + 1) iqaliswa kwi-0xFFFF. Eyona byte ibalulekileyo iphambi kwe-least implicit byte (big-endian mode).

2.5. Ukuzaliswa kweByte

Njengoko kuchaziwe kwicandelo 4.2 le-UG101, kukho amaxabiso e-byte agciniweyo asetyenziselwa injongo ekhethekileyo. La maxabiso angafumaneka kule theyibhile ilandelayo:

7

Xa la maxabiso ebonakala kwisakhelo, kuya kwenziwa unyango olukhethekileyo kwidatha. – Faka i-escape byte 0x7D phambi kwe-reserved byte – Buyisela i-bit5 yaloo byte ireserved

Ngezantsi kukho imizekelo yale algorithm:

8

2.6. Yongeza iflegi yokuphela

Inyathelo lokugqibela kukongeza iflegi yokugqibela engu-0x7E ekupheleni kwefreyimu. Emva koko, idatha ingathunyelwa kwizibuko le-UART.

3. Inkqubo yokususa iifreyimu

Xa idatha ifunyenwe kwi-UART, kufuneka senze amanyathelo angasemva ukuze siyiguqule.

4. Iingxelo


Ixesha lokuthumela: Feb-08-2022
Incoko ye-WhatsApp kwi-Intanethi!