E uiga i le Zigbee EZSP UART

Tusitala:TorchIoTBootCamp
So'oga:https://zhuanlan.zhihu.com/p/339700391
Mai le:Quora

1. Fa'atomuaga

Ua ofoina atu e Silicon Labs se fofo host+NCP mo le mamanuina o le Zigbee gateway. I lenei fausaga, e mafai e le host ona fesootaʻi ma le NCP e ala i le UART poʻo le SPI interface. E masani ona faʻaaogaina le UART aua e sili atu ona faigofie nai lo le SPI.

Ua saunia fo'i e Silicon Labs se galuega fa'ata'ita'i mo le polokalame talimalo, o le fa'ata'ita'iga leaZ3GatewayHost. O le faʻataʻitaʻiga e faʻagaoioia i luga o se faiga e pei o Unix. Atonu e manaʻo nisi tagata faʻatau i se faʻataʻitaʻiga talimalo e mafai ona faʻagaoioia i luga o se RTOS, ae paga lea, e leai se faʻataʻitaʻiga talimalo e faʻavae i le RTOS mo le taimi nei. E manaʻomia e tagata faʻaoga ona atiaʻe a latou lava polokalama talimalo e faʻavae i luga o le RTOS.

E taua le malamalama i le UART gateway protocol a'o le'i faia se polokalame talimalo fa'apitoa. Mo le UART based NCP ma le SPI based NCP, e fa'aogaina e le talimalo le EZSP protocol e fesoota'i ai ma le NCP.EZSPe faapuupuu mo lePolokalama Fa'asologa a le EmberZnet, ma ua fa'amatalaina i totonuUG100Mo le NCP e faʻavae i le UART, o loʻo faʻatinoina se protocol vaega maualalo e feaveaʻi faʻamatalaga EZSP ma le faʻatuatuaina i luga o le UART, o leLEFUfa'atonuga, fa'apu'upu'uga mo le'Au'aunaga Fa'asologa AsynchronousMo nisi fa'amatalaga e uiga i le ASH, fa'amolemole taga'i i leUG101maUG115.

O le sootaga i le va o le EZSP ma le ASH e mafai ona faʻaalia e le ata lenei:

1

E mafai ona fa'aalia le fa'atulagaga o fa'amaumauga o le EZSP ma le ASH protocol i le ata o lo'o mulimuli mai:

2

I lenei itulau, o le a matou faʻalauiloaina ai le faagasologa o le faʻatulagaina o faʻamaumauga UART ma nisi o faʻavaa autu e masani ona faʻaaogaina i le Zigbee gateway.

2. Fa'avaa

E mafai ona faʻaalia le faagasologa lautele o le faʻavaa i le siata lenei:

3

I lenei siata, o faʻamatalaga o lona uiga o le faʻavaa EZSP. I se tulaga lautele, o faiga faʻavaa e faʻapea: |Leai|Laasaga|Faʻasinomaga|

|:-|:-|:-|

|1|Fa'atumu le Fa'avaa EZSP|UG100|

|2|Fa'asologa Fa'afuase'i o Fa'amaumauga|Vaega 4.3 o le UG101|

|3|Fa'aopoopo le Control Byte|Mataupu 2 ma le Mataupu 3 o le UG101|

|4|Fuafua le CRC|Vaega 2.3 o le UG101|

|5|Fa'atumuina o le Byte|Vaega 4.2 o le UG101|

|6|Fa'aopoopo le Fa'ailoga Fa'ai'u|Vaega 2.4 o le UG101|

2.1. Fa'atumu le Fa'avaa EZSP

O le faatulagaga o le faavaa EZSP o loʻo faʻaalia i le Mataupu 3 o le UG100.

4

Ia matau e ono suia lenei faatulagaga pe a faaleleia le SDK. A suia le faatulagaga, matou te tuuina atu i ai se numera fou o le lomiga. O le numera fou o le lomiga a le EZSP o le 8 i le taimi na tusia ai lenei tusiga (EmberZnet 6.8).

Ona e ono eseese le faatulagaga o le fa'avaa o le EZSP i le va o lomiga eseese, e iai se mana'oga fa'amalosia e tatau i le 'au talimalo ma le NCP onaE TATAUgalulue faʻatasi ma le lomiga lava e tasi o le EZSP. A leai, e le mafai ona latou fesootaʻi e pei ona faʻamoemoeina.

