Ku saabsan Zigbee EZSP UART

Qore: TorchIoTBootCamp
Xiriirinta: https://zhuanlan.zhihu.com/p/339700391
Laga soo bilaabo: Quora

1. Hordhac

Silicon Labs waxay bixisay xal martigelin+NCP ah oo loogu talagalay naqshadeynta albaabka Zigbee. Qaab-dhismeedkan, martigeliyaha wuxuu la xiriiri karaa NCP iyada oo loo marayo UART ama SPI interface. Inta badan, UART waxaa loo isticmaalaa maadaama ay aad uga fudud tahay SPI.

Silicon Labs waxay sidoo kale bixisay mashruuc muunad ah oo loogu talagalay barnaamijka martigeliyaha, kaas oo ah muunaddaZ3GatewayHost. Muunaddu waxay ku shaqeysaa nidaam u eg Unix. Macaamiisha qaar ayaa laga yaabaa inay rabaan muunad martigelin ah oo ku shaqeyn karta RTOS, laakiin nasiib darro, ma jiro muunad martigelineed oo ku salaysan RTOS waqtigaas. Isticmaalayaashu waxay u baahan yihiin inay horumariyaan barnaamijkooda martigelineed iyagoo ku saleynaya RTOS.

Waa muhiim inaad fahamto hab-maamuuska albaabka UART ka hor inta aadan samayn barnaamij martigelineed oo gaar ah. Labada NCP ee ku salaysan UART iyo NCP ee ku salaysan SPI, martigeliyaha wuxuu adeegsadaa hab-maamuuska EZSP si uu ula xiriiro NCP.EZSPwaa gaaban tahayHab-maamuuska Taxanaha EmberZnet, waxaana lagu qeexayUG100NCP-ga ku salaysan UART, hab-maamuuska lakabka hoose ayaa la hirgeliyaa si loogu qaado xogta EZSP si kalsooni leh UART-ga, taasi waaAShab-maamuuska, oo loo soo gaabiyoMartigeliyaha Taxanaha AsynchronousWixii faahfaahin dheeraad ah oo ku saabsan ASH, fadlan tixraacUG101iyoUG115.

Xiriirka ka dhexeeya EZSP iyo ASH waxaa lagu sawiri karaa jaantuska soo socda:

1

Qaabka xogta ee EZSP iyo hab-maamuuska ASH waxaa lagu sawiri karaa jaantuska soo socda:

2

Boggan, waxaan ku soo bandhigi doonnaa habka loo qaabeeyo xogta UART iyo qaar ka mid ah qaababka muhiimka ah ee inta badan loo isticmaalo albaabka Zigbee.

2. Qaabaynta

Habka guud ee qaabaynta waxaa lagu sawiri karaa jaantuska soo socda:

3

Shaxdan, xogtu waxay ka dhigan tahay qaab-dhismeedka EZSP. Guud ahaan, hababka qaab-dhismeedka waa: |Maya|Tallaabo|Tixraac|

|:-|:-|:-|

|1| Buuxi Qaabka EZSP|UG100|

|2| Kala-soocidda Xogta| Qaybta 4.3 ee UG101|

|3|Ku dar byte-ka Xakamaynta| Cutubka 2aad iyo Cutubka 3aad ee UG101|

|4| Xisaabi CRC|Qaybta 2.3 ee UG101|

|5| Buuxinta Baytka|Qaybta 4.2 ee UG101|

|6| Ku dar Calanka Dhammaadka|Qaybta 2.4 ee UG101|

2.1. Buuxi Qaabka EZSP

Qaabka qaab-dhismeedka EZSP waxaa lagu sawiray Cutubka 3aad ee UG100.

4

Fiiro gaar ah u yeelo in qaabkani uu isbeddeli karo marka SDK la casriyeeyo. Marka qaabku isbeddelo, waxaan siin doonnaa lambar nooc cusub ah. Lambarka nooca EZSP ee ugu dambeeyay waa 8 marka maqaalkan la qoro (EmberZnet 6.8).

Maadaama qaabka EZSP uu ka duwanaan karo noocyada kala duwan, waxaa jira shuruudo khasab ah in martida iyo NCP ayWAA INwaxay la shaqeeyaan isla nooca EZSP. Haddii kale, ma xiriiri karaan sidii la filayay.

