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:
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:
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:
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.
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:
链接: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:
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:
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:
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