Ina ia ausia lena mea, o le poloaiga muamua i le va o le 'au talimalo ma le NCP e tatau ona avea ma poloaiga o le lomiga. I se isi faaupuga, e tatau i le 'au talimalo ona toe maua le lomiga EZSP o le NCP a'o le'i faia se isi fesootaiga. Afai e ese le lomiga EZSP mai le lomiga EZSP o le itu 'au talimalo, e tatau ona taofia le fesootaiga.

O le manaʻoga faʻalilolilo i tua atu o lenei mea, o le faʻatulagaga o le faʻatonuga o le lomiga e mafaiAUA NE'I SUIA. O le faatulagaga o le poloaiga o le lomiga EZSP e pei o le mea o loo i lalo:

5

O fa'amatalaga o le fanua o le parakalafa ma le fa'atulagaga o le tali o le lomiga e mafai ona maua i le Mataupu 4 o le UG100. O le fanua o le parakalafa o le lomiga EZSP lea o le polokalame talimalo. A tusia lenei tusiga, e 8.
7
作者:TorchIoTBootCamp
链接:https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.2. Fa'avasegaina o Fa'amaumauga

O le faagasologa auiliili o le randomization o loʻo faʻamatalaina i le vaega 4.3 o le UG101. O le faʻavaa atoa o le EZSP o le a randomized. O le randomization e faʻapitoa-POʻO le faʻavaa EZSP ma se faʻasologa pseudo-random.

O loʻo i lalo le algorithm o le fatuina o le pseudo-random sequence.

  • rand0 = 0×42
  • afai o le vaega 0 o le randi e 0, randi+1 = randi >> 1
  • afai o le vaega 0 o le randi e 1, randi+1 = (randi >> 1) ^ 0xB8

2.3. Fa'aopoopo le Control Byte

O le control byte o se fa'amaumauga e tasi le byte, ma e tatau ona fa'aopoopo i le ulu o le fa'avaa. O le fa'atulagaga o lo'o fa'aalia i le laulau o lo'o i lalo:

6

O le aotelega, e 6 ituaiga o paite pulea. O ituaiga muamua e tolu e faʻaaogaina mo faʻavaa masani ma faʻamatalaga EZSP, e aofia ai le DATA, ACK ma le NAK. O ituaiga mulimuli e tolu e faʻaaogaina e aunoa ma faʻamatalaga EZSP masani, e aofia ai le RST, RSTACK ma le ERROR.

O le faatulagaga o le RST, RSTACK ma le ERROR o loʻo faʻamatalaina i le vaega 3.1 i le 3.3.

2.4. Fuafua le CRC

O le 16-bit CRC e fuafuaina i luga o bytes mai le control byte seia oo i le faaiuga o faamatalaga. O le CRCCCITT masani (g(x) = x16 + x12 + x5 + 1) e amataina i le 0xFFFF. O le most significant byte e muamua atu i le least significant byte (big-endian mode).

2.5. Fa'atumuina o le Byte

E pei ona faʻamatalaina i le vaega 4.2 o le UG101, o loʻo i ai ni tau faʻapitoa o le byte e faʻaaogaina mo ni faʻamoemoega faʻapitoa. O nei tau e mafai ona maua i le laulau o loʻo mulimuli mai:

7

A aliali mai nei tau i totonu o le fa'avaa, o le a faia se togafitiga fa'apitoa i fa'amaumauga. – Fa'aofi le escape byte 0x7D i luma o le byte ua fa'asaoina – Fa'aliliu le bit5 o le byte ua fa'asaoina

O nisi nei o faʻataʻitaʻiga o lenei algorithm:

8

2.6. Fa'aopoopo le Fa'ailoga Fa'ai'u

O le laasaga mulimuli o le faaopoopoina lea o le fu'a fa'ai'u 0x7E i le pito o le fa'avaa. A mae'a lena, e mafai ona auina atu fa'amatalaga i le uafu UART.

3. Faiga o le Aveesea o le Fa'avaa

A maua faʻamatalaga mai le UART, e naʻo le pau le mea e manaʻomia ona tatou faia o laʻasaga faʻafeagai e faʻaliliu ai le faʻamatalaga.

4. Fa'asinomaga


Taimi na lafoina ai: Fepuari-08-2022
Talanoaga i luga ole Initaneti WhatsApp!