E pili ana iā Zigbee EZSP UART

Mea kākau: TorchIoTBootCamp
Ka loulou: https://zhuanlan.zhihu.com/p/339700391
Mai:Quora

1. Hoʻolauna

Ua hāʻawi ʻo Silicon Labs i kahi hopena host+NCP no ka hoʻolālā ʻana o ka puka Zigbee. Ma kēia hoʻolālā ʻana, hiki i ka host ke kamaʻilio me ka NCP ma o ka UART a i ʻole ka SPI interface. ʻO ka hapa nui, hoʻohana ʻia ʻo UART no ka mea ʻoi aku ka maʻalahi ma mua o SPI.

Ua hoʻolako pū ʻo Silicon Labs i kahi papahana laʻana no ka papahana kikowaena, ʻo ia ka laʻanaZ3GatewayHostHolo ka laʻana ma kahi ʻōnaehana like me Unix. Makemake paha kekahi poʻe kūʻai aku i kahi laʻana kikowaena e hiki ke holo ma kahi RTOS, akā naʻe, ʻaʻohe laʻana kikowaena e pili ana i ka RTOS i kēia manawa. Pono nā mea hoʻohana e hoʻomohala i kā lākou polokalamu kikowaena ponoʻī e pili ana i ka RTOS.

He mea nui e hoʻomaopopo i ke kaʻina hana UART gateway ma mua o ka hoʻomohala ʻana i kahi polokalamu kikowaena i hoʻopilikino ʻia. No ka NCP e pili ana iā UART a me ka NCP e pili ana iā SPI, hoʻohana ka kikowaena i ka kaʻina hana EZSP e kamaʻilio me ka NCP.EZSPhe pōkole noʻO ka ʻōnaehana serial EmberZnet, a ua wehewehe ʻia maUG100No ka NCP e pili ana iā UART, ua hoʻokō ʻia kahi protocol papa haʻahaʻa e lawe i ka ʻikepili EZSP me ka hilinaʻi ma luna o UART, ʻo ia kaLehuprotocol, pōkole noMea hoʻokipa Serial AsynchronousNo nā kikoʻī hou aku e pili ana iā ASH, e ʻoluʻolu e nānā iUG101a meUG115.

Hiki ke hoʻākāka ʻia ka pilina ma waena o EZSP a me ASH e ke kiʻikuhi ma lalo nei:

1

Hiki ke hoʻākāka ʻia ke ʻano ʻikepili o ka EZSP a me ke kaʻina hana ASH e ke kiʻikuhi ma lalo nei:

2

Ma kēia ʻaoʻao, e hoʻolauna mākou i ke kaʻina hana o ke kālai ʻana i ka ʻikepili UART a me kekahi mau kiʻi koʻikoʻi i hoʻohana pinepine ʻia ma ka puka Zigbee.

2. Hoʻolālā ʻana

Hiki ke hōʻike ʻia ke kaʻina hana hoʻonohonoho laulā e ka pakuhi ma lalo nei:

3

Ma kēia pakuhi, ʻo ke ʻano o ka ʻikepili ka mōlina EZSP. Ma keʻano laulā, ʻo nā kaʻina hana hoʻopili: |ʻAʻohe|Kaʻanuʻu|Kuhikuhi|

|:-|:-|:-|

|1|E hoʻopiha i ka EZSP Frame|UG100|

|2|Hoʻololi ʻIkepili Kaulike|Māhele 4.3 o UG101|

|3|Hoʻohui i ka Control Byte|Mokuna 2 a me Mokuna 3 o UG101|

|4|E helu i ka CRC|Māhele 2.3 o UG101|

|5|Hoʻopiha ʻana i ka Byte|Māhele 4.2 o UG101|

|6|Hoʻohui i ka Hae Hopena|Māhele 2.4 o UG101|

2.1. E hoʻopiha i ka EZSP Frame

Ua hōʻike ʻia ke ʻano o ka mōlina EZSP ma ka Mokuna 3 o UG100.

4

E hoʻomaopopo he loli paha kēia ʻano ke hoʻonui ʻia ka SDK. Ke loli ke ʻano, e hāʻawi mākou iā ia i kahi helu mana hou. ʻO ka helu mana EZSP hou loa he 8 i ka wā i kākau ʻia ai kēia ʻatikala (EmberZnet 6.8).

ʻOiai he ʻokoʻa ke ʻano o ka mōlina EZSP ma waena o nā mana like ʻole, aia kahi koi koi e koi ʻia ka mea hoʻokipa a me ka NCPPONOhana me ka mana EZSP like. A i ʻole, ʻaʻole hiki iā lākou ke kamaʻilio e like me ka mea i manaʻo ʻia.

