Mongoli:TorchIoTBootCamp
Khokahanyo: https://zhuanlan.zhihu.com/p/339700391
Ho tsoa ho: Quora
1. Selelekela
Silicon Labs e fane ka tharollo ea moamoheli + NCP bakeng sa moralo oa liheke tsa Zigbee. Moahong ona, moamoheli a ka buisana le NCP ka UART kapa SPI interface. Hangata, UART e sebelisoa kaha e bonolo ho feta SPI.
Silicon Labs le eona e fane ka mohlala oa projeke bakeng sa lenaneo la moamoheli, e leng mohlalaZ3GatewayHost
. Mohlala o sebetsa ho sistimi e tšoanang le ea Unix. Bareki ba bang ba kanna ba batla sampole ea moamoheli e ka sebetsang ho RTOS, empa ka bomalimabe, ha ho na sampole ea moamoheli ea RTOS hajoale. Basebelisi ba hloka ho iketsetsa lenaneo la bona la moamoheli le ipapisitseng le RTOS.
Ho bohlokoa ho utloisisa protocol ea heke ea UART pele u theha lenaneo le ikhethileng la moamoheli. Bakeng sa bobeli ba UART e thehiloeng NCP le SPI e thehiloeng NCP, moamoheli o sebelisa protocol ea EZSP ho buisana le NCP.EZSPe khuts'oane bakeng saEmberZnet Serial Protocol, 'me e hlalosoa kaUG100. Bakeng sa UART e thehiloeng ho NCP, ho kengoa ts'ebetsong protocol e tlase ho tsamaisa data ea EZSP ka ts'epo ho feta UART, ke eonaMOSALAprotocol, e khuts'oane bakeng saAsynchronous Serial Host. Bakeng sa lintlha tse ling ka ASH, ka kopo sheba hoUG101leUG115.
Kamano pakeng tsa EZSP le ASH e ka bontšoa ka setšoantšo se latelang:
Sebopeho sa data sa EZSP le protocol ea ASH se ka bontšoa ka setšoantšo se latelang:
Leqepheng lena, re tla hlahisa mokhoa oa ho theha data ea UART le liforeimi tse ling tsa bohlokoa tse sebelisoang khafetsa ho Zigbee gateway.
2. Ho etsa foreime
Ts'ebetso e akaretsang ea foreimi e ka bontšoa ka chate e latelang:
Chate ena, data e bolela foreimi ea EZSP. Ka kakaretso, mekhoa ea ho etsa liforeimi ke: |Che|Mohato|Referense|
|:-|:-|:-|
|1|Tlatsa EZSP Frame|UG100|
|2|Tsamaiso ea Boitsebiso | Karolo ea 4.3 ea UG101|
|3|Kenya Control Byte|Chap2 le Chap3 of UG101|
|4|Bala CRC|Karolo ea 2.3 ea UG101|
|5|Byte Stuffing|Karolo ea 4.2 ea UG101|
|6|Eketsa Letšoao la Bofelo|Karolo ea 2.4 ea UG101|
2.1. Tlatsa EZSP Frame
Sebopeho sa foreimi ea EZSP se bontšitsoe ho Chap 3 ea UG100.
Ela hloko hore sebopeho sena se ka fetoha ha SDK e ntlafatsa. Ha sebopeho se fetoha, re tla e fa nomoro ea mofuta o mocha. Nomoro ea morao-rao ea EZSP ke 8 ha sengoloa sena se ngoloa (EmberZnet 6.8).
Kaha sebopeho sa EZSP se ka fapana lipakeng tsa mefuta e fapaneng, ho na le tlhokahalo e tlamang ea hore moamoheli le NCP.TLAMELAsebetsa ka mofuta o tšoanang oa EZSP. Ho seng joalo, ba ke ke ba buisana ka tsela eo ba neng ba lebeletse ka eona.
Ho fihlela seo, taelo ea pele lipakeng tsa moamoheli le NCP e tlameha ho ba taelo ea mofuta. Ka mantsoe a mang, moamoheli o tlameha ho khutlisa mofuta oa EZSP oa NCP pele ho puisano efe kapa efe. Haeba mofuta oa EZSP o fapane le mofuta oa EZSP oa lehlakore la moamoheli, puisano e tlameha ho emisoa.
Tlhokahalo e hlakileng ea sena ke hore sebopeho sa taelo ea mofuta o kaFETOHA TSOHLE. Sebopeho sa taelo ea mofuta oa EZSP se tšoana le ka tlase:
Setšoantšo: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处.
2.2. Data Randomization
Ts'ebetso e qaqileng ea randomisation e hlalositsoe karolong ea 4.3 ea UG101. Foreimi eohle ea EZSP e tla be e sa fetohe. The randomization ke ho ikhethela-KAPA foreimi ea EZSP le tatelano ea pseudo-random.
Ka tlase ke algorithm ea ho hlahisa tatellano ea pseudo-random.
- ranta0 = 0×42
- haeba hanyane 0 ea randi ke 0, randi+1 = randi >> 1
- haeba hanyane 0 ea randi ke 1, randi+1 = (randi >> 1) ^ 0xB8
2.3. Kenya Control Byte
Control byte ke data ea byte e le 'ngoe,' me e lokela ho ekeletsoa hloohong ea foreimi. Sebopeho se bonts'oa ka tafole e ka tlase:
Ka kakaretso, ho na le mefuta e 6 ea li-byte tsa taolo. Tse tharo tsa pele li sebelisetsoa liforeimi tse tloaelehileng tse nang le data ea EZSP, ho kenyeletsa DATA, ACK le NAK. Tse tharo tsa ho qetela li sebelisoa ntle le data e tloaelehileng ea EZSP, ho kenyelletsa le RST, RSTACK le ERROR.
Sebopeho sa RST, RSTACK le ERROR se hlalositsoe karolong ea 3.1 ho isa ho 3.3.
2.4. Bala CRC
16-bit CRC e baloa ka li-byte ho tloha ho control byte ho fihlela qetellong ea data. CRCCCITT e tloaelehileng (g(x) = x16 + x12 + x5 + 1) e qalisoa ho 0xFFFF. Byte ea bohlokoa ka ho fetesisa e etella pele ho bonyane ba bohlokoa (mokhoa o moholo oa endian).
2.5. Byte Stuffing
Joalo ka ha ho hlalositsoe karolong ea 4.2 ea UG101, ho na le boleng bo itseng bo bolokiloeng bo sebelisetsoang morero o khethehileng. Litekanyetso tsena li ka fumanoa tafoleng e latelang:
Ha litekanyetso tsena li hlaha ka foreimi, phekolo e khethehileng e tla etsoa ho data. - Kenya "byte" ea ho baleha 0x7D ka pel'a "byte" e bolokiloeng - Khutlisa karolo ea 5 ea "byte" e bolokiloeng.
Ka tlase ke mehlala e meng ea algorithm ena:
2.6. Kenya Phala ea Bofelo
Mohato oa ho qetela ke ho eketsa folakha ea 0x7E qetellong ea foreimi. Kamora moo, data e ka romelloa boema-kepeng ba UART.
3. Ts'ebetso ea ho hlakola
Ha data e amoheloa ho tsoa ho UART, re hloka feela ho etsa mehato e ka morao ho e tseba.
4. Litšupiso
Nako ea poso: Feb-08-2022