Si taas loo gaaro, amarka ugu horreeya ee u dhexeeya martigeliyaha iyo NCP waa inuu ahaadaa amarka nooca. Si kale haddii loo dhigo, martigeliyaha waa inuu dib u soo celiyaa nooca EZSP ee NCP ka hor inta uusan jirin isgaarsiin kale. Haddii nooca EZSP uu ka duwan yahay nooca EZSP ee dhinaca martigeliyaha, isgaarsiintu waa in la joojiyaa.

Shuruudaha aan tooska ahayn ee ka dambeeya tan ayaa ah in qaabka amarka nooca uu awoodoWALIGAA HA ISBEDDELINQaabka amarka nooca EZSP waa sida hoos ku qoran:

5

Sharaxaadda goobta parameter-ka iyo qaabka jawaabta nooca waxaa laga heli karaa Cutubka 4aad ee UG100. Goobta parameter-ka waa nooca EZSP ee barnaamijka martida loo yahay. Marka maqaalkan la qoro, waa 8.
7
作者:TorchIoTBootCamp
Laga soo bilaabo: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.2. Kala soocidda Xogta

Habka kala soocidda ee faahfaahsan waxaa lagu sharaxay qaybta 4.3 ee UG101. Qaabka EZSP oo dhan waa la kala sooci doonaa. Kala soociddu waa mid gaar ah - AMA qaab EZSP ah iyo taxane aan kala sooc lahayn.

Hoos waxaa ku qoran algorithm-ka soo saarista taxanaha been-abuurka ah.

  • rand0 = 0×42
  • haddii bit 0 ee randi uu yahay 0, randi+1 = randi >> 1
  • haddii qaybta 0 ee randi ay tahay 1, randi+1 = (randi >> 1) ^ 0xB8

2.3. Ku dar byte-ka Xakamaynta

Baytka xakamaynta waa xog hal bayt ah, waana in lagu daraa madaxa qaab-dhismeedka. Qaabka waxaa lagu sawiray jadwalka hoose:

6

Guud ahaan, waxaa jira 6 nooc oo baytyo xakameyn ah. Saddexda hore waxaa loo isticmaalaa qaab-dhismeedyada caadiga ah ee leh xogta EZSP, oo ay ku jiraan DATA, ACK iyo NAK. Saddexda ugu dambeeya waxaa loo isticmaalaa iyada oo aan lahayn xog EZSP oo caadi ah, oo ay ku jiraan RST, RSTACK iyo ERROR.

Qaabka RST, RSTACK iyo ERROR waxaa lagu sharaxay qaybta 3.1 ilaa 3.3.

2.4. Xisaabi CRC-ga

CRC-ga 16-bit waxaa lagu xisaabiyaa baytyo laga bilaabo baytka xakamaynta ilaa dhammaadka xogta. CRCCCITT-ga caadiga ah (g(x) = x16 + x12 + x5 + 1) waxaa loo bilaabayaa 0xFFFF. Bayt-ka ugu muhiimsan wuxuu ka horreeyaa baytka ugu yar ee muhiimka ah (qaabka weyn-endian).

2.5. Buuxinta Baytka

Sida ku cad qaybta 4.2 ee UG101, waxaa jira qiimayaal byte ah oo la keydiyay oo loo isticmaalay ujeedo gaar ah. Qiimayaashan waxaa laga heli karaa jadwalka soo socda:

7

Marka qiimayaashani ay ka soo muuqdaan qaab-dhismeedka, si gaar ah ayaa loo sameyn doonaa xogta. – Geli byte-ka baxsashada 0x7D horteeda byte-ka la keydiyay – Dib ugu celi bit5-ka byte-ka la keydiyay

Hoos waxaa ku qoran tusaalooyin ka mid ah algorithm-kan:

8

2.6. Ku dar Calanka Dhammaadka

Tallaabada ugu dambeysa waa in lagu daro calanka dhammaadka 0x7E dhammaadka qaab-dhismeedka. Intaa ka dib, xogta waxaa loo diri karaa dekedda UART.

3. Habka Ka-saarista Qaab-dhismeedka

Marka xogta laga helo UART, waxaan u baahanahay oo keliya inaan sameyno tallaabooyinka lidka ku ah si aan u fasirno.

4. Tixraacyada


Waqtiga boostada: Febraayo-08-2022
WhatsApp Online Chat!