No ka hoʻokō ʻana i kēlā, pono ke kauoha mua ma waena o ka kikowaena a me ka NCP ke kauoha mana. I nā huaʻōlelo ʻē aʻe, pono ka kikowaena e hoʻihoʻi i ka mana EZSP o ka NCP ma mua o kekahi kamaʻilio ʻē aʻe. Inā ʻokoʻa ka mana EZSP me ka mana EZSP o ka ʻaoʻao kikowaena, pono e hoʻōki ʻia ke kamaʻilio ʻana.

ʻO ke koi i hoʻokomo ʻia ma hope o kēia, ʻo ia ka hiki ke hoʻonohonoho ʻia ke ʻano o ke kauoha manaMAI HOʻOLOLIʻO ke ʻano o ke kauoha mana EZSP e like me kēia ma lalo nei:

5

Hiki ke loaʻa nā wehewehe ʻana o ke kahua palena a me ke ʻano o ka pane mana ma ka Mokuna 4 o UG100. ʻO ke kahua palena ka mana EZSP o ka polokalamu kikowaena. I ka wā i kākau ʻia ai kēia ʻatikala, he 8.
7
作者:TorchIoTBootCamp
链接:https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.2. Hoʻokaʻawale ʻIkepili

Ua wehewehe ʻia ke kaʻina hana randomization kikoʻī ma ka ʻāpana 4.3 o UG101. E randomized ʻia ke kiʻi EZSP holoʻokoʻa. ʻO ka randomization e hoʻokaʻawale-A I ʻOLE i ke kiʻi EZSP a me kahi moʻo pseudo-random.

Aia ma lalo ka algorithm no ka hana ʻana i ka moʻo pseudo-random.

  • rand0 = 0×42
  • inā ʻo ka bit 0 o randi he 0, randi+1 = randi >> 1
  • inā ʻo ka bit 0 o randi he 1, randi+1 = (randi >> 1) ^ 0xB8

2.3. Hoʻohui i ka Control Byte

ʻO ka byte hoʻomalu he ʻikepili hoʻokahi byte, a pono e hoʻohui ʻia i ke poʻo o ka mōlina. Ua hōʻike ʻia ke ʻano me ka papa ma lalo nei:

6

Ma ke ʻano holoʻokoʻa, aia he 6 ʻano o nā byte kaohi. Hoʻohana ʻia nā mea ʻekolu mua no nā mōlina maʻamau me ka ʻikepili EZSP, me DATA, ACK a me NAK. Hoʻohana ʻia nā mea ʻekolu hope loa me ka ʻole o ka ʻikepili EZSP maʻamau, me RST, RSTACK a me ERROR.

Ua wehewehe ʻia ke ʻano o ka RST, RSTACK a me ERROR ma ka ʻāpana 3.1 a i 3.3.

2.4. E helu i ka CRC

Ua helu ʻia kahi CRC 16-bit ma nā bytes mai ka byte mana a hiki i ka hopena o ka ʻikepili. Hoʻomaka ʻia ka CRCCCITT maʻamau (g(x) = x16 + x12 + x5 + 1) i 0xFFFF. ʻO ka byte koʻikoʻi loa ma mua o ka byte koʻikoʻi liʻiliʻi loa (ʻano big-endian).

2.5. Hoʻopiha ʻana i ka Byte

E like me ka mea i wehewehe ʻia ma ka ʻāpana 4.2 o UG101, aia kekahi mau waiwai byte i mālama ʻia no kekahi kumu kūikawā. Hiki ke loaʻa kēia mau waiwai ma ka papa ma lalo nei:

7

Ke ʻike ʻia kēia mau waiwai i loko o ke kiʻi, e hana ʻia kahi hana kūikawā i ka ʻikepili. – E hoʻokomo i ka byte pakele 0x7D i mua o ka byte i mālama ʻia – E hoʻohuli i ka bit5 o kēlā byte i mālama ʻia

Eia kekahi mau hiʻohiʻona o kēia algorithm:

8

2.6. Hoʻohui i ka hae hoʻopau

ʻO ka hana hope loa, ʻo ia ka hoʻohui ʻana i ka hae hope 0x7E i ka hopena o ke kiʻi. Ma hope o kēlā, hiki ke hoʻouna ʻia ka ʻikepili i ke awa UART.

3. Kaʻina Hana Wehe-Framing

Ke loaʻa ka ʻikepili mai ka UART, pono mākou e hana i nā ʻanuʻu hope e wehewehe iā ia.

4. Nā Kuhikuhi


Ka manawa hoʻouna: Pepeluali-08-2022
Kamaʻilio Pūnaewele WhatsApp!