Wolemba: TorchIoTBotCamp
Link: https://zhuanlan.zhihu.com/p/339700391
Kuchokera: Quora
1. Chiyambi
Silicon Labs yapereka njira yothetsera vuto la Zigbee gateway. Mu kapangidwe kameneka, host imatha kulumikizana ndi NCP kudzera mu UART kapena SPI interface. Nthawi zambiri, UART imagwiritsidwa ntchito chifukwa ndi yosavuta kuposa SPI.
Silicon Labs yaperekanso chitsanzo cha pulojekiti ya pulogalamu yolandira, yomwe ndi chitsanzoZ3GatewayHostChitsanzocho chimagwira ntchito ngati dongosolo la Unix. Makasitomala ena angafune chitsanzo cha host chomwe chingagwiritsidwe ntchito pa RTOS, koma mwatsoka, palibe chitsanzo cha host chomwe chilipo pakali pano. Ogwiritsa ntchito ayenera kupanga pulogalamu yawoyawo ya host pogwiritsa ntchito RTOS.
Ndikofunikira kumvetsetsa njira ya UART gateway musanapange pulogalamu yokonzera yokha. Pa NCP yochokera ku UART ndi NCP yochokera ku SPI, wolandirayo amagwiritsa ntchito njira ya EZSP polumikizana ndi NCP.EZSPndi lalifupi laNdondomeko ya EmberZnet Serial, ndipo imatanthauzidwa muUG100Pa NCP yochokera ku UART, njira yotsika imayikidwa kuti inyamule deta ya EZSP modalirika kuposa UART, ndiyophulusandondomeko, mwachiduleWosunga Wosasinthika WosasinthikaKuti mudziwe zambiri zokhudza ASH, chonde onaniUG101ndiUG115.
Ubale pakati pa EZSP ndi ASH ukhoza kufotokozedwa ndi chithunzi chotsatirachi:
Kapangidwe ka deta ya EZSP ndi protocol ya ASH kangathe kufotokozedwa ndi chithunzi chotsatirachi:
Mu tsamba lino, tikuwonetsani njira yopangira deta ya UART ndi ma key frames omwe amagwiritsidwa ntchito nthawi zambiri mu Zigbee gateway.
2. Kukonza chimango
Njira yonse yopangira mafelemu ikhoza kufotokozedwa ndi tchati chotsatirachi:
Mu tchati ichi, deta ikutanthauza chimango cha EZSP. Kawirikawiri, njira zopangira chimango ndi izi: |Palibe|Gawo|Chizindikiro|
|:-|:-|:-|
|1|Dzazani chimango cha EZSP|UG100|
|2|Kusasinthika kwa Deta|Gawo 4.3 la UG101|
|3|Onjezani Control Byte|Chaputala 2 ndi Chaputala 3 cha UG101|
|4|Werengani CRC|Gawo 2.3 la UG101|
|5|Kudzaza kwa Byte|Gawo 4.2 la UG101|
|6|Onjezani Mbendera Yomaliza|Gawo 2.4 la UG101|
2.1. Dzazani Chimango cha EZSP
Kapangidwe ka chimango cha EZSP kakuwonetsedwa mu Chaputala 3 cha UG100.
Samalani kuti mtundu uwu ukhoza kusintha SDK ikasintha. Mtundu ukasintha, tidzaupatsa nambala yatsopano ya mtundu. Nambala yaposachedwa ya mtundu wa EZSP ndi 8 pamene nkhaniyi yalembedwa (EmberZnet 6.8).
Popeza mawonekedwe a chimango cha EZSP akhoza kukhala osiyana pakati pa mitundu yosiyanasiyana, pali lamulo lofunikira kuti wolandila ndi NCPIYENERAamagwira ntchito ndi mtundu womwewo wa EZSP. Kupanda kutero, sangathe kulankhulana momwe amayembekezera.
Kuti zimenezi zitheke, lamulo loyamba pakati pa host ndi NCP liyenera kukhala lamulo la version. Mwa kuyankhula kwina, host iyenera kutenga mtundu wa EZSP wa NCP isanayambe kulankhulana kwina kulikonse. Ngati mtundu wa EZSP uli wosiyana ndi mtundu wa EZSP wa host side, kulumikizanako kuyenera kuchotsedwa.
Chofunikira chobisika kumbuyo kwa izi ndikuti mawonekedwe a lamulo la mtundu akhozaOSASINTHAMtundu wa lamulo la mtundu wa EZSP uli pansipa:
Kuchokera ku: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处.
2.2. Kusintha Deta Mwachisawawa
Njira yofotokozera mwatsatanetsatane yachisawawa yafotokozedwa mu gawo 4.3 la UG101. Chimango chonse cha EZSP chidzasankhidwa mwachisawawa. Chisawawacho ndi chapadera-KAPENA chimango cha EZSP ndi mndandanda wosasinthika.
Pansipa pali njira yopangira mndandanda wa pseudo-random.
- rand0 = 0×42
- Ngati bit 0 ya randi ndi 0, randi+1 = randi >> 1
- Ngati bit 0 ya randi ndi 1, randi+1 = (randi >> 1) ^ 0xB8
2.3. Onjezani Control Byte
Dongosolo lolamulira ndi deta ya byte imodzi, ndipo iyenera kuwonjezeredwa pamutu wa chimango. Kapangidwe kake kakuwonetsedwa ndi tebulo ili m'munsimu:
Mwachidule, pali mitundu 6 ya ma control byte. Atatu oyamba amagwiritsidwa ntchito pa ma common frames okhala ndi data ya EZSP, kuphatikiza DATA, ACK ndi NAK. Atatu omaliza amagwiritsidwa ntchito popanda data yodziwika ya EZSP, kuphatikiza RST, RSTACK ndi ERROR.
Kapangidwe ka RST, RSTACK ndi ERROR kafotokozedwa mu gawo 3.1 mpaka 3.3.
2.4. Kuwerengera CRC
CRC ya 16-bit imawerengedwa pa ma byte kuyambira pa control byte mpaka kumapeto kwa deta. CRCCCITT yokhazikika (g(x) = x16 + x12 + x5 + 1) imayambitsidwa kukhala 0xFFFF. Byte yofunika kwambiri imayamba ndi byte yosafunika kwenikweni (big-endian mode).
2.5. Kudzaza kwa Byte
Monga tafotokozera mu gawo 4.2 la UG101, pali ma baiti ena osungidwa omwe amagwiritsidwa ntchito pazifukwa zapadera. Ma baiti awa angapezeke mu tebulo lotsatirali:
Pamene mfundo izi zikuwonekera mu chimango, deta idzakonzedwa mwapadera. – Ikani escape byte 0x7D patsogolo pa reserved byte – Bwezerani bit5 ya reserved byte imeneyo
Nazi zitsanzo za njira iyi:
2.6. Onjezani Mbendera Yomaliza
Gawo lomaliza ndikuwonjezera mbendera yomaliza ya 0x7E kumapeto kwa chimango. Pambuyo pake, deta ikhoza kutumizidwa ku doko la UART.
3. Njira Yochotsera Mafelemu
Deta ikalandiridwa kuchokera ku UART, timangofunika kuchita njira zina kuti tiisinthe.
4. Maumboni
Nthawi yotumizira: Feb-08-2022








